rebac

package
v0.7.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 11, 2024 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Badger

type Badger struct {
	Path string `cfg:"path"`
}

type Database

type Database struct {
	Badger Badger `cfg:"badger"`
}

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) Info

func (m *Rebac) Info(w http.ResponseWriter, _ *http.Request)

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) LdapSync added in v0.7.2

func (m *Rebac) LdapSync() error

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 (m *Rebac) Middleware(ctx context.Context) (func(http.Handler) http.Handler, error)

func (*Rebac) MuxSet

func (m *Rebac) MuxSet(prefix string) *chi.Mux

@Title ReBAC API @BasePath / @description ReBAC API

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]

func (*Rebac) SwaggerMiddleware

func (m *Rebac) SwaggerMiddleware() (func(http.Handler) http.Handler, error)

func (*Rebac) UIMiddleware

func (m *Rebac) UIMiddleware() (func(http.Handler) http.Handler, error)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL