Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
var Config = config.GetConfig()
var Db = dbdriver.GetDriver()
var Event = eventdriver.GetDriver()
var Tracer = otel.Tracer("pkg/controllers/requestController")
Functions ¶
This section is empty.
Types ¶
type AccessRequestController ¶
type AccessRequestController struct {
Providers map[string]models.ProviderConfig
Creds map[string]models.Credential
Roles []models.AccessRole
ApprovalRules []models.ApprovalRule
}
func NewAccessRequestController ¶
func NewAccessRequestController() *AccessRequestController
func (*AccessRequestController) Approve ¶
func (r *AccessRequestController) Approve(c *gin.Context)
@Security JWT @Summary Approve access request @Schemes @Description Approve access requests. All providers assigned to role will ensure user access @Tags Access requests @Accept json @Produce json @Success 200 {object} ResponseSuccess @Router /access/requests/{ID}/approve [post] @Param ID path string true "AccessRequest id" default(xxxx-xxxx-xxxx)
func (*AccessRequestController) Create ¶
func (r *AccessRequestController) Create(c *gin.Context)
@Security JWT @Summary Create access request @Schemes @Description Create new access request @Tags Access requests @Accept json @Produce json @Param role body models.AccessRequest true "Access request definition" @Success 200 {object} ResponseSuccess @Router /access/requests [post]
func (*AccessRequestController) Delete ¶
func (r *AccessRequestController) Delete(c *gin.Context)
@Security JWT @Summary Delete access request @Schemes @Description Delete access request by id @Tags Access requests @Accept json @Produce json @Success 200 {object} []models.AccessRequest @Router /access/requests/{ID} [delete] @Param ID path string true "AccessRequest id" default(xxxx-xxxx-xxxx)
func (*AccessRequestController) Expire ¶
func (r *AccessRequestController) Expire(c *gin.Context)
@Security JWT @Summary Expire access request @Schemes @Description Expire user access. All providers assigned to role will ensure access expiration @Tags Access requests @Accept json @Produce json @Success 200 {object} ResponseSuccess @Router /access/requests/{ID}/expire [post] @Param ID path string true "AccessRequest id" default(xxxx-xxxx-xxxx)
func (*AccessRequestController) List ¶
func (r *AccessRequestController) List(c *gin.Context)
@Security JWT @Summary List access requests @Schemes @Description List all access requests @Tags Access requests @Accept json @Produce json @Success 200 {object} []models.AccessRequest @Router /access/requests [get]
type AccessRoleController ¶
type AccessRoleController struct {
Providers map[string]models.ProviderConfig
Roles []models.AccessRole
}
func NewAccessRoleController ¶
func NewAccessRoleController() *AccessRoleController
func (*AccessRoleController) Create ¶
func (r *AccessRoleController) Create(c *gin.Context)
@Security JWT @Summary Create role @Schemes @Description Create a new which can be later used in access requests @Tags Access roles @Accept json @Produce json @Param role body models.AccessRole true "Role definition" @Success 200 {object} ResponseSuccess @Router /access/roles [post]
func (*AccessRoleController) List ¶
func (r *AccessRoleController) List(c *gin.Context)
@Security JWT @Summary List roles @Schemes @Description Create a new which can be later used in access requests @Tags Access roles @Accept json @Produce json @Success 200 {object} []models.AccessRole @Router /access/roles [get]
type ResponseError ¶
type ResponseSuccess ¶
type ResponseSuccessCreated ¶
type ResponseSuccessDeleted ¶
type ResponseSuccessUpdated ¶
type StatusController ¶
type StatusController struct {
}
StatusController handles status probes
func NewStatusController ¶
func NewStatusController() *StatusController
NewStatusController creates a new StatusController
func (*StatusController) Healthz ¶
func (r *StatusController) Healthz(c *gin.Context)
@Security JWT @Summary Healthy @Schemes @Description Healthy @Tags API health @Accept json @Produce json @Success 200 {object} []models.Health @Router /healthz [get]
func (*StatusController) Livez ¶
func (r *StatusController) Livez(c *gin.Context)
@Security JWT @Summary Liveness @Schemes @Description Liveness @Tags API health @Accept json @Produce json @Success 200 {object} []models.Health @Router /livez [get]
func (*StatusController) Readyz ¶
func (r *StatusController) Readyz(c *gin.Context)
@Security JWT @Summary Readyness @Schemes @Description Readyness @Tags API health @Accept json @Produce json @Success 200 {object} []models.Health @Router /readyz [get]
type UserController ¶
type UserController struct {
}
UserController handles user endpoints
func NewUserController ¶
func NewUserController() *UserController
NewUserController creates a new UserController
func (*UserController) GetProfile ¶
func (r *UserController) GetProfile(c *gin.Context)
@Security JWT @Summary User profile @Schemes @Description Returns curent user's profile @Tags User @Accept json @Produce json @Success 200 {object} models.UserProfile @Router /user/profile [get]
func (*UserController) GetRoleMappings ¶ added in v0.2.0
func (r *UserController) GetRoleMappings(c *gin.Context)
@Security JWT @Summary List access requests @Schemes @Description List all access requests @Tags Access requests @Accept json @Produce json @Success 200 {object} []models.AccessRequest @Router /users/role-mappings [get]
func (*UserController) GetUsers ¶ added in v0.2.0
func (r *UserController) GetUsers(c *gin.Context)
@Security JWT @Summary User profiles @Schemes @Description Returns all users @Tags User @Accept json @Produce json @Success 200 {object} []models.User @Router /users [get]
func (*UserController) UpdateProfileSettings ¶
func (r *UserController) UpdateProfileSettings(c *gin.Context)
@Security JWT @Summary Update user settings @Schemes @Description Updates current user's settings @Tags User @Accept json @Produce json @Param role body models.UserProfileSettings true "User profiles settings" @Success 200 {object} ResponseSuccessCreated @Router /user/profile/settings [put]
func (*UserController) UserInfo ¶
func (r *UserController) UserInfo(c *gin.Context)
@Security JWT @Summary User info @Schemes @Description Returns information about authenticated user @Tags User @Accept json @Produce json @Success 200 {object} models.ClaimsMap @Router /userinfo [get]