handlers

package
v0.0.0-...-f9aba1a Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2025 License: BSD-3-Clause Imports: 19 Imported by: 0

Documentation

Index

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]

Jump to

Keyboard shortcuts

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