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