Documentation ¶
Index ¶
- type BaseHandler
- func (h *BaseHandler) ErrorResponse(c echo.Context, statusCode int, message string, err error) error
- func (h *BaseHandler) GetProject(c echo.Context) error
- func (h *BaseHandler) GetProjectList(c echo.Context) (err error)
- func (h *BaseHandler) ProjectCreate(c echo.Context) error
- func (h *BaseHandler) ProjectDelete(c echo.Context) error
- func (h *BaseHandler) ProjectUpdate(c echo.Context) error
- func (h *BaseHandler) SuccessResponse(c echo.Context, statusCode int, message string, data any) error
- func (h *BaseHandler) ValidateToken(c echo.Context) error
- type CreateProjectRequest
- type ErrorResponse
- type Response
- type UpdateProjectRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseHandler ¶
type BaseHandler struct {
// contains filtered or unexported fields
}
func NewBaseHandler ¶
func NewBaseHandler(mode string, log *logrus.Logger, projectService services.ProjectService) *BaseHandler
func (*BaseHandler) ErrorResponse ¶ added in v1.0.6
func (h *BaseHandler) ErrorResponse(c echo.Context, statusCode int, message string, err error) error
ErrorResponse takes a response status code and arbitrary data and writes a json response to the client. It depends on the mode whether the error is included in the response.
func (*BaseHandler) GetProject ¶ added in v1.0.6
func (h *BaseHandler) GetProject(c echo.Context) error
GetProject godoc @Summary get project by ProjectId @Tags projects @Accept json @Produce application/json @Param projectId path string true "ProjectId" @Security BearerAuth @Success 200 {object} Response{data=models.Project} @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 404 {object} ErrorResponse @Failure 422 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /v1/projects/{projectId} [get]
func (*BaseHandler) GetProjectList ¶ added in v1.0.6
func (h *BaseHandler) GetProjectList(c echo.Context) (err error)
GetProjectList godoc @Summary get all projects. Result depends on user role @Tags projects @Accept json @Produce application/json @Security BearerAuth @Param userUuid query string false "UserUuid" @Success 200 {object} Response{data=[]models.Project} @Failure 401 {object} ErrorResponse @Failure 404 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /v1/projects [get]
func (*BaseHandler) ProjectCreate ¶
func (h *BaseHandler) ProjectCreate(c echo.Context) error
ProjectCreate godoc @Summary create project @Tags projects @Accept json @Produce application/json @Param comment body CreateProjectRequest true "raw request body" @Security BearerAuth @Success 201 {object} Response{data=models.Project} @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 422 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /v1/projects [post]
func (*BaseHandler) ProjectDelete ¶
func (h *BaseHandler) ProjectDelete(c echo.Context) error
ProjectDelete godoc @Summary delete project by ProjectId @Tags projects @Accept json @Produce application/json @Param projectId path string true "ProjectId" @Security BearerAuth @Success 200 {object} Response @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 404 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /v1/projects/{projectId} [delete]
func (*BaseHandler) ProjectUpdate ¶
func (h *BaseHandler) ProjectUpdate(c echo.Context) error
ProjectUpdate godoc @Summary update project by ProjectId @Tags projects @Accept json @Produce application/json @Param projectId path string true "ProjectId" @Param comment body UpdateProjectRequest true "raw request body" @Security BearerAuth @Success 200 {object} Response{data=models.Project} @Failure 400 {object} ErrorResponse @Failure 401 {object} ErrorResponse @Failure 403 {object} ErrorResponse @Failure 404 {object} ErrorResponse @Failure 409 {object} ErrorResponse @Failure 422 {object} ErrorResponse @Failure 500 {object} ErrorResponse @Router /v1/projects/{projectId} [patch]
func (*BaseHandler) SuccessResponse ¶ added in v1.0.6
func (h *BaseHandler) SuccessResponse(c echo.Context, statusCode int, message string, data any) error
SuccessResponse takes a response status code and arbitrary data and writes a json response to the client
func (*BaseHandler) ValidateToken ¶ added in v1.0.6
func (h *BaseHandler) ValidateToken(c echo.Context) error
ValidateToken godoc @Summary validate token @Tags token @Accept json @Produce application/json @Security X-Api-Key @Success 204 {object} Response @Failure 401 {object} ErrorResponse @Router /v1/token/validate [get]
type CreateProjectRequest ¶ added in v1.0.6
type ErrorResponse ¶
type ErrorResponse struct { Code int `json:"code"` Message string `json:"message"` Error any `json:"error,omitempty"` }
ErrorResponse is the type used for sending JSON around
type UpdateProjectRequest ¶ added in v1.0.6
type UpdateProjectRequest struct {
Name string `json:"name" validate:"required,min=3,max=128" example:"bla-bla-bla.com"`
}