Documentation
¶
Index ¶
- Variables
- type Database
- type Iamdeprecated
- func (m *Iam) AccessServiceAccount(w http.ResponseWriter, r *http.Request)
- func (m *Iam) AccessUser(w http.ResponseWriter, r *http.Request)
- func (m *Iam) Backup(w http.ResponseWriter, r *http.Request)
- func (m *Iam) BackupUntil(w http.ResponseWriter, r *http.Request)
- func (m *Iam) CreatePermission(w http.ResponseWriter, r *http.Request)
- func (m *Iam) CreatePermissionBulk(w http.ResponseWriter, r *http.Request)
- func (m *Iam) CreateRole(w http.ResponseWriter, r *http.Request)
- func (m *Iam) CreateServiceAccount(w http.ResponseWriter, r *http.Request)
- func (m *Iam) CreateUser(w http.ResponseWriter, r *http.Request)
- func (m *Iam) DB() *badger.Badger
- func (m *Iam) Dashboard(w http.ResponseWriter, _ *http.Request)
- func (m *Iam) DeletePermission(w http.ResponseWriter, r *http.Request)
- func (m *Iam) DeleteRole(w http.ResponseWriter, r *http.Request)
- func (m *Iam) DeleteServiceAccount(w http.ResponseWriter, r *http.Request)
- func (m *Iam) DeleteUser(w http.ResponseWriter, r *http.Request)
- func (m *Iam) ExportPermissions(w http.ResponseWriter, r *http.Request)
- func (m *Iam) ExportRoles(w http.ResponseWriter, r *http.Request)
- func (m *Iam) ExportServiceAccounts(w http.ResponseWriter, r *http.Request)
- func (m *Iam) ExportUsers(w http.ResponseWriter, r *http.Request)
- func (m *Iam) GetOrCreateUser(request data.GetUserRequest) (*data.UserExtended, error)
- func (m *Iam) GetPermission(w http.ResponseWriter, r *http.Request)
- func (m *Iam) GetPermissions(w http.ResponseWriter, r *http.Request)
- func (m *Iam) GetRole(w http.ResponseWriter, r *http.Request)
- func (m *Iam) GetRoleRelation(w http.ResponseWriter, _ *http.Request)
- func (m *Iam) GetRoles(w http.ResponseWriter, r *http.Request)
- func (m *Iam) GetServiceAccount(w http.ResponseWriter, r *http.Request)
- func (m *Iam) GetServiceAccounts(w http.ResponseWriter, r *http.Request)
- func (m *Iam) GetUser(w http.ResponseWriter, r *http.Request)
- func (m *Iam) GetUsers(w http.ResponseWriter, r *http.Request)
- func (m *Iam) Info(w http.ResponseWriter, r *http.Request)
- func (m *Iam) InfoUser(w http.ResponseWriter, r *http.Request)
- func (m *Iam) KeepPermissionBulk(w http.ResponseWriter, r *http.Request)
- func (m *Iam) LdapCheckPassword(username, password string) (bool, error)
- func (m *Iam) LdapCreateGroupMaps(w http.ResponseWriter, r *http.Request)
- func (m *Iam) LdapDeleteGroupMaps(w http.ResponseWriter, r *http.Request)
- func (m *Iam) LdapGetGroupMap(w http.ResponseWriter, r *http.Request)
- func (m *Iam) LdapGetGroupMaps(w http.ResponseWriter, r *http.Request)
- func (m *Iam) LdapGetGroups(w http.ResponseWriter, r *http.Request)
- func (m *Iam) LdapGetUsers(w http.ResponseWriter, r *http.Request)
- func (m *Iam) LdapPutGroupMaps(w http.ResponseWriter, r *http.Request)
- func (m *Iam) LdapSync(force bool, uid string) error
- func (m *Iam) LdapSyncGroups(w http.ResponseWriter, r *http.Request)
- func (m *Iam) LdapSyncGroupsUID(w http.ResponseWriter, r *http.Request)
- func (m *Iam) Middleware(ctx context.Context, name string) (func(http.Handler) http.Handler, error)
- func (m *Iam) MuxSet(prefix string) *ada.Mux
- func (m *Iam) PatchPermission(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PatchRole(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PatchServiceAccount(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PatchUser(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PostCheck(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PostCheckUser(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PutPermission(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PutRole(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PutRoleRelation(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PutServiceAccount(w http.ResponseWriter, r *http.Request)
- func (m *Iam) PutUser(w http.ResponseWriter, r *http.Request)
- func (m *Iam) Restore(w http.ResponseWriter, r *http.Request)
- func (m *Iam) SwaggerMiddleware() (func(http.Handler) http.Handler, error)
- func (m *Iam) Sync(w http.ResponseWriter, r *http.Request)
- func (m *Iam) UIInfo(w http.ResponseWriter, _ *http.Request)
- func (m *Iam) UIMiddleware() (func(http.Handler) http.Handler, error)
- func (m *Iam) Version(w http.ResponseWriter, r *http.Request)
- type LastVersion
- type PubSubModel
- type Registry
- type Shared
- type Sync
- type SyncAPI
- type SyncConfig
- type SyncDB
- type SyncRequest
- type VersionTime
Constants ¶
This section is empty.
Variables ¶
var ( DefaultSyncTimeout = 10 * time.Minute DefaultTrigger = 4 * time.Second )
var GlobalRegistry = &Registry{ Store: make(map[string]*Iam), }
Functions ¶
This section is empty.
Types ¶
type Database ¶
type Database struct {
Path string `cfg:"path"`
// WriteAPI to sync data from write enabled service
// this makes read-only service
WriteAPI string `cfg:"write_api"`
// BackupPath database from backup when start
BackupPath string `cfg:"backup_path"`
// Memory to hold data in memory
Memory bool `cfg:"memory"`
// Flatten to flatten the data when start, default is true
Flatten *bool `cfg:"flatten"`
// Redis configuration to sync between IAM services
Redis connredis.Config `cfg:"redis"`
// PubSubTopic to sync between IAM services
PubSubTopic string `cfg:"pubsub_topic"`
}
type Iam
deprecated
type Iam struct {
PrefixPath string `cfg:"prefix_path"`
Ldap ldap.Ldap `cfg:"ldap"`
Database Database `cfg:"database"`
Check data.CheckConfig `cfg:"check"`
// contains filtered or unexported fields
}
Deprecated: use the auth middleware for new PostgreSQL-backed IAM/OAuth2 setups.
func (*Iam) AccessServiceAccount ¶ added in v0.8.15
func (m *Iam) AccessServiceAccount(w http.ResponseWriter, r *http.Request)
@Summary Access service account @Description Give temporary access to service account @Tags service-accounts @Param id path string true "user id" @Param access body data.UserAccess true "Access" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/service-accounts/{id}/access [POST]
func (*Iam) AccessUser ¶ added in v0.8.15
func (m *Iam) AccessUser(w http.ResponseWriter, r *http.Request)
@Summary Access user @Description Give temporary access to user @Tags users @Param id path string true "user id" @Param access body data.UserAccess true "Access" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users/{id}/access [POST]
func (*Iam) Backup ¶
func (m *Iam) Backup(w http.ResponseWriter, r *http.Request)
@Summary Backup Database @Tags backup @Param since query number false "since txid" @Param deleted query bool false "include deleted data" @Success 200 @Failure 500 {object} httputil.Error @Router /v1/backup [GET]
func (*Iam) BackupUntil ¶ added in v0.8.24
func (m *Iam) BackupUntil(w http.ResponseWriter, r *http.Request)
@Summary Backup Database until txid @Tags backup @Param until query number true "until txid" @Success 200 @Failure 400 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/backup/until [GET]
func (*Iam) CreatePermission ¶
func (m *Iam) CreatePermission(w http.ResponseWriter, r *http.Request)
@Summary Create permission @Tags permissions @Param permission body data.Permission true "Permission" @Success 200 {object} data.Response[data.ResponseCreate] @Failure 400 {object} httputil.Error @Failure 409 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/permissions [POST]
func (*Iam) CreatePermissionBulk ¶
func (m *Iam) CreatePermissionBulk(w http.ResponseWriter, r *http.Request)
@Summary Create permission bulk @Tags permissions @Param permission body []data.Permission true "Permission" @Success 200 {object} data.Response[data.ResponseCreateBulk] @Failure 500 {object} httputil.Error @Router /v1/permissions/bulk [POST]
func (*Iam) CreateRole ¶
func (m *Iam) CreateRole(w http.ResponseWriter, r *http.Request)
@Summary Create role @Tags roles @Param role body data.Role true "Role" @Success 200 {object} data.Response[data.ResponseCreate] @Failure 400 {object} httputil.Error @Failure 409 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles [POST]
func (*Iam) CreateServiceAccount ¶
func (m *Iam) CreateServiceAccount(w http.ResponseWriter, r *http.Request)
@Summary Create service account @Tags service-accounts @Param user body data.UserCreate true "Service Account" @Success 200 {object} data.Response[data.ResponseCreate] @Failure 400 {object} httputil.Error @Failure 409 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/service-accounts [POST]
func (*Iam) CreateUser ¶
func (m *Iam) CreateUser(w http.ResponseWriter, r *http.Request)
@Summary Create user @Tags users @Param user body data.UserCreate true "User" @Success 200 {object} data.Response[data.ResponseCreate] @Failure 400 {object} httputil.Error @Failure 409 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users [POST]
func (*Iam) Dashboard ¶
func (m *Iam) Dashboard(w http.ResponseWriter, _ *http.Request)
@Summary Get dashboard info @Tags dashboard @Success 200 {object} data.Response[data.Dashboard] @Failure 500 {object} httputil.Error @Router /v1/dashboard [GET]
func (*Iam) DeletePermission ¶
func (m *Iam) DeletePermission(w http.ResponseWriter, r *http.Request)
@Summary Delete permission @Tags permissions @Param id path string true "permission name" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/permissions/{id} [DELETE]
func (*Iam) DeleteRole ¶
func (m *Iam) DeleteRole(w http.ResponseWriter, r *http.Request)
@Summary Delete role @Tags roles @Param id path string true "role name" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles/{id} [DELETE]
func (*Iam) DeleteServiceAccount ¶
func (m *Iam) DeleteServiceAccount(w http.ResponseWriter, r *http.Request)
@Summary Delete service account @Tags service-accounts @Param id path string true "service id" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/service-accounts/{id} [DELETE]
func (*Iam) DeleteUser ¶
func (m *Iam) DeleteUser(w http.ResponseWriter, r *http.Request)
@Summary Delete user @Tags users @Param id path string true "user id" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users/{id} [DELETE]
func (*Iam) ExportPermissions ¶
func (m *Iam) ExportPermissions(w http.ResponseWriter, r *http.Request)
@Summary Export permissions @Tags permissions @Param id query string false "permission id" @Param name query string false "permission name" @Param description query string false "permission description" @Param path query string false "request path" @Param method query string false "request method" @Success 200 @Failure 500 {object} httputil.Error @Router /v1/permissions/export [GET]
func (*Iam) ExportRoles ¶
func (m *Iam) ExportRoles(w http.ResponseWriter, r *http.Request)
@Summary Export roles @Tags roles @Param name query string false "role name" @Param description query string false "role description" @Param id query string false "role id" @Param permission_ids query []string false "role permission ids" collectionFormat(multi) @Param role_ids query []string false "role ids" collectionFormat(multi) @Param method query string false "request method" @Param path query string false "request path" @Success 200 @Failure 500 {object} httputil.Error @Router /v1/roles/export [GET]
func (*Iam) ExportServiceAccounts ¶
func (m *Iam) ExportServiceAccounts(w http.ResponseWriter, r *http.Request)
@Summary Export service accounts @Tags service-accounts @Param alias query string false "service alias" @Param id query string false "service id" @Param role_ids query []string false "role ids" collectionFormat(multi) @Param uid query string false "details->uid" @Param name query string false "details->name" @Param email query string false "details->email" @Param path query string false "request path" @Param method query string false "request method" @Param is_active query bool false "is_active" @Success 200 @Failure 500 {object} httputil.Error @Router /v1/service-accounts/export [GET]
func (*Iam) ExportUsers ¶
func (m *Iam) ExportUsers(w http.ResponseWriter, r *http.Request)
@Summary Export users @Tags users @Param alias query string false "user alias" @Param id query string false "user id" @Param role_ids query []string false "role ids" collectionFormat(multi) @Param uid query string false "details->uid" @Param name query string false "details->name" @Param email query string false "details->email" @Param path query string false "request path" @Param method query string false "request method" @Param is_active query bool false "is_active" @Success 200 @Failure 500 {object} httputil.Error @Router /v1/users/export [GET]
func (*Iam) GetOrCreateUser ¶ added in v0.8.14
func (m *Iam) GetOrCreateUser(request data.GetUserRequest) (*data.UserExtended, error)
func (*Iam) GetPermission ¶
func (m *Iam) GetPermission(w http.ResponseWriter, r *http.Request)
@Summary Get permission @Tags permissions @Param id path string true "permission name" @Param add_roles query bool false "add roles default(true)" @Success 200 {object} data.Response[data.Permission] @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/permissions/{id} [GET]
func (*Iam) GetPermissions ¶
func (m *Iam) GetPermissions(w http.ResponseWriter, r *http.Request)
@Summary Get permissions @Tags permissions @Param id query string false "permission id" @Param name query string false "permission name" @Param description query string false "permission description" @Param path query string false "request path" @Param method query string false "request method" @Param add_roles query bool false "add roles default(true)" @Param limit query int false "limit" default(20) @Param offset query int false "offset" @Success 200 {object} data.Response[[]data.Permission] @Failure 500 {object} httputil.Error @Router /v1/permissions [GET]
func (*Iam) GetRole ¶
func (m *Iam) GetRole(w http.ResponseWriter, r *http.Request)
@Summary Get role @Tags roles @Param id path string true "role ID" @Param add_permissions query bool false "add permissions default(true)" @Param add_roles query bool false "add roles default(true)" @Param add_total_users query bool false "add total users default(true)" @Success 200 {object} data.Response[data.RoleExtended] @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles/{id} [GET]
func (*Iam) GetRoleRelation ¶
func (m *Iam) GetRoleRelation(w http.ResponseWriter, _ *http.Request)
@Summary Get role relation (dump) @Tags roles @Success 200 {object} map[string]data.RoleRelation @Failure 500 {object} httputil.Error @Router /v1/roles/relation [GET]
func (*Iam) GetRoles ¶
func (m *Iam) GetRoles(w http.ResponseWriter, r *http.Request)
@Summary Get roles @Tags roles @Param name query string false "role name" @Param description query string false "role description" @Param id query string false "role id" @Param permission_ids query []string false "role permission ids" collectionFormat(multi) @Param role_ids query []string false "role ids" collectionFormat(multi) @Param method query string false "request method" @Param path query string false "request path" @Param permission query []string false "permission" collectionFormat(multi) @Param add_permissions query bool false "add permissions default(true)" @Param add_roles query bool false "add roles default(true)" @Param add_total_users query bool false "add total users default(true)" @Param limit query int false "limit" default(20) @Param offset query int false "offset" @Success 200 {object} data.Response[[]data.RoleExtended] @Failure 500 {object} httputil.Error @Router /v1/roles [GET]
func (*Iam) GetServiceAccount ¶
func (m *Iam) GetServiceAccount(w http.ResponseWriter, r *http.Request)
@Summary Get service account @Tags service-accounts @Param id path string true "service id" @Param add_roles query bool false "add roles default(true)" @Param add_permissions query bool false "add permissions" @Param add_data query bool false "add data" @Success 200 {object} data.Response[data.UserExtended] @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/service-accounts/{id} [GET]
func (*Iam) GetServiceAccounts ¶
func (m *Iam) GetServiceAccounts(w http.ResponseWriter, r *http.Request)
@Summary Get service accounts @Tags service-accounts @Param alias query string false "service alias" @Param id query string false "service id" @Param role_ids query []string false "role ids" collectionFormat(multi) @Param uid query string false "details->uid" @Param name query string false "details->name" @Param email query string false "details->email" @Param path query string false "request path" @Param method query string false "request method" @Param permission query []string false "permission" collectionFormat(multi) @Param is_active query bool false "is_active" @Param add_roles query bool false "add roles default(true)" @Param add_permissions query bool false "add permissions" @Param add_data query bool false "add data" @Param limit query int false "limit" default(20) @Param offset query int false "offset" @Success 200 {object} data.Response[[]data.UserExtended] @Failure 500 {object} httputil.Error @Router /v1/service-accounts [GET]
func (*Iam) GetUser ¶
func (m *Iam) GetUser(w http.ResponseWriter, r *http.Request)
@Summary Get user @Tags users @Param id path string true "user id" @Param add_roles query bool false "add roles default(true)" @Param add_permissions query bool false "add permissions" @Param add_data query bool false "add data" @Success 200 {object} data.Response[data.UserExtended] @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users/{id} [GET]
func (*Iam) GetUsers ¶
func (m *Iam) GetUsers(w http.ResponseWriter, r *http.Request)
@Summary Get users @Tags users @Param alias query string false "user alias" @Param id query string false "user id" @Param role_ids query []string false "role ids" collectionFormat(multi) @Param role_type query string false "role type" Enums(PERMANENT, TEMPORARY) @Param uid query string false "details->uid" @Param name query string false "details->name" @Param email query string false "details->email" @Param path query string false "request path" @Param method query string false "request method" @Param permission query []string false "permission" collectionFormat(multi) @Param is_active query bool false "is_active" @Param add_roles query bool false "add roles default(true)" @Param add_permissions query bool false "add permissions" @Param add_data query bool false "add data" @Param add_scope_roles query bool false "add scope roles" @Param limit query int false "limit" default(20) @Param offset query int false "offset" @Success 200 {object} data.Response[[]data.UserExtended] @Failure 500 {object} httputil.Error @Router /v1/users [GET]
func (*Iam) Info ¶
func (m *Iam) Info(w http.ResponseWriter, r *http.Request)
@Summary Get current user's info @Tags info @Param alias query string true "User alias" @Param data query bool false "add role data" @Success 200 {object} data.Response[data.UserInfo] @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/info [GET]
func (*Iam) InfoUser ¶
func (m *Iam) InfoUser(w http.ResponseWriter, r *http.Request)
@Summary Get current user's info @Tags public @Param X-User header string false "User alias, X-User is authorized user auto adds" @Param data query bool false "add role data" @Success 200 {object} data.Response[data.UserInfo] @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /info [GET]
func (*Iam) KeepPermissionBulk ¶ added in v0.7.11
func (m *Iam) KeepPermissionBulk(w http.ResponseWriter, r *http.Request)
@Summary Delete permission bulk @Tags permissions @Param permission body []data.Permission true "Permission" @Success 200 {object} data.Response[[]data.IDName] @Failure 500 {object} httputil.Error @Router /v1/permissions/keep [POST]
func (*Iam) LdapCheckPassword ¶ added in v0.8.14
func (*Iam) LdapCreateGroupMaps ¶
func (m *Iam) LdapCreateGroupMaps(w http.ResponseWriter, r *http.Request)
@Summary Create LDAP Map @Tags ldap @Param map body data.LMap true "Map" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 409 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/maps [POST]
func (*Iam) LdapDeleteGroupMaps ¶
func (m *Iam) LdapDeleteGroupMaps(w http.ResponseWriter, r *http.Request)
@Summary Delete LDAP Map @Tags ldap @Param name path string true "map name" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/maps/{name} [DELETE]
func (*Iam) LdapGetGroupMap ¶
func (m *Iam) LdapGetGroupMap(w http.ResponseWriter, r *http.Request)
@Summary Get LDAP Map @Tags ldap @Param name path string true "map name" @Success 200 {object} data.Response[data.LMap] @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/maps/{name} [GET]
func (*Iam) LdapGetGroupMaps ¶
func (m *Iam) LdapGetGroupMaps(w http.ResponseWriter, r *http.Request)
@Summary Get LDAP Maps @Tags ldap @Param name query string false "map name" @Param role_ids query []string false "role ids" collectionFormat(multi) @Param limit query int false "limit" default(20) @Param offset query int false "offset" @Success 200 {object} data.Response[[]data.LMap] @Failure 500 {object} httputil.Error @Router /v1/ldap/maps [GET]
func (*Iam) LdapGetGroups ¶
func (m *Iam) LdapGetGroups(w http.ResponseWriter, r *http.Request)
LdapGetGroups returns groups info from LDAP. @Summary Get LDAP groups @Tags ldap @Success 200 {object} data.Response[[]ldap.LdapGroup] @Failure 500 {object} httputil.Error @Router /v1/ldap/groups [GET]
func (*Iam) LdapGetUsers ¶
func (m *Iam) LdapGetUsers(w http.ResponseWriter, r *http.Request)
LdapGetUsers returns user info from LDAP. @Summary Get LDAP user @Tags ldap @Param uid path string true "user uid" @Success 200 {object} data.Response[ldap.LdapUser] @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/users/{uid} [GET]
func (*Iam) LdapPutGroupMaps ¶
func (m *Iam) LdapPutGroupMaps(w http.ResponseWriter, r *http.Request)
@Summary Put LDAP Map @Tags ldap @Param name path string true "map name" @Param map body data.LMap true "Map" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/maps/{name} [PUT]
func (*Iam) LdapSyncGroups ¶
func (m *Iam) LdapSyncGroups(w http.ResponseWriter, r *http.Request)
LdapSyncGroups syncs users on LDAP groups with mapped groups in the database. @Summary Sync LDAP groups @Tags ldap @Param Body body SyncRequest false "force" @Success 200 {object} data.ResponseMessage @Failure 500 {object} httputil.Error @Router /v1/ldap/sync [POST]
func (*Iam) LdapSyncGroupsUID ¶
func (m *Iam) LdapSyncGroupsUID(w http.ResponseWriter, r *http.Request)
LdapSyncGroups syncs one user on LDAP groups with mapped groups in the database. @Summary Sync LDAP groups @Tags ldap @Param uid path string true "user uid" @Param Body body SyncRequest false "force" @Success 200 {object} data.ResponseMessage @Failure 500 {object} httputil.Error @Router /v1/ldap/sync/{uid} [POST]
func (*Iam) Middleware ¶
func (*Iam) PatchPermission ¶
func (m *Iam) PatchPermission(w http.ResponseWriter, r *http.Request)
@Summary Patch permission @Tags permissions @Param id path string true "permission ID" @Param permission body data.PermissionPatch true "Permission" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/permissions/{id} [PATCH]
func (*Iam) PatchRole ¶
func (m *Iam) PatchRole(w http.ResponseWriter, r *http.Request)
@Summary Patch role @Tags roles @Param id path string true "role ID" @Param role body data.RolePatch true "Role" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles/{id} [PATCH]
func (*Iam) PatchServiceAccount ¶
func (m *Iam) PatchServiceAccount(w http.ResponseWriter, r *http.Request)
@Summary Patch service account @Tags service-accounts @Param id path string true "service id" @Param user body data.UserPatch true "Service" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/service-accounts/{id} [PATCH]
func (*Iam) PatchUser ¶
func (m *Iam) PatchUser(w http.ResponseWriter, r *http.Request)
@Summary Patch user @Tags users @Param id path string true "user id" @Param user body data.UserPatch true "User" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users/{id} [PATCH]
func (*Iam) PostCheck ¶
func (m *Iam) PostCheck(w http.ResponseWriter, r *http.Request)
@Summary Post check @Tags check @Param check body data.CheckRequest true "Check" @Success 200 {object} data.CheckResponse @Failure 400 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/check [POST]
func (*Iam) PostCheckUser ¶
func (m *Iam) PostCheckUser(w http.ResponseWriter, r *http.Request)
@Summary Post check @Tags public @Param X-User header string false "User alias, X-User is authorized user auto adds" @Param check body data.CheckRequestUser true "Check" @Success 200 {object} data.CheckResponse @Failure 400 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /check [POST]
func (*Iam) PutPermission ¶
func (m *Iam) PutPermission(w http.ResponseWriter, r *http.Request)
@Summary Put permission @Tags permissions @Param id path string true "permission ID" @Param permission body data.Permission true "Permission" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/permissions/{id} [PUT]
func (*Iam) PutRole ¶
func (m *Iam) PutRole(w http.ResponseWriter, r *http.Request)
@Summary Put role @Tags roles @Param id path string true "role ID" @Param role body data.Role true "Role" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles/{id} [PUT]
func (*Iam) PutRoleRelation ¶
func (m *Iam) PutRoleRelation(w http.ResponseWriter, r *http.Request)
@Summary Set role relation @Tags roles @Param relation body map[string]data.RoleRelation true "RoleRelation" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles/relation [PUT]
func (*Iam) PutServiceAccount ¶
func (m *Iam) PutServiceAccount(w http.ResponseWriter, r *http.Request)
@Summary Put service account @Tags service-accounts @Param id path string true "service id" @Param user body data.User true "Service" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/service-accounts/{id} [PUT]
func (*Iam) PutUser ¶
func (m *Iam) PutUser(w http.ResponseWriter, r *http.Request)
@Summary Put user @Tags users @Param id path string true "user id" @Param user body data.User true "User" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users/{id} [PUT]
func (*Iam) Restore ¶
func (m *Iam) Restore(w http.ResponseWriter, r *http.Request)
@Summary Restore Database @Tags backup @Param file formData file true "Backup file" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/restore [POST]
func (*Iam) SwaggerMiddleware ¶
func (*Iam) Sync ¶
func (m *Iam) Sync(w http.ResponseWriter, r *http.Request)
@Summary Sync with write API @Tags backup @Param X-Sync-Version header string false "Sync version" @Success 200 {object} data.ResponseMessage @Failure 400 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/sync [POST]
type LastVersion ¶ added in v0.8.14
type LastVersion struct {
Version uint64
// contains filtered or unexported fields
}
func (*LastVersion) Get ¶ added in v0.8.14
func (l *LastVersion) Get() uint64
func (*LastVersion) Set ¶ added in v0.8.14
func (l *LastVersion) Set(version uint64)
type PubSubModel ¶ added in v0.8.14
type Sync ¶
type Sync struct {
// contains filtered or unexported fields
}
func NewSync ¶
func NewSync(cfg SyncConfig) (*Sync, error)
func (*Sync) UpdateLastVersion ¶ added in v0.8.14
func (s *Sync) UpdateLastVersion()
type SyncConfig ¶
type SyncRequest ¶
type SyncRequest struct {
Force bool `json:"force"`
}