Commit Graph

90 Commits

Author SHA1 Message Date
d9bfcdab8e feat(api tokens): add tests 2023-09-01 10:19:31 +02:00
e518fb1191 chore: remove year from copyright headers
Some checks failed
continuous-integration/drone/push Build is failing
Resolves vikunja/api#1483
2023-09-01 08:32:28 +02:00
117c569721 fix(projects): return subprojects which were shared from another user
All checks were successful
continuous-integration/drone/push Build is passing
2023-07-03 11:45:29 +02:00
4a4ba041e0 chore: remove reminderDates after frontend is migrated to reminders (#1448)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: vikunja/api#1448
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-06-10 17:21:36 +00:00
746ac1098f fix(test): adjust fixture bucket and list ids 2023-05-24 15:52:32 +02:00
5e6bff20f8 fix(tests): task permissions from parents 2023-05-24 15:51:56 +02:00
8e56fe558a fix(tests): adjust parent projects 2023-05-24 15:51:56 +02:00
154ac61d7c fix(projects): properly check if a user or link share is allowed to create a new project 2023-05-24 15:51:56 +02:00
03eb4ecd07 fix(tests): permission tests for parent projects 2023-05-24 15:51:56 +02:00
d4e644e91e chore(project): fmt 2023-05-24 15:51:56 +02:00
afe756e4c1 fix(tests): make the tests compile again 2023-05-24 15:51:55 +02:00
e93a5ff11f fix: rename after rebase 2023-05-24 15:51:54 +02:00
fef253312c feat(projects): cleanup namespace leftovers 2023-05-24 15:51:54 +02:00
96a0f5e169 feat: rename lists to projects 2023-05-24 15:51:53 +02:00
359d0512cc fix: upgrade jwt v5
All checks were successful
continuous-integration/drone/push Build is passing
2023-05-23 16:37:16 +02:00
f45648a6f7 feat(caldav): Sync Reminders / VALARM (#1415)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1415
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-04-01 11:09:11 +00:00
3f5252dc24 feat: Add relative Reminders (#1427)
All checks were successful
continuous-integration/drone/push Build is passing
Partially resolves #1416

Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: vikunja/api#1427
Reviewed-by: konrad <k@knt.li>
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-03-27 20:07:06 +00:00
7a9611c2da chore: cleanup
All checks were successful
continuous-integration/drone/pr Build is passing
2023-03-13 14:28:36 +01:00
7e53a21407 fix: rename incorrectly named ProjectUsers method 2023-03-13 14:28:06 +01:00
8f4abd2fe8 feat: rename all list files 2023-03-13 14:28:06 +01:00
349e6a5905 feat: rename lists to projects 2023-03-13 14:28:06 +01:00
a62b57ac62 feat(caldav): import caldav categories as Labels (#1413)
All checks were successful
continuous-integration/drone/push Build is passing
Resolves #1274

Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: vikunja/api#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
fdbe110945 chore(deps): upgrade golangci-lint to 1.51.0
All checks were successful
continuous-integration/drone/push Build is passing
2023-02-02 11:16:07 +01:00
b4b25499f2 feat(task): add cover image attachment id property 2022-10-05 15:12:29 +02:00
96ed1e33e3 fix: don't allow setting a list namespace to 0
Some checks failed
continuous-integration/drone/push Build is failing
See https://github.com/go-vikunja/app/issues/13
2022-10-01 15:02:17 +02:00
01271c4c01 feat: allow only the authors of task comments to edit them
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-16 17:38:27 +02:00
e52c45d5aa fix: sort tasks logically and consistent across dbms (#1177)
All checks were successful
continuous-integration/drone/push Build is passing
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
0a1d8c9404 feat: add date math for filters (#1086)
All checks were successful
continuous-integration/drone/push Build is passing
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: vikunja/frontend#1342

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1086
2022-03-27 20:35:04 +00:00
5cf263a86f feat: upgrade golangci-lint to 1.45.2
Some checks failed
continuous-integration/drone/push Build is failing
2022-03-27 16:55:37 +02:00
1322cb16d7 feat: add long-lived api tokens (#1085)
Some checks reported errors
continuous-integration/drone/push Build was killed
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1085
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2022-02-06 13:18:08 +00:00
fb9fa27488 healthcheck endpoint (#998)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: Igor Rzegocki <igor@rzegocki.pl>
Reviewed-on: vikunja/api#998
Reviewed-by: konrad <k@knt.li>
Co-authored-by: ajgon <vikunja-gitea@ajgon.ovh>
Co-committed-by: ajgon <vikunja-gitea@ajgon.ovh>
2021-10-03 18:37:02 +00:00
c3da454854 Update module github.com/golang-jwt/jwt to v4 (#930)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#930
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-03 21:43:18 +00:00
9c2a59582a Fix setting up keyvalue storage in tests
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-30 15:31:51 +02:00
6ccb85a0dc Reorder tasks, lists and kanban buckets (#923)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#923
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-28 19:06:40 +00:00
eae3cbc7bb Replace jwt-go with github.com/golang-jwt/jwt
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-27 10:46:28 +02:00
4216ed7277 Refactor user email confirmation + password reset handling (#919)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#919
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-13 20:56:02 +00:00
b4d726f5a8 Add repeat monthly setting for tasks (#834)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#834
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-04-14 09:04:58 +00:00
b3c604fd2f Add link share password authentication (#831)
All checks were successful
continuous-integration/drone/push Build is passing
Reviewed-on: vikunja/api#831
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-04-11 13:17:50 +00:00
126f3acdc8 Enable searching users by full email or name
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-07 18:28:58 +02:00
84291679cc Add names for link shares (#829)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#829
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-04-07 12:44:39 +00:00
0ab9ce9ec4 Add events (#777)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#777
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-02-02 22:48:37 +00:00
c4a71016b8 Update copyright year
Some checks failed
continuous-integration/drone/push Build is failing
2021-02-02 20:19:13 +01:00
456af4d4a9 Fix go header lint
All checks were successful
continuous-integration/drone/push Build is passing
2020-12-29 02:04:20 +01:00
9baf6d39bd Change license to AGPLv3
Some checks failed
continuous-integration/drone/push Build is failing
2020-12-23 16:41:52 +01:00
d1c65935e6 Add name field to users
All checks were successful
continuous-integration/drone/push Build is passing
2020-11-21 21:51:55 +01:00
2b5c9ae7a8 Authentication with OpenID Connect providers (#713)
All checks were successful
continuous-integration/drone/push Build is passing
Add config docs

Lint

Move provider-related stuff to separate file

Refactor getting auth providers

Fix tests

Fix user tests

Fix openid tests

Add swagger docs

Fix lint

Fix lint issues

Fix checking if the user already exists

Make sure to create a new namespace for new users

Docs

Add tests for openid

Remove unnessecary err check

Consistently return nil users if creating a new user failed

Move sending confirmation email to separate function

Better variable names

Move checks to separate functions

Refactor creating user into seperate file

Fix creating new local users

Test creating new users from different issuers

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

Add todo

Cache openid providers

Add getting int clientids

Fix migration

Move creating tokens to auth package

Add getting or creating a third party user

Add parsing claims

Add retreiving auth tokens

Add token callback from openid package

Add check for provider key

Add routes

Start adding openid auth handler

Add config for openid auth

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#713
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-11-21 16:38:58 +00:00
699d3d6060 Add Golangci Lint (#676)
All checks were successful
continuous-integration/drone/push Build is passing
Increase golangci timeout

Fix installing golangci-lint in ci

Remove mage targets replaced by golangci

Run golint in ci

Add goheader linter

Enable & fix more linters

Fix lint issues

Add mage target to automagically fix issues found by golangci

golangci-lint run --fix

Add golangci config

Add golangci mage target

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#676
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-10-11 20:10:03 +00:00
0fb2edf051 Saved filters (#655)
All checks were successful
continuous-integration/drone/push Build is passing
Fix updating saved filters

Fix filter not loadable because of missing param declaration

Add fancy special cases for postgres exists in db

Add special case for postgrs json

Add read one test

Add rights tests

Fix lint

Fixed getting a single saved filter from db

Add tests for the usual crud methods

Add test stubs and TODOs

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

Add test fixture for saved filters and fix existing tests

Fix exposed json variables of filters

Fix creating saved filters table for tests

Add getting saved filters as pseudo namespace

Cleanup

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

Add custom erros for saved filters

Swagger docs

Fix lint

Add routes for saved filters

Add alias for mage build

Add method to get a saved filter from the lists endpoint

Add getting tasks from a saved filter

Add create, update, delete, read one methods

Add rights methods for saved filters

Fix docs minLength

Add saved filters column

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

Add test for favorite tasks

Fix favorite tasks not being updated

Fix integration tests

Fix lint

Return a pseudo namespace and list for favorites

Make sure users can only see their favorites

Add condition show tasks from the favorites list

Regenerate swagger docs

Add favorite field to task

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#653
2020-09-05 20:16:02 +00:00
14d706c91e Kanban bucket limits (#652)
All checks were successful
continuous-integration/drone/push Build is passing
Fix integration tests

Generate swagger docs

Add test for moving a task between buckets

Add check for bucket limit when updating a task

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

Refactor bucket limit check into seperate function

Add test for creating and fix

Fix unexported field

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

Add migration to add new task field

Add limit field to buckets

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#652
2020-09-04 14:37:56 +00:00