role

package
v0.1.1-alpha.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 18, 2023 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterHandlers

func RegisterHandlers(r *echo.Group, service Service)

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 Filter

type Filter struct {
	Cursor int    `json:"cursor" query:"cursor"`
	Limit  int    `json:"limit" query:"limit"`
	Name   string `json:"name" query:"name"`
}

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL