Documentation
¶
Index ¶
- type AuthHandler
- func (h *AuthHandler) GetOauthProviders(ctx *gin.Context)
- func (h *AuthHandler) Login(ctx *gin.Context)
- func (h *AuthHandler) Logout(ctx *gin.Context)
- func (h *AuthHandler) OauthCallback(ctx *gin.Context)
- func (h *AuthHandler) RegisterRoutes(rg *gin.RouterGroup, authMiddleware middlewares.AuthMiddleware)
- func (h *AuthHandler) SetOrg(ctx *gin.Context)
- func (h *AuthHandler) Validate(ctx *gin.Context)
- type BillingHandler
- type OrganizationHandler
- func (h *OrganizationHandler) AcceptOrgInvite(ctx *gin.Context)
- func (h *OrganizationHandler) ChangeOwner(ctx *gin.Context)
- func (h *OrganizationHandler) CreateOrganization(ctx *gin.Context)
- func (h *OrganizationHandler) InviteToOrg(ctx *gin.Context)
- func (h *OrganizationHandler) RegisterRoutes(rg *gin.RouterGroup, authMiddleware middlewares.AuthMiddleware)
- func (h *OrganizationHandler) RemoveFromOrg(ctx *gin.Context)
- type TelemetryHandler
- type UserHandler
- func (h *UserHandler) ConfirmUser(ctx *gin.Context)
- func (h *UserHandler) CreateUser(ctx *gin.Context)
- func (h *UserHandler) EditUser(ctx *gin.Context)
- func (h *UserHandler) GetUserOrgs(ctx *gin.Context)
- func (h *UserHandler) InitResetPassword(ctx *gin.Context)
- func (h *UserHandler) RegisterRoutes(rg *gin.RouterGroup, authMiddleware middlewares.AuthMiddleware)
- func (h *UserHandler) ResetPassword(ctx *gin.Context)
- func (h *UserHandler) SetPasswordResetCookie(ctx *gin.Context)
- func (h *UserHandler) SetPicture(ctx *gin.Context)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthHandler ¶
type AuthHandler struct {
// contains filtered or unexported fields
}
func NewAuthHandler ¶
func NewAuthHandler( authService services.AuthService, userService services.UserService, emailService services.EmailService, oauthProvidersMap map[string]oauth.Provider, ) AuthHandler
func (*AuthHandler) GetOauthProviders ¶
func (h *AuthHandler) GetOauthProviders(ctx *gin.Context)
@Summary GetOauthProviders @Tags Auth @Description Gets OauthProviders and their URLs @Produce json @Success 200 {object} map[string]string @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/auth/providers [GET]
func (*AuthHandler) Login ¶
func (h *AuthHandler) Login(ctx *gin.Context)
@Summary Login @Tags Auth @Description Authenticates a user and provides a Token to Authorize API calls @Consume multipart/form-data @Produce json @Param email formData string true "User credentials" @Param password formData string true "User credentials" @Success 200 {object} models.JwtClaimsOutput @Failure 400 string BadRequest @Failure 401 string Unauthorized @Failure 502 string BadGateway @Router /v1/auth/login [POST]
func (*AuthHandler) Logout ¶
func (h *AuthHandler) Logout(ctx *gin.Context)
@Summary Logout @Tags Auth @Description Removes the cookie @Success 200 string OK @Failure 400 string BadRequest @Failure 401 string Unauthorized @Failure 502 string BadGateway @Router /v1/auth/logout [POST]
func (*AuthHandler) OauthCallback ¶
func (h *AuthHandler) OauthCallback(ctx *gin.Context)
@Summary OauthCallback @Tags Auth @Description Oauth Provider Callbacks @Produce json @Param provider path string true "provider name" @Param code query string true "code" @Success 302 {string} OKResponse "StatusFound" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/auth/{provider}/callback [GET]
func (*AuthHandler) RegisterRoutes ¶
func (h *AuthHandler) RegisterRoutes(rg *gin.RouterGroup, authMiddleware middlewares.AuthMiddleware)
Register Routes, needs jwtService use on authentication middleware
func (*AuthHandler) SetOrg ¶
func (h *AuthHandler) SetOrg(ctx *gin.Context)
@Summary SetOrg @Tags Auth @Security JWT @Description Sets the current User Org on JWT @Produce json @Param orgId path string true "orgId" @Success 200 {object} models.JwtClaimsOutput @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/auth/set-organization/{orgId} [POST]
func (*AuthHandler) Validate ¶
func (h *AuthHandler) Validate(ctx *gin.Context)
@Summary Validate JWT @Security JWT @Tags Auth @Description Mock Endpoint to test validation of JSON Web Token (JWT) in Headers or Cookie @Consume application/json @Produce json @Success 200 {object} models.JwtClaimsOutput @Failure 400 string BadRequest @Failure 401 string Unauthorized @Failure 502 string BadGateway @Router /v1/auth/validate [GET]
type BillingHandler ¶
type BillingHandler struct {
// contains filtered or unexported fields
}
func NewBillingHandler ¶
func NewBillingHandler( billingService services.BillingService, emailService services.EmailService, userService services.UserService, ) BillingHandler
func (*BillingHandler) CheckoutSessionCompletedCallback ¶
func (h *BillingHandler) CheckoutSessionCompletedCallback(ctx *gin.Context)
@Summary CheckoutSessionCompletedCallback @Security JWT @Tags Billing @Description Completes a SessionCompleted @Produce plain @Param payload body any true "stripe.Event json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/billing/stripe/checkout-session-completed [POST]
func (*BillingHandler) CheckoutSessionUrl ¶
func (h *BillingHandler) CheckoutSessionUrl(ctx *gin.Context)
@Summary CheckoutSessionUrl @Security JWT @Tags Billing @Description Gets the CheckoutSession Url @Produce plain @Param product_id path string true "product_id" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/billing/stripe/get-checkout-session-url/{product_id} [POST]
func (*BillingHandler) RegisterRoutes ¶
func (h *BillingHandler) RegisterRoutes(rg *gin.RouterGroup, authMiddleware middlewares.AuthMiddleware)
type OrganizationHandler ¶
type OrganizationHandler struct {
// contains filtered or unexported fields
}
func NewOrganizationHandler ¶
func NewOrganizationHandler( userService services.UserService, emailService services.EmailService, orgService services.OrganizationService, ) OrganizationHandler
func (*OrganizationHandler) AcceptOrgInvite ¶
func (h *OrganizationHandler) AcceptOrgInvite(ctx *gin.Context)
@Summary AcceptOrgInvite @Tags Organization @Description Accepts the Organization Invite @Consume application/json @Accept json @Produce plain @Param otp query string true "OneTimePass sent in email" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/organizations/accept-invite [GET]
func (*OrganizationHandler) ChangeOwner ¶
func (h *OrganizationHandler) ChangeOwner(ctx *gin.Context)
@Summary ChangeOwner @Security JWT @Tags Organization @Description Removes User from Org @Produce plain @Param orgId path string true "Organization Id" @Param payload body dto.Email true "email json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/organizations/{orgId}/owner [PUT]
func (*OrganizationHandler) CreateOrganization ¶
func (h *OrganizationHandler) CreateOrganization(ctx *gin.Context)
@Summary CreateOrganization @Security JWT @Tags Organization @Description Creates an Organization @Consume application/json @Accept json @Produce plain @Param payload body dto.CreateOrganization true "org json" @Success 200 {object} dto.Id @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/organizations [POST]
func (*OrganizationHandler) InviteToOrg ¶
func (h *OrganizationHandler) InviteToOrg(ctx *gin.Context)
@Summary InviteToOrg @Security JWT @Tags Organization @Description Invite User to Org @Consume application/json @Accept json @Produce plain @Param orgId path string true "Organization Id" @Param payload body dto.CreateOrganizationInvite true "invite json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/organizations/{orgId}/invite [POST]
func (*OrganizationHandler) RegisterRoutes ¶
func (h *OrganizationHandler) RegisterRoutes(rg *gin.RouterGroup, authMiddleware middlewares.AuthMiddleware)
func (*OrganizationHandler) RemoveFromOrg ¶
func (h *OrganizationHandler) RemoveFromOrg(ctx *gin.Context)
@Summary RemoveFromOrg @Security JWT @Tags Organization @Description Removes User from Org @Produce plain @Param orgId path string true "Organization Id" @Param userId path string true "User Id" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/organizations/{orgId}/users/{userId} [DELETE]
type TelemetryHandler ¶
type TelemetryHandler struct {
// contains filtered or unexported fields
}
func NewTelemetryHandler ¶
func NewTelemetryHandler( telemetryService services.TelemetryService, ) TelemetryHandler
func (*TelemetryHandler) AddEvent ¶
func (h *TelemetryHandler) AddEvent(c *gin.Context)
@Summary AddEvent @Tags Telemetry @Description Records a Telemetry Event @Produce plain @Param payload body dto.Event true "event json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/event [POST]
func (*TelemetryHandler) AddMetric ¶
func (h *TelemetryHandler) AddMetric(c *gin.Context)
@Summary AddMetric @Tags Telemetry @Description Records a Telemetry Metric @Produce plain @Param payload body dto.Metric true "metric json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/metric [POST]
func (*TelemetryHandler) RegisterRoutes ¶
func (h *TelemetryHandler) RegisterRoutes(rg *gin.RouterGroup, authMiddleware middlewares.AuthMiddleware)
type UserHandler ¶
type UserHandler struct {
// contains filtered or unexported fields
}
func NewUserHandler ¶
func NewUserHandler( authService services.AuthService, userService services.UserService, emailService services.EmailService, objService services.ObjectService, ) UserHandler
func (*UserHandler) ConfirmUser ¶
func (h *UserHandler) ConfirmUser(ctx *gin.Context)
@Summary ConfirmUser @Tags User @Description Confirms the User @Produce plain @Param otp query string true "OneTimePass sent in email" @Success 302 {string} OKResponse "StatusFound" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/users/confirm [GET]
func (*UserHandler) CreateUser ¶
func (h *UserHandler) CreateUser(ctx *gin.Context)
@Summary CreateUser @Tags User @Description Creates an User @Consume application/json @Accept json @Produce plain @Param payload body dto.CreateUser true "user json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/users [POST]
func (*UserHandler) EditUser ¶
func (h *UserHandler) EditUser(ctx *gin.Context)
@Summary EditUser @Tags User @Description Edits User Info @Consume application/json @Accept json @Produce plain @Param payload body dto.EditUser true "editUser json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/users/edit [PUT]
func (*UserHandler) GetUserOrgs ¶
func (h *UserHandler) GetUserOrgs(ctx *gin.Context)
@Summary GetUserOrgs @Tags User @Security JWT @Description Gets Orgs Users Belongs to @Produce json @Success 200 {object} []dto.OrganizationOutput @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/users/organizations [GET]
func (*UserHandler) InitResetPassword ¶
func (h *UserHandler) InitResetPassword(ctx *gin.Context)
@Summary InitResetPassword @Tags User @Description Inits the password reset pipeline @Consume application/json @Accept json @Produce plain @Param payload body dto.Email true "email json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/users/init-reset-password [POST]
func (*UserHandler) RegisterRoutes ¶
func (h *UserHandler) RegisterRoutes(rg *gin.RouterGroup, authMiddleware middlewares.AuthMiddleware)
func (*UserHandler) ResetPassword ¶
func (h *UserHandler) ResetPassword(ctx *gin.Context)
@Summary ResetPassword @Tags User @Description Resets the password (auths via special cookie) @Consume application/json @Accept json @Produce plain @Param payload body dto.Password true "pw json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/users/reset-password [POST]
func (*UserHandler) SetPasswordResetCookie ¶
func (h *UserHandler) SetPasswordResetCookie(ctx *gin.Context)
@Summary SetPasswordResetCookie @Tags User @Description Sets te Passord Reset Cookie @Produce plain @Param otp query string true "OneTimePass sent in email" @Success 302 {string} OKResponse "StatusFound" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/users/set-password-reset-cookie [GET]
func (*UserHandler) SetPicture ¶
func (h *UserHandler) SetPicture(ctx *gin.Context)
@Summary SetPicture @Tags User @Description Sets User Picture @Consume application/json @Accept json @Produce plain @Param payload body dto.UloadPicture true "picture json" @Success 200 {string} OKResponse "OK" @Failure 400 {string} ErrorResponse "Bad Request" @Failure 409 {string} ErrorResponse "Conflict" @Failure 502 {string} ErrorResponse "Bad Gateway" @Router /v1/users/profile-picture [POST]