Fixed listID not being returned in tasks

This commit is contained in:
konrad 2019-04-23 21:53:37 +02:00
parent d4ff1eca80
commit ed671baf8f
Signed by untrusted user: konrad
GPG Key ID: F40E70337AB24C9B
5 changed files with 70 additions and 55 deletions

View File

@ -35,7 +35,7 @@ const (
// @Param startdate query int false "The start date parameter to filter by. Expects a unix timestamp. If no end date, but a start date is specified, the end date is set to the current time." // @Param startdate query int false "The start date parameter to filter by. Expects a unix timestamp. If no end date, but a start date is specified, the end date is set to the current time."
// @Param enddate query int false "The end date parameter to filter by. Expects a unix timestamp. If no start date, but an end date is specified, the start date is set to the current time." // @Param enddate query int false "The end date parameter to filter by. Expects a unix timestamp. If no start date, but an end date is specified, the start date is set to the current time."
// @Security JWTKeyAuth // @Security JWTKeyAuth
// @Success 200 {array} models.List "The tasks" // @Success 200 {array} models.ListTask "The tasks"
// @Failure 500 {object} models.Message "Internal error" // @Failure 500 {object} models.Message "Internal error"
// @Router /tasks/all [get] // @Router /tasks/all [get]
func (t *ListTask) ReadAll(search string, a web.Auth, page int) (interface{}, error) { func (t *ListTask) ReadAll(search string, a web.Auth, page int) (interface{}, error) {

View File

@ -37,7 +37,7 @@ type ListTask struct {
RemindersUnix []int64 `xorm:"JSON TEXT null" json:"reminderDates"` RemindersUnix []int64 `xorm:"JSON TEXT null" json:"reminderDates"`
CreatedByID int64 `xorm:"int(11) not null" json:"-"` // ID of the user who put that task on the list CreatedByID int64 `xorm:"int(11) not null" json:"-"` // ID of the user who put that task on the list
// The list this task belongs to. // The list this task belongs to.
ListID int64 `xorm:"int(11) INDEX not null" json:"-" param:"list"` ListID int64 `xorm:"int(11) INDEX not null" json:"listID" param:"list"`
// An amount in seconds this task repeats itself. If this is set, when marking the task as done, it will mark itself as "undone" and then increase all remindes and the due date by its amount. // An amount in seconds this task repeats itself. If this is set, when marking the task as done, it will mark itself as "undone" and then increase all remindes and the due date by its amount.
RepeatAfter int64 `xorm:"int(11) INDEX null" json:"repeatAfter"` RepeatAfter int64 `xorm:"int(11) INDEX null" json:"repeatAfter"`
// If the task is a subtask, this is the id of its parent. // If the task is a subtask, this is the id of its parent.

View File

@ -1,6 +1,6 @@
// GENERATED BY THE COMMAND ABOVE; DO NOT EDIT // GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
// This file was generated by swaggo/swag at // This file was generated by swaggo/swag at
// 2019-04-23 10:33:26.759897853 +0200 CEST m=+0.130092850 // 2019-04-23 21:52:48.031594648 +0200 CEST m=+0.428044779
package swagger package swagger
@ -14,7 +14,7 @@ import (
var doc = `{ var doc = `{
"swagger": "2.0", "swagger": "2.0",
"info": { "info": {
"description": "This is the documentation for the [Vikunja](http://vikunja.io) API. Vikunja is a cross-plattform Todo-application with a lot of features, such as sharing lists with users or teams. \u003c!-- ReDoc-Inject: \u003csecurity-definitions\u003e --\u003e\n# Authorization\n**JWT-Auth:** Main authorization method, used for most of the requests. Needs ` + "`" + `Authorization: Bearer \u003cjwt-token\u003e` + "`" + `-header to authenticate successfully.\n\n**BasicAuth:** Only used when requesting tasks via caldav.\n\u003c!-- ReDoc-Inject: \u003csecurity-definitions\u003e --\u003e", "description": "\u003c!-- ReDoc-Inject: \u003csecurity-definitions\u003e --\u003e",
"title": "Vikunja API", "title": "Vikunja API",
"contact": { "contact": {
"name": "General Vikunja contact", "name": "General Vikunja contact",
@ -37,7 +37,7 @@ var doc = `{
"JWTKeyAuth": [] "JWTKeyAuth": []
} }
], ],
"description": "Returns all labels which are either created by the user or associated with a task the user has at least read-access to.", "description": "Returns an array with all assignees for this task.",
"consumes": [ "consumes": [
"application/json" "application/json"
], ],
@ -45,9 +45,9 @@ var doc = `{
"application/json" "application/json"
], ],
"tags": [ "tags": [
"labels" "assignees"
], ],
"summary": "Get all labels a user has access to", "summary": "Get all assignees for a task",
"parameters": [ "parameters": [
{ {
"type": "integer", "type": "integer",
@ -57,18 +57,18 @@ var doc = `{
}, },
{ {
"type": "string", "type": "string",
"description": "Search labels by label text.", "description": "Search assignees by their username.",
"name": "s", "name": "s",
"in": "query" "in": "query"
} }
], ],
"responses": { "responses": {
"200": { "200": {
"description": "The labels", "description": "The assignees",
"schema": { "schema": {
"type": "array", "type": "array",
"items": { "items": {
"$ref": "#/definitions/models.Label" "$ref": "#/definitions/models.User"
} }
} }
}, },
@ -391,7 +391,7 @@ var doc = `{
"JWTKeyAuth": [] "JWTKeyAuth": []
} }
], ],
"description": "Returns a list by its ID.", "description": "Returns a team by its ID.",
"consumes": [ "consumes": [
"application/json" "application/json"
], ],
@ -399,13 +399,13 @@ var doc = `{
"application/json" "application/json"
], ],
"tags": [ "tags": [
"list" "team"
], ],
"summary": "Gets one list", "summary": "Gets one team",
"parameters": [ "parameters": [
{ {
"type": "integer", "type": "integer",
"description": "List ID", "description": "Team ID",
"name": "id", "name": "id",
"in": "path", "in": "path",
"required": true "required": true
@ -413,14 +413,14 @@ var doc = `{
], ],
"responses": { "responses": {
"200": { "200": {
"description": "The list", "description": "The team",
"schema": { "schema": {
"type": "object", "type": "object",
"$ref": "#/definitions/models.List" "$ref": "#/definitions/models.Team"
} }
}, },
"403": { "403": {
"description": "The user does not have access to the list", "description": "The user does not have access to the team",
"schema": { "schema": {
"type": "object", "type": "object",
"$ref": "#/definitions/code.vikunja.io.web.HTTPError" "$ref": "#/definitions/code.vikunja.io.web.HTTPError"
@ -2305,7 +2305,7 @@ var doc = `{
"schema": { "schema": {
"type": "array", "type": "array",
"items": { "items": {
"$ref": "#/definitions/models.List" "$ref": "#/definitions/models.ListTask"
} }
} }
}, },
@ -3707,6 +3707,10 @@ var doc = `{
"$ref": "#/definitions/models.Label" "$ref": "#/definitions/models.Label"
} }
}, },
"listID": {
"description": "The list this task belongs to.",
"type": "integer"
},
"parentTaskID": { "parentTaskID": {
"description": "If the task is a subtask, this is the id of its parent.", "description": "If the task is a subtask, this is the id of its parent.",
"type": "integer" "type": "integer"
@ -3915,6 +3919,10 @@ var doc = `{
"$ref": "#/definitions/models.Label" "$ref": "#/definitions/models.Label"
} }
}, },
"listID": {
"description": "The list this task belongs to.",
"type": "integer"
},
"parentTaskID": { "parentTaskID": {
"description": "If the task is a subtask, this is the id of its parent.", "description": "If the task is a subtask, this is the id of its parent.",
"type": "integer" "type": "integer"

View File

@ -1,7 +1,7 @@
{ {
"swagger": "2.0", "swagger": "2.0",
"info": { "info": {
"description": "This is the documentation for the [Vikunja](http://vikunja.io) API. Vikunja is a cross-plattform Todo-application with a lot of features, such as sharing lists with users or teams. \u003c!-- ReDoc-Inject: \u003csecurity-definitions\u003e --\u003e\n# Authorization\n**JWT-Auth:** Main authorization method, used for most of the requests. Needs ` + \"`\" + `Authorization: Bearer \u003cjwt-token\u003e` + \"`\" + `-header to authenticate successfully.\n\n**BasicAuth:** Only used when requesting tasks via caldav.\n\u003c!-- ReDoc-Inject: \u003csecurity-definitions\u003e --\u003e", "description": "\u003c!-- ReDoc-Inject: \u003csecurity-definitions\u003e --\u003e",
"title": "Vikunja API", "title": "Vikunja API",
"contact": { "contact": {
"name": "General Vikunja contact", "name": "General Vikunja contact",
@ -24,7 +24,7 @@
"JWTKeyAuth": [] "JWTKeyAuth": []
} }
], ],
"description": "Returns all labels which are either created by the user or associated with a task the user has at least read-access to.", "description": "Returns an array with all assignees for this task.",
"consumes": [ "consumes": [
"application/json" "application/json"
], ],
@ -32,9 +32,9 @@
"application/json" "application/json"
], ],
"tags": [ "tags": [
"labels" "assignees"
], ],
"summary": "Get all labels a user has access to", "summary": "Get all assignees for a task",
"parameters": [ "parameters": [
{ {
"type": "integer", "type": "integer",
@ -44,18 +44,18 @@
}, },
{ {
"type": "string", "type": "string",
"description": "Search labels by label text.", "description": "Search assignees by their username.",
"name": "s", "name": "s",
"in": "query" "in": "query"
} }
], ],
"responses": { "responses": {
"200": { "200": {
"description": "The labels", "description": "The assignees",
"schema": { "schema": {
"type": "array", "type": "array",
"items": { "items": {
"$ref": "#/definitions/models.Label" "$ref": "#/definitions/models.User"
} }
} }
}, },
@ -378,7 +378,7 @@
"JWTKeyAuth": [] "JWTKeyAuth": []
} }
], ],
"description": "Returns a list by its ID.", "description": "Returns a team by its ID.",
"consumes": [ "consumes": [
"application/json" "application/json"
], ],
@ -386,13 +386,13 @@
"application/json" "application/json"
], ],
"tags": [ "tags": [
"list" "team"
], ],
"summary": "Gets one list", "summary": "Gets one team",
"parameters": [ "parameters": [
{ {
"type": "integer", "type": "integer",
"description": "List ID", "description": "Team ID",
"name": "id", "name": "id",
"in": "path", "in": "path",
"required": true "required": true
@ -400,14 +400,14 @@
], ],
"responses": { "responses": {
"200": { "200": {
"description": "The list", "description": "The team",
"schema": { "schema": {
"type": "object", "type": "object",
"$ref": "#/definitions/models.List" "$ref": "#/definitions/models.Team"
} }
}, },
"403": { "403": {
"description": "The user does not have access to the list", "description": "The user does not have access to the team",
"schema": { "schema": {
"type": "object", "type": "object",
"$ref": "#/definitions/code.vikunja.io/web.HTTPError" "$ref": "#/definitions/code.vikunja.io/web.HTTPError"
@ -2292,7 +2292,7 @@
"schema": { "schema": {
"type": "array", "type": "array",
"items": { "items": {
"$ref": "#/definitions/models.List" "$ref": "#/definitions/models.ListTask"
} }
} }
}, },
@ -3693,6 +3693,10 @@
"$ref": "#/definitions/models.Label" "$ref": "#/definitions/models.Label"
} }
}, },
"listID": {
"description": "The list this task belongs to.",
"type": "integer"
},
"parentTaskID": { "parentTaskID": {
"description": "If the task is a subtask, this is the id of its parent.", "description": "If the task is a subtask, this is the id of its parent.",
"type": "integer" "type": "integer"
@ -3901,6 +3905,10 @@
"$ref": "#/definitions/models.Label" "$ref": "#/definitions/models.Label"
} }
}, },
"listID": {
"description": "The list this task belongs to.",
"type": "integer"
},
"parentTaskID": { "parentTaskID": {
"description": "If the task is a subtask, this is the id of its parent.", "description": "If the task is a subtask, this is the id of its parent.",
"type": "integer" "type": "integer"

View File

@ -65,6 +65,9 @@ definitions:
items: items:
$ref: '#/definitions/models.Label' $ref: '#/definitions/models.Label'
type: array type: array
listID:
description: The list this task belongs to.
type: integer
parentTaskID: parentTaskID:
description: If the task is a subtask, this is the id of its parent. description: If the task is a subtask, this is the id of its parent.
type: integer type: integer
@ -230,6 +233,9 @@ definitions:
items: items:
$ref: '#/definitions/models.Label' $ref: '#/definitions/models.Label'
type: array type: array
listID:
description: The list this task belongs to.
type: integer
parentTaskID: parentTaskID:
description: If the task is a subtask, this is the id of its parent. description: If the task is a subtask, this is the id of its parent.
type: integer type: integer
@ -631,13 +637,7 @@ info:
email: hello@vikunja.io email: hello@vikunja.io
name: General Vikunja contact name: General Vikunja contact
url: http://vikunja.io/en/contact/ url: http://vikunja.io/en/contact/
description: |- description: '<!-- ReDoc-Inject: <security-definitions> -->'
This is the documentation for the [Vikunja](http://vikunja.io) API. Vikunja is a cross-plattform Todo-application with a lot of features, such as sharing lists with users or teams. <!-- ReDoc-Inject: <security-definitions> -->
# Authorization
**JWT-Auth:** Main authorization method, used for most of the requests. Needs ` + "`" + `Authorization: Bearer <jwt-token>` + "`" + `-header to authenticate successfully.
**BasicAuth:** Only used when requesting tasks via caldav.
<!-- ReDoc-Inject: <security-definitions> -->
license: license:
name: GPLv3 name: GPLv3
url: http://code.vikunja.io/api/src/branch/master/LICENSE url: http://code.vikunja.io/api/src/branch/master/LICENSE
@ -648,15 +648,14 @@ paths:
get: get:
consumes: consumes:
- application/json - application/json
description: Returns all labels which are either created by the user or associated description: Returns an array with all assignees for this task.
with a task the user has at least read-access to.
parameters: parameters:
- description: The page number. Used for pagination. If not provided, the first - description: The page number. Used for pagination. If not provided, the first
page of results is returned. page of results is returned.
in: query in: query
name: p name: p
type: integer type: integer
- description: Search labels by label text. - description: Search assignees by their username.
in: query in: query
name: s name: s
type: string type: string
@ -664,10 +663,10 @@ paths:
- application/json - application/json
responses: responses:
"200": "200":
description: The labels description: The assignees
schema: schema:
items: items:
$ref: '#/definitions/models.Label' $ref: '#/definitions/models.User'
type: array type: array
"500": "500":
description: Internal error description: Internal error
@ -676,9 +675,9 @@ paths:
type: object type: object
security: security:
- JWTKeyAuth: [] - JWTKeyAuth: []
summary: Get all labels a user has access to summary: Get all assignees for a task
tags: tags:
- labels - assignees
put: put:
consumes: consumes:
- application/json - application/json
@ -922,9 +921,9 @@ paths:
get: get:
consumes: consumes:
- application/json - application/json
description: Returns a list by its ID. description: Returns a team by its ID.
parameters: parameters:
- description: List ID - description: Team ID
in: path in: path
name: id name: id
required: true required: true
@ -933,12 +932,12 @@ paths:
- application/json - application/json
responses: responses:
"200": "200":
description: The list description: The team
schema: schema:
$ref: '#/definitions/models.List' $ref: '#/definitions/models.Team'
type: object type: object
"403": "403":
description: The user does not have access to the list description: The user does not have access to the team
schema: schema:
$ref: '#/definitions/code.vikunja.io/web.HTTPError' $ref: '#/definitions/code.vikunja.io/web.HTTPError'
type: object type: object
@ -949,9 +948,9 @@ paths:
type: object type: object
security: security:
- JWTKeyAuth: [] - JWTKeyAuth: []
summary: Gets one list summary: Gets one team
tags: tags:
- list - team
post: post:
consumes: consumes:
- application/json - application/json
@ -2569,7 +2568,7 @@ paths:
description: The tasks description: The tasks
schema: schema:
items: items:
$ref: '#/definitions/models.List' $ref: '#/definitions/models.ListTask'
type: array type: array
"500": "500":
description: Internal error description: Internal error