Documentation
¶
Index ¶
- type Badger
- type Database
- type Rebac
- func (m *Rebac) CreatePermission(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) CreateRole(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) CreateUser(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) DeletePermission(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) DeleteRole(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) DeleteUser(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) GetPermission(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) GetPermissions(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) GetRole(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) GetRoles(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) GetUser(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) GetUsers(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) Info(w http.ResponseWriter, _ *http.Request)
- func (m *Rebac) LdapCreateGroupMaps(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) LdapDeleteGroupMaps(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) LdapGetGroupMap(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) LdapGetGroupMaps(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) LdapGetGroups(w http.ResponseWriter, _ *http.Request)
- func (m *Rebac) LdapGetUsers(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) LdapPutGroupMaps(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) LdapSync() error
- func (m *Rebac) LdapSyncGroups(w http.ResponseWriter, _ *http.Request)
- func (m *Rebac) Middleware(ctx context.Context) (func(http.Handler) http.Handler, error)
- func (m *Rebac) MuxSet(prefix string) *chi.Mux
- func (m *Rebac) PatchUser(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) PostCheck(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) PutPermission(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) PutRole(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) PutUser(w http.ResponseWriter, r *http.Request)
- func (m *Rebac) SwaggerMiddleware() (func(http.Handler) http.Handler, error)
- func (m *Rebac) UIMiddleware() (func(http.Handler) http.Handler, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Rebac ¶
type Rebac struct { PrefixPath string `cfg:"prefix_path"` Ldap ldap.Ldap `cfg:"ldap"` Database Database `cfg:"database"` // contains filtered or unexported fields }
func (*Rebac) CreatePermission ¶
func (m *Rebac) CreatePermission(w http.ResponseWriter, r *http.Request)
@Summary Create permission @Tags permissions @Param permission body data.Permission true "Permission" @Success 200 {object} httputil.Response @Failure 400 {object} httputil.Error @Failure 409 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/permissions [POST]
func (*Rebac) CreateRole ¶
func (m *Rebac) CreateRole(w http.ResponseWriter, r *http.Request)
@Summary Create role @Tags roles @Param role body data.Role true "Role" @Success 200 {object} httputil.Response @Failure 400 {object} httputil.Error @Failure 409 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles [POST]
func (*Rebac) CreateUser ¶
func (m *Rebac) CreateUser(w http.ResponseWriter, r *http.Request)
@Summary Create user @Tags users @Param user body data.User true "User" @Success 200 {object} httputil.Response @Failure 400 {object} httputil.Error @Failure 409 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users [POST]
func (*Rebac) DeletePermission ¶
func (m *Rebac) DeletePermission(w http.ResponseWriter, r *http.Request)
@Summary Delete permission @Tags permissions @Param id path string true "permission name" @Success 204 @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/permissions/{id} [DELETE]
func (*Rebac) DeleteRole ¶
func (m *Rebac) DeleteRole(w http.ResponseWriter, r *http.Request)
@Summary Delete role @Tags roles @Param id path string true "role name" @Success 204 @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles/{id} [DELETE]
func (*Rebac) DeleteUser ¶
func (m *Rebac) DeleteUser(w http.ResponseWriter, r *http.Request)
@Summary Delete user @Tags users @Param id path string true "user id" @Success 204 @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users/{id} [POST]
func (*Rebac) GetPermission ¶
func (m *Rebac) GetPermission(w http.ResponseWriter, r *http.Request)
@Summary Get permission @Tags permissions @Param id path string true "permission name" @Success 200 {object} data.Permission @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/permissions/{id} [GET]
func (*Rebac) GetPermissions ¶
func (m *Rebac) 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 limit query int false "limit" @Param offset query int false "offset" @Success 200 {object} data.Response[[]data.Permission] @Failure 500 {object} httputil.Error @Router /v1/permissions [GET]
func (*Rebac) GetRole ¶
func (m *Rebac) GetRole(w http.ResponseWriter, r *http.Request)
@Summary Get role @Tags roles @Param id path string true "role ID" @Success 200 {object} data.Role @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles/{id} [GET]
func (*Rebac) GetRoles ¶
func (m *Rebac) GetRoles(w http.ResponseWriter, r *http.Request)
@Summary Get roles @Tags roles @Param name query string false "role name" @Param id query string false "role id" @Param limit query int false "limit" @Param offset query int false "offset" @Success 200 {object} data.Response[[]data.Role] @Failure 500 {object} httputil.Error @Router /v1/roles [GET]
func (*Rebac) GetUser ¶
func (m *Rebac) GetUser(w http.ResponseWriter, r *http.Request)
@Summary Get user @Tags users @Param id path string true "user id" @Success 200 {object} data.User @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users/{id} [GET]
func (*Rebac) GetUsers ¶
func (m *Rebac) 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 limit query int false "limit" @Param offset query int false "offset" @Success 200 {object} data.Response[[]data.User] @Failure 500 {object} httputil.Error @Router /v1/users [GET]
func (*Rebac) LdapCreateGroupMaps ¶
func (m *Rebac) LdapCreateGroupMaps(w http.ResponseWriter, r *http.Request)
@Summary Create LDAP Map @Tags ldap @Param map body data.LMap true "Map" @Success 200 {object} httputil.Response @Failure 400 {object} httputil.Error @Failure 409 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/maps [POST]
func (*Rebac) LdapDeleteGroupMaps ¶
func (m *Rebac) LdapDeleteGroupMaps(w http.ResponseWriter, r *http.Request)
@Summary Delete LDAP Map @Tags ldap @Param name path string true "map name" @Success 204 @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/maps/{name} [DELETE]
func (*Rebac) LdapGetGroupMap ¶
func (m *Rebac) LdapGetGroupMap(w http.ResponseWriter, r *http.Request)
@Summary Get LDAP Map @Tags ldap @Param name path string true "map name" @Success 200 {object} data.LMap @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/maps/{name} [GET]
func (*Rebac) LdapGetGroupMaps ¶
func (m *Rebac) LdapGetGroupMaps(w http.ResponseWriter, r *http.Request)
@Summary Get LDAP Maps @Tags ldap @Param id query string false "map id" @Param name query string false "map name" @Param limit query int false "limit" @Param offset query int false "offset" @Success 200 {object} []data.GetLMapRequest @Failure 500 {object} httputil.Error @Router /v1/ldap/maps [GET]
func (*Rebac) LdapGetGroups ¶
func (m *Rebac) LdapGetGroups(w http.ResponseWriter, _ *http.Request)
LdapGetGroups returns groups info from LDAP. @Summary Get LDAP groups @Tags ldap @Success 200 {object} []LdapGroup @Failure 500 {object} httputil.Error @Router /v1/ldap/groups [GET]
func (*Rebac) LdapGetUsers ¶
func (m *Rebac) 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} LdapUser @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/users/{uid} [GET]
func (*Rebac) LdapPutGroupMaps ¶
func (m *Rebac) 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 204 @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/ldap/maps/{name} [PUT]
func (*Rebac) LdapSyncGroups ¶
func (m *Rebac) LdapSyncGroups(w http.ResponseWriter, _ *http.Request)
LdapSyncGroups syncs users on LDAP groups with mapped groups in the database. @Summary Sync LDAP groups @Tags ldap @Success 200 {object} httputil.Response @Failure 500 {object} httputil.Error @Router /v1/ldap/sync [POST]
func (*Rebac) Middleware ¶
func (*Rebac) PatchUser ¶
func (m *Rebac) PatchUser(w http.ResponseWriter, r *http.Request)
@Summary Patch user @Tags users @Param id path string true "user id" @Param user body data.User true "User" @Success 204 @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users/{id} [PATCH]
func (*Rebac) PostCheck ¶
func (m *Rebac) 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 (*Rebac) PutPermission ¶
func (m *Rebac) 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 204 @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/permissions/{id} [PUT]
func (*Rebac) PutRole ¶
func (m *Rebac) 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 204 @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/roles/{id} [PUT]
func (*Rebac) PutUser ¶
func (m *Rebac) 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 204 @Failure 400 {object} httputil.Error @Failure 404 {object} httputil.Error @Failure 500 {object} httputil.Error @Router /v1/users/{id} [PUT]