feat: Integrate L5-Swagger for API documentation and enhance VM synchronization to include host-level details.
This commit is contained in:
@@ -0,0 +1,985 @@
|
||||
{
|
||||
"openapi": "3.0.0",
|
||||
"info": {
|
||||
"title": "Portal API",
|
||||
"description": "API Documentation for Portal Application",
|
||||
"contact": {
|
||||
"email": "admin@portal.com"
|
||||
},
|
||||
"license": {
|
||||
"name": "MIT",
|
||||
"url": "https://opensource.org/licenses/MIT"
|
||||
},
|
||||
"version": "1.0.0"
|
||||
},
|
||||
"servers": [
|
||||
{
|
||||
"url": "/api/v1",
|
||||
"description": "API Server"
|
||||
}
|
||||
],
|
||||
"paths": {
|
||||
"/client/me": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Client Authentication"
|
||||
],
|
||||
"summary": "Get current client information",
|
||||
"description": "Returns the currently authenticated client's details",
|
||||
"operationId": "getClientMe",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful operation",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"customer": {
|
||||
"properties": {
|
||||
"fullname": {
|
||||
"type": "string",
|
||||
"example": "Nguyen Van A"
|
||||
},
|
||||
"email": {
|
||||
"type": "string",
|
||||
"example": "client@example.com"
|
||||
},
|
||||
"phone": {
|
||||
"type": "string",
|
||||
"example": "0987654321"
|
||||
},
|
||||
"address": {
|
||||
"type": "string",
|
||||
"example": "123 Street"
|
||||
},
|
||||
"city": {
|
||||
"type": "string",
|
||||
"example": "Hanoi"
|
||||
},
|
||||
"ward": {
|
||||
"type": "string",
|
||||
"example": "Ward 1"
|
||||
},
|
||||
"province": {
|
||||
"type": "string",
|
||||
"example": "Hanoi"
|
||||
},
|
||||
"gender": {
|
||||
"type": "string",
|
||||
"example": "Nam"
|
||||
},
|
||||
"date": {
|
||||
"type": "string",
|
||||
"format": "date-time",
|
||||
"example": "2024-01-01 12:00:00"
|
||||
},
|
||||
"company": {
|
||||
"type": "string",
|
||||
"example": "Company Ltd"
|
||||
},
|
||||
"avatar": {
|
||||
"type": "string",
|
||||
"example": "/uploads/avatar.jpg"
|
||||
},
|
||||
"cmnd_after": {
|
||||
"type": "string",
|
||||
"example": "cmnd_back.jpg"
|
||||
},
|
||||
"cmnd_before": {
|
||||
"type": "string",
|
||||
"example": "cmnd_front.jpg"
|
||||
},
|
||||
"cmnd": {
|
||||
"type": "string",
|
||||
"example": "123456789"
|
||||
},
|
||||
"fb_link": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
},
|
||||
"active_2fa": {
|
||||
"type": "integer",
|
||||
"example": 0
|
||||
},
|
||||
"off_mail_marketing": {
|
||||
"type": "integer",
|
||||
"example": 0
|
||||
},
|
||||
"is_recharge_zalo": {
|
||||
"type": "integer",
|
||||
"example": 0
|
||||
},
|
||||
"is_verify_telegram": {
|
||||
"type": "integer",
|
||||
"example": 0
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"credit": {
|
||||
"properties": {
|
||||
"credit": {
|
||||
"type": "number",
|
||||
"example": 1000000
|
||||
},
|
||||
"total": {
|
||||
"type": "number",
|
||||
"example": 5000000
|
||||
},
|
||||
"point": {
|
||||
"type": "number",
|
||||
"example": 100
|
||||
},
|
||||
"point_used": {
|
||||
"type": "integer",
|
||||
"example": 0
|
||||
},
|
||||
"point_total": {
|
||||
"type": "number",
|
||||
"example": 100
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"service": {
|
||||
"properties": {
|
||||
"vps": {
|
||||
"type": "integer",
|
||||
"example": 2
|
||||
},
|
||||
"proxy": {
|
||||
"type": "integer",
|
||||
"example": 0
|
||||
},
|
||||
"server": {
|
||||
"type": "integer",
|
||||
"example": 0
|
||||
},
|
||||
"hosting": {
|
||||
"type": "integer",
|
||||
"example": 1
|
||||
},
|
||||
"domain": {
|
||||
"type": "integer",
|
||||
"example": 3
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthenticated"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearerAuth": []
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/client/login": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Client Authentication"
|
||||
],
|
||||
"summary": "Client login",
|
||||
"description": "Authenticate a client and return access token",
|
||||
"operationId": "clientLogin",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"required": [
|
||||
"email",
|
||||
"password"
|
||||
],
|
||||
"properties": {
|
||||
"email": {
|
||||
"type": "string",
|
||||
"format": "email",
|
||||
"example": "client@example.com"
|
||||
},
|
||||
"password": {
|
||||
"type": "string",
|
||||
"format": "password",
|
||||
"example": "password123"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Login successful",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "boolean",
|
||||
"example": false
|
||||
},
|
||||
"data": {
|
||||
"properties": {
|
||||
"client": {
|
||||
"type": "object"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"example": "1|laravel_sanctum_token..."
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"422": {
|
||||
"description": "Validation error"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/client/register": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Client Authentication"
|
||||
],
|
||||
"summary": "Client registration",
|
||||
"description": "Register a new client account",
|
||||
"operationId": "clientRegister",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"required": [
|
||||
"fullname",
|
||||
"phone",
|
||||
"email",
|
||||
"password",
|
||||
"password_confirmation"
|
||||
],
|
||||
"properties": {
|
||||
"fullname": {
|
||||
"type": "string",
|
||||
"example": "Nguyen Van A"
|
||||
},
|
||||
"phone": {
|
||||
"type": "string",
|
||||
"example": "0987654321"
|
||||
},
|
||||
"email": {
|
||||
"type": "string",
|
||||
"format": "email",
|
||||
"example": "client@example.com"
|
||||
},
|
||||
"password": {
|
||||
"type": "string",
|
||||
"format": "password",
|
||||
"example": "password123"
|
||||
},
|
||||
"password_confirmation": {
|
||||
"type": "string",
|
||||
"format": "password",
|
||||
"example": "password123"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Registration successful",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "boolean",
|
||||
"example": false
|
||||
},
|
||||
"data": {
|
||||
"properties": {
|
||||
"client": {
|
||||
"type": "object"
|
||||
},
|
||||
"token": {
|
||||
"type": "string",
|
||||
"example": "1|laravel_sanctum_token..."
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"422": {
|
||||
"description": "Validation error"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/client/logout": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Client Authentication"
|
||||
],
|
||||
"summary": "Client logout",
|
||||
"description": "Logout the currently authenticated client",
|
||||
"operationId": "clientLogout",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Logout successful",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "boolean",
|
||||
"example": false
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"example": "Đã đăng xuất thành công."
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthenticated"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearerAuth": []
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/orders": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Orders"
|
||||
],
|
||||
"summary": "Get list of orders",
|
||||
"description": "Returns a list of orders for the authenticated customer",
|
||||
"operationId": "getOrdersList",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "total_price",
|
||||
"in": "query",
|
||||
"description": "Filter by total price",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "number"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "pending",
|
||||
"in": "query",
|
||||
"description": "Filter by pending status",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful operation",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"success": {
|
||||
"type": "boolean",
|
||||
"example": true
|
||||
},
|
||||
"data": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthenticated"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearerAuth": []
|
||||
}
|
||||
]
|
||||
},
|
||||
"post": {
|
||||
"tags": [
|
||||
"Orders"
|
||||
],
|
||||
"summary": "Create a new order",
|
||||
"description": "Create a new order for a product",
|
||||
"operationId": "storeOrder",
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"required": [
|
||||
"product_id",
|
||||
"billing_cycle"
|
||||
],
|
||||
"properties": {
|
||||
"product_id": {
|
||||
"description": "Product UUID",
|
||||
"type": "string",
|
||||
"example": "550e8400-e29b-41d4-a716-446655440000"
|
||||
},
|
||||
"billing_cycle": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"monthly",
|
||||
"quarterly",
|
||||
"semi_annually",
|
||||
"annually",
|
||||
"biennially"
|
||||
],
|
||||
"example": "monthly"
|
||||
},
|
||||
"server_name": {
|
||||
"type": "string",
|
||||
"example": "My VPS Server"
|
||||
},
|
||||
"os_id": {
|
||||
"description": "Operating System ID",
|
||||
"type": "integer",
|
||||
"example": 1
|
||||
},
|
||||
"addons": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"properties": {
|
||||
"addon_id": {
|
||||
"type": "integer",
|
||||
"example": 1
|
||||
},
|
||||
"qty": {
|
||||
"type": "integer",
|
||||
"example": 1
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"201": {
|
||||
"description": "Order created successfully",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"success": {
|
||||
"type": "boolean",
|
||||
"example": true
|
||||
},
|
||||
"data": {
|
||||
"type": "object"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"example": "Tạo đơn hàng thành công"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthenticated"
|
||||
},
|
||||
"422": {
|
||||
"description": "Validation error"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearerAuth": []
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/orders/{id}/pay": {
|
||||
"post": {
|
||||
"tags": [
|
||||
"Orders"
|
||||
],
|
||||
"summary": "Pay for an order",
|
||||
"description": "Process payment for a specific order",
|
||||
"operationId": "payOrder",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"in": "path",
|
||||
"description": "Order ID",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "integer"
|
||||
}
|
||||
}
|
||||
],
|
||||
"requestBody": {
|
||||
"required": true,
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"required": [
|
||||
"payment_method"
|
||||
],
|
||||
"properties": {
|
||||
"payment_method": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"credit",
|
||||
"vnpay",
|
||||
"momo",
|
||||
"bank_transfer"
|
||||
],
|
||||
"example": "credit"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Payment successful",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"success": {
|
||||
"type": "boolean",
|
||||
"example": true
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"example": "Thanh toán thành công"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"401": {
|
||||
"description": "Unauthenticated"
|
||||
},
|
||||
"403": {
|
||||
"description": "Forbidden - Not your order"
|
||||
},
|
||||
"404": {
|
||||
"description": "Order not found"
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearerAuth": []
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/services/get-list": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Services"
|
||||
],
|
||||
"summary": "Get list of services",
|
||||
"description": "Returns a paginated list of active services/products",
|
||||
"operationId": "getServiceList",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "limit",
|
||||
"in": "query",
|
||||
"description": "Number of items per page",
|
||||
"required": false,
|
||||
"schema": {
|
||||
"type": "integer",
|
||||
"default": 10
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful operation",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "boolean",
|
||||
"example": false
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"example": "Lấy dữ liệu thành công"
|
||||
},
|
||||
"page_type": {
|
||||
"type": "string",
|
||||
"example": "service"
|
||||
},
|
||||
"data": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"type": "string",
|
||||
"example": "550e8400-e29b-41d4-a716-446655440000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"example": "Cloud VPS Basic"
|
||||
},
|
||||
"slug": {
|
||||
"type": "string",
|
||||
"example": "cloud-vps-basic"
|
||||
},
|
||||
"short_description": {
|
||||
"type": "string",
|
||||
"example": "Basic VPS plan"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"thumbnail": {
|
||||
"type": "string",
|
||||
"example": "https://example.com/images/vps.jpg"
|
||||
},
|
||||
"product_type": {
|
||||
"type": "string",
|
||||
"example": "vps"
|
||||
},
|
||||
"specs": {
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"type": "integer",
|
||||
"example": 2
|
||||
},
|
||||
"ram": {
|
||||
"type": "integer",
|
||||
"example": 4
|
||||
},
|
||||
"disk": {
|
||||
"type": "integer",
|
||||
"example": 50
|
||||
},
|
||||
"bandwidth": {
|
||||
"type": "integer",
|
||||
"example": 1000
|
||||
},
|
||||
"gpu": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"stock": {
|
||||
"type": "integer",
|
||||
"example": 100
|
||||
},
|
||||
"price": {
|
||||
"type": "number",
|
||||
"example": 299000
|
||||
},
|
||||
"price_sale": {
|
||||
"type": "number",
|
||||
"example": 199000
|
||||
},
|
||||
"pricing": {
|
||||
"type": "object"
|
||||
},
|
||||
"pricing_sale": {
|
||||
"type": "object"
|
||||
},
|
||||
"group": {
|
||||
"type": "string",
|
||||
"example": "VPS"
|
||||
},
|
||||
"os": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"properties": {
|
||||
"group": {
|
||||
"type": "string",
|
||||
"example": "Ubuntu"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/services/{slug}": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Services"
|
||||
],
|
||||
"summary": "Get service details",
|
||||
"description": "Returns detailed information about a specific service/product",
|
||||
"operationId": "getServiceDetail",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "slug",
|
||||
"in": "path",
|
||||
"description": "Service slug",
|
||||
"required": true,
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful operation",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"error": {
|
||||
"type": "boolean",
|
||||
"example": false
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"example": "Lấy dữ liệu thành công"
|
||||
},
|
||||
"page_type": {
|
||||
"type": "string",
|
||||
"example": "service"
|
||||
},
|
||||
"data": {
|
||||
"properties": {
|
||||
"uuid": {
|
||||
"type": "string",
|
||||
"example": "550e8400-e29b-41d4-a716-446655440000"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"example": "Cloud VPS Basic"
|
||||
},
|
||||
"slug": {
|
||||
"type": "string",
|
||||
"example": "cloud-vps-basic"
|
||||
},
|
||||
"short_description": {
|
||||
"type": "string",
|
||||
"example": "Basic VPS plan"
|
||||
},
|
||||
"description": {
|
||||
"type": "string"
|
||||
},
|
||||
"thumbnail": {
|
||||
"type": "string",
|
||||
"example": "https://example.com/images/vps.jpg"
|
||||
},
|
||||
"product_type": {
|
||||
"type": "string",
|
||||
"example": "vps"
|
||||
},
|
||||
"specs": {
|
||||
"properties": {
|
||||
"cpu": {
|
||||
"type": "integer",
|
||||
"example": 2
|
||||
},
|
||||
"ram": {
|
||||
"type": "integer",
|
||||
"example": 4
|
||||
},
|
||||
"disk": {
|
||||
"type": "integer",
|
||||
"example": 50
|
||||
},
|
||||
"bandwidth": {
|
||||
"type": "integer",
|
||||
"example": 1000
|
||||
},
|
||||
"gpu": {
|
||||
"type": "string",
|
||||
"nullable": true
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"stock": {
|
||||
"type": "integer",
|
||||
"example": 100
|
||||
},
|
||||
"price": {
|
||||
"type": "number",
|
||||
"example": 299000
|
||||
},
|
||||
"price_sale": {
|
||||
"type": "number",
|
||||
"example": 199000
|
||||
},
|
||||
"group": {
|
||||
"type": "string",
|
||||
"example": "VPS"
|
||||
},
|
||||
"os": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"type": "string",
|
||||
"example": "Ubuntu"
|
||||
},
|
||||
"thumbnail": {
|
||||
"type": "string"
|
||||
},
|
||||
"versions": {
|
||||
"type": "array",
|
||||
"items": {
|
||||
"properties": {
|
||||
"version": {
|
||||
"type": "string",
|
||||
"example": "22.04"
|
||||
},
|
||||
"name": {
|
||||
"type": "string",
|
||||
"example": "Ubuntu 22.04 LTS"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"404": {
|
||||
"description": "Service not found"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"/setting": {
|
||||
"get": {
|
||||
"tags": [
|
||||
"Settings"
|
||||
],
|
||||
"summary": "Get application settings",
|
||||
"description": "Returns the application settings",
|
||||
"operationId": "getSetting",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "Successful operation",
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"properties": {
|
||||
"data": {
|
||||
"type": "object"
|
||||
},
|
||||
"message": {
|
||||
"type": "string",
|
||||
"example": "Get setting successfully"
|
||||
},
|
||||
"error": {
|
||||
"type": "boolean",
|
||||
"example": false
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"components": {
|
||||
"securitySchemes": {
|
||||
"bearerAuth": {
|
||||
"type": "http",
|
||||
"scheme": "bearer",
|
||||
"bearerFormat": "JWT",
|
||||
"description": "Enter your Bearer token in the format: Bearer {token}"
|
||||
}
|
||||
}
|
||||
},
|
||||
"tags": [
|
||||
{
|
||||
"name": "Client Authentication",
|
||||
"description": "API Endpoints for Client Authentication"
|
||||
},
|
||||
{
|
||||
"name": "Orders",
|
||||
"description": "API Endpoints for Order Management"
|
||||
},
|
||||
{
|
||||
"name": "Services",
|
||||
"description": "API Endpoints for Services/Products"
|
||||
},
|
||||
{
|
||||
"name": "Settings",
|
||||
"description": "API Endpoints for Application Settings"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user