Commit Graph

990 Commits

Author SHA1 Message Date
fd0b2d103d
feat(metrics): add total number of files metric
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-03 15:22:41 +01:00
0ce110fa52
feat(metrics): add active link share logins
Some checks failed
continuous-integration/drone/push Build is failing
2023-12-03 15:12:43 +01:00
8a3f16fcfb
fix(labels): make sure labels of shared sub projects are usable
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://community.vikunja.io/t/cannot-filter-on-projets-labels/1736
2023-12-03 14:33:43 +01:00
d35c30dd0c
fix(import): make sure importing works if parent / child projects are created in a different order
All checks were successful
continuous-integration/drone/push Build is passing
Resolves https://community.vikunja.io/t/migrating-from-self-hosted-instance/1805
2023-12-03 14:14:27 +01:00
66b44da85b
fix(projects): delete child projects when deleting a project
All checks were successful
continuous-integration/drone/push Build is passing
2023-12-01 17:27:40 +01:00
c6c465c273
feat: make unauthenticated user routes rate limit configurable
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-28 22:27:51 +01:00
bbc8da1e80
fix(tests): pass the map
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-20 12:22:44 +01:00
df1f95871a
fix(projects): correctly set project's archived state if their parent was archived
Some checks failed
continuous-integration/drone/push Build is failing
Resolves vikunja/frontend#3795
2023-11-17 20:00:08 +01:00
Frederick [Bot]
5da1075f88 [skip ci] Updated swagger docs 2023-11-16 12:20:35 +00:00
1ed65d306d
fix(docs): remove duplicate paths (params) in swagger docs
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-16 13:07:01 +01:00
b9a54b019d
fix(tests): remove duplicate projects from assertions
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-15 13:17:04 +01:00
61bce2b349
fix(projects): don't return child projects multiple times
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-15 12:56:36 +01:00
ab2eda4bd5
fix(openid): make sure usernames with spaces work
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-13 11:38:24 +01:00
Miguel Arroyo
225d65268d feat(caldav): Add support for subtasks (i.e. RELATED-TO property) in CalDAV (#1634)
All checks were successful
continuous-integration/drone/push Build is passing
As I mentioned [here](vikunja/api#1442 (comment)), this is mainly a cleanup of @zewaren 's original [PR](vikunja/api#1442).

It adds support for the `RELATED-TO` property in CalDAV's `VTODO` and the `RELTYPE=PARENT` and `RELTYPE=CHILD` relationships. In other words, it allows for `ParentTask->SubTask` relations to be handled supported through CalDAV.

In addition to the included tests, this has been tested by both @zewaren & myself with DAVx5 & Tasks (Android) and it's been working great.

Resolves vikunja/api#1345

Co-authored-by: Miguel A. Arroyo <miguel@codeheads.dev>
Co-authored-by: Erwan Martin <public@fzwte.net>
Reviewed-on: vikunja/api#1634
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Miguel Arroyo <mayanez@noreply.kolaente.de>
Co-committed-by: Miguel Arroyo <mayanez@noreply.kolaente.de>
2023-11-10 22:44:03 +00:00
6169c2e12e
fix(typesense): correctly convert date values for typesense
All checks were successful
continuous-integration/drone/push Build is passing
Resolves vikunja/api#1636
2023-11-09 12:29:52 +01:00
Frederick [Bot]
91146f139b [skip ci] Updated swagger docs 2023-11-08 23:29:34 +00:00
46683a2516
feat(migration): migration from other services now happens in the background
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-09 00:15:11 +01:00
707bb6f89e
fix(migration): make sub project hierarchy work when importing from other services
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-08 22:56:10 +01:00
b2866ca3da
feat(api): enable notifications for api token routes
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-07 14:58:46 +01:00
4d3ba495a7
fix(tests): use string IDs in Todoist test
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-07 13:28:06 +01:00
27984157c1
fix(migration): use string for todoist project note id
Some checks failed
continuous-integration/drone/push Build is failing
2023-11-03 12:06:23 +01:00
Frederick [Bot]
1c416ae73e [skip ci] Updated swagger docs 2023-10-24 14:38:04 +00:00
a375223872
fix: properly tag bucket-related operations
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-24 16:13:15 +02:00
a1ea77f751
feat: accept hex values which start with a #
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-24 16:12:22 +02:00
Frederick [Bot]
4625377752 [skip ci] Updated swagger docs 2023-10-22 17:21:16 +00:00
8a4856ad87 feat: convert all markdown content to html (#1625)
Some checks failed
continuous-integration/drone/push Build is failing
Migration for vikunja/frontend#2222

Reviewed-on: vikunja/api#1625
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2023-10-22 13:48:22 +00:00
10c9913e12
feat(notifications): add endpoint to mark all notifications as read
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-20 16:40:47 +02:00
66cf7ab50a
feat(reminders): include project in reminder notification
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-20 13:56:14 +02:00
Frederick [Bot]
b2b4b5423f [skip ci] Updated swagger docs 2023-10-20 11:39:17 +00:00
55d345e236
feat(webhooks): validate events and target url
All checks were successful
continuous-integration/drone/pr Build is passing
2023-10-20 12:42:28 +02:00
61cd08fa13
fix(webhooks): add created by user object when creating a webhook 2023-10-18 22:18:45 +02:00
72366a5b27
feat(webhooks): add created by user object when returning all webhooks 2023-10-18 20:06:07 +02:00
b4e3d8ee47
fix(webhooks): lint 2023-10-17 20:40:09 +02:00
7a74e491da
fix(webhooks): lint 2023-10-17 20:35:14 +02:00
2c84cec044
docs(webhooks): add swagger docs for all webhook endpoints 2023-10-17 20:35:14 +02:00
fc0029eed7
fix(webhooks): don't send the proxy auth header to the webhook target 2023-10-17 20:35:14 +02:00
177f367a8c
feat(webhooks): expose whether webhooks are enabled 2023-10-17 20:35:14 +02:00
1b82f26d3e
chore(webhooks): simplify registering webhook events 2023-10-17 20:35:13 +02:00
ec4aa606e2
chore(webhooks): reuse webhook client 2023-10-17 20:35:13 +02:00
831aa4a014
feat(webhooks): add support for webhook proxy 2023-10-17 20:35:13 +02:00
b38360c9a5
feat(webhooks): add timeout config option 2023-10-17 20:35:13 +02:00
34a92b759e
feat(webhooks): add setting to enable webhooks 2023-10-17 20:35:13 +02:00
8cc775ac4c
fix(webhooks): routes should use the common schema used for other routes already 2023-10-17 20:35:13 +02:00
a0d8b28813
feat(webhooks): add hmac signing 2023-10-17 20:35:13 +02:00
a3a323cbf1
feat(webhooks): set user agent header to Vikunja 2023-10-17 20:35:13 +02:00
4253d14367
chore(webhooks): remove WebhookEvent interface 2023-10-17 20:35:13 +02:00
96ccf6b923
feat(webhooks): add route to get all available webhook events 2023-10-17 20:35:13 +02:00
eb1b9247ad
feat(webhooks): prevent link shares from managing webhooks 2023-10-17 20:35:13 +02:00
57de44694c
feat(webhooks): add index on project id 2023-10-17 20:35:13 +02:00
8d7a492936
feat(webhooks): add filter based on project id 2023-10-17 20:35:13 +02:00
7d1c5c50c5
feat(webhooks): add basic sending of webhooks 2023-10-17 20:35:12 +02:00
7f3c300240
feat(webhooks): add routes 2023-10-17 20:35:12 +02:00
c5de41f183
feat(webhooks): add event listener to send webhook payload 2023-10-17 20:35:12 +02:00
e5b8d8bd2d
feat(webhooks): register task and project events as webhook 2023-10-17 20:35:12 +02:00
ad7d485eb5
feat(webhooks): add basic crud actions for webhooks 2023-10-17 20:35:12 +02:00
9a29b29a04
fix(user): allow openid users to request their deletion
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://community.vikunja.io/t/delete-user-not-possible-when-using-oidc/1689/4
2023-10-11 19:06:59 +02:00
58497f29e6
fix(kanban): filter for tasks in buckets by assignee should not modify the filter directly
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://github.com/go-vikunja/api/issues/84
2023-10-11 18:43:28 +02:00
Frederick [Bot]
775b98b729 [skip ci] Updated swagger docs 2023-10-11 08:50:34 +00:00
KaibutsuX
0769d59054
feat(cli): added --confirm/-c argument when deleting users to bypass prompt (#86)
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-On: https://github.com/go-vikunja/api/pull/86
2023-10-10 21:24:25 +02:00
56625b0b90
fix: lint
Some checks failed
continuous-integration/drone/push Build is failing
2023-10-10 20:35:43 +02:00
KaibutsuX
137f3bc151
chore: assume username instead of id when parsing fails for user commands (#87)
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-On: https://github.com/go-vikunja/api/pull/87
2023-10-10 18:06:10 +02:00
f5ac3abb2a
chore(test): add task deleted assertion to project deletion test
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-03 15:52:38 +02:00
Peter H0ffmann
ad04d302af chore: reverse the coupling of module log and config (#1606)
All checks were successful
continuous-integration/drone/push Build is passing
This way the config module can already use the log module with the same result (default logging to StdOut with Level INFO, same output as before) but ENV variables can already change the logging of config file related log output). It is now possible to dump as a cronjob without having to filter the default log about the used config file.

Also:
- all logging modules are now configurable when initializing which makes testing easier
- viper dependency removed from logging
- log correct settings when configured error level is invalid
- deprecation of value "false" for log.standard and log.events (already not mentioned in https://vikunja.io/docs/config-options/)

Co-authored-by: Berengar W. Lehr <Berengar.Lehr@uni-jena.de>
Reviewed-on: vikunja/api#1606
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Peter H0ffmann <hoffmannp@noreply.kolaente.de>
Co-committed-by: Peter H0ffmann <hoffmannp@noreply.kolaente.de>
2023-10-03 09:28:28 +00:00
c217233e08
fix(typesense): getting all data from typesense
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-29 21:26:12 +02:00
98102e59f2
feat(typesense): add new tasks to typesense directly when they are created
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-29 21:15:28 +02:00
8f4ee3a089
fix(typesense): make sure searching works when no task has a comment at index time
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-29 16:35:59 +02:00
feacbbff74 fix(caldav): do not update dates of tasks when repositioning them (#1605)
Some checks failed
continuous-integration/drone/push Build is failing
When a task is updated, the position of the tasks of the whole project/bucket are updated. This leads to column "updated" of model Task to be updated quite often. However, that column is used for the ETag field of CALDAV.
Thus, changing a task marks all the other tasks as updated, which prevents clients from synchronizing their edited tasks.

Co-authored-by: Erwan Martin <erwan@pepper.com>
Reviewed-on: vikunja/api#1605
Co-authored-by: Erwan Martin <public@fzwte.net>
Co-committed-by: Erwan Martin <public@fzwte.net>
2023-09-27 16:17:52 +00:00
f065dcf4ad
fix(typesense): add typesense sync to initial structs
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-15 12:53:29 +02:00
addcbdd8ca
fix(test): don't check for error
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-13 12:52:42 +02:00
054f21821c
fix(typesense): don't try to index tasks if there are none
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-13 12:19:09 +02:00
38a3a5c6e8
fix(typesense): explicitely create typesense sync table
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-13 12:05:37 +02:00
1ee243f2bd
fix(project background): add more checks for whether a background file exists when duplicating or deleting a project
Some checks failed
continuous-integration/drone/push Build is failing
Related discussion: https://community.vikunja.io/t/500-internal-server-error-when-selecting-unsplash-background-image/778/18
2023-09-13 11:20:59 +02:00
c5c74e9537
chore(caldav): improve trimming .ics file ending
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-07 15:52:37 +02:00
e34f503674
fix: lint
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-07 11:31:35 +02:00
bfcefa0217
fix(caldav): check for related tasks synced back from a caldav client
Some checks failed
continuous-integration/drone/push Build is failing
Related discussion https://community.vikunja.io/t/tasks-org-subtask-syncing-issue/737/9
2023-09-07 11:29:44 +02:00
c6bdb5752a
fix(import): create related tasks without an id
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-07 11:16:04 +02:00
68d4dcd7e6
fix(projects): don't limit results to top-level projects when searching
Some checks failed
continuous-integration/drone/push Build is failing
Resolves https://github.com/go-vikunja/api/issues/82
2023-09-07 10:56:59 +02:00
b2f3a23cb3
fix(import): correctly set child project relations
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-07 10:45:15 +02:00
93795d2f29
fix(import): resolve task relations by old task ids 2023-09-07 10:24:15 +02:00
adf4b95ed3
fix(import): ignore duplicate project identifier 2023-09-07 10:12:15 +02:00
ce3a06f03b
fix(import): don't fail when importing from dev exports 2023-09-07 10:11:59 +02:00
2c0c3ea24e
fix(build): don't require swagger to build
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-06 21:08:09 +02:00
107b0b791f
fix(swagger): add generated swagger docs to repo
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-06 18:01:45 +02:00
424bf7647b
fix: lint
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-06 14:56:25 +02:00
06bc92556e
fix(docs): add empty swagger file so that the package exists
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-06 13:13:51 +02:00
b8e73f4fa5
fix: lint
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-06 10:52:30 +02:00
bfb01898c2
fix(api tokens)!: make sure task create routes are available to use with the api
Some checks failed
continuous-integration/drone/push Build is failing
BREAKING CHANGE: The api route to create a new task is now /projects/:project/tasks instead of /projects/:project
2023-09-06 10:33:52 +02:00
d6db498853
fix: lint
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-04 14:25:46 +02:00
80b40bb2c0
feat(notify): don't notify disabled users
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-04 14:23:56 +02:00
c28d1af877
fix(cmd): do not initialize asnyc operations when running certain cli commands
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-04 11:22:50 +02:00
f38535b2f4
fix(typesense): upsert all documents at once 2023-09-04 11:19:55 +02:00
093b5b99a0
fix(typesense): pass the correct user when fetching task comments
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-04 10:42:10 +02:00
490d374cfd
fix(typesense): add more error logging
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-04 10:20:51 +02:00
21a1f02ea3
fix(typesense): add more error logging
Some checks failed
continuous-integration/drone/push Build is failing
2023-09-03 22:54:50 +02:00
1a492722dd
fix(typesense): upsert one document at a time
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-03 22:51:43 +02:00
8a15c91a4f
chore(tasks): better error messages when indexing tasks into Typesense
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-03 22:22:27 +02:00
0e32d478d1
fix(projects): save done and default bucket when updating project
All checks were successful
continuous-integration/drone/pr Build is passing
2023-09-03 15:50:47 +02:00
60bd5c8a79
feat: make default bucket configurable
All checks were successful
continuous-integration/drone/pr Build is passing
2023-09-03 15:17:17 +02:00
bbbb45d224
feat: move done bucket setting to project 2023-09-03 15:01:35 +02:00
97b5cd306f
feat: add demo mode flag
All checks were successful
continuous-integration/drone/push Build is passing
Related to vikunja/frontend#2453
2023-09-01 17:47:43 +02:00