litmus/chaoscenter/authentication/api/handlers/doc.go

190 lines
5.0 KiB
Go

package response
import (
"github.com/gin-gonic/gin"
"github.com/litmuschaos/litmus/chaoscenter/authentication/pkg/entities"
)
type Response struct {
Response string
}
type ApiTokenResponse struct {
UserID string
Name string
Token string
ExpiresAt int64
CreatedAt int64
}
type Role string
type UserResponse struct {
ID string `bson:"_id,omitempty" json:"userID"`
Username string `bson:"username,omitempty" json:"username"`
Password string `bson:"password,omitempty" json:"password,omitempty"`
Email string `bson:"email,omitempty" json:"email,omitempty"`
Name string `bson:"name,omitempty" json:"name,omitempty"`
Role Role `bson:"role,omitempty" json:"role"`
DeactivatedAt *int64 `bson:"deactivated_at,omitempty" json:"deactivatedAt,omitempty"`
}
type CapabilitiesResponse struct {
Dex struct {
Enabled bool `json:"enabled"`
} `json:"dex"`
}
type MessageResponse struct {
Message string `json:"message"`
}
type NewApiToken struct {
accessToken string
}
type LoginResponse struct {
accessToken string
projectID string
projectRole string
expiresIn string
}
// HTTPError example
func NewError(ctx *gin.Context, status int, err error) {
er := HTTPError{
Code: status,
Message: err.Error(),
}
ctx.JSON(status, er)
}
type HTTPError struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"status bad request"`
}
type ErrServerError struct {
Code int `json:"code" example:"500"`
Message string `json:"message" example:"The authorization server encountered an unexpected condition that prevented it from fulfilling the request"`
}
type ErrInvalidCredentials struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"Invalid Credentials"`
}
type ErrInvalidRequest struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed"`
}
type ErrOldPassword struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"The old and new passwords can't be same"`
}
type ErrUnauthorized struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"The user does not have requested authorization to access this resource"`
}
type ErrUserExists struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"This username is already assigned to another user"`
}
type ErrUserNotFound struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"user does not exist"`
}
type ErrUserDeactivated struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"your account has been deactivated"`
}
type ErrStrictPasswordPolicyViolation struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"Please ensure the password is atleast 8 characters and atmost 16 characters long and has atleast 1 digit, 1 lowercase alphabet, 1 uppercase alphabet and 1 special character"`
}
type ErrStrictUsernamePolicyViolation struct {
Code int `json:"code" example:"401"`
Message string `json:"message" example:"The username should be atleast 3 characters long and atmost 16 characters long."`
}
type ErrEmptyProjectName struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"Project name can't be empty"`
}
type ErrInvalidRole struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"Role is invalid"`
}
type ErrProjectNotFound struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"This project does not exist"`
}
type ErrInvalidEmail struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"Email address is invalid"`
}
type ErrProjectNotFoundstruct struct {
Code int `json:"code" example:"400"`
Message string `json:"message" example:"project does not exist"`
}
type ReadinessAPIStatus struct {
DataBase string `json:"database"`
Collections string `json:"collections"`
}
type APIStatus struct {
Status string `json:"status"`
}
type UserWithProject struct {
Data entities.UserWithProject `json:"data"`
}
type Project struct {
Data entities.Project `json:"data"`
}
type Projects struct {
Data []*entities.Project `json:"data"`
}
type ListProjectResponse struct {
Data entities.ListProjectResponse `json:"data"`
}
type ProjectStats struct {
Data []*entities.ProjectStats `json:"data"`
}
type Members struct {
Data []*entities.Member `json:"data"`
}
type Member struct {
Data entities.Member `json:"data"`
}
type ListInvitationResponse struct {
Data []entities.ListInvitationResponse `json:"data"`
}
type ProjectRole struct {
Role string `json:"role"`
}
type ProjectIDWithMessage struct {
Message string `json:"message"`
ProjectID string `json:"projectID"`
}