33 lines
606 B
Go
33 lines
606 B
Go
package datastore
|
|
|
|
import (
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
const DefaultTenantID TenantID = "00000000-0000-0000-0000-000000000000"
|
|
|
|
type TenantID string
|
|
|
|
func NewTenantID() TenantID {
|
|
return TenantID(uuid.New().String())
|
|
}
|
|
|
|
func ParseTenantID(raw string) (TenantID, error) {
|
|
uuid, err := uuid.Parse(raw)
|
|
if err != nil {
|
|
return "", errors.WithStack(err)
|
|
}
|
|
|
|
return TenantID(uuid.String()), nil
|
|
}
|
|
|
|
type Tenant struct {
|
|
ID TenantID `json:"id"`
|
|
Label string `json:"label"`
|
|
CreatedAt time.Time `json:"createdAt"`
|
|
UpdatedAt time.Time `json:"updatedAt"`
|
|
}
|