// Package docs Code generated by swaggo/swag. DO NOT EDIT package docs import "github.com/swaggo/swag" const docTemplate = `{ "schemes": {{ marshal .Schemes }}, "swagger": "2.0", "info": { "description": "{{escape .Description}}", "title": "{{.Title}}", "termsOfService": "http://swagger.io/terms/", "contact": { "name": "API Support", "url": "http://www.swagger.io/support", "email": "support@swagger.io" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { "/auth/login": { "post": { "description": "Authenticate user and return access \u0026 refresh tokens.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "User login", "parameters": [ { "description": "Login payload", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UserLoginRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } } } } }, "/auth/refresh": { "post": { "description": "Exchange a refresh token for a new access token (and optionally a new refresh token).", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth" ], "summary": "Refresh auth token", "parameters": [ { "description": "Refresh token payload", "name": "request", "in": "body", "required": true, "schema": { "type": "object" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } }, "401": { "description": "Unauthorized", "schema": { "type": "object", "additionalProperties": true } } } } }, "/example/helloworld": { "get": { "description": "do ping", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "example" ], "summary": "ping example", "responses": { "200": { "description": "OK", "schema": { "type": "string" } } } } }, "/users": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get paginated list of users for the current client. Supports filtering by name and including related roles.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Get list of users", "parameters": [ { "type": "string", "description": "Filter by name (partial match)", "name": "name", "in": "query" }, { "type": "integer", "description": "Page number (default: 1)", "name": "page", "in": "query" }, { "type": "integer", "description": "Page size (default: 10)", "name": "page_size", "in": "query" }, { "type": "string", "description": "Sort expression, e.g. created_at desc", "name": "sort", "in": "query" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/dto.UserResponse" } } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } } } }, "put": { "security": [ { "ApiKeyAuth": [] } ], "description": "Update profile of the authenticated user. Use multipart/form-data if uploading files (photo).", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Update current user", "parameters": [ { "description": "Update payload", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UserUpdateRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UserResponse" } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } } } }, "delete": { "security": [ { "ApiKeyAuth": [] } ], "description": "Delete the authenticated user's account (soft/hard depends on implementation).", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Delete current user", "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } } } } }, "/users/me": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Return the authenticated user's profile.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Get current user", "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UserResponse" } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } } } } }, "/users/register": { "post": { "description": "Create a new user under the authenticated client. Validates input and returns created user.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Register a new user", "parameters": [ { "description": "Register payload", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.UserCreateRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UserResponse" } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } }, "500": { "description": "Internal Server Error", "schema": { "type": "object", "additionalProperties": true } } } } }, "/users/send-verification-email": { "post": { "description": "Send email with verification code/link to a user's email address.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Send verification email", "parameters": [ { "description": "Email request payload", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.SendVerificationEmailRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "additionalProperties": true } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } } } } }, "/users/verify-email": { "post": { "description": "Verify a user's email using code or token sent via email.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Verify user email", "parameters": [ { "description": "Verify email payload", "name": "body", "in": "body", "required": true, "schema": { "$ref": "#/definitions/dto.VerifyEmailRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UserResponse" } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } } } } }, "/users/{id}": { "get": { "security": [ { "ApiKeyAuth": [] } ], "description": "Get details of a user by their ID. Requires appropriate permissions.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Users" ], "summary": "Get user by ID", "parameters": [ { "type": "string", "description": "User ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/dto.UserResponse" } }, "400": { "description": "Bad Request", "schema": { "type": "object", "additionalProperties": true } } } } } }, "definitions": { "dto.SendVerificationEmailRequest": { "type": "object", "required": [ "email" ], "properties": { "email": { "type": "string" } } }, "dto.UserCreateRequest": { "type": "object", "required": [ "client_id", "email", "name", "password", "username" ], "properties": { "address": { "type": "string" }, "client_id": { "type": "string" }, "email": { "type": "string" }, "gender": { "type": "string", "maxLength": 10 }, "location_id": { "type": "string" }, "maintenance_group_user_id": { "type": "string" }, "name": { "type": "string", "maxLength": 100, "minLength": 2 }, "password": { "type": "string", "minLength": 8 }, "phone": { "type": "string", "maxLength": 20, "minLength": 8 }, "photo_url": { "type": "string" }, "username": { "type": "string", "maxLength": 100, "minLength": 2 } } }, "dto.UserLoginRequest": { "type": "object", "required": [ "email", "password" ], "properties": { "email": { "type": "string" }, "password": { "type": "string" } } }, "dto.UserResponse": { "type": "object", "properties": { "address": { "type": "string" }, "email": { "type": "string" }, "gender": { "type": "string" }, "id": { "type": "string" }, "name": { "type": "string" }, "password": { "type": "string" }, "phone": { "type": "string" }, "photo_url": { "type": "string" }, "roles": { "type": "array", "items": { "$ref": "#/definitions/dto.UserRolesResponse" } }, "username": { "type": "string" } } }, "dto.UserRolesResponse": { "type": "object", "properties": { "id": { "type": "string" }, "name": { "type": "string" } } }, "dto.UserUpdateRequest": { "type": "object", "properties": { "address": { "type": "string" }, "client_id": { "type": "string" }, "email": { "type": "string" }, "gender": { "type": "string", "maxLength": 10 }, "location_id": { "type": "string" }, "maintenance_group_user_id": { "type": "string" }, "name": { "type": "string", "maxLength": 100, "minLength": 2 }, "password": { "type": "string", "minLength": 8 }, "phone": { "type": "string", "maxLength": 20, "minLength": 8 }, "photo_url": { "type": "string" }, "username": { "type": "string", "maxLength": 100, "minLength": 2 } } }, "dto.VerifyEmailRequest": { "type": "object", "required": [ "token" ], "properties": { "token": { "type": "string" } } } }, "securityDefinitions": { "BearerAuth": { "description": "Bearer token for authentication", "type": "apiKey", "name": "Authorization", "in": "header" } }, "externalDocs": { "description": "OpenAPI", "url": "https://swagger.io/resources/open-api/" } }` // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "1.0", Host: "localhost:8888", BasePath: "/api/v1", Schemes: []string{}, Title: "WMS Wareify API Docs", Description: "This is a sample server celler server.", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, LeftDelim: "{{", RightDelim: "}}", } func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) }