Documentation
¶
Index ¶
- type AuthorizationManager
- func (m *AuthorizationManager) AssignRole(ctx context.Context, userID, roleName string, duration *time.Duration) error
- func (m *AuthorizationManager) CreateRole(ctx context.Context, name, description string, metadata map[string]interface{}) error
- func (m *AuthorizationManager) GetRolePermissions(ctx context.Context, roleName string) ([][]string, error)
- func (m *AuthorizationManager) GetUserRoles(ctx context.Context, userID string) ([]*repositories.Role, error)
- func (m *AuthorizationManager) GrantPermission(ctx context.Context, roleName, resource, action string) error
- func (m *AuthorizationManager) HasPermission(ctx context.Context, userID, resource, action string) (bool, error)
- func (m *AuthorizationManager) HasRole(ctx context.Context, userID, roleName string) (bool, error)
- func (m *AuthorizationManager) RevokePermission(ctx context.Context, roleName, resource, action string) error
- func (m *AuthorizationManager) UnassignRole(ctx context.Context, userID, roleName string) error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthorizationManager ¶
type AuthorizationManager struct {
// contains filtered or unexported fields
}
AuthorizationManager handles role and permission management
func NewAuthorizationManager ¶
func NewAuthorizationManager(db *gorm.DB) (*AuthorizationManager, error)
NewAuthorizationManager creates a new authorization manager
func (*AuthorizationManager) AssignRole ¶
func (m *AuthorizationManager) AssignRole(ctx context.Context, userID, roleName string, duration *time.Duration) error
AssignRole assigns a role to a user
func (*AuthorizationManager) CreateRole ¶
func (m *AuthorizationManager) CreateRole(ctx context.Context, name, description string, metadata map[string]interface{}) error
CreateRole creates a new role
func (*AuthorizationManager) GetRolePermissions ¶
func (m *AuthorizationManager) GetRolePermissions(ctx context.Context, roleName string) ([][]string, error)
GetRolePermissions gets all permissions assigned to a role
func (*AuthorizationManager) GetUserRoles ¶
func (m *AuthorizationManager) GetUserRoles(ctx context.Context, userID string) ([]*repositories.Role, error)
GetUserRoles gets all roles assigned to a user
func (*AuthorizationManager) GrantPermission ¶
func (m *AuthorizationManager) GrantPermission(ctx context.Context, roleName, resource, action string) error
GrantPermission grants a permission to a role
func (*AuthorizationManager) HasPermission ¶
func (m *AuthorizationManager) HasPermission(ctx context.Context, userID, resource, action string) (bool, error)
HasPermission checks if a user has a specific permission
func (*AuthorizationManager) RevokePermission ¶
func (m *AuthorizationManager) RevokePermission(ctx context.Context, roleName, resource, action string) error
RevokePermission revokes a permission from a role
func (*AuthorizationManager) UnassignRole ¶
func (m *AuthorizationManager) UnassignRole(ctx context.Context, userID, roleName string) error
UnassignRole removes a role from a user
Click to show internal directories.
Click to hide internal directories.