4863 lines
139 KiB
JSON
4863 lines
139 KiB
JSON
{
|
|
"schemes": ["http", "https"],
|
|
"swagger": "2.0",
|
|
"info": {
|
|
"description": "Beehive API for managing products, files, users and admin operations\n\n## Environments\n- **Local**: http://localhost:8090\n- **Stage**: https://apimznstg.aireview.ir\n\nChange the host in the swagger UI or API client to match your target environment.",
|
|
"title": "Beehive API",
|
|
"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": "1.0"
|
|
},
|
|
"host": "localhost:8090",
|
|
"basePath": "/",
|
|
"paths": {
|
|
"/api/v1/admin/admin-users": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieves all admin users with pagination support",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Get all admin users",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of items per page",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Page offset",
|
|
"name": "offset",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of admin users",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.AdminUserInfo"
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized - invalid or missing JWT token",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Creates a new admin user in the system with optional roles and permissions",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Create admin user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Admin user information including roles and permissions",
|
|
"name": "adminUser",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.CreateAdminUserRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Admin user created successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.AdminUserInfo"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized - invalid or missing JWT token",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/admin-users/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieves a specific admin user by their ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Get admin user by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Admin user ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Admin user found",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.AdminUserInfo"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized - invalid or missing JWT token",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Admin user not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Updates an admin user in the system with optional roles and permissions (overwrites existing)",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Update admin user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Admin user ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Updated admin user information including roles and permissions",
|
|
"name": "adminUser",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdateAdminUserRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Admin user updated successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.AdminUserInfo"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Admin user not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Deletes an admin user from the system",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Delete admin user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Admin user ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Admin user deleted successfully",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Admin user not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/admin-users/{id}/permissions": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieves all permissions assigned to an admin user",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Get admin user permissions",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Admin user ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of permissions",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Permission"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/admin-users/{id}/permissions/{permissionId}": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Assigns a permission to an admin user",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Assign permission to admin user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Admin user ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Permission ID",
|
|
"name": "permissionId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permission assigned successfully",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Removes a permission from an admin user",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Remove permission from admin user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Admin user ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Permission ID",
|
|
"name": "permissionId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permission removed successfully",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/admin-users/{id}/roles": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieves all roles assigned to an admin user",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Get admin user roles",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Admin user ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of roles",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Role"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/admin-users/{id}/roles/{roleId}": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Assigns a role to an admin user",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Assign role to admin user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Admin user ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "roleId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Role assigned successfully",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Removes a role from an admin user",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Remove role from admin user",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Admin user ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "roleId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Role removed successfully",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/auth/login": {
|
|
"post": {
|
|
"description": "Authenticates admin user with username and password, returns JWT tokens and user permissions",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin-auth"],
|
|
"summary": "Admin login",
|
|
"parameters": [
|
|
{
|
|
"description": "Admin login payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.AdminLoginRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Login successful with tokens and permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.AdminLoginResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/files": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Get a paginated list of files with optional filtering",
|
|
"produces": ["application/json"],
|
|
"tags": ["files"],
|
|
"summary": "List files",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of files to return (default: 10)",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of files to skip (default: 0)",
|
|
"name": "offset",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Filter by file type (image/video)",
|
|
"name": "type",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Search text in file names",
|
|
"name": "search",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Minimum file size in bytes",
|
|
"name": "min_size",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Maximum file size in bytes",
|
|
"name": "max_size",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetFilesResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Upload an image or video file with admin authentication",
|
|
"consumes": ["multipart/form-data"],
|
|
"produces": ["application/json"],
|
|
"tags": ["files"],
|
|
"summary": "Upload a new file",
|
|
"parameters": [
|
|
{
|
|
"type": "file",
|
|
"description": "File to upload",
|
|
"name": "file",
|
|
"in": "formData",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Display name for the file",
|
|
"name": "name",
|
|
"in": "formData"
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UploadFileResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/files/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Get file information by ID",
|
|
"produces": ["application/json"],
|
|
"tags": ["files"],
|
|
"summary": "Get file by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "File ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.FileInfo"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "File not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Update file information",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["files"],
|
|
"summary": "Update file",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "File ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Update file request",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdateFileRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdateFileResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "File not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"BearerAuth": []
|
|
}
|
|
],
|
|
"description": "Delete a file by ID",
|
|
"produces": ["application/json"],
|
|
"tags": ["files"],
|
|
"summary": "Delete file",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "File ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.DeleteFileResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "File not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/permissions": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieves all permissions from the system",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Get all permissions",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetAllPermissionsResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Creates a new permission in the system",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Create permission",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Permission information",
|
|
"name": "permission",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.CreatePermissionRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Permission created successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.CreatePermissionResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized - invalid or missing JWT token",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/permissions/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieves a specific permission by its ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Get permission by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Permission ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permission found",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetPermissionByIDResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Permission not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Updates an existing permission",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Update permission",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Permission ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Updated permission information",
|
|
"name": "permission",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdatePermissionRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permission updated successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdatePermissionResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Permission not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Deletes a permission from the system",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Delete permission",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Permission ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permission deleted successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.DeletePermissionResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/roles": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieves all roles from the system",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Get all roles",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of roles",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Role"
|
|
}
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized - invalid or missing JWT token",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Creates a new role in the system",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Create role",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Role information",
|
|
"name": "role",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.CreateRoleRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Role created successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.Role"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized - invalid or missing JWT token",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/roles/{id}": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieves a specific role by its ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Get role by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Role found",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.Role"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Role not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Updates an existing role",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Update role",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Updated role information",
|
|
"name": "role",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdateRoleRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Role updated successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.Role"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Role not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Deletes a role from the system",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Delete role",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Role deleted successfully",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/roles/{id}/permissions": {
|
|
"get": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Retrieves all permissions assigned to a role",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Get role permissions",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "List of permissions",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Permission"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Assigns multiple permissions to a role, overwriting all existing permissions",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Assign permissions to role (bulk)",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Permission IDs to assign",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.AssignPermissionsToRoleRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permissions assigned successfully",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.AssignPermissionsToRoleResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/admin/roles/{id}/permissions/{permissionId}": {
|
|
"post": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Assigns a permission to a role",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Assign permission to role",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Permission ID",
|
|
"name": "permissionId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permission assigned successfully",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"security": [
|
|
{
|
|
"AdminAuth": []
|
|
}
|
|
],
|
|
"description": "Removes a permission from a role",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["admin"],
|
|
"summary": "Remove permission from role",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Bearer \u003ctoken\u003e",
|
|
"name": "Authorization",
|
|
"in": "header",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Role ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Permission ID",
|
|
"name": "permissionId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "Permission removed successfully",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"403": {
|
|
"description": "Forbidden - insufficient permissions",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal server error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/auth/otp/send": {
|
|
"post": {
|
|
"description": "Sends an OTP code to the provided phone number for authentication",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["auth"],
|
|
"summary": "Send OTP for user login/register",
|
|
"parameters": [
|
|
{
|
|
"description": "Send OTP payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.SendOTPRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.SendOTPResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_user_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"429": {
|
|
"description": "Too Many Requests",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_user_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_user_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/files/{serveKey}": {
|
|
"get": {
|
|
"description": "Download a file by its serve key and stream the actual file content",
|
|
"produces": ["application/octet-stream"],
|
|
"tags": ["files"],
|
|
"summary": "Download file",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "File serve key",
|
|
"name": "serveKey",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "File content",
|
|
"schema": {
|
|
"type": "file"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "File not found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/images": {
|
|
"get": {
|
|
"description": "Retrieves a paginated list of all images",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["images"],
|
|
"summary": "Get all images",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of images to return (default: 10)",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of images to skip (default: 0)",
|
|
"name": "offset",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetAllImagesResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"description": "Creates a new image",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["images"],
|
|
"summary": "Create a new image",
|
|
"parameters": [
|
|
{
|
|
"description": "Image creation payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/http.CreateImageRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Image"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/product-options": {
|
|
"get": {
|
|
"description": "Retrieves a paginated list of all product options",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["product-options"],
|
|
"summary": "Get all product options",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of product options to return (default: 10)",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of product options to skip (default: 0)",
|
|
"name": "offset",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetAllProductOptionsResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/product-options/{id}": {
|
|
"get": {
|
|
"description": "Retrieves a specific product option by its ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["product-options"],
|
|
"summary": "Get product option by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Product Option ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetProductOptionByIDResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"description": "Deletes a product option by its ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["product-options"],
|
|
"summary": "Delete a product option",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Product Option ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.DeleteProductOptionResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products": {
|
|
"get": {
|
|
"description": "Retrieves a paginated list of all products",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["products"],
|
|
"summary": "Get all products",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of products to return (default: 10)",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of products to skip (default: 0)",
|
|
"name": "offset",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetAllProductsResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"description": "Creates a new product with the provided information",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["products"],
|
|
"summary": "Create a new product",
|
|
"parameters": [
|
|
{
|
|
"description": "Product creation payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/http.CreateProductRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.CreateProductResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/categories": {
|
|
"get": {
|
|
"description": "Retrieves all product categories",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["categories"],
|
|
"summary": "Get all product categories",
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetAllCategoriesResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"description": "Creates a new product category",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["categories"],
|
|
"summary": "Create a new product category",
|
|
"parameters": [
|
|
{
|
|
"description": "Category creation payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.CreateCategoryRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.CreateCategoryResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/categories/{categoryId}": {
|
|
"put": {
|
|
"description": "Updates an existing product category",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["categories"],
|
|
"summary": "Update product category",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Category ID",
|
|
"name": "categoryId",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Category update payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.UpdateCategoryRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdateCategoryResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"description": "Deletes a product category by its ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["categories"],
|
|
"summary": "Delete product category",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Category ID",
|
|
"name": "categoryId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.DeleteCategoryResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/category/{categoryId}": {
|
|
"get": {
|
|
"description": "Retrieves products filtered by category ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["products"],
|
|
"summary": "Get products by category",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Category ID",
|
|
"name": "categoryId",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of products to return (default: 10)",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of products to skip (default: 0)",
|
|
"name": "offset",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetProductsByCategoryResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/filter": {
|
|
"get": {
|
|
"description": "Retrieves products with optional filters for type, category, search, and weight range",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["products"],
|
|
"summary": "Get products with filters",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Product type filter",
|
|
"name": "type",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Category ID filter",
|
|
"name": "categoryId",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "string",
|
|
"description": "Text search in name and description",
|
|
"name": "search",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "number",
|
|
"description": "Minimum weight filter",
|
|
"name": "minWeight",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "number",
|
|
"description": "Maximum weight filter",
|
|
"name": "maxWeight",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of products to return (default: 10)",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of products to skip (default: 0)",
|
|
"name": "offset",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetProductsWithFiltersResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/images/{imageId}": {
|
|
"put": {
|
|
"description": "Updates an existing image",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["images"],
|
|
"summary": "Update image",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Image ID",
|
|
"name": "imageId",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Image update payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/http.UpdateImageRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Image"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"description": "Deletes an existing image",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["images"],
|
|
"summary": "Delete image",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Image ID",
|
|
"name": "imageId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "object",
|
|
"additionalProperties": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/product-options": {
|
|
"post": {
|
|
"description": "Creates a new product option with the provided details",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["product-options"],
|
|
"summary": "Create a new product option",
|
|
"parameters": [
|
|
{
|
|
"description": "Product option creation payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.CreateProductOptionRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.CreateProductOptionResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/product-options/{id}": {
|
|
"put": {
|
|
"description": "Updates an existing product option with the provided details",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["product-options"],
|
|
"summary": "Update product option",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Product Option ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Product option update payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.UpdateProductOptionRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdateProductOptionResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/variants/{variantId}": {
|
|
"put": {
|
|
"description": "Updates an existing product variant",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["variants"],
|
|
"summary": "Update product variant",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Variant ID",
|
|
"name": "variantId",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Variant update payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.UpdateProductVariantRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdateProductVariantResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"description": "Deletes a product variant by its ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["variants"],
|
|
"summary": "Delete product variant",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Variant ID",
|
|
"name": "variantId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.DeleteProductVariantResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/variants/{variantId}/assign-images": {
|
|
"post": {
|
|
"description": "Assigns an array of images to a specific product variant",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["images"],
|
|
"summary": "Assign images to variant",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Variant ID",
|
|
"name": "variantId",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Image assignment payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/http.AssignImagesToVariantRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/http.AssignImagesToVariantResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/{id}": {
|
|
"get": {
|
|
"description": "Retrieves a specific product by its ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["products"],
|
|
"summary": "Get product by ID",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Product ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetProductByIDResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"put": {
|
|
"description": "Updates an existing product with the provided information",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["products"],
|
|
"summary": "Update product",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Product ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Product update payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/http.UpdateProductRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.UpdateProductResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"delete": {
|
|
"description": "Deletes a product by its ID",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["products"],
|
|
"summary": "Delete product",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Product ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.DeleteProductResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/{id}/total-sold": {
|
|
"put": {
|
|
"description": "Sets the total sold count for a product for promotional purposes",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["products"],
|
|
"summary": "Set product total sold count",
|
|
"parameters": [
|
|
{
|
|
"type": "integer",
|
|
"description": "Product ID",
|
|
"name": "id",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Total sold update payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/http.SetTotalSoldRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/http.SetTotalSoldResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/{productID}/recommended": {
|
|
"get": {
|
|
"description": "Retrieves recommended products based on the categories of the specified product",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["products"],
|
|
"summary": "Get recommended products",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Product ID",
|
|
"name": "productID",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of recommended products to return (default: 10)",
|
|
"name": "limit",
|
|
"in": "query"
|
|
},
|
|
{
|
|
"type": "integer",
|
|
"description": "Number of recommended products to skip (default: 0)",
|
|
"name": "offset",
|
|
"in": "query"
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetRecommendedProductsResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/{productId}/all-images": {
|
|
"get": {
|
|
"description": "Retrieves all images for a specific product and its variants",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["images"],
|
|
"summary": "Get product and variants images",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Product ID",
|
|
"name": "productId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetProductAndVariantsImagesResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"404": {
|
|
"description": "Not Found",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/{productId}/assign-images": {
|
|
"post": {
|
|
"description": "Assigns an array of images to a specific product",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["images"],
|
|
"summary": "Assign images to product",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Product ID",
|
|
"name": "productId",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Image assignment payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/http.AssignImagesToProductRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/http.AssignImagesToProductResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/{productId}/images": {
|
|
"get": {
|
|
"description": "Retrieves all images for a specific product",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["images"],
|
|
"summary": "Get product images",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Product ID",
|
|
"name": "productId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Image"
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/products/{productId}/variants": {
|
|
"get": {
|
|
"description": "Retrieves all variants for a specific product",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["variants"],
|
|
"summary": "Get product variants",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Product ID",
|
|
"name": "productId",
|
|
"in": "path",
|
|
"required": true
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.GetProductVariantsByProductIDResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"post": {
|
|
"description": "Creates a new product variant for a specific product",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["variants"],
|
|
"summary": "Create a new product variant",
|
|
"parameters": [
|
|
{
|
|
"type": "string",
|
|
"description": "Product ID",
|
|
"name": "productId",
|
|
"in": "path",
|
|
"required": true
|
|
},
|
|
{
|
|
"description": "Variant creation payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.CreateProductVariantRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "Created",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.CreateProductVariantResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"/api/v1/users/login": {
|
|
"post": {
|
|
"description": "Authenticates user with OTP or creates new account",
|
|
"consumes": ["application/json"],
|
|
"produces": ["application/json"],
|
|
"tags": ["auth"],
|
|
"summary": "Login or register user",
|
|
"parameters": [
|
|
{
|
|
"description": "Login/Register payload",
|
|
"name": "request",
|
|
"in": "body",
|
|
"required": true,
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.LoginOrRegisterRequest"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "OK",
|
|
"schema": {
|
|
"$ref": "#/definitions/domain.LoginOrRegisterResponse"
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "Bad Request",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_user_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"401": {
|
|
"description": "Unauthorized",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_user_delivery_http.ErrorResponse"
|
|
}
|
|
},
|
|
"500": {
|
|
"description": "Internal Server Error",
|
|
"schema": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_user_delivery_http.ErrorResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"definitions": {
|
|
"domain.AdminLoginRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.AdminLoginResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"admin_user": {
|
|
"$ref": "#/definitions/domain.AdminUserInfo"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Permission"
|
|
}
|
|
},
|
|
"tokens": {
|
|
"$ref": "#/definitions/domain.TokenPair"
|
|
}
|
|
}
|
|
},
|
|
"domain.AdminUserInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Permission"
|
|
}
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Role"
|
|
}
|
|
},
|
|
"status": {
|
|
"$ref": "#/definitions/domain.Status"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.AssignPermissionsToRoleRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permission_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"role_id": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"domain.AssignPermissionsToRoleResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.CreateAdminUserRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.CreateCategoryResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"category": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductCategory"
|
|
}
|
|
}
|
|
},
|
|
"domain.CreatePermissionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.CreatePermissionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permission": {
|
|
"$ref": "#/definitions/domain.Permission"
|
|
}
|
|
}
|
|
},
|
|
"domain.CreateProductOptionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"product_option": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductOption"
|
|
}
|
|
}
|
|
},
|
|
"domain.CreateProductResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"product": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Product"
|
|
}
|
|
}
|
|
},
|
|
"domain.CreateProductVariantResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"variant": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductVariant"
|
|
}
|
|
}
|
|
},
|
|
"domain.CreateRoleRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.DeleteCategoryResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.DeleteFileResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.DeletePermissionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.DeleteProductOptionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.DeleteProductResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.DeleteProductVariantResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.FileInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"mime_type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"original_name": {
|
|
"type": "string"
|
|
},
|
|
"serve_key": {
|
|
"type": "string"
|
|
},
|
|
"size": {
|
|
"type": "integer"
|
|
},
|
|
"thumbnail_serve_key": {
|
|
"type": "string"
|
|
},
|
|
"thumbnail_url": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"$ref": "#/definitions/domain.FileType"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.FileType": {
|
|
"type": "string",
|
|
"enum": ["image", "video"],
|
|
"x-enum-varnames": ["FileTypeImage", "FileTypeVideo"]
|
|
},
|
|
"domain.GetAllCategoriesResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"categories": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductCategory"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"domain.GetAllImagesResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"images": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Image"
|
|
}
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"domain.GetAllPermissionsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Permission"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"domain.GetAllProductOptionsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"product_options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductOption"
|
|
}
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"domain.GetAllProductsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"products": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Product"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"domain.GetFilesResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"files": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.FileInfo"
|
|
}
|
|
},
|
|
"total": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"domain.GetPermissionByIDResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permission": {
|
|
"$ref": "#/definitions/domain.Permission"
|
|
}
|
|
}
|
|
},
|
|
"domain.GetProductAndVariantsImagesResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"images": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Image"
|
|
}
|
|
},
|
|
"product_id": {
|
|
"type": "integer"
|
|
},
|
|
"variants": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.ProductVariantWithImages"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"domain.GetProductByIDResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"product": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Product"
|
|
}
|
|
}
|
|
},
|
|
"domain.GetProductOptionByIDResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"product_option": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductOption"
|
|
}
|
|
}
|
|
},
|
|
"domain.GetProductVariantsByProductIDResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"variants": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductVariant"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"domain.GetProductsByCategoryResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"products": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Product"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"domain.GetProductsWithFiltersResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"products": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Product"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"domain.GetRecommendedProductsResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"recommended_products": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Product"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"domain.LoginOrRegisterRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"otp_code": {
|
|
"type": "string"
|
|
},
|
|
"phone_number": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.LoginOrRegisterResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tokens": {
|
|
"$ref": "#/definitions/domain.TokenPair"
|
|
},
|
|
"user_info": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_user_domain.UserInfo"
|
|
}
|
|
}
|
|
},
|
|
"domain.Maintenance": {
|
|
"type": "object",
|
|
"properties": {
|
|
"content": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"image": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.Option": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"meta_title": {
|
|
"type": "string"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.Permission": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.ProductVariantWithImages": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"color": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"fee_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"images": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Image"
|
|
}
|
|
},
|
|
"product_id": {
|
|
"type": "integer"
|
|
},
|
|
"profit_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"size": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"domain.Role": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Permission"
|
|
}
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.SendOTPRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"phone_number": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.SendOTPResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"remaining_time": {
|
|
"$ref": "#/definitions/time.Duration"
|
|
}
|
|
}
|
|
},
|
|
"domain.Status": {
|
|
"type": "string",
|
|
"enum": ["active", "deactive"],
|
|
"x-enum-varnames": ["StatusActive", "StatusDeactive"]
|
|
},
|
|
"domain.TokenPair": {
|
|
"type": "object",
|
|
"properties": {
|
|
"access_token": {
|
|
"type": "string"
|
|
},
|
|
"refresh_token": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdateAdminUserRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"roles": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"status": {
|
|
"type": "string"
|
|
},
|
|
"username": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdateCategoryResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"category": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductCategory"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdateFileRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdateFileResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"$ref": "#/definitions/domain.FileInfo"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdatePermissionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdatePermissionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"permission": {
|
|
"$ref": "#/definitions/domain.Permission"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdateProductOptionResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"product_option": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductOption"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdateProductResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"product": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Product"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdateProductVariantResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"variant": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductVariant"
|
|
}
|
|
}
|
|
},
|
|
"domain.UpdateRoleRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"permissions": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"domain.UploadFileResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"$ref": "#/definitions/domain.FileInfo"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_admin_delivery_http.ErrorResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_file_delivery_http.ErrorResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_delivery_http.ErrorResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.CreateCategoryRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.CreateProductOptionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"maintenance": {
|
|
"$ref": "#/definitions/domain.Maintenance"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Option"
|
|
}
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.CreateProductVariantRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"fee_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"product_id": {
|
|
"type": "integer"
|
|
},
|
|
"profit_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"size": {
|
|
"type": "string"
|
|
},
|
|
"stock_limit": {
|
|
"type": "integer"
|
|
},
|
|
"stock_managed": {
|
|
"type": "boolean"
|
|
},
|
|
"stock_number": {
|
|
"type": "integer"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.Image": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"file_type": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"thumbnail_url": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.Product": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"design_style": {
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"images": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Image"
|
|
}
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"product_categories": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductCategory"
|
|
}
|
|
},
|
|
"product_option": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductOption"
|
|
},
|
|
"product_option_id": {
|
|
"type": "integer"
|
|
},
|
|
"product_variants": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.ProductVariant"
|
|
}
|
|
},
|
|
"total_sold": {
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"type": "integer"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"weights": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.ProductCategory": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.ProductOption": {
|
|
"type": "object",
|
|
"properties": {
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"maintenance": {
|
|
"$ref": "#/definitions/domain.Maintenance"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Option"
|
|
}
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.ProductVariant": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"color": {
|
|
"type": "string"
|
|
},
|
|
"created_at": {
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"fee_amount": {
|
|
"type": "number"
|
|
},
|
|
"fee_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"images": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/gitlab_com_mazane_beehive_mazane_application_product_domain.Image"
|
|
}
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"price_amount": {
|
|
"description": "Pricing fields (calculated in response)",
|
|
"type": "number"
|
|
},
|
|
"product_id": {
|
|
"type": "integer"
|
|
},
|
|
"profit_amount": {
|
|
"type": "number"
|
|
},
|
|
"profit_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"size": {
|
|
"type": "string"
|
|
},
|
|
"stock_limit": {
|
|
"type": "integer"
|
|
},
|
|
"stock_managed": {
|
|
"type": "boolean"
|
|
},
|
|
"stock_number": {
|
|
"type": "integer"
|
|
},
|
|
"tax_amount": {
|
|
"type": "number"
|
|
},
|
|
"tax_percentage": {
|
|
"type": "number"
|
|
},
|
|
"updated_at": {
|
|
"type": "string"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.UpdateCategoryRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.UpdateProductOptionRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"maintenance": {
|
|
"$ref": "#/definitions/domain.Maintenance"
|
|
},
|
|
"options": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/domain.Option"
|
|
}
|
|
},
|
|
"title": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_product_domain.UpdateProductVariantRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"fee_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"profit_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"size": {
|
|
"type": "string"
|
|
},
|
|
"stock_limit": {
|
|
"type": "integer"
|
|
},
|
|
"stock_managed": {
|
|
"type": "boolean"
|
|
},
|
|
"stock_number": {
|
|
"type": "integer"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_user_delivery_http.ErrorResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"error": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"gitlab_com_mazane_beehive_mazane_application_user_domain.UserInfo": {
|
|
"type": "object",
|
|
"properties": {
|
|
"avatar": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"first_name": {
|
|
"type": "string"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"last_name": {
|
|
"type": "string"
|
|
},
|
|
"national_code": {
|
|
"type": "string"
|
|
},
|
|
"phone_number": {
|
|
"type": "string"
|
|
},
|
|
"verified": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"http.AssignImagesToProductRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"image_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"http.AssignImagesToProductResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"http.AssignImagesToVariantRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"image_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"http.AssignImagesToVariantResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"http.CreateImageRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file_type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"thumbnail_url": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"http.CreateProductRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"category_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"design_style": {
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"product_option_id": {
|
|
"type": "integer"
|
|
},
|
|
"total_sold": {
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"type": "integer"
|
|
},
|
|
"variants": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/http.CreateVariantRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"http.CreateVariantRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"fee_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"profit_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"stock_limit": {
|
|
"type": "integer"
|
|
},
|
|
"stock_managed": {
|
|
"type": "boolean"
|
|
},
|
|
"stock_number": {
|
|
"type": "integer"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"http.SetTotalSoldRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"total_sold": {
|
|
"type": "integer"
|
|
}
|
|
}
|
|
},
|
|
"http.SetTotalSoldResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"message": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"http.UpdateImageRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file_type": {
|
|
"type": "string"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"thumbnail_url": {
|
|
"type": "string"
|
|
},
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"http.UpdateProductRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"category_ids": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"description": {
|
|
"type": "string"
|
|
},
|
|
"design_style": {
|
|
"type": "string"
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"product_option_id": {
|
|
"type": "integer"
|
|
},
|
|
"total_sold": {
|
|
"type": "integer"
|
|
},
|
|
"type": {
|
|
"type": "integer"
|
|
},
|
|
"variants": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/definitions/http.UpdateVariantRequest"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"http.UpdateVariantRequest": {
|
|
"type": "object",
|
|
"properties": {
|
|
"attributes": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"fee_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"meta": {
|
|
"type": "object",
|
|
"additionalProperties": true
|
|
},
|
|
"profit_percentage": {
|
|
"type": "integer"
|
|
},
|
|
"stock_limit": {
|
|
"type": "integer"
|
|
},
|
|
"stock_managed": {
|
|
"type": "boolean"
|
|
},
|
|
"stock_number": {
|
|
"type": "integer"
|
|
},
|
|
"weight": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
},
|
|
"time.Duration": {
|
|
"type": "integer",
|
|
"enum": [
|
|
-9223372036854775808, 9223372036854775807, 1, 1000, 1000000, 1000000000,
|
|
60000000000, 3600000000000
|
|
],
|
|
"x-enum-varnames": [
|
|
"minDuration",
|
|
"maxDuration",
|
|
"Nanosecond",
|
|
"Microsecond",
|
|
"Millisecond",
|
|
"Second",
|
|
"Minute",
|
|
"Hour"
|
|
]
|
|
}
|
|
},
|
|
"securityDefinitions": {
|
|
"AdminAuth": {
|
|
"description": "Type \"Bearer\" followed by a space and JWT token for admin access.",
|
|
"type": "apiKey",
|
|
"name": "Authorization",
|
|
"in": "header"
|
|
},
|
|
"BearerAuth": {
|
|
"description": "Type \"Bearer\" followed by a space and JWT token.",
|
|
"type": "apiKey",
|
|
"name": "Authorization",
|
|
"in": "header"
|
|
}
|
|
}
|
|
}
|