Commit Graph

524 Commits

Author SHA1 Message Date
9559cbf1ec
Add more logging for test data api endpoint
Some checks failed
continuous-integration/drone/push Build is failing
2021-07-13 12:14:59 +02:00
7adbd21698
Fix setting task favorite status of related tasks
All checks were successful
continuous-integration/drone/push Build is passing
Not really reproducable locally, but a real issue.
2021-07-12 12:19:01 +02:00
e21a3904ff
Fix mapping task priorities from Vikunja to calDAV
All checks were successful
continuous-integration/drone/push Build is passing
Resolves #866
2021-07-11 15:03:50 +02:00
562ef9af36
Add searching for tasks by index
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-11 14:19:59 +02:00
d0c77ad1c1 Make sure list / task favorites are set per user, not per entity (#915)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#915
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-10 10:21:54 +00:00
358661e060
Change task title to TEXT instead of varchar(250) to allow for longer task titles
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-09 19:46:47 +02:00
32a07c4c61
Fix importing archived projects and done items from todoist
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-08 11:37:50 +02:00
5b825f1cc8
Make sure a bucket exists or use the default bucket when importing tasks
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-08 10:34:03 +02:00
50b49ffab6 Add support of Unix socket (#912)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: vikunja/api#912
Reviewed-by: konrad <konrad@kola-entertainments.de>
Co-authored-by: andreymal <andriyano-31@mail.ru>
Co-committed-by: andreymal <andriyano-31@mail.ru>
2021-07-08 08:13:01 +00:00
8b6aeb8571
Fix lint
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-07 20:53:26 +02:00
0c5dfe5c48
Better logging for errors while importing a bunch of tasks
Some checks failed
continuous-integration/drone/push Build is failing
2021-07-06 18:14:40 +02:00
d7932d2648
Don't fail when removing the last bucket in migration from other services
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-06 15:43:38 +02:00
37718c3282
Todoist migration: don't panic if no reminder was found for task
All checks were successful
continuous-integration/drone/push Build is passing
See #897
2021-06-24 23:02:28 +02:00
6018573d81 Update module github.com/coreos/go-oidc to v3 (#885)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#885
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-14 20:56:29 +00:00
6b70069eba Update module prometheus/client_golang to v1.11.0 (#879)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#879
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-11 13:08:28 +00:00
9147e6739f
Fix authentication callback
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-09 23:00:42 +02:00
570d146b21
Fix parsing openid config when using a json config file
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-09 21:56:17 +02:00
78a206c818
Add setting for first day of the week
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-03 18:11:44 +02:00
fc5703ac8c
Add truncate parameter to test fixtures setup
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-03 15:30:31 +02:00
3277f6acf7 Add default list setting (#875)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: Sytone <github@sytone.com>
Reviewed-on: vikunja/api#875
Reviewed-by: konrad <konrad@kola-entertainments.de>
Co-authored-by: sytone <kolaente@sytone.com>
Co-committed-by: sytone <kolaente@sytone.com>
2021-06-02 21:20:22 +00:00
8a1e98a7f2
Fix goimports
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-31 21:05:14 +02:00
9a2655dbf1
Fix saving pointer values to memory keyvalue
Some checks failed
continuous-integration/drone/push Build is failing
2021-05-31 20:54:15 +02:00
d48aa101cf
Refactor & fix storing struct-values in redis keyvalue
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-28 10:52:51 +02:00
df45675df3
Rearrange setting frontend url in config
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-28 08:46:31 +02:00
afd6bde74d
Make sure the configured frontend url always has a / at the end
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-28 08:39:27 +02:00
e23014dbe4
Fix swagger docs for create requests
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-26 21:56:31 +02:00
8e65ffb99b
Fix duplicating empty lists
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-26 12:01:50 +02:00
3f6d85497f
Fix error when searching for a namespace returned no results 2021-05-26 12:00:55 +02:00
88b9ea6a96
Fix error when searching for a namespace with subscribers
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-26 11:04:29 +02:00
3973ce985d
Try to get more information about the user when authenticating with openid
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-19 14:45:24 +02:00
2e52cc1802
Fix lint
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-17 12:15:15 +02:00
20ede346b4
Only filter out failing openid providers if multiple are configured and one of them failed
Some checks failed
continuous-integration/drone/push Build is failing
2021-05-16 13:28:15 +02:00
b76ad8efe2
Add more logging and better error messages for openid authentication + clarify docs
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-16 13:23:10 +02:00
86b7d224ab Expose tls parameter of Go MySQL driver to config file (#855)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: Jonas Gunz <himself@jonasgunz.de>
Reviewed-on: vikunja/api#855
Reviewed-by: konrad <konrad@kola-entertainments.de>
Co-authored-by: kompetenzbolzen <himself@jonasgunz.de>
Co-committed-by: kompetenzbolzen <himself@jonasgunz.de>
2021-05-08 14:54:55 +00:00
9dc72c5c98
Use golang's tzdata package to handle time zones
All checks were successful
continuous-integration/drone/push Build is passing
2021-05-07 12:18:21 +02:00
0f5f85e687
Fix tests
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-22 17:13:47 +02:00
4ceeb877b1
Fix checking list rights when accessing a bucket
Some checks failed
continuous-integration/drone/push Build is failing
2021-04-22 16:44:42 +02:00
6e263b6a91
Improve sending overdue task reminders by only sending one for all overdue tasks
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-18 15:32:02 +02:00
7ff7b0d743
Improve duration format of overdue tasks in reminders
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-18 14:25:50 +02:00
f429efc220
Add bucket limit validation
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-15 16:55:21 +02:00
6e5a9868f5
Fix moving repeating tasks to the done bucket
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-15 16:36:24 +02:00
b4d726f5a8 Add repeat monthly setting for tasks (#834)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#834
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-04-14 09:04:58 +00:00
d07b284ee3 Add reminders for overdue tasks (#832)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#832
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-04-11 15:08:43 +00:00
b3c604fd2f Add link share password authentication (#831)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: vikunja/api#831
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-04-11 13:17:50 +00:00
126f3acdc8
Enable searching users by full email or name
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-07 18:28:58 +02:00
8ddc00bd29
Fix getting user info from /user endpoint for link shares
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-07 15:02:57 +02:00
cb0df3ebbc
Show empty avatar when the user was not found
Some checks failed
continuous-integration/drone/push Build is failing
2021-04-07 14:56:44 +02:00
84291679cc Add names for link shares (#829)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#829
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-04-07 12:44:39 +00:00
0b8173c1c3
Fix not able to make saved filters favorite
Some checks failed
continuous-integration/drone/push Build is failing
2021-04-03 16:49:20 +02:00
73f2d4532d
Make sure all tables are properly pluralized
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-28 20:17:35 +02:00
6c3488b8aa
Fix event error handler retrying infinitely
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-28 17:55:19 +02:00
be3184d49f
Add test for moving a task to another list
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-24 22:47:03 +01:00
81d021e872 Improve loading labels performance (#824)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#824
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-03-24 21:46:20 +00:00
d1b87d2705 Add a "done" option to kanban buckets (#821)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#821
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-03-24 20:16:35 +00:00
7b29ac7128
Fix user uploaded avatars
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-23 22:32:23 +01:00
532855d850
Fix filter for task index
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-21 18:48:41 +01:00
ee436efba3
Add endpoint to remove a list background
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-21 17:49:14 +01:00
6fa95e6492
Fix getting lists for shared, favorite and saved lists namespace
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-18 21:39:38 +01:00
67167d4abb
Fix shared lists showing up twice
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-14 21:12:03 +01:00
466b2b676c Pagingation for tasks in kanban buckets (#805)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#805
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-03-10 10:59:10 +00:00
6de3d8b3a1
Explicitly check if there are Ids before trying to get items by a list of Ids
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-02 18:40:39 +01:00
3999580fe6
Add basic auth for metrics endpoint
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-28 11:29:53 +01:00
4880a0265b
Fix notifications table not being created on initial setup
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-22 21:20:13 +01:00
2178166ece Add crud endpoints for notifications (#801)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#801
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-02-21 14:50:34 +00:00
eb3a945678
Fix deleting task relations
Some checks reported errors
continuous-integration/drone/push Build encountered an error
While the request body of a DELETE request *can* have data in it, it is not really supported and pretty much undocumented. As such, it doesn't work in all clients and probably broke with recent updates.
This fixes this by moving all parts of the task relation used to identify it in the url.

More Info: https://stackoverflow.com/a/299696/10924593
2021-02-18 23:35:33 +01:00
d8623fe185
Cleanup listener names
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-17 20:50:04 +01:00
c873c1ec32
Send a notification to the user when they are added to the list
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-17 20:48:06 +01:00
0bd27ddeb7
Subscribe a user to a task when they are assigned to it
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-17 20:14:38 +01:00
aaeb89db4f
Refactor getting all namespaces
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-16 22:36:06 +01:00
911e5b22ee
Fix lint
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-14 23:11:39 +01:00
bef22f5756
Fix tests
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-14 23:03:44 +01:00
83f003355d
Fix sending notifications to users if the user object didn't have an email
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-14 22:44:01 +01:00
e7875ecb3b Subscriptions and notifications for namespaces, tasks and lists (#786)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#786
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-02-14 19:18:14 +00:00
015ca310e9 Add notifications package for easy sending of notifications (#779)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#779
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-02-07 21:05:09 +00:00
9fe46f9a61
Don't try to get users for tasks if no tasks were found when looking for reminders
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-07 14:46:47 +01:00
490ba2ea50
Fix due dates with times when migrating from todoist
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-04 21:06:01 +01:00
fb53322d40
Change the name of the newly created bucket from "New Bucket" to "Backlog"
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-04 20:48:07 +01:00
d600d8b5a6
Fix IncrBy and DecrBy in memory keyvalue implementation if there was no value set previously
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-03 21:59:45 +01:00
0ab9ce9ec4 Add events (#777)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#777
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-02-02 22:48:37 +00:00
c4a71016b8
Update copyright year
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-02 20:19:13 +01:00
657dcc5313
Fix lint
Some checks failed
continuous-integration/drone/push Build is failing
2021-01-31 13:51:23 +01:00
2d283b78c2
Fix the shared lists pseudo namespace containing owned lists
Some checks failed
continuous-integration/drone/push Build is failing
2021-01-31 13:09:14 +01:00
6bdc1fdb0d
Only send reminders for undone tasks
Some checks failed
continuous-integration/drone/push Build is failing
2021-01-31 12:54:15 +01:00
d69c799197
Fix resetting the bucket limit
Some checks failed
continuous-integration/drone/push Build is failing
2021-01-31 12:40:02 +01:00
2e88600c93
Change keyvalue.Get to return if a value exists or not instead of an error
Some checks failed
continuous-integration/drone/push Build is failing
2021-01-31 12:32:46 +01:00
2447f84e2b Fix /dav/principals/*/ throwing a server error when accessed with GET instead of PROPFIND (#769)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#769
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-01-16 14:37:35 +00:00
e16c5f72ca
Fix setting the user in created_by when uploading an attachment
Some checks failed
continuous-integration/drone/push Build is failing
2021-01-15 22:50:55 +01:00
20af034d78
Fix retrieving over openid providers if there are none
Some checks failed
continuous-integration/drone/push Build is failing
Fixes #767
2021-01-15 20:40:07 +01:00
adf1172c39 Add tests for sending task reminders (#757)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#757
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-01-09 13:59:54 +00:00
ac23536c36
Make sure a password reset token can be used only once
All checks were successful
continuous-integration/drone/push Build is passing
2020-12-30 21:51:45 +01:00
787044628f
Fix password reset without a reseet token 2020-12-30 21:43:14 +01:00
456af4d4a9
Fix go header lint
All checks were successful
continuous-integration/drone/push Build is passing
2020-12-29 02:04:20 +01:00
9baf6d39bd
Change license to AGPLv3
Some checks failed
continuous-integration/drone/push Build is failing
2020-12-23 16:41:52 +01:00
8d1a09b5a2 Use db sessions everywere (#750)
Some checks failed
continuous-integration/drone/push Build is failing
Fix lint

Fix lint

Fix loading tasks with search

Fix loading lists

Fix loading task

Fix loading lists and namespaces

Fix tests

Fix user commands

Fix upload

Fix migration handlers

Fix all manual root handlers

Fix session in avatar

Fix session in list duplication & routes

Use sessions in migration code

Make sure the openid stuff uses a session

Add alias for db type in db package

Use sessions for file

Use a session for everything in users

Use a session for everything in users

Make sure to use a session everywhere in models

Create new session from db

Add session handling for user list

Add session handling for unsplash

Add session handling for teams and related

Add session handling for tasks and related entities

Add session handling for task reminders

Add session handling for task relations

Add session handling for task comments

Add session handling for task collections

Add session handling for task attachments

Add session handling for task assignees

Add session handling for saved filters

Add session handling for namespace and related types

Add session handling for namespace and related types

Add session handling for list users

Add session handling for list tests

Add session handling to list teams and related entities

Add session handling for link shares and related entities

Add session handling for labels and related entities

Add session handling for kanban and related entities

Add session handling for bulk task and related entities

Add session handling for lists and related entities

Add session configuration for web handler

Update web handler

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#750
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-23 15:32:28 +00:00
fa68e89c04
Add task filters for kanban
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kolaente <k@knt.li>
2020-12-22 12:38:05 +01:00
2d4e2e452c Add task filter for lists and namespaces (#748)
All checks were successful
continuous-integration/drone/push Build is passing
Add more tests for getting namespaces

Fix namespaces not found

Fix namespaces not found

Make like the default

Update docs & fix docs

Enable searching namespaces by their ids

Enable searching lists by their ids

Enable searching labels by their ids

Enable searching by user ids

Update docs

Add namespace filter

Add task filter for lists

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#748
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-21 23:13:15 +00:00
03e4bf30c2 Add task filter for labels (#747)
All checks were successful
continuous-integration/drone/push Build is passing
Update docs

Add task filter for labels

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#747
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-20 12:41:36 +00:00
18325e964d Add task filter for assignees (#746)
All checks were successful
continuous-integration/drone/push Build is passing
Update docs

Add filter by assignee

Fix string values

Update docs

Update docs

Make "in" task filter actually work

Add "in" filter type

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#746
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-19 21:39:11 +00:00
92bcce3f7c Add task filter for reminders (#745)
All checks were successful
continuous-integration/drone/push Build is passing
Update swagger docs about reminders

Fix filter concat for reminders

Add task filter for reminders

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#745
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-19 15:14:20 +00:00
9508d0faee
Fix missing auto increments from b0d4902406 on mysql
All checks were successful
continuous-integration/drone/push Build is passing
Fixes #744
2020-12-19 15:04:30 +01:00
90817b6dae
Add "like" filter comparator
All checks were successful
continuous-integration/drone/push Build is passing
2020-12-19 13:56:55 +01:00
b2e4fde63a Add email reminders (#743)
All checks were successful
continuous-integration/drone/push Build is passing
Fix tests

Expose email reminder setting through jwt

Set reminders on by default

Fix lint

Make user email configurable

Expose email reminder setting through /info

Don't try to send any reminders if none were found

More spacing for buttons

Fix db time format

Enable reminders by default

Make emails look more like the frontend

Add config to disable it

Add sending emaisl

Add getting all task users and reminding them

Add getting the next reminder in a cron

Move task reminder to separate file

Add cron

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#743
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-18 23:21:17 +00:00
27c44d6d5e
Change avatar endpoint
Some checks failed
continuous-integration/drone/push Build is failing
2020-12-18 23:11:11 +01:00
b0d4902406 Make sure all int64 db fields are using bigint when actually storing the data (#741)
Some checks reported errors
continuous-integration/drone/push Build was killed
Fix lint

Fix migration query for postgres

Fix migration statements

Add migration to make all int(11) fields bigint by default

Make all int(11) fields bigint by default

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#741
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-18 16:51:22 +00:00
f15a8baee3 Update module ulule/limiter/v3 to v3.8.0 (#699)
All checks were successful
continuous-integration/drone/push Build is passing
fmt

Upgrade redis client to v8 everywhere

Update module ulule/limiter/v3 to v3.8.0

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#699
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-18 15:21:21 +00:00
0bd2632d29 Add login via email (#740)
All checks were successful
continuous-integration/drone/push Build is passing
Add login via email

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#740
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-18 13:54:49 +00:00
8d739b2cf9 Refactor adding more details to tasks (#739)
All checks were successful
continuous-integration/drone/push Build is passing
Refactor adding more details to tasks

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#739
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-18 13:54:36 +00:00
ccfa019870
Don't create a list identifier by default
All checks were successful
continuous-integration/drone/push Build is passing
2020-12-18 13:07:34 +01:00
969e467f48 Add colors for caldav (#738)
All checks were successful
continuous-integration/drone/push Build is passing
Add colors for caldav

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#738
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-18 12:04:27 +00:00
f5b5204776 Add Microsoft Todo migration (#737)
All checks were successful
continuous-integration/drone/push Build is passing
Add more logs

Fix lint

Generate docs

Add swagger docs

Add microsoft todo parsing logic

go mod tidy

Add basic test structure

Add more fields to tasks

rename microsoft todo package

Add getting microsoft todo data

Add structs and helper methods

Add microsoft todo config and routes

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#737
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-18 11:12:05 +00:00
9f3d898150 Add trello migration (#734)
All checks were successful
continuous-integration/drone/push Build is passing
Fix tests for background images

Generate docs

Fix lint

Do the swag

Add more logging

Remove the default bucket if it was empty

Add launch.json

Make importing backgrounds work

Add comment

Fix getting task attachments

Fix getting trello token

Add trello migration routes and status

Add support for converting checklists

Add test for attachments

Add the actual conversion

Add Trello conversion test

Add migration function stubs

Add basic trello migration structure

Add trello migration config

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#734
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-17 13:44:04 +00:00
00ed5884b4 Add support for migrating todoist boards (#732)
All checks were successful
continuous-integration/drone/push Build is passing
Add migrating buckets to converting todoist to vikunja structure

Add buckets migration

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#732
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-12-16 14:19:09 +00:00
e4de700a10
Simplify updating task reminders 2020-12-16 13:05:58 +01:00
08430f1951 Update golang.org/x/crypto commit hash to c8d3bf9 (#710)
All checks were successful
continuous-integration/drone/push Build is passing
Change terminal package

Update golang.org/x/crypto commit hash to c8d3bf9

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#710
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-02 21:33:03 +00:00
9334b29366 Add testing endpoint to reset db tables (#716)
All checks were successful
continuous-integration/drone/push Build is passing
Fix lint

Better error messages

Add docs

Add testing endpoint to reset db

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#716
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-11-28 23:08:30 +00:00
d2d610e0f5
Fix /info endpoint 500 error when no openid providers were configured
Some checks failed
continuous-integration/drone/push Build is failing
2020-11-26 21:26:31 +01:00
ae6144c042
Fix getting current user when updating avatar or user name
All checks were successful
continuous-integration/drone/push Build is passing
2020-11-21 22:02:49 +01:00
d1c65935e6
Add name field to users
All checks were successful
continuous-integration/drone/push Build is passing
2020-11-21 21:51:55 +01:00
2b5c9ae7a8 Authentication with OpenID Connect providers (#713)
All checks were successful
continuous-integration/drone/push Build is passing
Add config docs

Lint

Move provider-related stuff to separate file

Refactor getting auth providers

Fix tests

Fix user tests

Fix openid tests

Add swagger docs

Fix lint

Fix lint issues

Fix checking if the user already exists

Make sure to create a new namespace for new users

Docs

Add tests for openid

Remove unnessecary err check

Consistently return nil users if creating a new user failed

Move sending confirmation email to separate function

Better variable names

Move checks to separate functions

Refactor creating user into seperate file

Fix creating new local users

Test creating new users from different issuers

Generate a random username right away if no preferred username has been given

Add todo

Cache openid providers

Add getting int clientids

Fix migration

Move creating tokens to auth package

Add getting or creating a third party user

Add parsing claims

Add retreiving auth tokens

Add token callback from openid package

Add check for provider key

Add routes

Start adding openid auth handler

Add config for openid auth

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#713
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-11-21 16:38:58 +00:00
316ac0558b
Fix task updated timestamp not being updated in the response after updating a task
All checks were successful
continuous-integration/drone/push Build is passing
2020-10-25 12:59:28 +01:00
ffce9b51cc Fix completion status in DAV for OpenTasks and multiline descriptions (#697)
All checks were successful
continuous-integration/drone/push Build is passing
Add tests for multiline descriptions and completed state

Fix caldav descriptions

Fix caldav task complete status for OpenTasks

Co-authored-by: Martin Giger <martin@humanoids.be>
Reviewed-on: vikunja/api#697
Co-Authored-By: freaktechnik <martin@humanoids.be>
Co-Committed-By: freaktechnik <martin@humanoids.be>
2020-10-21 21:03:19 +00:00
707709deb1
Fix not possible to create tasks if metrics were enabled
Some checks failed
continuous-integration/drone/push Build is failing
2020-10-20 20:28:44 +02:00
214f2f008e Support absolute iCal timestamps in CalDAV requests (#691)
All checks were successful
continuous-integration/drone/push Build is passing
no need to export from there I think

parse absolute ical timestamps

Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-authored-by: Martin Giger <martin@humanoids.be>
Reviewed-on: vikunja/api#691
Co-Authored-By: freaktechnik <martin@humanoids.be>
Co-Committed-By: freaktechnik <martin@humanoids.be>
2020-10-19 09:11:15 +00:00
1555081939 fetch tasks for caldav lists (#641)
Some checks failed
continuous-integration/drone/push Build is failing
Fix shadowed error

Panic if a TaskCollection.ReadAll does not return []*models.Task

Fetch tasks for caldav lists

Co-authored-by: kolaente <k@knt.li>
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-authored-by: Martin Giger <martin@humanoids.be>
Reviewed-on: vikunja/api#641
Co-Authored-By: freaktechnik <martin@humanoids.be>
Co-Committed-By: freaktechnik <martin@humanoids.be>
2020-10-18 10:40:50 +00:00
7fe9e6d3f6 Update module swaggo/swag to v1.6.8 (#680)
All checks were successful
continuous-integration/drone/push Build is passing
Regenerate swagger docs with new swaggo

Update module swaggo/swag to v1.6.8

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#680
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-17 18:03:05 +00:00
38b5c7fb6c
Add checks if tasks exist in maps before trying to access them
Some checks failed
continuous-integration/drone/push Build is failing
Signed-off-by: kolaente <k@knt.li>
2020-10-12 19:33:17 +02:00
e26df26f78
Fix migrating items with large items from todoist
All checks were successful
continuous-integration/drone/push Build is passing
see #266
2020-10-12 08:08:52 +02:00
699d3d6060 Add Golangci Lint (#676)
All checks were successful
continuous-integration/drone/push Build is passing
Increase golangci timeout

Fix installing golangci-lint in ci

Remove mage targets replaced by golangci

Run golint in ci

Add goheader linter

Enable & fix more linters

Fix lint issues

Add mage target to automagically fix issues found by golangci

golangci-lint run --fix

Add golangci config

Add golangci mage target

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#676
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-10-11 20:10:03 +00:00
d56a611be7 Key-Value Storages (#674)
All checks were successful
continuous-integration/drone/push Build is passing
Fix lint

Add docs for keyvalue config options

Use keyvalue store to cache unsplash photo results

Cleanup

Use keyvalue store for upload avatar

Use keyvalue store for initials avatar

Fix initializing metrics

Use keyvalue for metrics

Add IncryBy and DecrBy methods to increase or decrease a value

Fix lint

Return custom error if a key does not exist

Init keyvalue storage

Follow the keyvalue storage setting for things like cache and other

Add docs

Add configuration of the storage backend

Add redis keyvalue storage implementation

Add doc comments

Add methods to use storage through the package itself

Add memory implementation for keyvalue store

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#674
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-10-10 16:53:59 +00:00
b3d09cd2d4
Fix loading list background information for uploaded backgrounds
Some checks reported errors
continuous-integration/drone/push Build was killed
Signed-off-by: kolaente <k@knt.li>
2020-09-28 20:53:17 +02:00
64d125afd9 Testing improvements (#666)
All checks were successful
continuous-integration/drone/push Build is passing
Change method names to avoid doubling db

Assert team test exists

Assert team member test exists

Assert task test exists

Assert task relation test exists

Assert task comment test exists

Better tests for team namespaces

Assert exists in namespace users tests

Assert exists in namespace tests

Assert exists in user list tests

Assert exists in list tests

Better team list tests

Assert label tests exist in db

Assert label task tests exist in db

Assert label task tests exist in db

Assert kanban tests exist in db

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#666
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-09-27 15:45:17 +00:00
1776eb56fe
Fix upload avatar not working
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kolaente <k@knt.li>
2020-09-27 12:50:52 +02:00
0fb2edf051 Saved filters (#655)
All checks were successful
continuous-integration/drone/push Build is passing
Fix updating saved filters

Fix filter not loadable because of missing param declaration

Add fancy special cases for postgres exists in db

Add special case for postgrs json

Add read one test

Add rights tests

Fix lint

Fixed getting a single saved filter from db

Add tests for the usual crud methods

Add test stubs and TODOs

Add test for converting saved filter ids to list ids and vice versa

Add test fixture for saved filters and fix existing tests

Fix exposed json variables of filters

Fix creating saved filters table for tests

Add getting saved filters as pseudo namespace

Cleanup

Refactor getting all namespaces to use a map for easier handling of pseudo namespaces

Add custom erros for saved filters

Swagger docs

Fix lint

Add routes for saved filters

Add alias for mage build

Add method to get a saved filter from the lists endpoint

Add getting tasks from a saved filter

Add create, update, delete, read one methods

Add rights methods for saved filters

Fix docs minLength

Add saved filters column

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#655
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-09-26 21:02:17 +00:00
6bdddd462a Favorite lists (#654)
All checks were successful
continuous-integration/drone/push Build is passing
Add tests

Remove the favorites pseudo namespace if there are no lists or tasks favorited

Regenerate swagger docs

Fix favorite lists not being updated because of nonexisting users (the favorite list does not have one)

Make the pseudo favorites list always favorited

Add favorited lists to the favorites pseudo namespace

Add favorite field to list

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#654
2020-09-06 14:20:16 +00:00
e5559137dd Favorite tasks (#653)
All checks were successful
continuous-integration/drone/push Build is passing
Fixed namespace tests

Add test for favorite tasks

Fix favorite tasks not being updated

Fix integration tests

Fix lint

Return a pseudo namespace and list for favorites

Make sure users can only see their favorites

Add condition show tasks from the favorites list

Regenerate swagger docs

Add favorite field to task

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#653
2020-09-05 20:16:02 +00:00
ecf09e17a8
Only check if a bucket limit is exceeded when moving a task between buckets
All checks were successful
continuous-integration/drone/push Build is passing
2020-09-04 22:01:33 +02:00
14d706c91e Kanban bucket limits (#652)
All checks were successful
continuous-integration/drone/push Build is passing
Fix integration tests

Generate swagger docs

Add test for moving a task between buckets

Add check for bucket limit when updating a task

Add fixture to ensure a bucket with a high limit will never exceed the limit

Refactor bucket limit check into seperate function

Add test for creating and fix

Fix unexported field

Add error in case a task was added to a bucket which has its limit already exceeded

Add migration to add new task field

Add limit field to buckets

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#652
2020-09-04 14:37:56 +00:00
e9b1786188
Regenerate swagger docs
Some checks reported errors
continuous-integration/drone/push Build was killed
2020-09-04 13:15:46 +02:00
e4dd314079
Add caldav enabled/disabled to /info endpoint
Some checks failed
continuous-integration/drone/push Build is failing
2020-09-04 09:58:42 +02:00
d359130bcf Switch to mage (#651)
Some checks failed
continuous-integration/drone/push Build is failing
Add comment about magefile compile

Switch make to mage commands in drone

Fix misspell

Update docs

Add general release command

Add reprepro command

Make sure the filename contains the proper version

Add deb package building

Add zip command

Preserve file permissions when copying files

Fix release:os-package

Make sure to not create checksums of directories

Cleanup

Only compress what upx is able to compress

Add check command

Add release:os-package command

Add copy command

Add comments

Add compress step

Move releasing binaries to a more general function and add ones of linux + darwin

Add release:windows command

Add release:dir command

Add namespaces for commands

Reorder

Add command to run all checks at once

Add goconst-check

Add gosec-check

Add static-check

Add gocyclo-check

Add ineffasign-check

Add misspell-check

Add command to check for swagger docs regeneration

Add comments

Add command to generate swagger docs

Reorder

Add check for installing golint before running it

Add fmt check command

Add fmt command

Use runAndStreamOutput everywhere

Add aliases and comments

Add todo

Reorder

Add test coverage command

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#651
2020-09-03 15:13:19 +00:00
fa718e2576
Fix token renew for link shares
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kolaente <k@knt.li>
2020-08-18 16:55:44 +02:00
c517a87b85
Don't add a subtask to the top level of tasks to not add it twice in the list
All checks were successful
continuous-integration/drone/push Build is passing
2020-08-17 22:30:24 +02:00
a58b932743
Work around tasks with attachments not being duplicated
Some checks failed
continuous-integration/drone/push Build is failing
2020-08-16 23:44:16 +02:00
301bebf8d3
Only try to download attachments from todoist when there is a url
All checks were successful
continuous-integration/drone/push Build is passing
Credit: freaktechnik
2020-08-16 23:26:19 +02:00
d192c36c39
Add better tests for namespaces
All checks were successful
continuous-integration/drone/push Build is passing
2020-08-15 22:16:36 +02:00
bdfb804bb2
Fix reading passwords on windows
All checks were successful
continuous-integration/drone/push Build is passing
2020-08-13 17:59:10 +02:00
16dbcfda7e Manage users via cli (#632)
Some checks failed
continuous-integration/drone/push Build is failing
Add users cli commands to docs

Fix checking for changing username or user email

Add user status change command

Make sure only one user exists with a particular email when updating

Add password reset

Add user id to help

Remove user delete (too many possible side effects, postponed until later)

Make sure to fail on any errors

Fail if changing the username would result in duplicate users

Add user update command

Add user create command

Add command stubs for all commands

Render users in a beautiful table

Started adding user list command

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#632
2020-08-13 15:34:02 +00:00
4a70c81b33
Make sure to require admin rights when modifying list/namespace users to be consistent with teams
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kolaente <k@knt.li>
2020-08-12 18:20:47 +02:00
bd8c1c3bb7 Return rights when reading a single item (#626)
All checks were successful
continuous-integration/drone/push Build is passing
Fix lint

Update docs

Fix loading all rights (list & namespace)

Add tests

Update web framework

Make tests run again

Update all calls to CanRead methods

Update task attachment & task comment & task rights to return the max right

Update team rights to return the max right

Update namespace rights to return the max right

Update list rights to return the max right

Update link share rights to return the max right

Update label rights to return the max right

Update web dependency

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#626
2020-08-10 12:11:43 +00:00
d718d247c8
Fix users with disabled totp but not enrolled being unable to login
All checks were successful
continuous-integration/drone/push Build is passing
2020-08-07 16:41:35 +02:00