Documentation
¶
Index ¶
- Variables
- type Database
- type Iam
- func (m *Iam) Backup(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) 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) 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) 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, _ *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) (func(http.Handler) http.Handler, error)
- func (m *Iam) MuxSet(prefix string) *chi.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) Trigger(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 Sync
- func (s *Sync) AddSync(ctx context.Context, trigger Trigger)
- func (s *Sync) Redirect(w http.ResponseWriter, r *http.Request) bool
- func (s *Sync) Sync(ctx context.Context, targetVersion uint64) error
- func (s *Sync) SyncStart(ctx context.Context)
- func (s *Sync) SyncTTL(ctx context.Context)
- func (s *Sync) Trigger(ctx context.Context)
- type SyncAPI
- type SyncConfig
- type SyncDB
- type SyncRequest
- type Trigger
- type TriggerData
Constants ¶
This section is empty.
Variables ¶
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"` // TriggerBackground for sync process in background TriggerBackground bool `cfg:"trigger_background"` // SyncSchema is the schema of the sync service, default is http SyncSchema string `cfg:"sync_schema"` // SyncHost is the host of the sync service, default is the caller host SyncHost string `cfg:"sync_host"` // SyncHostFromInterface is for network interface to get the host, default is false SyncHostFromInterface bool `cfg:"sync_host_from_interface"` // SyncHostFromInterfaceIPPrefix is the prefix of the interface IP SyncHostFromInterfaceIPPrefix string `cfg:"sync_host_from_interface_ip_prefix"` // SyncPort is the port of the sync service, default is 8080 SyncPort string `cfg:"sync_port"` }
type Iam ¶
type Iam struct { PrefixPath string `cfg:"prefix_path"` Ldap ldap.Ldap `cfg:"ldap"` Database Database `cfg:"database"` // contains filtered or unexported fields }
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" @Success 200 @Failure 500 {object} data.ResponseError @Router /v1/backup [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} data.ResponseError @Failure 409 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @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} data.ResponseError @Failure 409 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 409 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 409 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @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} data.ResponseError @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} data.ResponseError @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} data.ResponseError @Router /v1/users/export [GET]
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" @Success 200 {object} data.Response[data.Permission] @Failure 400 {object} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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 limit query int false "limit" default(20) @Param offset query int false "offset" @Success 200 {object} data.Response[[]data.Permission] @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @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} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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 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} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Router /v1/permissions/keep [POST]
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} data.ResponseError @Failure 409 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Router /v1/ldap/maps [GET]
func (*Iam) LdapGetGroups ¶
func (m *Iam) LdapGetGroups(w http.ResponseWriter, _ *http.Request)
LdapGetGroups returns groups info from LDAP. @Summary Get LDAP groups @Tags ldap @Success 200 {object} data.Response[[]ldap.LdapGroup] @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @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} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 404 {object} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 500 {object} data.ResponseError @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} data.ResponseError @Failure 500 {object} data.ResponseError @Router /v1/sync [POST]
func (*Iam) Trigger ¶
func (m *Iam) Trigger(w http.ResponseWriter, r *http.Request)
@Summary Add trigger endpoint for change sync @Tags backup @Param trigger body Trigger true "Trigger API" @Success 200 {object} data.ResponseMessage @Failure 400 {object} data.ResponseError @Failure 500 {object} data.ResponseError @Router /v1/trigger [POST]
type Sync ¶
type Sync struct {
// contains filtered or unexported fields
}
func NewSync ¶
func NewSync(cfg SyncConfig) (*Sync, error)
type SyncConfig ¶
type SyncRequest ¶
type SyncRequest struct {
Force bool `json:"force"`
}