Documentation
¶
Index ¶
- Variables
- func CompareSlices(a, b []string) bool
- func CtxUserName(ctx context.Context) string
- func WithContextUserName(ctx context.Context, userName string) context.Context
- type Alias
- type CheckConfig
- type CheckRequest
- type CheckRequestUser
- type CheckResponse
- type Dashboard
- type GetLMapRequest
- type GetPermissionRequest
- type GetRoleRequest
- type GetUserRequest
- type IDName
- type LMap
- type LMapCheckCreate
- type LMapPatch
- type Message
- type Meta
- type MixID
- type NameRequest
- type Permission
- type PermissionExtended
- type PermissionIDs
- type PermissionPatch
- type Resource
- type Response
- type ResponseCreate
- type ResponseCreateBulk
- type ResponseMessage
- type ResponseVersion
- type Role
- type RoleExtended
- type RoleIDs
- type RolePatch
- type RoleRelation
- type TmpID
- type Token
- type User
- type UserAccess
- type UserCreate
- type UserExtended
- type UserInfo
- type UserPatch
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func CompareSlices ¶
func CtxUserName ¶ added in v0.7.11
Types ¶
type CheckConfig ¶ added in v0.8.14
type CheckRequest ¶
type CheckRequestUser ¶
type CheckResponse ¶
type CheckResponse struct {
Allowed bool `json:"allowed"`
}
type Dashboard ¶
type Dashboard struct {
Roles []RoleExtended `json:"roles"`
TotalRoles uint64 `json:"total_roles"`
TotalPermissions uint64 `json:"total_permissions"`
TotalUsers uint64 `json:"total_users"`
TotalServiceAccounts uint64 `json:"total_service_accounts"`
}
type GetLMapRequest ¶
type GetPermissionRequest ¶
type GetPermissionRequest struct {
ID string `json:"id"`
Name string `json:"name"`
Path string `json:"path"`
Method string `json:"method"`
Description string `json:"description"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
Data map[string]string `json:"data"`
AddRoles bool `json:"add_roles"`
}
type GetRoleRequest ¶
type GetRoleRequest struct {
ID string `json:"id"`
Name string `json:"name"`
PermissionIDs []string `json:"permission_ids"`
RoleIDs []string `json:"role_ids"`
Path string `json:"path"`
Method string `json:"method"`
Description string `json:"description"`
Permissions []string `json:"permissions"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
AddPermissions bool `json:"add_permissions"`
AddRoles bool `json:"add_roles"`
AddTotalUsers bool `json:"add_total_users"`
}
type GetUserRequest ¶
type GetUserRequest struct {
ID string `json:"id"`
Alias string `json:"alias"`
RoleIDs []string `json:"role_ids"`
UID string `json:"uid"`
Name string `json:"name"`
Email string `json:"email"`
RoleType string `json:"role_type"`
Path string `json:"path"`
Method string `json:"method"`
Permissions []string `json:"permissions"`
ServiceAccount *bool `json:"service_account"`
Disabled *bool `json:"disabled"`
LocalUser *bool `json:"local_user"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
AddRoles bool `json:"add_role"`
AddPermissions bool `json:"add_permissions"`
AddData bool `json:"add_data"`
AddScopeRoles bool `json:"add_scope_roles"`
Sanitize bool `json:"sanitize"`
}
type LMapCheckCreate ¶
type NameRequest ¶ added in v0.7.11
type NameRequest struct {
Name string `json:"name"`
}
type Permission ¶
type Permission struct {
ID string `json:"id" badgerhold:"unique"`
Name string `json:"name" badgerhold:"index"`
Resources []Resource `json:"resources"`
Description string `json:"description"`
Data map[string]any `json:"data"`
Scope map[string][]string `json:"scope"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
UpdatedBy string `json:"updated_by"`
}
Permission is a struct that represents a permission table in the database.
type PermissionExtended ¶ added in v0.8.14
type PermissionExtended struct {
*Permission
Roles []IDName `json:"roles,omitempty"`
}
type PermissionIDs ¶
type PermissionIDs struct {
PermissionIDs []string `json:"permission_ids"`
}
type PermissionPatch ¶
type ResponseCreate ¶
type ResponseCreate struct {
ID string `json:"id"`
}
type ResponseCreateBulk ¶
type ResponseCreateBulk struct {
IDs []string `json:"ids"`
}
type ResponseMessage ¶
type ResponseMessage struct {
Message *Message `json:"message,omitempty"`
}
func NewResponseMessage ¶
func NewResponseMessage(text string) ResponseMessage
type ResponseVersion ¶
type ResponseVersion struct {
Version uint64 `json:"version"`
}
type Role ¶
type Role struct {
ID string `json:"id" badgerhold:"unique"`
Name string `json:"name" badgerhold:"index"`
PermissionIDs []string `json:"permission_ids"`
RoleIDs []string `json:"role_ids"`
Data map[string]any `json:"data"`
Description string `json:"description"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
UpdatedBy string `json:"updated_by"`
}
Role is a struct that represents a role table in the database.
type RoleExtended ¶
type RoleRelation ¶
type Token ¶ added in v0.7.11
type Token struct {
ID string `json:"id" badgerhold:"unique"`
Name string `json:"name" badgerhold:"index"`
Token string `json:"token" badgerhold:"index"`
Description string `json:"description"`
ExpiresAt string `json:"expires_at"`
PermissionIDs []string `json:"permission_ids"`
RoleIDs []string `json:"role_ids"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
UpdatedBy string `json:"updated_by"`
}
Token is a struct that represents a token table in the database.
type User ¶
type User struct {
ID string `json:"id" badgerhold:"unique"`
Alias []string `json:"alias"`
RoleIDs []string `json:"role_ids"`
SyncRoleIDs []string `json:"sync_role_ids"`
Details map[string]any `json:"details"`
Disabled bool `json:"-"`
ServiceAccount bool `json:"service_account"`
Local bool `json:"local"`
PermissionIDs []string `json:"permission_ids"`
TmpRoleIDs []TmpID `json:"tmp_role_ids"`
TmpPermissionIDs []TmpID `json:"tmp_permission_ids"`
AllRolePermanentIDs []string `json:"-"`
AllRoleTmpIDs []MixID `json:"-"`
AllPermTmpIDs []MixID `json:"-"`
CreatedAt string `json:"created_at"`
UpdatedAt string `json:"updated_at"`
UpdatedBy string `json:"updated_by"`
}
User is a struct that represents a user table in the database.
type UserAccess ¶ added in v0.8.15
type UserAccess struct {
RoleIDs []string `json:"role_ids"`
PermissionIDs []string `json:"permission_ids"`
StartsAt types.Time `json:"starts_at"` // RFC3339 time format, e.g., "2024-12-31T23:59:59Z"
ExpiresAt *types.Time `json:"expires_at"` // RFC3339 time format, e.g., "2024-12-31T23:59:59Z"
ExpiresIn *string `json:"expires_in"` // Duration string, e.g., "24h", "7d", etc.
}
type UserCreate ¶
type UserExtended ¶
Click to show internal directories.
Click to hide internal directories.