Documentation
¶
Overview ¶
Package space provides all the required functions to manage the definition of spaces.
Index ¶
- Variables
- type GormRepository
- func (r *GormRepository) Create(ctx context.Context, space *Space) (*Space, error)
- func (r *GormRepository) Delete(ctx context.Context, ID uuid.UUID) error
- func (r *GormRepository) List(ctx context.Context, start *int, limit *int) ([]Space, uint64, error)
- func (r *GormRepository) Load(ctx context.Context, ID uuid.UUID) (*Space, error)
- func (r *GormRepository) LoadByOwner(ctx context.Context, userID *uuid.UUID, start *int, limit *int) ([]Space, uint64, error)
- func (r *GormRepository) LoadByOwnerAndName(ctx context.Context, userID *uuid.UUID, spaceName *string) (*Space, error)
- func (r *GormRepository) Save(ctx context.Context, p *Space) (*Space, error)
- func (r *GormRepository) Search(ctx context.Context, q *string, start *int, limit *int) ([]Space, uint64, error)
- type GormResourceRepository
- func (r *GormResourceRepository) Create(ctx context.Context, resource *Resource) (*Resource, error)
- func (r *GormResourceRepository) Delete(ctx context.Context, ID uuid.UUID) error
- func (r *GormResourceRepository) Load(ctx context.Context, ID uuid.UUID) (*Resource, error)
- func (r *GormResourceRepository) LoadBySpace(ctx context.Context, spaceID *uuid.UUID) (*Resource, error)
- func (r *GormResourceRepository) Save(ctx context.Context, p *Resource) (*Resource, error)
- type Repository
- type Resource
- type ResourceRepository
- type Space
Constants ¶
This section is empty.
Variables ¶
var ( SystemSpace = uuid.FromStringOrNil("2e0698d8-753e-4cef-bb7c-f027634824a2") SpaceType = "spaces" )
Functions ¶
This section is empty.
Types ¶
type GormRepository ¶
type GormRepository struct {
// contains filtered or unexported fields
}
GormRepository implements SpaceRepository using gorm
func NewRepository ¶
func NewRepository(db *gorm.DB) *GormRepository
NewRepository creates a new space repo
func (*GormRepository) Create ¶
Create creates a new Space in the db returns BadParameterError or InternalError
func (*GormRepository) Delete ¶
Delete deletes the space with the given id returns NotFoundError or InternalError
func (*GormRepository) List ¶
List returns work item selected by the given criteria.Expression, starting with start (zero-based) and returning at most limit items
func (*GormRepository) Load ¶
Load returns the space for the given id returns NotFoundError or InternalError
func (*GormRepository) LoadByOwner ¶
func (*GormRepository) LoadByOwnerAndName ¶
type GormResourceRepository ¶
type GormResourceRepository struct {
// contains filtered or unexported fields
}
GormResourceRepository implements ResourceRepository using gorm
func NewResourceRepository ¶
func NewResourceRepository(db *gorm.DB) *GormResourceRepository
NewResourceRepository creates a new space resource repo
func (*GormResourceRepository) Create ¶
Create creates a new Space Resource in the DB returns InternalError
func (*GormResourceRepository) Delete ¶
Delete deletes the space resource with the given id returns NotFoundError or InternalError
func (*GormResourceRepository) Load ¶
Load returns the space resource for the given id returns NotFoundError or InternalError
func (*GormResourceRepository) LoadBySpace ¶
func (r *GormResourceRepository) LoadBySpace(ctx context.Context, spaceID *uuid.UUID) (*Resource, error)
LoadBySpace loads space resource by space ID
type Repository ¶
type Repository interface {
Create(ctx context.Context, space *Space) (*Space, error)
Save(ctx context.Context, space *Space) (*Space, error)
Load(ctx context.Context, ID uuid.UUID) (*Space, error)
Delete(ctx context.Context, ID uuid.UUID) error
LoadByOwner(ctx context.Context, userID *uuid.UUID, start *int, length *int) ([]Space, uint64, error)
LoadByOwnerAndName(ctx context.Context, userID *uuid.UUID, spaceName *string) (*Space, error)
List(ctx context.Context, start *int, length *int) ([]Space, uint64, error)
Search(ctx context.Context, q *string, start *int, length *int) ([]Space, uint64, error)
}
Repository encapsulate storage & retrieval of spaces
type Resource ¶
type Resource struct {
gormsupport.Lifecycle
ID uuid.UUID `sql:"type:uuid default uuid_generate_v4()" gorm:"primary_key"`
ResourceID string
PermissionID string
PolicyID string
SpaceID uuid.UUID `sql:"type:uuid"` // Belongs to Space
}
Resource represents a Keycloak space resource on the domain and db layer
type ResourceRepository ¶
type ResourceRepository interface {
Create(ctx context.Context, space *Resource) (*Resource, error)
Save(ctx context.Context, space *Resource) (*Resource, error)
Load(ctx context.Context, ID uuid.UUID) (*Resource, error)
Delete(ctx context.Context, ID uuid.UUID) error
LoadBySpace(ctx context.Context, spaceID *uuid.UUID) (*Resource, error)
}
ResourceRepository encapsulate storage & retrieval of space resources
type Space ¶
type Space struct {
gormsupport.Lifecycle
ID uuid.UUID
Version int
Name string
Description string
OwnerId uuid.UUID `sql:"type:uuid"` // Belongs To Identity
}
Space represents a Space on the domain and db layer
func (Space) Equal ¶
Equal returns true if two Space objects are equal; otherwise false is returned.
func (Space) GetETagData ¶
func (p Space) GetETagData() []interface{}
GetETagData returns the field values to use to generate the ETag
func (Space) GetLastModified ¶
GetLastModified returns the last modification time