[skip ci] Updated swagger docs

This commit is contained in:
Frederick [Bot] 2026-04-07 15:45:50 +00:00
parent bc0bb556ad
commit a0dd7a7270
3 changed files with 852 additions and 0 deletions

View File

@ -765,6 +765,198 @@ const docTemplate = `{
}
}
},
"/migration/csv/detect": {
"put": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Analyzes a CSV file and returns auto-detected columns, delimiter, quote character, and date format with suggested column mappings.",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"migration"
],
"summary": "Detect CSV structure",
"parameters": [
{
"type": "file",
"description": "The CSV file to analyze",
"name": "import",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "Detection results with suggested mappings",
"schema": {
"$ref": "#/definitions/csv.DetectionResult"
}
},
"400": {
"description": "Invalid CSV file",
"schema": {
"$ref": "#/definitions/models.Message"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/migration/csv/migrate": {
"put": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Imports tasks from a CSV file into Vikunja with the provided configuration.",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"migration"
],
"summary": "Import CSV file",
"parameters": [
{
"type": "file",
"description": "The CSV file to import",
"name": "import",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "The import configuration JSON",
"name": "config",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "A message telling you everything was migrated successfully.",
"schema": {
"$ref": "#/definitions/models.Message"
}
},
"400": {
"description": "Invalid CSV file or configuration",
"schema": {
"$ref": "#/definitions/models.Message"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/migration/csv/preview": {
"put": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Generates a preview of the first 5 tasks that would be imported with the given configuration.",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"migration"
],
"summary": "Preview CSV import",
"parameters": [
{
"type": "file",
"description": "The CSV file to preview",
"name": "import",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "The import configuration JSON",
"name": "config",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "Preview of tasks to import",
"schema": {
"$ref": "#/definitions/csv.PreviewResult"
}
},
"400": {
"description": "Invalid CSV file or configuration",
"schema": {
"$ref": "#/definitions/models.Message"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/migration/csv/status": {
"get": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Returns if the current user already did the CSV migration or not.",
"produces": [
"application/json"
],
"tags": [
"migration"
],
"summary": "Get CSV migration status",
"responses": {
"200": {
"description": "The migration status",
"schema": {
"$ref": "#/definitions/migration.Status"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/migration/microsoft-todo/auth": {
"get": {
"security": [
@ -8268,6 +8460,133 @@ const docTemplate = `{
}
}
},
"csv.ColumnMapping": {
"type": "object",
"properties": {
"attribute": {
"$ref": "#/definitions/csv.TaskAttribute"
},
"column_index": {
"type": "integer"
},
"column_name": {
"type": "string"
}
}
},
"csv.DetectionResult": {
"type": "object",
"properties": {
"columns": {
"type": "array",
"items": {
"type": "string"
}
},
"date_format": {
"type": "string"
},
"delimiter": {
"type": "string"
},
"preview_rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"quote_char": {
"type": "string"
},
"suggested_mapping": {
"type": "array",
"items": {
"$ref": "#/definitions/csv.ColumnMapping"
}
}
}
},
"csv.PreviewResult": {
"type": "object",
"properties": {
"tasks": {
"type": "array",
"items": {
"$ref": "#/definitions/csv.PreviewTask"
}
},
"total_rows": {
"type": "integer"
}
}
},
"csv.PreviewTask": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"done": {
"type": "boolean"
},
"due_date": {
"type": "string"
},
"end_date": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"priority": {
"type": "integer"
},
"project": {
"type": "string"
},
"start_date": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"csv.TaskAttribute": {
"type": "string",
"enum": [
"title",
"description",
"due_date",
"start_date",
"end_date",
"done",
"priority",
"labels",
"project",
"reminder",
"ignore"
],
"x-enum-varnames": [
"AttrTitle",
"AttrDescription",
"AttrDueDate",
"AttrStartDate",
"AttrEndDate",
"AttrDone",
"AttrPriority",
"AttrLabels",
"AttrProject",
"AttrReminder",
"AttrIgnore"
]
},
"files.File": {
"type": "object",
"properties": {

View File

@ -757,6 +757,198 @@
}
}
},
"/migration/csv/detect": {
"put": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Analyzes a CSV file and returns auto-detected columns, delimiter, quote character, and date format with suggested column mappings.",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"migration"
],
"summary": "Detect CSV structure",
"parameters": [
{
"type": "file",
"description": "The CSV file to analyze",
"name": "import",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "Detection results with suggested mappings",
"schema": {
"$ref": "#/definitions/csv.DetectionResult"
}
},
"400": {
"description": "Invalid CSV file",
"schema": {
"$ref": "#/definitions/models.Message"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/migration/csv/migrate": {
"put": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Imports tasks from a CSV file into Vikunja with the provided configuration.",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"migration"
],
"summary": "Import CSV file",
"parameters": [
{
"type": "file",
"description": "The CSV file to import",
"name": "import",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "The import configuration JSON",
"name": "config",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "A message telling you everything was migrated successfully.",
"schema": {
"$ref": "#/definitions/models.Message"
}
},
"400": {
"description": "Invalid CSV file or configuration",
"schema": {
"$ref": "#/definitions/models.Message"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/migration/csv/preview": {
"put": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Generates a preview of the first 5 tasks that would be imported with the given configuration.",
"consumes": [
"multipart/form-data"
],
"produces": [
"application/json"
],
"tags": [
"migration"
],
"summary": "Preview CSV import",
"parameters": [
{
"type": "file",
"description": "The CSV file to preview",
"name": "import",
"in": "formData",
"required": true
},
{
"type": "string",
"description": "The import configuration JSON",
"name": "config",
"in": "formData",
"required": true
}
],
"responses": {
"200": {
"description": "Preview of tasks to import",
"schema": {
"$ref": "#/definitions/csv.PreviewResult"
}
},
"400": {
"description": "Invalid CSV file or configuration",
"schema": {
"$ref": "#/definitions/models.Message"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/migration/csv/status": {
"get": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Returns if the current user already did the CSV migration or not.",
"produces": [
"application/json"
],
"tags": [
"migration"
],
"summary": "Get CSV migration status",
"responses": {
"200": {
"description": "The migration status",
"schema": {
"$ref": "#/definitions/migration.Status"
}
},
"500": {
"description": "Internal server error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/migration/microsoft-todo/auth": {
"get": {
"security": [
@ -8260,6 +8452,133 @@
}
}
},
"csv.ColumnMapping": {
"type": "object",
"properties": {
"attribute": {
"$ref": "#/definitions/csv.TaskAttribute"
},
"column_index": {
"type": "integer"
},
"column_name": {
"type": "string"
}
}
},
"csv.DetectionResult": {
"type": "object",
"properties": {
"columns": {
"type": "array",
"items": {
"type": "string"
}
},
"date_format": {
"type": "string"
},
"delimiter": {
"type": "string"
},
"preview_rows": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "string"
}
}
},
"quote_char": {
"type": "string"
},
"suggested_mapping": {
"type": "array",
"items": {
"$ref": "#/definitions/csv.ColumnMapping"
}
}
}
},
"csv.PreviewResult": {
"type": "object",
"properties": {
"tasks": {
"type": "array",
"items": {
"$ref": "#/definitions/csv.PreviewTask"
}
},
"total_rows": {
"type": "integer"
}
}
},
"csv.PreviewTask": {
"type": "object",
"properties": {
"description": {
"type": "string"
},
"done": {
"type": "boolean"
},
"due_date": {
"type": "string"
},
"end_date": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"type": "string"
}
},
"priority": {
"type": "integer"
},
"project": {
"type": "string"
},
"start_date": {
"type": "string"
},
"title": {
"type": "string"
}
}
},
"csv.TaskAttribute": {
"type": "string",
"enum": [
"title",
"description",
"due_date",
"start_date",
"end_date",
"done",
"priority",
"labels",
"project",
"reminder",
"ignore"
],
"x-enum-varnames": [
"AttrTitle",
"AttrDescription",
"AttrDueDate",
"AttrStartDate",
"AttrEndDate",
"AttrDone",
"AttrPriority",
"AttrLabels",
"AttrProject",
"AttrReminder",
"AttrIgnore"
]
},
"files.File": {
"type": "object",
"properties": {

View File

@ -41,6 +41,96 @@ definitions:
username_fallback:
type: boolean
type: object
csv.ColumnMapping:
properties:
attribute:
$ref: '#/definitions/csv.TaskAttribute'
column_index:
type: integer
column_name:
type: string
type: object
csv.DetectionResult:
properties:
columns:
items:
type: string
type: array
date_format:
type: string
delimiter:
type: string
preview_rows:
items:
items:
type: string
type: array
type: array
quote_char:
type: string
suggested_mapping:
items:
$ref: '#/definitions/csv.ColumnMapping'
type: array
type: object
csv.PreviewResult:
properties:
tasks:
items:
$ref: '#/definitions/csv.PreviewTask'
type: array
total_rows:
type: integer
type: object
csv.PreviewTask:
properties:
description:
type: string
done:
type: boolean
due_date:
type: string
end_date:
type: string
labels:
items:
type: string
type: array
priority:
type: integer
project:
type: string
start_date:
type: string
title:
type: string
type: object
csv.TaskAttribute:
enum:
- title
- description
- due_date
- start_date
- end_date
- done
- priority
- labels
- project
- reminder
- ignore
type: string
x-enum-varnames:
- AttrTitle
- AttrDescription
- AttrDueDate
- AttrStartDate
- AttrEndDate
- AttrDone
- AttrPriority
- AttrLabels
- AttrProject
- AttrReminder
- AttrIgnore
files.File:
properties:
created:
@ -2198,6 +2288,130 @@ paths:
summary: Login
tags:
- auth
/migration/csv/detect:
put:
consumes:
- multipart/form-data
description: Analyzes a CSV file and returns auto-detected columns, delimiter,
quote character, and date format with suggested column mappings.
parameters:
- description: The CSV file to analyze
in: formData
name: import
required: true
type: file
produces:
- application/json
responses:
"200":
description: Detection results with suggested mappings
schema:
$ref: '#/definitions/csv.DetectionResult'
"400":
description: Invalid CSV file
schema:
$ref: '#/definitions/models.Message'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.Message'
security:
- JWTKeyAuth: []
summary: Detect CSV structure
tags:
- migration
/migration/csv/migrate:
put:
consumes:
- multipart/form-data
description: Imports tasks from a CSV file into Vikunja with the provided configuration.
parameters:
- description: The CSV file to import
in: formData
name: import
required: true
type: file
- description: The import configuration JSON
in: formData
name: config
required: true
type: string
produces:
- application/json
responses:
"200":
description: A message telling you everything was migrated successfully.
schema:
$ref: '#/definitions/models.Message'
"400":
description: Invalid CSV file or configuration
schema:
$ref: '#/definitions/models.Message'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.Message'
security:
- JWTKeyAuth: []
summary: Import CSV file
tags:
- migration
/migration/csv/preview:
put:
consumes:
- multipart/form-data
description: Generates a preview of the first 5 tasks that would be imported
with the given configuration.
parameters:
- description: The CSV file to preview
in: formData
name: import
required: true
type: file
- description: The import configuration JSON
in: formData
name: config
required: true
type: string
produces:
- application/json
responses:
"200":
description: Preview of tasks to import
schema:
$ref: '#/definitions/csv.PreviewResult'
"400":
description: Invalid CSV file or configuration
schema:
$ref: '#/definitions/models.Message'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.Message'
security:
- JWTKeyAuth: []
summary: Preview CSV import
tags:
- migration
/migration/csv/status:
get:
description: Returns if the current user already did the CSV migration or not.
produces:
- application/json
responses:
"200":
description: The migration status
schema:
$ref: '#/definitions/migration.Status'
"500":
description: Internal server error
schema:
$ref: '#/definitions/models.Message'
security:
- JWTKeyAuth: []
summary: Get CSV migration status
tags:
- migration
/migration/microsoft-todo/auth:
get:
description: Returns the auth url where the user needs to get its auth code.