Documentation ¶
Index ¶
- Constants
- Variables
- type ActivityService
- type ConfigRepository
- type Filter
- type GroupService
- type OrganizationService
- type PagedResources
- type ProjectService
- type RelationService
- type Repository
- type Resource
- type ResourceLogData
- type Service
- func (s Service) AddOrgToResource(ctx context.Context, org organization.Organization, res Resource) error
- func (s Service) AddProjectToResource(ctx context.Context, project project.Project, res Resource) error
- func (s Service) CheckAuthz(ctx context.Context, res Resource, act action.Action) (bool, error)
- func (s Service) Create(ctx context.Context, res Resource) (Resource, error)
- func (s Service) Get(ctx context.Context, id string) (Resource, error)
- func (s Service) GetAllConfigs(ctx context.Context) ([]YAML, error)
- func (s Service) List(ctx context.Context, flt Filter) (PagedResources, error)
- func (s Service) Update(ctx context.Context, id string, resource Resource) (Resource, error)
- type UserService
- type YAML
Constants ¶
View Source
const (
NON_RESOURCE_ID = "*"
)
Variables ¶
View Source
var ( ErrNotExist = errors.New("resource doesn't exist") ErrInvalidUUID = errors.New("invalid syntax of uuid") ErrInvalidID = errors.New("resource id is invalid") ErrInvalidURN = errors.New("resource urn is invalid") ErrConflict = errors.New("resource already exist") ErrInvalidDetail = errors.New("invalid resource detail") ErrLogActivity = errors.New("error while logging activity") )
Functions ¶
This section is empty.
Types ¶
type ActivityService ¶ added in v0.6.15
type ConfigRepository ¶
type GroupService ¶ added in v0.6.13
type OrganizationService ¶ added in v0.6.13
type OrganizationService interface {
Get(ctx context.Context, id string) (organization.Organization, error)
}
type PagedResources ¶ added in v0.6.14
type ProjectService ¶
type RelationService ¶
type RelationService interface { Create(ctx context.Context, rel relation.RelationV2) (relation.RelationV2, error) Delete(ctx context.Context, rel relation.Relation) error CheckPermission(ctx context.Context, usr user.User, resourceNS namespace.Namespace, resourceIdxa string, action action.Action) (bool, error) DeleteSubjectRelations(ctx context.Context, resourceType, optionalResourceID string) error }
type Repository ¶
type Repository interface { GetByID(ctx context.Context, id string) (Resource, error) GetByURN(ctx context.Context, urn string) (Resource, error) Create(ctx context.Context, resource Resource) (Resource, error) List(ctx context.Context, flt Filter) ([]Resource, error) Update(ctx context.Context, id string, resource Resource) (Resource, error) GetByNamespace(ctx context.Context, name string, ns string) (Resource, error) }
type Resource ¶
type Resource struct { Idxa string URN string Name string ProjectID string OrganizationID string NamespaceID string UserID string CreatedAt time.Time UpdatedAt time.Time }
func (Resource) ToResourceLogData ¶ added in v0.6.15
func (resource Resource) ToResourceLogData() ResourceLogData
type ResourceLogData ¶ added in v0.6.15
type ResourceLogData struct { Entity string `mapstructure:"entity"` URN string `mapstructure:"urn"` Name string `mapstructure:"name"` OrganizationID string `mapstructure:"organization_id"` ProjectID string `mapstructure:"project_id"` NamespaceID string `mapstructure:"namespace_id"` UserID string `mapstructure:"user_id"` }
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
func NewService ¶
func NewService(logger log.Logger, repository Repository, configRepository ConfigRepository, relationService RelationService, userService UserService, projectService ProjectService, organizationService OrganizationService, groupService GroupService, activityService ActivityService) *Service
func (Service) AddOrgToResource ¶
func (s Service) AddOrgToResource(ctx context.Context, org organization.Organization, res Resource) error
func (Service) AddProjectToResource ¶
func (Service) CheckAuthz ¶
TODO(krkvrm): Separate Authz for Resources & System Namespaces
type UserService ¶
Click to show internal directories.
Click to hide internal directories.