Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterHandlers ¶
Types ¶
type CreateRoleRequest ¶
type CreateRoleRequest struct {
Identifier string `json:"identifier" bson:"identifier"`
DisplayName string `json:"display_name" bson:"display_name"`
Users []primitive.ObjectID `json:"users,omitempty" bson:"users"`
Groups []primitive.ObjectID `json:"groups,omitempty" bson:"groups"`
Permissions []mongo_entity.Permission `json:"permissions,omitempty" bson:"permissions"`
}
func (CreateRoleRequest) Validate ¶
func (m CreateRoleRequest) Validate() error
type PatchRole ¶
type PatchRole struct {
AddedUsers []primitive.ObjectID `json:"added_users,omitempty" bson:"added_users"`
RemovedUsers []primitive.ObjectID `json:"removed_users,omitempty" bson:"removed_users"`
AddedGroups []primitive.ObjectID `json:"added_groups,omitempty" bson:"added_groups"`
RemovedGroups []primitive.ObjectID `json:"removed_groups,omitempty" bson:"removed_groups"`
AddedPermissions []mongo_entity.Permission `json:"added_permissions,omitempty" bson:"added_permissions"`
RemovedPermissions []mongo_entity.Permission `json:"removed_permissions,omitempty" bson:"removed_permissions"`
}
type PatchRoleRequest ¶
type PatchRoleRequest struct {
AddedUsers []primitive.ObjectID `json:"added_users,omitempty" bson:"added_users"`
RemovedUsers []primitive.ObjectID `json:"removed_users,omitempty" bson:"removed_users"`
AddedGroups []primitive.ObjectID `json:"added_groups,omitempty" bson:"added_groups"`
RemovedGroups []primitive.ObjectID `json:"removed_groups,omitempty" bson:"removed_groups"`
AddedPermissions []mongo_entity.Permission `json:"added_permissions,omitempty" bson:"added_permissions"`
RemovedPermissions []mongo_entity.Permission `json:"removed_permissions,omitempty" bson:"removed_permissions"`
}
type Repository ¶
type Repository interface {
Get(ctx context.Context, org_id string, id string) (*mongo_entity.Role, error)
Query(ctx context.Context, org_id string) (*[]mongo_entity.Role, error)
Create(ctx context.Context, org_id string, user mongo_entity.Role) error
Update(ctx context.Context, org_id string, id string, update_role UpdateRole) error
Patch(ctx context.Context, org_id string, id string, update_role PatchRole) error
Delete(ctx context.Context, org_id string, id string) error
CheckRoleExistById(ctx context.Context, org_id string, id string) (bool, error)
CheckRoleExistsByIdentifier(ctx context.Context, org_id string, key string) (bool, error)
CheckUserExistById(ctx context.Context, org_id string, id string) (bool, error)
CheckUserAlreadyAssignToRoleById(ctx context.Context, org_id string, role_id string, user_id string) (bool, error)
GetPermissions(ctx context.Context, org_id string, role_id string) (*[]mongo_entity.Permission, error)
CheckResourceActionExists(ctx context.Context, org_id string, resource_identifier string, action_identifier string) (bool, error)
CheckPermissionExists(ctx context.Context, org_id string, role_id string, resource_identifier string, action_identifier string) (bool, error)
CheckGroupExistById(ctx context.Context, org_id string, id string) (bool, error)
CheckGroupAlreadyAssignToRoleById(ctx context.Context, org_id string, role_id string, group_id string) (bool, error)
}
func NewRepository ¶
func NewRepository(mongodb *db.MongoDB) Repository
type Role ¶
type Role struct {
mongo_entity.Role
}
type Service ¶
type Service interface {
Get(ctx context.Context, org_id string, id string) (Role, error)
Query(ctx context.Context, org_id string, filter Filter) ([]Role, error)
Create(ctx context.Context, org_id string, input CreateRoleRequest) (Role, error)
Update(ctx context.Context, org_id string, id string, input UpdateRoleRequest) (Role, error)
Patch(ctx context.Context, org_id string, id string, input PatchRoleRequest) (Role, error)
Delete(ctx context.Context, org_id string, id string) error
GetPermissions(ctx context.Context, org_id string, role_id string) ([]mongo_entity.Permission, error)
}
func NewService ¶
func NewService(repo Repository, logger *zap.Logger) Service
type UpdateRole ¶
type UpdateRole struct {
DisplayName *string `json:"display_name" bson:"display_name"`
}
type UpdateRoleRequest ¶
type UpdateRoleRequest struct {
DisplayName *string `json:"display_name" bson:"display_name"`
}
func (UpdateRoleRequest) Validate ¶
func (m UpdateRoleRequest) Validate() error
Click to show internal directories.
Click to hide internal directories.