Documentation ¶
Overview ¶
Package space provides all the required functions to manage the definition of spaces.
Index ¶
- type GormResourceRepository
- func (m *GormResourceRepository) CheckExists(ctx context.Context, id string) error
- 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 Resource
- type ResourceRepository
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
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) CheckExists ¶
func (m *GormResourceRepository) CheckExists(ctx context.Context, id string) error
CheckExists returns nil if the given ID exists otherwise returns an error
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 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"` OwnerID uuid.UUID `sql:"type:uuid"` }
Resource represents a Keycloak space resource on the domain and db layer
type ResourceRepository ¶
type ResourceRepository interface { repository.Exister 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