Documentation
¶
Index ¶
- Variables
- func CompareSlices(a, b []string) bool
- type Alias
- type CheckRequest
- type CheckRequestUser
- type CheckResponse
- type Dashboard
- type Database
- type Error
- type ErrorPayload
- type GetLMapRequest
- type GetPermissionRequest
- type GetRoleRequest
- type GetUserRequest
- type IDName
- type LMap
- type LMapCheckCreate
- type LMapPatch
- type LMapRoleIDs
- type Message
- type Meta
- type Permission
- type PermissionIDs
- type PermissionPatch
- type Resource
- type Response
- type ResponseCreate
- type ResponseCreateBulk
- type ResponseError
- type ResponseMessage
- type ResponseVersion
- type Role
- type RoleExtended
- type RoleIDs
- type RolePatch
- type RoleRelation
- type User
- type UserCreate
- type UserExtended
- type UserInfo
- type UserPatch
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func CompareSlices ¶
Types ¶
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 Database ¶
type Database interface {
GetUsers(req GetUserRequest) (*Response[[]UserExtended], error)
GetUser(req GetUserRequest) (*UserExtended, error)
CreateUser(user User) (string, error)
DeleteUser(id string) error
PutUser(user User) error
PatchUser(id string, user UserPatch) error
GetPermissions(req GetPermissionRequest) (*Response[[]Permission], error)
GetPermission(id string) (*Permission, error)
CreatePermission(permission Permission) (string, error)
CreatePermissions(permission []Permission) ([]string, error)
DeletePermission(id string) error
PutPermission(permission Permission) error
PatchPermission(id string, permission PermissionPatch) error
GetRoles(req GetRoleRequest) (*Response[[]RoleExtended], error)
GetRole(req GetRoleRequest) (*RoleExtended, error)
CreateRole(role Role) (string, error)
PutRole(role Role) error
DeleteRole(id string) error
PatchRole(id string, role RolePatch) error
PutRoleRelation(relation map[string]RoleRelation) error
GetRoleRelation() (map[string]RoleRelation, error)
Dashboard() (*Dashboard, error)
Check(req CheckRequest) (*CheckResponse, error)
GetLMaps(req GetLMapRequest) (*Response[[]LMap], error)
GetLMap(name string) (*LMap, error)
CreateLMap(lmap LMap) error
PutLMap(lmap LMap) error
DeleteLMap(name string) error
LMapRoleIDs() LMapRoleIDs
CheckCreateLMap(groups []LMapCheckCreate)
Backup(w io.Writer, since uint64) (uint64, error)
Restore(r io.Reader) error
Version() uint64
}
type Error ¶
type Error struct {
Msg string `json:"message,omitempty"`
Err error `json:"error,omitempty"`
Code int `json:"-"`
}
func NewErrorAs ¶
func (Error) MarshalJSON ¶
type ErrorPayload ¶
type ErrorPayload struct {
Err string `json:"error"`
}
type GetLMapRequest ¶
type GetPermissionRequest ¶
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"`
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"`
Path string `json:"path"`
Method string `json:"method"`
ServiceAccount *bool `json:"service_account"`
Disabled *bool `json:"disabled"`
Limit int64 `json:"limit"`
Offset int64 `json:"offset"`
AddRoles bool `json:"add_role"`
AddPermissions bool `json:"add_permissions"`
AddData bool `json:"add_data"`
Sanitize bool `json:"sanitize"`
}
type LMapCheckCreate ¶
type LMapRoleIDs ¶
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]interface{} `json:"data"`
}
Permission is a struct that represents a permission table in the database.
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 ResponseError ¶
type ResponseError struct {
Message Message `json:"message"`
}
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]interface{} `json:"data"`
Description string `json:"description"`
}
Role is a struct that represents a role table in the database.
type RoleExtended ¶
type RoleRelation ¶
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]interface{} `json:"details"`
Disabled bool `json:"-"`
ServiceAccount bool `json:"service_account"`
Local bool `json:"local"`
}
User is a struct that represents a user table in the database.
type UserCreate ¶
type UserExtended ¶
Click to show internal directories.
Click to hide internal directories.