Commit Graph

652 Commits

Author SHA1 Message Date
kolaente ac6818a476
fix: checking for error types
continuous-integration/drone/push Build is passing Details
2022-03-27 17:52:33 +02:00
kolaente 5cf263a86f
feat: upgrade golangci-lint to 1.45.2
continuous-integration/drone/push Build is failing Details
2022-03-27 16:55:37 +02:00
kolaente b60c69c5a8
chore: cleanup namespace creation
continuous-integration/drone/push Build is passing Details
2022-03-06 17:09:05 +01:00
kolaente 75f74b429e
fix: validate email address when creating a user via cli
continuous-integration/drone/push Build is passing Details
2022-03-04 19:58:40 +01:00
kolaente 8bf2254f4b
fix: restoring dumps with no config file saved in them
continuous-integration/drone/push Build is passing Details
2022-02-19 17:46:10 +01:00
kolaente 22e3f242a3
fix: disabling logging completely now works
continuous-integration/drone/push Build is failing Details
2022-02-19 17:42:32 +01:00
kolaente 8cb92b3924
fix(dump): don't try to save a config file if none was provided and dump vikunja env variables
continuous-integration/drone/push Build is passing Details
2022-02-19 11:32:30 +01:00
kolaente 44aaf0a4ec
fix: clarify which config file is used on startup 2022-02-19 11:32:30 +01:00
kolaente 43f1daf40c
fix: microsoft todo migration not importing all tasks
continuous-integration/drone/push Build is passing Details
Previously, we did not check if a list has more tasks than the ones returned. By default, the Microsoft Graph API only returns 10 tasks. If the user had more they would not get imported.
Now we check if there are more pages with tasks and pull them all in until we have everything.
2022-02-18 20:00:42 +01:00
konrad 1322cb16d7 feat: add long-lived api tokens (#1085)
continuous-integration/drone/push Build was killed Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1085
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2022-02-06 13:18:08 +00:00
shilch f7a06e4644 Enable a list to be moved across namespaces (#1096)
continuous-integration/drone/push Build is failing Details
Co-authored-by: Simon Hilchenbach <simon@hilchenba.ch>
Reviewed-on: vikunja/api#1096
Reviewed-by: konrad <k@knt.li>
Co-authored-by: shilch <simon@hilchenba.ch>
Co-committed-by: shilch <simon@hilchenba.ch>
2022-01-23 12:59:43 +00:00
konrad 61d49c3a56 feat: add time zone setting for reminders (#1092)
continuous-integration/drone/push Build is passing Details
Instead of naeveily checking for all reminders due in the next minute, we now check all reminders in all time zones in the next minutes. This essentially means checking for reminders due in the next 14 or past 12 hours. We then check for each user who would receive a reminder from that result if it is actually due in their time zone.

This should prevent issues where users would get the reminder in the time zone of their server, not in their own.

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1092
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2022-01-16 11:05:56 +00:00
kolaente a31086a7a9
fix: lint
continuous-integration/drone/push Build is passing Details
2021-12-12 16:03:58 +01:00
kolaente a98119f2d6
feat: save user language in the settings
continuous-integration/drone/push Build is failing Details
2021-12-12 15:39:47 +01:00
kolaente 8bb3f8d37c
fix: importing archived lists or namespaces
continuous-integration/drone/push Build is passing Details
2021-12-12 13:18:01 +01:00
kolaente 190a9f2a4c
fix: friendly name not getting synced on first login from openid
continuous-integration/drone/push Build is passing Details
Resolves #874
2021-12-12 12:35:13 +01:00
kolaente 5c88dfe88e
fix: user deletion schedule
continuous-integration/drone/push Build is passing Details
2021-12-12 12:29:05 +01:00
kolaente 70e005e7ce
fix: user not actually deleted
continuous-integration/drone/push Build is passing Details
2021-12-12 12:28:18 +01:00
kolaente f581885e65
fix: user deletion reminder emails counting up
continuous-integration/drone/push Build is failing Details
Resolves #1014
2021-12-12 12:24:42 +01:00
kolaente 72d3c54efd
fix: user deletion never happens
continuous-integration/drone/push Build is passing Details
Resolves #1024
2021-12-12 12:04:17 +01:00
konrad 73ee696fc3 feat: add marble avatar (#1060)
continuous-integration/drone/push Build is passing Details
This adds the marble avatar from [boring avatars](https://github.com/boringdesigners/boring-avatars) as an option for user avatars. Each user gets a different one (based on their id).

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1060
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-12-07 21:11:23 +00:00
kolaente fd0d462bf4
fix: importing tasks from todoist without a due time set
continuous-integration/drone/push Build is failing Details
Resolves #897
2021-11-23 22:29:57 +01:00
kolaente f8a0a7e953
fix: deleting users with no namespaces
continuous-integration/drone/push Build encountered an error Details
resolves #984
2021-11-22 22:34:20 +01:00
Joseph Kavanagh 36bf3d216a
feat: gravatar - Lowercase emails before MD5 hash (#10)
continuous-integration/drone/push Build is passing Details
2021-11-16 22:10:22 +01:00
kolaente 0b7762590f
fix: lint
continuous-integration/drone/push Build is passing Details
2021-11-16 20:37:37 +01:00
kolaente c3e0e6405a
fix: importing trello attachments
continuous-integration/drone/push Build is failing Details
Since jan 2021, trello requires authentication to access attachments. This commit passes the required auth headers to make downloading card attachments work.

resolves https://github.com/go-vikunja/api/issues/6
2021-11-14 21:47:51 +01:00
kolaente 57e5d10eee
fix: sorting for saved filters
continuous-integration/drone/push Build is passing Details
resolves #786
2021-11-14 21:03:55 +01:00
kolaente 88a2cede19
feat: use wallpaper topic for default unsplash background list
continuous-integration/drone/push Build is passing Details
2021-11-14 20:47:15 +01:00
kolaente 093d0c65ca
feat: enable rate limit for unauthenticated routes
continuous-integration/drone/push Build is passing Details
2021-11-14 20:42:33 +01:00
kolaente cf05de19b3
fix: updating a list might remove its background
continuous-integration/drone/push Build is passing Details
resolves #1039
2021-11-13 17:52:14 +01:00
kolaente 2683ef23d5
feat: expose if a user is a local user through the /user endpoint
continuous-integration/drone/push Build is passing Details
2021-10-31 13:57:19 +01:00
kolaente 516c812043
feat: expose if a user is a local user through its jwt token
continuous-integration/drone/push Build is passing Details
2021-10-31 12:37:31 +01:00
kolaente 9eca971c93
feat: don't require a password for data export from users authenticated with third-party auth 2021-10-31 12:37:08 +01:00
kolaente 8f55af07c9
feat: add more debug logging when deleting users
continuous-integration/drone/push Build is passing Details
related to #1021
2021-10-27 22:08:31 +02:00
jayden-c dcb52c00f1 feat: improve account deletion email grammar (#1006)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Jayden Chan <jaydencn7@gmail.com>
Reviewed-on: vikunja/api#1006
Reviewed-by: konrad <k@knt.li>
Co-authored-by: jayden-c <jaydencn7@gmail.com>
Co-committed-by: jayden-c <jaydencn7@gmail.com>
2021-10-16 21:53:33 +00:00
kolaente 50b65a517d
fix: correctly load and pass the user when deleting it
continuous-integration/drone/push Build is passing Details
Fixes #984
2021-10-16 17:00:48 +02:00
kolaente d7e47a28d4
fix: don't try to load the namespace of a list if it is a shared list
continuous-integration/drone/push Build is passing Details
2021-10-16 16:50:16 +02:00
kolaente c2b6119434
fix: make sure the full task is available in notifications
continuous-integration/drone/push Build is passing Details
2021-10-16 16:38:59 +02:00
stephen-hill 82a3330412 Added the ability to configure the JWT expiry date using a new server.jwtttl config parameter. (#999)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Stephen Hill <stephen@gatekiller.co.uk>
Reviewed-on: vikunja/api#999
Co-authored-by: stephen-hill <stephen@gatekiller.co.uk>
Co-committed-by: stephen-hill <stephen@gatekiller.co.uk>
2021-10-09 11:02:28 +00:00
ajgon fb9fa27488 healthcheck endpoint (#998)
continuous-integration/drone/push Build is passing Details
Co-authored-by: Igor Rzegocki <igor@rzegocki.pl>
Reviewed-on: vikunja/api#998
Reviewed-by: konrad <k@knt.li>
Co-authored-by: ajgon <vikunja-gitea@ajgon.ovh>
Co-committed-by: ajgon <vikunja-gitea@ajgon.ovh>
2021-10-03 18:37:02 +00:00
renovate 0ca1560bf1 fix(deps): update module github.com/swaggo/swag to v1.7.3 (#990)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#990
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-26 12:44:37 +00:00
kolaente 4de8ec56a6
fix: generate swagger docs
continuous-integration/drone/push Build is passing Details
2021-09-26 14:18:44 +02:00
kolaente ae8db176db
feat: expose if task comments are enabled or not in /info
continuous-integration/drone/push Build is failing Details
2021-09-26 13:37:57 +02:00
kolaente 465f6d90ab
Fix tasks not exported
continuous-integration/drone/push Build is passing Details
2021-09-08 18:40:54 +02:00
kolaente 03d818fd9f
Fix tmp export file created in the wrong path
continuous-integration/drone/push Build is passing Details
2021-09-08 17:44:23 +02:00
kolaente f019ae42bb
Fix exporting tasks from archived lists
continuous-integration/drone/push Build is passing Details
2021-09-08 17:40:33 +02:00
kolaente 9000f2c3cd
Fix lint
continuous-integration/drone/push Build is passing Details
2021-09-07 19:09:44 +02:00
kolaente cc1bb3083f
Don't try to export items which do not have a parent
continuous-integration/drone/push Build is failing Details
2021-09-06 22:14:38 +02:00
konrad 90146aea5b User Data Export and import (#967)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#967
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-09-04 19:26:31 +00:00
kolaente dcddaab7b5
Set todoist migration redirect url to the frontend url by default
continuous-integration/drone/push Build is passing Details
2021-08-14 18:27:29 +02:00
kolaente 483496cc26
Fix saving reminders of repeating tasks
continuous-integration/drone/push Build is passing Details
2021-08-13 21:36:16 +02:00
konrad 27119ad6d4 User account deletion (#937)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#937
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-08-11 19:08:10 +00:00
renovate c3da454854 Update module github.com/golang-jwt/jwt to v4 (#930)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#930
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-03 21:43:18 +00:00
renovate e38be9bd18 Update module github.com/labstack/echo/v4 to v4.5.0 (#929)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#929
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-02 18:33:53 +00:00
kolaente f237afd2ac
Fix panic on invalid smtp config
continuous-integration/drone/push Build is failing Details
2021-08-02 00:05:13 +02:00
konrad 4c5f457313 Ensure case insensitive search on postgres (#927)
continuous-integration/drone/push Build is passing Details
Reviewed-on: vikunja/api#927
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-08-01 21:40:25 +00:00
kolaente 9c2a59582a
Fix setting up keyvalue storage in tests
continuous-integration/drone/push Build is passing Details
2021-07-30 15:31:51 +02:00
kolaente d746c1bede
Notify the user after three failed login attempts
continuous-integration/drone/push Build is failing Details
2021-07-30 15:01:04 +02:00
kolaente 220f43331f
Reset failed totp attempts when logging in successfully
continuous-integration/drone/push Build is failing Details
2021-07-30 14:46:10 +02:00
kolaente 24f7d9b4f7
Only send an email about failed totp after three failed attempts
continuous-integration/drone/push Build is failing Details
2021-07-30 14:42:03 +02:00
kolaente 5cfc9bf2f9
Disable the user account after 10 failed password attempts
continuous-integration/drone/push Build is passing Details
2021-07-29 18:45:22 +02:00
kolaente 3572ac4b82
Send a notification on failed TOTP
continuous-integration/drone/push Build is passing Details
2021-07-29 18:05:25 +02:00
konrad 1571dfa825 Task mentions (#926)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#926
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-29 15:42:49 +00:00
kolaente e600f61e06
Fix moving the done bucket around
continuous-integration/drone/push Build is passing Details
2021-07-29 17:32:33 +02:00
konrad 6ccb85a0dc Reorder tasks, lists and kanban buckets (#923)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#923
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-28 19:06:40 +00:00
kolaente dac315db59
Fix jwt middleware
continuous-integration/drone/push Build is passing Details
2021-07-27 15:25:48 +02:00
kolaente eae3cbc7bb
Replace jwt-go with github.com/golang-jwt/jwt
continuous-integration/drone/push Build is passing Details
2021-07-27 10:46:28 +02:00
kolaente d9b38b85f6
Fix setting a saved filter as favorite
continuous-integration/drone/push Build is passing Details
2021-07-20 21:32:25 +02:00
kolaente c7f337f303
Fix tests & lint
continuous-integration/drone/push Build is passing Details
2021-07-20 11:00:20 +02:00
kolaente 733f26f017
Fix error handling when deleting an attachment file
continuous-integration/drone/push Build is failing Details
2021-07-20 10:14:49 +02:00
kolaente e4a0066e20
Make sure all associated entities of a task are deleted when the task is deleted
continuous-integration/drone/push Build is failing Details
2021-07-19 23:52:58 +02:00
kolaente d28390d792
Fix task relations not getting properly cleaned up when deleting them
continuous-integration/drone/push Build is failing Details
2021-07-19 23:40:18 +02:00
kolaente 0b90d826be
Don't notify the user who created the team
continuous-integration/drone/push Build is passing Details
2021-07-19 23:29:25 +02:00
kolaente 4cf7c459da
Allow running migration 20210711173657 multiple times to fix issues when it didn't completely run through previously
continuous-integration/drone/push Build is passing Details
2021-07-15 11:36:33 +02:00
kolaente 2a80e552cc
Save user tokens as varchar(450) and not text to fix mysql indexing issues
continuous-integration/drone/push Build is passing Details
2021-07-14 14:48:27 +02:00
kolaente 7e229a1b83
Save user tokens as text and not varchar
continuous-integration/drone/push Build is passing Details
2021-07-14 12:43:28 +02:00
konrad 4216ed7277 Refactor user email confirmation + password reset handling (#919)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#919
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-13 20:56:02 +00:00
kolaente d5d4d8b6ed
Fix lint
continuous-integration/drone/push Build is passing Details
2021-07-13 12:16:12 +02:00
kolaente 9559cbf1ec
Add more logging for test data api endpoint
continuous-integration/drone/push Build is failing Details
2021-07-13 12:14:59 +02:00
kolaente 7adbd21698
Fix setting task favorite status of related tasks
continuous-integration/drone/push Build is passing Details
Not really reproducable locally, but a real issue.
2021-07-12 12:19:01 +02:00
kolaente e21a3904ff
Fix mapping task priorities from Vikunja to calDAV
continuous-integration/drone/push Build is passing Details
Resolves #866
2021-07-11 15:03:50 +02:00
kolaente 562ef9af36
Add searching for tasks by index
continuous-integration/drone/push Build is passing Details
2021-07-11 14:19:59 +02:00
konrad d0c77ad1c1 Make sure list / task favorites are set per user, not per entity (#915)
continuous-integration/drone/push Build is passing Details
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
kolaente 358661e060
Change task title to TEXT instead of varchar(250) to allow for longer task titles
continuous-integration/drone/push Build is passing Details
2021-07-09 19:46:47 +02:00
kolaente 32a07c4c61
Fix importing archived projects and done items from todoist
continuous-integration/drone/push Build is passing Details
2021-07-08 11:37:50 +02:00
kolaente 5b825f1cc8
Make sure a bucket exists or use the default bucket when importing tasks
continuous-integration/drone/push Build is passing Details
2021-07-08 10:34:03 +02:00
andreymal 50b49ffab6 Add support of Unix socket (#912)
continuous-integration/drone/push Build is passing Details
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
kolaente 8b6aeb8571
Fix lint
continuous-integration/drone/push Build is passing Details
2021-07-07 20:53:26 +02:00
kolaente 0c5dfe5c48
Better logging for errors while importing a bunch of tasks
continuous-integration/drone/push Build is failing Details
2021-07-06 18:14:40 +02:00
kolaente d7932d2648
Don't fail when removing the last bucket in migration from other services
continuous-integration/drone/push Build is passing Details
2021-07-06 15:43:38 +02:00
kolaente 37718c3282
Todoist migration: don't panic if no reminder was found for task
continuous-integration/drone/push Build is passing Details
See #897
2021-06-24 23:02:28 +02:00
renovate 6018573d81 Update module github.com/coreos/go-oidc to v3 (#885)
continuous-integration/drone/push Build is failing Details
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
renovate 6b70069eba Update module prometheus/client_golang to v1.11.0 (#879)
continuous-integration/drone/push Build is passing Details
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
kolaente 9147e6739f
Fix authentication callback
continuous-integration/drone/push Build is passing Details
2021-06-09 23:00:42 +02:00
kolaente 570d146b21
Fix parsing openid config when using a json config file
continuous-integration/drone/push Build is passing Details
2021-06-09 21:56:17 +02:00
kolaente 78a206c818
Add setting for first day of the week
continuous-integration/drone/push Build is passing Details
2021-06-03 18:11:44 +02:00
kolaente fc5703ac8c
Add truncate parameter to test fixtures setup
continuous-integration/drone/push Build is passing Details
2021-06-03 15:30:31 +02:00
sytone 3277f6acf7 Add default list setting (#875)
continuous-integration/drone/push Build is passing Details
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
kolaente 8a1e98a7f2
Fix goimports
continuous-integration/drone/push Build is passing Details
2021-05-31 21:05:14 +02:00
kolaente 9a2655dbf1
Fix saving pointer values to memory keyvalue
continuous-integration/drone/push Build is failing Details
2021-05-31 20:54:15 +02:00
kolaente d48aa101cf
Refactor & fix storing struct-values in redis keyvalue
continuous-integration/drone/push Build is passing Details
2021-05-28 10:52:51 +02:00
kolaente df45675df3
Rearrange setting frontend url in config
continuous-integration/drone/push Build is passing Details
2021-05-28 08:46:31 +02:00
kolaente afd6bde74d
Make sure the configured frontend url always has a / at the end
continuous-integration/drone/push Build is passing Details
2021-05-28 08:39:27 +02:00
kolaente e23014dbe4
Fix swagger docs for create requests
continuous-integration/drone/push Build is passing Details
2021-05-26 21:56:31 +02:00
kolaente 8e65ffb99b
Fix duplicating empty lists
continuous-integration/drone/push Build is passing Details
2021-05-26 12:01:50 +02:00
kolaente 3f6d85497f
Fix error when searching for a namespace returned no results 2021-05-26 12:00:55 +02:00
kolaente 88b9ea6a96
Fix error when searching for a namespace with subscribers
continuous-integration/drone/push Build is passing Details
2021-05-26 11:04:29 +02:00
kolaente 3973ce985d
Try to get more information about the user when authenticating with openid
continuous-integration/drone/push Build is passing Details
2021-05-19 14:45:24 +02:00
kolaente 2e52cc1802
Fix lint
continuous-integration/drone/push Build is passing Details
2021-05-17 12:15:15 +02:00
kolaente 20ede346b4
Only filter out failing openid providers if multiple are configured and one of them failed
continuous-integration/drone/push Build is failing Details
2021-05-16 13:28:15 +02:00
kolaente b76ad8efe2
Add more logging and better error messages for openid authentication + clarify docs
continuous-integration/drone/push Build is passing Details
2021-05-16 13:23:10 +02:00
kompetenzbolzen 86b7d224ab Expose tls parameter of Go MySQL driver to config file (#855)
continuous-integration/drone/push Build is passing Details
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
kolaente 9dc72c5c98
Use golang's tzdata package to handle time zones
continuous-integration/drone/push Build is passing Details
2021-05-07 12:18:21 +02:00
kolaente 0f5f85e687
Fix tests
continuous-integration/drone/push Build is passing Details
2021-04-22 17:13:47 +02:00
kolaente 4ceeb877b1
Fix checking list rights when accessing a bucket
continuous-integration/drone/push Build is failing Details
2021-04-22 16:44:42 +02:00
kolaente 6e263b6a91
Improve sending overdue task reminders by only sending one for all overdue tasks
continuous-integration/drone/push Build is passing Details
2021-04-18 15:32:02 +02:00
kolaente 7ff7b0d743
Improve duration format of overdue tasks in reminders
continuous-integration/drone/push Build is passing Details
2021-04-18 14:25:50 +02:00
kolaente f429efc220
Add bucket limit validation
continuous-integration/drone/push Build is passing Details
2021-04-15 16:55:21 +02:00
kolaente 6e5a9868f5
Fix moving repeating tasks to the done bucket
continuous-integration/drone/push Build is passing Details
2021-04-15 16:36:24 +02:00
konrad b4d726f5a8 Add repeat monthly setting for tasks (#834)
continuous-integration/drone/push Build is passing Details
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
konrad d07b284ee3 Add reminders for overdue tasks (#832)
continuous-integration/drone/push Build is passing Details
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
konrad b3c604fd2f Add link share password authentication (#831)
continuous-integration/drone/push Build is passing Details
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
kolaente 126f3acdc8
Enable searching users by full email or name
continuous-integration/drone/push Build is passing Details
2021-04-07 18:28:58 +02:00
kolaente 8ddc00bd29
Fix getting user info from /user endpoint for link shares
continuous-integration/drone/push Build is passing Details
2021-04-07 15:02:57 +02:00
kolaente cb0df3ebbc
Show empty avatar when the user was not found
continuous-integration/drone/push Build is failing Details
2021-04-07 14:56:44 +02:00
konrad 84291679cc Add names for link shares (#829)
continuous-integration/drone/push Build is failing Details
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
kolaente 0b8173c1c3
Fix not able to make saved filters favorite
continuous-integration/drone/push Build is failing Details
2021-04-03 16:49:20 +02:00
kolaente 73f2d4532d
Make sure all tables are properly pluralized
continuous-integration/drone/push Build is passing Details
2021-03-28 20:17:35 +02:00
kolaente 6c3488b8aa
Fix event error handler retrying infinitely
continuous-integration/drone/push Build is passing Details
2021-03-28 17:55:19 +02:00
kolaente be3184d49f
Add test for moving a task to another list
continuous-integration/drone/push Build is passing Details
2021-03-24 22:47:03 +01:00
konrad 81d021e872 Improve loading labels performance (#824)
continuous-integration/drone/push Build is passing Details
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
konrad d1b87d2705 Add a "done" option to kanban buckets (#821)
continuous-integration/drone/push Build is passing Details
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
kolaente 7b29ac7128
Fix user uploaded avatars
continuous-integration/drone/push Build is passing Details
2021-03-23 22:32:23 +01:00
kolaente 532855d850
Fix filter for task index
continuous-integration/drone/push Build is passing Details
2021-03-21 18:48:41 +01:00
kolaente ee436efba3
Add endpoint to remove a list background
continuous-integration/drone/push Build is passing Details
2021-03-21 17:49:14 +01:00
kolaente 6fa95e6492
Fix getting lists for shared, favorite and saved lists namespace
continuous-integration/drone/push Build is passing Details
2021-03-18 21:39:38 +01:00
kolaente 67167d4abb
Fix shared lists showing up twice
continuous-integration/drone/push Build is passing Details
2021-03-14 21:12:03 +01:00
konrad 466b2b676c Pagingation for tasks in kanban buckets (#805)
continuous-integration/drone/push Build is passing Details
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
kolaente 6de3d8b3a1
Explicitly check if there are Ids before trying to get items by a list of Ids
continuous-integration/drone/push Build is passing Details
2021-03-02 18:40:39 +01:00
kolaente 3999580fe6
Add basic auth for metrics endpoint
continuous-integration/drone/push Build is passing Details
2021-02-28 11:29:53 +01:00
kolaente 4880a0265b
Fix notifications table not being created on initial setup
continuous-integration/drone/push Build is passing Details
2021-02-22 21:20:13 +01:00
konrad 2178166ece Add crud endpoints for notifications (#801)
continuous-integration/drone/push Build is passing Details
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
kolaente eb3a945678
Fix deleting task relations
continuous-integration/drone/push Build encountered an error Details
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
kolaente d8623fe185
Cleanup listener names
continuous-integration/drone/push Build is failing Details
2021-02-17 20:50:04 +01:00
kolaente c873c1ec32
Send a notification to the user when they are added to the list
continuous-integration/drone/push Build is failing Details
2021-02-17 20:48:06 +01:00
kolaente 0bd27ddeb7
Subscribe a user to a task when they are assigned to it
continuous-integration/drone/push Build is failing Details
2021-02-17 20:14:38 +01:00
kolaente aaeb89db4f
Refactor getting all namespaces
continuous-integration/drone/push Build is failing Details
2021-02-16 22:36:06 +01:00
kolaente 911e5b22ee
Fix lint
continuous-integration/drone/push Build is passing Details
2021-02-14 23:11:39 +01:00
kolaente bef22f5756
Fix tests
continuous-integration/drone/push Build is failing Details
2021-02-14 23:03:44 +01:00
kolaente 83f003355d
Fix sending notifications to users if the user object didn't have an email
continuous-integration/drone/push Build is failing Details
2021-02-14 22:44:01 +01:00
konrad e7875ecb3b Subscriptions and notifications for namespaces, tasks and lists (#786)
continuous-integration/drone/push Build is failing Details
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
konrad 015ca310e9 Add notifications package for easy sending of notifications (#779)
continuous-integration/drone/push Build is passing Details
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
kolaente 9fe46f9a61
Don't try to get users for tasks if no tasks were found when looking for reminders
continuous-integration/drone/push Build is passing Details
2021-02-07 14:46:47 +01:00
kolaente 490ba2ea50
Fix due dates with times when migrating from todoist
continuous-integration/drone/push Build is passing Details
2021-02-04 21:06:01 +01:00
kolaente fb53322d40
Change the name of the newly created bucket from "New Bucket" to "Backlog"
continuous-integration/drone/push Build is passing Details
2021-02-04 20:48:07 +01:00
kolaente d600d8b5a6
Fix IncrBy and DecrBy in memory keyvalue implementation if there was no value set previously
continuous-integration/drone/push Build is passing Details
2021-02-03 21:59:45 +01:00
konrad 0ab9ce9ec4 Add events (#777)
continuous-integration/drone/push Build is passing Details
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
kolaente c4a71016b8
Update copyright year
continuous-integration/drone/push Build is failing Details
2021-02-02 20:19:13 +01:00
kolaente 657dcc5313
Fix lint
continuous-integration/drone/push Build is failing Details
2021-01-31 13:51:23 +01:00
kolaente 2d283b78c2
Fix the shared lists pseudo namespace containing owned lists
continuous-integration/drone/push Build is failing Details
2021-01-31 13:09:14 +01:00
kolaente 6bdc1fdb0d
Only send reminders for undone tasks
continuous-integration/drone/push Build is failing Details
2021-01-31 12:54:15 +01:00
kolaente d69c799197
Fix resetting the bucket limit
continuous-integration/drone/push Build is failing Details
2021-01-31 12:40:02 +01:00
kolaente 2e88600c93
Change keyvalue.Get to return if a value exists or not instead of an error
continuous-integration/drone/push Build is failing Details
2021-01-31 12:32:46 +01:00
konrad 2447f84e2b Fix /dav/principals/*/ throwing a server error when accessed with GET instead of PROPFIND (#769)
continuous-integration/drone/push Build is passing Details
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
kolaente e16c5f72ca
Fix setting the user in created_by when uploading an attachment
continuous-integration/drone/push Build is failing Details
2021-01-15 22:50:55 +01:00
kolaente 20af034d78
Fix retrieving over openid providers if there are none
continuous-integration/drone/push Build is failing Details
Fixes #767
2021-01-15 20:40:07 +01:00
konrad adf1172c39 Add tests for sending task reminders (#757)
continuous-integration/drone/push Build is passing Details
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
kolaente ac23536c36
Make sure a password reset token can be used only once
continuous-integration/drone/push Build is passing Details
2020-12-30 21:51:45 +01:00
kolaente 787044628f
Fix password reset without a reseet token 2020-12-30 21:43:14 +01:00
kolaente 456af4d4a9
Fix go header lint
continuous-integration/drone/push Build is passing Details
2020-12-29 02:04:20 +01:00
kolaente 9baf6d39bd
Change license to AGPLv3
continuous-integration/drone/push Build is failing Details
2020-12-23 16:41:52 +01:00
konrad 8d1a09b5a2 Use db sessions everywere (#750)
continuous-integration/drone/push Build is failing Details
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
kolaente fa68e89c04
Add task filters for kanban
continuous-integration/drone/push Build is passing Details
Signed-off-by: kolaente <k@knt.li>
2020-12-22 12:38:05 +01:00
konrad 2d4e2e452c Add task filter for lists and namespaces (#748)
continuous-integration/drone/push Build is passing Details
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
konrad 03e4bf30c2 Add task filter for labels (#747)
continuous-integration/drone/push Build is passing Details
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
konrad 18325e964d Add task filter for assignees (#746)
continuous-integration/drone/push Build is passing Details
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
konrad 92bcce3f7c Add task filter for reminders (#745)
continuous-integration/drone/push Build is passing Details
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
kolaente 9508d0faee
Fix missing auto increments from b0d4902406 on mysql
continuous-integration/drone/push Build is passing Details
Fixes #744
2020-12-19 15:04:30 +01:00
kolaente 90817b6dae
Add "like" filter comparator
continuous-integration/drone/push Build is passing Details
2020-12-19 13:56:55 +01:00
konrad b2e4fde63a Add email reminders (#743)
continuous-integration/drone/push Build is passing Details
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
kolaente 27c44d6d5e
Change avatar endpoint
continuous-integration/drone/push Build is failing Details
2020-12-18 23:11:11 +01:00
konrad b0d4902406 Make sure all int64 db fields are using bigint when actually storing the data (#741)
continuous-integration/drone/push Build was killed Details
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
renovate f15a8baee3 Update module ulule/limiter/v3 to v3.8.0 (#699)
continuous-integration/drone/push Build is passing Details
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
konrad 0bd2632d29 Add login via email (#740)
continuous-integration/drone/push Build is passing Details
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
konrad 8d739b2cf9 Refactor adding more details to tasks (#739)
continuous-integration/drone/push Build is passing Details
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
kolaente ccfa019870
Don't create a list identifier by default
continuous-integration/drone/push Build is passing Details
2020-12-18 13:07:34 +01:00
konrad 969e467f48 Add colors for caldav (#738)
continuous-integration/drone/push Build is passing Details
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
konrad f5b5204776 Add Microsoft Todo migration (#737)
continuous-integration/drone/push Build is passing Details
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
konrad 9f3d898150 Add trello migration (#734)
continuous-integration/drone/push Build is passing Details
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
konrad 00ed5884b4 Add support for migrating todoist boards (#732)
continuous-integration/drone/push Build is passing Details
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
kolaente e4de700a10
Simplify updating task reminders 2020-12-16 13:05:58 +01:00
renovate 08430f1951 Update golang.org/x/crypto commit hash to c8d3bf9 (#710)
continuous-integration/drone/push Build is passing Details
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
konrad 9334b29366 Add testing endpoint to reset db tables (#716)
continuous-integration/drone/push Build is passing Details
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
kolaente d2d610e0f5
Fix /info endpoint 500 error when no openid providers were configured
continuous-integration/drone/push Build is failing Details
2020-11-26 21:26:31 +01:00
kolaente ae6144c042
Fix getting current user when updating avatar or user name
continuous-integration/drone/push Build is passing Details
2020-11-21 22:02:49 +01:00
kolaente d1c65935e6
Add name field to users
continuous-integration/drone/push Build is passing Details
2020-11-21 21:51:55 +01:00
konrad 2b5c9ae7a8 Authentication with OpenID Connect providers (#713)
continuous-integration/drone/push Build is passing Details
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
kolaente 316ac0558b
Fix task updated timestamp not being updated in the response after updating a task
continuous-integration/drone/push Build is passing Details
2020-10-25 12:59:28 +01:00
freaktechnik ffce9b51cc Fix completion status in DAV for OpenTasks and multiline descriptions (#697)
continuous-integration/drone/push Build is passing Details
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
kolaente 707709deb1
Fix not possible to create tasks if metrics were enabled
continuous-integration/drone/push Build is failing Details
2020-10-20 20:28:44 +02:00