// 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}}", "contact": {}, "version": "{{.Version}}" }, "host": "{{.Host}}", "basePath": "{{.BasePath}}", "paths": { "/api/v1/auth/login": { "post": { "description": "Authenticates a user based on the provided credentials and returns a JWT token.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Auth Login API's" ], "summary": "User login", "parameters": [ { "description": "User login credentials", "name": "bodyParam", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.LoginRequest" } } ], "responses": { "200": { "description": "Login successful", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.LoginResponse" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/branch": { "post": { "description": "Create a new branch based on the provided data.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Branch APIs" ], "summary": "Create a new branch", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "description": "New branch details", "name": "req", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.Branch" } } ], "responses": { "200": { "description": "Branch created successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Branch" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/branch/list": { "get": { "description": "Get a paginated list of branches based on query parameters.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Branch APIs" ], "summary": "Get a list of branches", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Number of items to retrieve (default 10)", "name": "Limit", "in": "query" }, { "type": "integer", "description": "Offset for pagination (default 0)", "name": "Offset", "in": "query" } ], "responses": { "200": { "description": "List of branches", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.BranchList" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/branch/{id}": { "get": { "description": "Get details of a branch based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Branch APIs" ], "summary": "Get details of a branch by ID", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Branch ID to retrieve", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Branch details", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Branch" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } }, "put": { "description": "Update the details of an existing branch based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Branch APIs" ], "summary": "Update an existing branch", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Branch ID to update", "name": "id", "in": "path", "required": true }, { "description": "Updated branch details", "name": "req", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.Branch" } } ], "responses": { "200": { "description": "Branch updated successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Branch" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } }, "delete": { "description": "Delete a branch based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Branch APIs" ], "summary": "Delete a branch by ID", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Branch ID to delete", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Branch deleted successfully", "schema": { "$ref": "#/definitions/response.BaseResponse" } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/file/upload": { "post": { "description": "Upload a file to Alibaba Cloud OSS with the provided details.", "consumes": [ "multipart/form-data" ], "produces": [ "application/json" ], "tags": [ "File Upload API" ], "summary": "Upload a file to OSS", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "file", "description": "File to upload (max size: 2MB)", "name": "file", "in": "formData", "required": true } ], "responses": { "200": { "description": "File uploaded successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/entity.UploadFileResponse" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/order": { "post": { "description": "Create a new order with the provided details.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Create a new order", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "description": "Order details", "name": "order", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.Order" } } ], "responses": { "200": { "description": "Order created successfully", "schema": { "$ref": "#/definitions/response.BaseResponse" } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/order/branch-revenue": { "get": { "description": "Retrieve the branch-wise revenue for orders based on the specified parameters.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Get branch-wise revenue for orders", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Branch ID for filtering", "name": "branch_id", "in": "query" }, { "type": "string", "description": "Start date for filtering (format: 'YYYY-MM-DD')", "name": "start_date", "in": "query" }, { "type": "string", "description": "End date for filtering (format: 'YYYY-MM-DD')", "name": "end_date", "in": "query" } ], "responses": { "200": { "description": "Branch-wise revenue retrieved successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "type": "array", "items": { "$ref": "#/definitions/response.OrderBranchRevenue" } } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/response.BaseResponse" } } } } }, "/api/v1/order/list": { "get": { "description": "Retrieve a list of orders based on the specified parameters.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Get a list of orders", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Number of items to retrieve (default: 10)", "name": "limit", "in": "query" }, { "type": "integer", "description": "Number of items to skip (default: 0)", "name": "offset", "in": "query" } ], "responses": { "200": { "description": "List of orders retrieved successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.OrderList" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/response.BaseResponse" } } } } }, "/api/v1/order/total-revenue": { "get": { "description": "Retrieve the total revenue and number of transactions for orders based on the specified parameters.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Get total revenue and number of transactions for orders", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "string", "description": "Start date for filtering (format: 'YYYY-MM-DD')", "name": "start_date", "in": "query" }, { "type": "string", "description": "End date for filtering (format: 'YYYY-MM-DD')", "name": "end_date", "in": "query" } ], "responses": { "200": { "description": "Total revenue and transactions retrieved successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.OrderMonthlyRevenue" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/response.BaseResponse" } } } } }, "/api/v1/order/update-status/{id}": { "put": { "description": "Update the status of the specified order with the provided details.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Update the status of an order", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "string", "description": "Order ID", "name": "id", "in": "path", "required": true }, { "description": "Status details", "name": "status", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.UpdateStatus" } } ], "responses": { "200": { "description": "Order status updated successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Order" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/response.BaseResponse" } } } } }, "/api/v1/order/yearly-revenue/{year}": { "get": { "description": "Retrieve the yearly revenue for orders based on the specified year.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Get yearly revenue for orders", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Year for filtering", "name": "year", "in": "path", "required": true } ], "responses": { "200": { "description": "Yearly revenue retrieved successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "type": "object", "additionalProperties": { "type": "object", "additionalProperties": { "type": "number" } } } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/response.BaseResponse" } } } } }, "/api/v1/order/{id}": { "get": { "description": "Retrieve the details of the specified order by ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "summary": "Get details of an order by ID", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "string", "description": "Order ID", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Order details retrieved successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Order" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "500": { "description": "Internal server error", "schema": { "$ref": "#/definitions/response.BaseResponse" } } } } }, "/api/v1/product/": { "post": { "description": "Create a new product with the provided details.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Product APIs" ], "summary": "Create a new product", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "description": "Product details to create", "name": "req", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.Product" } } ], "responses": { "200": { "description": "Product created successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Product" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/product/list": { "get": { "description": "Get a paginated list of products based on query parameters.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Product APIs" ], "summary": "Get a list of products", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Number of items to retrieve (default 10)", "name": "Limit", "in": "query" }, { "type": "integer", "description": "Offset for pagination (default 0)", "name": "Offset", "in": "query" } ], "responses": { "200": { "description": "List of products", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.ProductList" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/product/{id}": { "get": { "description": "Get details of a product based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Product APIs" ], "summary": "Get details of a product by ID", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Product ID to retrieve", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Product details", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Product" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } }, "put": { "description": "Update the details of an existing product based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Product APIs" ], "summary": "Update an existing product", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Product ID to update", "name": "id", "in": "path", "required": true }, { "description": "Updated product details", "name": "req", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.Product" } } ], "responses": { "200": { "description": "Product updated successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Product" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } }, "delete": { "description": "Delete a product based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Product APIs" ], "summary": "Delete a product by ID", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Product ID to delete", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Product deleted successfully", "schema": { "$ref": "#/definitions/response.BaseResponse" } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/studio": { "post": { "description": "Create a new studio based on the provided details.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Studio APIs" ], "summary": "Create a new studio", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "description": "New studio details", "name": "req", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.Studio" } } ], "responses": { "200": { "description": "Studio created successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Studio" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/studio/search": { "get": { "description": "Search for studios based on query parameters.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Studio APIs" ], "summary": "Search for studios", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "string", "description": "Studio name for search", "name": "Name", "in": "query" }, { "type": "string", "description": "Studio status for search", "name": "Status", "in": "query" }, { "type": "integer", "description": "Number of items to retrieve (default 10)", "name": "Limit", "in": "query" }, { "type": "integer", "description": "Offset for pagination (default 0)", "name": "Offset", "in": "query" } ], "responses": { "200": { "description": "List of studios", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.StudioList" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/studio/{id}": { "get": { "description": "Get details of a studio based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Studio APIs" ], "summary": "Get details of a studio by ID", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Studio ID to retrieve", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "Studio details", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Studio" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } }, "put": { "description": "Update the details of an existing studio based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "Studio APIs" ], "summary": "Update an existing studio", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Studio ID to update", "name": "id", "in": "path", "required": true }, { "description": "Updated studio details", "name": "req", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.Studio" } } ], "responses": { "200": { "description": "Studio updated successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.Studio" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/user": { "post": { "description": "Create a new user based on the provided data.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User APIs" ], "summary": "Create a new user", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "description": "New user details", "name": "req", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.User" } } ], "responses": { "200": { "description": "User created successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.User" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/user/list": { "get": { "description": "Get a paginated list of users based on query parameters.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User APIs" ], "summary": "Get a list of users", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "Number of items to retrieve (default 10)", "name": "Limit", "in": "query" }, { "type": "integer", "description": "Offset for pagination (default 0)", "name": "Offset", "in": "query" } ], "responses": { "200": { "description": "List of users", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.UserList" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } }, "/api/v1/user/{id}": { "get": { "description": "Get details of a user based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User APIs" ], "summary": "Get details of a user by ID", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "User ID to retrieve", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "User details", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.User" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } }, "put": { "description": "Update the details of an existing user based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User APIs" ], "summary": "Update an existing user", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "User ID to update", "name": "id", "in": "path", "required": true }, { "description": "Updated user details", "name": "req", "in": "body", "required": true, "schema": { "$ref": "#/definitions/request.User" } } ], "responses": { "200": { "description": "User updated successfully", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": { "$ref": "#/definitions/response.User" } } } ] } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } }, "delete": { "description": "Delete a user based on the provided ID.", "consumes": [ "application/json" ], "produces": [ "application/json" ], "tags": [ "User APIs" ], "summary": "Delete a user by ID", "parameters": [ { "type": "string", "description": "JWT token", "name": "Authorization", "in": "header", "required": true }, { "type": "integer", "description": "User ID to delete", "name": "id", "in": "path", "required": true } ], "responses": { "200": { "description": "User deleted successfully", "schema": { "$ref": "#/definitions/response.BaseResponse" } }, "400": { "description": "Bad request", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } }, "401": { "description": "Unauthorized", "schema": { "allOf": [ { "$ref": "#/definitions/response.BaseResponse" }, { "type": "object", "properties": { "data": {} } } ] } } } } } }, "definitions": { "branch.BranchStatus": { "type": "string", "enum": [ "Active", "Inactive" ], "x-enum-varnames": [ "Active", "Inactive" ] }, "entity.UploadFileResponse": { "type": "object", "properties": { "file_path": { "type": "string" }, "file_url": { "type": "string" } } }, "order.ItemType": { "type": "string", "enum": [ "PRODUCT", "STUDIO" ], "x-enum-varnames": [ "Product", "Studio" ] }, "order.OrderStatus": { "type": "string", "enum": [ "NEW", "PAID", "CANCEL" ], "x-enum-varnames": [ "New", "Paid", "Cancel" ] }, "product.ProductStatus": { "type": "string", "enum": [ "Active", "Inactive" ], "x-enum-varnames": [ "Active", "Inactive" ] }, "product.ProductType": { "type": "string", "enum": [ "FOOD", "BEVERAGE" ], "x-enum-varnames": [ "Food", "Beverage" ] }, "request.Branch": { "type": "object", "required": [ "location", "name" ], "properties": { "location": { "type": "string" }, "name": { "type": "string" }, "status": { "$ref": "#/definitions/branch.BranchStatus" } } }, "request.LoginRequest": { "type": "object", "properties": { "email": { "type": "string" }, "password": { "type": "string" } } }, "request.Order": { "type": "object", "required": [ "amount", "branch_id", "customer_name", "customer_phone", "order_items", "pax", "payment_method" ], "properties": { "amount": { "type": "number" }, "branch_id": { "type": "integer" }, "customer_name": { "type": "string" }, "customer_phone": { "type": "string" }, "order_items": { "type": "array", "items": { "$ref": "#/definitions/request.OrderItem" } }, "pax": { "type": "integer" }, "payment_method": { "$ref": "#/definitions/transaction.PaymentMethod" } } }, "request.OrderItem": { "type": "object", "required": [ "item_id", "item_type", "price", "qty" ], "properties": { "item_id": { "type": "integer" }, "item_type": { "$ref": "#/definitions/order.ItemType" }, "price": { "type": "number" }, "qty": { "type": "integer" } } }, "request.Product": { "type": "object", "required": [ "branch_id", "name", "price", "status", "type" ], "properties": { "branch_id": { "type": "integer" }, "description": { "type": "string" }, "name": { "type": "string" }, "price": { "type": "number" }, "status": { "$ref": "#/definitions/product.ProductStatus" }, "stock_qty": { "type": "integer" }, "type": { "$ref": "#/definitions/product.ProductType" } } }, "request.Studio": { "type": "object", "required": [ "branch_id", "name", "price" ], "properties": { "branch_id": { "type": "integer" }, "metadata": { "type": "object", "additionalProperties": true }, "name": { "type": "string" }, "price": { "type": "number" }, "status": { "$ref": "#/definitions/studio.StudioStatus" } } }, "request.UpdateStatus": { "type": "object", "properties": { "status": { "allOf": [ { "$ref": "#/definitions/order.OrderStatus" } ], "example": "NEW,PAID,CANCEL" } } }, "request.User": { "type": "object", "required": [ "email", "name", "password", "role_id" ], "properties": { "branch_id": { "type": "integer" }, "email": { "type": "string" }, "name": { "type": "string" }, "password": { "type": "string" }, "role_id": { "type": "integer" } } }, "response.BaseResponse": { "type": "object", "properties": { "data": {}, "error_detail": {}, "error_message": { "type": "string" }, "message": { "type": "string" }, "meta": { "$ref": "#/definitions/response.PagingMeta" }, "response_code": { "type": "string" }, "success": { "type": "boolean" } } }, "response.Branch": { "type": "object", "properties": { "created_at": { "type": "string" }, "id": { "type": "integer" }, "location": { "type": "string" }, "name": { "type": "string" }, "status": { "type": "string" }, "updated_at": { "type": "string" } } }, "response.BranchList": { "type": "object", "properties": { "branches": { "type": "array", "items": { "$ref": "#/definitions/response.Branch" } }, "limit": { "type": "integer" }, "offset": { "type": "integer" }, "total": { "type": "integer" } } }, "response.LoginResponse": { "type": "object", "properties": { "branch": { "$ref": "#/definitions/response.Branch" }, "name": { "type": "string" }, "role": { "$ref": "#/definitions/response.Role" }, "token": { "type": "string" } } }, "response.Order": { "type": "object", "properties": { "amount": { "type": "number" }, "branch_id": { "type": "integer" }, "branch_name": { "type": "string" }, "created_at": { "type": "string" }, "customer_name": { "type": "string" }, "customer_phone": { "type": "string" }, "id": { "type": "integer" }, "order_items": { "type": "array", "items": { "$ref": "#/definitions/response.OrderItem" } }, "pax": { "type": "integer" }, "payment_method": { "$ref": "#/definitions/transaction.PaymentMethod" }, "status": { "$ref": "#/definitions/order.OrderStatus" }, "updated_at": { "type": "string" } } }, "response.OrderBranchRevenue": { "type": "object", "properties": { "branch_id": { "type": "string" }, "location": { "type": "string" }, "name": { "type": "string" }, "total_amount": { "type": "number" }, "total_trans": { "type": "integer" } } }, "response.OrderItem": { "type": "object", "properties": { "created_at": { "type": "string" }, "item_id": { "type": "integer" }, "item_name": { "type": "string" }, "item_type": { "$ref": "#/definitions/order.ItemType" }, "order_item_id": { "type": "integer" }, "price": { "type": "number" }, "qty": { "type": "integer" }, "updated_at": { "type": "string" } } }, "response.OrderList": { "type": "object", "properties": { "limit": { "type": "integer" }, "offset": { "type": "integer" }, "orders": { "type": "array", "items": { "$ref": "#/definitions/response.Order" } }, "total": { "type": "integer" } } }, "response.OrderMonthlyRevenue": { "type": "object", "properties": { "total_revenue": { "type": "number" }, "total_transaction": { "type": "integer" } } }, "response.PagingMeta": { "type": "object", "properties": { "limit": { "type": "integer" }, "page": { "type": "integer" }, "total_data": { "type": "integer" } } }, "response.Product": { "type": "object", "properties": { "branch_id": { "type": "integer" }, "created_at": { "type": "string" }, "description": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" }, "price": { "type": "number" }, "status": { "$ref": "#/definitions/product.ProductStatus" }, "stock_qty": { "type": "integer" }, "type": { "$ref": "#/definitions/product.ProductType" }, "updated_at": { "type": "string" } } }, "response.ProductList": { "type": "object", "properties": { "limit": { "type": "integer" }, "offset": { "type": "integer" }, "products": { "type": "array", "items": { "$ref": "#/definitions/response.Product" } }, "total": { "type": "integer" } } }, "response.Role": { "type": "object", "properties": { "id": { "type": "integer" }, "role_name": { "type": "string" } } }, "response.Studio": { "type": "object", "properties": { "branch_id": { "type": "integer" }, "created_at": { "type": "string" }, "id": { "type": "integer" }, "metadata": { "type": "object", "additionalProperties": true }, "name": { "type": "string" }, "price": { "type": "number" }, "status": { "type": "string" }, "updated_at": { "type": "string" } } }, "response.StudioList": { "type": "object", "properties": { "limit": { "type": "integer" }, "offset": { "type": "integer" }, "studios": { "type": "array", "items": { "$ref": "#/definitions/response.Studio" } }, "total": { "type": "integer" } } }, "response.User": { "type": "object", "properties": { "branch_id": { "type": "integer" }, "branch_name": { "type": "string" }, "created_at": { "type": "string" }, "email": { "type": "string" }, "id": { "type": "integer" }, "name": { "type": "string" }, "role_id": { "type": "integer" }, "role_name": { "type": "string" }, "status": { "type": "string" }, "updated_at": { "type": "string" } } }, "response.UserList": { "type": "object", "properties": { "limit": { "type": "integer" }, "offset": { "type": "integer" }, "total": { "type": "integer" }, "users": { "type": "array", "items": { "$ref": "#/definitions/response.User" } } } }, "studio.StudioStatus": { "type": "string", "enum": [ "Active", "Inactive" ], "x-enum-varnames": [ "Active", "Inactive" ] }, "transaction.PaymentMethod": { "type": "string", "enum": [ "CASH", "DEBIT", "TRANSFER", "QRIS" ], "x-enum-varnames": [ "Cash", "Debit", "Transfer", "QRIS" ] } } }` // SwaggerInfo holds exported Swagger Info so clients can modify it var SwaggerInfo = &swag.Spec{ Version: "", Host: "", BasePath: "", Schemes: []string{}, Title: "", Description: "", InfoInstanceName: "swagger", SwaggerTemplate: docTemplate, LeftDelim: "{{", RightDelim: "}}", } func init() { swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo) }