aides-repo-api/docs/swagger.json

212 lines
6.5 KiB
JSON
Raw Normal View History

{
2024-12-17 16:28:37 +00:00
"schemes": [
2024-12-26 13:42:54 +00:00
"http",
2024-12-17 16:28:37 +00:00
"https"
],
"swagger": "2.0",
"info": {
2024-12-17 16:28:37 +00:00
"description": "API For Aides repo",
"title": "Aides Repo API",
"contact": {},
"license": {
"name": "GPL-3.0",
"url": "https://www.gnu.org/licenses/gpl-3.0-standalone.html"
}
},
"paths": {
"/tasks": {
"post": {
2024-12-26 13:42:54 +00:00
"security": [
{
"ApiKeyAuth": []
}
],
"description": "Create a new task for a specific repository",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
2024-12-17 16:28:37 +00:00
"tasks"
],
"summary": "Create a new task",
"parameters": [
{
"description": "Request body to create a task",
"name": "body",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/taskcontroller.CreateTaskDTO"
}
}
],
"responses": {
"201": {
"description": "Created",
"schema": {
"$ref": "#/definitions/taskcontroller.CreateTaskResponse"
}
},
"400": {
"description": "Invalid JSON or missing required fields",
"schema": {
"$ref": "#/definitions/errors.ErrResponse"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/errors.ErrResponse"
}
}
}
}
2024-12-15 08:39:18 +00:00
},
"/tasks/{taskID}/upload": {
"post": {
2024-12-26 13:42:54 +00:00
"security": [
{
"ApiKeyAuth": []
}
],
2024-12-15 08:39:18 +00:00
"description": "Upload multiple files associated with a specific task ID. Each file must be less than 10MB.",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
2024-12-17 16:28:37 +00:00
"tasks"
2024-12-15 08:39:18 +00:00
],
"summary": "Upload files to a task",
"parameters": [
{
"type": "string",
"description": "Task ID",
"name": "taskID",
"in": "path",
"required": true
},
{
"type": "file",
"description": "Files to upload",
"name": "files",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "Successful file upload",
"schema": {
"$ref": "#/definitions/taskcontroller.TaskUploadResponse"
}
},
"400": {
"description": "Bad Request or File too large",
"schema": {
"$ref": "#/definitions/errors.ErrResponse"
}
},
"500": {
"description": "Internal Server Error",
"schema": {
"$ref": "#/definitions/errors.ErrResponse"
}
}
}
}
}
},
"definitions": {
"errors.ErrResponse": {
"type": "object",
"properties": {
"code": {
"description": "application-specific error code",
"type": "integer"
},
"error": {
"description": "application-level error message, for debugging",
"type": "string"
},
"status": {
"description": "user-level status message",
"type": "string"
}
}
},
"models.TaskStatus": {
"type": "integer",
"enum": [
0,
1,
2,
3,
4
],
"x-enum-comments": {
"StatusCancelled": "4",
"StatusCompleted": "2",
"StatusFailed": "3",
"StatusInProgress": "1",
"StatusPending": "0"
},
"x-enum-varnames": [
"StatusPending",
"StatusInProgress",
"StatusCompleted",
"StatusFailed",
"StatusCancelled"
]
},
"taskcontroller.CreateTaskDTO": {
"type": "object",
"properties": {
"repo": {
"type": "string"
}
}
},
"taskcontroller.CreateTaskResponse": {
"type": "object",
"properties": {
"status": {
"$ref": "#/definitions/models.TaskStatus"
},
"taskID": {
"type": "integer"
}
}
2024-12-15 08:39:18 +00:00
},
"taskcontroller.TaskUploadResponse": {
"type": "object",
"properties": {
"status": {
"type": "string"
},
"taskID": {
"type": "string"
}
}
}
2024-12-17 16:28:37 +00:00
},
2024-12-26 13:42:54 +00:00
"securityDefinitions": {
"ApiKeyAuth": {
"description": "Type \"Bearer\" followed by a space and token.",
"type": "apiKey",
"name": "Authorization",
"in": "header"
}
},
2024-12-17 16:28:37 +00:00
"tags": [
{
"description": "Work with tags",
"name": "tasks"
}
]
}