Swagger docs
continuous-integration/drone/pr Build is passing Details

This commit is contained in:
kolaente 2020-09-07 16:41:18 +02:00
parent c0c1322c89
commit 5043f0e4dd
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
3 changed files with 883 additions and 33 deletions

View File

@ -172,6 +172,201 @@ var doc = `{
}
}
},
"/filters": {
"put": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Creates a new saved filter",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"filter"
],
"summary": "Creates a new saved filter",
"responses": {
"200": {
"description": "The Saved Filter",
"schema": {
"$ref": "#/definitions/models.SavedFilter"
}
},
"403": {
"description": "The user does not have access to that saved filter.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"500": {
"description": "Internal error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/filters/{id}": {
"get": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Returns a saved filter by its ID.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"filter"
],
"summary": "Gets one saved filter",
"parameters": [
{
"type": "integer",
"description": "Filter ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "The Saved Filter",
"schema": {
"$ref": "#/definitions/models.SavedFilter"
}
},
"403": {
"description": "The user does not have access to that saved filter.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"500": {
"description": "Internal error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
},
"post": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Updates a saved filter by its ID.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"filter"
],
"summary": "Updates a saved filter",
"parameters": [
{
"type": "integer",
"description": "Filter ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "The Saved Filter",
"schema": {
"$ref": "#/definitions/models.SavedFilter"
}
},
"403": {
"description": "The user does not have access to that saved filter.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"404": {
"description": "The saved filter does not exist.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"500": {
"description": "Internal error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
},
"delete": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Removes a saved filter by its ID.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"filter"
],
"summary": "Removes a saved filter",
"parameters": [
{
"type": "integer",
"description": "Filter ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "The Saved Filter",
"schema": {
"$ref": "#/definitions/models.SavedFilter"
}
},
"403": {
"description": "The user does not have access to that saved filter.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"404": {
"description": "The saved filter does not exist.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"500": {
"description": "Internal error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/info": {
"get": {
"description": "Returns the version, frontendurl, motd and various settings of Vikunja",
@ -6403,7 +6598,7 @@ var doc = `{
"description": "The task text. This is what you'll see in the list.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
},
"updated": {
"description": "A timestamp when this task was last updated. You cannot change this value.",
@ -6440,7 +6635,7 @@ var doc = `{
"description": "The title of the lable. You'll see this one on tasks associated with it.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
},
"updated": {
"description": "A timestamp when this label was last updated. You cannot change this value.",
@ -6561,7 +6756,7 @@ var doc = `{
"description": "The title of the list. You'll see this in the namespace overview.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
},
"updated": {
"description": "A timestamp when this list was last updated. You cannot change this value.",
@ -6652,7 +6847,7 @@ var doc = `{
"description": "The name of this namespace.",
"type": "string",
"maxLength": 250,
"minLength": 5
"minLength": 1
},
"updated": {
"description": "A timestamp when this namespace was last updated. You cannot change this value.",
@ -6726,7 +6921,7 @@ var doc = `{
"description": "The name of this namespace.",
"type": "string",
"maxLength": 250,
"minLength": 5
"minLength": 1
},
"updated": {
"description": "A timestamp when this namespace was last updated. You cannot change this value.",
@ -6743,6 +6938,43 @@ var doc = `{
}
}
},
"models.SavedFilter": {
"type": "object",
"properties": {
"created": {
"description": "A timestamp when this filter was created. You cannot change this value.",
"type": "string"
},
"description": {
"description": "The description of the filter",
"type": "string"
},
"filters": {
"description": "The actual filters this filter contains",
"type": "object",
"$ref": "#/definitions/models.TaskCollection"
},
"id": {
"description": "The unique numeric id of this saved filter",
"type": "integer"
},
"owner": {
"description": "The user who owns this filter",
"type": "object",
"$ref": "#/definitions/user.User"
},
"title": {
"description": "The title of the filter.",
"type": "string",
"maxLength": 250,
"minLength": 1
},
"updated": {
"description": "A timestamp when this filter was last updated. You cannot change this value.",
"type": "string"
}
}
},
"models.Task": {
"type": "object",
"properties": {
@ -6865,7 +7097,7 @@ var doc = `{
"description": "The task text. This is what you'll see in the list.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
},
"updated": {
"description": "A timestamp when this task was last updated. You cannot change this value.",
@ -6906,6 +7138,93 @@ var doc = `{
}
}
},
"models.TaskCollection": {
"type": "object",
"properties": {
"filterBy": {
"description": "The field name of the field to filter by",
"type": "array",
"items": {
"type": "string"
}
},
"filterByArr": {
"type": "array",
"items": {
"type": "string"
}
},
"filterComparator": {
"description": "The comparator for field and value",
"type": "array",
"items": {
"type": "string"
}
},
"filterComparatorArr": {
"type": "array",
"items": {
"type": "string"
}
},
"filterConcat": {
"description": "The way all filter conditions are concatenated together, can be either \"and\" or \"or\".,",
"type": "string"
},
"filterIncludeNulls": {
"description": "If set to true, the result will also include null values",
"type": "boolean"
},
"filterValue": {
"description": "The value of the field name to filter by",
"type": "array",
"items": {
"type": "string"
}
},
"filterValueArr": {
"type": "array",
"items": {
"type": "string"
}
},
"listID": {
"type": "integer"
},
"lists": {
"type": "array",
"items": {
"$ref": "#/definitions/models.List"
}
},
"orderBy": {
"description": "The query parameter to order the items by. This can be either asc or desc, with asc being the default.",
"type": "array",
"items": {
"type": "string"
}
},
"orderByArr": {
"type": "array",
"items": {
"type": "string"
}
},
"sortBy": {
"description": "The query parameter to sort by. This is for ex. done, priority, etc.",
"type": "array",
"items": {
"type": "string"
}
},
"sortByArr": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"models.TaskComment": {
"type": "object",
"properties": {
@ -6984,7 +7303,7 @@ var doc = `{
"description": "The name of this team.",
"type": "string",
"maxLength": 250,
"minLength": 5
"minLength": 1
},
"updated": {
"description": "A timestamp when this relation was last updated. You cannot change this value.",
@ -7095,7 +7414,7 @@ var doc = `{
"description": "The username of the user. Is always unique.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
}
}
},
@ -7130,7 +7449,7 @@ var doc = `{
"description": "The name of this team.",
"type": "string",
"maxLength": 250,
"minLength": 5
"minLength": 1
},
"right": {
"type": "integer"
@ -7168,7 +7487,7 @@ var doc = `{
"description": "The username of the user. Is always unique.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
}
}
},
@ -7315,7 +7634,7 @@ var doc = `{
"description": "The username of the user. Is always unique.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
}
}
},

View File

@ -155,6 +155,201 @@
}
}
},
"/filters": {
"put": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Creates a new saved filter",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"filter"
],
"summary": "Creates a new saved filter",
"responses": {
"200": {
"description": "The Saved Filter",
"schema": {
"$ref": "#/definitions/models.SavedFilter"
}
},
"403": {
"description": "The user does not have access to that saved filter.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"500": {
"description": "Internal error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/filters/{id}": {
"get": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Returns a saved filter by its ID.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"filter"
],
"summary": "Gets one saved filter",
"parameters": [
{
"type": "integer",
"description": "Filter ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "The Saved Filter",
"schema": {
"$ref": "#/definitions/models.SavedFilter"
}
},
"403": {
"description": "The user does not have access to that saved filter.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"500": {
"description": "Internal error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
},
"post": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Updates a saved filter by its ID.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"filter"
],
"summary": "Updates a saved filter",
"parameters": [
{
"type": "integer",
"description": "Filter ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "The Saved Filter",
"schema": {
"$ref": "#/definitions/models.SavedFilter"
}
},
"403": {
"description": "The user does not have access to that saved filter.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"404": {
"description": "The saved filter does not exist.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"500": {
"description": "Internal error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
},
"delete": {
"security": [
{
"JWTKeyAuth": []
}
],
"description": "Removes a saved filter by its ID.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"filter"
],
"summary": "Removes a saved filter",
"parameters": [
{
"type": "integer",
"description": "Filter ID",
"name": "id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "The Saved Filter",
"schema": {
"$ref": "#/definitions/models.SavedFilter"
}
},
"403": {
"description": "The user does not have access to that saved filter.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"404": {
"description": "The saved filter does not exist.",
"schema": {
"$ref": "#/definitions/web.HTTPError"
}
},
"500": {
"description": "Internal error",
"schema": {
"$ref": "#/definitions/models.Message"
}
}
}
}
},
"/info": {
"get": {
"description": "Returns the version, frontendurl, motd and various settings of Vikunja",
@ -6386,7 +6581,7 @@
"description": "The task text. This is what you'll see in the list.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
},
"updated": {
"description": "A timestamp when this task was last updated. You cannot change this value.",
@ -6423,7 +6618,7 @@
"description": "The title of the lable. You'll see this one on tasks associated with it.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
},
"updated": {
"description": "A timestamp when this label was last updated. You cannot change this value.",
@ -6544,7 +6739,7 @@
"description": "The title of the list. You'll see this in the namespace overview.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
},
"updated": {
"description": "A timestamp when this list was last updated. You cannot change this value.",
@ -6635,7 +6830,7 @@
"description": "The name of this namespace.",
"type": "string",
"maxLength": 250,
"minLength": 5
"minLength": 1
},
"updated": {
"description": "A timestamp when this namespace was last updated. You cannot change this value.",
@ -6709,7 +6904,7 @@
"description": "The name of this namespace.",
"type": "string",
"maxLength": 250,
"minLength": 5
"minLength": 1
},
"updated": {
"description": "A timestamp when this namespace was last updated. You cannot change this value.",
@ -6726,6 +6921,43 @@
}
}
},
"models.SavedFilter": {
"type": "object",
"properties": {
"created": {
"description": "A timestamp when this filter was created. You cannot change this value.",
"type": "string"
},
"description": {
"description": "The description of the filter",
"type": "string"
},
"filters": {
"description": "The actual filters this filter contains",
"type": "object",
"$ref": "#/definitions/models.TaskCollection"
},
"id": {
"description": "The unique numeric id of this saved filter",
"type": "integer"
},
"owner": {
"description": "The user who owns this filter",
"type": "object",
"$ref": "#/definitions/user.User"
},
"title": {
"description": "The title of the filter.",
"type": "string",
"maxLength": 250,
"minLength": 1
},
"updated": {
"description": "A timestamp when this filter was last updated. You cannot change this value.",
"type": "string"
}
}
},
"models.Task": {
"type": "object",
"properties": {
@ -6848,7 +7080,7 @@
"description": "The task text. This is what you'll see in the list.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
},
"updated": {
"description": "A timestamp when this task was last updated. You cannot change this value.",
@ -6889,6 +7121,93 @@
}
}
},
"models.TaskCollection": {
"type": "object",
"properties": {
"filterBy": {
"description": "The field name of the field to filter by",
"type": "array",
"items": {
"type": "string"
}
},
"filterByArr": {
"type": "array",
"items": {
"type": "string"
}
},
"filterComparator": {
"description": "The comparator for field and value",
"type": "array",
"items": {
"type": "string"
}
},
"filterComparatorArr": {
"type": "array",
"items": {
"type": "string"
}
},
"filterConcat": {
"description": "The way all filter conditions are concatenated together, can be either \"and\" or \"or\".,",
"type": "string"
},
"filterIncludeNulls": {
"description": "If set to true, the result will also include null values",
"type": "boolean"
},
"filterValue": {
"description": "The value of the field name to filter by",
"type": "array",
"items": {
"type": "string"
}
},
"filterValueArr": {
"type": "array",
"items": {
"type": "string"
}
},
"listID": {
"type": "integer"
},
"lists": {
"type": "array",
"items": {
"$ref": "#/definitions/models.List"
}
},
"orderBy": {
"description": "The query parameter to order the items by. This can be either asc or desc, with asc being the default.",
"type": "array",
"items": {
"type": "string"
}
},
"orderByArr": {
"type": "array",
"items": {
"type": "string"
}
},
"sortBy": {
"description": "The query parameter to sort by. This is for ex. done, priority, etc.",
"type": "array",
"items": {
"type": "string"
}
},
"sortByArr": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"models.TaskComment": {
"type": "object",
"properties": {
@ -6967,7 +7286,7 @@
"description": "The name of this team.",
"type": "string",
"maxLength": 250,
"minLength": 5
"minLength": 1
},
"updated": {
"description": "A timestamp when this relation was last updated. You cannot change this value.",
@ -7078,7 +7397,7 @@
"description": "The username of the user. Is always unique.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
}
}
},
@ -7113,7 +7432,7 @@
"description": "The name of this team.",
"type": "string",
"maxLength": 250,
"minLength": 5
"minLength": 1
},
"right": {
"type": "integer"
@ -7151,7 +7470,7 @@
"description": "The username of the user. Is always unique.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
}
}
},
@ -7298,7 +7617,7 @@
"description": "The username of the user. Is always unique.",
"type": "string",
"maxLength": 250,
"minLength": 3
"minLength": 1
}
}
},

