Compare commits

..
1998 Commits
Author SHA1 Message Date
kolaente e79778e213 chore: 0.20.4 release preperations 2023-03-12 10:24:34 +01:00
kolaente a897ffc8ee fix(docker): allow non-unique group id 2023-03-11 15:04:36 +01:00
kolaente 4de0efec1d docs: add link to tutorial for installing Vikunja on Synology 2023-03-11 14:55:30 +01:00
kolaente 09ddd5a31a chore: 0.20.3 release preperations 2023-03-10 14:55:01 +01:00
renovate 387aa2db93 fix(deps): update module github.com/gabriel-vasile/mimetype to v1.4.2 2023-03-08 15:01:24 +00:00
renovate 4f62e978ef fix(deps): update src.techknowlogick.com/xgo digest to b607086 2023-03-07 18:01:48 +00:00
renovate a5c241758a fix(deps): update module github.com/ulule/limiter/v3 to v3.11.1 2023-03-07 10:01:21 +00:00
renovate abf38defa2 fix(deps): update module github.com/spf13/afero to v1.9.5 2023-03-06 10:01:21 +00:00
renovate 29f8522de9 fix(deps): update module github.com/getsentry/sentry-go to v0.19.0 2023-03-06 08:01:20 +00:00
kolaente 9f14466dfa fix: lint 2023-03-05 22:24:29 +01:00
renovateandGitea 4a82f3be3c fix(deps): update src.techknowlogick.com/xgo digest to 44f7e66 2023-03-05 20:31:58 +00:00
renovate a39b3aeb06 fix(deps): update github.com/vectordotdev/go-datemath digest to f3954d0 2023-03-05 19:01:25 +00:00
kolaente b4c215f4dd chore(deps): remove fsnotify replacement 2023-03-05 19:13:19 +01:00
renovate f0a8516926 chore(deps): update github.com/kolaente/caldav-go digest to 2a4eb8b 2023-03-05 18:01:29 +00:00
kolaente 077baba2ea fix: lint 2023-03-05 14:34:34 +01:00
kolaente 066c26f83e fix(caldav): make sure only labels where the user has permission to use them are used
Follow-up for a62b57ac62
2023-03-05 14:03:09 +01:00
renovate eda5135b3c fix(deps): update module golang.org/x/image to v0.6.0 2023-03-05 09:01:16 +00:00
renovate 906c9fc06b fix(deps): update module golang.org/x/oauth2 to v0.6.0 2023-03-05 08:01:23 +00:00
renovateandGitea e37dbb1648 fix(deps): update module golang.org/x/crypto to v0.7.0 2023-03-05 07:28:11 +00:00
renovate cd13f86e0d fix(deps): update module golang.org/x/term to v0.6.0 2023-03-05 02:01:25 +00:00
renovate 7ad754dd3b fix(deps): update module golang.org/x/sys to v0.6.0 2023-03-04 16:01:23 +00:00
a62b57ac62 feat(caldav): import caldav categories as Labels (#1413)
Resolves #1274

Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1413
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-03-02 15:25:26 +00:00
kolaente 534d04a1db fix(task): correctly load tasks by id and uuid in caldav
Partially reverts 1afc72e190
2023-03-01 22:18:59 +01:00
kolaente e8c85562b1 fix(docs): clarify support for caldav reccurrence 2023-03-01 11:05:35 +01:00
cernstandkonrad 1afc72e190 fix: Make sure labels are always exported as caldav (#1412)
Authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1412
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-02-28 10:42:57 +00:00
53197b85e3 feat(caldav): Export Labels to Caldav (#1409)
Partially resolves https://kolaente.dev/vikunja/api/issues/1274

Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1409
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-02-27 11:22:42 +00:00
renovate d47535b831 fix(deps): update github.com/gocarina/gocsv digest to 70c27cb 2023-02-26 14:01:15 +00:00
renovate c9ce9c2382 fix(deps): update module github.com/stretchr/testify to v1.8.2 2023-02-25 13:01:15 +00:00
kolaente 168287923f fix(migration): make sure trello checklists are properly imported 2023-02-24 12:13:18 +01:00
kolaente ca6d1946da fix(tasks): make sure tasks are sorted by position before recalculating them 2023-02-23 17:43:23 +01:00
renovateandGitea 8b745ad599 fix(deps): update github.com/gocarina/gocsv digest to dc4ee9d 2023-02-23 15:06:32 +00:00
kolaente 1efa1696bf fix(tasks): recalculate position of all tasks in a list or bucket when it would hit 0 2023-02-23 16:00:41 +01:00
renovate 6908167fb2 fix(deps): update module github.com/spf13/afero to v1.9.4 2023-02-23 10:01:17 +00:00
renovate 26b280019b fix(deps): update module github.com/labstack/echo/v4 to v4.10.2 2023-02-22 00:01:46 +00:00
renovate d19529e84f fix(deps): update github.com/gocarina/gocsv digest to bee85ea 2023-02-21 18:01:17 +00:00
renovateandGitea 0f7f595cc3 fix(deps): update module github.com/labstack/echo/v4 to v4.10.1 2023-02-20 21:17:39 +00:00
kolaente c6769d407e chore(deps): update golangci-lint to 1.51.2 2023-02-20 15:17:49 +01:00
renovate 8df94e8800 fix(deps): update github.com/gocarina/gocsv digest to bcce7dc 2023-02-19 21:01:13 +00:00
renovateandkonrad 5af1147e0d fix(deps): update module github.com/golang-jwt/jwt/v4 to v4.5.0 (#1399)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1399
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-02-19 12:38:39 +00:00
kolaente 8bf224d392 chore(deps): update golang.org/x/net to 0.7.0 2023-02-18 17:32:14 +01:00
kolaente 0a0374e268 chore(docs): remove sponsors 2023-02-15 11:11:10 +01:00
kolaente da9d25cf72 feat: disable events log by default
BREAKING CHANGE: events log level is now off unless explicitly enabled
2023-02-15 10:44:02 +01:00
kolaente eb33655c1c fix(docker): make sure the vikunja user always exists and only modify the uid instead of recreating the user
Resolves #1392
2023-02-15 10:39:48 +01:00
kolaente 20a5994b17 fix: lint 2023-02-14 20:37:16 +01:00
renovateandkonrad 5a0cee2fc5 fix(deps): update module golang.org/x/image to v0.5.0 (#1396)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1396
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-02-14 19:21:12 +00:00
kolaente fceb5dae0f fix(task): make sure the task's last updated timestamp is always updated when releated entities changed 2023-02-14 20:09:05 +01:00
renovateandkonrad 659803fadf fix(deps): update module github.com/threedotslabs/watermill to v1.2.0 (#1384)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1384
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-02-14 09:51:50 +00:00
renovate 4fbe2b313b fix(deps): update github.com/arran4/golang-ical digest to 07c6aad 2023-02-14 00:02:42 +00:00
renovateandkonrad a6a47a27cb chore(deps): update goreleaser/nfpm docker tag to v2.26.0 (#1394)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1394
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-02-13 10:05:08 +00:00
renovate 247f678491 fix(deps): update module golang.org/x/image to v0.4.0 2023-02-09 08:01:12 +00:00
renovateandGitea 7d796cea0a fix(deps): update module golang.org/x/oauth2 to v0.5.0 2023-02-09 07:32:59 +00:00
renovate 984bcb90e1 fix(deps): update module golang.org/x/crypto to v0.6.0 2023-02-08 23:01:19 +00:00
renovate 6bbcd1399f fix(deps): update module golang.org/x/term to v0.5.0 2023-02-07 20:01:16 +00:00
kolaente 58da38adb6 fix(migration): don't try to add nonexistent tasks as related
Discussion: https://community.vikunja.io/t/todoist-migration-fails-after-51-iterations-19-minutes/1137
2023-02-07 17:06:04 +01:00
renovateandkonrad 4a05d1a497 fix(deps): update module github.com/getsentry/sentry-go to v0.18.0 (#1386)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1386
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-02-07 15:12:41 +00:00
renovate d6643f5af3 fix(deps): update module golang.org/x/sys to v0.5.0 2023-02-07 01:01:18 +00:00
kolaente aa25ccdc91 chore: update funding links 2023-02-03 11:48:44 +01:00
Jef Oliverandkonrad cb96590611 fix(docd): Update Subdirectory Documentation (#1363)
Signed-off-by: Jef Oliver <jef@eljef.me>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1363
Co-authored-by: Jef Oliver <jef@eljef.me>
Co-committed-by: Jef Oliver <jef@eljef.me>
2023-02-03 08:41:36 +00:00
kolaente 5d242f7e54 chore(deps): update xgo to 1.20 2023-02-02 17:44:57 +01:00
renovateandGitea 02352841dc chore(deps): update module go to 1.20 2023-02-02 16:37:47 +00:00
renovate d682a22cd5 fix(deps): update module github.com/yuin/goldmark to v1.5.4 2023-02-02 13:01:12 +00:00
kolaente fdbe110945 chore(deps): upgrade golangci-lint to 1.51.0 2023-02-02 11:16:07 +01:00
renovateandkonrad 7b46446e03 chore(deps): update goreleaser/nfpm docker tag to v2.25.0 (#1382)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1382
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-02-02 10:12:02 +00:00
kolaente 3b1887e438 fix(docker): passing environment variables into the container 2023-02-01 18:50:40 +01:00
kolaente 32ff4b2cbd fix(docker): re-add expose 2023-02-01 18:39:57 +01:00
kolaente 6ddadba573 fix(docker): cross compilation with buildx 2023-02-01 15:06:55 +01:00
afdceb0aff fix(list): when list background is removed, delete file from file system and DB (#1372)
Co-authored-by: testinho.testador <testinho.testador@noreply.kolaente.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1372
Reviewed-by: konrad <k@knt.li>
Co-authored-by: clos <clos@noreply.kolaente.de>
Co-committed-by: clos <clos@noreply.kolaente.de>
2023-02-01 11:38:23 +00:00
renovate 437960b146 fix(deps): update module github.com/redis/go-redis/v9 to v9.0.2 2023-02-01 09:01:10 +00:00
renovateandkonrad 75baba32a6 fix(deps): update module github.com/ulule/limiter/v3 to v3.11.0 (#1378)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1378
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-31 20:38:02 +00:00
renovate 9432b437fe fix(deps): update module github.com/labstack/echo-jwt/v4 to v4.1.0 2023-01-31 17:01:19 +00:00
renovateandkonrad ef8e97f95e fix(deps): update module github.com/go-redis/redis/v8 to v9 (#1377)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1377
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-31 16:45:58 +00:00
522bf7d2fc feat: refactored Dockerfile (#1375)
- Removed VIKUNJA_VERSION and custom git checkout, because it is not found in the repository. So it is not used anywhere.
- Optimized runner commands order
- Removed run.sh (it is not needed in fact)

Co-authored-by: Yurii Vlasov <yv@itsvit.org>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1375
Co-authored-by: Yurii Vlasov <yuriy@vlasov.pro>
Co-committed-by: Yurii Vlasov <yuriy@vlasov.pro>
2023-01-31 16:16:21 +00:00
rriskiandGitHub 88dd544fc9 fix(docs): fix traefik v2 example (#65) 2023-01-31 15:43:29 +01:00
closandkonrad f660badc3d feat(background): add Last-Modified header (#1376)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1376
Co-authored-by: clos <clos@noreply.kolaente.de>
Co-committed-by: clos <clos@noreply.kolaente.de>
2023-01-29 22:07:46 +00:00
kolaente 491a142378 fix: lint 2023-01-29 22:42:24 +01:00
kolaente 46b261c9fe chore(docs): adjust docs about frontend docker container 2023-01-29 15:53:10 +01:00
kolaente 40411e4100 chore(task): add test to check if a task's reminders are duplicated 2023-01-26 16:06:49 +01:00
renovateandkonrad f2b4e9260b fix(deps): update module github.com/swaggo/swag to v1.8.10 (#1371)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1371
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-25 21:11:25 +00:00
kolaente 682123a9c9 fix(migration): todoist pagination now avoids too many loops 2023-01-24 22:27:57 +01:00
renovateandkonrad 0cd9cd324e chore(deps): update goreleaser/nfpm docker tag to v2.24.0 (#1367)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1367
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-24 18:21:45 +00:00
renovateandkonrad 100897cc9d fix(deps): update github.com/gocarina/gocsv digest to 763e25b (#1370)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1370
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-24 17:49:13 +00:00
kolaente c59e006453 fix(migration): remove unused todoist parameters 2023-01-24 18:44:33 +01:00
kolaente 6a87d919fa fix(ci): sign drone config
(cherry picked from commit 6259dd8d42)
2023-01-24 17:48:00 +01:00
kolaente d52816c7d7 fix(ci): save generated .tags file to correctly tag docker releases 2023-01-24 17:47:05 +01:00
renovateandkonrad 87d0134bb2 fix(deps): update module golang.org/x/oauth2 to v0.4.0 (#1354)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1354
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-24 16:23:04 +00:00
kolaente d19fc80b8b chore: 0.20.2 release preperations 2023-01-24 17:15:00 +01:00
renovateandkonrad fecce19f06 fix(deps): update module github.com/labstack/echo-jwt/v4 to v4.0.1 (#1369)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1369
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-24 15:34:54 +00:00
kolaente 1971df7b84 fix(migration): use the proper authorization method for Todoist's api, fix issues with importing deleted items 2023-01-24 15:45:56 +01:00
kooshiandkonrad 31a1452839 fix(migration): import TickTick data by column name instead of index (#1356)
Resolves: https://github.com/go-vikunja/api/issues/61
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1356
Co-authored-by: kooshi <kolaente.dev@pat.de.com>
Co-committed-by: kooshi <kolaente.dev@pat.de.com>
2023-01-24 13:58:18 +00:00
kolaente 530bb0a63c fix(user): make reset the user's name to empty actually work 2023-01-23 18:30:01 +01:00
kolaente 7bf7a13bb9 fix(reminders): prevent duplicate reminders when updating task details 2023-01-23 18:14:15 +01:00
renovateandkonrad 10e6843b11 fix(deps): update module github.com/spf13/viper to v1.15.0 (#1365)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1365
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-19 16:34:04 +00:00
renovateandkonrad 78f43829cf fix(deps): update module src.techknowlogick.com/xgo to v1.7.0+1.19.5 (#1364)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1364
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-17 21:05:33 +00:00
renovateandkonrad acd31c4ff7 fix(deps): update module github.com/getsentry/sentry-go to v0.17.0 (#1361)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1361
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-12 13:25:10 +00:00
renovateandkonrad 1c02114cf5 chore(deps): update klakegg/hugo docker tag to v0.107.0 (#1272)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1272
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-11 19:48:22 +00:00
kolaente 82f4a5ad50 fix(export): ignore file size for export files 2023-01-11 18:56:30 +01:00
kolaente 04614614fe fix(tasks): don't set a repeating task done when moving it do the done bucket 2023-01-11 18:46:24 +01:00
kolaente 608bde9806 fix(ci): tagging logic for release docker images 2023-01-11 18:13:11 +01:00
renovateandkonrad 568cc16797 fix(deps): update module src.techknowlogick.com/xgo to v1.6.0+1.19.5 (#1358)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1358
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-10 19:21:26 +00:00
4b5e65d4c2 fix(mailer): forcessl config (#60)
Co-authored-by: Rein-R3 <rein@reinsan.top>
Reviewed-At: https://github.com/go-vikunja/api/pull/60
2023-01-09 12:39:43 +01:00
renovateandkonrad 3329d83363 fix(deps): update module github.com/wneessen/go-mail to v0.3.8 (#1357)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1357
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-07 12:52:06 +00:00
renovateandkonrad c4e5e722e4 chore(deps): update goreleaser/nfpm docker tag to v2.23.0 (#1347)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1347
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-06 11:05:47 +00:00
508a3157e2 fix(drone): add type, fix pull, remove group (#1355)
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1355
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2023-01-06 09:46:52 +00:00
TheDublinerandGitHub 321a8f7e2b fix(docs): fix a few minor typos (#59) 2023-01-06 10:33:43 +01:00
renovateandkonrad dd7dcdd0cc fix(deps): update module golang.org/x/crypto to v0.5.0 (#1353)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1353
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-04 18:37:35 +00:00
renovateandkonrad cb6368036c fix(deps): update module golang.org/x/term to v0.4.0 (#1352)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1352
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-04 18:23:30 +00:00
renovateandkonrad 36dfcb8ddb fix(deps): update module golang.org/x/image to v0.3.0 (#1350)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1350
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-04 16:16:04 +00:00
renovateandkonrad 7f8c85118e fix(deps): update module golang.org/x/sys to v0.4.0 (#1351)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1351
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-04 16:15:58 +00:00
renovateandkonrad f3476bec6c fix(deps): update module github.com/coreos/go-oidc/v3 to v3.5.0 (#1349)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1349
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-04 11:03:19 +00:00
kolaente 392bdd1b94 fix(ci): set release path to /source
Should fix https://github.com/techknowlogick/xgo/issues/187
2023-01-03 16:02:17 +01:00
renovateandkonrad 80634d43c1 fix(deps): update module github.com/wneessen/go-mail to v0.3.7 (#1348)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1348
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-01-03 14:48:48 +00:00
kolaente 4fa45bf9dc chore: remove custom gitea bug template in favor of githubs 2022-12-30 11:57:03 +01:00
konrad ef1d1e2b20 feat(migrators): remove wunderlist (#1346)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1346
2022-12-29 17:12:39 +00:00
ca3580766e fix(docs): old helm charts url (#1344)
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1344
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-12-28 16:06:55 +00:00
renovateandkonrad c6429c8b13 fix(deps): update module github.com/labstack/echo/v4 to v4.10.0 (#1343)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1343
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-28 10:32:12 +00:00
renovateandkonrad 304481cf28 fix(deps): update module github.com/wneessen/go-mail to v0.3.6 (#1342)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1342
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-26 17:29:28 +00:00
kolaente 897a6e5d5c fix(caldav): use const for repeat modes 2022-12-24 14:34:59 +01:00
kolaente 194b88e2eb fix(tasks): don't reset the kanban bucket when updating a task and not providing one
Resolves https://github.com/go-vikunja/api/issues/56
2022-12-24 14:30:34 +01:00
kolaente c5327845ee feat(caldav): add support for repeating tasks
Resolves https://github.com/go-vikunja/api/issues/57#issuecomment-1364373103
2022-12-24 12:19:51 +01:00
kolaente ea1d06bda6 fix(list): return lists for a namespace id even if that namespace is deleted
This fixes a problem where a namespace was deleted and its list were not.
Forum discussion: https://community.vikunja.io/t/list-deleted-but-tasks-showing-up-as-archived-and-overdue/1025
2022-12-23 17:48:21 +01:00
kolaente 0104aa504b fix(ci): pin nfpm container version and binary location 2022-12-19 15:37:01 +01:00
kolaente 6a97a214a3 fix(migration): use Todoist v9 api to migrate tasks from them
Discussion: https://community.vikunja.io/t/importing-tasks-from-todoist/322/7
2022-12-18 20:38:58 +01:00
viehliebandkonrad a79b1de2d0 feat: provide logout url for openid providers (#1340)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1340
Co-authored-by: viehlieb <pf@pragma-shift.net>
Co-committed-by: viehlieb <pf@pragma-shift.net>
2022-12-18 18:26:28 +00:00
renovateandkonrad e9ce930230 fix(deps): update module github.com/swaggo/swag to v1.8.9 (#1327)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1327
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-18 16:43:30 +00:00
renovateandkonrad 6cb48e430e fix(deps): update module github.com/pquerna/otp to v1.4.0 (#1341)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1341
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-14 07:21:11 +00:00
renovateandkonrad a2c8426d02 fix(deps): update module golang.org/x/crypto to v0.4.0 (#1339)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1339
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-07 13:16:10 +00:00
renovateandkonrad 3be10ca4a2 fix(deps): update module github.com/getsentry/sentry-go to v0.16.0 (#1338)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1338
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-07 12:15:16 +00:00
renovateandkonrad ec297009d3 fix(deps): update module golang.org/x/oauth2 to v0.3.0 (#1337)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1337
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-06 16:25:24 +00:00
renovateandkonrad dbc30284f3 fix(deps): update module golang.org/x/oauth2 to v0.2.0 (#1316)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1316
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-06 08:14:40 +00:00
renovateandkonrad 879324dcd0 fix(deps): update module golang.org/x/image to v0.2.0 (#1335)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1335
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-06 07:58:51 +00:00
renovateandkonrad 3be6e93a05 fix(deps): update module golang.org/x/term to v0.3.0 (#1336)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1336
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-06 07:58:21 +00:00
kolaente f93317bf5d fix(caldav): add Z suffix to dates make it clear dates are in UTC 2022-12-04 21:01:04 +01:00
renovateandkonrad 1cfdb085e5 fix(deps): update module golang.org/x/sys to v0.3.0 (#1333)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1333
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-04 16:56:44 +00:00
kolaente 51cf8beaed feat(release): use compressed binaries for package releases
https://kolaente.dev/vikunja/api/issues/1330
2022-12-02 16:31:06 +01:00
kolaente b8c3b570a4 fix(restore): check if we're really dealing with a string 2022-12-02 14:49:32 +01:00
renovateandkonrad 8ae062a095 fix(deps): update module github.com/go-sql-driver/mysql to v1.7.0 (#1332)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1332
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-02 13:39:25 +00:00
kolaente 941d1e06c5 fix(build): downgrade xgo to 1.19.2 so that builds work again
See https://github.com/techknowlogick/xgo/issues/187
2022-12-01 19:00:48 +01:00
kolaente 1f2eb57602 fix(reminders): make sure an overdue reminder is sent when there is only one overdue task 2022-12-01 18:41:24 +01:00
kolaente 51911a8868 fix(reminders): overdue tasks join condition 2022-12-01 18:30:05 +01:00
kolaente 47aae115df fix(tasks): don't include undone overdue tasks from archived lists or namespaces in notification mails
Resolves https://kolaente.dev/vikunja/api/issues/1324
2022-12-01 18:07:30 +01:00
kolaente fbc4b91e0f fix(dump): make sure null dates are properly set when restoring from a dump 2022-12-01 17:53:02 +01:00
kolaente 8c67be558f fix: restore notifications table from dump when it already had the correct format 2022-12-01 17:33:00 +01:00
renovateandkonrad e27cd9b336 fix(deps): update module github.com/golang-jwt/jwt/v4 to v4.4.3 (#1328)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1328
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-29 15:14:04 +00:00
renovateandkonrad 23b01a1ff6 fix(deps): update github.com/arran4/golang-ical digest to 1093469 (#1326)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1326
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-22 13:19:30 +00:00
renovateandkonrad f47faf577a fix(deps): update module github.com/wneessen/go-mail to v0.3.5 (#1325)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1325
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-21 11:56:19 +00:00
renovateandkonrad 312525ebef fix(deps): update github.com/arran4/golang-ical digest to a677353 (#1323)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1323
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-21 10:49:41 +00:00
renovateandkonrad a17d2f4288 fix(deps): update module golang.org/x/crypto to v0.3.0 (#1321)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1321
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-16 22:16:31 +00:00
kolaente 7e0aa20658 fix(docs): add docs about cli user delete 2022-11-15 14:53:58 +01:00
renovateandkonrad c5a55e39bf fix(deps): update module github.com/spf13/afero to v1.9.3 (#1320)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1320
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-14 20:55:13 +00:00
the-darkvoidandkonrad 4d4ffe8b34 Added Google & Google Workspace to OpenId examples (#1319)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1319
Co-authored-by: the-darkvoid <darkvoid@gmail.com>
Co-committed-by: the-darkvoid <darkvoid@gmail.com>
2022-11-14 11:41:45 +00:00
kolaente 3d9fcb9ffb fix(ci): pipeline dependency 2022-11-12 14:32:16 +01:00
kolaente a6e214b654 feat: use docker buildx to build multiarch images 2022-11-12 14:30:48 +01:00
renovateandkonrad c47e07f9b0 fix(deps): update module golang.org/x/crypto to v0.2.0 (#1315)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1315
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-12 13:14:07 +00:00
renovateandkonrad 3a4a04ee8e fix(deps): update module github.com/yuin/goldmark to v1.5.3 (#1317)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1317
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-12 12:15:44 +00:00
kolaente 96b5e93379 fix: swagger docs 2022-11-11 15:34:26 +01:00
kolaente 87c2e442f2 chore: 0.20.1 release preperations 2022-11-11 11:59:49 +01:00
kolaente 33e27c66a0 fix(filters): try parsing invalid dates like 2022-11-1 2022-11-11 11:05:21 +01:00
kolaente 986129a784 fix(filters): try parsing dates without time 2022-11-11 10:54:50 +01:00
kolaente 3d7605591e fix(filters): try to parse date filter fields of the provided dates are not valid iso dates
Resolves https://community.vikunja.io/t/due-date-saved-filter-doesnt-seem-to-work/966/12
2022-11-10 16:39:44 +01:00
kolaente 811514855b fix(metrics): make currently active users actually work 2022-11-09 21:12:17 +01:00
kolaente a9e6776abf fix(tasks): allow sorting by task index 2022-11-09 14:43:31 +01:00
renovateandkonrad 15828df041 fix(deps): update module github.com/getsentry/sentry-go to v0.15.0 (#1314)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1314
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-09 11:15:57 +00:00
kolaente f9b48ec091 fix(filter): only check for 0 values in filter fields with numeric values 2022-11-08 17:03:07 +01:00
kolaente 3b0b4a8460 fix(task): duplicate reminders when adding different ones between winter / summer time
Resolves F-889
2022-11-08 16:50:19 +01:00
kolaente 2ef5e54588 fix(filter): also check for 0 values if the filter should include nulls
Resolves https://community.vikunja.io/t/due-date-saved-filter-doesnt-seem-to-work/966
2022-11-08 16:27:16 +01:00
renovateandkonrad 65bca226e0 fix(deps): update module github.com/prometheus/client_golang to v1.14.0 (#1313)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1313
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-08 13:11:14 +00:00
renovateandkonrad 63a9148132 fix(deps): update module golang.org/x/term to v0.2.0 (#1312)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1312
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-08 07:26:13 +00:00
renovateandkonrad b880d0e300 fix(deps): update module golang.org/x/sys to v0.2.0 (#1311)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1311
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-07 20:15:54 +00:00
renovateandkonrad 2c46fc25d4 fix(deps): update module github.com/spf13/viper to v1.14.0 (#1309)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1309
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-06 19:17:48 +00:00
konrad 641a9da93d fix: usage with postgres over unix socket (#1308)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1308
2022-11-04 12:25:06 +00:00
kolaente 4d4dca12ef fix(docs): add explanation on how to run the cli in docker 2022-11-03 15:13:58 +01:00
kolaente 622f2f0562 fix: look for the default bucket based on the position instead of the index 2022-11-03 15:10:20 +01:00
kolaente c495096444 fix: make sure task indexes are calculated correctly when moving tasks between lists
Resolves https://github.com/go-vikunja/api/issues/52
2022-11-02 17:40:52 +01:00
renovateandkonrad 649d1e3e6f fix(deps): update module github.com/prometheus/client_golang to v1.13.1 (#1307)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1307
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-11-02 15:59:42 +00:00
c83cb8480d nessecary is a common misspelling of necessary (#1304)
Co-authored-by: Yann Verry <yann@verry.org>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1304
Co-authored-by: yverry <yann_kolaente@verry.org>
Co-committed-by: yverry <yann_kolaente@verry.org>
2022-10-31 20:45:28 +00:00
kolaente 556abcd9d2 feat(docs): add relase checklist 2022-10-28 13:55:53 +02:00
kolaente b10dbce1a1 chore: release preparations 2022-10-28 12:24:01 +02:00
renovateandkonrad 7b77974b03 fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.16 (#1301)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1301
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-27 06:32:09 +00:00
renovateandkonrad 05358350af fix(deps): update module github.com/wneessen/go-mail to v0.3.4 (#1302)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1302
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-27 06:31:24 +00:00
kolaente 9fc08a0790 fix(lists): return correct max right for lists where the user has created the namespace 2022-10-25 18:54:11 +02:00
renovateandkonrad f6b897e8e7 fix(deps): update module github.com/wneessen/go-mail to v0.3.3 (#1300)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1300
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-25 16:50:06 +00:00
renovateandkonrad 8de78c48f8 fix(deps): update module github.com/spf13/cobra to v1.6.1 (#1299)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1299
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-25 05:23:24 +00:00
renovateandkonrad a13126d1dd fix(deps): update module github.com/stretchr/testify to v1.8.1 (#1298)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1298
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-24 07:51:01 +00:00
renovateandkonrad b96e681270 fix(deps): update module github.com/wneessen/go-mail to v0.3.2 (#1297)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1297
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-21 12:59:46 +00:00
kolaente f5fd849a0b chore: remove unused dependencies 2022-10-21 12:30:54 +02:00
renovateandkonrad 144e115394 fix(deps): update module golang.org/x/image to v0.1.0 (#1293)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1293
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-19 20:13:14 +00:00
renovateandkonrad 815fc10135 fix(deps): update module golang.org/x/crypto to v0.1.0 (#1295)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1295
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-19 19:19:47 +00:00
renovateandkonrad 955a1771ae fix(deps): update module golang.org/x/oauth2 to v0.1.0 (#1296)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1296
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-19 19:06:22 +00:00
renovateandkonrad aca930655b chore(deps): update module github.com/coreos/go-systemd/v22 to v22.4.0 (#1287)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1287
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-18 11:41:04 +00:00
renovateandkonrad 2ba78d240f fix(deps): update golang.org/x/term digest to 8365914 (#1289)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1289
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-18 09:15:44 +00:00
renovateandkonrad cad18945bb fix(deps): update module github.com/swaggo/swag to v1.8.7 (#1290)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1290
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-18 08:32:38 +00:00
renovateandkonrad 9fc0fc184d fix(deps): update module golang.org/x/sync to v0.1.0 (#1291)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1291
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-18 08:00:56 +00:00
renovateandkonrad 1577c8d3f3 fix(deps): update golang.org/x/image digest to ffcb3fe (#1288)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1288
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-18 07:54:52 +00:00
renovateandkonrad 2eb4d07aa9 fix(deps): update golang.org/x/oauth2 digest to 6fdb5e3 (#1284)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1284
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-14 16:56:38 +00:00
renovateandkonrad 4789a69455 fix(deps): update golang.org/x/sys digest to 95e765b (#1283)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1283
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-14 13:28:36 +00:00
renovateandkonrad 35f01a4549 fix(deps): update module github.com/labstack/echo/v4 to v4.9.1 (#1282)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1282
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-12 22:17:30 +00:00
renovateandkonrad dca51c762b fix(deps): update module github.com/wneessen/go-mail to v0.3.1 (#1281)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1281
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-12 16:14:26 +00:00
kolaente 6515dd6908 chore(deps): update golang.org/x/text to v0.3.8 2022-10-12 16:47:07 +02:00
renovateandkonrad 0ea4de3f56 fix(deps): update golang.org/x/crypto digest to 56aed06 (#1280)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1280
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-12 14:14:04 +00:00
renovateandkonrad c2104a3374 fix(deps): update module github.com/wneessen/go-mail to v0.3.0 (#1278)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1278
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-11 19:18:03 +00:00
renovateandkonrad aaceb4e968 fix(deps): update module github.com/spf13/cobra to v1.6.0 (#1277)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1277
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-11 16:19:16 +00:00
renovateandkonrad 4ec4c0a65d fix(deps): update golang.org/x/sys digest to 090e330 (#1276)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1276
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-10 20:06:26 +00:00
renovateandkonrad c68bd235e8 fix(deps): update golang.org/x/crypto digest to d6f0a8c (#1275)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1275
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-10 20:05:33 +00:00
konrad df2e36c2a3 feat: TickTick migrator (#1273)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1273
2022-10-09 21:12:30 +00:00
kolaente f5a33478f2 fix(migration): make sure importing works when the csv file has errors and don't try to parse empty values as dates 2022-10-09 22:58:08 +02:00
kolaente 0d044997df fix(migration): expose ticktick migrator to /info 2022-10-09 22:45:01 +02:00
kolaente 5e40f4ec89 fix(migration): properly parse duration 2022-10-09 22:44:57 +02:00
kolaente 5871d32c2d feat(migration): generate swagger docs 2022-10-09 22:44:54 +02:00
kolaente 3af9855148 feat(migration): add routes for TickTick migrator 2022-10-09 22:44:49 +02:00
kolaente e5394d6d4b feat(migration): add TickTick migrator 2022-10-09 22:44:32 +02:00
kolaente b8769c746c feat: allow a user to remove themselves from a team 2022-10-09 16:39:40 +02:00
renovateandkonrad b331fdd29a chore(deps): update dependency klakegg/hugo to v0.104.2 (#1267)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1267
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-07 20:56:01 +00:00
kolaente 2fc690a783 fix: make sure list subscriptions are set correctly when their namespace has a subscription already 2022-10-07 14:18:36 +02:00
renovateandkonrad bcb286a7f0 fix(deps): update golang.org/x/sys digest to 84dc82d (#1271)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1271
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-07 11:16:41 +00:00
kolaente 008908eb49 fix: make sure a user can only be assigned once to a task
See https://community.vikunja.io/t/task-can-be-assigned-twice-or-more-to-the-same-user/883
2022-10-06 18:22:19 +02:00
renovateandkonrad 12e0e12bae fix(deps): update golang.org/x/oauth2 digest to b44042a (#1270)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1270
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-06 16:15:22 +00:00
konrad d43762e9d9 feat(task): add cover image attachment id property (#1263)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1263
2022-10-05 13:27:55 +00:00
kolaente 631a265d2d feat: add proper checks and errors to see if an attachment belongs to the task it's being used as cover image in 2022-10-05 15:12:29 +02:00
kolaente e113fe34d0 chore: generate swagger docs 2022-10-05 15:12:29 +02:00
kolaente 0eb47096db fix: make cover image id actually updatable 2022-10-05 15:12:29 +02:00
kolaente 0e1904d50b fix: make cover image id actually updatable 2022-10-05 15:12:29 +02:00
kolaente b4b25499f2 feat(task): add cover image attachment id property 2022-10-05 15:12:29 +02:00
renovateandkonrad b735ffc4b3 fix(deps): update golang.org/x/crypto digest to 4161e89 (#1268)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1268
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-05 07:47:53 +00:00
renovateandkonrad 95105aaa35 fix(deps): update module github.com/labstack/gommon to v0.4.0 (#1269)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1269
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-05 07:47:28 +00:00
renovateandkonrad 66331b1002 fix(deps): update module github.com/getsentry/sentry-go to v0.14.0 (#1266)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1266
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-04 19:39:56 +00:00
renovateandkonrad ed6a27da6a chore(deps): update dependency klakegg/hugo to v0.102.3 (#1265)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1265
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-04 12:04:55 +00:00
kolaente b5ee39b887 fix(ci): make sure release os packages are properly named 2022-10-02 16:30:06 +02:00
kolaente 0d8451ab6e fix(ci): make sure release zip files have a .zip ending 2022-10-02 16:30:06 +02:00
renovateandkonrad 81f09f7dc0 fix(deps): update module github.com/wneessen/go-mail to v0.2.9 (#1264)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1264
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-02 12:19:23 +00:00
kolaente 5a40100ac5 feat: provide default user settings for new users via config 2022-10-02 11:00:58 +02:00
renovateandkonrad 0694314e52 fix(deps): update module github.com/swaggo/swag to v1.8.6 (#1243)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1243
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-02 08:40:47 +00:00
renovateandkonrad a547a9eb25 fix(deps): update module github.com/magefile/mage to v1.14.0 (#1259)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1259
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-02 07:29:13 +00:00
renovateandkonrad 0fcd03f561 fix(deps): update module src.techknowlogick.com/xormigrate to v1.5.0 (#1262)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1262
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-01 20:59:56 +00:00
renovateandkonrad ffedd02b08 fix(deps): update module github.com/yuin/goldmark to v1.5.2 (#1261)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1261
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-01 20:59:42 +00:00
renovateandkonrad c84684a425 fix(deps): update module github.com/wneessen/go-mail to v0.2.8 (#1258)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1258
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-01 17:31:10 +00:00
kolaente aed560339b fix(todoist): properly import all done tasks 2022-10-01 19:29:05 +02:00
kolaente 0612f4d0e0 feat: add gitea issue template 2022-10-01 18:14:49 +02:00
kolaente ce621ee5d6 feat: remove gitea issue template so that only the form is used 2022-10-01 18:09:08 +02:00
kolaente 9c4bb5a244 feat: add github issue templates 2022-10-01 17:53:30 +02:00
kolaente c076f73a87 fix: make sure user searches are always case-insensitive
See https://kolaente.dev/vikunja/frontend/issues/2196#issuecomment-33698
Resolves https://github.com/go-vikunja/frontend/issues/29
2022-10-01 17:39:08 +02:00
36265fcedf feat(docs): document pnpm (#1251)
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1251
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2022-10-01 15:30:20 +00:00
konrad 53419180be feat: upgrade xorm (#1197)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1197
2022-10-01 15:10:00 +00:00
renovateandkonrad c5bd09702a chore(deps): update dependency golang to v1.19 (#1228)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1228
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-01 15:05:12 +00:00
kolaente fcb205a842 fix: use connection string for postgres 2022-10-01 16:57:06 +02:00
kolaente 4323803fd6 feat: upgrade xorm 2022-10-01 16:32:22 +02:00
kolaente 903b8ff438 chore: go mod tidy 2022-10-01 16:26:22 +02:00
kolaente b1fd13bbcb feat: upgrade xorm 2022-10-01 16:25:29 +02:00
kolaente 878d19beb8 fix: make sure pseudo namespaces and lists always have the current user as owner 2022-10-01 15:19:46 +02:00
kolaente 96ed1e33e3 fix: don't allow setting a list namespace to 0
See https://github.com/go-vikunja/app/issues/13
2022-10-01 15:02:17 +02:00
renovateandkonrad 374a0f9ce3 fix(deps): update module github.com/spf13/viper to v1.13.0 (#1260)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1260
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-09-30 20:07:21 +00:00
kolaente 580bd5aeaa fix(deps): update module github.com/lib/pq to v1.10.7 2022-09-30 19:30:18 +02:00
kolaente c359d6a97d fix(deps): update golang.org/x/term digest to 7a66f97 2022-09-30 19:29:32 +02:00
kolaente 038702a2a0 fix(deps): update golang.org/x/image digest to e7cb969 2022-09-30 19:29:09 +02:00
kolaente 6426d40825 fix(deps): update module github.com/coreos/go-oidc/v3 to v3.4.0 2022-09-30 19:28:42 +02:00
kolaente bbe102dd57 fix(deps): update module src.techknowlogick.com/xgo to v1.5.0+1.19 2022-09-30 19:28:06 +02:00
kolaente 65484bc432 fix(deps): update golang.org/x/oauth2 digest to f213421 2022-09-30 19:27:19 +02:00
kolaente 54f6cc7a64 fix(deps): update golang.org/x/sync digest to 8fcdb60 2022-09-30 19:26:17 +02:00
kolaente f1b2338227 chore(deps): update klakegg/hugo docker tag to v0.101.0 2022-09-30 19:24:49 +02:00
kolaente 45defebcf4 fix: tasks with the same assignee as doer should not appear twice in overdue task mails 2022-09-30 18:35:40 +02:00
kolaente 86ee8273bc chore: upgrade echo 2022-09-30 13:48:18 +02:00
Luca Bernsteinandkonrad 3adfeb3b34 fix(namespaces): add list subscriptions (#1254)
Add list subscriptions to namespaces call to enable frontend to show subscription state correctly.

Resolves https://github.com/go-vikunja/frontend/issues/75

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1254
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Luca Bernstein <luca@lucabernstein.com>
Co-committed-by: Luca Bernstein <luca@lucabernstein.com>
2022-09-29 09:49:24 +00:00
Felix BreidensteinandGitHub 9bb8a26706 fix(docs): Fix redirect_url example (#50)
The name of the openid provider gets appended to the redirect_url
2022-09-28 15:34:53 +02:00
Luca Bernsteinandkonrad 54b7f7127c fix(caldav): no failed login emails for tokens (#1252)
Prevent Vikunja from sending mail notifications for failed login attempts if CalDav token is used.

Before, as the provided password value was tested against the user password regardless of whether it was a CalDav token, it triggered a failed login attempt email every three times.

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1252
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Luca Bernstein <luca@lucabernstein.com>
Co-committed-by: Luca Bernstein <luca@lucabernstein.com>
2022-09-27 15:12:37 +00:00
Luca Bernsteinandkonrad 25609db567 fix(mail): pass mail server timeout (#1253)
Fix error log for mailserver closing logic, as default timeout of 15 seconds of mail client package used triggers before our logic leading to error on close.

Resolves https://github.com/go-vikunja/api/issues/48

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1253
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Luca Bernstein <luca@lucabernstein.com>
Co-committed-by: Luca Bernstein <luca@lucabernstein.com>
2022-09-26 16:09:39 +00:00
kolaente 2e3603507c fix(docs): document pnpm instead of yarn 2022-09-23 12:26:42 +02:00
kolaente 2efc1b5a87 feat(docs): add docs about how to deploy Vikunja in a subdirectory 2022-09-23 12:23:59 +02:00
ArieandGitHub 090c67138a fix: preserve dates for repeating tasks (#47)
Reviewed-At: https://github.com/go-vikunja/api/pull/47
2022-09-16 17:20:08 +02:00
kolaente d8f387f796 fix: don't try to compress riscv64 binaries in releases 2022-09-07 16:38:43 +02:00
kolaente aaeffe925e fix(caldav): make sure duration and due date follow rfc5545
Related discussion: https://community.vikunja.io/t/error-with-davx-synchronization/810
2022-09-07 15:39:40 +02:00
kolaente f814dd03eb feat: add sponsor to readme (relm) 2022-09-06 12:02:35 +02:00
kolaente 2369ce5554 fix(docs): clarify using port 25 as mail port when mail does not work 2022-09-05 17:32:48 +02:00
kolaente c19479757a fix: properly log extra message 2022-09-01 14:19:00 +02:00
kolaente 8fddbf43ba chore: release preparations 2022-08-17 17:04:47 +02:00
kolaente beb4d07cf9 fix: don't override saved filters 2022-08-17 17:03:01 +02:00
kolaente 10ded56f66 fix: don't fail a migration if there is no filter saved 2022-08-17 12:27:03 +02:00
kolaente d709db4e18 chore: release preparations 2022-08-17 10:20:20 +02:00
kolaenteandGitea 0c8bed4054 fix: lint 2022-08-16 21:27:32 +00:00
kolaenteandGitea 9ddd7f4889 fix: only list all users when allowed 2022-08-16 21:27:32 +00:00
kolaenteandGitea 3047ccfd4a feat: add migration to change user ids to usernames in saved filters 2022-08-16 21:27:32 +00:00
kolaenteandGitea 7f28865903 feat: search by assignee username instead of id 2022-08-16 21:27:32 +00:00
renovateandkonrad a273d1ae76 fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.15 (#1238)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1238
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-16 08:21:11 +00:00
kolaente c9e044b3ad fix: add debian-based docker image for arm 32 builds 2022-08-15 23:56:15 +02:00
kolaente 8bf0f8bb57 fix: make sure generating blur hashes for bmp, tiff and webp images works 2022-08-15 23:37:05 +02:00
kolaente 3ccc6365a6 fix: prevent moving a list into a pseudo namespace 2022-08-15 23:25:39 +02:00
renovateandkonrad 8d10130d4c fix(deps): update module github.com/wneessen/go-mail to v0.2.6 (#1235)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1235
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-14 16:08:20 +00:00
kolaente 51314f269d feat(docs): add k8s docs 2022-08-12 13:47:18 +02:00
renovateandkonrad 9eefb2bea9 fix(deps): update golang.org/x/sys digest to fbc7d0a (#1234)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1234
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-12 11:21:09 +00:00
renovateandkonrad 2e5c91efdf fix(deps): update module github.com/labstack/echo/v4 to v4.8.0 (#1233)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1233
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-11 10:26:11 +00:00
kolaente dbb0f54732 feat: add openid examples 2022-08-09 10:48:50 +02:00
renovateandkonrad 6e639d9ccb fix(deps): update golang.org/x/crypto digest to 630584e (#1218)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1218
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-08 20:16:39 +00:00
renovateandkonrad a9a8bd54ee fix(deps): update golang.org/x/image digest to 062f8c9 (#1219)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1219
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-08 19:19:13 +00:00
renovateandkonrad d3a655c75b fix(deps): update golang.org/x/oauth2 digest to 128564f (#1220)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1220
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-08 18:13:57 +00:00
renovate e0dc3807f6 fix(deps): update golang.org/x/sys digest to 1c4a2a7 2022-08-08 16:00:51 +00:00
konrad 4e7510995c fix(deps): update module github.com/prometheus/client_golang to v1.13.0 (#1231)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1231
2022-08-07 09:28:15 +00:00
renovate f8300c9e1b fix(deps): update module github.com/prometheus/client_golang to v1.13.0 2022-08-06 10:00:57 +00:00
renovateandkonrad ef3f07b677 fix(deps): update golang.org/x/term digest to a9ba230 (#1222)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1222
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-05 06:15:32 +00:00
renovateandkonrad ea66875310 fix(deps): update golang.org/x/sys digest to 8e32c04 (#1230)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1230
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-05 05:23:26 +00:00
renovateandkonrad 850ac0c601 fix(deps): update golang.org/x/sync digest to 886fb93 (#1221)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1221
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-04 20:58:59 +00:00
renovateandkonrad 8ebb642d55 fix(deps): update golang.org/x/sys digest to 6e608f9 (#1229)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1229
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-04 19:12:47 +00:00
kolaente 2a569488d7 chore: release preparations 2022-08-03 20:06:53 +02:00
kolaente 49b3ae82e4 chore: add git-cliff config 2022-08-03 20:06:35 +02:00
kolaente b71e6f8049 fix(docker): use official go image instead of our own to build 2022-08-03 17:54:21 +02:00
kolaente fa82c71f8c fix(ci): install git in lint step 2022-08-03 17:19:29 +02:00
kolaente 8f473481ac fix(mage): handle different types of errors 2022-08-03 17:11:17 +02:00
kolaente 51cd2830dd fix(ci): make sure the linter actually runs 2022-08-03 16:20:49 +02:00
kolaente 430057a404 chore: update golangci-lint 2022-08-03 15:20:11 +02:00
kolaente 7ffe9b625e fix: switch back to alpine for everything, disable arm 32 docker builds 2022-08-03 14:05:07 +02:00
kolaente d47edac376 feat(mail): don't try to authenticate when no username and password was provided 2022-08-03 13:41:42 +02:00
kolaente aed1ad6d96 fix(ci): sign drone config 2022-08-03 12:57:51 +02:00
kolaente 84bcdbf937 fix: use golang build image to test migrations 2022-08-03 12:57:20 +02:00
kolaente 280ac1164b fix(docker): switch to debian base image 2022-08-03 12:44:18 +02:00
kolaente b6d7323cdf fix: use our own build image as base build image 2022-08-02 23:02:01 +02:00
kolaente 59796fd490 fix: switch to buster for build image
The current alpine image does (still) not work on arm. Buster does, so we're just using that.
2022-08-02 22:53:10 +02:00
kolaente 26e2d0bdde fix: increase test timeout 2022-08-02 22:49:48 +02:00
kolaente 251b877015 chore: use our custom build image to build docker image 2022-08-02 22:01:29 +02:00
renovateandkonrad b460fa8c82 chore(deps): update module go to 1.18 (#1225)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1225
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-02 17:11:06 +00:00
kolaente 77fafd5dc3 fix: lint 2022-08-02 15:07:08 +02:00
kolaente 3688bbde20 fix: don't return email addresses from user search results 2022-08-02 15:02:15 +02:00
kolaente c51ee94ad1 fix: return all users on a list when no search param was provided 2022-08-02 15:02:00 +02:00
kolaente 8f27e7e619 fix: properly decode params in url
Resolves https://kolaente.dev/vikunja/api/issues/1224
2022-08-02 14:50:03 +02:00
kolaente 382a7884be fix: make sure to use user discoverability settings when searching list users
Resolves https://kolaente.dev/vikunja/frontend/issues/2196
2022-08-02 13:26:42 +02:00
renovateandkonrad cd345b62c2 fix(deps): update module github.com/go-testfixtures/testfixtures/v3 to v3.8.1 (#1226)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1226
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-08-01 16:30:31 +00:00
renovateandkonrad dc2285bcc9 fix(deps): update golang.org/x/sys digest to 1609e55 (#1217)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1217
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-31 18:32:31 +00:00
kolaente 1feb62cc45 fix: lint 2022-07-31 15:50:38 +02:00
kolaente 117f6b38e1 feat: add issue template 2022-07-21 16:50:30 +02:00
kolaente dd461746a6 fix: add validation for negative repeat after values
Partial fix for https://kolaente.dev/vikunja/frontend/issues/2179
2022-07-21 15:00:28 +02:00
kolaente 0f555b7ec7 fix: reset id sequence when importing a dump from postgres 2022-07-21 14:54:52 +02:00
renovateandkonrad f93b68819d fix(deps): update module github.com/spf13/viper to v1.12.0 (#1180)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1180
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-19 15:32:46 +00:00
kolaente 79b31673e2 fix: return 9:00 as default time for reminders if none was set
Resolves https://kolaente.dev/vikunja/api/issues/1211
2022-07-19 16:38:48 +02:00
kolaente f8cc67d37f chore(docs): add frontendurl to all example configs 2022-07-19 16:26:38 +02:00
renovateandkonrad 6c92859f8c fix(deps): update module github.com/swaggo/swag to v1.8.4 (#1216)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1216
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-19 14:20:58 +00:00
renovateandkonrad ef6fe9500e fix(deps): update module github.com/spf13/afero to v1.9.2 (#1215)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1215
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-19 11:46:58 +00:00
renovateandkonrad 8578f3a927 fix(deps): update golang.org/x/oauth2 digest to c8730f7 (#1214)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1214
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-18 20:34:54 +00:00
renovateandkonrad bfcebc63b7 fix(deps): update golang.org/x/sys digest to c0bba94 (#1206)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1206
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-18 10:00:24 +00:00
renovateandkonrad 8cafe84170 fix(deps): update golang.org/x/oauth2 digest to 2104d58 (#1204)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1204
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-18 10:00:03 +00:00
renovateandkonrad f3319e837a fix(deps): update github.com/c2h5oh/datasize digest to 859f65c (#1201)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1201
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-15 06:59:22 +00:00
renovateandkonrad 7c70b5d4b3 fix(deps): update golang.org/x/sync digest to 0de741c (#1205)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1205
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-15 06:23:11 +00:00
renovateandkonrad 1eceecf3ab fix(deps): update module github.com/gabriel-vasile/mimetype to v1.4.1 (#1208)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1208
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-14 21:17:31 +00:00
renovateandkonrad 76fa841e9a fix(deps): update module github.com/spf13/afero to v1.9.0 (#1210)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1210
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-14 21:16:02 +00:00
renovateandkonrad 2f601052fd fix(deps): update golang.org/x/crypto digest to 0559593 (#1202)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1202
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-14 14:15:52 +00:00
renovateandkonrad 8023674adf fix(deps): update module github.com/yuin/goldmark to v1.4.13 (#1209)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1209
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-14 12:44:06 +00:00
renovateandkonrad 560fa187e0 fix(deps): update golang.org/x/image digest to 41969df (#1203)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1203
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-14 07:03:12 +00:00
renovateandkonrad a321c3cfb9 fix(deps): update golang.org/x/term digest to 065cf7b (#1207)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1207
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-14 07:02:43 +00:00
kolaente 6e15d46a93 fix(restore): use the correct initial migration
Related to https://kolaente.dev/vikunja/api/issues/1199
2022-07-13 23:44:21 +02:00
kolaente 54348c5891 fix(restore): make sure to reset sequences after importing a dump when using postgres
Related to https://kolaente.dev/vikunja/api/issues/1199
2022-07-13 23:43:53 +02:00
kolaente 596d2bf676 fix(restore): properly decode notifications json data
Related to https://kolaente.dev/vikunja/api/issues/1199
2022-07-13 23:43:20 +02:00
kolaente ac92499b7d fix(caldav): make sure description is parsed correctly when multiline
Resolves https://github.com/go-vikunja/api/issues/35
2022-07-13 22:47:25 +02:00
kolaente b1892eaf63 fix(mail): set server name in tls config so that sending mail works with skipTlsVerify set to false 2022-07-13 19:57:44 +02:00
TheEdgeOfRageandkonrad b9793a267b Add exec to run script to run app as PID 1 (#1200)
When running the docker container, the sh script will run as PID 1 and intercept any external signals (like docker stop) and won't pass it on to the app. Docker will wait for 10 seconds before proceeding to force kill the app, leading to both an unclean shutdown and an unnecessary wait of 10 seconds.

The exec in the script replaces the shell process with the `su` process, which correctly passes on signals to the app process and triggers a regular shutdown when doing a docker stop.

Co-authored-by: Pavle Portic <git@theedgeofrage.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1200
Reviewed-by: konrad <k@knt.li>
Co-authored-by: TheEdgeOfRage <git@theedgeofrage.com>
Co-committed-by: TheEdgeOfRage <git@theedgeofrage.com>
2022-07-12 14:02:31 +00:00
kolaente c906fc2b07 fix(mail): don't try to authenticate against the mail server when no credentials are provided
Related to https://github.com/go-vikunja/api/issues/34
2022-07-12 15:46:28 +02:00
kolaente 4bb77b5539 fix(mail): don't set a username by default 2022-07-12 11:49:23 +02:00
kolaente 5743a4afe5 fix: properly set tls config for mailer 2022-07-11 16:10:28 +02:00
kolaente 62325de9cd feat: use actual uuids for tasks 2022-07-11 14:54:33 +02:00
kolaente 8759937e3c feat(docs): add versions explanation 2022-07-08 00:14:01 +02:00
kolaente 5cc4927b9e fix: add missing error check 2022-07-07 23:23:15 +02:00
kolaente 2b074c60a7 fix(caldav): properly parse durations when returning VTODOs
Resolves https://github.com/go-vikunja/frontend/issues/55
2022-07-07 23:20:37 +02:00
kolaente f5a4c136fb fix: cycles in tasks array when memory caching was enabled
Resolves #1119
2022-07-07 18:34:49 +02:00
kolaente 230478aae9 fix: remove credential escaping for postgres connections to allow for passwords with special characters
Resolves https://github.com/go-vikunja/api/issues/22
2022-07-07 18:04:16 +02:00
kolaente 7e99618319 chore: upgrade trello api wrapper and remove fork 2022-07-07 16:21:33 +02:00
kolaente 73c4c399e5 feat: use embed fs directly to embed the logo in mails 2022-07-07 15:54:38 +02:00
kolaente 25ffa1bc2e fix: prevent logging openid provider errors twice 2022-07-07 15:47:37 +02:00
kolaente 4429ba2da1 fix(caldav): make sure the caldav tokens of non-local accounts are properly checked 2022-07-04 18:08:46 +02:00
renovateandkonrad db1ccff0de fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.14 (#1194)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1194
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-04 14:45:42 +00:00
renovateandkonrad 2c9ab3d86f fix(deps): update module github.com/go-testfixtures/testfixtures/v3 to v3.8.0 (#1168)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1168
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-07-04 14:45:09 +00:00
kolaente 951d74b272 fix: go mod tidy 2022-06-30 16:41:47 +02:00
kolaente a38efef734 fix(docs): clarify frontend requirements to use Vikunja 2022-06-30 16:40:38 +02:00
kolaente a060cbe820 chore(docs): clarify openid setup with environment variables 2022-06-30 16:27:06 +02:00
kolaente ad17ff5c32 fix(docs): image urls in synology setup explanation 2022-06-30 16:25:24 +02:00
kolaenteandGitea d0e09d69d0 fix: tests 2022-06-30 14:21:17 +00:00
kolaenteandGitea 7a30294407 fix: go mod tidy 2022-06-30 14:21:17 +00:00
kolaenteandGitea bc7f6a8586 fix: set the correct go version in go.mod 2022-06-30 14:21:17 +00:00
kolaenteandGitea f30a9d1038 chore(docs): add new mailer option to docs 2022-06-30 14:21:17 +00:00
kolaenteandGitea c62e26b6fe fix: revert renaming Attachments to Embeds everywhere 2022-06-30 14:21:17 +00:00
kolaenteandGitea f4f8450d16 feat: embed the vikunja logo as inline attachment 2022-06-30 14:21:17 +00:00
kolaenteandGitea 30e0e98f77 feat: migrate away from gomail 2022-06-30 14:21:17 +00:00
renovateandkonrad 12557163b2 fix(deps): update module github.com/stretchr/testify to v1.8.0 (#1191)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1191
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-06-29 21:36:48 +00:00
renovateandkonrad 8b82aab7aa fix(deps): update module github.com/golang-jwt/jwt/v4 to v4.4.2 (#1193)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1193
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-06-29 18:30:48 +00:00
renovateandkonrad 70018613da fix(deps): update module github.com/spf13/cobra to v1.5.0 (#1192)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1192
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-06-29 18:30:17 +00:00
kolaente 01271c4c01 feat: allow only the authors of task comments to edit them 2022-06-16 17:38:27 +02:00
kolaente d837f8a624 fix: add missing migration 2022-06-16 16:56:35 +02:00
kolaente 8869adfc27 feat: add setting to change overdue tasks reminder email time 2022-06-16 16:20:26 +02:00
renovateandkonrad 030bbfa47e fix(deps): update module github.com/swaggo/swag to v1.8.3 (#1185)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1185
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-06-16 12:47:17 +00:00
kolaente 7eb3b96a44 feat: send overdue tasks email notification at 9:00 in the user's time zone 2022-06-12 21:24:28 +02:00
kolaente 2f25b48869 feat: restrict max avatar size
resolves #1171
2022-06-12 18:29:12 +02:00
k2sandkonrad 172a6214d7 fix: VIKUNJA_SERVICE_JWT_SECRET should be VIKUNJA_SERVICE_JWTSECRET (#1184)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1184
Reviewed-by: konrad <k@knt.li>
Co-authored-by: k2s <k2s@noreply.kolaente.de>
Co-committed-by: k2s <k2s@noreply.kolaente.de>
2022-06-12 12:50:43 +00:00
renovateandkonrad 92a87cfe4f fix(deps): update module github.com/stretchr/testify to v1.7.2 (#1182)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1182
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-06-07 18:10:50 +00:00
renovateandkonrad 163a4624ee fix(deps): update module github.com/imdario/mergo to v0.3.13 (#1178)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1178
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-06-01 20:51:01 +00:00
renovateandkonrad 37a07aa677 fix(deps): update module gopkg.in/yaml.v3 to v3.0.1 (#1179)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1179
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-06-01 17:07:40 +00:00
konrad e52c45d5aa fix: sort tasks logically and consistent across dbms (#1177)
This PR changes the behavoir of sorting tasks. Before, tasks were sorted with null values first. Now, null values are always sorted last which is usually what you want.

Partial fix for https://github.com/go-vikunja/frontend/issues/54

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1177
2022-05-30 20:53:58 +00:00
acaa85083f feat: ability to serve static files (#1174)
Added the configuration key, `service.staticpath`, to serve files from the configuration path on root (/).

Serving static files allows the api service to also serve the frontend content. This is a simple option for deploying Vikunja without needing any other servers or proxies.

Running a complete instance becomes:

    VIKUNJA_SERVICE_STATICPATH=/path/to/frontend ./vikunja

Where `/path/to/frontend` is a copy of Vikunja's frontend static files.

## Implementation

Providing a path, via the configuration or environment, adds a static file middleware to serve the path's contents from root (/).

By default, the configuration path is empty and Vikunja's existing behaviour is unchanged.

Co-authored-by: Graham Miln <graham.miln@dssw.co.uk>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1174
Reviewed-by: konrad <k@knt.li>
Co-authored-by: grahammiln <grahammiln@noreply.kolaente.de>
Co-committed-by: grahammiln <grahammiln@noreply.kolaente.de>
2022-05-23 20:49:28 +00:00
kolaente f5ebada913 fix: set derived default values only after reading config from file or env 2022-05-23 22:12:15 +02:00
renovateandkonrad 7b10176a10 fix(deps): update module github.com/lib/pq to v1.10.6 (#1169)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1169
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-05-16 20:58:16 +00:00
renovateandkonrad 3ab0ac9f27 fix(deps): update module github.com/swaggo/swag to v1.8.2 (#1167)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1167
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-05-15 19:57:00 +00:00
renovateandkonrad dc5faaf2cf fix(deps): update module github.com/coreos/go-oidc/v3 to v3.2.0 (#1164)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1164
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-05-14 15:09:22 +00:00
renovateandkonrad 85be5a7bcd fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.13 (#1165)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1165
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-05-14 15:08:28 +00:00
renovateandkonrad 9ab00fd2e6 fix(deps): update module github.com/prometheus/client_golang to v1.12.2 (#1166)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1166
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-05-14 15:07:58 +00:00
kolaente 9845fcc170 fix: add more methods to figure out the current binary location 2022-05-08 21:54:26 +02:00
renovateandkonrad b4f57dc3e1 fix(deps): update module github.com/yuin/goldmark to v1.4.12 (#1162)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1162
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-04-24 15:38:36 +00:00
4960a498ff Add client-cert parameters of the Go pq driver to the Vikunja config (#1161)
Co-authored-by: tuxthepenguin <tux@saturnv.uphus-internal.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1161
Reviewed-by: konrad <k@knt.li>
Co-authored-by: tuxthepenguin <tuxthepenguin@noreply.kolaente.de>
Co-committed-by: tuxthepenguin <tuxthepenguin@noreply.kolaente.de>
2022-04-23 15:46:00 +00:00
Subhaditya NathandGitHub 96e519ea96 fix: broken link (#27) 2022-04-18 21:00:46 +02:00
renovateandkonrad 81a18661ad fix(deps): update module github.com/spf13/viper to v1.11.0 (#1159)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1159
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-04-18 17:33:19 +00:00
renovateandkonrad fabd3471a8 fix(deps): update module github.com/lib/pq to v1.10.5 (#1157)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1157
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-04-08 19:56:37 +00:00
renovateandkonrad 8cdbc78b1c fix(deps): update module github.com/spf13/cobra to v1.4.0 (#1145)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1145
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-04-01 19:17:32 +00:00
renovateandkonrad 91c89931f8 fix(deps): update module github.com/yuin/goldmark to v1.4.11 (#1143)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1143
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-04-01 15:55:57 +00:00
konrad e4b50e84a4 feat: add caldav tokens (#1065)
# Description

This PR adds API routes to create and manage caldav tokens. These tokens can be used instead of a user password - required for users who are using external auth providers and don't have a password.

Fixes #842

Frontend: https://kolaente.dev/vikunja/frontend/pulls/1186

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1065
2022-03-30 18:25:56 +00:00
kolaenteandGitea 726a517bec chore: go mod tidy 2022-03-30 16:36:07 +00:00
kolaenteandGitea de97fcbd12 fix: lint 2022-03-30 16:36:07 +00:00
kolaenteandGitea d3bdafb717 fix: decoding images for blurHash generation 2022-03-30 16:36:07 +00:00
kolaenteandGitea e19ad11846 fix: go mod tidy 2022-03-30 16:36:07 +00:00
kolaenteandGitea 6b51fae093 fix: return BlurHash in unsplash search results 2022-03-30 16:36:07 +00:00
kolaenteandGitea ba2bdff391 chore: generate swagger docs 2022-03-30 16:36:07 +00:00
kolaenteandGitea 7fa0865188 fix: lint 2022-03-30 16:36:07 +00:00
kolaenteandGitea 6df865876d feat: return BlurHash for unsplash search results 2022-03-30 16:36:07 +00:00
kolaenteandGitea 2ec7d7a8a8 feat: save BlurHash from unsplash when selecting a photo from unsplash 2022-03-30 16:36:07 +00:00
kolaenteandGitea f83b09af59 feat: generate a BlurHash when uploading a new image 2022-03-30 16:36:07 +00:00
kolaenteandGitea 362706b38d feat: add migration to create BlurHash strings for all list backgrounds 2022-03-30 16:36:07 +00:00
renovateandkonrad 1fa1cd365e fix(deps): update module github.com/swaggo/swag to v1.8.1 (#1156)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1156
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-30 15:51:03 +00:00
konrad 0a1d8c9404 feat: add date math for filters (#1086)
This adds support for relative dates in filters, similar to the ones from [grafana](https://grafana.com/docs/grafana/latest/dashboards/time-range-controls) or [elasticsearch](https://www.elastic.co/guide/en/elasticsearch/reference/7.3/common-options.html#date-math).

In short, it allows you to filter for due dates by passing in dates like "now - 7d" to get a date from 7 days ago.

This is a very powerful addition for saved filters as they will allow you to create filters for all kinds of stuff where you previously only could use fixed dates. Now you can for example create a saved filter for "all tasks this week".

Frontend PR: https://kolaente.dev/vikunja/frontend/pulls/1342

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1086
2022-03-27 20:35:04 +00:00
konradandrenovate d08dcc4e44 A bunch of dependency updates at once (#1155)
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1155
2022-03-27 19:21:36 +00:00
kolaente ac6818a476 fix: checking for error types 2022-03-27 17:52:33 +02:00
kolaente 5cf263a86f feat: upgrade golangci-lint to 1.45.2 2022-03-27 16:55:37 +02:00
renovateandkonrad 09c0d14444 fix(deps): update module github.com/stretchr/testify to v1.7.1 (#1148)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1148
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-15 22:21:40 +00:00
renovateandkonrad da0bcc6322 fix(deps): update module github.com/labstack/echo/v4 to v4.7.1 (#1146)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1146
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-13 19:17:28 +00:00
renovateandkonrad f5b0c603a3 chore(deps): update klakegg/hugo docker tag to v0.93.3 (#1142)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1142
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-13 15:59:41 +00:00
renovateandkonrad aa30baf1bc fix(deps): update golang.org/x/sys commit hash to b874c99 (#1141)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1141
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-10 06:54:02 +00:00
renovateandkonrad 581dcd41f1 fix(deps): update golang.org/x/oauth2 commit hash to 6242fa9 (#1140)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/oauth2](https://github.com/golang/oauth2) | require | digest | `ee48083` -> `6242fa9` |

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1140
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-09 16:26:50 +00:00
renovateandkonrad d013020268 fix(deps): update golang.org/x/crypto commit hash to efcb850 (#1139)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1139
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-07 22:27:03 +00:00
renovateandkonrad bc8a02d794 fix(deps): update golang.org/x/sys commit hash to 22a9840 (#1138)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1138
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-07 21:56:23 +00:00
kolaente b60c69c5a8 chore: cleanup namespace creation 2022-03-06 17:09:05 +01:00
renovateandkonrad 9d816205da chore(deps): update klakegg/hugo docker tag to v0.93.2 (#1137)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1137
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-06 13:14:51 +00:00
kolaente 8aa646e4d9 chore(docs): redirect properly from /docs/docs 2022-03-06 13:42:07 +01:00
renovateandkonrad b167aac624 fix(deps): update module github.com/yuin/goldmark to v1.4.8 (#1136)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1136
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-05 11:09:10 +00:00
kolaente 75f74b429e fix: validate email address when creating a user via cli 2022-03-04 19:58:40 +01:00
renovateandkonrad 21541bc118 chore(deps): update klakegg/hugo docker tag to v0.93.0 (#1135)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1135
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-04 14:06:12 +00:00
renovateandkonrad 72ee84d43d fix(deps): update module github.com/labstack/echo/v4 to v4.7.0 (#1134)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1134
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-03 08:23:42 +00:00
renovateandkonrad f2f6cc68d9 fix(deps): update golang.org/x/image commit hash to 723b81c (#1133)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1133
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-03-02 10:37:17 +00:00
renovateandkonrad c870627644 fix(deps): update golang.org/x/sys commit hash to 4e6760a (#1131)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1131
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-28 06:51:29 +00:00
renovateandkonrad edc5084278 fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.12 (#1132)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1132
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-28 06:51:08 +00:00
kolaente 82158d7718 fix(docs): don't use cannonify url 2022-02-25 14:25:03 +01:00
renovateandkonrad 16a98a5c70 fix(deps): update golang.org/x/oauth2 commit hash to ee48083 (#1128)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1128
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-24 15:17:36 +00:00
renovateandkonrad f77f2387b6 fix(deps): update golang.org/x/sys commit hash to 95c6836 (#1130)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1130
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-24 14:03:30 +00:00
renovateandkonrad a423e111e9 fix(deps): update golang.org/x/sys commit hash to dbe011f (#1129)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1129
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-24 07:36:49 +00:00
renovateandkonrad f96c2fe23f chore(deps): update klakegg/hugo docker tag to v0.92.2 (#1127)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1127
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-23 08:00:21 +00:00
renovateandkonrad 81ab23385f fix(deps): update golang.org/x/sys commit hash to f242548 (#1126)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1126
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-23 07:12:52 +00:00
renovateandkonrad 325ba622e0 fix(deps): update golang.org/x/sys commit hash to 0005352 (#1125)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1125
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-22 20:52:32 +00:00
renovateandkonrad cda78ea702 fix(deps): update module github.com/swaggo/swag to v1.8.0 (#1124)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1124
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-22 13:56:36 +00:00
kolaente 8bf2254f4b fix: restoring dumps with no config file saved in them 2022-02-19 17:46:10 +01:00
kolaente 22e3f242a3 fix: disabling logging completely now works 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 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
renovateandkonrad 2bc82bc1a0 fix(deps): update module github.com/yuin/goldmark to v1.4.7 (#1123)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1123
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-18 20:25:20 +00:00
kolaente 43f1daf40c fix: microsoft todo migration not importing all tasks
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
renovateandkonrad 545999cf5e fix(deps): update module github.com/yuin/goldmark to v1.4.6 (#1122)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1122
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-17 22:35:36 +00:00
renovateandkonrad c8aab8a8ad fix(deps): update golang.org/x/crypto commit hash to 8634188 (#1121)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1121
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-17 12:04:47 +00:00
renovateandkonrad 7978c91d09 fix(deps): update golang.org/x/crypto commit hash to f4118a5 (#1118)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1118
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-10 19:16:06 +00:00
renovateandkonrad 519675ab23 fix(deps): update golang.org/x/crypto commit hash to db63837 (#1115)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1115
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-10 10:38:08 +00:00
renovateandkonrad 4e257b82a3 fix(deps): update golang.org/x/sys commit hash to 3681064 (#1116)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1116
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-10 10:37:49 +00:00
renovateandkonrad 386412caca fix(deps): update module github.com/golang-jwt/jwt/v4 to v4.3.0 (#1117)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1117
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-10 10:37:26 +00:00
renovateandkonrad 8f10a852c2 fix(deps): update golang.org/x/crypto commit hash to dad3315 (#1114)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1114
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-09 16:32:41 +00:00
renovateandkonrad d056d2df51 fix(deps): update golang.org/x/crypto commit hash to bba287d (#1113)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1113
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-09 06:47:42 +00:00
renovateandkonrad 4432ebf4a5 fix(deps): update module github.com/yuin/goldmark to v1.4.5 (#1112)
://community.spotify.com/t5/Content-Questions/How-to-disable-all-podcasts/td-p/5180261 PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/yuin/goldmark](https://github.com/yuin/goldmark) | require | patch | `v1.4.4` -> `v1.4.5` |

---

### Release Notes

<details>
<summary>yuin/goldmark</summary>

### [`v1.4.5`](https://github.com/yuin/goldmark/compare/v1.4.4...v1.4.5)

[Compare Source](https://github.com/yuin/goldmark/compare/v1.4.4...v1.4.5)

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1112
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-08 10:39:26 +00:00
renovateandkonrad c5611f79ea fix(deps): update golang.org/x/crypto commit hash to 20e1d8d (#1111)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1111
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-08 06:39:35 +00:00
renovateandkonrad d2adf00790 fix(deps): update golang.org/x/sys commit hash to 5739886 (#1110)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1110
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-08 06:38:51 +00:00
konrad 1322cb16d7 feat: add long-lived api tokens (#1085)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1085
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2022-02-06 13:18:08 +00:00
renovateandkonrad 2598550e49 fix(deps): update module github.com/spf13/afero to v1.8.1 (#1108)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1108
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-05 12:10:39 +00:00
renovateandkonrad 9196826390 fix(deps): update golang.org/x/sys commit hash to 1c1b9b1 (#1107)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1107
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-04 14:36:59 +00:00
renovateandkonrad 6cbad9546a fix(deps): update module github.com/swaggo/swag to v1.7.9 (#1106)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1106
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-03 22:54:32 +00:00
renovateandkonrad df35531e70 fix(deps): update golang.org/x/crypto commit hash to 30dcbda (#1105)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1105
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-02-01 06:54:10 +00:00
renovateandkonrad daa7d26b3d chore(deps): update klakegg/hugo docker tag to v0.92.1 (#1104)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1104
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-30 13:29:54 +00:00
renovateandkonrad 272fd6dabf chore(deps): update klakegg/hugo docker tag to v0.92.0 (#1103)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1103
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-30 11:06:12 +00:00
kolaente 1d8d0f140e chore: sign drone config 2022-01-29 23:31:58 +01:00
kolaente 7af4761cc3 fix(docs): use up-to-date hugo image for building 2022-01-29 23:31:14 +01:00
renovateandkonrad 7a27e1317f fix(deps): update module github.com/prometheus/client_golang to v1.12.1 (#1102)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1102
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-29 16:11:35 +00:00
renovateandkonrad 59a1e8d0a9 fix(deps): update golang.org/x/sys commit hash to 99c3d69 (#1101)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1101
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-28 22:45:06 +00:00
renovateandkonrad 4e7ceb22dd fix(deps): update golang.org/x/crypto commit hash to 198e437 (#1100)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1100
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-28 22:44:53 +00:00
renovateandkonrad b615f06da3 fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.11 (#1099)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1099
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-28 20:04:24 +00:00
renovateandkonrad 7c6fc41543 fix(deps): update golang.org/x/crypto commit hash to aa10faf (#1098)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1098
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-27 09:27:55 +00:00
renovateandkonrad 230c784f55 fix(deps): update golang.org/x/crypto commit hash to e04a857 (#1097)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1097
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-26 19:26:28 +00:00
kolaente 049ae39c62 docs: add guide for Synology NAS 2022-01-25 22:40:19 +01:00
shilchandkonrad f7a06e4644 Enable a list to be moved across namespaces (#1096)
Co-authored-by: Simon Hilchenbach <simon@hilchenba.ch>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
kolaente da318e3db1 docs: update testing 2022-01-23 11:49:03 +01:00
renovateandkonrad bb88beb417 fix(deps): update module github.com/prometheus/client_golang to v1.12.0 (#1094)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1094
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-19 09:29:02 +00:00
konrad 61d49c3a56 feat: add time zone setting for reminders (#1092)
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: https://kolaente.dev/vikunja/api/pulls/1092
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2022-01-16 11:05:56 +00:00
renovateandkonrad e116fbad79 fix(deps): update golang.org/x/sys commit hash to da31bd3 (#1093)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1093
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-15 20:28:17 +00:00
renovateandkonrad f255fb2d5c fix(deps): update golang.org/x/crypto commit hash to 5e0467b (#1091)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1091
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-12 19:40:20 +00:00
renovateandkonrad 4aa045d710 fix(deps): update golang.org/x/sys commit hash to 5a964db (#1090)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1090
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-11 10:34:09 +00:00
renovateandkonrad b316a412ed fix(deps): update golang.org/x/sys commit hash to a018aaa (#1088)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1088
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-10 21:25:18 +00:00
renovateandkonrad a9296d807f fix(deps): update module github.com/labstack/echo/v4 to v4.6.3 (#1089)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [github.com/labstack/echo/v4](https://github.com/labstack/echo) | require | patch | `v4.6.2` -> `v4.6.3` |

---

### Release Notes

<details>
<summary>labstack/echo</summary>

### [`v4.6.3`](https://github.com/labstack/echo/blob/master/CHANGELOG.md#v463---2022-01-10)

[Compare Source](https://github.com/labstack/echo/compare/v4.6.2...v4.6.3)

**Fixes**

-   Fixed Echo version number in greeting message which was not incremented to `4.6.2` [#&#8203;2066](https://github.com/labstack/echo/issues/2066)

</details>

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1089
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-10 21:24:23 +00:00
renovateandkonrad 614dcaeb9d fix(deps): update module github.com/labstack/echo/v4 to v4.6.2 (#1084)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1084
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-08 10:54:46 +00:00
renovateandkonrad 832b7184f3 fix(deps): update module github.com/spf13/afero to v1.8.0 (#1083)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1083
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-01-05 11:44:50 +00:00
renovateandkonrad 8fb597cae2 fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.10 (#1082)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1082
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-29 16:05:22 +00:00
renovateandkonrad 64cc299fb1 fix(deps): update module github.com/spf13/afero to v1.7.1 (#1081)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1081
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-29 13:33:59 +00:00
renovateandkonrad fbf271978d fix(deps): update module github.com/spf13/afero to v1.7.0 (#1078)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1078
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-25 20:56:04 +00:00
renovateandkonrad 514c11d342 fix(deps): update module github.com/swaggo/swag to v1.7.8 (#1080)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1080
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-25 20:21:36 +00:00
renovateandkonrad 7b2fe5db50 fix(deps): update module github.com/getsentry/sentry-go to v0.12.0 (#1079)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1079
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-23 08:51:14 +00:00
MikeandGitHub a4c85fed55 feat(docs): add details of using NGINX Proxy Manager to the Reverse Proxy docs (#13) 2021-12-19 19:54:18 +01:00
renovateandkonrad 9d8f9d9de9 fix(deps): update module github.com/magefile/mage to v1.12.1 (#1077)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1077
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-19 17:30:08 +00:00
renovateandkonrad c2e8a8ad98 fix(deps): update module github.com/magefile/mage to v1.12.0 (#1076)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1076
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-17 06:52:28 +00:00
renovateandkonrad 5e4d632e79 fix(deps): update golang.org/x/sys commit hash to 1d35b9e (#1075)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1075
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-16 12:30:20 +00:00
renovateandkonrad 402c34fb12 fix(deps): update golang.org/x/sys commit hash to 4abf325 (#1074)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1074
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-15 22:30:24 +00:00
renovateandkonrad 94fff0ac88 fix(deps): update golang.org/x/crypto commit hash to e495a2d (#1073)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1073
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-15 16:14:35 +00:00
renovateandkonrad 62c3dec6e3 fix(deps): update module github.com/spf13/viper to v1.10.1 (#1072)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1072
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-15 14:47:10 +00:00
renovateandkonrad c5d831ec7c fix(deps): update golang.org/x/sys commit hash to 4825e8c (#1071)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1071
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-15 07:46:53 +00:00
renovateandkonrad 351d72f02d fix(deps): update module github.com/spf13/cobra to v1.3.0 (#1070)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1070
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-14 20:39:53 +00:00
renovateandkonrad 4752888c06 fix(deps): update golang.org/x/sys commit hash to 3b038e5 (#1068)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1068
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-14 19:33:50 +00:00
renovateandkonrad d31c0dfeac fix(deps): update golang.org/x/sys commit hash to 03aa0b5 (#1067)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1067
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-14 08:31:37 +00:00
kolaente a31086a7a9 fix: lint 2021-12-12 16:03:58 +01:00
kolaente a98119f2d6 feat: save user language in the settings 2021-12-12 15:39:47 +01:00
kolaente 8bb3f8d37c fix: importing archived lists or namespaces 2021-12-12 13:18:01 +01:00
kolaente 190a9f2a4c fix: friendly name not getting synced on first login from openid
Resolves #874
2021-12-12 12:35:13 +01:00
kolaente 5c88dfe88e fix: user deletion schedule 2021-12-12 12:29:05 +01:00
kolaente 70e005e7ce fix: user not actually deleted 2021-12-12 12:28:18 +01:00
kolaente f581885e65 fix: user deletion reminder emails counting up
Resolves #1014
2021-12-12 12:24:42 +01:00
kolaente 72d3c54efd fix: user deletion never happens
Resolves #1024
2021-12-12 12:04:17 +01:00
renovateandkonrad 2f0a36eb47 fix(deps): update module github.com/spf13/viper to v1.10.0 (#1064)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1064
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-12 10:01:46 +00:00
renovateandkonrad 22e1a4f151 fix(deps): update golang.org/x/sys commit hash to af8b642 (#1063)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1063
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-11 16:35:04 +00:00
renovateandkonrad a9ff6b7561 fix(deps): update golang.org/x/sys commit hash to 798191b (#1061)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1061
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-10 18:24:23 +00:00
renovateandkonrad 24e1460e04 fix(deps): update golang.org/x/crypto commit hash to 4570a08 (#1062)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1062
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-10 18:24:09 +00:00
konrad 73ee696fc3 feat: add marble avatar (#1060)
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: https://kolaente.dev/vikunja/api/pulls/1060
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-12-07 21:11:23 +00:00
kolaente 13561f2114 docs: improve wording for systemd
(cherry picked from commit 094138b0c55a1d2013615275362749b77bb4dc9a)
2021-12-07 18:35:39 +01:00
renovateandkonrad f9724181b1 fix(deps): update golang.org/x/sys commit hash to 97ca703 (#1059)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1059
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-05 19:23:14 +00:00
renovateandkonrad 87515d133d fix(deps): update golang.org/x/sys commit hash to 94396e4 (#1058)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1058
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-04 13:54:04 +00:00
renovateandkonrad acc4a8a294 fix(deps): update module github.com/golang-jwt/jwt/v4 to v4.2.0 (#1057)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1057
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-04 13:53:05 +00:00
renovateandkonrad 9194ac6776 fix(deps): update golang.org/x/crypto commit hash to 5770296 (#1056)
This PR contains the following updates:

| Package | Type | Update | Change |
|---|---|---|---|
| [golang.org/x/crypto](https://github.com/golang/crypto) | require | digest | `ae814b3` -> `5770296` |

---

### Configuration

📅 **Schedule**: At any time (no schedule defined).

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box.

---

This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1056
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-12-02 20:11:49 +00:00
kolaente 6ece909286 chore(docs): update docs about compiling from source 2021-11-28 12:56:46 +01:00
kolaente 445cc4f79d fix(docs): update minimum required go version 2021-11-28 12:49:15 +01:00
renovateandkonrad d75a13891a fix(deps): update module github.com/swaggo/swag to v1.7.6 (#1055)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1055
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-28 11:43:33 +00:00
renovateandkonrad 922eac6029 fix(deps): update golang.org/x/sys commit hash to fe61309 (#1054)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1054
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-25 06:07:45 +00:00
kolaente fd0d462bf4 fix: importing tasks from todoist without a due time set
Resolves #897
2021-11-23 22:29:57 +01:00
renovateandkonrad 86480ad969 fix(deps): update golang.org/x/sys commit hash to ef496fb (#1052)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1052
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-23 18:11:56 +00:00
kolaente f8a0a7e953 fix: deleting users with no namespaces
resolves #984
2021-11-22 22:34:20 +01:00
renovateandkonrad b0622732a1 fix(deps): update golang.org/x/sys commit hash to dee7805 (#1051)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1051
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-17 19:13:59 +00:00
renovateandkonrad 072b82412b fix(deps): update golang.org/x/crypto commit hash to ae814b3 (#1050)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1050
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-17 19:13:46 +00:00
renovateandkonrad ea539cc284 fix(deps): update module github.com/ulule/limiter/v3 to v3.9.0 (#1049)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1049
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-17 17:57:27 +00:00
Joseph KavanaghandGitHub 36bf3d216a feat: gravatar - Lowercase emails before MD5 hash (#10) 2021-11-16 22:10:22 +01:00
renovateandkonrad efd0970971 fix(deps): update golang.org/x/crypto commit hash to b4de73f (#1047)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1047
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-16 20:54:16 +00:00
renovateandkonrad 677ca03489 fix(deps): update golang.org/x/sys commit hash to 0a5406a (#1048)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1048
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-16 20:54:01 +00:00
kolaente 1fa74cba64 docs: add another tutorial link 2021-11-16 21:17:53 +01:00
kolaente 0b7762590f fix: lint 2021-11-16 20:37:37 +01:00
kolaente c3e0e6405a fix: importing trello attachments
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
resolves #786
2021-11-14 21:03:55 +01:00
kolaente 88a2cede19 feat: use wallpaper topic for default unsplash background list 2021-11-14 20:47:15 +01:00
kolaente 093d0c65ca feat: enable rate limit for unauthenticated routes 2021-11-14 20:42:33 +01:00
renovateandkonrad da2d5e41c7 fix(deps): update module github.com/yuin/goldmark to v1.4.4 (#1046)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1046
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-14 11:14:35 +00:00
kolaente 9bf32aae99 docs: improve development docs 2021-11-13 18:20:23 +01:00
kolaente 2aea1691cf docs: add postgres to docker-compose examples 2021-11-13 18:08:57 +01:00
kolaente 4829c89940 docs: update backup instructions 2021-11-13 18:00:49 +01:00
kolaente cf05de19b3 fix: updating a list might remove its background
resolves #1039
2021-11-13 17:52:14 +01:00
renovateandkonrad 2ae1da473e fix(deps): update golang.org/x/sys commit hash to 0c823b9 (#1045)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1045
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-13 13:31:17 +00:00
renovateandkonrad 62361d8ad9 fix(deps): update golang.org/x/sys commit hash to f221eed (#1044)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1044
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-12 06:56:18 +00:00
renovateandkonrad 98316a04b2 fix(deps): update golang.org/x/sys commit hash to 99a5385 (#1043)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1043
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-10 17:16:01 +00:00
renovateandkonrad ae192c1291 fix(deps): update golang.org/x/sys commit hash to 51b60fd (#1042)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1042
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-09 21:02:29 +00:00
renovateandkonrad e3210a11df fix(deps): update module github.com/lib/pq to v1.10.4 (#1040)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1040
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-09 07:14:03 +00:00
renovateandkonrad 5763aca428 fix(deps): update golang.org/x/crypto commit hash to ceb1ce7 (#1041)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1041
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-09 07:13:37 +00:00
renovateandkonrad 609497d08c fix(deps): update module github.com/yuin/goldmark to v1.4.3 (#1038)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1038
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-08 11:36:38 +00:00
renovateandkonrad b92c370d6d fix(deps): update golang.org/x/sys commit hash to e0b2ad0 (#1037)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1037
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-07 12:17:43 +00:00
renovateandkonrad 0b707369d0 fix(deps): update golang.org/x/sys commit hash to ebca88c (#1035)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1035
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-06 20:29:05 +00:00
renovateandkonrad e64f06fabc fix(deps): update golang.org/x/sys commit hash to c75c477 (#1034)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1034
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-05 21:31:57 +00:00
renovateandkonrad bcfaa78c1a fix(deps): update module github.com/labstack/gommon to v0.3.1 (#1033)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1033
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-05 11:03:42 +00:00
renovateandkonrad 29eb0765f3 fix(deps): update golang.org/x/oauth2 commit hash to d3ed0bb (#1032)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1032
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-04 21:28:37 +00:00
renovateandkonrad 473692cf7a fix(deps): update golang.org/x/sys commit hash to 7861aae (#1031)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1031
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-04 05:50:10 +00:00
renovateandkonrad b9819de157 fix(deps): update golang.org/x/sys commit hash to ae416a5 (#1030)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1030
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-03 19:13:48 +00:00
renovateandkonrad b3e520427b fix(deps): update golang.org/x/sys commit hash to 4dd7244 (#1029)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1029
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-02 20:31:19 +00:00
renovateandkonrad cb74337738 fix(deps): update golang.org/x/sys commit hash to a2f17f7 (#1028)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1028
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-02 12:52:59 +00:00
renovateandkonrad a03d119a06 fix(deps): update golang.org/x/sys commit hash to 39c9dd3 (#1027)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1027
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-11-01 21:33:48 +00:00
kolaente 2683ef23d5 feat: expose if a user is a local user through the /user endpoint 2021-10-31 13:57:19 +01:00
kolaente 516c812043 feat: expose if a user is a local user through its jwt token 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 cc612d505f docs: make sure all links to vikunja pages are https 2021-10-31 11:23:42 +01:00
renovateandkonrad 53703dd0c4 fix(deps): update golang.org/x/sys commit hash to 611d5d6 (#1026)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1026
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-31 09:16:18 +00:00
renovateandkonrad 068ad56d2b fix(deps): update golang.org/x/sys commit hash to b3129d9 (#1025)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1025
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-30 18:06:39 +00:00
renovateandkonrad a20cbc99fd fix(deps): update golang.org/x/sys commit hash to 6e78728 (#1024)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1024
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-29 17:33:07 +00:00
renovateandkonrad eb47161c64 fix(deps): update golang.org/x/image commit hash to 6944b10 (#1023)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1023
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-28 21:19:49 +00:00
renovateandkonrad b194715690 fix(deps): update golang.org/x/oauth2 commit hash to ba495a6 (#1022)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1022
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-28 20:26:11 +00:00
kolaente 8f55af07c9 feat: add more debug logging when deleting users
related to #1021
2021-10-27 22:08:31 +02:00
renovateandkonrad 9869fd694a fix(deps): update golang.org/x/sys commit hash to 69cdffd (#1020)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1020
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-25 21:15:15 +00:00
renovateandkonrad ff7270838e fix(deps): update golang.org/x/sys commit hash to 711f33c (#1019)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1019
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-25 16:19:50 +00:00
renovateandkonrad 4bdf147c89 fix(deps): update module github.com/swaggo/swag to v1.7.4 (#1018)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1018
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-25 16:19:21 +00:00
renovateandkonrad 1443f8aa2d fix(deps): update golang.org/x/sys commit hash to d6a326f (#1017)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1017
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-23 11:57:43 +00:00
renovateandkonrad af306e5ad3 fix(deps): update golang.org/x/sys commit hash to 8e51046 (#1016)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1016
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-23 06:02:24 +00:00
renovateandkonrad 9fbda1d503 fix(deps): update module github.com/yuin/goldmark to v1.4.2 (#1012)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1012
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-21 17:11:46 +00:00
renovateandkonrad 445703e155 fix(deps): update golang.org/x/sys commit hash to 9d61738 (#1011)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1011
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-20 18:55:56 +00:00
renovateandkonrad 4c05912633 fix(deps): update golang.org/x/sys commit hash to 0ec99a6 (#1010)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1010
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-20 07:17:11 +00:00
renovateandkonrad 8dfbb2c344 fix(deps): update golang.org/x/sys commit hash to 9d821ac (#1009)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1009
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-19 19:56:31 +00:00
renovateandkonrad 84fe135f69 fix(deps): update module github.com/mattn/go-sqlite3 to v1.14.9 (#1008)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1008
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-19 15:52:30 +00:00
renovateandkonrad 0a6e6dcac1 fix(deps): update module github.com/go-redis/redis/v8 to v8.11.4 (#1003)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1003
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-17 12:56:28 +00:00
jayden-candkonrad dcb52c00f1 feat: improve account deletion email grammar (#1006)
Co-authored-by: Jayden Chan <jaydencn7@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
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 2021-10-16 16:50:16 +02:00
kolaente c2b6119434 fix: make sure the full task is available in notifications 2021-10-16 16:38:59 +02:00
renovateandkonrad f46c1c5d13 chore(deps): update postgres docker tag to v14 (#1005)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1005
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-16 14:31:04 +00:00
renovateandkonrad 66589ca37d fix(deps): update module github.com/gabriel-vasile/mimetype to v1.4.0 (#1004)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1004
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-15 21:50:50 +00:00
renovateandkonrad 45a8c63015 fix(deps): update golang.org/x/sys commit hash to 69063c4 (#1001)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1001
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-15 21:50:32 +00:00
renovateandkonrad fce8b89b45 fix(deps): update golang.org/x/oauth2 commit hash to 6b3c2da (#1000)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/1000
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-10-15 20:19:29 +00:00
stephen-hillandkonrad 82a3330412 Added the ability to configure the JWT expiry date using a new server.jwtttl config parameter. (#999)
Co-authored-by: Stephen Hill <stephen@gatekiller.co.uk>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
fb9fa27488 healthcheck endpoint (#998)
Co-authored-by: Igor Rzegocki <igor@rzegocki.pl>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
kolaente cd6cd840a2 chore(ci): sign drone config 2021-10-02 16:36:07 +02:00
kolaente c2f33868c8 chore(ci): use latest version of s3 plugin 2021-10-02 16:31:06 +02:00
kolaente 73a99ebd92 chore(mage): don't set api packages when they are not used 2021-10-02 15:40:56 +02:00
kolaente 68998e90a4 docs: fix api url in docker examples without a proxy 2021-09-29 20:38:09 +02:00
renovateandkonrad c67456d420 fix(deps): update golang.org/x/term commit hash to 03fcf44 (#996)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/996
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-28 07:04:56 +00:00
renovateandkonrad 2ab27c72f2 fix(deps): update golang.org/x/sys commit hash to 39ccf1d (#995)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/995
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-27 10:57:11 +00:00
renovateandkonrad df5c5e3be2 fix(deps): update golang.org/x/sys commit hash to 1cf2251 (#994)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/994
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-27 08:05:48 +00:00
renovateandkonrad 1f067930a2 fix(deps): update module github.com/labstack/echo/v4 to v4.6.1 (#993)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/993
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-26 16:25:10 +00:00
renovateandkonrad 0ca1560bf1 fix(deps): update module github.com/swaggo/swag to v1.7.3 (#990)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-09-26 14:18:44 +02:00
kolaente ae8db176db feat: expose if task comments are enabled or not in /info 2021-09-26 13:37:57 +02:00
renovateandkonrad 56efbdc297 fix(deps): update golang.org/x/sys commit hash to 92d5a99 (#992)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/992
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-25 06:34:41 +00:00
renovateandkonrad 4764a8e4f0 fix(deps): update module github.com/golang-jwt/jwt/v4 to v4.1.0 (#991)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/991
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-25 06:34:22 +00:00
kolaente dbd6f36da6 docs: add another youtube tutorial 2021-09-24 22:11:03 +02:00
kolaente 4255bc3a94 docs: add docker-compose example with no proxy 2021-09-24 20:45:37 +02:00
kolaente bb086eb9f8 feat: add better error logs for mage commands 2021-09-24 20:03:38 +02:00
renovateandkonrad c4da0b424b fix(deps): update golang.org/x/sys commit hash to b8560ed (#989)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/989
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-23 18:36:23 +00:00
renovateandkonrad 037457e865 fix(deps): update module github.com/labstack/echo/v4 to v4.6.0 (#988)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/988
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-21 20:08:42 +00:00
renovateandkonrad e51f125931 fix(deps): update golang.org/x/term commit hash to 140adaa (#983)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/983
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-21 19:40:27 +00:00
renovateandkonrad 57d447b165 fix(deps): update golang.org/x/crypto commit hash to 089bfa5 (#979)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/979
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-21 19:40:15 +00:00
renovateandkonrad 4136255c67 fix(deps): update module github.com/spf13/viper to v1.9.0 (#987)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/987
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-21 16:18:39 +00:00
renovateandkonrad 0f2013f915 fix(deps): update module github.com/coreos/go-oidc/v3 to v3.1.0 (#985)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/985
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-21 16:18:19 +00:00
renovateandkonrad 0ca31aed28 fix(deps): update module github.com/yuin/goldmark to v1.4.1 (#976)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/976
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-21 16:18:02 +00:00
renovateandkonrad 351fe1f624 fix(deps): update golang.org/x/sys commit hash to 437939a (#975)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/975
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-21 16:17:50 +00:00
renovateandkonrad abfdae0012 fix(deps): update golang.org/x/sys commit hash to 528a39c (#974)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/974
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-09 22:22:38 +00:00
renovateandkonrad 5f5936c972 fix(deps): update golang.org/x/sys commit hash to aa78b53 (#973)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/973
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-09 16:16:28 +00:00
renovateandkonrad 111ac92619 fix(deps): update golang.org/x/sys commit hash to a851e7d (#972)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/972
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-08 20:17:39 +00:00
kolaente bf00ea4939 0.18.1 release preparations 2021-09-08 19:46:02 +02:00
kolaente 465f6d90ab Fix tasks not exported 2021-09-08 18:40:54 +02:00
renovateandkonrad 07bda3eae3 fix(deps): update golang.org/x/sys commit hash to c212e73 (#971)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/971
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-08 16:22:29 +00:00
kolaente 03d818fd9f Fix tmp export file created in the wrong path 2021-09-08 17:44:23 +02:00
kolaente f019ae42bb Fix exporting tasks from archived lists 2021-09-08 17:40:33 +02:00
kolaente 9000f2c3cd Fix lint 2021-09-07 19:09:44 +02:00
kolaente cc1bb3083f Don't try to export items which do not have a parent 2021-09-06 22:14:38 +02:00
kolaente be47459c14 Docs: Add another third-party tutorial link 2021-09-06 21:15:04 +02:00
renovateandkonrad 086f005e3d fix(deps): update golang.org/x/sys commit hash to 6f6e228 (#970)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/970
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-06 19:02:33 +00:00
kolaente 24bb7e98fa 0.18.0 release preparations 2021-09-05 16:49:13 +02:00
kolaente 496c38de8e Switch the :latest docker image tag to contain the latest release instead of the latest unstable 2021-09-05 14:39:56 +02:00
konrad 90146aea5b User Data Export and import (#967)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/967
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-09-04 19:26:31 +00:00
renovateandkonrad fc51a3e76f fix(deps): update golang.org/x/sys commit hash to 97244b9 (#965)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/965
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-03 12:41:22 +00:00
renovateandkonrad 4154247d95 fix(deps): update module github.com/lib/pq to v1.10.3 (#963)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/963
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-02 21:16:49 +00:00
renovateandkonrad e3956527d4 fix(deps): update golang.org/x/sys commit hash to f475640 (#962)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/962
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-09-02 06:09:23 +00:00
kolaente 15e5a9069b Docs: Update translation guidelines 2021-08-31 22:45:02 +02:00
kolaente c9d0f519ee Docs: Update translation guidelines 2021-08-31 22:41:56 +02:00
renovateandkonrad 72f7c3333a fix(deps): update golang.org/x/sys commit hash to f4d4317 (#961)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/961
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-31 05:17:52 +00:00
kolaente d7b74500c3 Add another youtube tutorial 2021-08-30 20:55:21 +02:00
kolaente bd24743640 docs: Add other installation resources 2021-08-23 17:52:01 +02:00
renovateandkonrad e2dd9d85b5 fix(deps): update golang.org/x/sys commit hash to 63515b4 (#959)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/959
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-23 08:21:32 +00:00
kolaente f8833ae8a2 docs: Add k8s-at-home Helm Chart for Vikunja 2021-08-20 19:24:50 +02:00
renovateandkonrad ade085ddeb Update golang.org/x/sys commit hash to 41cdb87 (#956)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/956
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-20 15:52:48 +00:00
renovateandkonrad e00bcf4802 Update golang.org/x/sys commit hash to f52c844 (#954)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/954
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-19 21:31:53 +00:00
renovateandkonrad aee4b14ed0 Update golang.org/x/oauth2 commit hash to 2bc19b1 (#955)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/955
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-19 20:23:55 +00:00
renovateandkonrad f98c7877fc Update golang.org/x/sys commit hash to 00dd8d7 (#953)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/953
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-18 16:06:38 +00:00
renovateandkonrad 52eb923327 Update golang.org/x/oauth2 commit hash to 7df4dd6 (#952)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/952
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-18 05:29:05 +00:00
renovateandkonrad f04c8048df Update golang.org/x/sys commit hash to bfb29a6 (#951)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/951
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-17 20:07:13 +00:00
renovateandkonrad 8382d06ea9 Update golang.org/x/crypto commit hash to 32db794 (#949)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/949
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-17 17:28:44 +00:00
renovateandkonrad 67681f9e2b Update golang.org/x/sys commit hash to 7d9622a (#948)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/948
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-17 15:39:16 +00:00
renovateandkonrad fef3d8199c Update golang.org/x/sys commit hash to 1e6c022 (#947)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/947
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-16 21:17:25 +00:00
renovateandkonrad 32ba088497 Update golang.org/x/sys commit hash to 15123e1 (#946)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/946
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-16 10:35:10 +00:00
renovateandkonrad b451399a1d Update golang.org/x/sys commit hash to 30e4713 (#945)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/945
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-16 05:29:30 +00:00
kolaente 98f367eb97 Add menu link to Vikunja Cloud in docs 2021-08-15 18:20:39 +02:00
kolaente dcddaab7b5 Set todoist migration redirect url to the frontend url by default 2021-08-14 18:27:29 +02:00
renovateandkonrad b3bb7395cd Update golang.org/x/crypto commit hash to 0a44fdf (#944)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/944
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-14 07:06:37 +00:00
kolaente 483496cc26 Fix saving reminders of repeating tasks 2021-08-13 21:36:16 +02:00
renovateandkonrad 7ffa08ee1a Update golang.org/x/crypto commit hash to 0ba0e8f (#943)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/943
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-12 21:18:57 +00:00
ed65a7cd34 Update module github.com/go-redis/redis/v8 to v8.11.3 (#942)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/942
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-12 18:09:15 +00:00
83809d1bd6 Update monachus/hugo Docker tag to v0.75.1 (#940)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/940
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-12 17:59:37 +00:00
konradandkolaente 2007f63502 Tune test db server settings to speed up tests (#939)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/939
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-08-11 22:03:04 +00:00
kolaente b92da0a5f1 Rename and sign drone config 2021-08-11 23:28:21 +02:00
renovateandkonrad 6b7aa380ec Update module github.com/swaggo/swag to v1.7.1 (#936)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/936
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-11 21:02:29 +00:00
konradandkolaente 27119ad6d4 User account deletion (#937)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad cd21c5fc6e Update golang.org/x/oauth2 commit hash to faf39c7 (#935)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/935
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-11 16:47:48 +00:00
kolaente 77c2b77079 Show config full paths and env variables with config options 2021-08-11 18:20:34 +02:00
renovateandkonrad 1fbd9b67e0 Update golang.org/x/sys commit hash to d867a43 (#934)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/934
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-10 14:31:44 +00:00
renovateandkonrad fb69260b64 Update golang.org/x/sys commit hash to e5e7981 (#933)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/933
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-06 19:41:48 +00:00
renovateandkonrad aeba72a7ea Update module github.com/go-redis/redis/v8 to v8.11.2 (#932)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/932
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-06 15:13:37 +00:00
renovateandkonrad cd5b46363d Update golang.org/x/oauth2 commit hash to 6f1e639 (#931)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/931
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-05 19:12:18 +00:00
c3da454854 Update module github.com/golang-jwt/jwt to v4 (#930)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/930
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-03 21:43:18 +00:00
e38be9bd18 Update module github.com/labstack/echo/v4 to v4.5.0 (#929)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/929
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-02 18:33:53 +00:00
kolaente dc2915875b Docs: Fix rewrite rules in apache example configs 2021-08-02 17:09:38 +02:00
renovateandkonrad be4d53d805 Update module github.com/golang-jwt/jwt to v3.2.2 (#928)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/928
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-02 15:03:46 +00:00
kolaente d34c85d544 Increase test timeout 2021-08-02 13:13:24 +02:00
kolaente 647f3cb9f1 Increase test timeout 2021-08-02 13:02:49 +02:00
kolaente f237afd2ac Fix panic on invalid smtp config 2021-08-02 00:05:13 +02:00
konrad 4c5f457313 Ensure case insensitive search on postgres (#927)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-07-30 15:31:51 +02:00
kolaente d746c1bede Notify the user after three failed login attempts 2021-07-30 15:01:04 +02:00
kolaente 220f43331f Reset failed totp attempts when logging in successfully 2021-07-30 14:46:10 +02:00
kolaente 24f7d9b4f7 Only send an email about failed totp after three failed attempts 2021-07-30 14:42:03 +02:00
kolaente 5cfc9bf2f9 Disable the user account after 10 failed password attempts 2021-07-29 18:45:22 +02:00
kolaente 3572ac4b82 Send a notification on failed TOTP 2021-07-29 18:05:25 +02:00
konradandkolaente 1571dfa825 Task mentions (#926)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-07-29 17:32:33 +02:00
renovateandkonrad ea921f5350 Update module github.com/go-redis/redis/v8 to v8.11.1 (#925)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/925
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-29 09:47:34 +00:00
konradandkolaente 6ccb85a0dc Reorder tasks, lists and kanban buckets (#923)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-07-27 15:25:48 +02:00
kolaente eae3cbc7bb Replace jwt-go with github.com/golang-jwt/jwt 2021-07-27 10:46:28 +02:00
kolaente d9b38b85f6 Fix setting a saved filter as favorite 2021-07-20 21:32:25 +02:00
kolaente c7f337f303 Fix tests & lint 2021-07-20 11:00:20 +02:00
kolaente 733f26f017 Fix error handling when deleting an attachment file 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 2021-07-19 23:52:58 +02:00
kolaente d28390d792 Fix task relations not getting properly cleaned up when deleting them 2021-07-19 23:40:18 +02:00
kolaente 0b90d826be Don't notify the user who created the team 2021-07-19 23:29:25 +02:00
renovateandkonrad 850c3a3dd4 Update module github.com/mattn/go-sqlite3 to v1.14.8 (#921)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/921
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-17 16:39:53 +00:00
kolaente 4cf7c459da Allow running migration 20210711173657 multiple times to fix issues when it didn't completely run through previously 2021-07-15 11:36:33 +02:00
kolaente 2a80e552cc Save user tokens as varchar(450) and not text to fix mysql indexing issues 2021-07-14 14:48:27 +02:00
kolaente 7e229a1b83 Save user tokens as text and not varchar 2021-07-14 12:43:28 +02:00
kolaente 7ee535de47 Docs improvements 2021-07-14 00:25:12 +02:00
konradandkolaente 4216ed7277 Refactor user email confirmation + password reset handling (#919)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-07-13 12:16:12 +02:00
kolaente 9559cbf1ec Add more logging for test data api endpoint 2021-07-13 12:14:59 +02:00
kolaente 265e778867 Docs: Translation now happening at crowdin 2021-07-13 11:42:46 +02:00
renovateandkonrad 53f37e12ec Update module github.com/iancoleman/strcase to v0.2.0 (#918)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/918
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-13 09:20:11 +00:00
renovateandkonrad 302199089d Update module github.com/labstack/echo/v4 to v4.4.0 (#917)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/917
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-12 20:37:02 +00:00
kolaente 7adbd21698 Fix setting task favorite status of related tasks
Not really reproducable locally, but a real issue.
2021-07-12 12:19:01 +02:00
kolaente d26f81162f Add ios to the list of not working caldav clients 2021-07-11 16:37:05 +02:00
kolaente e21a3904ff Fix mapping task priorities from Vikunja to calDAV
Resolves #866
2021-07-11 15:03:50 +02:00
kolaente 562ef9af36 Add searching for tasks by index 2021-07-11 14:19:59 +02:00
renovateandkonrad 294fc16593 Update golang.org/x/crypto commit hash to a769d52 (#916)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/916
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-11 10:48:39 +00:00
konradandkolaente d0c77ad1c1 Make sure list / task favorites are set per user, not per entity (#915)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 373e3f3d60 Add a note about default password to docs 2021-07-09 21:12:32 +02:00
kolaente 358661e060 Change task title to TEXT instead of varchar(250) to allow for longer task titles 2021-07-09 19:46:47 +02:00
kolaente 32a07c4c61 Fix importing archived projects and done items from todoist 2021-07-08 11:37:50 +02:00
kolaente 5b825f1cc8 Make sure a bucket exists or use the default bucket when importing tasks 2021-07-08 10:34:03 +02:00
andreymalandkonrad 50b49ffab6 Add support of Unix socket (#912)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-07-07 20:53:26 +02:00
kolaente 0c5dfe5c48 Better logging for errors while importing a bunch of tasks 2021-07-06 18:14:40 +02:00
kolaente d7932d2648 Don't fail when removing the last bucket in migration from other services 2021-07-06 15:43:38 +02:00
renovateandkonrad f1df45b632 Update module github.com/yuin/goldmark to v1.4.0 (#908)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/908
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-05 08:53:07 +00:00
renovateandkonrad ff2dac1a10 Update module github.com/spf13/cobra to v1.2.1 (#906)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/906
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-04 13:08:54 +00:00
renovateandkonrad e857d73c22 Update module github.com/spf13/cobra to v1.2.0 (#905)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/905
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-01 22:07:05 +00:00
b3f7827e39 Update module github.com/go-redis/redis/v8 to v8.11.0 (#903)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/903
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-01 10:05:50 +00:00
renovateandkonrad bba6d8feb1 Update module github.com/gabriel-vasile/mimetype to v1.3.1 (#904)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/904
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-07-01 08:18:11 +00:00
renovateandkonrad 2cc365ff0c Update golang.org/x/oauth2 commit hash to a41e5a7 (#902)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/902
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-28 19:57:58 +00:00
renovateandkonrad 5593d7bace Update module github.com/yuin/goldmark to v1.3.9 (#901)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/901
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-28 16:27:00 +00:00
renovateandkonrad e6d4620f92 Update golang.org/x/image commit hash to a66eb64 (#900)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/900
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-28 06:35:43 +00:00
renovateandkonrad f70d357a93 Update module github.com/spf13/viper to v1.8.1 (#899)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/899
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-25 15:22:42 +00:00
kolaente 37718c3282 Todoist migration: don't panic if no reminder was found for task
See #897
2021-06-24 23:02:28 +02:00
kolaente 7408380560 Add translation docs 2021-06-24 00:14:29 +02:00
renovateandkonrad 4ed4a96059 Update golang.org/x/oauth2 commit hash to a8dc77f (#896)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/896
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-22 22:15:20 +00:00
renovateandkonrad 9b03c28e0d Update golang.org/x/oauth2 commit hash to bce0382 (#895)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/895
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-22 20:13:16 +00:00
renovateandkonrad f17e2f9e7c Update golang.org/x/oauth2 commit hash to 14747e6 (#894)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/894
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-22 18:03:11 +00:00
renovateandkonrad 441e38086d Update golang.org/x/image commit hash to e6eecd4 (#893)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/893
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-22 10:57:37 +00:00
kolaente bf68ccbb25 Don't use the mariadb root user in docker-compose examples 2021-06-20 22:37:35 +02:00
renovateandkonrad 1386ed4023 Update module github.com/yuin/goldmark to v1.3.8 (#892)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/892
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-17 12:40:52 +00:00
renovateandkonrad d2a3db5dce Update golang.org/x/crypto commit hash to 5ff15b2 (#891)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/891
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-17 06:34:59 +00:00
kolaente 63340b32f8 Revert "Update alpine Docker tag to v3.14 (#889)"
This reverts commit 81d469f6

See https://gitlab.alpinelinux.org/alpine/aports/-/issues/12764
2021-06-16 15:58:22 +02:00
renovateandkonrad 52f6b10a65 Update module github.com/spf13/viper to v1.8.0 (#890)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/890
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-16 08:19:05 +00:00
renovateandkonrad 81d469f687 Update alpine Docker tag to v3.14 (#889)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/889
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-16 08:06:15 +00:00
renovateandkonrad 769b5d1c6c Update golang.org/x/oauth2 commit hash to d040287 (#888)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/888
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-15 20:20:34 +00:00
renovateandkonrad 1c77e40e6e Update golang.org/x/term commit hash to 6886f2d (#887)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/887
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-15 18:50:23 +00:00
kolaente 6f54d4d8be Revert "Update alpine Docker tag to v3.13 (#884)"
This reverts commit b4f08e88

Reverting because alpine 3.13 does not work on arm (but it does on arm64) - see https://drone.kolaente.de/vikunja/api/3070/4/3
2021-06-15 10:18:04 +02:00
6018573d81 Update module github.com/coreos/go-oidc to v3 (#885)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/885
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-14 20:56:29 +00:00
renovateandkonrad b4f08e88ae Update alpine Docker tag to v3.13 (#884)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/884
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-14 20:34:11 +00:00
88c3bd43a4 Update module go-redis/redis/v8 to v8.10.0 (#882)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/882
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-11 15:38:01 +00:00
61dd159131 Update module go-redis/redis/v8 to v8.7.1 (#807)
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/807
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-11 14:10:26 +00:00
5c79add056 Update module getsentry/sentry-go to v0.11.0 (#869)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/869
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-11 13:24:20 +00:00
6b70069eba Update module prometheus/client_golang to v1.11.0 (#879)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-06-09 23:00:42 +02:00
kolaente 570d146b21 Fix parsing openid config when using a json config file 2021-06-09 21:56:17 +02:00
renovateandkonrad cc2c158b9d Update golang.org/x/image commit hash to 775e3b0 (#880)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/880
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-06-07 16:15:28 +00:00
kolaente 78a206c818 Add setting for first day of the week 2021-06-03 18:11:44 +02:00
kolaente fc5703ac8c Add truncate parameter to test fixtures setup 2021-06-03 15:30:31 +02:00
3277f6acf7 Add default list setting (#875)
Co-authored-by: Sytone <github@sytone.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-05-31 21:05:14 +02:00
kolaente 9a2655dbf1 Fix saving pointer values to memory keyvalue 2021-05-31 20:54:15 +02:00
kolaente d48aa101cf Refactor & fix storing struct-values in redis keyvalue 2021-05-28 10:52:51 +02:00
kolaente df45675df3 Rearrange setting frontend url in config 2021-05-28 08:46:31 +02:00
kolaente afd6bde74d Make sure the configured frontend url always has a / at the end 2021-05-28 08:39:27 +02:00
kolaente e23014dbe4 Fix swagger docs for create requests 2021-05-26 21:56:31 +02:00
kolaente 8e65ffb99b Fix duplicating empty lists 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 2021-05-26 11:04:29 +02:00
renovateandkonrad 67f863120e Update module go-testfixtures/testfixtures/v3 to v3.6.1 (#868)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/868
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-21 08:16:45 +00:00
kolaente ffede02ddc Update golang.org/x/net commit hash to 37e1c6af 2021-05-20 19:42:33 +02:00
kolaente 3973ce985d Try to get more information about the user when authenticating with openid 2021-05-19 14:45:24 +02:00
renovateandkonrad 2351194547 Update module yuin/goldmark to v1.3.7 (#867)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/867
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-17 15:03:08 +00:00
kolaente b7ec24ff52 Fix old references to master in docs 2021-05-17 12:53:12 +02:00
renovateandkonrad aaac4c6dfc Update module lib/pq to v1.10.2 (#865)
Co-authored-by: konrad <konrad@kola-entertainments.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/865
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-17 10:44:55 +00:00
kolaente 2e52cc1802 Fix lint 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 2021-05-16 13:28:15 +02:00
kolaente b76ad8efe2 Add more logging and better error messages for openid authentication + clarify docs 2021-05-16 13:23:10 +02:00
renovateandkonrad d695681a0e Update module yuin/goldmark to v1.3.6 (#863)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/863
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-15 13:17:27 +00:00
renovateandkonrad 52c3075c3d Update golang.org/x/oauth2 commit hash to f6687ab (#862)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/862
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-14 22:10:40 +00:00
kolaente e837c2a003 Release preparations 2021-05-14 17:03:42 +02:00
renovateandkonrad f670d394fa Update golang.org/x/crypto commit hash to c07d793 (#861)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/861
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-13 17:20:01 +00:00
renovateandkonrad 71cc7334cc Update golang.org/x/crypto commit hash to cd7d49e (#860)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/860
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-13 13:20:53 +00:00
earnest maandkonrad fc1867ec70 Update README (#858)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/858
Reviewed-by: konrad <konrad@kola-entertainments.de>
Co-authored-by: earnest ma <me@earne.link>
Co-committed-by: earnest ma <me@earne.link>
2021-05-11 18:14:35 +00:00
renovateandkonrad d69482cda9 Update module gabriel-vasile/mimetype to v1.3.0 (#857)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/857
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-10 10:16:25 +00:00
renovateandkonrad 71d60e908a Update module labstack/echo/v4 to v4.3.0 (#856)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/856
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-08 22:17:06 +00:00
kompetenzbolzenandkonrad 86b7d224ab Expose tls parameter of Go MySQL driver to config file (#855)
Co-authored-by: Jonas Gunz <himself@jonasgunz.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-05-07 12:18:21 +02:00
renovateandkonrad f052fc19fc Update golang.org/x/crypto commit hash to 38f3c27 (#854)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/854
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-06 16:16:53 +00:00
renovateandkonrad 06cc0a06e4 Update golang.org/x/crypto commit hash to 3497b51 (#853)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/853
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-06 06:26:24 +00:00
renovateandkonrad 02dd7ee571 Update golang.org/x/image commit hash to 7319ad4 (#852)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/852
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-04 15:28:30 +00:00
renovateandkonrad abc1fa2fed Update golang.org/x/crypto commit hash to e9a3299 (#851)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/851
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-03 20:14:00 +00:00
renovateandkonrad b5da7fc546 Update golang.org/x/term commit hash to a79de54 (#850)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/850
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-05-03 08:37:51 +00:00
renovateandkonrad d715b02421 Update golang.org/x/term commit hash to c04ba85 (#849)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/849
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-29 16:15:27 +00:00
renovateandkonrad b7b69afa0c Update golang.org/x/term commit hash to f5beecf (#845)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/845
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-27 20:37:13 +00:00
renovateandkonrad ce15ade6b8 Update golang.org/x/oauth2 commit hash to 81ed05c (#848)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/848
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-27 19:36:51 +00:00
kolaente 0986ec6bdd Update changelog 2021-04-22 17:20:04 +02:00
kolaente 8b56308a59 Update changelog 2021-04-22 17:20:04 +02:00
kolaente 0f5f85e687 Fix tests 2021-04-22 17:13:47 +02:00
kolaente 4ceeb877b1 Fix checking list rights when accessing a bucket 2021-04-22 16:44:42 +02:00
kolaente 4393320691 Add security information to readme 2021-04-22 15:07:28 +02:00
kolaente e4db9dfe6c Cleanup old docs themes submodule 2021-04-22 11:33:15 +02:00
kolaente 4504499f60 Switch building the docs to download the theme instead of building 2021-04-22 11:25:19 +02:00
renovateandkonrad 43cb7f1fc2 Update golang.org/x/term commit hash to b80969c (#843)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/843
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-22 08:54:44 +00:00
renovateandkonrad 30919fd4da Update module lib/pq to v1.10.1 (#841)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/841
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-21 20:28:50 +00:00
renovateandkonrad 5089049b17 Update golang.org/x/crypto commit hash to 83a5a9b (#840)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/840
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-21 19:45:25 +00:00
renovateandkonrad 6fc4e35ac4 Update golang.org/x/crypto commit hash to 5bf0f12 (#839)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/839
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-21 17:57:35 +00:00
kolaente 6e263b6a91 Improve sending overdue task reminders by only sending one for all overdue tasks 2021-04-18 15:32:02 +02:00
kolaente 7ff7b0d743 Improve duration format of overdue tasks in reminders 2021-04-18 14:25:50 +02:00
renovateandkonrad 410a7426cf Update module go-testfixtures/testfixtures/v3 to v3.6.0 (#838)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/838
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-18 10:31:13 +00:00
renovateandkonrad 8d1cee4500 Update golang.org/x/crypto commit hash to 4f45737 (#836)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/836
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-15 19:08:11 +00:00
kolaente f429efc220 Add bucket limit validation 2021-04-15 16:55:21 +02:00
kolaente 6e5a9868f5 Fix moving repeating tasks to the done bucket 2021-04-15 16:36:24 +02:00
renovateandkonrad 2547de59ae Update module mattn/go-sqlite3 to v1.14.7 (#835)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/835
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-14 16:20:09 +00:00
konradandkolaente b4d726f5a8 Add repeat monthly setting for tasks (#834)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad ad9749e37d Update golang.org/x/oauth2 commit hash to 5e61552 (#833)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/833
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-13 14:19:32 +00:00
kolaente 967270b2c1 Fix docs 2021-04-11 18:38:06 +02:00
konradandkolaente d07b284ee3 Add reminders for overdue tasks (#832)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad 6a927c0703 Update module labstack/echo/v4 to v4.2.2 (#830)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/830
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-08 13:01:29 +00:00
kolaente 126f3acdc8 Enable searching users by full email or name 2021-04-07 18:28:58 +02:00
kolaente 8ddc00bd29 Fix getting user info from /user endpoint for link shares 2021-04-07 15:02:57 +02:00
kolaente cb0df3ebbc Show empty avatar when the user was not found 2021-04-07 14:56:44 +02:00
kolaente 325dcc5795 Fix matrix notify room id 2021-04-07 14:46:40 +02:00
konradandkolaente 84291679cc Add names for link shares (#829)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 b7d832891a Switch telegram notifications to matrix notifications 2021-04-07 12:27:51 +02:00
renovateandkonrad b2bbb03e48 Update golang.org/x/term commit hash to 72f3dc4 (#828)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/828
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-07 09:15:09 +00:00
kolaente 0b8173c1c3 Fix not able to make saved filters favorite 2021-04-03 16:49:20 +02:00
renovateandkonrad 9b7eef985e Update golang.org/x/oauth2 commit hash to 2e8d934 (#827)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/827
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-03 11:08:49 +00:00
renovateandkonrad 8a7baaed19 Update module go-sql-driver/mysql to v1.6.0 (#826)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/826
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-04-01 16:31:27 +00:00
kolaente 73f2d4532d Make sure all tables are properly pluralized 2021-03-28 20:17:35 +02:00
kolaente bc782e68ff Add systemd service file to linux packages 2021-03-28 18:18:58 +02:00
kolaente 6c3488b8aa Fix event error handler retrying infinitely 2021-03-28 17:55:19 +02:00
kolaente d7f3c653f9 Remove unused tools from tools.go 2021-03-28 17:24:56 +02:00
renovateandkonrad e2aa916bdd Update module adlio/trello to v1.9.0 (#825)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/825
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-28 15:04:37 +00:00
renovateandkonrad 398f05e9a0 Update golang.org/x/oauth2 commit hash to 22b0ada (#823)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/823
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-25 10:50:41 +00:00
kolaente be3184d49f Add test for moving a task to another list 2021-03-24 22:47:03 +01:00
konradandkolaente 81d021e872 Improve loading labels performance (#824)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
konradandkolaente d1b87d2705 Add a "done" option to kanban buckets (#821)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-03-23 22:32:23 +01:00
renovateandkonrad 7b7ccddf51 Update golang.org/x/crypto commit hash to 0c34fe9 (#822)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/822
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-23 19:28:10 +00:00
kolaente 532855d850 Fix filter for task index 2021-03-21 18:48:41 +01:00
kolaente ee436efba3 Add endpoint to remove a list background 2021-03-21 17:49:14 +01:00
renovateandkonrad 9d0dcb8d7d Update module spf13/afero to v1.6.0 (#820)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/820
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-21 10:53:41 +00:00
kolaente 6fa95e6492 Fix getting lists for shared, favorite and saved lists namespace 2021-03-18 21:39:38 +01:00
renovateandkonrad fc4eb8ceb9 Update module prometheus/client_golang to v1.10.0 (#819)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/819
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-18 18:25:48 +00:00
renovateandkonrad 87f7cbfa73 Update golang.org/x/term commit hash to de623e6 (#818)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/818
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-17 21:11:45 +00:00
renovateandkonrad f8683796e8 Update golang.org/x/crypto commit hash to 513c2a4 (#817)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/817
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-17 21:11:29 +00:00
renovateandkonrad 5e048feedf Update golang.org/x/crypto commit hash to e6e6c4f (#816)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/816
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-15 21:17:14 +00:00
kolaente 67167d4abb Fix shared lists showing up twice 2021-03-14 21:12:03 +01:00
renovateandkonrad 156e50f371 Update golang.org/x/oauth2 commit hash to cd4f82c (#815)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/815
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-14 12:49:05 +00:00
renovateandkonrad cf2cfde4fc Update module src.techknowlogick.com/xgo to v1.4.0+1.16.2 (#814)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/814
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-12 09:22:48 +00:00
renovateandkonrad f78bb613e4 Update golang.org/x/oauth2 commit hash to 5366d9d (#813)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/813
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-11 17:19:53 +00:00
renovateandkonrad 3a7678bfb9 Update module gabriel-vasile/mimetype to v1.2.0 (#812)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/812
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-11 14:45:51 +00:00
konradandkolaente 466b2b676c Pagingation for tasks in kanban buckets (#805)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad 89d0fbcc7c Update module imdario/mergo to v0.3.12 (#811)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/811
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-10 10:01:42 +00:00
renovateandkonrad 77e9a58a52 Update module labstack/echo/v4 to v4.2.1 (#810)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/810
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-09 12:12:37 +00:00
renovateandkonrad 81665168bc Update module lib/pq to v1.10.0 (#809)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/809
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-03-09 09:49:47 +00:00
kolaente 6de3d8b3a1 Explicitly check if there are Ids before trying to get items by a list of Ids 2021-03-02 18:40:39 +01:00
kolaente 3999580fe6 Add basic auth for metrics endpoint 2021-02-28 11:29:53 +01:00
renovateandkonrad c71a1fea82 Update module jgautheron/goconst to v1 (#804)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/804
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-27 14:52:00 +00:00
renovateandkonrad 729cb3de38 Update github.com/gordonklaus/ineffassign commit hash to 2e10b26 (#803)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/803
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-25 22:24:22 +00:00
kolaente 4880a0265b Fix notifications table not being created on initial setup 2021-02-22 21:20:13 +01:00
konradandkolaente 2178166ece Add crud endpoints for notifications (#801)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 509f23c550 Fix build
go mod tidy did the trick.
2021-02-20 18:47:02 +01:00
renovateandkonrad a22dd094c2 Update golang.org/x/image commit hash to ac19c3e (#798)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/798
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-20 17:36:03 +00:00
renovateandkonrad b6accd7c67 Update golang.org/x/crypto commit hash to 5ea612d (#797)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/797
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-20 16:56:37 +00:00
renovateandkonrad 393a3bc37a Update golang.org/x/sync commit hash to 036812b (#799)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/799
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-20 15:28:21 +00:00
renovateandkonrad b98ac9f551 Update golang.org/x/term commit hash to 6a3ed07 (#800)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/800
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-20 14:36:49 +00:00
renovateandkonrad 8ab5289c3d Update golang.org/x/oauth2 commit hash to 9bb9049 (#796)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/796
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-20 07:35:37 +00:00
renovateandkonrad 32cf66e9d5 Update module go-redis/redis/v8 to v8.6.0 (#795)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/795
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-20 07:34:44 +00:00
kolaente eb3a945678 Fix deleting task relations
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
renovateandkonrad 3afedc25f0 Update golang.org/x/oauth2 commit hash to ba52d33 (#794)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/794
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-18 21:36:56 +00:00
renovateandkonrad 4fc7d1f64f Update golang.org/x/crypto commit hash to b8e89b7 (#793)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/793
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-18 20:58:49 +00:00
renovateandkonrad 0c5c54a267 Update module getsentry/sentry-go to v0.10.0 (#792)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/792
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-18 20:58:27 +00:00
kolaente 86a9d2e9f3 Explicitly set darwin-10.15 when building binaries 2021-02-18 21:35:45 +01:00
renovateandkonrad 8b2b996e7a Update module src.techknowlogick.com/xgo to v1.3.0+1.16.0 (#791)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/791
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-18 06:42:25 +00:00
kolaente d8623fe185 Cleanup listener names 2021-02-17 20:50:04 +01:00
kolaente c873c1ec32 Send a notification to the user when they are added to the list 2021-02-17 20:48:06 +01:00
kolaente 0bd27ddeb7 Subscribe a user to a task when they are assigned to it 2021-02-17 20:14:38 +01:00
kolaente aaeb89db4f Refactor getting all namespaces 2021-02-16 22:36:06 +01:00
renovateandkonrad 2f1a3fea88 Update golang.org/x/oauth2 commit hash to 16ff188 (#789)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/789
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-16 21:06:45 +00:00
renovateandkonrad d9a57e7ef4 Update golang.org/x/image commit hash to 4410531 (#788)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/788
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-16 06:54:08 +00:00
renovateandkonrad ddcf7624bd Update golang.org/x/image commit hash to 55ae14f (#787)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/787
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-15 07:27:20 +00:00
kolaente 911e5b22ee Fix lint 2021-02-14 23:11:39 +01:00
kolaente bef22f5756 Fix tests 2021-02-14 23:03:44 +01:00
kolaente d8e10e1a58 Add separate docker manifest file for latest docker images 2021-02-14 22:46:46 +01:00
kolaente 83f003355d Fix sending notifications to users if the user object didn't have an email 2021-02-14 22:44:01 +01:00
kolaente 58492fffce Run all lint checks at once 2021-02-14 22:40:08 +01:00
kolaente 268e344128 Fix multiarch docker image building 2021-02-14 22:11:12 +01:00
kolaente 9cff4e33ca Fix docs 2021-02-14 20:37:18 +01:00
konradandkolaente e7875ecb3b Subscriptions and notifications for namespaces, tasks and lists (#786)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad 618b464ca3 Update module labstack/echo/v4 to v4.2.0 (#785)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/785
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-13 22:46:03 +00:00
renovateandkonrad 448ac314b6 Update module spf13/cobra to v1.1.3 (#784)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/784
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-13 22:43:14 +00:00
renovateandkonrad d6c6fcadc5 Update golang.org/x/oauth2 commit hash to 6667018 (#783)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/783
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-13 22:39:28 +00:00
kolaente 65f42b8bda Re-Enable migration test steps in pipeline 2021-02-13 16:58:12 +01:00
kolaente ec7becd426 Check if we're on main and change the version name accordingly if that's the case 2021-02-13 16:32:26 +01:00
kolaente 59092afbc0 Explicitly add docker build step for latest 2021-02-13 16:01:20 +01:00
kolaente 480db6aa9b Pipeline debugging 2021-02-10 20:49:20 +01:00
kolaente bb77df68f5 Temporarily disable migration step 2021-02-10 20:25:24 +01:00
kolaente 9ef17a6dbc Change test file names to unstable 2021-02-10 19:59:53 +01:00
kolaente 37a4e1e658 Temporary build fix 2021-02-10 19:58:24 +01:00
kolaente 02b6dbd07d Fix unstable version build file names 2021-02-10 19:56:51 +01:00
kolaente 61d76e6875 Change unstable versions in migration tests 2021-02-10 18:53:30 +01:00
kolaente 7debeaa9ff Change main branch to main 2021-02-10 18:50:15 +01:00
renovateandkonrad 5d698f2ff8 Update module olekukonko/tablewriter to v0.0.5 (#782)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/782
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-10 17:47:21 +00:00
renovateandkonrad 7bb3f4c847 Update module spf13/cobra to v1.1.2 (#781)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/781
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-10 06:38:34 +00:00
kolaente 269e7dd5df Don't keep old releases from os packages when releasing for master 2021-02-09 20:41:19 +01:00
renovateandkonrad 8cfa2aa480 Update github.com/gordonklaus/ineffassign commit hash to d0e41b2 (#780)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/780
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-09 19:27:41 +00:00
konradandkolaente 015ca310e9 Add notifications package for easy sending of notifications (#779)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2021-02-07 14:46:47 +01:00
kolaente 18b35e1119 Fix drone file 2021-02-04 22:40:38 +01:00
kolaente b8ccfbd190 Add arm64 builds 2021-02-04 22:32:37 +01:00
kolaente 490ba2ea50 Fix due dates with times when migrating from todoist 2021-02-04 21:06:01 +01:00
kolaente fb53322d40 Change the name of the newly created bucket from "New Bucket" to "Backlog" 2021-02-04 20:48:07 +01:00
renovateandkonrad 55f9106c9e Update module go-redis/redis/v8 to v8.5.0 (#778)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/778
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-04 18:42:39 +00:00
kolaente d600d8b5a6 Fix IncrBy and DecrBy in memory keyvalue implementation if there was no value set previously 2021-02-03 21:59:45 +01:00
konradandkolaente 0ab9ce9ec4 Add events (#777)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 a71aa0c898 Disable deb repo in drone 2021-02-02 21:32:57 +01:00
kolaente c4a71016b8 Update copyright year 2021-02-02 20:19:13 +01:00
renovateandkonrad 34ef1438d8 Update golang.org/x/oauth2 commit hash to 0101308 (#776)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/776
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-02-01 19:29:22 +00:00
kolaente 657dcc5313 Fix lint 2021-01-31 13:51:23 +01:00
kolaente 2d283b78c2 Fix the shared lists pseudo namespace containing owned lists 2021-01-31 13:09:14 +01:00
kolaente 6bdc1fdb0d Only send reminders for undone tasks 2021-01-31 12:54:15 +01:00
kolaente d69c799197 Fix resetting the bucket limit 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 2021-01-31 12:32:46 +01:00
renovateandkonrad fe72f30b24 Update golang.org/x/oauth2 commit hash to f9ce19e (#775)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/775
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-28 14:39:28 +00:00
kolaente 6945d8ba69 Pin golang alpine builder image to 3.12 to fix builds on arm 2021-01-26 21:02:59 +01:00
renovateandkonrad ef0035d4bd Update module go-redis/redis/v8 to v8.4.11 (#774)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/774
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-26 19:14:03 +00:00
renovateandkonrad db77de3ae6 Update golang.org/x/oauth2 commit hash to af13f52 (#773)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/773
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-25 22:07:04 +00:00
renovateandkonrad 1c98fecbd9 Update module go-redis/redis/v8 to v8.4.10 (#771)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/771
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-22 08:23:08 +00:00
kolaente 343fa6ca0d Add github funding link 2021-01-20 21:53:38 +01:00
renovateandkonrad aadfb8d8f2 Update module go-redis/redis/v8 to v8.4.9 (#770)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/770
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-20 20:29:36 +00:00
konradandkolaente 2447f84e2b Fix /dav/principals/*/ throwing a server error when accessed with GET instead of PROPFIND (#769)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 c1ad9d58f5 Revert "Update alpine Docker tag to v3.13 (#768)"
This reverts commit 32c021e2

The alpine image in version 3.13 has issues, therefore I'm reverting that commit until they are fixed.
2021-01-16 14:52:38 +01:00
kolaente e16c5f72ca Fix setting the user in created_by when uploading an attachment 2021-01-15 22:50:55 +01:00
kolaente 20af034d78 Fix retrieving over openid providers if there are none
Fixes #767
2021-01-15 20:40:07 +01:00
renovateandkonrad 32c021e2b3 Update alpine Docker tag to v3.13 (#768)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/768
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-15 06:49:08 +00:00
renovateandkonrad e9263f92d5 Update module iancoleman/strcase to v0.1.3 (#766)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/766
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-15 06:48:43 +00:00
renovateandkonrad 044a1a9161 Update golang.org/x/oauth2 commit hash to d3ed898 (#765)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/765
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-13 21:25:20 +00:00
renovateandkonrad 10ba7b5b65 Update golang.org/x/oauth2 commit hash to 8b1d76f (#764)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/764
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-13 17:11:55 +00:00
renovateandkonrad e9a340026d Update module stretchr/testify to v1.7.0 (#763)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/763
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-13 10:22:09 +00:00
renovateandkonrad 64441701fd Update golang.org/x/oauth2 commit hash to 01de73c (#762)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/762
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-12 21:15:21 +00:00
renovateandkonrad df79173b22 Update module go-testfixtures/testfixtures/v3 to v3.5.0 (#761)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/761
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-11 22:14:13 +00:00
renovateandkonrad 4e137ed72d Update module coreos/go-oidc to v3 (#760)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/760
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-11 22:13:58 +00:00
kolaente 279c5f6b73 0.16.0 release preparations 2021-01-10 16:09:26 +01:00
renovateandkonrad a840880692 Update module go-redis/redis/v8 to v8.4.8 (#759)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/759
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-10 09:39:21 +00:00
renovateandkonrad 4bb6842fb3 Update module go-redis/redis/v8 to v8.4.7 (#758)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/758
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-09 16:17:01 +00:00
konradandkolaente adf1172c39 Add tests for sending task reminders (#757)
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad f0af97e411 Update module go-redis/redis/v8 to v8.4.6 (#756)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/756
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-09 11:11:07 +00:00
renovateandkonrad ea5dd87b12 Update github.com/gordonklaus/ineffassign commit hash to 8eed68e (#755)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/755
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-01-04 20:13:00 +00:00
kolaente ac23536c36 Make sure a password reset token can be used only once 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
renovateandkonrad c842b70cb5 Update module magefile/mage to v1.11.0 (#754)
Update module magefile/mage to v1.11.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/754
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-29 09:52:09 +00:00
kolaente 456af4d4a9 Fix go header lint 2020-12-29 02:04:20 +01:00
renovateandkonrad 8c97f45cb7 Update module mattn/go-sqlite3 to v1.14.6 (#751)
Update module mattn/go-sqlite3 to v1.14.6

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/751
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-27 14:06:16 +00:00
renovateandkonrad b8312469d7 Update module cweill/gotests to v1.6.0 (#752)
Update module cweill/gotests to v1.6.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/752
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-27 01:17:05 +00:00
kolaente be7b53b9bc Update nfpm config for nfpm v2 2020-12-23 20:51:37 +01:00
kolaente d6cb4f94f6 Update code header template 2020-12-23 20:51:16 +01:00
kolaente 9baf6d39bd Change license to AGPLv3 2020-12-23 16:41:52 +01:00
konradandkolaente 8d1a09b5a2 Use db sessions everywere (#750)
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: https://kolaente.dev/vikunja/api/pulls/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
Signed-off-by: kolaente <k@knt.li>
2020-12-22 12:38:05 +01:00
konradandkolaente 2d4e2e452c Add task filter for lists and namespaces (#748)
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: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad 111efd5fae Update golang.org/x/crypto commit hash to eec23a3 (#749)
Update golang.org/x/crypto commit hash to eec23a3

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/749
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-21 19:17:02 +00:00
konradandkolaente 03e4bf30c2 Add task filter for labels (#747)
Update docs

Add task filter for labels

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
konradandkolaente 18325e964d Add task filter for assignees (#746)
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: https://kolaente.dev/vikunja/api/pulls/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
konradandkolaente 92bcce3f7c Add task filter for reminders (#745)
Update swagger docs about reminders

Fix filter concat for reminders

Add task filter for reminders

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
Fixes #744
2020-12-19 15:04:30 +01:00
kolaente 90817b6dae Add "like" filter comparator 2020-12-19 13:56:55 +01:00
konradandkolaente b2e4fde63a Add email reminders (#743)
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: https://kolaente.dev/vikunja/api/pulls/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 7dc2abb8e5 Make the debian repo structure for buster instead of strech 2020-12-18 23:33:23 +01:00
kolaente 27c44d6d5e Change avatar endpoint 2020-12-18 23:11:11 +01:00
renovateandkonrad 8a6f8922f8 Update module go-redis/redis/v8 to v8.4.4 (#742)
Update module go-redis/redis/v8 to v8.4.4

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/742
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-18 16:51:46 +00:00
konradandkolaente b0d4902406 Make sure all int64 db fields are using bigint when actually storing the data (#741)
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: https://kolaente.dev/vikunja/api/pulls/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)
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: https://kolaente.dev/vikunja/api/pulls/699
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-18 15:21:21 +00:00
konradandkolaente 0bd2632d29 Add login via email (#740)
Add login via email

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
konradandkolaente 8d739b2cf9 Refactor adding more details to tasks (#739)
Refactor adding more details to tasks

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 2020-12-18 13:07:34 +01:00
konradandkolaente 969e467f48 Add colors for caldav (#738)
Add colors for caldav

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
kolaente 5281ca548b Fix docs about caldav tasks.org 2020-12-18 12:48:42 +01:00
konradandkolaente f5b5204776 Add Microsoft Todo migration (#737)
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: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad 25deb24849 Update module prometheus/client_golang to v1.9.0 (#735)
Update module prometheus/client_golang to v1.9.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/735
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-17 20:06:30 +00:00
renovateandkonrad d91c2e10b0 Update golang.org/x/crypto commit hash to 9d13527 (#736)
Update golang.org/x/crypto commit hash to 9d13527

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/736
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-17 16:29:18 +00:00
konradandkolaente 9f3d898150 Add trello migration (#734)
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: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad a7c585e086 Update golang.org/x/crypto commit hash to 8b5274c (#733)
Update golang.org/x/crypto commit hash to 8b5274c

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/733
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-16 23:48:56 +00:00
konradandkolaente 00ed5884b4 Add support for migrating todoist boards (#732)
Add migrating buckets to converting todoist to vikunja structure

Add buckets migration

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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 90ae940a6b Clarify docs about cors configuration 2020-12-16 13:23:26 +01:00
kolaente e4de700a10 Simplify updating task reminders 2020-12-16 13:05:58 +01:00
renovateandkonrad 1e020c9c50 Update golang.org/x/crypto commit hash to 5f87f34 (#729)
Update golang.org/x/crypto commit hash to 5f87f34

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/729
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-10 21:18:12 +00:00
renovateandkonrad d1e7d5116a Update golang.org/x/term commit hash to 2321bbc (#731)
Update golang.org/x/term commit hash to 2321bbc

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/731
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-10 15:37:42 +00:00
renovateandkonrad da064e9429 Update golang.org/x/lint commit hash to 83fdc39 (#728)
Update golang.org/x/lint commit hash to 83fdc39

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/728
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-10 15:37:22 +00:00
renovateandkonrad 67faa26cbc Update golang.org/x/image commit hash to 35266b9 (#727)
Update golang.org/x/image commit hash to 35266b9

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/727
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-10 13:13:57 +00:00
renovateandkonrad b0b6d5926b Update golang.org/x/term commit hash to ee85cb9 (#726)
Update golang.org/x/term commit hash to ee85cb9

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/726
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-10 12:05:59 +00:00
renovateandkonrad 22b626c9e0 Update golang.org/x/sync commit hash to 09787c9 (#725)
Update golang.org/x/sync commit hash to 09787c9

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/725
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-10 09:54:29 +00:00
renovateandkonrad eeb0006531 Update golang.org/x/oauth2 commit hash to 08078c5 (#722)
Update golang.org/x/oauth2 commit hash to 08078c5

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/722
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-09 22:10:52 +00:00
renovateandkonrad 9db56f86ca Update module spf13/afero to v1.5.1 (#730)
Update module spf13/afero to v1.5.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/730
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-09 18:27:42 +00:00
renovateandkonrad c71265aafe Update module spf13/afero to v1.5.0 (#724)
Update module spf13/afero to v1.5.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/724
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-08 17:21:55 +00:00
renovateandkonrad 24c8792150 Update module getsentry/sentry-go to v0.9.0 (#723)
Update module getsentry/sentry-go to v0.9.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/723
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-08 14:02:53 +00:00
renovateandkonrad 2f69c6342a Update module src.techknowlogick.com/xgo to v1.2.0+1.15.6 (#720)
Update module src.techknowlogick.com/xgo to v1.2.0+1.15.6

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/720
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-07 15:49:23 +00:00
renovateandkonrad c99ed212da Update module swaggo/swag to v1.7.0 (#721)
Update module swaggo/swag to v1.7.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/721
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-07 15:49:08 +00:00
renovateandkonrad c8af41738c Update golang.org/x/crypto commit hash to be400ae (#719)
Update golang.org/x/crypto commit hash to be400ae

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/719
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-03 18:39:55 +00:00
renovateandkonrad f3801843a4 Update golang.org/x/oauth2 commit hash to 0b49973 (#718)
Update golang.org/x/oauth2 commit hash to 0b49973

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/718
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-03 06:47:02 +00:00
08430f1951 Update golang.org/x/crypto commit hash to c8d3bf9 (#710)
Change terminal package

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

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/710
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-02 21:33:03 +00:00
renovateandkonrad 80ce8f80ba Update module lib/pq to v1.9.0 (#717)
Update module lib/pq to v1.9.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/717
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-12-02 07:04:04 +00:00
konradandkolaente 9334b29366 Add testing endpoint to reset db tables (#716)
Fix lint

Better error messages

Add docs

Add testing endpoint to reset db

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad 87048818ce Update golang.org/x/oauth2 commit hash to 9fd6049 (#714)
Update golang.org/x/oauth2 commit hash to 9fd6049

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/714
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-26 20:27:19 +00:00
kolaente d2d610e0f5 Fix /info endpoint 500 error when no openid providers were configured 2020-11-26 21:26:31 +01:00
kolaente ae6144c042 Fix getting current user when updating avatar or user name 2020-11-21 22:02:49 +01:00
kolaente d1c65935e6 Add name field to users 2020-11-21 21:51:55 +01:00
konradandkolaente 2b5c9ae7a8 Authentication with OpenID Connect providers (#713)
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: https://kolaente.dev/vikunja/api/pulls/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 f67fe2ce25 Fix drone badge in README 2020-11-20 21:54:15 +01:00
renovateandkonrad 23e84f3fa4 Update github.com/jgautheron/goconst commit hash to ccae5bf (#712)
Update github.com/jgautheron/goconst commit hash to ccae5bf

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/712
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-17 16:41:45 +00:00
renovateandkonrad 70a076c4fe Update module mattn/go-sqlite3 to v1.14.5 (#711)
Update module mattn/go-sqlite3 to v1.14.5

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/711
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-16 17:21:29 +00:00
renovateandkonrad 58c3b1616f Update module getsentry/sentry-go to v0.8.0 (#709)
Update module getsentry/sentry-go to v0.8.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/709
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-16 15:04:57 +00:00
renovateandkonrad 24d27a93c8 Update module gabriel-vasile/mimetype to v1.1.2 (#708)
Update module gabriel-vasile/mimetype to v1.1.2

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/708
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-16 13:56:56 +00:00
renovateandkonrad 27aa8662c0 Update golang.org/x/crypto commit hash to 0c6587e (#706)
Update golang.org/x/crypto commit hash to 0c6587e

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/706
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-12 17:18:23 +00:00
renovateandkonrad 479f9238ff Update module pquerna/otp to v1.3.0 (#705)
Update module pquerna/otp to v1.3.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/705
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-11 06:44:30 +00:00
renovateandkonrad 2b84be5167 Update github.com/jgautheron/goconst commit hash to f8e4fe8 (#703)
Update github.com/jgautheron/goconst commit hash to f8e4fe8

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/703
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-08 22:20:54 +00:00
renovateandkonrad 5d45af707b Update github.com/jgautheron/goconst commit hash to b58d7cf (#702)
Update github.com/jgautheron/goconst commit hash to b58d7cf

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/702
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-08 20:46:19 +00:00
renovateandkonrad e9a8d8c157 Update github.com/gordonklaus/ineffassign commit hash to 3b93a88 (#701)
Update github.com/gordonklaus/ineffassign commit hash to 3b93a88

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/701
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-07 10:14:08 +00:00
renovateandkonrad 1cc49806e0 Update module src.techknowlogick.com/xormigrate to v1.4.0 (#700)
Update module src.techknowlogick.com/xormigrate to v1.4.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/700
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-11-06 07:05:39 +00:00
kolaente 316ac0558b Fix task updated timestamp not being updated in the response after updating a task 2020-10-25 12:59:28 +01:00
freaktechnikandkonrad ffce9b51cc Fix completion status in DAV for OpenTasks and multiline descriptions (#697)
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: https://kolaente.dev/vikunja/api/pulls/697
Co-Authored-By: freaktechnik <martin@humanoids.be>
Co-Committed-By: freaktechnik <martin@humanoids.be>
2020-10-21 21:03:19 +00:00
renovateandkonrad 760278fde6 Update module fzipp/gocyclo to v0.3.1 (#696)
Update module fzipp/gocyclo to v0.3.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/696
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-21 05:09:54 +00:00
kolaente 980fe21050 0.15.1 release preparations 2020-10-20 20:29:57 +02:00
kolaente 707709deb1 Fix not possible to create tasks if metrics were enabled 2020-10-20 20:28:44 +02:00
renovateandkonrad 6270bb3e77 Update golang.org/x/sync commit hash to 67f06af (#695)
Update golang.org/x/sync commit hash to 67f06af

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/695
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-20 18:09:29 +00:00
renovateandkonrad 2c2701c054 Update module swaggo/swag to v1.6.9 (#694)
Update module swaggo/swag to v1.6.9

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/694
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-20 16:08:28 +00:00
kolaente 2b8c9c698d 0.15.0 release preparations 2020-10-19 21:06:31 +02:00
kolaente 80367d60d4 Fix release trigger in drone 2020-10-19 20:35:23 +02:00
renovateandkonrad 688ca65edf Update module go-testfixtures/testfixtures/v3 to v3.4.1 (#693)
Update module go-testfixtures/testfixtures/v3 to v3.4.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/693
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-19 15:39:08 +00:00
freaktechnikandkonrad dcefc18b98 Add app support info for DAV (#692)
Add app support info for DAV

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/692
Co-Authored-By: freaktechnik <martin@humanoids.be>
Co-Committed-By: freaktechnik <martin@humanoids.be>
2020-10-19 12:17:08 +00:00
freaktechnikandkonrad 214f2f008e Support absolute iCal timestamps in CalDAV requests (#691)
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: https://kolaente.dev/vikunja/api/pulls/691
Co-Authored-By: freaktechnik <martin@humanoids.be>
Co-Committed-By: freaktechnik <martin@humanoids.be>
2020-10-19 09:11:15 +00:00
kolaente 004e432e7c Fix nfpm command in drone 2020-10-19 07:58:24 +02:00
renovateandkonrad 47486af06d Update module spf13/cobra to v1.1.1 (#690)
Update module spf13/cobra to v1.1.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/690
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-18 20:16:25 +00:00
kolaente 8b9b1984fc Make sure we have go installed when building os packages (for build step dependencies) 2020-10-18 21:28:33 +02:00
kolaente 6dd7bcb0fe Make sure we have git installed when building os packages 2020-10-18 20:29:54 +02:00
kolaente b94950d7c2 Fix trigger for pushing release artifacts to drone 2020-10-18 13:59:26 +02:00
konradandkolaente 618353bf95 Use nfpm to build deb, rpm and apk packages (#689)
Cleanup

Update docs for deb

Add building os packages to drone

Add apk packages

Replace version and binlocation strings in nfpm config

Make nfpm config replacable

Fix nfpm config

Add nfpm config

go mod tidy

Add nfpm mage target

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/689
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-10-18 11:41:27 +00:00
1555081939 fetch tasks for caldav lists (#641)
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: https://kolaente.dev/vikunja/api/pulls/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)
Regenerate swagger docs with new swaggo

Update module swaggo/swag to v1.6.8

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/680
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-17 18:03:05 +00:00
renovateandkonrad cbba0695a8 Update module fzipp/gocyclo to v0.3.0 (#687)
Update module fzipp/gocyclo to v0.3.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/687
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-17 10:26:52 +00:00
renovateandkonrad 921526e086 Update golang.org/x/crypto commit hash to 9e8e0b3 (#685)
Update golang.org/x/crypto commit hash to 9e8e0b3

Co-authored-by: konrad <konrad@kola-entertainments.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/685
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-17 09:34:23 +00:00
konradandkolaente 1b21339bf8 Generate config docs from sample config (#684)
Add docs todo to PR template

Clarify docs

Fix parsing of descriptions and multi-level values

Add method to write out the file

Only render default value for non-top-level values

Remove comment headings from yaml comments

Add printing config

Add basic parsing of sample config with comments

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/684
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-10-17 08:07:39 +00:00
renovateandkonrad e9d6daa1a3 Update module fzipp/gocyclo to v0.2.0 (#686)
Update module fzipp/gocyclo to v0.2.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/686
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-17 08:06:20 +00:00
renovateandkonrad 8b001313f4 Update golang.org/x/crypto commit hash to 84dcc77 (#678)
Update golang.org/x/crypto commit hash to 84dcc77

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/678
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-16 19:55:20 +00:00
renovateandkonrad e0c8eca669 Update module prometheus/client_golang to v1.8.0 (#681)
Update module prometheus/client_golang to v1.8.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/681
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-15 20:24:03 +00:00
renovateandkonrad c629130b3b Update module spf13/cobra to v1.1.0 (#679)
Update module spf13/cobra to v1.1.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/679
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-14 19:16:18 +00:00
kolaente 9252225d7f Disable gocyclo for migration modules
Signed-off-by: kolaente <k@knt.li>
2020-10-13 08:05:55 +02:00
kolaente 38b5c7fb6c Add checks if tasks exist in maps before trying to access them
Signed-off-by: kolaente <k@knt.li>
2020-10-12 19:33:17 +02:00
kolaente e26df26f78 Fix migrating items with large items from todoist
see #266
2020-10-12 08:08:52 +02:00
renovateandkonrad 158e07e581 Update module go-errors/errors to v1.1.1 (#677)
Update module go-errors/errors to v1.1.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/677
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-11 21:27:42 +00:00
konradandkolaente 699d3d6060 Add Golangci Lint (#676)
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: https://kolaente.dev/vikunja/api/pulls/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
konradandkolaente d56a611be7 Key-Value Storages (#674)
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: https://kolaente.dev/vikunja/api/pulls/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
kolaente bf5d8af3f6 Fix docs index links 2020-10-10 12:12:54 +02:00
renovateandkonrad 0769098357 Update golang.org/x/sync commit hash to b3e1573 (#675)
Update golang.org/x/sync commit hash to b3e1573

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/675
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-10 07:04:40 +00:00
renovateandkonrad 71094d981f Update module spf13/afero to v1.4.1 (#673)
Update module spf13/afero to v1.4.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/673
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-06 12:03:14 +00:00
renovateandkonrad 32d97f1451 Update golang.org/x/crypto commit hash to 7f63de1 (#672)
Update golang.org/x/crypto commit hash to 7f63de1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/672
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-02 18:19:39 +00:00
renovateandkonrad bf9d1c634a Update module mattn/go-sqlite3 to v1.14.4 (#670)
Update module mattn/go-sqlite3 to v1.14.4

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/670
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-02 15:05:51 +00:00
renovateandkonrad ebd96d7766 Update golang.org/x/crypto commit hash to c90954c (#671)
Update golang.org/x/crypto commit hash to c90954c

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/671
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-02 15:05:32 +00:00
renovateandkonrad 089d156259 Update golang.org/x/crypto commit hash to eb9a90e (#669)
Update golang.org/x/crypto commit hash to eb9a90e

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/669
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-10-01 21:09:37 +00:00
renovateandkonrad dd589022e4 Update golang.org/x/crypto commit hash to afb6bcd (#668)
Update golang.org/x/crypto commit hash to afb6bcd

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/668
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-30 17:18:49 +00:00
renovateandkonrad b850f65295 Update golang.org/x/sync commit hash to 3042136 (#667)
Update golang.org/x/sync commit hash to 3042136

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/667
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-30 14:44:18 +00:00
kolaente b3d09cd2d4 Fix loading list background information for uploaded backgrounds
Signed-off-by: kolaente <k@knt.li>
2020-09-28 20:53:17 +02:00
konradandkolaente 64d125afd9 Testing improvements (#666)
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: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad dd5d64da3e Update golang.org/x/image commit hash to e162460 (#665)
Update golang.org/x/image commit hash to e162460

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/665
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-27 13:35:07 +00:00
kolaente 1776eb56fe Fix upload avatar not working
Signed-off-by: kolaente <k@knt.li>
2020-09-27 12:50:52 +02:00
renovateandkonrad f8c135f22e Update golang.org/x/image commit hash to a67d67e (#664)
Update golang.org/x/image commit hash to a67d67e

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/664
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-27 07:12:14 +00:00
konradandkolaente 0fb2edf051 Saved filters (#655)
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: https://kolaente.dev/vikunja/api/pulls/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
renovateandkonrad a6fdf114d1 Update golang.org/x/image commit hash to 4578eab (#663)
Update golang.org/x/image commit hash to 4578eab

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/663
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-24 09:01:34 +00:00
renovateandkonrad ca1b33d24d Update github.com/asaskevich/govalidator commit hash to 7a23bdc (#657)
Update github.com/asaskevich/govalidator commit hash to 7a23bdc

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/657
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-23 11:27:58 +00:00
renovateandkonrad c98b9bbee6 Update golang.org/x/image commit hash to e59bae6 (#659)
Update golang.org/x/image commit hash to e59bae6

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/659
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-23 11:27:43 +00:00
renovateandkonrad 19a0a85c73 Update github.com/jgautheron/goconst commit hash to 8f5268c (#658)
Update github.com/jgautheron/goconst commit hash to 8f5268c

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/658
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-23 10:25:10 +00:00
renovateandkonrad 77122b8f1b Update module iancoleman/strcase to v0.1.2 (#660)
Update module iancoleman/strcase to v0.1.2

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/660
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-23 07:59:24 +00:00
renovateandkonrad 436af467d6 Update module mattn/go-sqlite3 to v1.14.3 (#661)
Update module mattn/go-sqlite3 to v1.14.3

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/661
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-23 07:12:18 +00:00
renovateandkonrad 04130e4ea3 Update module spf13/afero to v1.4.0 (#662)
Update module spf13/afero to v1.4.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/662
Co-Authored-By: renovate <renovatebot@kolaente.de>
Co-Committed-By: renovate <renovatebot@kolaente.de>
2020-09-23 05:05:58 +00:00
kolaente 7e6e44e787 Replace renovate tokens with env 2020-09-22 22:25:23 +02:00
kolaente 9e7ca8df51 Update renovate token 2020-09-22 21:42:40 +02:00
konradandkolaente 6bdddd462a Favorite lists (#654)
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: https://kolaente.dev/vikunja/api/pulls/654
2020-09-06 14:20:16 +00:00
konradandkolaente e5559137dd Favorite tasks (#653)
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: https://kolaente.dev/vikunja/api/pulls/653
2020-09-05 20:16:02 +00:00
kolaente ecf09e17a8 Only check if a bucket limit is exceeded when moving a task between buckets 2020-09-04 22:01:33 +02:00
konradandkolaente 14d706c91e Kanban bucket limits (#652)
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: https://kolaente.dev/vikunja/api/pulls/652
2020-09-04 14:37:56 +00:00
kolaente 5317a89623 Make sure to copy the permissions as well when moving files 2020-09-04 14:00:54 +02:00
kolaente e9b1786188 Regenerate swagger docs 2020-09-04 13:15:46 +02:00
kolaente 313289d28d Add rootpath to deb command to not include everything in the deb file 2020-09-04 10:42:32 +02:00
kolaente 05e237560d Add mage command to create a new migration 2020-09-04 10:15:33 +02:00
kolaente e4dd314079 Add caldav enabled/disabled to /info endpoint 2020-09-04 09:58:42 +02:00
kolaente 118c7f25b5 Fix release commands in drone 2020-09-03 22:46:41 +02:00
kolaente b64a80da0b Make sure built binary files are executable when compressing with upx 2020-09-03 22:45:04 +02:00
kolaente bb26c9d97c Make sure to only initialize all variables when needed 2020-09-03 22:14:30 +02:00
kolaente edf3854632 Add github sponsor link 2020-09-03 21:59:17 +02:00
kolaente 19a66450ec Fix building for darwin with mage 2020-09-03 21:22:41 +02:00
kolaente 3a839dfb86 Add util function to move files 2020-09-03 20:42:26 +02:00
kolaente 78b261e440 Skip directories when moving build release artefacts in drone 2020-09-03 18:08:57 +02:00
kolaente 471d1b0ec5 Fix dockerimage build 2020-09-03 18:08:26 +02:00
kolaente 58dfbe13ed Add FreeBSD guide to installation docs 2020-09-03 17:44:44 +02:00
kolaente 1a4eef1056 Add toc to docs 2020-09-03 17:34:44 +02:00
kolaente 8da7db3e26 Cleanup references to make 2020-09-03 17:18:41 +02:00
konradandkolaente d359130bcf Switch to mage (#651)
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: https://kolaente.dev/vikunja/api/pulls/651
2020-09-03 15:13:19 +00:00
renovateandkonrad 05099e1784 Update module spf13/afero to v1.3.5 (#650)
Update module spf13/afero to v1.3.5

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/650
2020-09-02 21:19:34 +00:00
renovateandkonrad 79970ebb4a Update module labstack/echo/v4 to v4.1.17 (#646)
Update module labstack/echo/v4 to v4.1.17

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/646
2020-08-31 09:19:49 +00:00
renovateandkonrad 27b4086351 Update module iancoleman/strcase to v0.1.1 (#645)
Update module iancoleman/strcase to v0.1.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/645
2020-08-30 08:18:18 +00:00
renovateandkonrad ae7eafd6ad Update module mattn/go-sqlite3 to v1.14.2 (#647)
Update module mattn/go-sqlite3 to v1.14.2

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/647
2020-08-30 08:17:50 +00:00
renovateandkonrad 21b5aee054 Update github.com/c2h5oh/datasize commit hash to 48ed595 (#644)
Update github.com/c2h5oh/datasize commit hash to 48ed595

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/644
2020-08-25 16:06:32 +00:00
renovateandkonrad 2b34a8d4e6 Update github.com/shurcooL/vfsgen commit hash to 0d455de (#642)
Update github.com/shurcooL/vfsgen commit hash to 0d455de

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/642
2020-08-24 20:00:48 +00:00
renovateandkonrad b4771c1bce Update golang.org/x/crypto commit hash to 5c72a88 (#640)
Update golang.org/x/crypto commit hash to 5c72a88

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/640
2020-08-20 23:09:04 +00:00
renovateandkonrad c83858bf7e Update module mattn/go-sqlite3 to v1.14.1 (#638)
Update module mattn/go-sqlite3 to v1.14.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/638
2020-08-20 20:46:16 +00:00
renovateandkonrad 08b8964b3d Update github.com/asaskevich/govalidator commit hash to 29e1ff8 (#639)
Update github.com/asaskevich/govalidator commit hash to 29e1ff8

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/639
2020-08-20 12:10:36 +00:00
kolaente d88551e99d Add dav proxy directions to example proxy configurations
Signed-off-by: kolaente <k@knt.li>
2020-08-20 14:08:35 +02:00
renovateandkonrad ebd71d1f04 Update module iancoleman/strcase to v0.1.0 (#636)
Update module iancoleman/strcase to v0.1.0

Co-authored-by: konrad <konrad@kola-entertainments.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/636
2020-08-19 08:31:41 +00:00
renovateandkonrad a61ab0c5cf Update github.com/asaskevich/govalidator commit hash to 50839af (#637)
Update github.com/asaskevich/govalidator commit hash to 50839af

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/637
2020-08-18 18:07:45 +00:00
kolaente fa718e2576 Fix token renew for link shares
Signed-off-by: kolaente <k@knt.li>
2020-08-18 16:55:44 +02:00
kolaente c517a87b85 Don't add a subtask to the top level of tasks to not add it twice in the list 2020-08-17 22:30:24 +02:00
kolaente 28fd0e91ee Mention client_max_body_size in nginx proxy settings 2020-08-17 22:15:48 +02:00
renovateandkonrad 14c27600d8 Update github.com/asaskevich/govalidator commit hash to df4adff (#552)
Update github.com/asaskevich/govalidator commit hash to df4adff

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/552
2020-08-17 13:48:12 +00:00
kolaente dedce20780 "Fix" gocyclo 2020-08-16 23:48:34 +02:00
kolaente a58b932743 Work around tasks with attachments not being duplicated 2020-08-16 23:44:16 +02:00
kolaente 301bebf8d3 Only try to download attachments from todoist when there is a url
Credit: freaktechnik
2020-08-16 23:26:19 +02:00
kolaente d192c36c39 Add better tests for namespaces 2020-08-15 22:16:36 +02:00
kolaente bdfb804bb2 Fix reading passwords on windows 2020-08-13 17:59:10 +02:00
konradandkolaente 16dbcfda7e Manage users via cli (#632)
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: https://kolaente.dev/vikunja/api/pulls/632
2020-08-13 15:34:02 +00:00
renovateandkonrad 0169ecc37e Update module 4d63.com/tz to v1.2.0 (#631)
Update module 4d63.com/tz to v1.2.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/631
2020-08-13 08:38:01 +00:00
kolaente 4a70c81b33 Make sure to require admin rights when modifying list/namespace users to be consistent with teams
Signed-off-by: kolaente <k@knt.li>
2020-08-12 18:20:47 +02:00
renovateandkonrad 5e84ce639f Update module src.techknowlogick.com/xgo to v1.1.0+1.15.0 (#630)
Update module src.techknowlogick.com/xgo to v1.1.0+1.15.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/630
2020-08-12 09:27:43 +00:00
renovateandkonrad 6c45388da9 Update module imdario/mergo to v0.3.11 (#629)
Update module imdario/mergo to v0.3.11

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/629
2020-08-11 20:12:50 +00:00
konradandkolaente bd8c1c3bb7 Return rights when reading a single item (#626)
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: https://kolaente.dev/vikunja/api/pulls/626
2020-08-10 12:11:43 +00:00
renovateandkonrad 28b8cabea5 Update module spf13/afero to v1.3.4 (#628)
Update module spf13/afero to v1.3.4

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/628
2020-08-10 07:26:50 +00:00
renovateandkonrad 7c91803056 Update module go-testfixtures/testfixtures/v3 to v3.4.0 (#627)
Update module go-testfixtures/testfixtures/v3 to v3.4.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/627
2020-08-09 20:18:27 +00:00
renovateandkonrad b375e1d043 Update github.com/gordonklaus/ineffassign commit hash to e36bfde (#625)
Update github.com/gordonklaus/ineffassign commit hash to e36bfde

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/625
2020-08-09 09:18:55 +00:00
kolaente d718d247c8 Fix users with disabled totp but not enrolled being unable to login 2020-08-07 16:41:35 +02:00
kolaente 6a82d4e2af Fix updating team admin status 2020-08-05 17:28:11 +02:00
kolaente 11722bf029 Add update route to toggle team member admin status 2020-08-05 17:21:17 +02:00
konradandkolaente dfb7730b63 More avatar providers (#622)
Don't fail if the last avatar file does not exist when deleting it

Fix lint

Remove old global avatar setting and update docs

Generate docs

Invalidate the avatar cache when uploading a new one

Add debug logs

Add caching for upload avatars

Add cache locks

Fix encoding

Resize the uploaded image to a max of 1024 pixels

Remove the old uploaded avatar if one already exists

Add mimetype check for images

Set avatar provider to upload when uploading an avatar

Add upload avatar provider

Make font size smaller to let the initials still look good in smaller sizes

Add debug log

Add cache and resizing of initials avatars

Make font size depend on avatar size

Add drawing initials avatar

Add initials provider

Make the initials avatar provider the default

Add routes

Add user avatar settings handler methods

Add user avatar provider field

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/622
2020-08-02 17:16:58 +00:00
renovateandkonrad c9117dd037 Update module spf13/afero to v1.3.3 (#623)
Update module spf13/afero to v1.3.3

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/623
2020-08-02 14:11:50 +00:00
konradandkolaente e4539ef232 Use db sessions for task-related things (#621)
Use db sessions for task-related things

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/621
2020-08-01 16:54:38 +00:00
renovateandkonrad 0ba6ae7a18 Update module spf13/viper to v1.7.1 (#620)
Update module spf13/viper to v1.7.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/620
2020-08-01 06:24:46 +00:00
renovateandkonrad 25ecc4a510 Update golang.org/x/crypto commit hash to 123391f (#619)
Update golang.org/x/crypto commit hash to 123391f

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/619
2020-07-29 06:39:36 +00:00
renovateandkonrad 259c2195dc Update module lib/pq to v1.8.0 (#618)
Update module lib/pq to v1.8.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/618
2020-07-28 06:44:54 +00:00
kolaente 7bdc9dd428 Pin telegram notification plugin in drone 2020-07-24 18:32:18 +02:00
renovateandkonrad 5f8872f8cc Update module getsentry/sentry-go to v0.7.0 (#617)
Update module getsentry/sentry-go to v0.7.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/617
2020-07-21 13:02:45 +00:00
renovateandkonrad 5794ede6f6 Update module lib/pq to v1.7.1 (#616)
Update module lib/pq to v1.7.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/616
2020-07-20 17:37:08 +00:00
kolaente 41cf73a473 Add option to configure legal urls 2020-07-18 18:53:56 +02:00
renovateandkonrad f8d84139fa Update module imdario/mergo to v0.3.10 (#615)
Update module imdario/mergo to v0.3.10

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/615
2020-07-18 16:52:05 +00:00
kolaente d3964ff4bd Update xgo to v1.0.0+1.14.6 2020-07-18 18:42:34 +02:00
kolaente 9acba7d3f0 Fix duplicating a list with background 2020-07-17 14:16:59 +02:00
kolaente 2d567bfe0f Make sure lists which would have a duplicate identifier can still be duplicated
+ debug logging for duplicating lists
2020-07-17 13:26:49 +02:00
renovateandkonrad 7207aa60fb Update module src.techknowlogick.com/xgo to v1 (#613)
Update module src.techknowlogick.com/xgo to v1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/613
2020-07-15 06:32:48 +00:00
renovateandkonrad 2b9af951bf Update src.techknowlogick.com/xgo commit hash to 96de19c (#612)
Update src.techknowlogick.com/xgo commit hash to 96de19c

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/612
2020-07-14 19:58:42 +00:00
renovateandkonrad c84efcbbcc Update src.techknowlogick.com/xgo commit hash to 7c2e3c9 (#611)
Update src.techknowlogick.com/xgo commit hash to 7c2e3c9

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/611
2020-07-14 17:59:50 +00:00
kolaente 092aae3260 Add config option to force ssl connections to connect with the mailer 2020-07-14 17:30:39 +02:00
renovateandkonrad 222582fb0c Update module spf13/afero to v1.3.2 (#610)
Update module spf13/afero to v1.3.2

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/610
2020-07-14 13:19:46 +00:00
kolaente a99367bc5f Fix release trigger 2020-07-14 14:45:16 +02:00
kolaente c47d5c7228 Switch s3 release bucket to scaleway 2020-07-14 13:43:35 +02:00
kolaente 3d709e3bb7 Update docs with testmail command + reorder 2020-07-14 09:34:32 +02:00
renovateandkonrad 3a9360a57b Update golang.org/x/crypto commit hash to 948cd5f (#609)
Update golang.org/x/crypto commit hash to 948cd5f

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/609
2020-07-10 08:21:21 +00:00
renovateandkonrad dd3c4cd032 Update golang.org/x/crypto commit hash to ab33eee (#608)
Update golang.org/x/crypto commit hash to ab33eee

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/608
2020-07-08 07:12:16 +00:00
kolaente 2a4a622518 0.14.1 release preparations 2020-07-07 10:58:03 +02:00
konradandkolaente 4db06ba9a1 Fix creating lists with non ascii characters (#607)
Fix test name

Fix migrating lists with non utf-8 characters in their name

Fix creating lists with non utf-8 characters

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/607
2020-07-07 07:48:12 +00:00
kolaente 96f366f5e7 Add docs about using vikunja with utf-8 characters 2020-07-06 21:53:26 +02:00
kolaente 78791f31a4 Fix parsing todoist reminder dates 2020-07-05 20:49:29 +02:00
kolaente ec3fa9300b Fix parsing todoist reminder dates 2020-07-05 17:48:36 +02:00
kolaente 9fa7e30a0a update theme 2020-07-05 15:25:25 +02:00
jtojnarandkonrad 158d98c2bd Makefile: make add EXTRA_GOFLAG to GOFLAGS (#605)
Makefile: make add EXTRA_GOFLAG to GOFLAGS

Some commands (`go generate`) only support taking `GOFLAGS` from the environment
but setting `GOFLAGS` environment variable is ineffectual because the variable
of the same name defined in the Makefile shadows it.

We also have a custom `EXTRA_GOFLAGS` variable but we only pass that to `go build`.

Let’s add `EXTRA_GOFLAGS` to the `GOFLAGS` variable in the Makefile to allow passing
custom flags to Go through `EXTRA_GOFLAGS` environment variable.

Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/605
Reviewed-by: konrad <konrad@kola-entertainments.de>
2020-07-04 16:55:45 +00:00
kolaente ae12871bd7 Fix decoding active users from redis 2020-07-02 23:19:03 +02:00
kolaente 7141050f8b Make sure the metrics map accesses only happen explicitly 2020-07-02 21:16:39 +02:00
kolaente 5d900fd40d 0.14.0 release preparations 2020-07-01 17:12:49 +02:00
kolaente f57b7e989f Fix updating the index when moving a task 2020-07-01 16:54:18 +02:00
kolaente 556ccd68c1 Set the list identifier when creating a new task 2020-07-01 11:17:18 +02:00
konradandkolaente 1181039249 Duplicate Lists (#603)
Fix buckets not being duplicated correctly

Fix list id param not working

Add api endpoint

Add swagger docs

Add comment about test

Make duplicating actually work

Add copying link shares

Add copying list backgrounds

Add copying task relations

Add copying task comments

Add copying assignees

Add copying task task label relations

Add copying task attachments

Add duplicating tasks

Add basic struct and methods

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/603
2020-06-30 20:53:14 +00:00
kolaente 6da137cd4a Remove go mod vendor todo from pr template now that we don't keep dependencies in the repo anymore 2020-06-30 17:09:18 +02:00
kolaente 9750a23dbe Make the db timezone migration mysql compatible 2020-06-30 11:29:47 +02:00
kolaente 1c93aab7e0 Fix not loading timezones on all operating systems 2020-06-30 09:55:46 +02:00
renovateandkonrad 53c4637fb6 Update module spf13/afero to v1.3.1 (#602)
Update module spf13/afero to v1.3.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/602
2020-06-28 18:25:51 +00:00
kolaente 3b2289c8fa Fix swagger docs 2020-06-28 16:25:46 +02:00
renovateandkonrad b55b21373c Update module swaggo/swag to v1.6.7 (#601)
Update module swaggo/swag to v1.6.7

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/601
2020-06-28 14:11:17 +00:00
kolaente 53cfa99912 Remove vendored dependencies 2020-06-28 14:00:10 +02:00
kolaente f30e720c7b Update dependency github.com/mattn/go-sqlite3 to v1.14.0 2020-06-28 13:05:33 +02:00
renovateandkonrad 57c84f3adc Update module go-testfixtures/testfixtures/v3 to v3.3.0 (#600)
Update module go-testfixtures/testfixtures/v3 to v3.3.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/600
2020-06-28 07:23:55 +00:00
kolaente 2820d92ab3 Expose namespace id when querying lists 2020-06-27 23:00:15 +02:00
renovateandkonrad 780a654f65 Update github.com/shurcooL/vfsgen commit hash to 92b8a71 (#599)
Update github.com/shurcooL/vfsgen commit hash to 92b8a71

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/599
2020-06-27 18:50:08 +00:00
konradandkolaente 08205008e7 Migrate all timestamps to real iso dates (#594)
Fix query param name

Add option to include null results when filtering

Always set db time to gmt

Fix null filter

Fix timezone setting for todoist parsing

Fix timezone setting for wunderlist parsing

Fix import

Fix caldav reminder parsing

Use timezone from config

Add error and test for invalid filter values

Fix integration tests

Remove task collection date hack

Fix task filter

Fix lint

Fix tests and fixtures for date timezone stuff

Properly set timezone

Change fixtures time zone to gmt

Set db timezone

Set created and updated timestamps for all fixtures

Fix lint

Fix test fixtures

Fix misspell

Fix test fixtures

Partially fix tests

Remove timeutil package

Remove adding _unix suffix hack

Remove _unix suffix

Move all timeutil.TimeStamp to time.Time

Remove all Unix suffixes in field names

Add better error messages when running migrations

Make sure to not migrate 0 unix timestamps to 1970 iso dates

Add migration script for sqlite

Add converting sqlite values

Convert 0 unix timestamps to null in postgres

Convert 0 to null in timestamps

Automatically rename _unix suffix

Add all tables and columns for migration

Fix sql migration query for mysql

Fail with an error if trying to use an unsupported dbms

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/594
2020-06-27 17:04:01 +00:00
kolaente e17cac854a Fix removing existing sqlite files 2020-06-27 16:34:53 +02:00
kolaente 974d028e51 Fix sqlite db not working when creating a new one 2020-06-26 19:45:19 +02:00
kolaente be11362533 Fix searching for unsplash pictures with words that contain a space 2020-06-26 00:37:10 +02:00
kolaente 912abb3a10 Fix namespace title not being updated 2020-06-26 00:03:28 +02:00
kolaente 0add1dce01 Add go version to version command 2020-06-25 15:59:06 +02:00
renovateandkonrad 922c41236c Update module prometheus/client_golang to v1.7.1 (#597)
Update module prometheus/client_golang to v1.7.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/597
2020-06-24 05:41:09 +00:00
kolaente c8605d6b3d Enable upload backgrounds by default 2020-06-23 22:53:23 +02:00
kolaente caee123f9d Add better errors if the sqlite db file is not writable 2020-06-23 11:21:42 +02:00
renovateandkonrad 7b31301f09 Update golang.org/x/crypto commit hash to 75b2880 (#596)
Update golang.org/x/crypto commit hash to 75b2880

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/596
2020-06-23 05:55:37 +00:00
kolaente f2025c2658 Fix sqlite path in default config 2020-06-22 23:13:41 +02:00
kolaente f324e3fb28 Fix docker multiarch build 2020-06-22 21:33:55 +02:00
kolaente 894d35e4fe Fix docker manifest build 2020-06-22 20:54:38 +02:00
kolaente 1d9cd82d68 Simplify pipeline & add docker manifest step 2020-06-22 19:23:52 +02:00
kolaente 2bc26fe4fa Make sure docker images are only built when tests pass 2020-06-22 16:40:41 +02:00
kolaente 4168b9ac26 Add seperate docker pipeline for amd64 and arm 2020-06-22 16:16:19 +02:00
leggettc18andkonrad 8b030135de Added section to full-docker-example.md for Caddy v2. (#595)
Fixed one more leftover formatting oddity.

Fixed some leftovers from copy-paste.

Added section to full-docker-example.md for Caddy v2.

Co-authored-by: Christopher Leggett <chris@leggett.dev>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/595
Reviewed-by: konrad <konrad@kola-entertainments.de>
2020-06-22 04:48:00 +00:00
kolaente 150c3f032c Prevent crashing when trying to register with an empty payload 2020-06-21 20:54:46 +02:00
kolaente bfc4dd05ed Add docs for restore 2020-06-21 17:34:34 +02:00
kolaente cd812b4232 update theme 2020-06-21 17:32:38 +02:00
konradandkolaente e4f150bbe3 Restore command (#593)
Add waiting for changes to config file

Add max size for config files

Restore files

Restore database file

Expose migrate to

Move init stuff to seperate package

Add restoring config file

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/593
2020-06-21 15:30:48 +00:00
kolaente db0126968a Improve memory usage of dump by not loading all files in memory prior to adding them to the zip 2020-06-20 11:48:45 +02:00
kolaente c12bac0c96 Return errors when dumping 2020-06-20 11:37:51 +02:00
konradandkolaente fba333866d Add dump command (#592)
Fix files location in dump

Fix gitignore

Add docs

Add dumps to gitignore

Move dump to seperate package

logging

Dump files

Dump version

Dump database

Dump config

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/592
2020-06-19 21:29:02 +00:00
konradandkolaente d02d413c5e Sentry integration (#591)
Use sentry echo integration to send errors

Only capture errors not already handled by echo

Add sentry panic handler

Add sentry library

Add sentry init

Add sentry config

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/591
2020-06-19 18:47:15 +00:00
renovateandkonrad c51662c270 Update module src.techknowlogick.com/xormigrate to v1.3.0 (#590)
Update module src.techknowlogick.com/xormigrate to v1.3.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/590
2020-06-18 18:51:06 +00:00
kolaente 021e3e307b Remove build date from binary 2020-06-18 19:26:53 +02:00
kolaente b4cdb75d15 Update xorm.io/xorm 1.0.1 -> 1.0.2 2020-06-18 19:22:58 +02:00
kolaente ad6ef03c0c Update xorm.io/xorm 1.0.1 -> 1.0.2 2020-06-18 19:22:43 +02:00
kolaente 5930d5aabf Update web handler 2020-06-18 18:48:48 +02:00
kolaente 3c5925c827 Add plausible to docs 2020-06-18 18:33:30 +02:00
renovateandkonrad b7c8c1f533 Update module prometheus/client_golang to v1.7.0 (#589)
Update module prometheus/client_golang to v1.7.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/589
2020-06-17 21:24:13 +00:00
renovateandkonrad bf41b2ed9f Update module spf13/afero to v1.3.0 (#588)
Update module spf13/afero to v1.3.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/588
2020-06-17 16:52:36 +00:00
kolaente 525a547500 Remove min length for labels, lists, namespaces, tasks and teams 2020-06-17 18:52:23 +02:00
kolaente ca4d5000ed Add list background information when getting all lists 2020-06-16 18:57:08 +02:00
kolaente 24c1098736 Fix resetting list, label & namespace colors 2020-06-15 11:32:07 +02:00
konradandkolaente 47d7e713af Repeat tasks after completion (#587)
Fix integration tests

Add updating start and end date from current date

Add updating reminders from current date

Add updating reminders from current date

Add updating due date from current date

Add updating flag

Add tests

Add field to repeat a task after current date

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/587
2020-06-14 11:04:38 +00:00
kolaente 3ba26ce67e Fix docs theme build 2020-06-13 23:44:05 +02:00
konradandkolaente ab1d58959f Ensure task dates are in the future if a task has a repeating interval (#586)
Ensure task dates are in the future if a task has a repeating interval

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/586
2020-06-13 21:32:31 +00:00
konradandkolaente f17e378a93 Add migration test in drone (#585)
Add test migration for postgres & mysql

More logging

Set database type explicitly to sqlite

Only extract vikunja binary

Add seperate build step to speed up tests

Add migration test in drone

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/585
2020-06-13 20:45:18 +00:00
kolaente f5e44d9eb3 Reorganize cmd init functions 2020-06-13 19:44:45 +02:00
kolaente d9d00ba60c Fix migration 20200516123847 2020-06-13 19:33:48 +02:00
kolaente a15b1bebba Fix migration 20200425182634 2020-06-13 19:27:12 +02:00
kolaente 980be0e4e0 update theme 2020-06-12 23:37:47 +02:00
konradandkolaente a0ffe89056 List Background upload (#582)
Add filesize check when uploading a new file

Fix error 500 if the uploaded background was not an unsplash one

Add upload background setting to info endpoint

Add config docs

Fix lint

Return list background type if it was uploaded

Add file upload

Add docs

Save uploaded backgrounds as file

Add background upload handler

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/582
2020-06-11 17:31:37 +00:00
renovateandkonrad bd11c9650e Update module lib/pq to v1.7.0 (#581)
Update module lib/pq to v1.7.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/581
2020-06-08 21:17:38 +00:00
kolaente 32a5dff78d Fix migration to add position to task
Signed-off-by: kolaente <k@knt.li>
2020-06-07 18:28:49 +02:00
renovateandkonrad 8ef2da8f5f Update module stretchr/testify to v1.6.1 (#580)
Update module stretchr/testify to v1.6.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/580
2020-06-05 13:26:48 +00:00
renovateandkonrad 60e802d77f Update module go-redis/redis/v7 to v7.4.0 (#579)
Update module go-redis/redis/v7 to v7.4.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/579
2020-06-05 13:26:35 +00:00
renovateandkonrad 966acf51d8 Update golang.org/x/crypto commit hash to 70a84ac (#578)
Update golang.org/x/crypto commit hash to 70a84ac

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/578
2020-06-05 13:26:21 +00:00
renovateandkonrad b5b84e6bbd Update golang.org/x/crypto commit hash to 279210d (#577)
Update golang.org/x/crypto commit hash to 279210d

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/577
2020-06-03 08:53:09 +00:00
renovateandkonrad f72aa4e52f Update src.techknowlogick.com/xgo commit hash to a09175e (#576)
Update src.techknowlogick.com/xgo commit hash to a09175e

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/576
2020-06-02 07:33:43 +00:00
renovateandkonrad d9f1d456d3 Update src.techknowlogick.com/xgo commit hash to eeb7c0a (#575)
Update src.techknowlogick.com/xgo commit hash to eeb7c0a

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/575
2020-06-02 06:39:25 +00:00
renovateandkonrad 67f4c9f941 Update module src.techknowlogick.com/xormigrate to v1.2.1 (#574)
Update module src.techknowlogick.com/xormigrate to v1.2.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/574
2020-06-01 10:33:58 +00:00
kolaente d63666cece Fix getting unsplash thumbnails for non "photo-*" urls 2020-05-31 22:40:27 +02:00
kolaente d8a6acda96 Fix proxying unsplash images (security) 2020-05-31 22:36:25 +02:00
kolaente 03ef48a0ae Properly ping unsplash when using unsplash images 2020-05-31 22:06:59 +02:00
kolaente 8f35b9d579 Set unsplash empty collection caching to one hour 2020-05-31 20:50:51 +02:00
kolaente ebfa982c72 Fix misspell 2020-05-31 18:12:32 +02:00
kolaente 2fa4fcc202 Fix caching of initial unsplash results per page 2020-05-31 18:09:46 +02:00
kolaente ad67154e26 Add cache for initial unsplash collection 2020-05-31 17:59:39 +02:00
kolaente 250c45d1b9 Remove migration dependency to models 2020-05-30 17:09:35 +02:00
kolaente dc036d44db Update theme 2020-05-30 17:00:52 +02:00
renovateandkonrad 9c4c265767 Update alpine Docker tag to v3.12 (#573)
Update alpine Docker tag to v3.12

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/573
2020-05-29 21:44:01 +00:00
kolaente a525787ab7 Update and fix staticcheck 2020-05-29 22:15:21 +02:00
kolaente aae1bc3cab Load the list when setting a background 2020-05-29 22:12:16 +02:00
kolaente 42ddee8d6f Add logging if downloading an image from unsplash fails 2020-05-29 22:11:49 +02:00
renovateandkonrad 54b18b3c59 Update module lib/pq to v1.6.0 (#572)
Update module lib/pq to v1.6.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/572
2020-05-29 17:47:28 +00:00
kolaente 5a04f1ecf4 Add option to disable totp for everyone 2020-05-29 17:15:59 +02:00
kolaente a0fb8bd32d Add unsplash image proxy for images and thumbnails 2020-05-29 15:33:46 +02:00
konradandkolaente c685250c96 Add test mail command (#571)
Add test mail command

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/571
2020-05-29 13:10:06 +00:00
renovateandkonrad 9ea1104764 Update module stretchr/testify to v1.6.0 (#570)
Update module stretchr/testify to v1.6.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/570
2020-05-29 09:37:34 +00:00
kolaente 2ef2c7523d Also return unsplash info when searching 2020-05-27 22:12:12 +02:00
konradandkolaente e5e30d0915 List Backgrounds (#568)
Return the updated list when setting a list background

Add swagger docs for unsplash methods

Add unsplash info to search results

Fix misspell

Fix lint

Add rights check for setting and getting backgrounds

Show unsplash information when loading a single list

Make application id for pingbacks configurable

Remove old backgrounds when setting a new one

Return 404 if the list does not have a background

Implement getting list backgrounds

Implement actually setting a photo from unsplash as list background

go mod tidy

Add migration for background file id

Roughly implement setting a list background from unsplash

Implement saving a background

Add migration for unsplash photo table

Add unsplash search

Fix parsing page param

Fix parsing page param

Fix background config

Add unsplash wrapper library

Add enabled background providers to info endpoint

Add config options for backgrounds

Add unsplash background provider

Add routing handler for backgrounds

Add basic background provider interface

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/568
2020-05-26 20:07:55 +00:00
kolaente c37b776f7a Add docker setup guide from start to finish 2020-05-24 13:50:17 +02:00
kolaente e9bc3246ce Add todoist migrator to available migrators in info endpoint if it is enabled 2020-05-24 12:51:38 +02:00
konradandkolaente e89e6d47d4 Todoist Migration (#566)
Add swagger docs + fix lint

Add parsing logic + fix fixtures

Fix test init

Add logging to creating labels and debug logs

Add creating labels when migrating

Finish test fixtures

Started adding fixtures for testing

Add method and test structures to convert todoist to vikunja

Add basic structure to migrate everything

Add all structs for todoist api

Add docs for config options

Add routes for todoist migrator

Add api token exchange

Add basic structure for todoist migration

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/566
2020-05-23 20:50:54 +00:00
kolaente 292c815000 Add restarting commands to all example docker compose files 2020-05-23 19:34:44 +02:00
kolaente f0b1de5ec6 Use the db logger instance for logging migration related stuff 2020-05-23 18:33:11 +02:00
kolaente 4204af255c Add ability to run the docker container with configurable user and group ids 2020-05-22 21:18:11 +02:00
renovateandkonrad b0948a37d4 Update module go-redis/redis/v7 to v7.3.0 (#565)
Update module go-redis/redis/v7 to v7.3.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/565
2020-05-21 08:56:39 +00:00
kolaente cc47d11792 "fix" gocyclo check 2020-05-19 17:41:37 +02:00
kolaente b6b82e6f54 Merge branch 'release/0.13' 2020-05-19 17:28:32 +02:00
kolaente 16ed5fd982 Release preparations 2020-05-19 17:27:37 +02:00
kolaente 24aa68f090 Don't return all tasks when a user has no lists 2020-05-19 17:23:49 +02:00
kolaente 98ef052967 Don't return all tasks when a user has no lists 2020-05-19 17:22:10 +02:00
kolaente 8a01b20e1e Fix setting a list identifier to empty 2020-05-16 13:13:11 +02:00
kolaente 5a86f44fc3 Generate a random list identifier based on the list title 2020-05-16 12:58:37 +02:00
konradandkolaente fe43173b6c Ensure consistent naming of title fields (#528)
Remove task text and namespace name in migration

Fix lint

Add migration for namespace title

Fix renaming namespace name to title

Rename namespace name field to title

Drop text column at the end of the migration

Add migration for task text to title

Rename task text to title

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/528
2020-05-16 10:17:44 +00:00
konradandkolaente 587ce92dc9 Improve getting all namespaces performance (#526)
Improve getting all namespaces performance

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/526
2020-05-15 15:10:22 +00:00
konradandkolaente 8758fb6ac5 Fix case-insensitive task search for postgresql (#524)
"Fix" gocyclo

Fix case-insensitive task search for postgresql

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/524
2020-05-15 14:12:20 +00:00
kolaente 92e5e2db6a Make the _unix suffix optional when sorting tasks 2020-05-15 16:07:36 +02:00
renovateandkonrad 851f0d6c08 Update src.techknowlogick.com/xgo commit hash to 209a5cf (#523)
Update src.techknowlogick.com/xgo commit hash to 209a5cf

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/523
2020-05-15 13:28:38 +00:00
kolaente 333444b4e1 Improve metrics performance 2020-05-15 14:42:32 +02:00
konradandkolaente 28a5c1f7b2 Remove dependencies on build step to speed up test pipeline (#521)
Make all steps depend on fetch tags to let them execute in parallel

Cleanup

Remove dependency from the build step everywhere

Add generation step for tests

Remove dependencies on build step to speed up test pipeline

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/521
2020-05-15 12:06:12 +00:00
renovateandkonrad 4533ac6b28 Update module spf13/cobra to v1 (#511)
Update module spf13/cobra to v1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/511
2020-05-14 19:09:06 +00:00
kolaente 91a3b7aba2 0.13 release preperations 2020-05-12 22:11:46 +02:00
kolaente 4137d4aed2 Fix creating new things with a link share auth 2020-05-12 15:51:48 +02:00
kolaente cb095d70df Add explanation to docs about cors 2020-05-12 11:10:07 +02:00
kolaente e43e601912 Add traefik 2 example configuration 2020-05-11 22:02:15 +02:00
kolaente 55cd40d175 Fix team rights not updating for namespace rights 2020-05-11 18:39:30 +02:00
renovateandkonrad 55cd74efca Update module go-testfixtures/testfixtures/v3 to v3.2.0 (#505)
Update module go-testfixtures/testfixtures/v3 to v3.2.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/505
2020-05-11 10:10:15 +00:00
renovateandkonrad a9d0079bf3 Update golang.org/x/crypto commit hash to 06a226f (#504)
Update golang.org/x/crypto commit hash to 06a226f

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/504
2020-05-11 09:02:23 +00:00
konradandkolaente 8ac158cdb4 Task Filter Fixes (#495)
Fix gocyclo

Fix misspell

Error codes docs

Filter fixes

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/495
2020-05-09 15:48:56 +00:00
renovateandkonrad def2362682 Update module spf13/viper to v1.7.0 (#494)
Update module spf13/viper to v1.7.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/494
2020-05-09 13:44:17 +00:00
kolaente 18f6e31b54 Fix parsing array style comparators by query param 2020-05-09 15:08:58 +02:00
kolaente 7e1d0a81bf Change totp secret datatype from varchar to text 2020-05-09 14:45:57 +02:00
renovateandkonrad f30e405229 Update module lib/pq to v1.5.2 (#491)
Update module lib/pq to v1.5.2

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/491
2020-05-08 13:23:26 +00:00
kolaente 563fe16bd4 Add checking and logging when trying to put a task into a nonexisting bucket 2020-05-07 10:20:10 +02:00
kolaente a30a358b73 Update theme 2020-05-06 21:03:15 +02:00
kolaente 497499e221 Fix reference to reverse proxies in docs 2020-05-06 21:02:58 +02:00
kolaente 1fdc51078e Add docs for changing frontend url 2020-05-06 20:44:48 +02:00
renovateandkonrad 60f343a926 Update module lib/pq to v1.5.1 (#485)
Update module lib/pq to v1.5.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/485
2020-05-05 08:59:08 +00:00
konradandkolaente fd3ccd6130 Fix total label count when getting all labels (#477)
Fix total label count when getting all labels

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/477
2020-05-03 21:28:36 +00:00
kolaente a97ce76f1f Fix bucket ID being reset with no need to do so 2020-05-03 22:25:48 +02:00
kolaente 83cf6e191c Fix not moving its bucket when moving a task between lists 2020-05-03 21:33:59 +02:00
kolaente f0ac6e89be Remove setting task bucket to 0 2020-05-03 21:24:28 +02:00
renovateandkonrad 23950c0602 Update module lib/pq to v1.5.0 (#476)
Update module lib/pq to v1.5.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/476
2020-05-03 18:14:57 +00:00
renovateandkonrad 19a05a7c2c Update golang.org/x/crypto commit hash to 4b2356b (#475)
Update golang.org/x/crypto commit hash to 4b2356b

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/475
2020-05-01 10:06:00 +00:00
renovateandkonrad 299e856736 Update module prometheus/client_golang to v1.6.0 (#463)
Update module prometheus/client_golang to v1.6.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/463
2020-04-28 18:50:58 +00:00
renovateandkonrad 6d95dc16c2 Update golang.org/x/crypto commit hash to 729f1e8 (#458)
Update golang.org/x/crypto commit hash to 729f1e8

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/458
2020-04-27 18:56:31 +00:00
kolaente fa28ddc2f7 Fix pagination count for task collection 2020-04-27 19:28:19 +02:00
kolaente 56dbb564ea Fix link share creation & creating admin link shares without admin rights 2020-04-27 12:51:09 +02:00
renovateandkonrad 711124f5c0 Update module go-testfixtures/testfixtures/v3 to v3.1.2 (#457)
Update module go-testfixtures/testfixtures/v3 to v3.1.2

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/457
2020-04-27 09:10:08 +00:00
kolaente 5606f987fa Add creating a new first bucket when creating a new list 2020-04-26 15:51:59 +02:00
kolaente f0cb3b5e36 Fix removing the last bucket 2020-04-26 00:57:47 +02:00
konradandkolaente 231dc3913f Add real buckets for tasks which don't have one (#446)
Add docs for error code

Add moving new tasks into the default bucket when none was provided

Add moving tasks in default bucket when deleting one

Fix tests again

Add test for removing a bucket

Fix tests

Prevent removing the last bucket

Remove the empty pseudo bucket

Add migration to create a new bucket for each list (and put all tasks in it

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/446
2020-04-25 20:32:02 +00:00
renovateandkonrad 2b1fc441e6 Update golang.org/x/crypto commit hash to 4bdfaf4 (#438)
Update golang.org/x/crypto commit hash to 4bdfaf4

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/438
2020-04-24 15:23:22 +00:00
e433289832 Task Position (#412)
Fix misspell

Fix sorting tasks with null values

Fix sorting by priority for postgres

Merge branch 'master' into feature/position

Add community link

Update golang.org/x/crypto commit hash to 44a6062 (#429)

Update golang.org/x/crypto commit hash to 44a6062

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/429

Update module lib/pq to v1.4.0 (#428)

Update module lib/pq to v1.4.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/428

Fix updating position

Add ordering tasks in buckets by position

Make task sort by string

Merge branch 'master' into feature/position

Update golang.org/x/crypto commit hash to 3c4aac8 (#419)

Update golang.org/x/crypto commit hash to 3c4aac8

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/419

Merge branch 'master' into feature/position

Fix moving tasks back into the empty (ID: 0) bucket

Add adding a default position when creating new tasks

Update golang.org/x/crypto commit hash to a76a400 (#411)

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

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/411

Remove unused code

Fix tests

Add migration for position attribute

Add position attribute

Co-authored-by: kolaente <k@knt.li>
Co-authored-by: renovate <renovatebot@kolaente.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/412
2020-04-24 15:23:03 +00:00
kolaente 86bdd1e386 Add community link 2020-04-24 13:00:29 +02:00
renovateandkonrad 4f1c0d99ea Update golang.org/x/crypto commit hash to 44a6062 (#429)
Update golang.org/x/crypto commit hash to 44a6062

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/429
2020-04-22 22:49:56 +00:00
renovateandkonrad f0792cfb0b Update module lib/pq to v1.4.0 (#428)
Update module lib/pq to v1.4.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/428
2020-04-22 10:16:38 +00:00
renovateandkonrad dece744685 Update golang.org/x/crypto commit hash to 3c4aac8 (#419)
Update golang.org/x/crypto commit hash to 3c4aac8

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/419
2020-04-21 07:41:16 +00:00
kolaente 68ab6d2e75 Fix moving tasks back into the empty (ID: 0) bucket 2020-04-20 23:08:38 +02:00
renovateandkonrad c69f0bf3cb Update golang.org/x/crypto commit hash to a76a400 (#411)
Update golang.org/x/crypto commit hash to a76a400

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/411
2020-04-20 20:58:32 +00:00
kolaente 59037e4eee Fix moving tasks in buckets 2020-04-20 18:08:20 +02:00
kolaente 1bd8348be7 Add categories to error docs 2020-04-19 14:33:51 +02:00
konradandkolaente ecdecdd94e Kanban (#393)
Fix tests

Add error docs

Add swagger docs for bucket endpoints

Add integration tests

Fix tests

Fix err shadow

Make sure a bucket and a task belong to the same list when adding or updating a task

Add tests

Add getting users of a bucket

Fix log level when testing

Fix lint

Add migration for buckets

Cleanup/Comments/Reorganization

Add Kanban bucket handling

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/393
2020-04-19 07:27:28 +00:00
konradandkolaente 28ec44c91f Add moving tasks between lists (#389)
Fix misspell

Add moving tasks between lists

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/389
2020-04-18 12:35:37 +00:00
kolaente 895d9613b5 Add endpoint to disable totp auth 2020-04-18 01:38:49 +02:00
kolaente 87d0c9088d Add endpoint to get the current users totp status 2020-04-18 00:22:59 +02:00
konradandkolaente 24904585a2 Add 2fa for authentification (#383)
Fix user tests

Add swagger docs

Fix lint

Add totp check when logging in

Make totp enrollment work

Add migration for totp table

go mod vendor

Add routes for totp routes

Add route handler for totp routes

Add basic implementation to enroll a user in totp

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/383
2020-04-17 19:25:35 +00:00
kolaente 1dca8e96a7 Add changing email for users 2020-04-17 16:01:45 +02:00
kolaente e1ab2095fa Update docs theme 2020-04-16 23:31:36 +02:00
renovateandkonrad 12e18de8ad Update golang.org/x/crypto commit hash to 0848c95 (#371)
Update golang.org/x/crypto commit hash to 0848c95

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/371
2020-04-15 06:48:46 +00:00
kolaente 025b00247d Fix replace statements for tail 2020-04-14 21:37:00 +02:00
kolaente 5832991c4d Fix tests after renaming json fields to snake_case 2020-04-13 23:27:55 +02:00
kolaente 81990f3f80 Update xorm redis cacher to use the xorm logger instead of a special seperate one 2020-04-13 23:18:33 +02:00
kolaente 368cbdf979 Fix gosec in drone 2020-04-13 23:04:59 +02:00
kolaente b8d7c97eb7 Add gosec static analysis 2020-04-13 22:30:09 +02:00
kolaente fb8ac92abf Change all json fields to snake_case 2020-04-12 22:48:46 +02:00
kolaente 0bfb3a4709 Add configuration options for log level 2020-04-12 22:32:21 +02:00
kolaente 9559a68416 Update module prometheus/client_golang to v1 2020-04-12 22:06:24 +02:00
konradandkolaente d28f005552 Update xorm to v1 (#323)
Fix limit for databases other than sqlite

go mod tidy && go mod vendor

Remove unneeded break statements

Make everything work with the new xorm version

Fix xorm logging

Fix lint

Fix redis init

Fix using id field

Fix database init for testing

Change default database log level

Add xorm logger

Use const for postgres

go mod tidy

Merge branch 'master' into update/xorm

# Conflicts:
#	go.mod
#	go.sum
#	vendor/modules.txt

go mod vendor

Fix loading fixtures for postgres

Go mod vendor1

Update xorm to version 1

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/323
2020-04-12 17:29:24 +00:00
renovateandkonrad 713560702b Update module go-redis/redis to v7 (#309)
Update module go-redis/redis to v7

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/309
2020-04-11 21:43:04 +00:00
konradandkolaente 0ba121fdfb Task filters (#243)
Fix not returning errors

Fix integration tests

Add more tests

Make task filtering actually work

Change tests

Fix using filter conditions

Fix test

Remove unused fields

Fix static check

Remove start and end date fields on task collection

Fix misspell

add filter logic when getting tasks

Add parsing filter query parameters into task filters

Start adding support for filters

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/243
2020-04-11 14:20:33 +00:00
kolaente 0e2449482f Fix dependencies 2020-04-09 23:06:57 +02:00
renovateandkonrad 8d1a3f4fd7 Update module spf13/viper to v1.6.3 (#291)
Update module spf13/viper to v1.6.3

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/291
2020-04-09 20:29:11 +00:00
renovateandkonrad 1e0f2dde6a Update module go-redis/redis to v6.15.7 (#290)
Update module go-redis/redis to v6.15.7

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/290
2020-04-09 20:28:58 +00:00
renovateandkonrad 7abac07837 Update src.techknowlogick.com/xgo commit hash to bb0faa3 (#279)
Update src.techknowlogick.com/xgo commit hash to bb0faa3

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/279
2020-04-09 04:36:03 +00:00
renovateandkonrad 15d718fb1a Update module go-redis/redis to v7 (#277)
Update module go-redis/redis to v7

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/277
2020-04-09 04:35:36 +00:00
renovateandkonrad 4ca3f714ea Update module stretchr/testify to v1.5.1 (#274)
Update module stretchr/testify to v1.5.1

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/274
2020-04-08 20:30:48 +00:00
renovateandkonrad 6d1b123a25 Update module spf13/cobra to v0.0.7 (#271)
Update module spf13/cobra to v0.0.7

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/271
2020-04-08 19:44:10 +00:00
renovateandkonrad 13ebb98644 Update module spf13/viper to v1.6.2 (#272)
Update module spf13/viper to v1.6.2

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/272
2020-04-08 18:43:35 +00:00
renovateandkonrad dda558fe1c Update module prometheus/client_golang to v0.9.4 (#245)
Update module prometheus/client_golang to v0.9.4

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/245
2020-04-07 20:42:06 +00:00
renovateandkonrad 76f19db6e7 Update module labstack/echo/v4 to v4.1.16 (#241)
Update module labstack/echo/v4 to v4.1.16

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/241
2020-04-07 18:59:53 +00:00
renovateandkonrad f776b799b8 Update module olekukonko/tablewriter to v0.0.4 (#240)
Update module olekukonko/tablewriter to v0.0.4

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/240
2020-04-07 16:58:27 +00:00
renovateandkonrad 746a443660 Update module imdario/mergo to v0.3.9 (#238)
Update module imdario/mergo to v0.3.9

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/238
2020-04-07 16:05:10 +00:00
renovateandkonrad 026d3dc80d Update module go-redis/redis to v6.15.7 (#234)
Update module go-redis/redis to v6.15.7

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/234
2020-04-07 12:31:33 +00:00
renovateandkonrad fd7dd47d5e Update github.com/gordonklaus/ineffassign commit hash to 7953dde (#233)
Update github.com/gordonklaus/ineffassign commit hash to 7953dde

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/233
2020-04-07 12:30:57 +00:00
renovateandkonrad 1e5a1b4892 Update github.com/shurcooL/httpfs commit hash to 8d4bc4b (#229)
Update github.com/shurcooL/httpfs commit hash to 8d4bc4b

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/229
2020-04-07 08:39:00 +00:00
renovateandkonrad c7f6748761 Update github.com/jgautheron/goconst commit hash to cda7ea3 (#228)
Update github.com/jgautheron/goconst commit hash to cda7ea3

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/228
2020-04-07 08:38:00 +00:00
renovateandkonrad 7efa0069cb Update golang.org/x/crypto commit hash to 056763e (#222)
Update golang.org/x/crypto commit hash to 056763e

Update golang.org/x/lint commit hash to 738671d (#223)

Update golang.org/x/lint commit hash to 738671d

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/223

Update src.techknowlogick.com/xgo commit hash to c43d4c4 (#224)

Update src.techknowlogick.com/xgo commit hash to c43d4c4

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/224

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/222
2020-04-07 08:37:20 +00:00
renovateandkonrad 424cf80e5c Update golang.org/x/lint commit hash to 738671d (#223)
Update golang.org/x/lint commit hash to 738671d

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/223
2020-04-07 07:29:05 +00:00
renovateandkonrad 1448d9de98 Update src.techknowlogick.com/xgo commit hash to c43d4c4 (#224)
Update src.techknowlogick.com/xgo commit hash to c43d4c4

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/224
2020-04-07 07:28:48 +00:00
renovateandkonrad cbf01e118a Update github.com/c2h5oh/datasize commit hash to 28bbd47 (#212)
Update github.com/c2h5oh/datasize commit hash to 28bbd47

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/212
2020-04-06 20:28:57 +00:00
renovateandkonrad 191942fcd1 Update alpine Docker tag to v3.11 (#160)
Update alpine Docker tag to v3.11

Add github token for renovate (#164)

Add github token for renovate

Add github token for renovate

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/164

Update Renovate Configuration (#161)

Add labels to renovate

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/161

Co-authored-by: konrad <konrad@kola-entertainments.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/160
2020-04-06 06:40:42 +00:00
konradandkolaente d5c8f2541d Add github token for renovate (#164)
Add github token for renovate

Add github token for renovate

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/164
2020-04-05 19:16:21 +00:00
konradandkolaente 6e9ad3d808 Update Renovate Configuration (#161)
Add labels to renovate

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/161
2020-04-05 17:24:06 +00:00
renovateandkonrad 36fdff5b8b Configure Renovate (#159)
Add renovate.json

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/159
2020-04-05 15:11:27 +00:00
kolaente 8f4139f44a 0.12 Release Preparations 2020-04-04 22:29:32 +02:00
kolaente e7706a20dd Fix call to println
Signed-off-by: kolaente <k@knt.li>
2020-04-02 21:38:16 +02:00
kolaente 6d1018e647 Fix searching for config in home directories
Signed-off-by: kolaente <k@knt.li>
2020-04-02 21:13:42 +02:00
kolaente 11246b948f Fix getting the authenticated user with caldav
Signed-off-by: kolaente <k@knt.li>
2020-04-01 22:51:57 +02:00
konradandkolaente 7b619bd084 Colors for lists and namespaces (#155)
Add Hex Color properties migration

Add Hex Color properties

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/155
2020-03-22 21:09:32 +00:00
kolaente 35f05cbbec Show lists as archived if their namespace is archived
Signed-off-by: kolaente <k@knt.li>
2020-03-22 21:39:57 +01:00
kolaente 0a1887d6e7 Fix archiving namespaces
Signed-off-by: kolaente <k@knt.li>
2020-03-22 19:02:53 +01:00
kolaente c6d22bb1f8 Fix updating lists with an identifier
Signed-off-by: kolaente <k@knt.li>
2020-03-22 18:45:10 +01:00
kolaente 6132863f4a Fix getting archived lists and namespaces
Signed-off-by: kolaente <k@knt.li>
2020-03-22 18:24:54 +01:00
kolaente 26ffd2fd22 Fix getting one namespace
Signed-off-by: kolaente <k@knt.li>
2020-03-21 13:55:42 +01:00
51c74de1de expand relative path ~/.config/vikunja to $HOME/.config/vikunja **WINDOWS** (#147)
apply correct formatting

add quotes to make the yaml gods happy

log path of config file used by viper

resolve merge conflicts: windows compatible $HOME path

Prepare changelog & readme for 0.11 release

expand relative path ~/.config/vikunja to $HOME/.config/vikunja (#146)

update dependencies

expand relative path ~/.config/vikunja

Co-authored-by: Julian <juliangaal@protonmail.com>
Co-authored-by: konrad <konrad@kola-entertainments.de>

Co-authored-by: Julian Gaal <gjulian@uos.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/147
Reviewed-by: konrad <konrad@kola-entertainments.de>
2020-03-20 21:21:44 +00:00
konradandkolaente 5126330a10 Add support for archiving lists and namespaces (#152)
Add query param to get all lists including archived ones

Add query param to get all namespaces including archived ones

Fix getting lists by namespace only not archived lists

Fix misspell

Fix lint

Merge branch 'master' into feature/archive-lists-namespaces

Add docs for error codes

Fix archive error codes

Don't let archived lists show up in general lists

Fix updating description

Fix updating lists with link shares

More comments

Fix un-archiving lists

Move check for archiving a list to canWrite Check

Add more tests

Add more checks

Add checks for namespaces and lists

Add namespace edit

Add tests

Add migrations and filter

Add basic tests

Add is archived property to lists and namespaces

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/152
2020-03-15 21:50:39 +00:00
konradandkolaente 4472020ee9 Add workaround for timezones on windows (#151)
Add workaround for timezones on windows

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/151
2020-03-09 22:41:08 +00:00
kolaente 7de26a462f Add build time to compile flags 2020-03-02 20:24:26 +01:00
kolaente f2f17b11e8 Change release bucket 2020-03-01 22:51:50 +01:00
konradandkolaente cdd068cdb6 Add empty avatar provider (#149)
Fix lint

Add docs for avatar configuration

Add default avatar provider

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/149
2020-03-01 21:10:25 +00:00
konradandkolaente 584e3af237 Add proxying gravatar requests for user avatars (#148)
Fix getting avatar based on email

Remove avatarUrl from user struct

Fix staticcheck

Add default avatar size

Add config option for caching avatars

go mod vendor

Add swagger docs

Add proxying gravatar requests for user avatars

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/148
2020-03-01 20:30:37 +00:00
kolaente 7ddfa76a84 Prepare changelog & readme for 0.11 release 2020-03-01 17:32:38 +01:00
funkythingsandkonrad 1e03c39141 expand relative path ~/.config/vikunja to $HOME/.config/vikunja (#146)
update dependencies

expand relative path ~/.config/vikunja

Authored-by: Julian Gaal <gjulian@uos.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/146
Reviewed-by: konrad <konrad@kola-entertainments.de>
2020-02-29 19:51:47 +00:00
konradandkolaente 88bf8f3df0 Fix updating dates when marking a task as done (#145)
Fix lint

Fix reminders not being updated

Fix updating dates when marking a task as done

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/145
2020-02-26 21:09:45 +00:00
kolaente c551706b52 Make sure the author is returned when creating a new comment 2020-02-25 21:18:42 +01:00
konradandkolaente 1f039c4cda Task Comments (#138)
Add swagger docs

Add integration tests

Add tests

Add task comment test fixtures

Add config option to enable/disable task comments

Add custom error if a task comment does not exist

Fix lint

Add getting author when getting a single comment

Fix getting comments/comments author

Add rights check to ReadAll

+ actually get the comment author

Add migration and table definitions

Add routes

Add ReadOne method

Add basic crud rights

Signed-off-by: kolaente <k@knt.li>

Implement basic crudable functions for task comments

Signed-off-by: kolaente <k@knt.li>

Start adding task comments

Signed-off-by: kolaente <k@knt.li>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/138
2020-02-19 21:57:56 +00:00
konradandkolaente 5901cf64b4 Fix inserting task structure with related tasks (#142)
Fix typo

Fix creating related tasks

Add better logging

Fix inserting task structure with related tasks

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/142
2020-02-18 22:00:54 +00:00
kolaente f87bb6d8ef Update theme 2020-02-18 18:47:19 +01:00
kolaente 021a715aff Fix frontend url for wunderlist migration in docs 2020-02-17 19:52:26 +01:00
konradandkolaente e95a6eeb11 Explicitly disable wunderlist migration by default (#141)
Fix wunderlist callback link in docs

Explicitly disable wunderlist migration by default

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/141
2020-02-17 17:29:17 +00:00
Dpvhandkonrad f46e9cb64e Fixed typo in docker-compose example (#140)
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/140
Reviewed-by: konrad <konrad@kola-entertainments.de>
2020-02-17 16:47:55 +00:00
ce5be947b4 Add postgres support (#135)
Revert fixture fixes for postgres

Use postgres connection string with spaces instead of url

Fix label order

Make postgres tests in ci less verbose

Add sequence update script

Skip resets in postgres

Remove option to skip resets in postgres

Make postgres tests in ci verboseq

Update test fixtures database

Fix file tests on postgres

Add postgres options to sample config

Make sure tests init test fixtures before running the actual tests

Fix issues with IDs too big to fit in an int

Fix duplicate auto incremented IDs

Refactor / Fix team tests

Refactor team member tests

Fix team member create

Fix label test

Fix getting labels

Fix test fixtures for postgresql

Fix connection string params

Disable ssl mode on postgres integration tests

Disable ssl mode on postgres tests

Use sprintf to create the connection string for postgresql

fixup! Add postgres support

Add postgres support

Added generate as a make dependency for make build

Clarify docs on building

Co-authored-by: kolaente <k@knt.li>
Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/135
2020-02-16 21:42:04 +00:00
kolaente 7e42724439 Added generate as a make dependency for make build
Clarify docs on building

Signed-off-by: kolaente <k@knt.li>
2020-02-15 11:35:24 +01:00
konradandkolaente caf91d1904 Update xorm to use the new import path (#133)
Fix ineffassign

Fix getting all labels including the ones not associated to a task

Signed-off-by: kolaente <k@knt.li>

Fix logging sql queries

Signed-off-by: kolaente <k@knt.li>

Start fixing getting all labels

Update xormigrate

Update xorm to use the new import path

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/133
2020-02-14 16:34:25 +00:00
shilchandkonrad 014ec2be69 Use relative url in .gitmodules (#132)
Use relative url in .gitmodules

Co-authored-by: Simon Hilchenbach <simon@hilchenba.ch>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/132
Reviewed-by: konrad <konrad@kola-entertainments.de>
2020-02-13 21:18:49 +00:00
kolaente 5d96c62a47 Fix time zone settings not working in Docker 2020-02-08 23:18:41 +01:00
kolaente 1c3b35fa6f Add more logging to web handler methods 2020-02-08 22:45:38 +01:00
kolaente d84a160054 Remove double user field 2020-02-08 22:12:06 +01:00
konradandkolaente db2d868eed Return iso dates for everything date related from the api (#130)
Remove traces of unix timestamp

Revert renaming reminder table column

Fix staticcheck

Remove unused table call

Add migration for renaming reminders table

Fix issues with using TimeStamp

Fix lint

Updated all created / updated fields to use TimeStamps

Add comments

Convert all created / updated fields to datetime

Add time util package

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/130
2020-02-08 12:48:49 +00:00
kolaente 1f99238019 Update copyright header 2020-02-07 17:27:45 +01:00
konradandkolaente f603b41d99 Better efficency for loading teams (#128)
Fix staticcheck

Better performance for getting teams on a namespace

Better performance for getting teams on a list

Fix lint

Fix swagger

Signed-off-by: kolaente <k@knt.li>

Make loading a single full team more efficent

Signed-off-by: kolaente <k@knt.li>

Make loading teams more efficent

Signed-off-by: kolaente <k@knt.li>

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/128
2020-01-27 17:28:17 +00:00
konradandkolaente 2abb858859 Add rate limit by ip for non-authenticated routes (#127)
Add rate limit by ip for non-authenticated routes

Signed-off-by: kolaente <k@knt.li>

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/127
2020-01-26 19:53:47 +00:00
konradandkolaente a464d1760c Add logging for invalid model errors (#126)
Add logging for invalid model errors

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/126
2020-01-26 19:40:23 +00:00
konradandkolaente fc65052ba0 Add config options for task attachments (#125)
Add config options for task attachments

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/125
2020-01-26 19:10:31 +00:00
konradandkolaente b2b1546a8f Add config options for cors handling (#124)
Add config options for cors handling

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/124
2020-01-26 19:09:54 +00:00
konradandkolaente 7e9446ea07 Refactor User and DB handling (#123)
fix copyright date

Add more user tests

More user tests

More user tests

Start refactoring user tests

Docs

Fix lint

Fix db fixtures init in tests

Fix models test

Fix loading fixtures

Fix ineffasign

Fix lint

Fix integration tests

Fix init of test engine creation

Fix user related tests

Better handling of creating test enging

Moved all fixtures to db package

Moved all fixtures to db package

Moved user related stuff to seperate package

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/123
2020-01-26 17:08:06 +00:00
konradandkolaente 8c33e24e92 Migration Improvements (#122)
Update swagger docs

Update docs

Let the wunderlist migrator use the registerRoutes function

Add migration status table

Add migration status

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/122
2020-01-20 19:48:46 +00:00
kolaente 0654ead831 Update version link in README 2020-01-19 22:27:19 +01:00
kolaente 2b80025cc0 Update changelog for v0.10 2020-01-19 22:25:38 +01:00
konradandkolaente 3081338a37 Use redis INCRBY and DECRBY when updating metrics values (#121)
Move test coverage processing to a seperate command

Use redis INCRBY and DECRBY when updating metrics values

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/121
2020-01-19 17:26:26 +00:00
konradandkolaente 9e39399689 Migration (#120)
Go mod tidy

[skip ci] Add modules/migration to docs

[skip ci] update date

fmt

Merge branch 'master' into feature/migration

# Conflicts:
#	pkg/routes/api/v1/info.go

Add docs on how to create a migrator

Add available migrators to /info endpoint

Return a message once everything was migrated successfully

Add swagger docs for wunderlist migration

Docs for migration [skip ci]

Fix due date fixture in migration test

Fix staticcheck

Fix lint

Logging and cleanup

Make the migrator work with real data

Add routes for migration

Fix misspell

Add method to store a full vikunja structure into vikunja

Add getting all data from wunderlist

Add attachment migration from wunderlist

Add done and done at to wunderlist migrator

Add todo

Add wunderlist auth url implementation

Fix lint

Finish wunderlist migration

Added all structs for the wunderlist migratior

Fix owner field being null for user shared namespaces (#119)

Update copyright year (#118)

Add option to disable registration (#117)

Added migrator interface

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/120
2020-01-19 16:52:16 +00:00
konrad 1d2cdf0fb8 Fix owner field being null for user shared namespaces (#119) 2020-01-09 19:24:08 +00:00
konrad a0c5e4e985 Update copyright year (#118) 2020-01-09 17:33:22 +00:00
konrad 402cef3c15 Add option to disable registration (#117) 2019-12-30 23:27:02 +00:00
kolaente b9f0ba84ab Add motd config option to docs 2019-12-25 17:27:10 +01:00
konrad 7cdc997191 Fix new tasks not getting a new task index (#116) 2019-12-08 15:10:34 +00:00
konrad 720df3cbed Add task identifier (#115) 2019-12-07 22:28:45 +00:00
konrad 1a47d7d80d Use utf8mb4 instead of plain utf8 (#114) 2019-12-07 20:14:13 +00:00
konrad 62e550bf35 Add user token renew (#113) 2019-12-07 19:52:04 +00:00
kolaente 10ab8ef4d9 Fix task collection tests 2019-12-07 17:21:37 +01:00
kolaente d483fe8beb Fix passing sort_by and order_by as query path arrays 2019-12-07 16:57:19 +01:00
kolaente 1555f04bd2 Fix sorting tasks by bool values
There was a bug where it would return all tasks with a true value before the ones with a false value. This is the exact opposite of what the db does, leading to wrongly sorted values
2019-12-07 16:56:18 +01:00
konrad d8399e374c Sort Order for tasks (#110) 2019-12-07 14:30:51 +00:00
shilchandkonrad e890001ee1 Consistent copyright text in file headers (#112) 2019-12-04 19:39:56 +00:00
shilchandkonrad 38653b49c7 Add tests for md5 generation (#111) 2019-12-04 19:19:38 +00:00
konrad 7e4deab8f7 Task collection improvements (#109) 2019-12-01 13:38:11 +00:00
konrad d96831fe3a Endpoint to get tasks on a list (#108) 2019-11-29 22:59:20 +00:00
kolaente 4c55b4455c update theme 2019-11-25 19:12:42 +01:00
kolaente b6308f783b Add files volume to docker compose docs 2019-11-25 19:08:24 +01:00
kolaente 843c1e5193 Update docs with a traefik configuration 2019-11-25 19:07:11 +01:00
kolaente 6045f4a426 Prepare changelog & readme for 0.9 release 2019-11-24 19:38:23 +01:00
kolaente 7be14239a3 [skip ci] Add changelog in repo 2019-11-24 19:33:16 +01:00
konrad 27ba31366c Fix default logging settings (#107) 2019-11-24 18:17:59 +00:00
kolaente 9dc419e854 Add file volume to the docker image 2019-11-24 18:36:43 +01:00
kolaente 37efd5cb49 Fixed removing reminders 2019-11-24 16:13:16 +01:00
kolaente dcec9511dc Fixed a bug where deleting an attachment would cause a nil panic 2019-11-19 23:07:48 +01:00
kolaente c203d73b33 Fixed a bug where adding assignees or reminders via an update would re-create them and not respect already inserted ones, leaving a lot of garbage 2019-11-03 23:08:26 +01:00
konrad 9be5ab248c Add endpoint to get a single task (#106) 2019-11-02 20:33:18 +00:00
kolaente ed4c17892e Fixed building docs theme 2019-10-30 21:53:57 +01:00
kolaente 886110a20a update docs theme 2019-10-30 21:47:16 +01:00
konrad 8948a5f219 Improve pagination (#105) 2019-10-23 21:11:40 +00:00
kolaente 89f385a53d Move from markdown lists to Vikunja for roadmap [skip ci] 2019-10-20 20:52:41 +02:00
kolaente 82f11c4ec2 Fixed not getting all labels when retrieving a list with all tasks 2019-10-20 17:56:53 +02:00
kolaente eb279fdba3 Refactored getting task IDs for labels 2019-10-20 17:55:54 +02:00
kolaente 48e422b379 [skip ci] Prepare the roadmap for migration 2019-10-20 17:54:32 +02:00
kolaente 854fde1e4c Fixed panic when using link share and metrics 2019-10-19 22:34:33 +02:00
kolaente b653278e42 Reverted telegram notification in CI "fix" 2019-10-19 18:18:39 +02:00
kolaente 35e4ab198f Fixed telegram notification in CI 2019-10-19 16:57:39 +02:00
kolaente b81cd6128a Fixed error when setting max file size on 32-Bit systems 2019-10-18 17:30:25 +02:00
konradandGitea 2169464983 Task Attachments (#104) 2019-10-16 20:52:29 +00:00
kolaente e2f481a6e5 Fixed migration for task relations 2019-10-13 11:44:56 +02:00
kolaente af1d1e1921 [skip ci] updated todo 2019-09-25 20:45:20 +02:00
konradandGitea 8fe33fd616 Task Relations (#103) 2019-09-25 18:44:41 +00:00
konradandGitea 1272255975 Added percent done to tasks (#102) 2019-09-21 10:52:10 +00:00
kolaente 1e2ec17343 [skip ci] update todo 2019-09-20 18:45:28 +02:00
konradandGitea 2f267f3f68 Moved teams_{namespace|list}_* to {namespace|list}_teams_* for better consistency (#101) 2019-09-20 16:39:02 +00:00
konradandGitea 694fc62495 Refactored getting all lists for a namespace (#100) 2019-09-20 16:16:31 +00:00
konradandGitea 8d5a2685c4 Fixed labels being displayed multiple times if they were associated with more than one task (#99) 2019-09-20 15:52:09 +00:00
konradandGitea 71ef86e0df Added more infos to a link share auth (#98) 2019-09-08 19:22:54 +00:00
konradandGitea 6140920cb8 Fixed rate limit panic when authenticatin with a link share auth token (#97) 2019-09-08 19:11:42 +00:00
konradandGitea fdd1624121 Small link share fixes (#96) 2019-09-07 13:19:23 +00:00
kolaente 158ad631e1 [skip ci] update todo 2019-09-05 22:48:51 +02:00
kolaente c126d2f55c [skip ci] update todo 2019-09-05 22:00:21 +02:00
kolaente 1d98e4cabe Fixed metrics on/off setting 2019-09-01 18:39:03 +02:00
kolaente 43676f045c Switched default logger to stdout instead of stderr 2019-09-01 18:23:35 +02:00
kolaente ba7db545fe Added extra depth to logging to correctly show the functions calling the logger in logs 2019-09-01 17:56:22 +02:00
kolaente 021ee48ec3 Made sure all tags are checked out when building in docker 2019-09-01 11:43:01 +02:00
kolaente a324921dce Updated Readme [skip ci] 2019-09-01 11:01:36 +02:00
konradandGitea 8d57923a7d Sharing of lists via public links (#94) 2019-08-31 20:56:41 +00:00
kolaente 88ea66798b [skip ci] updated todo 2019-08-27 22:51:27 +02:00
konradandGitea 66cdd79666 Refactor ListTask to Task (#92) 2019-08-14 20:19:04 +00:00
konradandGitea be14634e1e GetUser now returns a pointer (#93) 2019-08-14 19:59:31 +00:00
kolaente 8fbe721453 [skip ci] updated todo 2019-08-13 22:31:05 +02:00
kolaente 5d3e169883 [skip ci] update todo 2019-08-11 14:56:50 +02:00
kolaente 208eb4e68c Fixed swaggerdocs of description fields 2019-07-21 23:57:19 +02:00
kolaente 8d76280811 [skip ci] updated todo 2019-07-21 23:53:04 +02:00
kolaente 10fbbe1db6 Moved metrics init to seperate methods 2019-07-21 23:44:12 +02:00
konradandGitea 4327a559e5 feature/rate-limit (#91) 2019-07-21 21:27:30 +00:00
kolaente 2e599e792e [skip ci] update todo 2019-07-20 20:46:06 +02:00
konradandGitea 48826a6ed7 Logger refactoring (#90) 2019-07-20 18:12:10 +00:00
kolaente 15a0963bd1 [skip ci] update todo 2019-07-18 22:54:55 +02:00
konradandGitea 9a7d470ce2 Limit the test pipeline to run only on pull requests (#89) 2019-07-18 20:28:56 +00:00
konradandGitea ef0e7c9769 Use longtext instead of varchar(1000) on description fields (#88) 2019-07-18 19:56:34 +00:00
konradandGitea 12eaddc8ee Added http endpoint to list all users on a list (#87) 2019-07-18 16:38:21 +00:00
konradandGitea b63928850a Simplify structure by having less files (#86) 2019-07-16 14:15:40 +00:00
kolaente 4005cd2f32 [skip ci] Updated todo 2019-07-16 01:04:19 +02:00
kolaente 5cc89fd474 [skip ci] Updated todo 2019-07-16 00:56:25 +02:00
konradandGitea e2d9de191d /info endpoint (#85) 2019-07-15 22:54:38 +00:00
kolaente c3ea45d900 Removed rancher from drone config 2019-07-13 19:23:09 +02:00
konradandGitea 50ca8bd28e Statically compile templates in the final binary (#84) 2019-07-11 19:10:42 +00:00
konradandGitea 1f1a079fd3 Better config handling with constants (#83) 2019-07-06 20:12:26 +00:00
kolaente f1d21ea52b Use the auth methods to get IDs to avoid unneeded casts 2019-06-28 10:21:48 +02:00
kolaente fc3c5f2187 Updated the web handler with updated param binder 2019-06-28 09:13:17 +02:00
kolaente 5d3b6573ca Updated echo to use the latest version 2019-06-28 09:01:50 +02:00
konradandGitea 9930f98f8e Compress binaries after building them (#81) 2019-06-22 22:07:58 +00:00
konradandGitea 16825ba7c6 Update echo (#82) 2019-06-22 21:51:58 +00:00
kolaente 4e8c2a7bf6 Fixed avatar url when logging in 2019-06-06 12:28:08 +02:00
kolaente 7f5a6e338c [skip ci] updated todo 2019-06-06 12:13:15 +02:00
konrad 2763df20c9 [skip ci] updated todo 2019-06-05 22:25:55 +02:00
kolaente 9bc09ebbe5 Fixed user sharing not working 2019-06-04 19:45:09 +02:00
konradandGitea 6746984c97 Simplified the docker image (#80) 2019-06-02 14:37:10 +00:00
konradandGitea 7acf318b28 Fixed duedate spelling issue (#79) 2019-05-31 08:10:56 +00:00
konradandGitea f638fae4fd Add the md5-hashed user email to user objects for use with gravatar (#78) 2019-05-31 07:24:59 +00:00
konrad bd930bf654 [skip ci] rearrange todo 2019-05-30 22:32:24 +02:00
kolaente 2cdb0eed3e [skip ci] updated todo 2019-05-27 18:30:08 +02:00
konradandGitea 85d08e5697 Fixed check if the user really exists before updating/deleting its rights (#77) 2019-05-25 10:16:55 +00:00
kolaente 4c4eb76fed [skip ci] updated todo 2019-05-25 11:53:16 +02:00
konradandGitea 50d1f29125 Use the username instead of a user when adding a user to a team or giving it rights (#76) 2019-05-25 09:47:16 +00:00
kolaente 3fffcbd986 [skip ci] updated todo 2019-05-25 10:09:47 +02:00
konradandGitea 24ce940885 Put reminders in an extra table (#75) 2019-05-25 07:33:57 +00:00
konradandGitea 802a13cffd Added settings for max open/idle connections and max connection lifetime (#74) 2019-05-25 05:49:52 +00:00
kolaente 6b348fad04 Used one branch for both fixes in caldav-go 2019-05-24 20:01:59 +02:00
kolaente 951d92b2f0 Fixed ical-go package include 2019-05-24 19:45:58 +02:00
kolaente 24f06b2da5 Fixed ical-go package include 2019-05-24 19:45:33 +02:00
kolaente a7bbaf7c5f Fixed replace directive 2019-05-24 11:57:18 +02:00
konrad 3356a691f7 Removed drone debug env variables 2019-05-22 22:55:32 +02:00
konrad 7d46c88285 Fixed build 2019-05-22 20:36:11 +02:00
konradandGitea 7107d030fc Better caldav support (#73) 2019-05-22 17:48:48 +00:00
konrad de24fcc2f8 Fixed metrics endpoint not working 2019-05-12 16:49:16 +02:00
konrad 3d7fd9ca20 Updated libraries 2019-05-07 21:42:24 +02:00
konradandGitea 2b160b73c3 Fix tests (#72) 2019-04-30 18:36:39 +00:00
kolaente 24704bd4ed Added color field to tasks 2019-04-30 11:26:37 +02:00
konrad 733d0be753 [skip ci] Updated todo 2019-04-28 23:50:38 +02:00
konrad e40ab8652d [skip ci] Updated todo 2019-04-28 23:49:13 +02:00
konrad b854112704 [skip ci] Updated todo 2019-04-28 23:47:25 +02:00
konrad e2820e6806 Merge remote-tracking branch 'origin/master' 2019-04-27 11:41:40 +02:00
konrad a6e70f1b29 Fixed enabling go modules for cross-platform 2019-04-27 11:41:28 +02:00
konrad 44223bde77 Fixed enabling go modules for cross-platform 2019-04-27 11:24:47 +02:00
kolaente d404716342 Fixed integration tests 2019-04-24 22:58:20 +02:00
konrad 7e38937efc Fixed lint 2019-04-23 21:58:42 +02:00
konrad ed671baf8f Fixed listID not being returned in tasks 2019-04-23 21:53:37 +02:00
kolaente d4ff1eca80 Added dependencies 2019-04-23 10:34:28 +02:00
kolaente 6bab8fb769 Updated and re-enabled statickcheck 2019-04-23 10:34:06 +02:00
kolaente 07bdb08f9c Fixed darwin build 2019-04-22 14:31:46 +02:00
kolaente 1117b6eb47 Change path in drone 2019-04-22 14:20:25 +02:00
kolaente 10f80c190b Switched to techknowlogick/xgo 2019-04-22 14:02:18 +02:00
kolaente c8858f6cfb Fixed xgo docker image 2019-04-22 13:27:26 +02:00
kolaente dd1749f11f Disabled staticcheck until their memory leak is resolved 2019-04-22 13:04:16 +02:00
kolaente 99f83542f6 Updated staticcheck 2019-04-22 12:59:42 +02:00
kolaente 5dc1fd0f86 Switched to use src.techknowlogick.com/xgo 2019-04-21 23:07:33 +02:00
kolaente b1701ca769 Removed debugging 2019-04-21 23:04:46 +02:00
kolaente 5cfaa0f322 Debugging 2019-04-21 22:43:18 +02:00
kolaente 7b332808f9 Always fetch tags in drone when building 2019-04-21 22:39:35 +02:00
kolaente 228c47d79e removed unneded drone configs 2019-04-21 22:36:01 +02:00
kolaente 27339a7cf0 Debugging 2019-04-21 21:55:31 +02:00
kolaente 3adfb81d5e Debugging 2019-04-21 21:54:47 +02:00
konradandGitea 3872d1d8a7 Integration tests (#71) 2019-04-21 18:18:17 +00:00
kolaente 46efcb1005 updated version in readme 2019-04-05 17:00:02 +02:00
kolaente 0ed6c6cc0d updated version in readme 2019-04-05 16:54:41 +02:00
kolaente 93dbaea303 Fixed priority not updating when set to 0 2019-04-05 12:40:40 +02:00
kolaente 55e33c1694 [skip ci] updated todo 2019-04-05 12:16:57 +02:00
kolaente 2d9d27f63c Fixed getting lists by namespace 2019-04-02 10:53:16 +02:00
konradandGitea 87873e53c5 Fix rights checks (#70) 2019-04-01 19:48:48 +00:00
konradandGitea 19faee0102 Hide a users email everywhere (#69) 2019-04-01 18:19:55 +00:00
kolaente ac5446e4f5 [skip ci] update todo 2019-03-31 22:33:28 +02:00
kolaente a799527a3c [skip ci] update todo 2019-03-31 22:31:03 +02:00
konradandGitea 2b28ab12f1 Added docs for cli usage and adding new commands (#68) 2019-03-31 19:54:17 +00:00
konradandGitea be5a17e993 DB Migrations (#67) 2019-03-29 17:54:35 +00:00
kolaente e21471a193 Update web handler (fixed) 2019-03-29 18:29:44 +01:00
konrad 81f76f09ce Added docs redirect
Updated docs theme
2019-03-24 19:38:12 +01:00
konrad c27e8fe2f1 updated docs theme 2019-03-24 18:33:42 +01:00
konradandGitea 8d78e473f5 Added cli for general usage of Vikunja (#66) 2019-03-24 17:15:44 +00:00
konradandGitea 5525ee0328 Refactored canRead method to get the list before checking the right (#65) 2019-03-24 13:17:36 +00:00
konradandGitea 47352d3ed4 Let rights methods return errors (#64) 2019-03-24 12:35:50 +00:00
konradandGitea 11e7c071ce Updated handler config (#63) 2019-03-24 09:13:40 +00:00
konrad 1dc14d5ddf Fixed labels not being queried correctly on tasks 2019-03-22 22:03:41 +01:00
kolaente c42e22f352 Fixed bulk update label tasks 2019-03-21 19:26:04 +01:00
kolaente 72e64f7203 Fixed swagger docs for bulk label tasks 2019-03-21 18:42:21 +01:00
kolaente 25999d9b69 Fixed swagger docs for task labels 2019-03-21 07:40:56 +01:00
konradandGitea eb4d38b5b8 Fixed rights check on lists and namespaces (#62) 2019-03-08 21:31:37 +00:00
kolaente 65f428fe78 Updated swagger docs 2019-03-08 15:41:46 +01:00
konrad 2cc968ec61 [skip ci] updated todo 2019-03-07 21:25:54 +01:00
kolaente 073aa9940f [skip ci] update todo 2019-03-03 18:18:47 +01:00
kolaente 5506dd1ceb [skip ci] update todo 2019-03-03 17:43:25 +01:00
kolaente e47313b17e [skip ci] update todo 2019-03-03 15:33:14 +01:00
konrad 7cc172cc0c [skip ci] updated todo 2019-02-24 22:18:20 +01:00
konrad 2bcd6e9cb6 [skip ci] updated todo 2019-02-24 18:35:25 +01:00
konrad afd55d8cf8 [skip ci] updated todo 2019-02-24 12:06:20 +01:00
konrad caed219d39 [skip ci] Update todo 2019-02-23 21:05:10 +01:00
konradandGitea 1b84292332 Fix lint errs (#59) 2019-02-18 19:32:41 +00:00
konradandGitea 15ef6deabc Use query params to sort tasks instead of url params (#61) 2019-02-18 18:06:15 +00:00
konrad a06a5fc4f4 Updated readme and todo 2019-02-17 20:57:28 +01:00
konradandGitea 2d88fad5b1 Huge improvements for docs (#58) 2019-02-17 19:53:04 +00:00
konrad 5e7c9b9eb9 Added possible fix for logging when nothing is set 2019-01-25 21:09:24 +01:00
konradandGitea 9e635ea54e Improve logging handling (#57) 2019-01-25 11:40:54 +00:00
kolaente d0fa9ddaec Remove debugging 2019-01-23 14:33:44 +01:00
konrad add491d1e0 moar debugging 2019-01-22 22:35:00 +01:00
konrad e735378caf added debug + possible fix 2019-01-22 22:15:56 +01:00
konrad f95aa431b8 added debug + possible fix 2019-01-22 21:50:15 +01:00
kolaente 01e7540530 Fix makefile 2019-01-22 13:13:11 +01:00
konradandGitea 75431e1ca5 Rights performance improvements for lists and namespaces (#54) 2019-01-21 22:08:04 +00:00
konrad f6c7c764d1 Fix drone move step 2019-01-21 23:03:11 +01:00
konradandGitea eedc19a49e Build debian packages (#56) 2019-01-21 21:52:26 +00:00
konrad c07e2b6cd4 remove unused makefile variable 2019-01-20 18:43:38 +01:00
konradandGitea 08cbd18bc5 Added more config paths (#55) 2019-01-20 17:13:21 +00:00
konrad 8362799a93 Merge remote-tracking branch 'origin/master' 2019-01-20 00:56:42 +01:00
konrad 3edc728094 [skip ci] updated todo 2019-01-20 00:56:36 +01:00
konradandGitea d3975193fe Fix build building infinitly (#53) 2019-01-18 09:24:07 +00:00
konrad 6b00ccc942 updated todo with a shit ton of new features 2019-01-17 00:57:13 +01:00
konrad 7e8c2bb53b Fixed depend_on 2019-01-16 23:09:18 +01:00
konrad 20c4b249a4 Pipeline now uses two seperate configs to handle tags and pushes to master 2019-01-16 23:07:43 +01:00
konrad 0db5292f9f clone depth now uses the "good" format for drone 1 2019-01-15 23:07:39 +01:00
konrad 08e84f4e8d re-add automatic deploy 2019-01-14 23:53:53 +01:00
konrad a791fe0fa7 updated todo 2019-01-14 23:35:54 +01:00
konradandGitea 19218b28a2 Refactor {List|Namespace}{User|Team} to not expose unneded values via json (#52) 2019-01-14 22:32:56 +00:00
konrad cf0b0a2853 updated todo 2019-01-14 22:51:25 +01:00
konradandGitea 17fefae8bb Simplify list rights check (#50) 2019-01-14 21:49:50 +00:00
konrad 3d05d0aa45 fix dronefile lint 2019-01-14 20:51:30 +01:00
konrad cbcd12b5e5 remove debbugging 2019-01-14 20:48:02 +01:00
konrad 8fdb8b7840 fix debugging 2019-01-14 20:36:40 +01:00
konrad ed44478b20 remove debug step 2019-01-14 20:35:54 +01:00
konrad 0a092214c8 fix section 2019-01-14 18:47:00 +01:00
konrad 3ebf0da1b9 Added debugging for ci 2019-01-14 18:05:09 +01:00
konrad 07bc4f3f01 Added debugging for ci 2019-01-14 17:40:42 +01:00
kolaente cb58f55923 modify signing to sign zip and detach the signature 2019-01-13 01:07:10 +01:00
kolaente 7cc078aaec Fix sequence of drone builds 2019-01-13 00:25:02 +01:00
kolaente d20a899f92 fix sign step 2019-01-13 00:17:45 +01:00
kolaente 3cfe8c238a Add gpg sign step 2019-01-12 23:58:17 +01:00
kolaente 22495a66e0 Fixed minio folder definition 2019-01-12 00:03:41 +01:00
konradandGitea d5e68ee037 Update drone to version 1 (#49) 2019-01-11 22:46:51 +00:00
konradandGitea 318920fe29 Improve label handling (#48) 2019-01-09 23:08:12 +00:00
konradandGitea 364a172876 Assignees optimizations (#47) 2019-01-08 19:13:07 +00:00
kolaente 31c39388f1 Fixed the generated version by the makefile to be more verbose 2019-01-03 23:51:16 +01:00
kolaente 056e37331e [skip ci] Update todo 2019-01-03 23:35:53 +01:00
kolaente 09787fb29b [skip ci] Update todo 2019-01-03 23:31:29 +01:00
konradandGitea 607dbd6ae8 API Docs improvements (#46) 2019-01-03 22:22:06 +00:00
kolaente 3183d10dbe [skip ci] update readme and todo 2018-12-31 02:21:44 +01:00
konradandGitea 6b40df50d3 Add labels to tasks (#45) 2018-12-31 01:18:41 +00:00
konradandGitea d39007baa0 Task assignees (#44) 2018-12-29 14:29:50 +00:00
kolaente 37345e6bd3 update todo
update gitignore
2018-12-28 23:38:43 +01:00
konradandGitea 018dd8164c [CI] Add more checks (#43) 2018-12-28 22:15:05 +00:00
konradandGitea 3814b8a504 Add bulk edit for tasks (#42) 2018-12-28 21:49:46 +00:00
kolaente b050132f4f Update todo 2018-12-27 23:37:25 +01:00
kolaente 36eb580c8a Updated swagger docs 2018-12-25 21:45:26 +01:00
kolaente 067bb695b1 Updated todo 2018-12-25 21:29:55 +01:00
kolaente fd80094eca Updated todo 2018-12-25 21:29:16 +01:00
kolaente ce0bff8d9c Fixed a bug where updating a list would update it with the same values it had before 2018-12-25 15:30:11 +01:00
konradandGitea 5a93475be9 Get tasks between a date range (#41) 2018-12-22 18:06:14 +00:00
konradandGitea 784b890f70 Start end end dates for tasks (#40) 2018-12-22 15:45:16 +00:00
konradandGitea 7322bfafb3 Fix swaggerdocs generation to produce actually valid output (#39) 2018-12-21 21:30:43 +00:00
konrad 0edc5fd315 go mod tidy 2018-12-19 22:07:23 +01:00
konradandGitea cbc5995ad3 Various user fixes (#38) 2018-12-19 21:05:25 +00:00
konradandGitea 3e4f7fb2f4 Fix sorting of tasks in lists (#37) 2018-12-19 19:14:48 +00:00
kolaente 79b463d0af updated todo 2018-12-19 16:50:22 +01:00
konradandGitea 97febdb397 Tests can now use config files (#36) 2018-12-18 16:01:46 +00:00
kolaente 67e94f95b0 update todo 2018-12-18 15:35:20 +01:00
kolaente 34af627b66 updated todo 2018-12-18 10:38:00 +01:00
konradandGitea ec347a71bc Fix "unexpected EOF" error when using metrics (#35) 2018-12-17 12:22:06 +00:00
konradandGitea 777d63dff1 More unit tests (#34) 2018-12-16 13:21:32 +00:00
konrad 424dfe19af Only make all platform builds when pushing to master 2018-12-16 11:53:26 +01:00
kolaente 7b439cc568 Properly init tables for redis 2018-12-14 17:45:31 +01:00
konrad 553055f073 Fixed build 2018-12-13 16:09:00 +01:00
konrad 70f7f630a3 Update todo 2018-12-12 23:56:00 +01:00
konrad 82340cb70b cleanup 2018-12-12 23:53:20 +01:00
konrad 94fd2d758a cleanup 2018-12-12 23:51:40 +01:00
konradandGitea e047673c6b Add prometheus endpoint for getting metrics (#33) 2018-12-12 22:50:35 +00:00
konrad ee398b5272 Updated todo 2018-12-12 16:25:39 +01:00
konrad 3e8fd1e619 updated todo 2018-12-04 23:32:35 +01:00
konradandGitea 0c1d786ade Exlicitly get the pseudonamespace with all shared lists (#32) 2018-12-04 10:16:42 +00:00
kolaente f1fca3346b Merge branch 'master' of ssh://git.kolaente.de:9022/vikunja/api 2018-12-03 15:13:26 +01:00
kolaente 07d6e1219b updated todo 2018-12-03 15:13:21 +01:00
konrad 8e5ff72c4a fixed path to get all tasks (echo bug) 2018-12-02 19:31:03 +01:00
konrad fc17232819 Updated vendor 2018-12-02 19:30:42 +01:00
konrad 8aed78b296 update version in readme 2018-12-02 02:18:31 +01:00
konradandGitea cc6b35e314 Priorites for tasks (#31) 2018-12-02 00:49:30 +00:00
konradandGitea f2f881f505 Fixed generation of swagger docs (#30) 2018-12-01 02:04:10 +00:00
konradandGitea 6c5885747b Subtasks (#28) 2018-12-01 02:00:57 +00:00
konradandGitea 007d8ec375 Fixed generation of swagger docs (#29) 2018-12-01 01:59:17 +00:00
konrad 1b24cdf164 updated todo 2018-12-01 00:28:01 +01:00
konradandGitea ce2cae9430 Move the crudhandler to own repo (#27) 2018-11-30 23:26:56 +00:00
konrad d9304f6996 remove drone github update step 2018-11-28 22:53:55 +01:00
konrad d5e4195ee7 added drone config to update github mirror 2018-11-28 21:04:17 +01:00
konrad 136adb69c8 tidied mod 2018-11-28 20:50:06 +01:00
konradandGitea 06fc9f7886 Repeating tasks (#25) 2018-11-26 20:24:00 +00:00
konradandGitea 3f44e3b83e Change License to GPLv3 (#26) 2018-11-26 20:17:33 +00:00
konradandGitea b73786f7fe Make validation less verbose (#24) 2018-11-25 21:38:50 +00:00
kolaente e5c1588576 Fix docker build 2018-11-25 22:00:43 +01:00
konradandGitea d51ed8defd make validation less verbose (#23) 2018-11-24 12:44:40 +00:00
konradandGitea fded3c23d0 Multiple Reminders (#22) 2018-11-21 15:03:47 +00:00
konradandGitea af0ce5bb96 Added Shared lists overview in namespaces (#21) 2018-11-19 11:37:59 +00:00
konradandGitea 0c112a0ca3 Fixed Validation being to verbose (#20) 2018-11-17 00:12:26 +00:00
konrad 196b6728b8 updated readme 2018-11-17 00:29:10 +01:00
konrad 5bc23458de updated todo 2018-11-17 00:20:48 +01:00
konradandGitea 0c544fe355 Added validation for structs (#19) 2018-11-16 23:17:37 +00:00
konradandGitea 373bbd2202 Migrate to new swagger docs generation (#18) 2018-11-12 15:46:35 +00:00
konradandGitea d3de658882 Implemented search for everything (#17) 2018-11-09 17:33:06 +00:00
konrad ad74d24ee2 updated docs for pagination 2018-11-09 17:28:59 +01:00
konradandGitea d232836423 Added pagination (#16) 2018-11-09 10:30:17 +00:00
konrad 0e7e1b7e38 updated todo 2018-11-06 22:28:56 +00:00
konrad f976fd9f54 updated todo 2018-11-06 22:09:54 +00:00
konradandGitea d03fca801b CalDAV support (#15) 2018-11-03 15:05:45 +00:00
konradandGitea 31a4a1dd00 Added a route to get all tasks sorted desc by their due dates (#14) 2018-11-02 16:59:49 +00:00
konradandGitea 14207a0fa8 Fix tests in drone (#13) 2018-11-02 14:37:11 +00:00
konrad e906184bf7 updated version in readme 2018-11-02 15:29:01 +01:00
kolaente 1f41db9239 Hotfix: fix duplicate header in html mails with templates 2018-11-02 11:23:41 +01:00
konradandGitea 4f8a0f8739 Fixed no root path for templates and static assets (#12) 2018-11-02 10:01:28 +00:00
konradandGitea c51ca4dd26 Fixed dockerfile (#11) 2018-11-02 09:18:38 +00:00
konradandGitea 9e539b8c40 Fix checking for an email verification token (#10) 2018-11-01 22:59:20 +00:00
konradandGitea 9a5eb577b8 Fix not checking for user credentials upon login (#9) 2018-11-01 22:51:05 +00:00
konradandGitea 4713023a97 Prevent login from inactive (aka non-verified) users (#8) 2018-11-01 22:47:41 +00:00
konradandGitea 301a4eedda New structure (#7) 2018-10-31 12:42:38 +00:00
kolaente 3f9fad0e2a use go modules from vendor when building the docker image 2018-10-28 18:38:40 +01:00
kolaente 990740fc19 fixed fmt 2018-10-28 17:35:48 +01:00
kolaente 960d72aa1b Fixed tests 2018-10-28 17:30:10 +01:00
kolaente f94bbf023c Merge branch 'master' of ssh://git.kolaente.de:9022/vikunja/api 2018-10-28 17:24:13 +01:00
kolaente 2556ef7624 added vendor 2018-10-28 17:24:10 +01:00
konradandGitea 321c0f2404 Fix build when using go modules (#6) 2018-10-28 16:11:13 +00:00
konradandGitea 738c22b5f9 Add user email verification when registering (#5) 2018-10-27 13:14:55 +00:00
konradandGitea d0c30cb089 Password reset with token only (#4) 2018-10-27 13:12:15 +00:00
konradandGitea 0cfea682ea Add password reset (#3) 2018-10-27 09:33:28 +00:00
konrad 95197ec6ed moar featurecreep 2018-10-22 22:20:45 +02:00
konrad eecace511d updated todo 2018-10-21 22:22:56 +02:00
konrad 6793e13e6d updated todo 2018-10-21 22:21:37 +02:00
konrad 85da2d72aa updated todo 2018-10-21 22:19:51 +02:00
kolaente 206705d2e9 updated makefile to use new golint url 2018-10-15 12:54:39 +02:00
kolaente 522e647db0 Added config for database max connections 2018-10-11 18:39:53 +02:00
kolaente bbd90eb976 Fixed not setting http code on error 2018-10-11 18:18:44 +02:00
kolaente d8f6a628db Replaced CObject with a function returning an object 2018-10-11 17:53:59 +02:00
kolaente a612037ee1 added go mod 2018-10-11 13:28:41 +02:00
kolaente 224cebfd10 Fixed tests failing 2018-10-06 22:26:17 +02:00
kolaente f4ac036f27 removed unused errors 2018-10-06 18:55:14 +02:00
kolaente c626b05af6 Improved log error messages 2018-10-06 18:44:04 +02:00
kolaente 56dc781594 added docs for error codes 2018-10-06 18:32:33 +02:00
kolaente 1ddb819c31 updated docs 2018-10-06 15:47:26 +02:00
kolaente 75b611de48 updated docs 2018-10-06 15:41:57 +02:00
konrad c5100aad42 updated todo 2018-10-06 15:08:38 +02:00
konrad f969593c0a Improved error handling 2018-10-06 15:04:14 +02:00
konrad a4137b3d6f Added more checks to not leave an error unpassed when checking for rights 2018-10-06 13:25:37 +02:00
konrad 06638fccc8 Fixed lint & misspell 2018-10-06 13:07:42 +02:00
konrad a108ed689d Added extra function to get a list without tasks or user objects 2018-10-06 13:05:29 +02:00
kolaente 53a7f2e6a7 cleanup 2018-10-05 19:17:39 +02:00
kolaente 3819927dd2 updated todo 2018-10-05 19:16:31 +02:00
kolaente cca677878d Optimized used sql queries when getting lists or namespaces with lists 2018-10-05 19:16:14 +02:00
kolaente a1a77a9b75 improved logging format 2018-10-05 18:49:56 +02:00
kolaente 6ea4f0598c fmt 2018-10-05 18:46:05 +02:00
kolaente 358b569bf1 Addded indecies everywhere 2018-10-05 18:46:01 +02:00
kolaente 1139eee2ad Improved update password method to ask the current password 2018-10-04 07:53:45 +02:00
konrad a6d49a5e70 Fixed lint 2018-10-03 19:32:05 +02:00
kolaente cd4fca19fd updated swagger spec 2018-10-03 19:30:43 +02:00
konrad 85c9fba808 Added the ability to update a users password 2018-10-03 19:28:17 +02:00
konrad 17368dea9a Cleanup 2018-10-03 19:00:09 +02:00
konrad 43c67d8c29 added go report badge 2018-09-23 21:16:56 +02:00
konradandGitea e724aeb206 Added new checks (#2)
* added gocyclo-check
* Added new tests to drone
* Added new checks to makefile
2018-09-23 19:15:14 +00:00
konrad b912ff4176 updated drone config 2018-09-22 23:52:19 +02:00
konrad 849b64fc0c updated drone 2018-09-22 22:55:06 +02:00
konrad ce661f1c6e updated drone 2018-09-22 22:38:25 +02:00
konrad 06a4ede4a8 fmt 2018-09-22 11:06:39 +02:00
kolaente 6519c62ade fixed a bug where xorm treid to insert something with an id wich already exist 2018-09-21 08:41:28 +02:00
kolaente bfc783d1d0 updated swagger docs 2018-09-20 22:06:19 +02:00
kolaente e7d43567aa updated readme 2018-09-20 21:59:43 +02:00
kolaente 6c35db57c7 updated todo 2018-09-20 19:44:43 +02:00
kolaente 64d290bcae Added endpoint to search for users 2018-09-20 19:42:01 +02:00
kolaente 3401d7ab2c Fixed makefile 2018-09-20 07:36:58 +02:00
kolaente 8d27daccc6 Fixed lint & fmt 2018-09-20 07:31:36 +02:00
kolaente 0f60c607ee updated todo 2018-09-19 20:52:22 +02:00
kolaente 036a5fcefd updated todo 2018-09-19 08:45:45 +02:00
kolaente 5bb78a749e Fixed list update not working 2018-09-19 08:45:23 +02:00
kolaente aeff343a31 Fixed namespace update not working 2018-09-19 08:44:00 +02:00
kolaente e93cba7108 Added logging 2018-09-19 08:35:53 +02:00
kolaente 091711f4c5 Updated todo 2018-09-19 08:25:24 +02:00
kolaente 477db9ea1c Added swaggercheck to drone build 2018-09-19 08:24:50 +02:00
kolaente cbfb7eafa8 Updated swaggerdocs 2018-09-19 08:23:54 +02:00
kolaente 067672dcb4 Added an endpoint to update a team <-> namespace relation 2018-09-19 08:16:04 +02:00
kolaente aa40ab8eed Added an endpoint to update a team <-> list relation 2018-09-19 08:08:41 +02:00
kolaente 5e8597699d Added endpoint to update a user <-> namespace relation 2018-09-19 08:03:39 +02:00
kolaente 1e993f1e5c Fixed a bug where it was not possible to give a user access to a namespace 2018-09-19 08:03:05 +02:00
kolaente 4f538abc83 Added endpoint to update a users right for a list 2018-09-19 07:54:47 +02:00
kolaente 3a338f54f9 added try link to readme 2018-09-18 18:20:39 +02:00
kolaente 5fbf63bddc /namespaces/{namespaceID}/teams now also returns the team right 2018-09-18 08:17:18 +02:00
kolaente db54309df4 updated todo 2018-09-17 19:51:01 +02:00
kolaente f93a27d67d fmt 2018-09-17 19:46:31 +02:00
kolaente 30ce67c38f updated todo 2018-09-17 19:45:52 +02:00
kolaente 0a06e5a246 /lists/{listID}/teams now also returns the user right 2018-09-17 19:45:18 +02:00
kolaente cf6577445d /namepspaces/{namespacesID}/users now also returns the user right 2018-09-17 19:39:14 +02:00
kolaente b1564659c4 /lists/{listID}/users now also returns the user right 2018-09-17 19:36:44 +02:00
kolaente 59361df9b2 updated todo 2018-09-17 19:32:34 +02:00
kolaente dffb6dab7f updated todo 2018-09-17 19:26:34 +02:00
kolaente 1ea2f0a8c1 updated todo 2018-09-17 19:19:56 +02:00
kolaente 45c5d4fb82 updated todo 2018-09-17 18:45:54 +02:00
kolaente 96cafe0ad9 Moved swaggerdocs to /api/v1/swagger 2018-09-17 18:38:15 +02:00
kolaente 1d62b09792 Moved swaggerdocs to /api/v1/swagger 2018-09-17 18:34:46 +02:00
kolaente 24382f2dc0 Merge remote-tracking branch 'origin/master' 2018-09-17 18:25:17 +02:00
JonasFranzandGitea 26d37bbedf Add /user endpoint (#1) 2018-09-17 16:25:05 +00:00
kolaente 8ca8803404 Updated swaggerdocs 2018-09-17 08:22:31 +02:00
kolaente 42bd69321a Merge remote-tracking branch 'origin/master' 2018-09-17 07:48:03 +02:00
kolaente 382407e07f updated todo 2018-09-17 07:30:23 +02:00
kolaente 5a83ce1216 /namespaces now also gets lists 2018-09-17 07:27:49 +02:00
konrad 4c96ee4263 updated makefile 2018-09-15 16:11:28 +02:00
kolaente 3707f4d3c5 fmt 2018-09-13 22:14:53 +02:00
kolaente 382daac0dd when ID = 0 is passed to a 'GetSthByID'-function, it now returns a 'not exist' error 2018-09-13 20:07:11 +02:00
kolaente 716b06feff added new cache libraries 2018-09-13 19:53:39 +02:00
kolaente 416745ddab added options to configure cache 2018-09-13 19:53:03 +02:00
kolaente 23dc9f777e updated gitignore 2018-09-13 19:30:22 +02:00
kolaente 8cb85dc151 updated gitignore 2018-09-13 19:28:46 +02:00
kolaente fc136948d6 updated gitignore 2018-09-13 19:28:38 +02:00
kolaente 836b5812c0 Merge branch 'master' of ssh://git.kolaente.de:9022/vikunja/api 2018-09-13 19:27:29 +02:00
kolaente 7d8e3f1bae Updated tests 2018-09-13 19:24:40 +02:00
konrad 13145962a4 updated todo 2018-09-12 23:05:13 +02:00
konrad b47c19d46c Merge branch 'master' of ssh://git.kolaente.de:9022/vikunja/api 2018-09-12 22:59:53 +02:00
konrad 7c9818440a updated todo 2018-09-12 22:59:45 +02:00
kolaente c018589749 fixed lint + fmt 2018-09-12 21:45:30 +02:00
kolaente 1f3f8afa85 Fixed a bug where it was not possible for a user to see a namespace which could be access by a team the user was in 2018-09-12 20:13:00 +02:00
kolaente e85d3c4f36 Fixed a bug where a user didn't had access to lists which are not his own, but part of a namespace he owns 2018-09-12 19:56:07 +02:00
kolaente 65818d6f9e Added libs 2018-09-10 22:25:37 +02:00
kolaente 31a850c28e Fixed un-setting a task as done not working 2018-09-10 19:38:35 +02:00
kolaente 431564d63c When updating a list task, all relevant values are now updated. 2018-09-10 19:34:34 +02:00
kolaente 5b8cd30736 Added rancher deploy to drone 2018-09-10 19:24:17 +02:00
kolaente 0da1bb74e0 Fixed lint 2018-09-10 19:22:00 +02:00
kolaente 8ed1fb304e Fixed task update function not updating when marking a task as done 2018-09-10 07:59:45 +02:00
kolaente b91d9eb712 Fixed task update function to be able to update a task with minimal informaton 2018-09-10 07:41:39 +02:00
konrad b16c88a6f3 Added swaggerfiles do dockerfile 2018-09-08 16:54:21 +02:00
kolaente d48f3f9737 fixed crashing when no config was found 2018-09-08 16:43:37 +02:00
konrad 82c098aa0d Updated config to not hard fail when no config file is found. 2018-09-08 16:10:46 +02:00
kolaente 371dd52fa9 updated dockerimage 2018-09-08 16:10:06 +02:00
konrad f0b0319f54 [skip-ci] added s6config 2018-09-08 15:51:49 +02:00
konrad f920e336f0 [skip-ci] added s6config 2018-09-08 15:44:04 +02:00
konrad c834bc14d5 Moved dockerfile 2018-09-08 15:23:53 +02:00
konrad 8245c90bc1 Fixed dockerfile 2018-09-08 15:18:57 +02:00
konrad 9d83293590 Updated makefile 2018-09-08 15:18:15 +02:00
konrad e882fbe6ad Added dockerfile 2018-09-08 15:08:33 +02:00
konrad 6c7f8fd89a updated deps 2018-09-08 13:50:18 +02:00
konrad f47d4586c4 [skip-ci] updated docs 2018-09-08 13:50:05 +02:00
konrad 4d81a13ba5 Updated deps 2018-09-08 13:36:22 +02:00
konrad de10754cb8 Added missing viper dependencies 2018-09-08 13:33:04 +02:00
konrad f45c8aa0ce Fixed lint 2018-09-08 13:31:13 +02:00
konrad 427f752990 Vikunja now uses viper to handle config 2018-09-08 13:29:35 +02:00
kolaente 4f3e016751 Fixed CORS once and for all 2018-09-07 22:49:16 +02:00
kolaente 4749352bbd Fixed cors (Again...) 2018-09-07 08:43:23 +02:00
kolaente 21774fd447 updated todo 2018-09-07 08:24:15 +02:00
konrad 64639ab832 Added cors headers for /namespaces 2018-09-07 08:20:19 +02:00
konrad fc8c6c97fd Updated todo 2018-09-06 19:01:13 +02:00
konrad fb746714d0 Updated return status when creating 2018-09-06 18:57:28 +02:00
konrad c1767d219a Fixed getting all lists of a namespace not working 2018-09-06 18:55:58 +02:00
kolaente 37de3ef232 Fixed user_namespace relation not working 2018-09-06 18:52:10 +02:00
kolaente 6d971c5fe1 fmt 2018-09-06 08:46:47 +02:00
kolaente c43db9929b Namespaces now respect user rights 2018-09-06 08:46:34 +02:00
konrad 521e7c3bef List rights are now respected 2018-09-06 08:42:18 +02:00
konrad 92174aac08 Fixed a bug where a user could see every namespace 2018-09-06 08:39:05 +02:00
konrad f2758e239c Added namespace user rights 2018-09-04 20:15:24 +02:00
konrad 422662e3e1 updated featurecreep 2018-09-04 19:54:15 +02:00
konrad 245259216f Fixed creating of new users 2018-09-04 19:39:31 +02:00
konrad 906aee8b7d Updated featurecreep 2018-08-30 19:18:36 +02:00
konrad 76f3357a0c fmt 2018-08-30 19:14:16 +02:00
konrad 478c98fb8d Refactor GetUser & GetUserByID 2018-08-30 19:14:02 +02:00
konrad aeb1521cc4 Cleanup/fixing methods 2018-08-30 19:00:27 +02:00
konrad efaa277751 Added methods to revoke a users access to a list 2018-08-30 18:52:12 +02:00
konrad b1c3e92f66 Added methods to give users access to a list 2018-08-30 08:58:09 +02:00
konrad d31f16aff1 Renamed list items to tasks 2018-08-30 08:09:17 +02:00
konrad d5758e0444 fmt 2018-08-29 15:22:17 +02:00
konrad c17dec7954 Updated swagger docs 2018-08-29 15:13:54 +02:00
konrad 4e70486a9b Cleanup 2018-08-29 14:40:03 +02:00
konrad bdff353e78 Added tests for team <-> list relations 2018-08-29 14:33:04 +02:00
konrad 98e3d3e884 Added tests for team <-> list relations 2018-08-29 08:50:52 +02:00
konrad 950533df21 Added tests for team namespace relationsk 2018-08-29 08:26:59 +02:00
kolaente f71f98b8f4 updated featurecreep 2018-08-29 08:02:12 +02:00
kolaente 5db306bacc fmt 2018-07-27 19:28:12 +02:00
kolaente 261136c2bc Added tests for team members 2018-07-27 19:20:49 +02:00
kolaente d556162591 fmt 2018-07-27 16:28:28 +02:00
kolaente 51064f3d8f Added tests for teams 2018-07-27 16:28:09 +02:00
kolaente a55e28df76 updated todo 2018-07-27 15:57:47 +02:00
kolaente 62ac4c2a74 fmt 2018-07-27 15:53:01 +02:00
kolaente 628f3eee64 Added tests for namespaces 2018-07-27 15:52:50 +02:00
kolaente ba606515d1 Improved tests for lists 2018-07-27 15:11:47 +02:00
kolaente f7bc88c825 Added tests for listitems 2018-07-27 14:47:52 +02:00
kolaente 2c12797111 fmt 2018-07-26 10:50:03 +02:00
kolaente c97a4d74cb Added check if the namespace exists when creating a list 2018-07-26 10:49:33 +02:00
kolaente 6eeab7fe10 improved tests 2018-07-26 10:49:17 +02:00
kolaente a78b333e3f Added tests for list creation 2018-07-26 10:29:19 +02:00
kolaente 935aef8a38 Added check for list title when creating a new list 2018-07-26 10:29:09 +02:00
kolaente a9094506fa cleanup 2018-07-26 10:10:39 +02:00
kolaente 7b07137b67 fmt 2018-07-26 10:08:01 +02:00
kolaente fba505130d updated gitignore 2018-07-26 10:07:18 +02:00
kolaente 80e9021ba6 Fixed a bug where it was possible to add the same user multiple times to a team 2018-07-26 10:06:41 +02:00
konrad 9c451daf30 Added method to delete a user from a team 2018-07-26 09:58:48 +02:00
konrad bc580e0115 Added method to add a user to a team 2018-07-26 09:53:32 +02:00
kolaente 0b2f66965a [skip-ci] updated todo 2018-07-25 23:03:53 +02:00
kolaente 4baf74a999 Added http test files 2018-07-25 22:26:53 +02:00
kolaente 29e3afdd08 Added roadmap 2018-07-25 21:47:26 +02:00
kolaente 5b0788ed1e renamed build steps 2018-07-25 17:43:38 +02:00
kolaente 8f2a24298d fixed makefile
+ lint & fmt
2018-07-25 17:30:29 +02:00
kolaente 32b369e2e4 Added drone 2018-07-25 17:28:54 +02:00
kolaente 01aa1910ef Renamed all packages 2018-07-25 16:26:32 +02:00
kolaente 0df8881028 Renamed all packages 2018-07-25 16:24:46 +02:00
kolaente d18570574a updated todo 2018-07-25 00:51:23 +02:00
kolaente e602914659 Implemented proper check for team rights on namespaces 2018-07-25 00:49:44 +02:00
kolaente f36eeb662a Implemented proper check for team rights on lists 2018-07-25 00:40:24 +02:00
konrad 7dc8699cbd updated todo
+ fmt
2018-07-24 17:47:08 +02:00
kolaente 26c2ad078f Fixed a bug where it was possible to add a team multiple times to a list/namespace 2018-07-24 17:46:32 +02:00
kolaente 9638f36788 implemented deletomg a team from a list 2018-07-24 17:32:08 +02:00
kolaente 227a2afd37 implemented viewing all teams of a list 2018-07-24 17:29:46 +02:00
kolaente edf9b6f2c7 Implemented creating a team <-> list relation 2018-07-24 17:29:13 +02:00
konrad 6ff10e6353 added missing libraries 2018-07-24 14:06:03 +02:00
kolaente 9de26f6547 cleanup 2018-07-24 13:56:57 +02:00
kolaente 9c0c9474e8 Migrated to dep instead of govendor 2018-07-24 13:49:45 +02:00
konrad 0a2eae120e More docs 2018-07-24 00:48:02 +02:00
konrad 7e0965ed91 docs 2018-07-21 15:45:46 +02:00
konrad 0487889963 fmt + lint + docs 2018-07-21 15:28:09 +02:00
konrad 9979b7e321 implemented update method via param binder 2018-07-21 15:17:02 +02:00
konrad 9e75e9b73b implemented readone with parambinder 2018-07-21 15:08:46 +02:00
konrad d06ed68125 cleanup 2018-07-18 22:19:51 +02:00
konrad 935c99be45 implemented read all method for namespace teams 2018-07-18 22:06:29 +02:00
konrad 6618874441 Fixed parambinder 2018-07-18 21:54:04 +02:00
konrad de95ff40bf implemented creation of thing via parambinder 2018-07-18 08:56:19 +02:00
konrad ebb5b332b6 implemented delete team <-> namespace relation 2018-07-18 08:16:15 +02:00
konrad 249128a46e implemented binding url params directly to struct instead of passing them to the method for deleting items 2018-07-18 08:15:38 +02:00
konrad f0c003d069 implemented custom param binder
This is currently more a workaround, until the echo pr gets merged
2018-07-17 23:10:54 +02:00
kolaente 1a7779a229 Merge branch 'master' of ssh://git.kolaente.de:9022/vikunja/api 2018-07-17 09:10:45 +02:00
konrad 7feb82702d implemented create team <-> namespace relation 2018-07-17 08:44:21 +02:00
konrad 2e3c10be13 updated todo + cleanup 2018-07-17 08:16:04 +02:00
konrad 0439bade41 updated todo 2018-07-16 22:17:35 +02:00
kolaente a46901397b Merge remote-tracking branch 'real-origin/master' 2018-07-16 09:16:21 +02:00
konrad f6a816941b implemented get all teams the user is part of 2018-07-16 08:52:16 +02:00
konrad b11bd9f0b1 fixed lint 2018-07-16 08:45:38 +02:00
konrad 7dc4cd2173 Implemented Get one team method 2018-07-16 08:43:47 +02:00
konrad 8a06db5351 Implemented team delete method 2018-07-16 08:18:15 +02:00
kolaente 90da51ad7e Updated sample config 2018-07-15 18:31:43 +02:00
konrad 4cf0cd233c Implemented team update method 2018-07-14 18:29:24 +02:00
konrad bcbd415529 Fixed a bug where a struct would have old values in it 2018-07-14 17:46:01 +02:00
konrad a5552b8f9d fixed lint + fmt 2018-07-14 17:37:46 +02:00
konrad bc0e6da602 cleanup 2018-07-14 17:36:17 +02:00
konrad e1c58843e9 implemented team create method 2018-07-14 17:34:59 +02:00
konrad 376c649a12 cleanup 2018-07-12 23:47:50 +02:00
konrad bb44b2f98c fmt 2018-07-12 23:37:14 +02:00
konrad 7f7b243cbe cleanup 2018-07-12 23:36:55 +02:00
konrad c5888093fe Implemented deletion of namespaces 2018-07-12 23:33:37 +02:00
konrad 55c02bc973 Fixed CanDelete 2018-07-12 23:33:21 +02:00
konrad b24b245f4d Fixed creation of new namespaces 2018-07-12 23:22:02 +02:00
konrad e5493965ff Fixed creation of new lists 2018-07-12 23:18:50 +02:00
konrad ddcc063b0b Implemented CanCreate method 2018-07-12 23:16:32 +02:00
konrad 6fd2a97574 Implemented CanUpdate method 2018-07-12 23:07:03 +02:00
konrad e3b996c383 Cleanup 2018-07-12 22:42:41 +02:00
konrad 4e503072a8 Implemented CanDelete method for lists and listitems 2018-07-12 21:20:24 +02:00
konrad 217208274e cleanup 2018-07-12 21:10:58 +02:00
konrad 32fde286db Optimized right checking
+ list.ReadAll now really gets all lists
2018-07-12 21:07:59 +02:00
konrad bae9c7f35e Added right check for namespaces 2018-07-12 13:43:42 +02:00
konrad fb4fa25f2f fmt 2018-07-12 11:55:07 +02:00
konrad 868b93dbbc implemented get one namespace via interface mthod 2018-07-12 11:54:55 +02:00
konrad 6f5cf55e42 fmt + lint 2018-07-12 00:37:31 +02:00
konrad 4ae95c1333 Updated featurecreep 2018-07-12 00:36:38 +02:00
konrad 261aaba315 implemented namespace update via interface method 2018-07-12 00:30:31 +02:00
konrad 0aa84e653f implemented namespace creation via interface method 2018-07-12 00:09:16 +02:00
konrad 4734a0a6a6 use echo.NewHTTPError 2018-07-11 14:27:16 +02:00
konrad 4213f3b08c implemented get all namespaces via interface 2018-07-11 13:00:00 +02:00
konrad 5c4fb7ed73 implemented delete list item via CRUD 2018-07-11 11:44:17 +02:00
konrad 281e9c1cd0 fmt 2018-07-11 02:40:29 +02:00
konrad ee4a904e35 Implemented create and update methods for items 2018-07-11 02:39:55 +02:00
konrad 592dc20af4 List item creation is now done via handler 2018-07-11 02:13:53 +02:00
konrad b067425dc3 more optimization 2018-07-11 01:45:11 +02:00
konrad e97fa30202 more optimization 2018-07-11 00:28:53 +02:00
konrad 237874eda6 Fixed lint + fmt 2018-07-10 14:02:23 +02:00
konrad c8622b0029 Implemented Delete methods on list 2018-07-10 13:27:25 +02:00
kolaente b1de837c4f Implemented Create and Update methods on list 2018-07-09 23:17:19 +02:00
kolaente 9e8f13edf6 Getting all lists or one works now 2018-07-09 19:49:27 +02:00
kolaente d5eb2f08e3 Implemented CRUD Helper, every struct needs its own methods 2018-07-08 22:50:01 +02:00
kolaente 0c5ed914e0 CRUD helper now returns directly the target struct filled with data instead of a sub objectq 2018-07-08 13:26:43 +02:00
kolaente 490f32d46b Added CRUD helper method 2018-07-07 14:19:34 +02:00
kolaente 2d0d074f89 small optimizations 2018-07-06 08:40:35 +02:00
kolaente 31eb916af2 updated featurecreep 2018-07-05 08:55:34 +02:00
kolaente 462dfc8868 Implemented method to add a list to a namespace 2018-07-05 08:52:05 +02:00
kolaente 93efaa95f8 Implemented method to delete a namespace 2018-07-04 19:21:04 +02:00
kolaente 2d81330b27 Removed debugging 2018-07-04 18:44:13 +02:00
kolaente f59917e721 Fixed getting all lists of one namespace 2018-07-04 08:56:52 +02:00
kolaente b57ca9375a Fixed namespace updates not working 2018-07-04 08:15:47 +02:00
kolaente ac134fb16b Small fixes to manage namespaces 2018-07-03 09:09:44 +02:00
kolaente 064e1cd3b7 Small fixes to manage namespaces 2018-07-03 08:48:28 +02:00
kolaente e0244e28d7 Added method to show all lists in a namespace 2018-07-03 08:26:28 +02:00
kolaente 06cae09f77 Added method to show one namespace 2018-07-02 09:09:32 +02:00
kolaente 124e4f4a5b Added method to show all namespaces a user has access to 2018-07-02 08:54:44 +02:00
kolaente 6dfdcb9571 Added basic functions + endpoints to add/update namespaces 2018-07-02 08:40:24 +02:00
kolaente bd2bf24813 Started working on namespaces 2018-06-14 17:43:00 +02:00
kolaente ac0a50663d Added basic definitions for namespaces and teams 2018-06-14 16:14:49 +02:00
kolaente 6398134eef More Featurecreep. Or call it a plan. Whatever you want. 2018-06-14 14:58:00 +02:00
kolaente 6141956847 Added swagger UI 2018-06-14 14:19:19 +02:00
kolaente 33c5f91491 Updated Roadmap 2018-06-13 13:49:19 +02:00
kolaente 8500659aec added generated swagger spec 2018-06-13 13:45:53 +02:00
kolaente 4589f3b4bb Added docs via swagger 2018-06-13 13:45:22 +02:00
kolaente 0652125c25 Fixed returning of user infos when updating a todo item 2018-06-13 12:18:55 +02:00
konrad b11a6b912e More Featurecreep 2018-06-12 19:57:48 +02:00
konrad f0f92ad1a1 Improved creation of list items 2018-06-12 19:57:38 +02:00
konrad fc974fd87f Added endpoint to be able to edit list items 2018-06-12 19:44:47 +02:00
konrad 1b3b2ccb59 Improved item deletion rights check 2018-06-12 18:49:56 +02:00
konrad 1bb7187285 Added check to only let a user delete his own list 2018-06-12 18:46:59 +02:00
konrad be18247682 Added check to only let a user delete his own list 2018-06-12 18:35:36 +02:00
konrad 5ba9d76328 Added method to delete a list 2018-06-12 18:17:52 +02:00
konrad dcb046665f Added method to delete a list 2018-06-12 18:17:21 +02:00
kolaente 853fb2a2b7 Added method to delete a todo item from a list 2018-06-12 18:07:47 +02:00
konrad 91f67dc364 Added functions for adding items to a todolist 2018-06-10 19:49:40 +02:00
konrad 7bac9f490e Started adding listitems 2018-06-10 15:55:56 +02:00
konrad abd21f0c14 Plan. 2018-06-10 15:32:25 +02:00
konrad cf4871af59 cleanup 2018-06-10 14:43:35 +02:00
konrad 125f0ba230 Added lists view 2018-06-10 14:41:42 +02:00
konrad b841ec121b unit tests improvments 2018-06-10 14:24:33 +02:00
konrad 2cf20fe1c4 fixed lint + fmt 2018-06-10 14:22:37 +02:00
konrad f372128784 Added list create and update methods 2018-06-10 14:14:10 +02:00
konrad fb4c9d580c Update gitignore 2018-06-10 11:41:29 +02:00
konrad db6c2bfd8f made tests work again 2018-06-10 11:41:10 +02:00
konrad 5510249813 updated fixtures 2018-06-10 11:37:24 +02:00
konrad d840651a24 removed unused errors 2018-06-10 11:35:53 +02:00
konrad 1bee67cac7 Made registration work 2018-06-10 11:34:59 +02:00
kolaente 2ca4c521aa deleted old binary 2018-06-10 11:13:23 +02:00
konrad 986059d719 updated makefile 2018-06-10 11:13:01 +02:00
konrad 479cf54ada initial commit 2018-06-10 11:11:42 +02:00
1017 changed files with 93829 additions and 84535 deletions
+9
View File
@@ -0,0 +1,9 @@
files/
dist/
logs/
Dockerfile
docker-manifest.tmpl
docker-manifest-unstable.tmpl
*.db
*.zip
+554 -344
View File
File diff suppressed because it is too large Load Diff
+2 -9
View File
@@ -10,7 +10,7 @@ charset = utf-8
trim_trailing_whitespace = false
insert_final_newline = false
[*.vue]
[*.go]
indent_style = tab
[*.{yaml,yml}]
@@ -19,11 +19,4 @@ indent_size = 2
[*.json]
indent_style = space
indent_size = 2
[*.{scss,css}]
indent_style = space
indent_size = 2
[.nvmrc]
insert_final_newline = false
indent_size = 4
-13
View File
@@ -1,13 +0,0 @@
# (1) Duplicate this file and remove the '.example' suffix.
# Naming this file '.env.local' is a Vite convention to prevent accidentally
# submitting to git.
# For more info see: https://vitejs.dev/guide/env-and-mode.html#env-files
# (2) Comment in and adjust the values as needed.
# VITE_IS_ONLINE=true
# VITE_WORKBOX_DEBUG=false
# SENTRY_AUTH_TOKEN=YOUR_TOKEN
# SENTRY_ORG=vikunja
# SENTRY_PROJECT=frontend-oss
# VIKUNJA_FRONTEND_BASE=/custom-subpath
-1
View File
@@ -1 +0,0 @@
use flake
-58
View File
@@ -1,58 +0,0 @@
/* eslint-env node */
require("@rushstack/eslint-patch/modern-module-resolution")
module.exports = {
'root': true,
'env': {
'browser': true,
'es2022': true,
'node': true,
'vue/setup-compiler-macros': true,
},
'extends': [
'eslint:recommended',
'plugin:vue/vue3-essential',
'@vue/eslint-config-typescript/recommended',
],
'rules': {
'vue/html-quotes': [
'error',
'double',
],
'quotes': [
'error',
'single',
],
'comma-dangle': [
'error',
'always-multiline',
],
'semi': [
'error',
'never',
],
// see https://segmentfault.com/q/1010000040813116/a-1020000041134455 (original in chinese)
'no-unused-vars': 'off',
'@typescript-eslint/no-unused-vars': ['error', { vars: 'all', args: 'after-used', ignoreRestSiblings: true }],
'vue/multi-word-component-names': 0,
// disabled until we have support for reactivityTransform
// See https://github.com/vuejs/eslint-plugin-vue/issues/1948
// see also setting in `vite.config`
'vue/no-setup-props-destructure': 0,
},
'parser': 'vue-eslint-parser',
'parserOptions': {
'parser': '@typescript-eslint/parser',
'ecmaVersion': 2022,
'sourceType': 'module',
},
'ignorePatterns': [
'*.test.*',
'cypress/*',
],
'globals': {
'defineProps': 'readonly',
},
}
-44
View File
@@ -1,44 +0,0 @@
<!--
Please fill out this issue template to report a bug.
If you want to propose a new feature, please open a discussion thread in the forum: https://community.vikunja.io
-->
**Version information:**
Frontend Version:
API Version:
Browser and OS Version:
**Steps to reproduce:**
<!--
Add clear steps to reproduce the bug. Provide screenshots where applicable.
-->
1.
2.
...
**Expected behavior:**
<!--
Describe what happened.
-->
**Actual behavior:**
<!--
Describe what happened instead.
-->
**Checklist:**
* [ ] I have provided all required information
* [ ] I am using the latest release or the latest unstable build
* [ ] I was able to reproduce the bug on [try](https://try.vikunja.io)
+1 -2
View File
@@ -1,7 +1,6 @@
name: Bug Report
description: Found something you weren't expecting? Report it here!
labels:
- kind/bug
labels: kind/bug
body:
- type: markdown
attributes:
+3 -3
View File
@@ -1,8 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: API issues
url: https://code.vikunja.io/api/issues
about: This is the frontend repo. Please open api-related bug reports and discussions in the api 0repo. Not sure if your issue is frontend or api? Ask in Matrix or the forum first.
- name: Frontend issues
url: https://code.vikunja.io/frontend/issues
about: This is the API repo. Please open frontend-related bug reports and discussions in the frontend repo. Not sure if you issue is frontend or api? Ask in Matrix or the forum first.
- name: Forum
url: https://community.vikunja.io/
about: Feature Requests, Questions, configuration or deployment problems should be discussed in the forum.
+29 -41
View File
@@ -1,41 +1,29 @@
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
lerna-debug.log*
stats.html
node_modules
.DS_Store
/dist*
coverage
*.zip
.direnv/
# Test files
cypress/screenshots
cypress/videos
# local env files
.env.local
.env.*.local
# Editor directories and files
.vscode
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
*.sw*
!rollup.sw.js
# Local Netlify folder
.netlify
# histoire
.histoire
.idea/
.idea/*/*
.idea/httpRequests
config.yml
config.yaml
!docs/config.yml
!.github/ISSUE_TEMPLATE/config.yml
!.gitea/ISSUE_TEMPLATE/config.yml
docs/themes/
*.db
Run
dist/
cover.*
/vikunja
Test_*
bin/
secrets
*.deb
debian/
logs/
docs/public/
docs/resources/
pkg/static/templates_vfsdata.go
files/
!pkg/files/
vikunja-dump*
vendor/
os-packages/
mage_output_file.go
+93
View File
@@ -0,0 +1,93 @@
run:
timeout: 15m
tests: true
linters:
enable:
- megacheck
- govet
- goconst
- gocritic
- gocyclo
- goerr113
- goheader
- gofmt
- goimports
- revive
- misspell
disable:
- scopelint # Obsolete, using exportloopref instead
- durationcheck
presets:
- bugs
- unused
fast: false
linters-settings:
nestif:
min-complexity: 6
goheader:
template-path: code-header-template.txt
issues:
exclude-rules:
# Exclude some linters from running on tests files.
- path: _test\.go
linters:
- gocyclo
- deadcode
- errorlint
- path: pkg/integrations/*
linters:
- gocyclo
- deadcode
- varcheck
- unparam
- bodyclose
- path: pkg/integrations/*
text: "unlambda"
linters:
- gocritic
- path: pkg/modules/background/unsplash/unsplash\.go
linters:
- bodyclose
- path: pkg/migration/*
linters:
- exhaustive
- goconst
- goerr113
- path: pkg/models/task_collection_filter\.go
linters:
- exhaustive
- path: pkg/utils/random_string\.go
text: "G404:" # We don't care about cryptographically secure randomness when we're using that utility function.
linters:
- gosec
- path: pkg/modules/dump/*
linters:
- goerr113
- path: pkg/
text: "err113: do not define dynamic errors, use wrapped static errors instead:"
linters:
- goerr113
- text: "commentFormatting: put a space between `//` and comment text"
linters:
- gocritic
- path: pkg/modules/migration
linters:
- gocyclo
- path: pkg/routes/api/v1/docs.go
linters:
- goheader
- text: "Missed string"
linters:
- goheader
- path: pkg/.*/error.go
linters:
- errorlint
- path: pkg/models/favorites\.go
linters:
- nilerr
- path: pkg/models/events\.go
linters:
- musttag
-2
View File
@@ -1,2 +0,0 @@
auto-install-peers=true
fetch-timeout=100000
-1
View File
@@ -1 +0,0 @@
18.15.0
-13
View File
@@ -1,13 +0,0 @@
{
"recommendations": [
"codezombiech.gitignore",
"dbaeumer.vscode-eslint",
"editorconfig.editorconfig",
"vue.volar",
"vue.vscode-typescript-vue-plugin",
"lokalise.i18n-ally",
"mgmcdermott.vscode-language-babel",
"mikestead.dotenv",
"Syler.sass-indented"
]
}
-34
View File
@@ -1,34 +0,0 @@
{
"eslint.packageManager": "pnpm",
"editor.formatOnSave": false,
"editor.codeActionsOnSave": {
"source.fixAll": true
},
"eslint.format.enable": true,
"[javascript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
"[typescript]": {
"editor.defaultFormatter": "dbaeumer.vscode-eslint"
},
// https://eslint.vuejs.org/user-guide/#editor-integrations
"eslint.validate": [
"javascript",
"javascriptreact",
"vue"
],
"volar.completion.preferredTagNameCase": "pascal",
// disable vetur in case it is installed
"vetur.validation.template": false,
// i18n ally
"i18n-ally.localesPaths": [
"src/i18n/lang"
],
"i18n-ally.sortKeys": true,
"i18n-ally.keepFulfilled": true,
"i18n-ally.keystyle": "nested"
}
+17
View File
@@ -0,0 +1,17 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceRoot}",
"env": {},
"args": []
}
]
}
+5
View File
@@ -0,0 +1,5 @@
{
"go.testEnvVars": {
"VIKUNJA_SERVICE_ROOTPATH": "${workspaceRoot}"
}
}
+1675 -4559
View File
File diff suppressed because it is too large Load Diff
+27 -53
View File
@@ -3,66 +3,40 @@
# │─││ │││ │ │
# ┘─┘┘─┘┘┘─┘┘─┘
FROM --platform=$BUILDPLATFORM node:18-alpine AS builder
FROM --platform=$BUILDPLATFORM techknowlogick/xgo:go-1.20.0 AS builder
WORKDIR /build
ARG USE_RELEASE=false
ARG RELEASE_VERSION=main
ENV PNPM_CACHE_FOLDER .cache/pnpm/
COPY package.json ./
COPY pnpm-lock.yaml ./
RUN if [ "$USE_RELEASE" != true ]; then \
# https://pnpm.io/installation#using-corepack
corepack enable && \
pnpm install; \
fi
RUN go install github.com/magefile/mage@latest && \
mv /go/bin/mage /usr/local/go/bin
WORKDIR /go/src/code.vikunja.io/api
COPY . ./
RUN if [ "$USE_RELEASE" != true ]; then \
apk add --no-cache --virtual .build-deps git jq && \
git describe --tags --always --abbrev=10 | sed 's/-/+/; s/^v//; s/-g/-/' | \
xargs -0 -I{} jq -Mcnr --arg version {} '{VERSION:$version}' | \
tee src/version.json && \
apk del .build-deps; \
fi
ARG TARGETOS TARGETARCH TARGETVARIANT
RUN if [ "$USE_RELEASE" = true ]; then \
wget "https://dl.vikunja.io/frontend/vikunja-frontend-${RELEASE_VERSION}.zip" -O frontend-release.zip && \
unzip frontend-release.zip -d dist/; \
else \
# we don't use corepack prepare here by intend since
# we have renovate to keep our dependencies up to date
# Build the frontend
pnpm run build; \
fi
RUN mage build:clean && \
mage release:xgo "${TARGETOS}/${TARGETARCH}/${TARGETVARIANT}"
# ┌┐┐┌─┐o┌┐┐┐ │
# ││││ ┬││││┌┼┘
# ┘└┘┘─┘┘┘└┘┘ └
# ┬─┐┬ ┐┌┐┐┌┐┐┬─┐┬─┐
# │┬┘│ │││││││├─ │┬┘
# ┘└┘┘─┘┘└┘┘└┘┴─┘┘└┘
FROM nginx:stable-alpine AS runner
WORKDIR /usr/share/nginx/html
# The actual image
# Note: I wanted to use the scratch image here, but unfortunatly the go-sqlite bindings require cgo and
# because of this, the container would not start when I compiled the image without cgo.
FROM alpine:3.16 AS runner
LABEL maintainer="maintainers@vikunja.io"
WORKDIR /app/vikunja
ENTRYPOINT [ "/sbin/tini", "-g", "--", "/entrypoint.sh" ]
EXPOSE 3456
ENV VIKUNJA_HTTP_PORT 80
ENV VIKUNJA_HTTP2_PORT 81
ENV VIKUNJA_LOG_FORMAT main
ENV VIKUNJA_API_URL /api/v1
ENV VIKUNJA_SENTRY_ENABLED false
ENV VIKUNJA_SENTRY_DSN https://85694a2d757547cbbc90cd4b55c5a18d@o1047380.ingest.sentry.io/6024480
ENV VIKUNJA_SERVICE_ROOTPATH=/app/vikunja/
ENV PUID 1000
ENV PGID 1000
COPY docker/injector.sh /docker-entrypoint.d/50-injector.sh
COPY docker/ipv6-disable.sh /docker-entrypoint.d/60-ipv6-disable.sh
COPY docker/nginx.conf /etc/nginx/nginx.conf
COPY docker/templates/. /etc/nginx/templates/
# copy compiled files from stage 1
COPY --from=builder /build/dist ./
# manage permissions
RUN chmod 0755 /docker-entrypoint.d/*.sh /etc/nginx/templates && \
chmod -R 0644 /etc/nginx/nginx.conf && \
chown -R nginx:nginx ./ /etc/nginx/conf.d /etc/nginx/templates && \
rm -f /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
RUN apk --update --no-cache add tzdata tini shadow && \
addgroup vikunja && \
adduser -s /bin/sh -D -G vikunja vikunja -h /app/vikunja -H
COPY docker/entrypoint.sh /entrypoint.sh
RUN chmod 0755 /entrypoint.sh && mkdir files
COPY --from=builder /build/vikunja-* vikunja
+40 -32
View File
@@ -1,53 +1,61 @@
# Web frontend for Vikunja
<img src="https://vikunja.io/images/vikunja-logo.svg" alt="" style="display: block;width: 50%;margin: 0 auto;" width="50%"/>
> The todo app to organize your life.
[![Build Status](https://drone.kolaente.de/api/badges/vikunja/frontend/status.svg)](https://drone.kolaente.de/vikunja/frontend)
[![Build Status](https://drone.kolaente.de/api/badges/vikunja/api/status.svg)](https://drone.kolaente.de/vikunja/api)
[![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](LICENSE)
[![Download](https://img.shields.io/badge/download-v0.20.5-brightgreen.svg)](https://dl.vikunja.io)
[![Translation](https://badges.crowdin.net/vikunja/localized.svg)](https://crowdin.com/project/vikunja)
[![Download](https://img.shields.io/badge/download-v0.20.4-brightgreen.svg)](https://dl.vikunja.io)
[![Docker Pulls](https://img.shields.io/docker/pulls/vikunja/api.svg)](https://hub.docker.com/r/vikunja/api/)
[![Swagger Docs](https://img.shields.io/badge/swagger-docs-brightgreen.svg)](https://try.vikunja.io/api/v1/docs)
[![Go Report Card](https://goreportcard.com/badge/kolaente.dev/vikunja/api)](https://goreportcard.com/report/kolaente.dev/vikunja/api)
This is the web frontend for Vikunja, written in Vue.js.
# Vikunja API
Take a look at [our roadmap](https://my.vikunja.cloud/share/UrdhKPqumxDXUbYpEGJLSIyNTwAnbBzVlwdDpRbv/auth) (hosted on Vikunja!) for a list of things we're currently working on!
> The Todo-app to organize your life.
# Table of contents
* [Security Reports](#security-reports)
* [Features](#features)
* [Docs](#docs)
* [Roadmap](#roadmap)
* [Contributing](#contributing)
* [License](#license)
## Security Reports
If you find any security-related issues you don't want to disclose publicly, please use [the contact information on our website](https://vikunja.io/contact/#security).
## Docker
## Features
There is a [docker image available](https://hub.docker.com/r/vikunja/api) with support for http/2 and aggressive caching enabled.
In order to build it from sources run the command below. (Docker >= v19.03)
* Create TODO lists with tasks
* Reminder for tasks
* Namespaces: A "group" which bundles multiple lists
* Share lists and namespaces with teams and users with granular permissions
* Plenty of details for tasks
```shell
export DOCKER_BUILDKIT=1
docker build -t vikunja/frontend .
```
See [the features page](https://vikunja.io/en/features/) on our website for a more exaustive list or
try it on [try.vikunja.io](https://try.vikunja.io)!
Refer to Refer [to multi-platform documentation](https://docs.docker.com/build/building/multi-platform/) in order to build for the different platform.
## Docs
## Project setup
* [Installing](https://vikunja.io/docs/installing/)
* [Build from source](https://vikunja.io/docs/build-from-sources/)
* [Development setup](https://vikunja.io/docs/development/)
* [Magefile](https://vikunja.io/docs/magefile/)
* [Testing](https://vikunja.io/docs/testing/)
```shell
pnpm install
```
All docs can be found on [the Vikunja home page](https://vikunja.io/docs/).
### Compiles and hot-reloads for development
### Roadmap
```shell
pnpm run serve
```
See [the roadmap](https://my.vikunja.cloud/share/QFyzYEmEYfSyQfTOmIRSwLUpkFjboaBqQCnaPmWd/auth) (hosted on Vikunja!) for more!
### Compiles and minifies for production
* [ ] [Mobile apps](https://code.vikunja.io/app) (separate repo) *In Progress*
* [ ] [Webapp](https://code.vikunja.io/frontend) (separate repo) *In Progress*
```shell
pnpm run build
```
## Contributing
### Lints and fixes files
Fork -> Push -> Pull-Request. Also see the [dev docs](https://vikunja.io/docs/development/) for more info.
```shell
pnpm run lint
```
## License
This project is licensed under the AGPLv3 License. See the [LICENSE](LICENSE) file for the full license text.
+12
View File
@@ -0,0 +1,12 @@
#!/usr/bin/env bash
curl -X POST http://localhost:3456/api/v1/register -H 'Content-Type: application/json' -d '{"username":"demo","password":"demo","email":"demo@vikunja.io"}'
BEARER=`curl -X POST -H 'Content-Type: application/json' -d '{"username": "demo", "password":"demo"}' localhost:3456/api/v1/login | jq -r '.token'`
echo "Bearer: $BEARER"
curl -X POST localhost:3456/api/v1/tokenTest -H "Authorization: Bearer $BEARER"
curl -X PUT localhost:3456/api/v1/namespaces/1/lists -H 'Content-Type: application/json' -H "Authorization: Bearer $BEARER" -d '{"title":"lorem"}'
curl -X PUT localhost:3456/api/v1/lists/1 -H 'Content-Type: application/json' -H "Authorization: Bearer $BEARER" -d '{"text":"lorem"}'
curl -X PUT -H "Authorization: Bearer $BEARER" localhost:3456/api/v1/tasks/1/attachments -F 'files=@/home/konrad/Pictures/Wallpaper/greg-rakozy-_Q4mepyyjMw-unsplash.jpg'
+29
View File
@@ -0,0 +1,29 @@
### Authorization by token, part 1. Retrieve and save token.
POST http://localhost:8080/api/v1/login
Content-Type: application/json
{
"username": "user3",
"password": "1234"
}
> {% client.global.set("auth_token", response.body.token); %}
### Register
POST http://localhost:8080/api/v1/register
Content-Type: application/json
{
"username": "user",
"password": "1234",
"email": "5@knt.li"
}
###
# Token test
POST http://localhost:8080/api/v1/tokenTest
Authorization: Bearer {{auth_token}}
Content-Type: application/json
###
+70
View File
@@ -0,0 +1,70 @@
# Get all labels
GET http://localhost:8080/api/v1/labels
Authorization: Bearer {{auth_token}}
###
# Add a new label
PUT http://localhost:8080/api/v1/labels
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"title": "test5"
}
###
# Delete a label
DELETE http://localhost:8080/api/v1/labels/6
Authorization: Bearer {{auth_token}}
###
# Update a label
POST http://localhost:8080/api/v1/labels/1
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"title": "testschinkenbrot",
"description": "käsebrot"
}
###
# Get one label
GET http://localhost:8080/api/v1/labels/1
Authorization: Bearer {{auth_token}}
###
# Get all labels on a task
GET http://localhost:8080/api/v1/tasks/3565/labels
Authorization: Bearer {{auth_token}}
###
# Add a new label to a task
PUT http://localhost:8080/api/v1/tasks/35236365/labels
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"label_id": 1
}
###
# Delete a label from a task
DELETE http://localhost:8080/api/v1/tasks/3565/labels/1
Authorization: Bearer {{auth_token}}
###
# Add a new label to a task
POST http://localhost:8080/api/v1/tasks/3565/labels/bulk
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"labels": [
{"id": 1},
{"id": 2},
{"id": 3}
]
}
###
+177
View File
@@ -0,0 +1,177 @@
# Get all lists
GET http://localhost:8080/api/v1/namespaces/35/lists
Authorization: Bearer {{auth_token}}
###
# Get one list
GET http://localhost:8080/api/v1/lists/3
Authorization: Bearer {{auth_token}}
###
# Add a new list
PUT http://localhost:8080/api/v1/namespaces/35/lists
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"title": "test"
}
###
# Add a new item
PUT http://localhost:8080/api/v1/lists/1
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"text": "Task",
"description": "Schinken"
}
###
# Delete a task from a list
DELETE http://localhost:8080/api/v1/lists/14
Authorization: Bearer {{auth_token}}
###
# Get all teams who have access to that list
GET http://localhost:8080/api/v1/lists/28/teams
Authorization: Bearer {{auth_token}}
###
# Give a team access to that list
PUT http://localhost:8080/api/v1/lists/1/teams
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{"team_id":2, "right": 1}
###
# Update a teams access to that list
POST http://localhost:8080/api/v1/lists/1/teams/2
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{"right": 0}
###
# Delete a team from a list
DELETE http://localhost:8080/api/v1/lists/10235/teams/1
Authorization: Bearer {{auth_token}}
###
# Delete a team from a list
DELETE http://localhost:8080/api/v1/lists/10235/teams/1
Authorization: Bearer {{auth_token}}
###
# Get all users who have access to that list
GET http://localhost:8080/api/v1/lists/28/users
Authorization: Bearer {{auth_token}}
###
# Give a user access to that list
PUT http://localhost:8080/api/v1/lists/3/users
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{"userID":"user4", "right":1}
###
# Update a users access to that list
POST http://localhost:8080/api/v1/lists/30/users/3
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{"right":2}
###
# Delete a user from a list
DELETE http://localhost:8080/api/v1/lists/28/users/3
Authorization: Bearer {{auth_token}}
###
# Get all pending tasks
GET http://localhost:8080/api/v1/tasks/all
Authorization: Bearer {{auth_token}}
###
# Get all pending tasks with priorities
GET http://localhost:8080/api/v1/tasks/all?sort=priorityasc
Authorization: Bearer {{auth_token}}
###
# Get all pending tasks in a range
GET http://localhost:8080/api/v1/tasks/all/dueadateasc/1546784000/1548784000
Authorization: Bearer {{auth_token}}
###
# Get all pending tasks in caldav
GET http://localhost:8080/api/v1/tasks/caldav
#Authorization: Bearer {{auth_token}}
###
# Update a task
POST http://localhost:8080/api/v1/tasks/3565
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"priority": 0
}
###
# Bulk update multiple tasks at once
POST http://localhost:8080/api/v1/tasks/bulk
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"task_ids": [3518,3519,3521],
"text":"bulkupdated"
}
###
# Get all assignees
GET http://localhost:8080/api/v1/tasks/3565/assignees
Authorization: Bearer {{auth_token}}
###
# Add a bunch of assignees
PUT http://localhost:8080/api/v1/tasks/3565/assignees/bulk
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"assignees": [
{"id": 17}
]
}
###
# Get all users who have access to a list
GET http://localhost:8080/api/v1/lists/3/users
Authorization: Bearer {{auth_token}}
###
+71
View File
@@ -0,0 +1,71 @@
# Get all namespaces
GET http://localhost:8080/api/v1/namespaces
Authorization: Bearer {{auth_token}}
###
# Get one namespaces
GET http://localhost:8080/api/v1/namespaces/-1
Authorization: Bearer {{auth_token}}
###
# Get all users who have access to that namespace
GET http://localhost:8080/api/v1/namespaces/12/users
Authorization: Bearer {{auth_token}}
###
# Give a user access to that namespace
PUT http://localhost:8080/api/v1/namespaces/1/users
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{"user_id":3, "right": 0}
###
# Update a users access to that namespace
POST http://localhost:8080/api/v1/namespaces/1/users/3
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{"right": 2}
###
# Delete a user from a namespace
DELETE http://localhost:8080/api/v1/namespaces/1/users/2
Authorization: Bearer {{auth_token}}
###
# Get all teams who have access to that namespace
GET http://localhost:8080/api/v1/namespaces/1/teams
Authorization: Bearer {{auth_token}}
###
# Give a team access to that namespace
PUT http://localhost:8080/api/v1/namespaces/1/teams
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{"team_id":3, "right": 0}
###
# Update a teams access to that namespace
POST http://localhost:8080/api/v1/namespaces/1/teams/1
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{"right": 0}
###
# Delete a team from a namespace
DELETE http://localhost:8080/api/v1/namespaces/1/teams/2
Authorization: Bearer {{auth_token}}
###
+29
View File
@@ -0,0 +1,29 @@
# Get all teams
GET http://localhost:8080/api/v1/teams
Authorization: Bearer {{auth_token}}
###
# Get one team
GET http://localhost:8080/api/v1/teams/28
Authorization: Bearer {{auth_token}}
###
# Add a new member to that team
PUT http://localhost:8080/api/v1/teams/28/members
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"user_id": 2
}
###
# Delete a member from a team
DELETE http://localhost:8080/api/v1/teams/28/members/2
Authorization: Bearer {{auth_token}}
###
+53
View File
@@ -0,0 +1,53 @@
# Get all users
GET http://localhost:8080/api/v1/user
Authorization: Bearer {{auth_token}}
######
# Search for a user
GET http://localhost:8080/api/v1/users?s=3
Authorization: Bearer {{auth_token}}
###
## Update password
POST http://localhost:8080/api/v1/user/password
Authorization: Bearer {{auth_token}}
Content-Type: application/json
{
"old_password": "1234",
"new_password": "1234"
}
### Request a password to reset a password
POST http://localhost:8080/api/v1/user/password/token
Content-Type: application/json
Accept: application/json
{
"email": "k@knt.li"
}
### Request a token to reset a password
POST http://localhost:8080/api/v1/user/password/reset
Content-Type: application/json
Accept: application/json
{
"token": "eAsZzakgqARnjzXHqsHqZtSUKuiOhoJjHANhgTxUIDBSalhbtdpAdLeywGXzVDBuRQGNpHdMxoHXhLVSlzpJsFvuoJgMdkhRhkNhaQXfufuZCdtUlerZHSJQLgYMUryHIxIREcmZLtWoZVrYyARkCvkyFhcGtoCwQOEjAOEZMQQuxTVoGYfAqcfNggQnerUcXCiRIgRtkusXSnltomhaeyRwAbrckXFeXxUjslgplSGqSTOqJTYuhrSzAVTwNvuYyvuXLaZoNnJEyeVDWlRydnxfgUQjQZOKwCBRWVQPKpZhlslLUyUAMsRQkHITkruQCjDnOGCCRsSNplbNCEuDmMfpWYHSQAcQIDZtbQWkxzpfmHDMQvvKPPrxEnrTErlvTfKDKICFYPQxXNpNE",
"new_password": "1234"
}
### Confirm a users email address
POST http://localhost:8080/api/v1/user/confirm
Content-Type: application/json
Accept: application/json
{
"token": ""
}
###
+9
View File
@@ -0,0 +1,9 @@
#!/bin/bash
systemctl enable vikunja.service
# Fix the config to contain proper values
NEW_SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
sed -i "s/<jwt-secret>/$NEW_SECRET/g" /etc/vikunja/config.yml
sed -i "s/<rootpath>/\/opt\/vikunja\//g" /etc/vikunja/config.yml
sed -i "s/Path: \"\.\/vikunja.db\"/Path: \"\\/opt\/vikunja\/vikunja.db\"/g" /etc/vikunja/config.yml
+8
View File
@@ -0,0 +1,8 @@
Origin: dl.vikunja.io
Label: Vikunja
Codename: buster
Architectures: amd64
Components: main
Description: The debian repo for Vikunja builds.
SignWith: yes
Pull: buster
+15
View File
@@ -0,0 +1,15 @@
Vikunja is a to-do list application to facilitate your life.
Copyright 2018-2021 Vikunja and contributors. All rights reserved.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public Licensee as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Affero General Public Licensee for more details.
You should have received a copy of the GNU Affero General Public Licensee
along with this program. If not, see <https://www.gnu.org/licenses/>.
+339
View File
@@ -0,0 +1,339 @@
service:
# This token is used to verify issued JWT tokens.
# Default is a random token which will be generated at each startup of vikunja.
# (This means all already issued tokens will be invalid once you restart vikunja)
JWTSecret: "<jwt-secret>"
# The duration of the issed JWT tokens in seconds.
# The default is 259200 seconds (3 Days).
jwtttl: 259200
# The duration of the "remember me" time in seconds. When the login request is made with
# the long param set, the token returned will be valid for this period.
# The default is 2592000 seconds (30 Days).
jwtttllong: 2592000
# The interface on which to run the webserver
interface: ":3456"
# Path to Unix socket. If set, it will be created and used instead of tcp
unixsocket:
# Permission bits for the Unix socket. Note that octal values must be prefixed by "0o", e.g. 0o660
unixsocketmode:
# The URL of the frontend, used to send password reset emails.
frontendurl: ""
# The base path on the file system where the binary and assets are.
# Vikunja will also look in this path for a config file, so you could provide only this variable to point to a folder
# with a config file which will then be used.
rootpath: <rootpath>
# Path on the file system to serve static files from. Set to the path of the frontend files to host frontend alongside the api.
staticpath: ""
# The max number of items which can be returned per page
maxitemsperpage: 50
# Enable the caldav endpoint, see the docs for more details
enablecaldav: true
# Set the motd message, available from the /info endpoint
motd: ""
# Enable sharing of lists via a link
enablelinksharing: true
# Whether to let new users registering themselves or not
enableregistration: true
# Whether to enable task attachments or not
enabletaskattachments: true
# The time zone all timestamps are in. Please note that time zones have to use [the official tz database names](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). UTC or GMT offsets won't work.
timezone: GMT
# Whether task comments should be enabled or not
enabletaskcomments: true
# Whether totp is enabled. In most cases you want to leave that enabled.
enabletotp: true
# If not empty, enables logging of crashes and unhandled errors in sentry.
sentrydsn: ''
# If not empty, this will enable `/test/{table}` endpoints which allow to put any content in the database.
# Used to reset the db before frontend tests. Because this is quite a dangerous feature allowing for lots of harm,
# each request made to this endpoint neefs to provide an `Authorization: <token>` header with the token from below. <br/>
# **You should never use this unless you know exactly what you're doing**
testingtoken: ''
# If enabled, vikunja will send an email to everyone who is either assigned to a task or created it when a task reminder
# is due.
enableemailreminders: true
# If true, will allow users to request the complete deletion of their account. When using external authentication methods
# it may be required to coordinate with them in order to delete the account. This setting will not affect the cli commands
# for user deletion.
enableuserdeletion: true
# The maximum size clients will be able to request for user avatars.
# If clients request a size bigger than this, it will be changed on the fly.
maxavatarsize: 1024
database:
# Database type to use. Supported types are mysql, postgres and sqlite.
type: "sqlite"
# Database user which is used to connect to the database.
user: "vikunja"
# Database password
password: ""
# Database host
host: "localhost"
# Database to use
database: "vikunja"
# When using sqlite, this is the path where to store the data
path: "./vikunja.db"
# Sets the max open connections to the database. Only used when using mysql and postgres.
maxopenconnections: 100
# Sets the maximum number of idle connections to the db.
maxidleconnections: 50
# The maximum lifetime of a single db connection in miliseconds.
maxconnectionlifetime: 10000
# Secure connection mode. Only used with postgres.
# (see https://pkg.go.dev/github.com/lib/pq?tab=doc#hdr-Connection_String_Parameters)
sslmode: disable
# The path to the client cert. Only used with postgres.
sslcert: ""
# The path to the client key. Only used with postgres.
sslkey: ""
# The path to the ca cert. Only used with postgres.
sslrootcert: ""
# Enable SSL/TLS for mysql connections. Options: false, true, skip-verify, preferred
tls: false
cache:
# If cache is enabled or not
enabled: false
# Cache type. Possible values are "keyvalue", "memory" or "redis".
# When choosing "keyvalue" this setting follows the one configured in the "keyvalue" section.
# When choosing "redis" you will need to configure the redis connection seperately.
type: keyvalue
# When using memory this defines the maximum size an element can take
maxelementsize: 1000
redis:
# Whether to enable redis or not
enabled: false
# The host of the redis server including its port.
host: 'localhost:6379'
# The password used to authenicate against the redis server
password: ''
# 0 means default database
db: 0
cors:
# Whether to enable or disable cors headers.
# Note: If you want to put the frontend and the api on seperate domains or ports, you will need to enable this.
# Otherwise the frontend won't be able to make requests to the api through the browser.
enable: true
# A list of origins which may access the api. These need to include the protocol (`http://` or `https://`) and port, if any.
origins:
- "*"
# How long (in seconds) the results of a preflight request can be cached.
maxage: 0
mailer:
# Whether to enable the mailer or not. If it is disabled, all users are enabled right away and password reset is not possible.
enabled: false
# SMTP Host
host: ""
# SMTP Host port.
# **NOTE:** If you're unable to send mail and the only error you see in the logs is an `EOF`, try setting the port to `25`.
port: 587
# SMTP Auth Type. Can be either `plain`, `login` or `cram-md5`.
authtype: "plain"
# SMTP username
username: "user"
# SMTP password
password: ""
# Wether to skip verification of the tls certificate on the server
skiptlsverify: false
# The default from address when sending emails
fromemail: "mail@vikunja"
# The length of the mail queue.
queuelength: 100
# The timeout in seconds after which the current open connection to the mailserver will be closed.
queuetimeout: 30
# By default, vikunja will try to connect with starttls, use this option to force it to use ssl.
forcessl: false
log:
# A folder where all the logfiles should go.
path: <rootpath>logs
# Whether to show any logging at all or none
enabled: true
# Where the normal log should go. Possible values are stdout, stderr, file or off to disable standard logging.
standard: "stdout"
# Change the log level. Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG.
level: "INFO"
# Whether or not to log database queries. Useful for debugging. Possible values are stdout, stderr, file or off to disable database logging.
database: "off"
# The log level for database log messages. Possible values (case-insensitive) are CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG.
databaselevel: "WARNING"
# Whether to log http requests or not. Possible values are stdout, stderr, file or off to disable http logging.
http: "stdout"
# Echo has its own logging which usually is unnecessary, which is why it is disabled by default. Possible values are stdout, stderr, file or off to disable standard logging.
echo: "off"
# Whether or not to log events. Useful for debugging. Possible values are stdout, stderr, file or off to disable events logging.
events: "off"
# The log level for event log messages. Possible values (case-insensitive) are ERROR, INFO, DEBUG.
eventslevel: "info"
ratelimit:
# whether or not to enable the rate limit
enabled: false
# The kind on which rates are based. Can be either "user" for a rate limit per user or "ip" for an ip-based rate limit.
kind: user
# The time period in seconds for the limit
period: 60
# The max number of requests a user is allowed to do in the configured time period
limit: 100
# The store where the limit counter for each user is stored.
# Possible values are "keyvalue", "memory" or "redis".
# When choosing "keyvalue" this setting follows the one configured in the "keyvalue" section.
store: keyvalue
files:
# The path where files are stored
basepath: ./files # relative to the binary
# The maximum size of a file, as a human-readable string.
# Warning: The max size is limited 2^64-1 bytes due to the underlying datatype
maxsize: 20MB
migration:
todoist:
# Wheter to enable the todoist migrator or not
enable: false
# The client id, required for making requests to the todoist api
# You need to register your vikunja instance at https://developer.todoist.com/appconsole.html to get this
clientid:
# The client secret, also required for making requests to the todoist api
clientsecret:
# The url where clients are redirected after they authorized Vikunja to access their todoist items.
# This needs to match the url you entered when registering your Vikunja instance at todoist.
# This is usually the frontend url where the frontend then makes a request to /migration/todoist/migrate
# with the code obtained from the todoist api.
# Note that the vikunja frontend expects this to be /migrate/todoist
redirecturl: <frontend url>/migrate/todoist
trello:
# Wheter to enable the trello migrator or not
enable: false
# The client id, required for making requests to the trello api
# You need to register your vikunja instance at https://trello.com/app-key (log in before you visit that link) to get this
key:
# The url where clients are redirected after they authorized Vikunja to access their trello cards.
# This needs to match the url you entered when registering your Vikunja instance at trello.
# This is usually the frontend url where the frontend then makes a request to /migration/trello/migrate
# with the code obtained from the trello api.
# Note that the vikunja frontend expects this to end on /migrate/trello.
redirecturl: <frontend url>/migrate/trello
microsofttodo:
# Wheter to enable the microsoft todo migrator or not
enable: false
# The client id, required for making requests to the microsoft graph api
# See https://docs.microsoft.com/en-us/azure/active-directory/develop/quickstart-register-app#register-an-application
# for information about how to register your vikuinja instance.
clientid:
# The client secret, also required for making requests to the microsoft graph api
clientsecret:
# The url where clients are redirected after they authorized Vikunja to access their microsoft todo tasks.
# This needs to match the url you entered when registering your Vikunja instance at microsoft.
# This is usually the frontend url where the frontend then makes a request to /migration/microsoft-todo/migrate
# with the code obtained from the microsoft graph api.
# Note that the vikunja frontend expects this to be /migrate/microsoft-todo
redirecturl: <frontend url>/migrate/microsoft-todo
avatar:
# When using gravatar, this is the duration in seconds until a cached gravatar user avatar expires
gravatarexpiration: 3600
backgrounds:
# Whether to enable backgrounds for lists at all.
enabled: true
providers:
upload:
# Whethere to enable uploaded list backgrounds
enabled: true
unsplash:
# Whether to enable setting backgrounds from unsplash as list backgrounds
enabled: false
# You need to create an application for your installation at https://unsplash.com/oauth/applications/new
# and set the access token below.
accesstoken:
# The unsplash application id is only used for pingback and required as per their api guidelines.
# You can find the Application ID in the dashboard for your API application. It should be a numeric ID.
# It will only show in the UI if your application has been approved for Enterprise usage, therefore if
# you’re in Demo mode, you can also find the ID in the URL at the end: https://unsplash.com/oauth/applications/:application_id
applicationid:
# Legal urls
# Will be shown in the frontend if configured here
legal:
imprinturl:
privacyurl:
# Key Value Storage settings
# The Key Value Storage is used for different kinds of things like metrics and a few cache systems.
keyvalue:
# The type of the storage backend. Can be either "memory" or "redis". If "redis" is chosen it needs to be configured seperately.
type: "memory"
auth:
# Local authentication will let users log in and register (if enabled) through the db.
# This is the default auth mechanism and does not require any additional configuration.
local:
# Enable or disable local authentication
enabled: true
# OpenID configuration will allow users to authenticate through a third-party OpenID Connect compatible provider.<br/>
# The provider needs to support the `openid`, `profile` and `email` scopes.<br/>
# **Note:** Some openid providers (like gitlab) only make the email of the user available through openid claims if they have set it to be publicly visible.
# If the email is not public in those cases, authenticating will fail.
# **Note 2:** The frontend expects to be redirected after authentication by the third party
# to <frontend-url>/auth/openid/<auth key>. Please make sure to configure the redirect url with your third party
# auth service accordingy if you're using the default vikunja frontend.
# Take a look at the [default config file](https://kolaente.dev/vikunja/api/src/branch/main/config.yml.sample) for more information about how to configure openid authentication.
openid:
# Enable or disable OpenID Connect authentication
enabled: false
# The url to redirect clients to. Defaults to the configured frontend url. If you're using Vikunja with the official
# frontend, you don't need to change this value.
# **Note:** The redirect url must exactly match the configured redirect url with the third party provider.
# This includes all slashes at the end or protocols.
redirecturl: <frontend url>
# A list of enabled providers
providers:
# The name of the provider as it will appear in the frontend.
- name:
# The auth url to send users to if they want to authenticate using OpenID Connect.
authurl:
# The oidc logouturl that users will be redirected to on logout.
# Leave empty or delete key, if you do not want to be redirected.
logouturl:
# The client ID used to authenticate Vikunja at the OpenID Connect provider.
clientid:
# The client secret used to authenticate Vikunja at the OpenID Connect provider.
clientsecret:
# Prometheus metrics endpoint
metrics:
# If set to true, enables a /metrics endpoint for prometheus to collect metrics about Vikunja.
enabled: false
# If set to a non-empty value the /metrics endpoint will require this as a username via basic auth in combination with the password below.
username:
# If set to a non-empty value the /metrics endpoint will require this as a password via basic auth in combination with the username below.
password:
# Provide default settings for new users. When a new user is created, these settings will automatically be set for the user. If you change them in the config file afterwards they will not be changed back for existing users.
defaultsettings:
# The avatar source for the user. Can be `gravatar`, `initials`, `upload` or `marble`. If you set this to `upload` you'll also need to specify `defaultsettings.avatar_file_id`.
avatar_provider: initials
# The id of the file used as avatar.
avatar_file_id: 0
# If set to true users will get task reminders via email.
email_reminders_enabled: false
# If set to true will allow other users to find this user when searching for parts of their name.
discoverable_by_name: false
# If set to true will allow other users to find this user when searching for their exact email.
discoverable_by_email: false
# If set to true will send an email every day with all overdue tasks at a configured time.
overdue_tasks_reminders_enabled: true
# When to send the overdue task reminder email.
overdue_tasks_reminders_time: 9:00
# The id of the default list. Make sure users actually have access to this list when setting this value.
default_list_id: 0
# Start of the week for the user. `0` is sunday, `1` is monday and so on.
week_start: 0
# The language of the user interface. Must be an ISO 639-1 language code. Will default to the browser language the user uses when signing up.
language: <unset>
# The time zone of each individual user. This will affect when users get reminders and overdue task emails.
timezone: <time zone set at service.timezone>
-27
View File
@@ -1,27 +0,0 @@
import {defineConfig} from 'cypress'
export default defineConfig({
env: {
API_URL: 'http://localhost:3456/api/v1',
TEST_SECRET: 'averyLongSecretToSe33dtheDB',
},
video: false,
retries: {
runMode: 2,
},
projectId: '181c7x',
e2e: {
specPattern: 'cypress/e2e/**/*.{cy,spec}.{js,jsx,ts,tsx}',
baseUrl: 'http://127.0.0.1:4173',
experimentalRunAllSpecs: true,
// testIsolation: false,
},
component: {
devServer: {
framework: 'vue',
bundler: 'vite',
},
},
viewportWidth: 1600,
viewportHeight: 900,
})
-48
View File
@@ -1,48 +0,0 @@
# Frontend Testing With Cypress
## Setup
* Enable the [seeder api endpoint](https://vikunja.io/docs/config-options/#testingtoken). You'll then need to add the testingtoken in `cypress.json` or set the `CYPRESS_TEST_SECRET` environment variable.
* Basic configuration happens in the `cypress.json` file
* Overridable with [env](https://docs.cypress.io/guides/guides/environment-variables.html#Option-3-CYPRESS)
* Override base url with `CYPRESS_BASE_URL`
## Fixtures
We're using the [test endpoint](https://vikunja.io/docs/config-options/#testingtoken) of the vikunja api to
seed the database with test data before running the tests.
This ensures better reproducability of tests.
## Running The Tests Locally
### Using Docker
The easiest way to run all frontend tests locally is by using the `docker-compose` file in this repository.
It uses the same configuration as the CI.
To use it, run
```shell
docker-compose up -d
```
Then, once all containers are started, run
```shell
docker-compose run cypress bash
```
to get a shell inside the cypress container.
In that shell you can then execute the tests with
```shell
pnpm run test:e2e
```
### Using The Cypress Dashboard
To open the Cypress Dashboard and run tests from there, run
```shell
pnpm run test:e2e:dev
```
-20
View File
@@ -1,20 +0,0 @@
version: '3'
services:
api:
image: vikunja/api:unstable
environment:
VIKUNJA_LOG_LEVEL: DEBUG
VIKUNJA_SERVICE_TESTINGTOKEN: averyLongSecretToSe33dtheDB
ports:
- 3456:3456
cypress:
image: cypress/browsers:node18.12.0-chrome107
volumes:
- ..:/project
- $HOME/.cache:/home/node/.cache/
user: node
working_dir: /project
environment:
CYPRESS_API_URL: http://api:3456/api/v1
CYPRESS_TEST_SECRET: averyLongSecretToSe33dtheDB
-57
View File
@@ -1,57 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {ListFactory} from '../../factories/list'
import {prepareLists} from './prepareLists'
describe('List History', () => {
createFakeUserAndLogin()
prepareLists()
it('should show a list history on the home page', () => {
cy.intercept(Cypress.env('API_URL') + '/namespaces*').as('loadNamespaces')
cy.intercept(Cypress.env('API_URL') + '/lists/*').as('loadList')
const lists = ListFactory.create(6)
cy.visit('/')
cy.wait('@loadNamespaces')
cy.get('body')
.should('not.contain', 'Last viewed')
cy.visit(`/lists/${lists[0].id}`)
cy.wait('@loadNamespaces')
cy.wait('@loadList')
cy.visit(`/lists/${lists[1].id}`)
cy.wait('@loadNamespaces')
cy.wait('@loadList')
cy.visit(`/lists/${lists[2].id}`)
cy.wait('@loadNamespaces')
cy.wait('@loadList')
cy.visit(`/lists/${lists[3].id}`)
cy.wait('@loadNamespaces')
cy.wait('@loadList')
cy.visit(`/lists/${lists[4].id}`)
cy.wait('@loadNamespaces')
cy.wait('@loadList')
cy.visit(`/lists/${lists[5].id}`)
cy.wait('@loadNamespaces')
cy.wait('@loadList')
// cy.visit('/')
// cy.wait('@loadNamespaces')
// Not using cy.visit here to work around the redirect issue fixed in #1337
cy.get('nav.menu.top-menu a')
.contains('Overview')
.click()
cy.get('body')
.should('contain', 'Last viewed')
cy.get('[data-cy="listCardGrid"]')
.should('not.contain', lists[0].title)
.should('contain', lists[1].title)
.should('contain', lists[2].title)
.should('contain', lists[3].title)
.should('contain', lists[4].title)
.should('contain', lists[5].title)
})
})
-126
View File
@@ -1,126 +0,0 @@
import {formatISO, format} from 'date-fns'
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {TaskFactory} from '../../factories/task'
import {prepareLists} from './prepareLists'
describe('List View Gantt', () => {
createFakeUserAndLogin()
prepareLists()
it('Hides tasks with no dates', () => {
const tasks = TaskFactory.create(1)
cy.visit('/lists/1/gantt')
cy.get('.g-gantt-rows-container')
.should('not.contain', tasks[0].title)
})
it('Shows tasks from the current and next month', () => {
const now = Date.UTC(2022, 8, 25)
cy.clock(now, ['Date'])
const nextMonth = new Date(now)
nextMonth.setDate(1)
nextMonth.setMonth(9)
cy.visit('/lists/1/gantt')
cy.get('.g-timeunits-container')
.should('contain', format(now, 'MMMM'))
.should('contain', format(nextMonth, 'MMMM'))
})
it('Shows tasks with dates', () => {
const now = new Date()
const tasks = TaskFactory.create(1, {
start_date: now.toISOString(),
end_date: new Date(new Date(now).setDate(now.getDate() + 4)).toISOString(),
})
cy.visit('/lists/1/gantt')
cy.get('.g-gantt-rows-container')
.should('not.be.empty')
.should('contain', tasks[0].title)
})
it('Shows tasks with no dates after enabling them', () => {
const tasks = TaskFactory.create(1, {
start_date: null,
end_date: null,
})
cy.visit('/lists/1/gantt')
cy.get('.gantt-options .fancycheckbox')
.contains('Show tasks which don\'t have dates set')
.click()
cy.get('.g-gantt-rows-container')
.should('not.be.empty')
.should('contain', tasks[0].title)
})
it('Drags a task around', () => {
cy.intercept(Cypress.env('API_URL') + '/tasks/*').as('taskUpdate')
const now = new Date()
TaskFactory.create(1, {
start_date: now.toISOString(),
end_date: new Date(new Date(now).setDate(now.getDate() + 4)).toISOString(),
})
cy.visit('/lists/1/gantt')
cy.get('.g-gantt-rows-container .g-gantt-row .g-gantt-row-bars-container div .g-gantt-bar')
.first()
.trigger('mousedown', {which: 1})
.trigger('mousemove', {clientX: 500, clientY: 0})
.trigger('mouseup', {force: true})
cy.wait('@taskUpdate')
})
it('Should change the query parameters when selecting a date range', () => {
const now = Date.UTC(2022, 10, 9)
cy.clock(now, ['Date'])
cy.visit('/lists/1/gantt')
cy.get('.list-gantt .gantt-options .field .control input.input.form-control')
.click()
cy.get('.flatpickr-calendar .flatpickr-innerContainer .dayContainer .flatpickr-day')
.first()
.click()
cy.get('.flatpickr-calendar .flatpickr-innerContainer .dayContainer .flatpickr-day')
.last()
.click()
cy.url().should('contain', 'dateFrom=2022-09-25')
cy.url().should('contain', 'dateTo=2022-11-05')
})
it('Should change the date range based on date query parameters', () => {
cy.visit('/lists/1/gantt?dateFrom=2022-09-25&dateTo=2022-11-05')
cy.get('.g-timeunits-container')
.should('contain', 'September 2022')
.should('contain', 'October 2022')
.should('contain', 'November 2022')
cy.get('.list-gantt .gantt-options .field .control input.input.form-control')
.should('have.value', '25 Sep 2022 to 5 Nov 2022')
})
it('Should open a task when double clicked on it', () => {
const now = new Date()
const tasks = TaskFactory.create(1, {
start_date: formatISO(now),
end_date: formatISO(now.setDate(now.getDate() + 4)),
})
cy.visit('/lists/1/gantt')
cy.get('.gantt-container .g-gantt-chart .g-gantt-row-bars-container .g-gantt-bar')
.dblclick()
cy.url()
.should('contain', `/tasks/${tasks[0].id}`)
})
})
-241
View File
@@ -1,241 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {BucketFactory} from '../../factories/bucket'
import {ListFactory} from '../../factories/list'
import {TaskFactory} from '../../factories/task'
import {prepareLists} from './prepareLists'
describe('List View Kanban', () => {
createFakeUserAndLogin()
prepareLists()
let buckets
beforeEach(() => {
buckets = BucketFactory.create(2)
})
it('Shows all buckets with their tasks', () => {
const data = TaskFactory.create(10, {
list_id: 1,
bucket_id: 1,
})
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket .title')
.contains(buckets[0].title)
.should('exist')
cy.get('.kanban .bucket .title')
.contains(buckets[1].title)
.should('exist')
cy.get('.kanban .bucket')
.first()
.should('contain', data[0].title)
})
it('Can add a new task to a bucket', () => {
TaskFactory.create(2, {
list_id: 1,
bucket_id: 1,
})
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket')
.contains(buckets[0].title)
.get('.bucket-footer .button')
.contains('Add another task')
.click()
cy.get('.kanban .bucket')
.contains(buckets[0].title)
.get('.bucket-footer .field .control input.input')
.type('New Task{enter}')
cy.get('.kanban .bucket')
.first()
.should('contain', 'New Task')
})
it('Can create a new bucket', () => {
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket.new-bucket .button')
.click()
cy.get('.kanban .bucket.new-bucket input.input')
.type('New Bucket{enter}')
cy.wait(1000) // Wait for the request to finish
cy.get('.kanban .bucket .title')
.contains('New Bucket')
.should('exist')
})
it('Can set a bucket limit', () => {
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket .bucket-header .dropdown.options .dropdown-trigger')
.first()
.click()
cy.get('.kanban .bucket .bucket-header .dropdown.options .dropdown-menu .dropdown-item')
.contains('Limit: Not Set')
.click()
cy.get('.kanban .bucket .bucket-header .dropdown.options .dropdown-menu .dropdown-item .field input.input')
.first()
.type(3)
cy.get('[data-cy="setBucketLimit"]')
.first()
.click()
cy.get('.kanban .bucket .bucket-header span.limit')
.contains('0/3')
.should('exist')
})
it('Can rename a bucket', () => {
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket .bucket-header .title')
.first()
.type('{selectall}New Bucket Title{enter}')
cy.get('.kanban .bucket .bucket-header .title')
.first()
.should('contain', 'New Bucket Title')
})
it('Can delete a bucket', () => {
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket .bucket-header .dropdown.options .dropdown-trigger')
.first()
.click()
cy.get('.kanban .bucket .bucket-header .dropdown.options .dropdown-menu .dropdown-item')
.contains('Delete')
.click()
cy.get('.modal-mask .modal-container .modal-content .header')
.should('contain', 'Delete the bucket')
cy.get('.modal-mask .modal-container .modal-content .actions .button')
.contains('Do it!')
.click()
cy.get('.kanban .bucket .title')
.contains(buckets[0].title)
.should('not.exist')
cy.get('.kanban .bucket .title')
.contains(buckets[1].title)
.should('exist')
})
it('Can drag tasks around', () => {
const tasks = TaskFactory.create(2, {
list_id: 1,
bucket_id: 1,
})
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket .tasks .task')
.contains(tasks[0].title)
.first()
.drag('.kanban .bucket:nth-child(2) .tasks')
cy.get('.kanban .bucket:nth-child(2) .tasks')
.should('contain', tasks[0].title)
cy.get('.kanban .bucket:nth-child(1) .tasks')
.should('not.contain', tasks[0].title)
})
it('Should navigate to the task when the task card is clicked', () => {
const tasks = TaskFactory.create(5, {
id: '{increment}',
list_id: 1,
bucket_id: 1,
})
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket .tasks .task')
.contains(tasks[0].title)
.should('be.visible')
.click()
cy.url()
.should('contain', `/tasks/${tasks[0].id}`, { timeout: 1000 })
})
it('Should remove a task from the kanban board when moving it to another list', () => {
const lists = ListFactory.create(2)
BucketFactory.create(2, {
list_id: '{increment}',
})
const tasks = TaskFactory.create(5, {
id: '{increment}',
list_id: 1,
bucket_id: 1,
})
const task = tasks[0]
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket .tasks .task')
.contains(task.title)
.should('be.visible')
.click()
cy.get('.task-view .action-buttons .button', { timeout: 3000 })
.contains('Move')
.click()
cy.get('.task-view .content.details .field .multiselect.control .input-wrapper input')
.type(`${lists[1].title}{enter}`)
// The requests happen with a 200ms timeout. Because of that, the results are not yet there when cypress
// presses enter and we can't simulate pressing on enter to select the item.
cy.get('.task-view .content.details .field .multiselect.control .search-results')
.children()
.first()
.click()
cy.get('.global-notification', { timeout: 1000 })
.should('contain', 'Success')
cy.go('back')
cy.get('.kanban .bucket')
.should('not.contain', task.title)
})
it('Shows a button to filter the kanban board', () => {
const data = TaskFactory.create(10, {
list_id: 1,
bucket_id: 1,
})
cy.visit('/lists/1/kanban')
cy.get('.list-kanban .filter-container .base-button')
.should('exist')
})
it('Should remove a task from the board when deleting it', () => {
const lists = ListFactory.create(1)
const buckets = BucketFactory.create(2, {
list_id: lists[0].id,
})
const tasks = TaskFactory.create(5, {
list_id: 1,
bucket_id: buckets[0].id,
})
const task = tasks[0]
cy.visit('/lists/1/kanban')
cy.get('.kanban .bucket .tasks .task')
.contains(task.title)
.should('be.visible')
.click()
cy.get('.task-view .action-buttons .button')
.should('be.visible')
.contains('Delete')
.click()
cy.get('.modal-mask .modal-container .modal-content .header')
.should('contain', 'Delete this task')
cy.get('.modal-mask .modal-container .modal-content .actions .button')
.contains('Do it!')
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.kanban .bucket .tasks')
.should('not.contain', task.title)
})
})
-110
View File
@@ -1,110 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {UserListFactory} from '../../factories/users_list'
import {TaskFactory} from '../../factories/task'
import {UserFactory} from '../../factories/user'
import {ListFactory} from '../../factories/list'
import {prepareLists} from './prepareLists'
describe('List View List', () => {
createFakeUserAndLogin()
prepareLists()
it('Should be an empty list', () => {
cy.visit('/lists/1')
cy.url()
.should('contain', '/lists/1/list')
cy.get('.list-title')
.should('contain', 'First List')
cy.get('.list-title-dropdown')
.should('exist')
cy.get('p')
.contains('This list is currently empty.')
.should('exist')
})
it('Should create a new task', () => {
const newTaskTitle = 'New task'
cy.visit('/lists/1')
cy.get('.task-add textarea')
.type(newTaskTitle+'{enter}')
cy.get('.tasks')
.should('contain.text', newTaskTitle)
})
it('Should navigate to the task when the title is clicked', () => {
const tasks = TaskFactory.create(5, {
id: '{increment}',
list_id: 1,
})
cy.visit('/lists/1/list')
cy.get('.tasks .task .tasktext')
.contains(tasks[0].title)
.first()
.click()
cy.url()
.should('contain', `/tasks/${tasks[0].id}`)
})
it('Should not see any elements for a list which is shared read only', () => {
UserFactory.create(2)
UserListFactory.create(1, {
list_id: 2,
user_id: 1,
right: 0,
})
const lists = ListFactory.create(2, {
owner_id: '{increment}',
namespace_id: '{increment}',
})
cy.visit(`/lists/${lists[1].id}/`)
cy.get('.list-title-wrapper .icon')
.should('not.exist')
cy.get('input.input[placeholder="Add a new task..."')
.should('not.exist')
})
it('Should only show the color of a list in the navigation and not in the list view', () => {
const lists = ListFactory.create(1, {
hex_color: '00db60',
})
TaskFactory.create(10, {
list_id: lists[0].id,
})
cy.visit(`/lists/${lists[0].id}/`)
cy.get('.menu-list li .list-menu-link .color-bubble')
.should('have.css', 'background-color', 'rgb(0, 219, 96)')
cy.get('.tasks .color-bubble')
.should('not.exist')
})
it('Should paginate for > 50 tasks', () => {
const tasks = TaskFactory.create(100, {
id: '{increment}',
title: i => `task${i}`,
list_id: 1,
})
cy.visit('/lists/1/list')
cy.get('.tasks')
.should('contain', tasks[1].title)
cy.get('.tasks')
.should('not.contain', tasks[99].title)
cy.get('.card-content .pagination .pagination-link')
.contains('2')
.click()
cy.url()
.should('contain', '?page=2')
cy.get('.tasks')
.should('contain', tasks[99].title)
cy.get('.tasks')
.should('not.contain', tasks[1].title)
})
})
-54
View File
@@ -1,54 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {TaskFactory} from '../../factories/task'
describe('List View Table', () => {
createFakeUserAndLogin()
it('Should show a table with tasks', () => {
const tasks = TaskFactory.create(1)
cy.visit('/lists/1/table')
cy.get('.list-table table.table')
.should('exist')
cy.get('.list-table table.table')
.should('contain', tasks[0].title)
})
it('Should have working column switches', () => {
TaskFactory.create(1)
cy.visit('/lists/1/table')
cy.get('.list-table .filter-container .items .button')
.contains('Columns')
.click()
cy.get('.list-table .filter-container .card.columns-filter .card-content .fancycheckbox .check')
.contains('Priority')
.click()
cy.get('.list-table .filter-container .card.columns-filter .card-content .fancycheckbox .check')
.contains('Done')
.click()
cy.get('.list-table table.table th')
.contains('Priority')
.should('exist')
cy.get('.list-table table.table th')
.contains('Done')
.should('not.exist')
})
it('Should navigate to the task when the title is clicked', () => {
const tasks = TaskFactory.create(5, {
id: '{increment}',
list_id: 1,
})
cy.visit('/lists/1/table')
cy.get('.list-table table.table')
.contains(tasks[0].title)
.click()
cy.url()
.should('contain', `/tasks/${tasks[0].id}`)
})
})
-122
View File
@@ -1,122 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {TaskFactory} from '../../factories/task'
import {prepareLists} from './prepareLists'
describe('Lists', () => {
createFakeUserAndLogin()
let lists
prepareLists((newLists) => (lists = newLists))
it('Should create a new list', () => {
cy.visit('/')
cy.get('.namespace-title .dropdown-trigger')
.click()
cy.get('.namespace-title .dropdown .dropdown-item')
.contains('New list')
.click()
cy.url()
.should('contain', '/lists/new/1')
cy.get('.card-header-title')
.contains('New list')
cy.get('input.input')
.type('New List')
cy.get('.button')
.contains('Create')
.click()
cy.get('.global-notification', { timeout: 1000 }) // Waiting until the request to create the new list is done
.should('contain', 'Success')
cy.url()
.should('contain', '/lists/')
cy.get('.list-title')
.should('contain', 'New List')
})
it('Should redirect to a specific list view after visited', () => {
cy.visit('/lists/1/kanban')
cy.url()
.should('contain', '/lists/1/kanban')
cy.visit('/lists/1')
cy.url()
.should('contain', '/lists/1/kanban')
})
it('Should rename the list in all places', () => {
TaskFactory.create(5, {
id: '{increment}',
list_id: 1,
})
const newListName = 'New list name'
cy.visit('/lists/1')
cy.get('.list-title')
.should('contain', 'First List')
cy.get('.namespace-container .menu.namespaces-lists .menu-list li:first-child .dropdown .menu-list-dropdown-trigger')
.click()
cy.get('.namespace-container .menu.namespaces-lists .menu-list li:first-child .dropdown .dropdown-content')
.contains('Edit')
.click()
cy.get('#title')
.type(`{selectall}${newListName}`)
cy.get('footer.card-footer .button')
.contains('Save')
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.list-title')
.should('contain', newListName)
.should('not.contain', lists[0].title)
cy.get('.namespace-container .menu.namespaces-lists .menu-list li:first-child')
.should('contain', newListName)
.should('not.contain', lists[0].title)
cy.visit('/')
cy.get('.card-content')
.should('contain', newListName)
.should('not.contain', lists[0].title)
})
it('Should remove a list', () => {
cy.visit(`/lists/${lists[0].id}`)
cy.get('.namespace-container .menu.namespaces-lists .menu-list li:first-child .dropdown .menu-list-dropdown-trigger')
.click()
cy.get('.namespace-container .menu.namespaces-lists .menu-list li:first-child .dropdown .dropdown-content')
.contains('Delete')
.click()
cy.url()
.should('contain', '/settings/delete')
cy.get('[data-cy="modalPrimary"]')
.contains('Do it')
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.namespace-container .menu.namespaces-lists .menu-list')
.should('not.contain', lists[0].title)
cy.location('pathname')
.should('equal', '/')
})
it('Should archive a list', () => {
cy.visit(`/lists/${lists[0].id}`)
cy.get('.list-title-dropdown')
.click()
cy.get('.list-title-dropdown .dropdown-menu .dropdown-item')
.contains('Archive')
.click()
cy.get('.modal-content')
.should('contain.text', 'Archive this list')
cy.get('.modal-content [data-cy=modalPrimary]')
.click()
cy.get('.namespace-container .menu.namespaces-lists .menu-list')
.should('not.contain', lists[0].title)
cy.get('main.app-content')
.should('contain.text', 'This list is archived. It is not possible to create new or edit tasks for it.')
})
})
-145
View File
@@ -1,145 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {ListFactory} from '../../factories/list'
import {NamespaceFactory} from '../../factories/namespace'
describe('Namepaces', () => {
createFakeUserAndLogin()
let namespaces
beforeEach(() => {
namespaces = NamespaceFactory.create(1)
ListFactory.create(1)
})
it('Should be all there', () => {
cy.visit('/namespaces')
cy.get('[data-cy="namespace-title"]')
.should('contain', namespaces[0].title)
})
it('Should create a new Namespace', () => {
const newNamespaceTitle = 'New Namespace'
cy.visit('/namespaces')
cy.get('[data-cy="new-namespace"]')
.should('contain', 'New namespace')
.click()
cy.url()
.should('contain', '/namespaces/new')
cy.get('.card-header-title')
.should('contain', 'New namespace')
cy.get('input.input')
.type(newNamespaceTitle)
cy.get('.button')
.contains('Create')
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.namespace-container')
.should('contain', newNamespaceTitle)
cy.url()
.should('contain', '/namespaces')
})
it('Should rename the namespace all places', () => {
const newNamespaces = NamespaceFactory.create(5)
const newNamespaceName = 'New namespace name'
cy.visit('/namespaces')
cy.get(`.namespace-container .menu.namespaces-lists .namespace-title:contains(${newNamespaces[0].title}) .dropdown .dropdown-trigger`)
.click()
cy.get('.namespace-container .menu.namespaces-lists .namespace-title .dropdown .dropdown-content')
.contains('Edit')
.click()
cy.url()
.should('contain', '/settings/edit')
cy.get('#namespacetext')
.invoke('val')
.should('equal', newNamespaces[0].title) // wait until the namespace data is loaded
cy.get('#namespacetext')
.type(`{selectall}${newNamespaceName}`)
cy.get('footer.card-footer .button')
.contains('Save')
.click()
cy.get('.global-notification', { timeout: 1000 })
.should('contain', 'Success')
cy.get('.namespace-container .menu.namespaces-lists')
.should('contain', newNamespaceName)
.should('not.contain', newNamespaces[0].title)
cy.get('[data-cy="namespaces-list"]')
.should('contain', newNamespaceName)
.should('not.contain', newNamespaces[0].title)
})
it('Should remove a namespace when deleting it', () => {
const newNamespaces = NamespaceFactory.create(5)
cy.visit('/')
cy.get(`.namespace-container .menu.namespaces-lists .namespace-title:contains(${newNamespaces[0].title}) .dropdown .dropdown-trigger`)
.click()
cy.get('.namespace-container .menu.namespaces-lists .namespace-title .dropdown .dropdown-content')
.contains('Delete')
.click()
cy.url()
.should('contain', '/settings/delete')
cy.get('[data-cy="modalPrimary"]')
.contains('Do it')
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.namespace-container .menu.namespaces-lists')
.should('not.contain', newNamespaces[0].title)
})
it('Should not show archived lists & namespaces if the filter is not checked', () => {
const n = NamespaceFactory.create(1, {
id: 2,
is_archived: true,
}, false)
ListFactory.create(1, {
id: 2,
namespace_id: n[0].id,
}, false)
ListFactory.create(1, {
id: 3,
is_archived: true,
}, false)
// Initial
cy.visit('/namespaces')
cy.get('.namespace')
.should('not.contain', 'Archived')
// Show archived
cy.get('[data-cy="show-archived-check"] label.check span')
.should('be.visible')
.click()
cy.get('[data-cy="show-archived-check"] input')
.should('be.checked')
cy.get('.namespace')
.should('contain', 'Archived')
// Don't show archived
cy.get('[data-cy="show-archived-check"] label.check span')
.should('be.visible')
.click()
cy.get('[data-cy="show-archived-check"] input')
.should('not.be.checked')
// Second time visiting after unchecking
cy.visit('/namespaces')
cy.get('[data-cy="show-archived-check"] input')
.should('not.be.checked')
cy.get('.namespace')
.should('not.contain', 'Archived')
})
})
-19
View File
@@ -1,19 +0,0 @@
import {ListFactory} from '../../factories/list'
import {NamespaceFactory} from '../../factories/namespace'
import {TaskFactory} from '../../factories/task'
export function createLists() {
NamespaceFactory.create(1)
const lists = ListFactory.create(1, {
title: 'First List'
})
TaskFactory.truncate()
return lists
}
export function prepareLists(setLists = (...args: any[]) => {}) {
beforeEach(() => {
const lists = createLists()
setLists(lists)
})
}
-39
View File
@@ -1,39 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {TaskFactory} from '../../factories/task'
import {ListFactory} from '../../factories/list'
import {NamespaceFactory} from '../../factories/namespace'
import {UserListFactory} from '../../factories/users_list'
describe('Editor', () => {
createFakeUserAndLogin()
beforeEach(() => {
NamespaceFactory.create(1)
ListFactory.create(1)
TaskFactory.truncate()
UserListFactory.truncate()
})
it('Has a preview with checkable checkboxes', () => {
const tasks = TaskFactory.create(1, {
description: `# Test Heading
* Bullet 1
* Bullet 2
* [ ] Checklist
* [x] Checklist checked
`,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('input[type=checkbox][data-checkbox-num=0]')
.click()
cy.get('.task-view .details.content.description h3 span.is-small.has-text-success')
.contains('Saved!')
.should('exist')
cy.get('.preview.content')
.should('contain', 'Test Heading')
})
})
-35
View File
@@ -1,35 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
describe('The Menu', () => {
createFakeUserAndLogin()
beforeEach(() => {
cy.visit('/')
})
it('Is visible by default on desktop', () => {
cy.get('.namespace-container')
.should('have.class', 'is-active')
})
it('Can be hidden on desktop', () => {
cy.get('button.menu-show-button:visible')
.click()
cy.get('.namespace-container')
.should('not.have.class', 'is-active')
})
it('Is hidden by default on mobile', () => {
cy.viewport('iphone-8')
cy.get('.namespace-container')
.should('not.have.class', 'is-active')
})
it('Is can be shown on mobile', () => {
cy.viewport('iphone-8')
cy.get('button.menu-show-button:visible')
.click()
cy.get('.namespace-container')
.should('have.class', 'is-active')
})
})
-25
View File
@@ -1,25 +0,0 @@
import {LinkShareFactory} from '../../factories/link_sharing'
import {ListFactory} from '../../factories/list'
import {TaskFactory} from '../../factories/task'
describe('Link shares', () => {
it('Can view a link share', () => {
const lists = ListFactory.create(1)
const tasks = TaskFactory.create(10, {
list_id: lists[0].id
})
const linkShares = LinkShareFactory.create(1, {
list_id: lists[0].id,
right: 0,
})
cy.visit(`/share/${linkShares[0].hash}/auth`)
cy.get('h1.title')
.should('contain', lists[0].title)
cy.get('input.input[placeholder="Add a new task..."')
.should('not.exist')
cy.get('.tasks')
.should('contain', tasks[0].title)
})
})
-131
View File
@@ -1,131 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {TeamFactory} from '../../factories/team'
import {TeamMemberFactory} from '../../factories/team_member'
import {UserFactory} from '../../factories/user'
describe('Team', () => {
createFakeUserAndLogin()
it('Creates a new team', () => {
TeamFactory.truncate()
cy.visit('/teams')
const newTeamName = 'New Team'
cy.get('a.button')
.contains('Create a new team')
.click()
cy.url()
.should('contain', '/teams/new')
cy.get('.card-header-title')
.contains('Create a new team')
cy.get('input.input')
.type(newTeamName)
cy.get('.button')
.contains('Create')
.click()
cy.url()
.should('contain', '/edit')
cy.get('input#teamtext')
.should('have.value', newTeamName)
})
it('Shows all teams', () => {
TeamMemberFactory.create(10, {
team_id: '{increment}',
})
const teams = TeamFactory.create(10, {
id: '{increment}',
})
cy.visit('/teams')
cy.get('.teams.box')
.should('not.be.empty')
teams.forEach(t => {
cy.get('.teams.box')
.should('contain', t.name)
})
})
it('Allows an admin to edit the team', () => {
TeamMemberFactory.create(1, {
team_id: 1,
admin: true,
})
const teams = TeamFactory.create(1, {
id: 1,
})
cy.visit('/teams/1/edit')
cy.get('.card input.input')
.first()
.type('{selectall}New Team Name')
cy.get('.card .button')
.contains('Save')
.click()
cy.get('table.table td')
.contains('Admin')
.should('exist')
cy.get('.global-notification')
.should('contain', 'Success')
})
it('Does not allow a normal user to edit the team', () => {
TeamMemberFactory.create(1, {
team_id: 1,
admin: false,
})
const teams = TeamFactory.create(1, {
id: 1,
})
cy.visit('/teams/1/edit')
cy.get('.card input.input')
.should('not.exist')
cy.get('table.table td')
.contains('Member')
.should('exist')
})
it('Allows an admin to add members to the team', () => {
TeamMemberFactory.create(1, {
team_id: 1,
admin: true,
})
TeamFactory.create(1, {
id: 1,
})
const users = UserFactory.create(5)
cy.visit('/teams/1/edit')
cy.get('.card')
.contains('Team Members')
.get('.card-content .multiselect .input-wrapper input')
.type(users[1].username)
cy.get('.card')
.contains('Team Members')
.get('.card-content .multiselect .search-results')
.children()
.first()
.click()
cy.get('.card')
.contains('Team Members')
.get('.card-content .button')
.contains('Add to team')
.click()
cy.get('table.table td')
.contains('Admin')
.should('exist')
cy.get('table.table tr')
.should('contain', users[1].username)
.should('contain', 'Member')
cy.get('.global-notification')
.should('contain', 'Success')
})
})
-153
View File
@@ -1,153 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {ListFactory} from '../../factories/list'
import {seed} from '../../support/seed'
import {TaskFactory} from '../../factories/task'
import {NamespaceFactory} from '../../factories/namespace'
import {BucketFactory} from '../../factories/bucket'
import {updateUserSettings} from '../../support/updateUserSettings'
function seedTasks(numberOfTasks = 50, startDueDate = new Date()) {
NamespaceFactory.create(1)
const list = ListFactory.create()[0]
BucketFactory.create(1, {
list_id: list.id,
})
const tasks = []
let dueDate = startDueDate
for (let i = 0; i < numberOfTasks; i++) {
const now = new Date()
dueDate = new Date(new Date(dueDate).setDate(dueDate.getDate() + 2))
tasks.push({
id: i + 1,
list_id: list.id,
done: false,
created_by_id: 1,
title: 'Test Task ' + i,
index: i + 1,
due_date: dueDate.toISOString(),
created: now.toISOString(),
updated: now.toISOString(),
})
}
seed(TaskFactory.table, tasks)
return {tasks, list}
}
describe('Home Page Task Overview', () => {
createFakeUserAndLogin()
it('Should show tasks with a near due date first on the home page overview', () => {
const taskCount = 50
const {tasks} = seedTasks(taskCount)
cy.visit('/')
cy.get('[data-cy="showTasks"] .card .task')
.each(([task], index) => {
expect(task.innerText).to.contain(tasks[index].title)
})
})
it('Should show overdue tasks first, then show other tasks', () => {
const now = new Date()
const oldDate = new Date(new Date(now).setDate(now.getDate() - 14))
const taskCount = 50
const {tasks} = seedTasks(taskCount, oldDate)
cy.visit('/')
cy.get('[data-cy="showTasks"] .card .task')
.each(([task], index) => {
expect(task.innerText).to.contain(tasks[index].title)
})
})
it('Should show a new task with a very soon due date at the top', () => {
const {tasks} = seedTasks()
const newTaskTitle = 'New Task'
cy.visit('/')
TaskFactory.create(1, {
id: 999,
title: newTaskTitle,
due_date: new Date().toISOString(),
}, false)
cy.visit(`/lists/${tasks[0].list_id}/list`)
cy.get('.tasks .task')
.first()
.should('contain.text', newTaskTitle)
cy.visit('/')
cy.get('[data-cy="showTasks"] .card .task')
.first()
.should('contain.text', newTaskTitle)
})
it('Should not show a new task without a date at the bottom when there are > 50 tasks', () => {
// We're not using the api here to create the task in order to verify the flow
const {tasks} = seedTasks(100)
const newTaskTitle = 'New Task'
cy.visit('/')
cy.visit(`/lists/${tasks[0].list_id}/list`)
cy.get('.task-add textarea')
.type(newTaskTitle+'{enter}')
cy.visit('/')
cy.get('[data-cy="showTasks"] .card .task')
.last()
.should('not.contain.text', newTaskTitle)
})
it('Should show a new task without a date at the bottom when there are < 50 tasks', () => {
seedTasks(40)
const newTaskTitle = 'New Task'
TaskFactory.create(1, {
id: 999,
title: newTaskTitle,
}, false)
cy.visit('/')
cy.get('[data-cy="showTasks"] .card .task')
.last()
.should('contain.text', newTaskTitle)
})
it('Should show a task without a due date added via default list at the bottom', () => {
const {list} = seedTasks(40)
updateUserSettings({
default_list_id: list.id,
overdue_tasks_reminders_time: '9:00',
})
const newTaskTitle = 'New Task'
cy.visit('/')
cy.get('.add-task-textarea')
.type(`${newTaskTitle}{enter}`)
cy.get('[data-cy="showTasks"] .card .task')
.last()
.should('contain.text', newTaskTitle)
})
it('Should show the cta buttons for new list when there are no tasks', () => {
TaskFactory.truncate()
cy.visit('/')
cy.get('.home.app-content .content')
.should('contain.text', 'You can create a new list for your new tasks:')
.should('contain.text', 'Or import your lists and tasks from other services into Vikunja:')
})
it('Should not show the cta buttons for new list when there are tasks', () => {
seedTasks()
cy.visit('/')
cy.get('.home.app-content .content')
.should('not.contain.text', 'You can create a new list for your new tasks:')
.should('not.contain.text', 'Or import your lists and tasks from other services into Vikunja:')
})
})
-581
View File
@@ -1,581 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {TaskFactory} from '../../factories/task'
import {ListFactory} from '../../factories/list'
import {TaskCommentFactory} from '../../factories/task_comment'
import {UserFactory} from '../../factories/user'
import {NamespaceFactory} from '../../factories/namespace'
import {UserListFactory} from '../../factories/users_list'
import {TaskAssigneeFactory} from '../../factories/task_assignee'
import {LabelFactory} from '../../factories/labels'
import {LabelTaskFactory} from '../../factories/label_task'
import {BucketFactory} from '../../factories/bucket'
import {TaskAttachmentFactory} from '../../factories/task_attachments'
function addLabelToTaskAndVerify(labelTitle: string) {
cy.get('.task-view .action-buttons .button')
.contains('Add Labels')
.click()
cy.get('.task-view .details.labels-list .multiselect input')
.type(labelTitle)
cy.get('.task-view .details.labels-list .multiselect .search-results')
.children()
.first()
.click()
cy.get('.global-notification', { timeout: 4000 })
.should('contain', 'Success')
cy.get('.task-view .details.labels-list .multiselect .input-wrapper span.tag')
.should('exist')
.should('contain', labelTitle)
}
function uploadAttachmentAndVerify(taskId: number) {
cy.intercept(`${Cypress.env('API_URL')}/tasks/${taskId}/attachments`).as('uploadAttachment')
cy.get('.task-view .action-buttons .button')
.contains('Add Attachments')
.click()
cy.get('input[type=file]', {timeout: 1000})
.selectFile('cypress/fixtures/image.jpg', {force: true}) // The input is not visible, but on purpose
cy.wait('@uploadAttachment')
cy.get('.attachments .attachments .files a.attachment')
.should('exist')
}
describe('Task', () => {
createFakeUserAndLogin()
let namespaces
let lists
let buckets
beforeEach(() => {
// UserFactory.create(1)
namespaces = NamespaceFactory.create(1)
lists = ListFactory.create(1)
buckets = BucketFactory.create(1, {
list_id: lists[0].id,
})
TaskFactory.truncate()
UserListFactory.truncate()
})
it('Should be created new', () => {
cy.visit('/lists/1/list')
cy.get('.input[placeholder="Add a new task…"')
.type('New Task')
cy.get('.button')
.contains('Add')
.click()
cy.get('.tasks .task .tasktext')
.first()
.should('contain', 'New Task')
})
it('Inserts new tasks at the top of the list', () => {
TaskFactory.create(1)
cy.visit('/lists/1/list')
cy.get('.list-is-empty-notice')
.should('not.exist')
cy.get('.input[placeholder="Add a new task…"')
.type('New Task')
cy.get('.button')
.contains('Add')
.click()
cy.wait(1000) // Wait for the request
cy.get('.tasks .task .tasktext')
.first()
.should('contain', 'New Task')
})
it('Marks a task as done', () => {
TaskFactory.create(1)
cy.visit('/lists/1/list')
cy.get('.tasks .task .fancycheckbox label.check')
.first()
.click()
cy.get('.global-notification')
.should('contain', 'Success')
})
it('Can add a task to favorites', () => {
TaskFactory.create(1)
cy.visit('/lists/1/list')
cy.get('.tasks .task .favorite')
.first()
.click()
cy.get('.menu.namespaces-lists')
.should('contain', 'Favorites')
})
describe('Task Detail View', () => {
beforeEach(() => {
TaskCommentFactory.truncate()
LabelTaskFactory.truncate()
})
it('Shows all task details', () => {
const tasks = TaskFactory.create(1, {
id: 1,
index: 1,
description: 'Lorem ipsum dolor sit amet.'
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view h1.title.input')
.should('contain', tasks[0].title)
cy.get('.task-view h1.title.task-id')
.should('contain', '#1')
cy.get('.task-view h6.subtitle')
.should('contain', namespaces[0].title)
.should('contain', lists[0].title)
cy.get('.task-view .details.content.description')
.should('contain', tasks[0].description)
cy.get('.task-view .action-buttons p.created')
.should('contain', 'Created')
})
it('Shows a done label for done tasks', () => {
const tasks = TaskFactory.create(1, {
id: 1,
index: 1,
done: true,
done_at: new Date().toISOString()
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .heading .is-done')
.should('be.visible')
.should('contain', 'Done')
cy.get('.task-view .action-buttons p.created')
.scrollIntoView()
.should('be.visible')
.should('contain', 'Done')
})
it('Can mark a task as done', () => {
const tasks = TaskFactory.create(1, {
id: 1,
done: false,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .action-buttons .button')
.contains('Mark task done!')
.click()
cy.get('.task-view .heading .is-done')
.should('exist')
.should('contain', 'Done')
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.task-view .action-buttons .button')
.should('contain', 'Mark as undone')
})
it('Shows a task identifier since the list has one', () => {
const lists = ListFactory.create(1, {
id: 1,
identifier: 'TEST',
})
const tasks = TaskFactory.create(1, {
id: 1,
list_id: lists[0].id,
index: 1,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view h1.title.task-id')
.should('contain', `${lists[0].identifier}-${tasks[0].index}`)
})
it('Can edit the description', () => {
const tasks = TaskFactory.create(1, {
id: 1,
description: 'Lorem ipsum dolor sit amet.'
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .details.content.description .editor button')
.click()
cy.get('.task-view .details.content.description .editor .vue-easymde .EasyMDEContainer .CodeMirror-scroll')
.type('{selectall}New Description')
cy.get('[data-cy="saveEditor"]')
.contains('Save')
.click()
cy.get('.task-view .details.content.description h3 span.is-small.has-text-success')
.contains('Saved!')
.should('exist')
})
it('Can add a new comment', () => {
const tasks = TaskFactory.create(1, {
id: 1,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .comments .media.comment .editor .vue-easymde .EasyMDEContainer .CodeMirror-scroll')
.should('be.visible')
.type('{selectall}New Comment')
cy.get('.task-view .comments .media.comment .button:not([disabled])')
.contains('Comment')
.should('be.visible')
.click()
cy.get('.task-view .comments .media.comment .editor')
.should('contain', 'New Comment')
cy.get('.global-notification')
.should('contain', 'Success')
})
it('Can move a task to another list', () => {
const lists = ListFactory.create(2)
BucketFactory.create(2, {
list_id: '{increment}'
})
const tasks = TaskFactory.create(1, {
id: 1,
list_id: lists[0].id,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .action-buttons .button')
.contains('Move')
.click()
cy.get('.task-view .content.details .field .multiselect.control .input-wrapper input')
.type(`${lists[1].title}{enter}`)
// The requests happen with a 200ms timeout. Because of that, the results are not yet there when cypress
// presses enter and we can't simulate pressing on enter to select the item.
cy.get('.task-view .content.details .field .multiselect.control .search-results')
.children()
.first()
.click()
cy.get('.task-view h6.subtitle')
.should('contain', namespaces[0].title)
.should('contain', lists[1].title)
cy.get('.global-notification')
.should('contain', 'Success')
})
it('Can delete a task', () => {
const tasks = TaskFactory.create(1, {
id: 1,
list_id: 1,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .action-buttons .button')
.should('be.visible')
.contains('Delete')
.click()
cy.get('.modal-mask .modal-container .modal-content .header')
.should('contain', 'Delete this task')
cy.get('.modal-mask .modal-container .modal-content .actions .button')
.contains('Do it!')
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.url()
.should('contain', `/lists/${tasks[0].list_id}/`)
})
it('Can add an assignee to a task', () => {
const users = UserFactory.create(5)
const tasks = TaskFactory.create(1, {
id: 1,
list_id: 1,
})
UserListFactory.create(5, {
list_id: 1,
user_id: '{increment}',
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('[data-cy="taskDetail.assign"]')
.click()
cy.get('.task-view .column.assignees .multiselect input')
.type(users[1].username)
cy.get('.task-view .column.assignees .multiselect .search-results')
.children()
.first()
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.task-view .column.assignees .multiselect .input-wrapper span.assignee')
.should('exist')
})
it('Can remove an assignee from a task', () => {
const users = UserFactory.create(2)
const tasks = TaskFactory.create(1, {
id: 1,
list_id: 1,
})
UserListFactory.create(5, {
list_id: 1,
user_id: '{increment}',
})
TaskAssigneeFactory.create(1, {
task_id: tasks[0].id,
user_id: users[1].id,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .column.assignees .multiselect .input-wrapper span.assignee')
.get('.remove-assignee')
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.task-view .column.assignees .multiselect .input-wrapper span.assignee')
.should('not.exist')
})
it('Can add a new label to a task', () => {
const tasks = TaskFactory.create(1, {
id: 1,
list_id: 1,
})
LabelFactory.truncate()
const newLabelText = 'some new label'
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .action-buttons .button')
.contains('Add Labels')
.should('be.visible')
.click()
cy.get('.task-view .details.labels-list .multiselect input')
.type(newLabelText)
cy.get('.task-view .details.labels-list .multiselect .search-results')
.children()
.first()
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.task-view .details.labels-list .multiselect .input-wrapper span.tag')
.should('exist')
.should('contain', newLabelText)
})
it('Can add an existing label to a task', () => {
const tasks = TaskFactory.create(1, {
id: 1,
list_id: 1,
})
const labels = LabelFactory.create(1)
LabelTaskFactory.truncate()
cy.visit(`/tasks/${tasks[0].id}`)
addLabelToTaskAndVerify(labels[0].title)
})
it('Can add a label to a task and it shows up on the kanban board afterwards', () => {
const tasks = TaskFactory.create(1, {
id: 1,
list_id: lists[0].id,
bucket_id: buckets[0].id,
})
const labels = LabelFactory.create(1)
LabelTaskFactory.truncate()
cy.visit(`/lists/${lists[0].id}/kanban`)
cy.get('.bucket .task')
.contains(tasks[0].title)
.click()
addLabelToTaskAndVerify(labels[0].title)
cy.get('.modal-content .close')
.click()
cy.get('.bucket .task')
.should('contain.text', labels[0].title)
})
it('Can remove a label from a task', () => {
const tasks = TaskFactory.create(1, {
id: 1,
list_id: 1,
})
const labels = LabelFactory.create(1)
LabelTaskFactory.create(1, {
task_id: tasks[0].id,
label_id: labels[0].id,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .details.labels-list .multiselect .input-wrapper')
.should('be.visible')
.should('contain', labels[0].title)
cy.get('.task-view .details.labels-list .multiselect .input-wrapper')
.children()
.first()
.get('[data-cy="taskDetail.removeLabel"]')
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.task-view .details.labels-list .multiselect .input-wrapper')
.should('not.contain', labels[0].title)
})
it('Can set a due date for a task', () => {
const tasks = TaskFactory.create(1, {
id: 1,
done: false,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .action-buttons .button')
.contains('Set Due Date')
.click()
cy.get('.task-view .columns.details .column')
.contains('Due Date')
.get('.date-input .datepicker .show')
.click()
cy.get('.datepicker .datepicker-popup button')
.contains('Tomorrow')
.click()
cy.get('[data-cy="closeDatepicker"]')
.contains('Confirm')
.click()
cy.get('.task-view .columns.details .column')
.contains('Due Date')
.get('.date-input .datepicker-popup')
.should('not.exist')
cy.get('.global-notification')
.should('contain', 'Success')
})
it('Can set a priority for a task', () => {
const tasks = TaskFactory.create(1, {
id: 1,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .action-buttons .button')
.contains('Set Priority')
.click()
cy.get('.task-view .columns.details .column')
.contains('Priority')
.get('.select select')
.select('Urgent')
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.task-view .columns.details .column')
.contains('Priority')
.get('.select select')
.should('have.value', '4')
})
it('Can set the progress for a task', () => {
const tasks = TaskFactory.create(1, {
id: 1,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .action-buttons .button')
.contains('Set Progress')
.click()
cy.get('.task-view .columns.details .column')
.contains('Progress')
.get('.select select')
.select('50%')
cy.get('.global-notification')
.should('contain', 'Success')
cy.wait(200)
cy.get('.task-view .columns.details .column')
.contains('Progress')
.get('.select select')
.should('be.visible')
.should('have.value', '0.5')
})
it('Can add an attachment to a task', () => {
TaskAttachmentFactory.truncate()
const tasks = TaskFactory.create(1, {
id: 1,
})
cy.visit(`/tasks/${tasks[0].id}`)
uploadAttachmentAndVerify(tasks[0].id)
})
it('Can add an attachment to a task and see it appearing on kanban', () => {
TaskAttachmentFactory.truncate()
const tasks = TaskFactory.create(1, {
id: 1,
list_id: lists[0].id,
bucket_id: buckets[0].id,
})
const labels = LabelFactory.create(1)
LabelTaskFactory.truncate()
cy.visit(`/lists/${lists[0].id}/kanban`)
cy.get('.bucket .task')
.contains(tasks[0].title)
.click()
uploadAttachmentAndVerify(tasks[0].id)
cy.get('.modal-content .close')
.click()
cy.get('.bucket .task .footer .icon svg.fa-paperclip')
.should('exist')
})
it('Can check items off a checklist', () => {
const tasks = TaskFactory.create(1, {
id: 1,
description: `
This is a checklist:
* [ ] one item
* [ ] another item
* [ ] third item
* [ ] fourth item
* [x] and this one is already done
`,
})
cy.visit(`/tasks/${tasks[0].id}`)
cy.get('.task-view .checklist-summary')
.should('contain.text', '1 of 5 tasks')
cy.get('.editor .content ul > li input[type=checkbox]')
.eq(2)
.click()
cy.get('.editor .content ul > li input[type=checkbox]')
.eq(2)
.should('be.checked')
cy.get('.editor .content input[type=checkbox]')
.should('have.length', 5)
cy.get('.task-view .checklist-summary')
.should('contain.text', '2 of 5 tasks')
})
})
})
-11
View File
@@ -1,11 +0,0 @@
{
"extends": "@vue/tsconfig/tsconfig.web.json",
"include": ["./**/*", "../support/**/*", "../factories/**/*"],
"compilerOptions": {
"baseUrl": ".",
"isolatedModules": false,
"target": "ES2015",
"lib": ["ESNext", "dom"],
"types": ["cypress"]
}
}
-58
View File
@@ -1,58 +0,0 @@
import {UserFactory} from '../../factories/user'
const testAndAssertFailed = fixture => {
cy.visit('/login')
cy.get('input[id=username]').type(fixture.username)
cy.get('input[id=password]').type(fixture.password)
cy.get('.button').contains('Login').click()
cy.wait(5000) // It can take waaaayy too long to log the user in
cy.url().should('include', '/')
cy.get('div.message.danger').contains('Wrong username or password.')
}
const username = 'test'
context('Login', () => {
beforeEach(() => {
UserFactory.create(1, {username})
})
it('Should log in with the right credentials', () => {
const fixture = {
username: 'test',
password: '1234',
}
cy.visit('/login')
cy.get('input[id=username]').type(fixture.username)
cy.get('input[id=password]').type(fixture.password)
cy.get('.button').contains('Login').click()
cy.url().should('include', '/')
cy.clock(1625656161057) // 13:00
cy.get('h2').should('contain', `Hi ${fixture.username}!`)
})
it('Should fail with a bad password', () => {
const fixture = {
username: 'test',
password: '123456',
}
testAndAssertFailed(fixture)
})
it('Should fail with a bad username', () => {
const fixture = {
username: 'loremipsum',
password: '1234',
}
testAndAssertFailed(fixture)
})
it('Should redirect to /login when no user is logged in', () => {
cy.visit('/')
cy.url().should('include', '/login')
})
})
-46
View File
@@ -1,46 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
import {createLists} from '../list/prepareLists'
function logout() {
cy.get('.navbar .username-dropdown-trigger')
.click()
cy.get('.navbar .dropdown-item')
.contains('Logout')
.click()
}
describe('Log out', () => {
createFakeUserAndLogin()
it('Logs the user out', () => {
cy.visit('/')
expect(localStorage.getItem('token')).to.not.eq(null)
logout()
cy.url()
.should('contain', '/login')
.then(() => {
expect(localStorage.getItem('token')).to.eq(null)
})
})
it.skip('Should clear the list history after logging the user out', () => {
const lists = createLists()
cy.visit(`/lists/${lists[0].id}`)
.then(() => {
expect(localStorage.getItem('listHistory')).to.not.eq(null)
})
logout()
cy.wait(1000) // This makes re-loading of the list and associated entities (and the resulting error) visible
cy.url()
.should('contain', '/login')
.then(() => {
expect(localStorage.getItem('listHistory')).to.eq(null)
})
})
})
-48
View File
@@ -1,48 +0,0 @@
// This test assumes no mailer is set up and all users are activated immediately.
import {UserFactory} from '../../factories/user'
context('Registration', () => {
beforeEach(() => {
UserFactory.create(1, {
username: 'test',
})
cy.visit('/', {
onBeforeLoad(win) {
win.localStorage.removeItem('token')
},
})
})
it('Should work without issues', () => {
const fixture = {
username: 'testuser',
password: '123456',
email: 'testuser@example.com',
}
cy.visit('/register')
cy.get('#username').type(fixture.username)
cy.get('#email').type(fixture.email)
cy.get('#password').type(fixture.password)
cy.get('#register-submit').click()
cy.url().should('include', '/')
cy.clock(1625656161057) // 13:00
cy.get('h2').should('contain', `Hi ${fixture.username}!`)
})
it.only('Should fail', () => {
const fixture = {
username: 'test',
password: '123456',
email: 'testuser@example.com',
}
cy.visit('/register')
cy.get('#username').type(fixture.username)
cy.get('#email').type(fixture.email)
cy.get('#password').type(fixture.password)
cy.get('#register-submit').click()
cy.get('div.message.danger').contains('A user with this username already exists.')
})
})
-43
View File
@@ -1,43 +0,0 @@
import {createFakeUserAndLogin} from '../../support/authenticateUser'
describe('User Settings', () => {
createFakeUserAndLogin()
it('Changes the user avatar', () => {
cy.intercept(`${Cypress.env('API_URL')}/user/settings/avatar/upload`).as('uploadAvatar')
cy.visit('/user/settings/avatar')
cy.get('input[name=avatarProvider][value=upload]')
.click()
cy.get('input[type=file]', {timeout: 1000})
.selectFile('cypress/fixtures/image.jpg', {force: true}) // The input is not visible, but on purpose
cy.get('.vue-handler-wrapper.vue-handler-wrapper--south .vue-simple-handler.vue-simple-handler--south')
.trigger('mousedown', {which: 1})
.trigger('mousemove', {clientY: 100})
.trigger('mouseup')
cy.get('[data-cy="uploadAvatar"]')
.contains('Upload Avatar')
.click()
cy.wait('@uploadAvatar')
cy.get('.global-notification')
.should('contain', 'Success')
})
it('Updates the name', () => {
cy.visit('/user/settings/general')
cy.get('.general-settings .control input.input')
.first()
.type('Lorem Ipsum')
cy.get('[data-cy="saveGeneralSettings"]')
.contains('Save')
.click()
cy.get('.global-notification')
.should('contain', 'Success')
cy.get('.navbar .username-dropdown-trigger .username')
.should('contain', 'Lorem Ipsum')
})
})
-19
View File
@@ -1,19 +0,0 @@
import {faker} from '@faker-js/faker'
import {Factory} from '../support/factory'
export class BucketFactory extends Factory {
static table = 'buckets'
static factory() {
const now = new Date()
return {
id: '{increment}',
title: faker.lorem.words(3),
list_id: 1,
created_by_id: 1,
created: now.toISOString(),
updated: now.toISOString(),
}
}
}
-16
View File
@@ -1,16 +0,0 @@
import {Factory} from '../support/factory'
export class LabelTaskFactory extends Factory {
static table = 'label_tasks'
static factory() {
const now = new Date()
return {
id: '{increment}',
task_id: 1,
label_id: 1,
created: now.toISOString(),
}
}
}
-21
View File
@@ -1,21 +0,0 @@
import {faker} from '@faker-js/faker'
import {Factory} from '../support/factory'
export class LabelFactory extends Factory {
static table = 'labels'
static factory() {
const now = new Date()
return {
id: '{increment}',
title: faker.lorem.words(2),
description: faker.lorem.text(10),
hex_color: (Math.random()*0xFFFFFF<<0).toString(16), // random 6-digit hex number
created_by_id: 1,
created: now.toISOString(),
updated: now.toISOString(),
}
}
}
-21
View File
@@ -1,21 +0,0 @@
import {Factory} from '../support/factory'
import {faker} from '@faker-js/faker'
export class LinkShareFactory extends Factory {
static table = 'link_shares'
static factory() {
const now = new Date()
return {
id: '{increment}',
hash: faker.random.word(32),
list_id: 1,
right: 0,
sharing_type: 0,
shared_by_id: 1,
created: now.toISOString(),
updated: now.toISOString(),
}
}
}
-19
View File
@@ -1,19 +0,0 @@
import {Factory} from '../support/factory'
import {faker} from '@faker-js/faker'
export class ListFactory extends Factory {
static table = 'lists'
static factory() {
const now = new Date()
return {
id: '{increment}',
title: faker.lorem.words(3),
owner_id: 1,
namespace_id: 1,
created: now.toISOString(),
updated: now.toISOString(),
}
}
}
-18
View File
@@ -1,18 +0,0 @@
import {faker} from '@faker-js/faker'
import {Factory} from '../support/factory'
export class NamespaceFactory extends Factory {
static table = 'namespaces'
static factory() {
const now = new Date()
return {
id: '{increment}',
title: faker.lorem.words(3),
owner_id: 1,
created: now.toISOString(),
updated: now.toISOString(),
}
}
}
-22
View File
@@ -1,22 +0,0 @@
import {faker} from '@faker-js/faker'
import {Factory} from '../support/factory'
export class TaskFactory extends Factory {
static table = 'tasks'
static factory() {
const now = new Date()
return {
id: '{increment}',
title: faker.lorem.words(3),
done: false,
list_id: 1,
created_by_id: 1,
index: '{increment}',
position: '{increment}',
created: now.toISOString(),
updated: now.toISOString()
}
}
}
-16
View File
@@ -1,16 +0,0 @@
import {Factory} from '../support/factory'
export class TaskAssigneeFactory extends Factory {
static table = 'task_assignees'
static factory() {
const now = new Date()
return {
id: '{increment}',
task_id: 1,
user_id: 1,
created: now.toISOString(),
}
}
}
-16
View File
@@ -1,16 +0,0 @@
import {Factory} from '../support/factory'
export class TaskAttachmentFactory extends Factory {
static table = 'task_attachments'
static factory() {
const now = new Date()
return {
id: '{increment}',
task_id: 1,
file_id: 1,
created: now.toISOString(),
}
}
}
-20
View File
@@ -1,20 +0,0 @@
import {faker} from '@faker-js/faker'
import {Factory} from '../support/factory'
export class TaskCommentFactory extends Factory {
static table = 'task_comments'
static factory() {
const now = new Date()
return {
id: '{increment}',
comment: faker.lorem.text(3),
author_id: 1,
task_id: 1,
created: now.toISOString(),
updated: now.toISOString()
}
}
}
-17
View File
@@ -1,17 +0,0 @@
import {faker} from '@faker-js/faker'
import {Factory} from '../support/factory'
export class TeamFactory extends Factory {
static table = 'teams'
static factory() {
const now = new Date()
return {
name: faker.lorem.words(3),
created_by_id: 1,
created: now.toISOString(),
updated: now.toISOString(),
}
}
}
-14
View File
@@ -1,14 +0,0 @@
import {Factory} from '../support/factory'
export class TeamMemberFactory extends Factory {
static table = 'team_members'
static factory() {
return {
team_id: 1,
user_id: 1,
admin: false,
created: new Date().toISOString(),
}
}
}
-21
View File
@@ -1,21 +0,0 @@
import {faker} from '@faker-js/faker'
import {Factory} from '../support/factory'
export class UserFactory extends Factory {
static table = 'users'
static factory() {
const now = new Date()
return {
id: '{increment}',
username: faker.lorem.word(10) + faker.datatype.uuid(),
password: '$2a$14$dcadBoMBL9jQoOcZK8Fju.cy0Ptx2oZECkKLnaa8ekRoTFe1w7To.', // 1234
status: 0,
issuer: 'local',
created: now.toISOString(),
updated: now.toISOString(),
}
}
}
-18
View File
@@ -1,18 +0,0 @@
import {Factory} from '../support/factory'
export class UserListFactory extends Factory {
static table = 'users_lists'
static factory() {
const now = new Date()
return {
id: '{increment}',
list_id: 1,
user_id: 1,
right: 0,
created: now.toISOString(),
updated: now.toISOString(),
}
}
}
Binary file not shown.

Before

Width:  |  Height:  |  Size: 872 KiB

-35
View File
@@ -1,35 +0,0 @@
// This authenticates a user and puts the token in local storage which allows us to perform authenticated requests.
// Built after https://github.com/cypress-io/cypress-example-recipes/tree/bd2d6ffb33214884cab343d38e7f9e6ebffb323f/examples/logging-in__jwt
import {UserFactory} from '../factories/user'
export function login(user, cacheAcrossSpecs = false) {
if (!user) {
throw new Error('Needs user')
}
// Caching session when logging in via page visit
cy.session(`user__${user.username}`, () => {
cy.request('POST', `${Cypress.env('API_URL')}/login`, {
username: user.username,
password: '1234',
}).then(({ body }) => {
window.localStorage.setItem('token', body.token)
})
}, {
cacheAcrossSpecs,
})
}
export function createFakeUserAndLogin() {
let user
before(() => {
user = UserFactory.create(1)[0]
})
beforeEach(() => {
login(user, true)
})
return user
}
-37
View File
@@ -1,37 +0,0 @@
/// <reference types="cypress" />
// ***********************************************
// This example commands.ts shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add('login', (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This will overwrite an existing command --
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
//
// declare global {
// namespace Cypress {
// interface Chainable {
// login(email: string, password: string): Chainable<void>
// drag(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
// dismiss(subject: string, options?: Partial<TypeOptions>): Chainable<Element>
// visit(originalFn: CommandOriginalFn, url: string, options: Partial<VisitOptions>): Chainable<Element>
// }
// }
// }
-12
View File
@@ -1,12 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>Components App</title>
</head>
<body>
<div data-cy-root></div>
</body>
</html>
-29
View File
@@ -1,29 +0,0 @@
// ***********************************************************
// This example support/component.ts is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
// Alternatively you can use CommonJS syntax:
// require('./commands')
import { mount } from 'cypress/vue'
// Ensure global styles are loaded
import '../../src/styles/global.scss';
Cypress.Commands.add('mount', mount)
// Example use:
// cy.mount(MyComponent)
-10
View File
@@ -1,10 +0,0 @@
import './commands'
import '@4tw/cypress-drag-drop'
// see https://github.com/cypress-io/cypress/issues/702#issuecomment-587127275
Cypress.on('window:before:load', (win) => {
// disable service workers
// @ts-ignore
delete win.navigator.__proto__.ServiceWorker
})
-52
View File
@@ -1,52 +0,0 @@
import {seed} from './seed'
/**
* A factory makes it easy to seed the database with data.
*/
export class Factory {
static table = null
static factory() {
return {}
}
/**
* Seeds a bunch of fake data into the database.
*
* Takes an override object as its single argument which will override the data from the factory.
* If the value of one of the override fields is `{increment}` that value will be replaced with an incrementing
* number through all created entities.
*
* @param override
* @returns {[]}
*/
static create(count = 1, override = {}, truncate = true) {
const data = []
for (let i = 1; i <= count; i++) {
const entry = {
...this.factory(),
...override,
}
for (const e in entry) {
if(typeof entry[e] === 'function') {
entry[e] = entry[e](i)
continue
}
if (entry[e] === '{increment}') {
entry[e] = i
}
}
data.push(entry)
}
seed(this.table, data, truncate)
return data
}
static truncate() {
seed(this.table, null)
}
}
-24
View File
@@ -1,24 +0,0 @@
/**
* Seeds a db table with data. If a data object is provided as the second argument, it will load the fixtures
* file for the table and merge the data from it with the passed data. This allows you to override specific
* fields of the fixtures without having to redeclare the whole fixture.
*
* Passing null as the second argument empties the table.
*
* @param table
* @param data
*/
export function seed(table, data = {}, truncate = true) {
if (data === null) {
data = []
}
cy.request({
method: 'PATCH',
url: `${Cypress.env('API_URL')}/test/${table}?truncate=${truncate ? 'true' : 'false'}`,
headers: {
'Authorization': Cypress.env('TEST_SECRET'),
},
body: data,
})
}
-26
View File
@@ -1,26 +0,0 @@
export function updateUserSettings(settings) {
const token = `Bearer ${window.localStorage.getItem('token')}`
return cy.request({
method: 'GET',
url: `${Cypress.env('API_URL')}/user`,
headers: {
'Authorization': token,
},
})
.its('body')
.then(oldSettings => {
return cy.request({
method: 'POST',
url: `${Cypress.env('API_URL')}/user/settings/general`,
headers: {
'Authorization': token,
},
body: {
...oldSettings,
...settings,
},
})
})
}
+14
View File
@@ -0,0 +1,14 @@
#!/usr/bin/env sh
set -e
if [ -n "$PUID" ] && [ "$PUID" -ne 0 ] && \
[ -n "$PGID" ] && [ "$PGID" -ne 0 ] ; then
echo "info: creating the new user vikunja with $PUID:$PGID"
groupmod -g "$PGID" -o vikunja
usermod -u "$PUID" -o vikunja
chown -R vikunja:vikunja ./
exec su vikunja -c /app/vikunja/vikunja "$@"
else
echo "info: creation of non-root user is skipped"
exec /app/vikunja/vikunja "$@"
fi
-15
View File
@@ -1,15 +0,0 @@
#!/usr/bin/env sh
set -e
echo "info: API URL is $VIKUNJA_API_URL"
echo "info: Sentry enabled: $VIKUNJA_SENTRY_ENABLED"
# Escape the variable to prevent sed from complaining
VIKUNJA_API_URL="$(echo "$VIKUNJA_API_URL" | sed -r 's/([:;])/\\\1/g')"
VIKUNJA_SENTRY_DSN="$(echo "$VIKUNJA_SENTRY_DSN" | sed -r 's/([:;])/\\\1/g')"
sed -ri "s:^(\s*window.API_URL\s*=)\s*.+:\1 '${VIKUNJA_API_URL}':g" /usr/share/nginx/html/index.html
sed -ri "s:^(\s*window.SENTRY_ENABLED\s*=)\s*.+:\1 ${VIKUNJA_SENTRY_ENABLED}:g" /usr/share/nginx/html/index.html
sed -ri "s:^(\s*window.SENTRY_DSN\s*=)\s*.+:\1 '${VIKUNJA_SENTRY_DSN}':g" /usr/share/nginx/html/index.html
date -uIseconds | xargs echo 'info: started at'
-19
View File
@@ -1,19 +0,0 @@
#!/usr/bin/env sh
set -e
if [ ! -f "/proc/net/if_inet6" ]; then
echo "info: IPv6 is not available! Removing IPv6 listen configuration"
find /etc/nginx/conf.d -name '*.conf' -type f | \
while IFS= read -r CONFIG; do
sed -r '/^\s*listen\s*\[::\]:.+$/d' "$CONFIG" > "$CONFIG.temp"
if ! diff -U 5 "$CONFIG" "$CONFIG.temp" > "$CONFIG.diff"; then
echo "info: Removing IPv6 lines from $CONFIG" | \
cat - "$CONFIG.diff"
echo "# IPv6 is disabled because /proc/net/if_inet6 was not found" | \
cat - "$CONFIG.temp" > "$CONFIG"
else
echo "info: Skipping $CONFIG because it does not have IPv6 listen"
fi
rm -f "$CONFIG.temp" "$CONFIG.diff"
done
fi
-112
View File
@@ -1,112 +0,0 @@
# Generated by nginxconfig.io
# https://www.digitalocean.com/community/tools/nginx?domains.0.server.domain=localhost&domains.0.server.documentRoot=%2Fusr%2Fshare%2Fnginx%2Fhtml&domains.0.server.cdnSubdomain=true&domains.0.https.https=false&domains.0.php.php=false&domains.0.routing.index=index.html&domains.0.routing.fallbackHtml=true&domains.0.routing.fallbackPhp=false&global.performance.assetsExpiration=1d&global.performance.mediaExpiration=1d&global.performance.svgExpiration=1d&global.performance.fontsExpiration=1d&global.logging.accessLog=%2Fdev%2Fstdout&global.logging.errorLog=%2Fdev%2Fstderr%20warn&global.logging.logNotFound=true&global.nginx.user=nginx&global.nginx.pid=%2Fvar%2Frun%2Fnginx.pid&global.nginx.clientMaxBodySize=50&global.docker.dockerfile=true&global.tools.modularizedStructure=false&global.tools.symlinkVhost=false
# and then edited manually ;)
pid /tmp/nginx.pid;
worker_processes auto;
worker_rlimit_nofile 65535;
events {
multi_accept on;
worker_connections 1024;
}
http {
charset utf-8;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
server_tokens off;
types_hash_max_size 2048;
types_hash_bucket_size 64;
# rootless
client_body_temp_path /tmp/client_temp;
proxy_temp_path /tmp/proxy_temp_path;
fastcgi_temp_path /tmp/fastcgi_temp;
uwsgi_temp_path /tmp/uwsgi_temp;
scgi_temp_path /tmp/scgi_temp;
# MIME
include mime.types;
default_type application/octet-stream;
types {
application/manifest+json webmanifest;
}
# Logging
log_format json escape=json
'{'
'"bytes_sent": "$bytes_sent",'
'"http_user_agent": "$http_user_agent",'
'"nginx_version": "$nginx_version",'
'"query_string": "$query_string",'
'"realip_remote_addr": "$realip_remote_addr",'
'"remote_addr": "$remote_addr",'
'"remote_user": "$remote_user",'
'"request_length": "$request_length",'
'"request_method": "$request_method",'
'"request_time": "$request_time",'
'"server_addr": "$server_addr",'
'"server_port": "$server_port",'
'"server_protocol": "$server_protocol",'
'"status": "$status",'
'"time_local": "$time_local",'
'"uri": "$uri"'
'}';
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /dev/stdout main;
error_log /dev/stderr warn;
keepalive_timeout 65;
# compression
gzip on;
gzip_vary on;
gzip_proxied any;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_http_version 1.1;
gzip_min_length 256;
gzip_types
text/plain
text/css
application/json
application/x-javascript
application/javascript
text/xml
application/xml
application/xml+rss
text/javascript
application/vnd.ms-fontobject
application/x-font-ttf
font/opentype
image/svg+xml
image/x-icon
audio/wav;
map_hash_max_size 128;
map_hash_bucket_size 128;
map $sent_http_content_type $expires {
default off;
text/css max;
application/javascript max;
text/javascript max;
application/vnd.ms-fontobject max;
application/x-font-ttf max;
font/opentype max;
font/woff2 max;
image/svg+xml max;
image/x-icon max;
audio/wav max;
~images/ max;
~font/ max;
}
include /etc/nginx/conf.d/*.conf;
}
-85
View File
@@ -1,85 +0,0 @@
server {
listen ${VIKUNJA_HTTP_PORT};
listen [::]:${VIKUNJA_HTTP_PORT};
## Needed when behind HAProxy with SSL termination + HTTP/2 support
listen ${VIKUNJA_HTTP2_PORT} default_server http2 proxy_protocol;
listen [::]:${VIKUNJA_HTTP2_PORT} default_server http2 proxy_protocol;
server_name _;
expires $expires;
root /usr/share/nginx/html;
access_log /dev/stdout ${VIKUNJA_LOG_FORMAT};
# security headers
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Content-Security-Policy "default-src 'self' http: https: ws: wss: data: blob: 'unsafe-inline'; frame-ancestors 'self';" always;
add_header Permissions-Policy "interest-cohort=()" always;
# . files
location ~ /\.(?!well-known) {
deny all;
}
# assume that everything else is handled by the application router, by injecting the index.html.
location / {
autoindex off;
expires off;
add_header Cache-Control "public, max-age=0, s-maxage=0, must-revalidate" always;
try_files $uri /index.html =404;
}
# Disable caching for sw
location = /sw.js {
autoindex off;
expires off;
add_header Cache-Control "public, max-age=0, s-maxage=0, must-revalidate" always;
}
# Disable caching for webmanifest
location = /manifest.webmanifest {
autoindex off;
expires off;
add_header Cache-Control "public, max-age=0, s-maxage=0, must-revalidate" always;
}
# favicon.ico
location = /favicon.ico {
log_not_found off;
access_log off;
}
# robots.txt
location = /robots.txt {
log_not_found off;
access_log off;
expires -1; # no-cache
}
location = /ready {
return 200 "";
access_log off;
expires -1; # no-cache
}
# all assets contain hash in filename, cache forever
location ^~ /assets/ {
add_header Cache-Control "public, max-age=31536000, s-maxage=31536000, immutable";
try_files $uri =404;
}
# all workbox scripts are compiled with hash in filename, cache forever3
location ^~ /workbox- {
add_header Cache-Control "public, max-age=31536000, s-maxage=31536000, immutable";
try_files $uri =404;
}
# assets, media
location ~* .(txt|webmanifest|css|js|mjs|map|svg|jpg|jpeg|png|ico|ttf|woff|woff2|wav)$ {
try_files $uri $uri/ =404;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html { }
}
+3
View File
@@ -0,0 +1,3 @@
FROM nginx
ADD public /usr/share/nginx/html/docs
ADD nginx.conf /etc/nginx/conf.d/default.conf
+50
View File
@@ -0,0 +1,50 @@
baseurl: https://vikunja.io/docs/
title: Vikunja
theme: vikunja
enableRobotsTXT: true
canonifyURLs: false
pygmentsUseClasses: true
permalinks:
post: /:year/:month/:title/
doc: /:slug/
page: /:slug/
default: /:slug/
params:
description: The to-do app to organize your life
author: The Vikunja Authors
website: https://vikunja.io
plausibleEnabled: true
plausibleDomain: vikunja.io
plausibleURL: https://analytics.kolaente.de
markup:
goldmark:
renderer:
unsafe: true
menu:
page:
- name: Home
url: https://vikunja.io/en/
weight: 10
- name: Features
url: https://vikunja.io/features
weight: 20
- name: Download
url: https://vikunja.io/download
weight: 30
- name: Docs
url: https://vikunja.io/docs
weight: 40
- name: Code
url: https://code.vikunja.io/
weight: 50
- name: Community
url: https://community.vikunja.io/
weight: 60
- name: Get it Hosted
url: https://vikunja.cloud/?utm_source=io&utm_medium=io&utm_campaign=menu
weight: 70
+25
View File
@@ -0,0 +1,25 @@
---
date: "2019-02-12:00:00+02:00"
title: "Docs"
draft: false
url: "/docs"
type: "doc"
weight: 10
---
# Documentation
This is the documentation for Vikunja.
You can find available articles in the menu on the left.
## About
To learn more about the what, why and how, take a look at [the features page](https://vikunja.io/en/features).
## Start
A good starting point if you want to install and host Vikunja on your server are [the install documentation]({{< ref "./setup/install.md">}})
and [available configuration options]({{< ref "./setup/config.md">}}).
## Developing
If you want to start contributing to Vikunja, take a look at [the development docs]({{< ref "./development/development.md">}}).
+34
View File
@@ -0,0 +1,34 @@
---
date: "2019-03-31:00:00+01:00"
title: "Cli Commands"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Adding new cli commands
All cli-related functions are located in `pkg/cmd`.
Each cli command usually calls a function in another package.
For example, the `vikunja migrate` command calls `migration.Migrate()`.
Vikunja uses the amazing [cobra](https://github.com/spf13/cobra) library for its cli.
Please refer to its documentation for informations about how to use flags etc.
To add a new cli command, add something like the following:
{{< highlight golang >}}
func init() {
rootCmd.AddCommand(myCmd)
}
var myCmd = &cobra.Command{
Use: "My-command",
Short: "A short description about your command.",
Run: func(cmd *cobra.Command, args []string) {
// Call other functions
},
}
{{</ highlight >}}
+41
View File
@@ -0,0 +1,41 @@
---
date: "2019-02-12:00:00+02:00"
title: "Configuration Options"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Configuration options
All configuration variables are declared in the `config` package.
It uses [viper](https://github.com/spf13/viper) under the hood to handle setting defaults and parsing config files.
Viper handles parsing all different configuration sources.
## Adding new config options
To make handling configuration parameters a bit easier, we introduced a `Key` string type in the `config` package which
you can call directly to get a config value.
To add a new config option, you should add a new key const to `pkg/config/config.go` and possibly a default value.
Default values should always enable the feature to work or turn it off completely if it always needs
additional configuration.
Make sure to also add the new config option to the default config file (`config.yml.sample` at the root of the repository)
with an explanatory comment to make sure it is well documented.
Then run `mage generate-docs` to generate the configuration docs from the sample file.
## Getting Configuration Values
To retreive a configured value call the key with a getter for the type you need.
For example:
{{< highlight golang >}}
if config.CacheEnabled.GetBool() {
// Do something with enabled caches
}
{{< /highlight >}}
Take a look at the methods declared on the type to see what's available.
+35
View File
@@ -0,0 +1,35 @@
---
title: "Cron Tasks"
date: 2021-07-13T23:21:52+02:00
draft: false
menu:
sidebar:
parent: "development"
---
# How to add a cron job task
Cron jobs are tasks which run on a predefined schedule.
Vikunja uses these through a light wrapper package around the excellent [github.com/robfig/cron](https://github.com/robfig/cron) package.
The package exposes a `cron.Schedule` method with two arguments: The first one to define the schedule when the cron task
should run, and the second one with the actual function to run at the schedule.
You would then create a new function to register your the actual cron task in your package.
A basic function to register a cron task looks like this:
{{< highlight golang >}}
func RegisterSomeCronTask() {
err := cron.Schedule("0 * * * *", func() {
// Do something every hour
}
}
{{< /highlight >}}
Call the register method in the `FullInit()` method of the `init` package to actually register it.
## Schedule Syntax
The cron syntax uses the same on you may know from unix systems.
It is described in detail [here](https://pkg.go.dev/github.com/robfig/cron#hdr-CRON_Expression_Format).
+40
View File
@@ -0,0 +1,40 @@
---
date: "2019-02-12:00:00+02:00"
title: "Database"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Database
Vikunja uses [xorm](https://xorm.io/) as an abstraction layer to handle the database connection.
Please refer to [their](https://xorm.io/docs/) documentation on how to exactly use it.
{{< table_of_contents >}}
## Using the database
When using the common web handlers, you get an `xorm.Session` to do database manipulations.
In other packages, use the `db.NewSession()` method to get a new database session.
## Adding new database tables
To add a new table to the database, create the struct and [add a migration for it]({{< ref "db-migrations.md" >}}).
To learn more about how to configure your struct to create "good" tables, refer to [the xorm documentaion](https://xorm.io/docs/).
In most cases you will also need to implement the `TableName() string` method on the new struct to make sure the table
name matches the rest of the tables - plural.
## Adding data to test fixtures
Adding data for test fixtures can be done via `yaml` files in `pkg/models/fixtures`.
The name of the yaml file should match the table name in the database.
Adding values to it is done via array definition inside it.
**Note**: Table and column names need to be in snake_case as that's what is used internally in the database
and for mapping values from the database to xorm so your structs can use it.
@@ -0,0 +1,78 @@
---
date: "2019-03-29:00:00+02:00"
title: "Database Migrations"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Database Migrations
Vikunja runs all database migrations automatically on each start if needed.
Additionally, they can also be run directly by using the `migrate` command.
We use [xormigrate](https://github.com/techknowlogick/xormigrate) to handle migrations,
which is based on gormigrate.
{{< table_of_contents >}}
## Add a new migration
All migrations are stored in `pkg/migrations` and files should have the same name as their id.
Each migration should have a function to apply and roll it back, as well as a numeric id (the datetime)
and a more in-depth description of what the migration actually does.
To easily get a new id, run the following on any unix system:
{{< highlight bash >}}
date +%Y%m%d%H%M%S
{{< /highlight >}}
New migrations should be added via the `init()` function to the `migrations` variable.
All migrations are sorted before being executed, since `init()` does not guarantee the order.
When you're adding a new struct, you also need to add it to the `models.GetTables()` function
to ensure it will be created on new installations.
### Generating a new migration stub
You can easily generate a pre-filled migration stub by running `mage dev:make-migration`.
It will ask you for a table name and generate an empty migration similar to the example shown below.
### Example
{{< highlight golang >}}
package migration
import (
"github.com/go-xorm/xorm"
"src.techknowlogick.com/xormigrate"
)
// Used for rollback
type teamMembersMigration20190328074430 struct {
Updated int64 `xorm:"updated"`
}
func (teamMembersMigration20190328074430) TableName() string {
return "team_members"
}
func init() {
migrations = append(migrations, &xormigrate.Migration{
ID: "20190328074430",
Description: "Remove updated from team_members",
Migrate: func(tx *xorm.Engine) error {
return dropTableColum(tx, "team_members", "updated")
},
Rollback: func(tx *xorm.Engine) error {
return tx.Sync2(teamMembersMigration20190328074430{})
},
})
}
{{< /highlight >}}
You should always copy the changed parts of the struct you're changing when adding migraitons.
@@ -0,0 +1,55 @@
---
date: "2022-09-21:00:00+02:00"
title: "Development"
toc: true
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
name: "Development"
---
# Development
{{< table_of_contents >}}
## General
To contribute to Vikunja, fork the project and work on the main branch.
Once you feel like your changes are ready, open a PR in the respective repo.
A maintainer will take a look and give you feedback. Once everyone is happy, the PR gets merged and released.
If you plan to do a bigger change, it is better to open an issue for discussion first.
## API
The code for the api is located at [code.vikunja.io/api](https://code.vikunja.io/api).
We use go modules to manage third-party libraries for Vikunja, so you'll need at least go `1.17` to use these.
A lot of developing tasks are automated using a Magefile, so make sure to [take a look at it]({{< ref "mage.md">}}).
Make sure to check the other doc articles for specific development tasks like [testing]({{< ref "test.md">}}),
[database migrations]({{< ref "db-migrations.md" >}}) and the [project structure]({{< ref "structure.md" >}}).
## Frontend requirements
The code for the frontend is located at [code.vikunja.io/frontend](https://code.vikunja.io/frontend).
More instructions can be found in the repo's README.
You need to have [pnpm](https://pnpm.io/) and nodejs in version 16 or 18 installed.
## Git flow
The `main` branch is the latest and bleeding edge branch with all changes. Unstable releases are automatically created from this branch.
A release gets tagged from the main branch with the version name as tag name.
Backports and point-releases should go to a `release/version` branch, based on the tag they are building on top of.
## Conventional commits
We're using [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) because they greatly simplify generating release notes.
It is not required to use them when creating a PR, but appreciated.
+72
View File
@@ -0,0 +1,72 @@
---
date: "2019-02-12:00:00+02:00"
title: "Custom Errors"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Custom Errors
All custom errors are defined in `pkg/models/errors.go`.
You should add new ones in this file.
Custom errors usually have fields for the http return code, a [vikunja-specific error code]({{< ref "../usage/errors.md">}})
and a human-readable error message about what went wrong.
An error consists of multiple functions and definitions:
{{< highlight golang >}}
// This struct holds any information about this specific error.
// In this case, it contains the user ID of a nonexistand user.
// This type should always be a struct, even if it has no values in it.
// ErrUserDoesNotExist represents a "UserDoesNotExist" kind of error.
type ErrUserDoesNotExist struct {
UserID int64
}
// This function is mostly used in unit tests to check if a returned error is of that type.
// Every error type should have one of these.
// The name should always start with IsErr... followed by the name of the error.
// IsErrUserDoesNotExist checks if an error is a ErrUserDoesNotExist.
func IsErrUserDoesNotExist(err error) bool {
_, ok := err.(ErrUserDoesNotExist)
return ok
}
// This is the definition of the actual error type.
// Your error type is _required_ to implement this in order to be able to be returned as an "error" from functions.
func (err ErrUserDoesNotExist) Error() string {
return fmt.Sprintf("User does not exist [user id: %d]", err.UserID)
}
// This const holds the vikunja error code used to be able to identify this error without having to
// rely on an error string.
// This needs to be unique, so you should check whether the error code exists or not.
// The general convention for error codes is as follows:
// * Every "group" errors lives in a thousend something. For example all user issues are 1000-something, all
// list errors are 3000-something and so on.
// * New error codes should be the current max error code + 1. Don't take free numbers to prevent old errors
// which are depricated and removed from being "new ones". For example, if there are error codes 1001, 1002, 1004,
// a new error should be 1005 and not 1003.
// ErrCodeUserDoesNotExist holds the unique world-error code of this error
const ErrCodeUserDoesNotExist = 1005
// This is the implementation which returns an http error which is then passed to the client.
// Here you define the http status code with which one the error will be returned, the vikunja error code and
// a human-readable error message.
// HTTPError holds the http error description
func (err ErrUserDoesNotExist) HTTPError() web.HTTPError {
return web.HTTPError{
HTTPCode: http.StatusNotFound,
Code: ErrCodeUserDoesNotExist,
Message: "The user does not exist.",
}
}
{{< /highlight >}}
@@ -0,0 +1,211 @@
---
date: 2018-10-13T19:26:34+02:00
title: "Events and Listeners"
draft: false
menu:
sidebar:
parent: "development"
---
# Events and Listeners
Vikunja provides a simple observer pattern mechanism through events and listeners.
The basic principle of events is always the same: Something happens (=An event is fired) and something reacts to it (=A listener is called).
Vikunja supports this principle through the `events` package.
It is built upon the excellent [watermill](https://watermill.io) library.
Currently, it only supports dispatching events through Go Channels which makes it configuration-less.
More methods of dispatching events (like kafka or rabbitmq) are available in watermill and could be enabled with a PR.
This document explains how events and listeners work in Vikunja, how to use them and how to create new ones.
{{< table_of_contents >}}
## Events
### Definition
Each event has to implement this interface:
{{< highlight golang >}}
type Event interface {
Name() string
}
{{< /highlight >}}
An event can contain whatever data you need.
When an event is dispatched, all of the data it contains will be marshaled into json for dispatching.
You then get the event with all its data back in the listener, see below.
#### Naming Convention
Event names should roughly have the entity they're dealing with on the left and the action on the right of the name, separated by `.`.
There's no limit to how "deep" or specifig an event name can be.
The name should have the most general concept it's describing at the left, getting more specific on the right of it.
#### Location
All events for a package should be declared in the `events.go` file of that package.
### Creating a New Event
The easiest way to create a new event is to generate it with mage:
```
mage dev:make-event <event-name> <package>
```
The function takes the name of the event as the first argument and the package where the event should be created as the second argument.
Events will be appended to the `pkg/<module>/events.go` file.
Both parameters are mandatory.
The event type name is automatically camel-cased and gets the `Event` suffix if the provided name does not already have one.
The event name is derived from the type name and stripped of the `.event` suffix.
The generated event will look something like the example below.
### Dispatching events
To dispatch an event, simply call the `events.Dispatch` method and pass in the event as parameter.
### Example
The `TaskCreatedEvent` is declared in the `pkg/models/events.go` file as follows:
{{< highlight golang >}}
// TaskCreatedEvent represents an event where a task has been created
type TaskCreatedEvent struct {
Task *Task
Doer web.Auth
}
// Name defines the name for TaskCreatedEvent
func (t *TaskCreatedEvent) Name() string {
return "task.created"
}
{{< /highlight >}}
It is dispatched in the `createTask` function of the `models` package:
{{< highlight golang >}}
func createTask(s *xorm.Session, t *Task, a web.Auth, updateAssignees bool) (err error) {
// ...
err = events.Dispatch(&TaskCreatedEvent{
Task: t,
Doer: a,
})
// ...
}
{{< /highlight >}}
As you can see, the curent task and doer are injected into it.
### Special Events
#### `BootedEvent`
Once Vikunja is fully initialized, right before the api web server is started, this event is fired.
## Listeners
A listener is a piece of code that gets executed asynchronously when an event is dispatched.
A single event can have multiple listeners who are independent of each other.
### Definition
All listeners must implement this interface:
{{< highlight golang >}}
// Listener represents something that listens to events
type Listener interface {
Handle(msg *message.Message) error
Name() string
}
{{< /highlight >}}
The `Handle` method is executed when the event this listener listens on is dispatched.
* As the single parameter, it gets the payload of the event, which is the event struct when it was dispatched decoded as json object and passed as a slice of bytes.
To use it you'll need to unmarshal it. Unfortunately there's no way to pass an already populated event object to the function because we would not know what type it has when parsing it.
* If the handler returns an error, the listener is retried 5 times, with an exponentional back-off period in between retries.
If it still fails after the fifth retry, the event is nack'd and it's up to the event dispatcher to resend it.
You can learn more about this mechanism in the [watermill documentation](https://watermill.io/docs/middlewares/#retry).
The `Name` method needs to return a unique listener name for this listener.
It should follow the same convention as event names, see above.
### Creating a New Listener
The easiest way to create a new listener for an event is with mage:
```
mage dev:make-listener <listener-name> <event-name> <package>
```
This will create a new listener type in the `pkg/<package>/listners.go` file and implement the `Handle` and `Name` methods.
It will also pre-generate some boilerplate code to unmarshal the event from the payload.
Furthermore, it will register the listener for its event in the `RegisterListeners()` method of the same file.
This function is called at startup and has to contain all events you want to listen for.
### Listening for Events
To listen for an event, you need to register the listener for the event it should be called for.
This usually happens in the `RegisterListeners()` method in `pkg/<package>/listners.go` which is called at start up.
The listener will never be executed if it hasn't been registered.
See the example below.
### Example
{{< highlight golang >}}
// RegisterListeners registers all event listeners
func RegisterListeners() {
events.RegisterListener((&ListCreatedEvent{}).Name(), &IncreaseListCounter{})
}
// IncreaseTaskCounter represents a listener
type IncreaseTaskCounter struct {}
// Name defines the name for the IncreaseTaskCounter listener
func (s *IncreaseTaskCounter) Name() string {
return "task.counter.increase"
}
// Hanlde is executed when the event IncreaseTaskCounter listens on is fired
func (s *IncreaseTaskCounter) Handle(payload message.Payload) (err error) {
return keyvalue.IncrBy(metrics.TaskCountKey, 1)
}
{{< /highlight >}}
## Testing
When testing, you should call the `events.Fake()` method in the `TestMain` function of the package you want to test.
This prevents any events from being fired and lets you assert an event has been dispatched like so:
{{< highlight golang >}}
events.AssertDispatched(t, &TaskCreatedEvent{})
{{< /highlight >}}
### Testing a listener
You can call an event listener manually with the `events.TestListener` method like so:
{{< highlight golang >}}
ev := &TaskCommentCreatedEvent{
Task: &task,
Doer: u,
Comment: tc,
}
events.TestListener(t, ev, &SendTaskCommentNotification{})
{{< /highlight >}}
This will call the listener's `Handle` method and assert it did not return an error when calling.
+33
View File
@@ -0,0 +1,33 @@
---
date: "2019-02-12:00:00+02:00"
title: "New API Endpoints"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Add a new api endpoint/feature
Most of the api endpoints/features of Vikunja are using the [common web handler](https://code.vikunja.io/web).
This is a library created by Vikunja in an effort to facilitate the creation of REST endpoints.
This works by abstracting the handling of CRUD-Requests, including rights check.
You can learn more about the web handler on [the project's repo](https://code.vikunja.io/web).
### Helper for pagination
Pagination limits can be calculated with a helper function, `getLimitFromPageIndex(pageIndex)`
(only available in the `models` package) from any page number.
It returns the `limit` (max-length) and `offset` parameters needed for SQL-Queries.
You can feed this function directly into xorm's `Limit`-Function like so:
{{< highlight golang >}}
lists := []List{}
err := x.Limit(getLimitFromPageIndex(pageIndex, itemsPerPage)).Find(&lists)
{{< /highlight >}}
// TODO: Add a full example from start to finish, like a tutorial on how to create a new endpoint?
+192
View File
@@ -0,0 +1,192 @@
---
date: "2019-02-12:00:00+02:00"
title: "Magefile"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Mage
Vikunja uses [Mage](https://magefile.org/) to script common development tasks and even releasing.
Mage is a pure go solution which allows for greater flexibility and things like better parallelization.
This document explains what tasks are available and what they do.
{{< table_of_contents >}}
## Installation
To use mage, you'll need to install the mage cli.
To install it, run the following command:
```
go install github.com/magefile/mage
```
## Categories
There are multiple categories of subcommands in the magefile:
* `build`: Contains commands to build a single binary
* `check`: Contains commands to statically check the source code
* `release`: Contains commands to release Vikunja with everything that's required
* `test`: Contains commands to run all kinds of tests
* `dev`: Contains commands to run development tasks
* `misc`: Commands which do not belong in either of the other categories
## CI
These tasks are automatically run in our CI every time someone pushes to main or you update a pull request:
* `mage check:lint`
* `mage check:fmt`
* `mage check:ineffassign`
* `mage check:misspell`
* `mage check:goconst`
* `mage build:generate`
* `mage build:build`
## Build
### Build Vikunja
{{< highlight bash >}}
mage build:build
{{< /highlight >}}
or
{{< highlight bash >}}
mage build
{{< /highlight >}}
Builds a `vikunja`-binary in the root directory of the repo for the platform it is run on.
### clean
{{< highlight bash >}}
mage build:clean
{{< /highlight >}}
Cleans all build and executable files
## Check
All check sub-commands exit with a status code of 1 if the check fails.
Various code-checks are available:
* `mage check:all`: Runs fmt-check, lint, got-swag, misspell-check, ineffasign-check, gocyclo-check, static-check, gosec-check, goconst-check all in parallel
* `mage check:fmt`: Checks if the code is properly formatted with go fmt
* `mage check:go-sec`: Checks the source code for potential security issues by scanning the Go AST using the [gosec tool](https://github.com/securego/gosec)
* `mage check:goconst`: Checks for repeated strings that could be replaced by a constant using [goconst](https://github.com/jgautheron/goconst/)
* `mage check:gocyclo`: Checks for the cyclomatic complexity of the source code using [gocyclo](https://github.com/fzipp/gocyclo)
* `mage check:got-swag`: Checks if the swagger docs need to be re-generated from the code annotations
* `mage check:ineffassign`: Checks the source code for ineffectual assigns using [ineffassign](https://github.com/gordonklaus/ineffassign)
* `mage check:lint`: Runs golint on all packages
* `mage check:misspell`: Checks the source code for misspellings
* `mage check:static`: Statically analyzes the source code about a range of different problems using [staticcheck](https://staticcheck.io/docs/)
## Release
### Build Releases
{{< highlight bash >}}
mage release
{{< /highlight >}}
Builds binaries for all platforms and zips them with a copy of the `templates/` folder.
All built zip files are stored into `dist/zips/`. Binaries are stored in `dist/binaries/`,
binaries bundled with `templates` are stored in `dist/releases/`.
All cross-platform binaries built using this series of commands are built with the help of
[xgo](https://github.com/techknowlogick/xgo). The mage command will automatically install the
binary to be able to use it.
`mage release:release` is a shortcut to execute `mage release:dirs release:windows release:linux release:darwin release:copy release:check release:os-package release:zip`.
* `mage release:dirs` creates all directories needed
* `mage release:windows`/`release:linux`/`release:darwin` execute xgo to build for their respective platforms
* `mage release:copy` bundles binaries with a copy of the `LICENSE` and sample config files to then be zipped
* `mage release:check` creates sha256 checksums for each binary which will be included in the zip file
* `mage release:os-package` bundles a binary with the `sha256` checksum file, a sample `config.yml` and a copy of the license in a folder for each architecture
* `mage release:compress` compresses all build binaries with `upx` to save space
* `mage release:zip` paclages a zip file for the files created by `release:os-package`
### Build os packages
{{< highlight bash >}}
mage release:packages
{{< /highlight >}}
Will build `.deb`, `.rpm` and `.apk` packages to `dist/os-packages`.
### Make a debian repo
{{< highlight bash >}}
mage release:reprepro
{{< /highlight >}}
Takes an already built debian package and creates a debian repo structure around it.
Used to be run inside a [docker container](https://git.kolaente.de/konrad/reprepro-docker) in the CI process when releasing.
## Test
### unit
{{< highlight bash >}}
mage test:unit
{{< /highlight >}}
Runs all tests except integration tests.
### coverage
{{< highlight bash >}}
mage test:coverage
{{< /highlight >}}
Runs all tests except integration tests and generates a `coverage.html` file to inspect the code coverage.
### integration
{{< highlight bash >}}
mage test:integration
{{< /highlight >}}
Runs all integration tests.
## Dev
### Create a new migration
{{< highlight bash >}}
mage dev:create-migration
{{< /highlight >}}
Creates a new migration with the current date.
Will ask for the name of the struct you want to create a migration for.
See also [migration docs]({{< ref "mage.md" >}}).
## Misc
### Format the code
{{< highlight bash >}}
mage fmt
{{< /highlight >}}
Formats all source code using `go fmt`.
### Generate swagger definitions from code comments
{{< highlight bash >}}
mage do-the-swag
{{< /highlight >}}
Generates swagger definitions from the comment annotations in the code.
+48
View File
@@ -0,0 +1,48 @@
---
date: "2019-02-12:00:00+02:00"
title: "Metrics"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Metrics
Metrics work by exposing a `/metrics` endpoint which can then be accessed by prometheus.
To keep the load on the database minimal, metrics are stored and updated in redis.
The `metrics` package provides several functions to create and update metrics.
{{< table_of_contents >}}
## Exposing New Metrics
First, define a `const` with the metric key in redis. This is done in `pkg/metrics/metrics.go`.
To expose a new metric, you need to register it in the `init` function inside of the `metrics` package like so:
{{< highlight golang >}}
// Register total user count metric
promauto.NewGaugeFunc(prometheus.GaugeOpts{
Name: "vikunja_team_count", // The key of the metric. Must be unique.
Help: "The total number of teams on this instance", // A description about the metric itself.
}, func() float64 {
count, _ := GetCount(TeamCountKey) // TeamCountKey is the const we defined earlier.
return float64(count)
})
{{< /highlight >}}
Then you'll need to set the metrics initial value on every startup of vikunja.
This is done in `pkg/routes/routes.go` to avoid cyclic imports.
If metrics are enabled, it checks if a redis connection is available and then sets the initial values.
A convenience function is available if the metric is based on a database struct.
Because metrics are stored in redis, you are responsible to increase or decrease these based on criteria you define.
To do this, use `metrics.UpdateCount(value, key)` where `value` is the amount you want to cange it (you can pass
negative values to decrease it) and `key` it the redis key used to define the metric.
## Using it
A Prometheus config with a Grafana template is available at [our git repo](https://git.kolaente.de/vikunja/monitoring).
+136
View File
@@ -0,0 +1,136 @@
---
date: "2020-01-19:16:00+02:00"
title: "Migrations"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Writing a migrator for Vikunja
It is possible to migrate data from other to-do services to Vikunja.
To make this easier, we have put together a few helpers which are documented on this page.
In general, each migrator implements a migrator interface which is then called from a client.
The interface makes it possible to use helper methods which handle http and focus only on the implementation of the migrator itself.
There are two ways of migrating data from another service:
1. Through the auth-based flow where the user gives you access to their data at the third-party service through an
oauth flow. You can then call the service's api on behalf of your user to get all the data.
The Todoist, Trello and Microsoft To-Do Migrators use this pattern.
2. A file migration where the user uploads a file obtained from some third-party service. In your migrator, you need
to parse the file and create the lists, tasks etc.
The Vikunja File Import uses this pattern.
To differentiate the two, there are two different interfaces you must implement.
{{< table_of_contents >}}
## Structure
All migrator implementations live in their own package in `pkg/modules/migration/<name-of-the-service>`.
When creating a new migrator, you should place all related code inside that module.
## Migrator Interface
The migrator interface is defined as follows:
```go
// Migrator is the basic migrator interface which is shared among all migrators
type Migrator interface {
// Name holds the name of the migration.
// This is used to show the name to users and to keep track of users who already migrated.
Name() string
// Migrate is the interface used to migrate a user's tasks from another platform to vikunja.
// The user object is the user who's tasks will be migrated.
Migrate(user *models.User) error
// AuthURL returns a url for clients to authenticate against.
// The use case for this are Oauth flows, where the server token should remain hidden and not
// known to the frontend.
AuthURL() string
}
```
## File Migrator Interface
```go
// FileMigrator handles importing Vikunja data from a file. The implementation of it determines the format.
type FileMigrator interface {
// Name holds the name of the migration.
// This is used to show the name to users and to keep track of users who already migrated.
Name() string
// Migrate is the interface used to migrate a user's tasks, list and other things from a file to vikunja.
// The user object is the user who's tasks will be migrated.
Migrate(user *user.User, file io.ReaderAt, size int64) error
}
```
## Defining http routes
Once your migrator implements the migration interface, it becomes possible to use the helper http handlers.
Their usage is very similar to the [general web handler](https://kolaente.dev/vikunja/web#user-content-defining-routes-using-the-standard-web-handler):
The `RegisterRoutes(m)` method registers all routes with the scheme `/[MigratorName]/(auth|migrate|status)` for the
authUrl, Status and Migrate methods.
```go
// This is an example for the Wunderlist migrator
if config.MigrationWunderlistEnable.GetBool() {
wunderlistMigrationHandler := &migrationHandler.MigrationWeb{
MigrationStruct: func() migration.Migrator {
return &wunderlist.Migration{}
},
}
wunderlistMigrationHandler.RegisterRoutes(m)
}
```
And for the file migrator:
```go
vikunjaFileMigrationHandler := &migrationHandler.FileMigratorWeb{
MigrationStruct: func() migration.FileMigrator {
return &vikunja_file.FileMigrator{}
},
}
vikunjaFileMigrationHandler.RegisterRoutes(m)
```
You should also document the routes with [swagger annotations]({{< ref "swagger-docs.md" >}}).
## Insertion helper method
There is a method available in the `migration` package which takes a fully nested Vikunja structure and creates it with all relations.
This means you start by adding a namespace, then add lists inside of that namespace, then tasks in the lists and so on.
The root structure must be present as `[]*models.NamespaceWithListsAndTasks`. It allows to represent all of Vikunja's
hierachie as a single data structure.
Then call the method like so:
```go
fullVikunjaHierachie, err := convertWunderlistToVikunja(wContent)
if err != nil {
return
}
err = migration.InsertFromStructure(fullVikunjaHierachie, user)
```
## Configuration
If your migrator is an oauth-based one, you should add at least an option to enable or disable it.
Chances are, you'll need some more options for things like client ID and secret
(if the other service uses oAuth as an authentication flow).
The easiest way to implement an on/off switch is to check whether your migration service is enabled or not when
registering the routes, and then simply don't registering the routes in case it is disabled.
File based migrators can always be enabled.
### Making the migrator public in `/info`
You should make your migrator available in the `/info` endpoint so that frontends can display options to enable them or not.
To do this, add an entry to the `AvailableMigrators` field in `pkg/routes/api/v1/info.go`.
@@ -0,0 +1,120 @@
---
date: 2021-02-07T19:26:34+02:00
title: "Notifications"
toc: true
draft: false
menu:
sidebar:
parent: "development"
---
# Notifications
Vikunjs provides a simple abstraction to send notifications per mail and in the database.
{{< table_of_contents >}}
## Definition
Each notification has to implement this interface:
{{< highlight golang >}}
type Notification interface {
ToMail() *Mail
ToDB() interface{}
Name() string
}
{{< /highlight >}}
Both functions return the formatted messages for mail and database.
A notification will only be sent or recorded for those of the two methods which don't return `nil`.
For example, if your notification should not be recorded in the database but only sent out per mail, it is enough to let the `ToDB` function return `nil`.
### Mail notifications
A list of chainable functions is available to compose a mail:
{{< highlight golang >}}
mail := NewMail().
// The optional sender of the mail message.
From("test@example.com").
// The optional receipient of the mail message. Uses the mail address of the notifiable if omitted.
To("test@otherdomain.com").
// The subject of the mail to send.
Subject("Testmail").
// The greeting, or "intro" line of the mail.
Greeting("Hi there,").
// A line of text
Line("This is a line of text").
// An action can contain a title and a url. It gets rendered as a big button in the mail.
// Note that you can have only one action per mail.
// All lines added before an action will appearr in the mail before the button, all lines
// added afterwards will appear after it.
Action("The Action", "https://example.com").
// Another line of text.
Line("This should be an outro line").
{{< /highlight >}}
If not provided, the `from` field of the mail contains the value configured in [`mailer.fromemail`](https://vikunja.io/docs/config-options/#fromemail).
### Database notifications
All data returned from the `ToDB()` method is serialized to json and saved into the database, along with the id of the
notifiable, the name of the notification and a time stamp.
If you don't use the database notification, the `Name()` function can return an empty string.
## Creating a new notification
The easiest way to generate a mail is by using the `mage dev:make-notification` command.
It takes the name of the notification and the package where the notification will be created.
## Notifiables
Notifiables can receive a notification.
A notifiable is defined with this interface:
{{< highlight golang >}}
type Notifiable interface {
// Should return the email address this notifiable has.
RouteForMail() string
// Should return the id of the notifiable entity
RouteForDB() int64
}
{{< /highlight >}}
The `User` type from the `user` package implements this interface.
## Sending a notification
Sending a notification is done with the `Notify` method from the `notifications` package.
It takes a notifiable and a notification as input.
For example, the email confirm notification when a new user registers is sent like this:
{{< highlight golang >}}
n := &EmailConfirmNotification{
User: update.User,
IsNew: false,
}
err = notifications.Notify(update.User, n)
return
{{< /highlight >}}
## Testing
The `mail` package provides a `Fake()` method which you should call in the `MainTest` functions of your package.
If it was called, no mails are being sent and you can instead assert they have been sent with the `AssertSent` method.
When testing, you should call the `notifications.Fake()` method in the `TestMain` function of the package you want to test.
This prevents any notifications from being sent and lets you assert a notifications has been sent like this:
{{< highlight golang >}}
notifications.AssertSent(t, &ReminderDueNotification{})
{{< /highlight >}}
## Example
Take a look at the [pkg/user/notifications.go](https://code.vikunja.io/api/src/branch/main/pkg/user/notifications.go) file for a good example.
+39
View File
@@ -0,0 +1,39 @@
---
title: "Releasing a new Vikunja version"
date: 2022-10-28T13:06:05+02:00
draft: false
menu:
sidebar:
parent: "development"
---
# Releasing a new Vikunja version
This checklist is a collection of all steps usually involved when releasing a new version of Vikunja.
Not all steps are necessary for every release.
* Website update :
* New Features: If there are new features worth mentioning the feature page should be updated.
* New Screenshots: If an overhaul of an existing feature happend so that it now looks different from the existing screenshot, a new one is required.
* Generate changelogs: (with git-cliff)
* Frontend
* API
* Desktop
* Tag a new version: Include the changelog for that version as the tag message
* Frontend
* API
* Desktop
* Once built: Prune the cloudflare cache so that the new versions show up at dl.vikunja.io
* Release Highlights Blogpost:
* Include a section about Vikunja in general (totally fine to copy one from the earlier blog posts)
* New Features & Improvements: Mention bigger features, potentially with screenshots. Things like refactoring are sometimes also worth mentioneing.
* Publish:
* Reddit
* Twitter
* Mastodon
* Chat
* Newsletter
* Forum
* If features in the release were sponsored, send an email to relevant stakeholders
* Update Vikunja Cloud version and other instances
+171
View File
@@ -0,0 +1,171 @@
---
date: "2019-02-12:00:00+02:00"
title: "Project Structure"
draft: false
type: "doc"
menu:
sidebar:
parent: "development"
---
# Project structure
This document explains what each package does.
{{< table_of_contents >}}
## Root level
The root directory is where [the config file]({{< ref "../setup/config.md">}}), [Magefile]({{< ref "mage.md">}}), license, drone config,
application entry point (`main.go`) and so on are located.
## pkg
This is where most of the magic happens. Most packages with actual code are located in this folder.
### caldav
This folder holds a simple caldav implementation which is responsible for the caldav feature.
### cmd
This package contains all cli-related files and functions.
To learn more about how to add a new command, see [the cli docs]({{< ref "cli.md">}}).
To learn more about how to use this cli, see [the cli usage docs]({{< ref "../usage/cli.md">}}).
### config
This package configures handling of Vikunja's runtime configuration.
It sets default values and sets up viper and tells it where to look for config files, how to interpret which env variables
for config etc.
See also the [docs about adding a new configuration parameter]({{< ref "config.md" >}}).
### cron
See [how to add a cron task]({{< ref "cron.md" >}}).
### db
This package contains the db connection handling and db fixtures for testing.
Each other package gets its db connection object from this package.
### files
This package is responsible for all file-related things.
This means it handles saving and retrieving files from the db and the underlying file system.
### integration
All integration tests live here.
See [integration tests]({{< ref "test.md" >}}#integration-tests) for more details.
### log
Similar to `config`, this will set up the logging, based on differen logging backends.
This init is called in `main.go` after the config init is done.
### mail
This package handles all mail sending. To learn how to send a mail, see [notifications]({{< ref "notifications.md" >}}).
### metrics
This package handles all metrics which are exposed to the prometheus endpoint.
To learn how it works and how to add new metrics, take a look at [how metrics work]({{< ref "metrics.md">}}).
### migration
This package handles all migrations.
All migrations are stored and executed in this package.
To learn more, take a look at the [migrations docs]({{< ref "../development/db-migrations.md">}}).
### models
This is where most of the magic happens.
When adding new features or upgrading existing ones, that most likely happens here.
Because this package is pretty huge, there are several documents and how-to's about it:
* [Adding a feature]({{< ref "feature.md">}})
* [Making calls to the database]({{< ref "database.md">}})
### modules
Everything that can have multiple implementations (like a task migrator from a third-party task provider) lives in a
respective sub package in this package.
#### auth
Contains openid related authentication.
#### avatar
Contains all possible avatar providers a user can choose to set their avatar.
#### background
All list background providers are in sub-packages of this package.
#### dump
Handles everything related to the `dump` and `restore` commands of Vikunja.
#### keyvalue
A simple key-value store with an implementation for memory and redis.
Can be used to cache values.
#### migration
See [writing a migrator]({{< ref "migration.md" >}}).
### red (redis)
This package initializes a connection to a redis server.
This inizialization is automatically done at the startup of vikunja.
It also has a function (`GetRedis()`) which returns a redis client object you can then use in your package
to talk to redis.
It uses the [go-redis](https://github.com/go-redis/redis) library, please see their configuration on how to use it.
**Note**: Only use this package directly if you have to use a direct redis connection.
In most cases, using the `keyvalue` package is a better fit.
### routes
This package defines all routes which are available for vikunja clients to use.
To add a new route, see [adding a new route]({{< ref "feature.md">}}).
#### api/v1
This is where all http-handler functions for the api are stored.
Every handler function which does not use the standard web handler should live here.
### swagger
This is where the [generated]({{< ref "mage.md#generate-swagger-definitions-from-code-comments">}} [api docs]({{< ref "../usage/api.md">}}) live.
You usually don't need to touch this package.
### user
All user-related things like registration etc. live in this package.
### utils
A small package, containing some helper functions:
* `MakeRandomString`: Generates a random string of a given length.
* `Sha256`: Calculates a sha256 hash from a given string.
See their function definitions for instructions on how to use them.
### version
The single purpouse of this package is to hold the current vikunja version which gets overridden through build flags
each time `mage release` or `mage build` is run.
It is a seperate package to avoid import cycles with other packages.

Some files were not shown because too many files have changed in this diff Show More