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
...
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
...
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 )
...
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
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 )
...
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
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 )
...
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
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
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
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 )
...
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
continuous-integration/drone/push Build is passing
2023-09-15 12:53:29 +02:00
addcbdd8ca
fix(test): don't check for error
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
continuous-integration/drone/push Build is failing
2023-09-13 12:19:09 +02:00
38a3a5c6e8
fix(typesense): explicitely create typesense sync table
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
...
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
continuous-integration/drone/push Build is failing
2023-09-07 15:52:37 +02:00
e34f503674
fix: lint
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
...
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
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
...
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
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
continuous-integration/drone/push Build is failing
2023-09-06 21:08:09 +02:00
107b0b791f
fix(swagger): add generated swagger docs to repo
continuous-integration/drone/push Build is failing
2023-09-06 18:01:45 +02:00
424bf7647b
fix: lint
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
continuous-integration/drone/push Build is failing
2023-09-06 13:13:51 +02:00
b8e73f4fa5
fix: lint
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
...
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
continuous-integration/drone/push Build is failing
2023-09-04 14:25:46 +02:00
80b40bb2c0
feat(notify): don't notify disabled users
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
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
continuous-integration/drone/push Build is failing
2023-09-04 10:42:10 +02:00
490d374cfd
fix(typesense): add more error logging
continuous-integration/drone/push Build is passing
2023-09-04 10:20:51 +02:00
21a1f02ea3
fix(typesense): add more error logging
continuous-integration/drone/push Build is failing
2023-09-03 22:54:50 +02:00
1a492722dd
fix(typesense): upsert one document at a time
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
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
continuous-integration/drone/pr Build is passing
2023-09-03 15:50:47 +02:00
60bd5c8a79
feat: make default bucket configurable
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
...
continuous-integration/drone/push Build is passing
Related to vikunja/frontend#2453
2023-09-01 17:47:43 +02:00
b3a847e581
fix(kanban): create missing kanban buckets ( #1601 )
...
continuous-integration/drone/push Build is failing
Co-authored-by: edel <edel.altares@pm.me>
Reviewed-on: vikunja/api#1601
Co-authored-by: kolaente <k@knt.li>
Co-committed-by: kolaente <k@knt.li>
2023-09-01 15:41:31 +00:00
edel
11810c9b3e
fix: validate usernames on registration
continuous-integration/drone/push Build is failing
2023-09-01 17:40:31 +02:00
60cd1250a0
feat: api tokens
...
continuous-integration/drone/push Build is failing
Reviewed-on: vikunja/api#1600
2023-09-01 14:34:39 +00:00
edbfc06a41
fix(kanban): don't prevent setting a different bucket as done bucket
...
continuous-integration/drone/push Build is passing
Resolves vikunja/frontend#3373
2023-09-01 16:18:59 +02:00
769b4f8d66
fix(task): remove task relation in the other direction as well
...
continuous-integration/drone/push Build is passing
Resolves https://community.vikunja.io/t/removing-parent-relationship-doesnt-remove-the-subtask-relationship/1492/3
2023-09-01 16:12:20 +02:00
eac4e455fd
fix(api tokens): lint
continuous-integration/drone/pr Build is passing
2023-09-01 15:56:35 +02:00
a4d946b4a9
fix(api tokens): test
2023-09-01 15:54:39 +02:00
974e1878f8
chore(api tokens): add swagger docs about api token auth
2023-09-01 15:53:27 +02:00
14c5a8ca5b
fix(api tokens): make sure read one routes show up in routes endpoint
continuous-integration/drone/pr Build is failing
2023-09-01 12:58:29 +02:00
e3c5a93f4f
chore(api tokens): remove updated date from tokens as it can't be updated anyway
2023-09-01 11:16:36 +02:00
8f3d18a809
feat(api tokens): better error message for invalid tokens
2023-09-01 10:27:56 +02:00
e295d75e6e
feat(api tokens): move token validation middleware to new function
2023-09-01 10:19:55 +02:00
d9bfcdab8e
feat(api tokens): add tests
2023-09-01 10:19:31 +02:00
e3dac16398
feat(api tokens): check permissions when saving
2023-09-01 08:52:57 +02:00
e4c71123ef
fix: lint
2023-09-01 08:39:25 +02:00
5c6c6cd9f0
feat(api tokens): check for scopes
2023-09-01 08:36:15 +02:00
677bd5cfc9
feat(api tokens): check for expiry date
2023-09-01 08:36:15 +02:00
fb2a1c59db
feat(api tokens): check if a provided token matched a hashed on in the database
2023-09-01 08:36:15 +02:00
c88cbaa973
feat(api tokens): properly hash tokens
2023-09-01 08:36:11 +02:00
e6b25bd57b
feat(api tokens): add crud routes to manage api tokens
2023-09-01 08:35:54 +02:00
3faf48706a
feat(api tokens): add api token struct and migration
2023-09-01 08:35:54 +02:00
1ca93a678e
feat: endpoint to get all token routes
2023-09-01 08:35:54 +02:00
e518fb1191
chore: remove year from copyright headers
...
continuous-integration/drone/push Build is failing
Resolves vikunja/api#1483
2023-09-01 08:32:28 +02:00
5811d2a13b
fix: order by clause in task comments
continuous-integration/drone/push Build is passing
2023-08-31 15:44:59 +02:00
5392ca788c
fix(comments): make sure comment sort order is stable
...
continuous-integration/drone/push Build was killed
Resolves https://community.vikunja.io/t/comment-order-is-not-by-time/1147/3?u=kolaente
2023-08-29 14:09:53 +02:00
02184663e5
fix(filter): assignee search by partial username test
continuous-integration/drone/pr Build is passing
2023-08-29 11:40:53 +02:00
29317b980e
fix: lint
continuous-integration/drone/pr Build is failing
2023-08-29 11:32:45 +02:00
4f2796ac58
fix(filters): make "in" filter comparator work with Typesense
continuous-integration/drone/pr Build is failing
2023-08-29 11:14:36 +02:00
d0e3062bee
feat(tasks): allow filtering for reminders, assignees and labels with Typesense
continuous-integration/drone/pr Build is failing
2023-08-29 10:54:18 +02:00
748651447a
feat(tasks): find tasks by their identifier when searching with Typesense
continuous-integration/drone/pr Build is failing
2023-08-29 09:31:36 +02:00
2ca193e63b
feat(tasks): make sorting and filtering work with Typesense
2023-08-28 19:10:18 +02:00
09cfe41e4f
feat(tasks): remove deleted tasks from Typesense
2023-08-28 13:34:47 +02:00
1a82d6da44
feat(tasks): add periodic resync of updated tasks to Typesense
2023-08-28 13:26:40 +02:00
010b4ce783
feat(tasks): add searching via typesense
2023-08-28 12:14:50 +02:00
dee46d527a
feat(tasks): add typesense indexing
2023-08-28 11:11:30 +02:00
693a77ae51
fix(user): don't prevent deleting a user if their default project was shared
...
continuous-integration/drone/push Build is passing
Resolves vikunja/api#1595
2023-08-25 15:14:25 +02:00
49d8713388
fix: typo
continuous-integration/drone/push Build is passing
2023-08-24 11:16:07 +02:00
1b9c4204a8
fix(reminders): make sure reminders are only sent once per user
...
continuous-integration/drone/push Build is failing
Previously, when a user was creator and assigned to a task, they would get two reminder notifications for the same task. This was caused by Vikunja first fetching all creators and then all assignees and not removing duplicates from that list.
Related: https://community.vikunja.io/t/duplicate-email-reminders/1505/3
2023-08-24 10:47:17 +02:00
5e8084c194
fix(project): duplicating a project should not create two backlog buckets
...
continuous-integration/drone/push Build is passing
Resolves https://community.vikunja.io/t/when-duplicating-a-project-the-resulting-project-has-an-extra-bucket/1524
2023-08-23 16:19:42 +02:00
acb03c430e
fix(user): allow deleting a user if they have a default project
...
continuous-integration/drone/push Build is failing
Resolves https://github.com/go-vikunja/api/issues/78
2023-08-23 16:10:51 +02:00
40037f25f2
fix(user): don't crash when attempting to change a user's password
...
continuous-integration/drone/push Build is passing
Resolves vikunja/api#1587
Resolves https://github.com/go-vikunja/api/issues/79
2023-08-23 15:56:18 +02:00
86f25f253b
fix(project): duplicate project into parent project
continuous-integration/drone/push Build is passing
2023-07-07 12:56:15 +02:00
b5194624e0
fix: don't try to load subscriptions for nonexistent projects
continuous-integration/drone/push Build is passing
2023-07-03 18:18:13 +02:00
32689531ec
chore(docs): move login and register routes to auth category in api docs
continuous-integration/drone/push Build is passing
2023-07-03 18:10:01 +02:00
117c569721
fix(projects): return subprojects which were shared from another user
continuous-integration/drone/push Build is passing
2023-07-03 11:45:29 +02:00
895263f054
fix(filters): sorting tasks from filters
...
continuous-integration/drone/push Build is failing
Resolves https://community.vikunja.io/t/filter-table-view-not-sorting/1416
2023-06-21 14:59:40 +02:00
1dc9c50d64
fix(deps): update module github.com/imdario/mergo to v1 ( #1559 )
...
continuous-integration/drone/push Build is passing
Reviewed-on: vikunja/api#1559
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-06-20 10:02:21 +00:00
04e2c51fac
feat: allow saving frontend settings via api
continuous-integration/drone/push Build is passing
2023-06-11 17:49:14 +02:00
cernst
4a4ba041e0
chore: remove reminderDates after frontend is migrated to reminders ( #1448 )
...
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
d83e3a0a03
chore: remove cache options
...
continuous-integration/drone/push Build is passing
Cache was not working correctly, added more complexity and actually made response times slower. Because of this, I'm removing all cache options until we figure out a better solution.
Resolves vikunja/api#1496
Resolves vikunja/api#907
2023-06-08 17:05:36 +02:00
72e0e22152
feat(kanban): return the total task count per bucket
continuous-integration/drone/push Build is passing
2023-06-08 16:56:05 +02:00
ef94e0cf86
feat(projects): don't allow deleting or archiving the default project
continuous-integration/drone/push Build is passing
2023-06-07 21:29:46 +02:00
ad0690369f
fix: lint
continuous-integration/drone/push Build is passing
2023-06-07 21:00:12 +02:00
ebfb3f9aaa
fix(filter): don't try to get the real subscription for a saved filter project
continuous-integration/drone/push Build is failing
2023-06-07 20:41:59 +02:00
4ed2d305f0
fix(task): don't build partial task identifier
continuous-integration/drone/push Build is failing
2023-06-07 20:33:18 +02:00
7b7a914560
fix(test): use correct filter id
continuous-integration/drone/push Build is failing
2023-06-07 20:30:28 +02:00
43ef5f98d8
fix(projects): don't fail to fetch a task if there's a broken subscription record associated to it
2023-06-07 20:30:14 +02:00
e66344c21e
fix(task): don't try to return a project identifier if there is no project
2023-06-07 20:29:35 +02:00
7755b9cd49
fix(projects): delete project in the correct order
2023-06-07 20:28:36 +02:00
67825425a4
fix(filters): return all filters with all projects, not grouped under a pseudo project
2023-06-07 18:55:36 +02:00
69bd023b62
fix(tasks): return a correct task identifier if the list does not have a good one set
continuous-integration/drone/push Build is failing
2023-06-07 18:17:08 +02:00
1a840c8b87
fix(tasks): make sure task deleted notification actually has information about the deleted task
continuous-integration/drone/push Build is failing
2023-06-07 18:14:20 +02:00
e3842b6df7
fix(projects): reset pagination limit when fetching subprojects
continuous-integration/drone/push Build is passing
2023-06-06 17:24:27 +02:00
e17b63b920
fix: lint
continuous-integration/drone/push Build is passing
2023-06-05 19:14:26 +02:00
d758bdc5e2
fix(projects): don't try to share for nonexisting namespace
2023-06-05 18:12:12 +02:00
d68338b649
fix(docs): clarify error codes in swagger docs
...
continuous-integration/drone/push Build is passing
Resolves vikunja/api#1518
2023-05-30 21:37:40 +02:00
8c3ef34f75
fix(deps): update github.com/vectordotdev/go-datemath digest to 640a500 ( #1532 )
...
continuous-integration/drone/push Build is passing
Reviewed-on: vikunja/api#1532
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2023-05-30 18:11:31 +00:00
b56e45d743
fix: use rewrite when hosting frontend files via the api
...
continuous-integration/drone/push Build is passing
Resolves vikunja/api#1531
2023-05-30 18:56:37 +02:00
a51bbd1159
fix: don't get favorite task projects filter multiple times
2023-05-24 15:52:33 +02:00
4b00f224d9
fix: reminder fixture
2023-05-24 15:52:33 +02:00
db3c7aa8b0
fix: make sure projects are correctly sorted
2023-05-24 15:52:33 +02:00
353279cbff
fix: fetch all tasks for all projects
2023-05-24 15:52:33 +02:00
3b0935d033
docs: remove all traces of namespaces
2023-05-24 15:52:33 +02:00
9011894a29
feat: check for cycles when creating or updating a project's parent
2023-05-24 15:52:33 +02:00
edcb806421
feat: remove ChildProjects project property
2023-05-24 15:52:33 +02:00
f2d943f5c4
fix: add missing error code
2023-05-24 15:52:33 +02:00
35964ce4a6
fix(projects): recalculate project's position after dragging when position would be 0
2023-05-24 15:52:33 +02:00
a8b76772ff
fix(migration): revert wrongly changed url
2023-05-24 15:52:33 +02:00
53b2ade5bb
feat(projects): return a favorites pseudo project when the user has favorite tasks
2023-05-24 15:52:32 +02:00
b482664d82
fix(projects): don't allow making a project child of itself
2023-05-24 15:52:32 +02:00
aafcb0bac4
fix(projects): don't return child projects twice
2023-05-24 15:52:32 +02:00
0110f93313
feat: make the new inbox project the default
2023-05-24 15:52:32 +02:00
f1cbe50605
fix: rename project receiver variable
2023-05-24 15:52:32 +02:00
746ac1098f
fix(test): adjust fixture bucket and list ids
2023-05-24 15:52:32 +02:00
d7396fac57
fix(test): adjust fixture id
2023-05-24 15:52:32 +02:00
3b00a5c200
fix(test): fixtures
2023-05-24 15:52:32 +02:00
a21bff3ffb
fix: compile errors
2023-05-24 15:52:32 +02:00
ebc3dd2b3e
fix: lint errors
2023-05-24 15:51:57 +02:00
017f771783
chore(test): show table content when db assertion failed
2023-05-24 15:51:56 +02:00
abe5f72493
fix(migration): enable insert from structure work recursively
2023-05-24 15:51:56 +02:00
4b55e2ce03
fix(migration): make file migration work with new structure
2023-05-24 15:51:56 +02:00
2f81791735
chore(export): remove unused events
2023-05-24 15:51:56 +02:00
8235c63f60
fix(tests): task collection fixtures
2023-05-24 15:51:56 +02:00
03b7fa6dd3
fix(tests): subscription test fixtures
2023-05-24 15:51:56 +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
48beb5f382
fix(project): don't allow un-archiving a project when its parent project is archived
2023-05-24 15:51:56 +02:00