View File

@ -182,7 +182,7 @@ definitions:
title:
description: The task text. This is what you'll see in the list.
maxLength: 250
minLength: 3
minLength: 1
type: string
updated:
description: A timestamp when this task was last updated. You cannot change this value.
@ -210,7 +210,7 @@ definitions:
title:
description: The title of the lable. You'll see this one on tasks associated with it.
maxLength: 250
minLength: 3
minLength: 1
type: string
updated:
description: A timestamp when this label was last updated. You cannot change this value.
@ -300,7 +300,7 @@ definitions:
title:
description: The title of the list. You'll see this in the namespace overview.
maxLength: 250
minLength: 3
minLength: 1
type: string
updated:
description: A timestamp when this list was last updated. You cannot change this value.
@ -367,7 +367,7 @@ definitions:
title:
description: The name of this namespace.
maxLength: 250
minLength: 5
minLength: 1
type: string
updated:
description: A timestamp when this namespace was last updated. You cannot change this value.
@ -422,7 +422,7 @@ definitions:
title:
description: The name of this namespace.
maxLength: 250
minLength: 5
minLength: 1
type: string
updated:
description: A timestamp when this namespace was last updated. You cannot change this value.
@ -434,6 +434,34 @@ definitions:
$ref: '#/definitions/models.Task'
type: array
type: object
models.SavedFilter:
properties:
created:
description: A timestamp when this filter was created. You cannot change this value.
type: string
description:
description: The description of the filter
type: string
filters:
$ref: '#/definitions/models.TaskCollection'
description: The actual filters this filter contains
type: object
id:
description: The unique numeric id of this saved filter
type: integer
owner:
$ref: '#/definitions/user.User'
description: The user who owns this filter
type: object
title:
description: The title of the filter.
maxLength: 250
minLength: 1
type: string
updated:
description: A timestamp when this filter was last updated. You cannot change this value.
type: string
type: object
models.Task:
properties:
assignees:
@ -531,7 +559,7 @@ definitions:
title:
description: The task text. This is what you'll see in the list.
maxLength: 250
minLength: 3
minLength: 1
type: string
updated:
description: A timestamp when this task was last updated. You cannot change this value.
@ -559,6 +587,66 @@ definitions:
task_id:
type: integer
type: object
models.TaskCollection:
properties:
filterBy:
description: The field name of the field to filter by
items:
type: string
type: array
filterByArr:
items:
type: string
type: array
filterComparator:
description: The comparator for field and value
items:
type: string
type: array
filterComparatorArr:
items:
type: string
type: array
filterConcat:
description: The way all filter conditions are concatenated together, can be either "and" or "or".,
type: string
filterIncludeNulls:
description: If set to true, the result will also include null values
type: boolean
filterValue:
description: The value of the field name to filter by
items:
type: string
type: array
filterValueArr:
items:
type: string
type: array
listID:
type: integer
lists:
items:
$ref: '#/definitions/models.List'
type: array
orderBy:
description: The query parameter to order the items by. This can be either asc or desc, with asc being the default.
items:
type: string
type: array
orderByArr:
items:
type: string
type: array
sortBy:
description: The query parameter to sort by. This is for ex. done, priority, etc.
items:
type: string
type: array
sortByArr:
items:
type: string
type: array
type: object
models.TaskComment:
properties:
author:
@ -615,7 +703,7 @@ definitions:
name:
description: The name of this team.
maxLength: 250
minLength: 5
minLength: 1
type: string
updated:
description: A timestamp when this relation was last updated. You cannot change this value.
@ -697,7 +785,7 @@ definitions:
username:
description: The username of the user. Is always unique.
maxLength: 250
minLength: 3
minLength: 1
type: string
type: object
models.TeamWithRight:
@ -723,7 +811,7 @@ definitions:
name:
description: The name of this team.
maxLength: 250
minLength: 5
minLength: 1
type: string
right:
type: integer
@ -751,7 +839,7 @@ definitions:
username:
description: The username of the user. Is always unique.
maxLength: 250
minLength: 3
minLength: 1
type: string
type: object
todoist.Migration:
@ -855,7 +943,7 @@ definitions:
username:
description: The username of the user. Is always unique.
maxLength: 250
minLength: 3
minLength: 1
type: string
type: object
v1.Token:
@ -1069,6 +1157,130 @@ paths:
summary: Search for a background from unsplash
tags:
- list
/filters:
put:
consumes:
- application/json
description: Creates a new saved filter
produces:
- application/json
responses:
"200":
description: The Saved Filter
schema:
$ref: '#/definitions/models.SavedFilter'
"403":
description: The user does not have access to that saved filter.
schema:
$ref: '#/definitions/web.HTTPError'
"500":
description: Internal error
schema:
$ref: '#/definitions/models.Message'
security:
- JWTKeyAuth: []
summary: Creates a new saved filter
tags:
- filter
/filters/{id}:
delete:
consumes:
- application/json
description: Removes a saved filter by its ID.
parameters:
- description: Filter ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: The Saved Filter
schema:
$ref: '#/definitions/models.SavedFilter'
"403":
description: The user does not have access to that saved filter.
schema:
$ref: '#/definitions/web.HTTPError'
"404":
description: The saved filter does not exist.
schema:
$ref: '#/definitions/web.HTTPError'
"500":
description: Internal error
schema:
$ref: '#/definitions/models.Message'
security:
- JWTKeyAuth: []
summary: Removes a saved filter
tags:
- filter
get:
consumes:
- application/json
description: Returns a saved filter by its ID.
parameters:
- description: Filter ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: The Saved Filter
schema:
$ref: '#/definitions/models.SavedFilter'
"403":
description: The user does not have access to that saved filter.
schema:
$ref: '#/definitions/web.HTTPError'
"500":
description: Internal error
schema:
$ref: '#/definitions/models.Message'
security:
- JWTKeyAuth: []
summary: Gets one saved filter
tags:
- filter
post:
consumes:
- application/json
description: Updates a saved filter by its ID.
parameters:
- description: Filter ID
in: path
name: id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: The Saved Filter
schema:
$ref: '#/definitions/models.SavedFilter'
"403":
description: The user does not have access to that saved filter.
schema:
$ref: '#/definitions/web.HTTPError'
"404":
description: The saved filter does not exist.
schema:
$ref: '#/definitions/web.HTTPError'
"500":
description: Internal error
schema:
$ref: '#/definitions/models.Message'
security:
- JWTKeyAuth: []
summary: Updates a saved filter
tags:
- filter
/info:
get:
description: Returns the version, frontendurl, motd and various settings of Vikunja