56625b0b90
fix: lint
2023-10-10 20:35:43 +02:00
Peter H0ffmann
ad04d302af
chore: reverse the coupling of module log and config ( #1606 )
...
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
c5c74e9537
chore(caldav): improve trimming .ics file ending
2023-09-07 15:52:37 +02:00
bfb01898c2
fix(api tokens)!: make sure task create routes are available to use with the api
...
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
97b5cd306f
feat: add demo mode flag
...
Related to vikunja/frontend#2453
2023-09-01 17:47:43 +02:00
edel
11810c9b3e
fix: validate usernames on registration
2023-09-01 17:40:31 +02:00
eac4e455fd
fix(api tokens): lint
2023-09-01 15:56:35 +02:00
974e1878f8
chore(api tokens): add swagger docs about api token auth
2023-09-01 15:53:27 +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
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
e6b25bd57b
feat(api tokens): add crud routes to manage api tokens
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
...
Resolves vikunja/api#1483
2023-09-01 08:32:28 +02:00
32689531ec
chore(docs): move login and register routes to auth category in api docs
2023-07-03 18:10:01 +02:00
04e2c51fac
feat: allow saving frontend settings via api
2023-06-11 17:49:14 +02:00
d68338b649
fix(docs): clarify error codes in swagger docs
...
Resolves vikunja/api#1518
2023-05-30 21:37:40 +02:00
b56e45d743
fix: use rewrite when hosting frontend files via the api
...
Resolves vikunja/api#1531
2023-05-30 18:56:37 +02:00
3b837a472b
fix(migration): remove wunderlist leftovers
2023-05-24 15:51:55 +02:00
e93a5ff11f
fix: rename after rebase
2023-05-24 15:51:54 +02:00
d79c393e5b
fix: make it compile again
2023-05-24 15:51:54 +02:00
fef253312c
feat(projects): cleanup namespace leftovers
2023-05-24 15:51:54 +02:00
16de7cd591
feat(projects): remove namespaces
2023-05-24 15:51:54 +02:00
47c2da7f18
feat: rename lists to projects
2023-05-24 15:51:53 +02:00
fc73c84bf2
feat: rename lists to projects
2023-05-24 15:51:53 +02:00
87ed68e4c8
fix(migration): remove wunderlist leftovers
2023-05-24 15:51:53 +02:00
50c922b7d1
fix: lint
2023-05-24 15:51:53 +02:00
96a0f5e169
feat: rename lists to projects
2023-05-24 15:51:53 +02:00
359d0512cc
fix: upgrade jwt v5
2023-05-23 16:37:16 +02:00
47e42238ef
fix: make sure Vikunja is buildable without swagger docs present
2023-04-06 12:11:31 +02:00
Dominik Pschenitschni
cca430810d
fix(image): json type of struct property ( #1469 )
...
Co-authored-by: Dominik Pschenitschni <mail@celement.de>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1469
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2023-04-06 09:53:09 +00:00
7ada82ea92
fix: align namespaceID param
2023-04-05 12:14:10 +00:00
fc2cc4a155
fix: spelling
2023-04-03 05:19:08 +00:00
Dominik Pschenitschni
cf7423fc1a
fix(api): license ( #1457 )
...
Reviewed-on: vikunja/api#1457
Reviewed-by: konrad <k@knt.li>
Co-authored-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
Co-committed-by: Dominik Pschenitschni <dpschen@noreply.kolaente.de>
2023-04-02 19:34:06 +00:00
cernst
5961e56d16
fix(caldav): Do not create label if it exists by title ( #1444 )
...
Resolves vikunja/api#1435
Co-authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: vikunja/api#1444
Co-authored-by: cernst <ce72@noreply.kolaente.de>
Co-committed-by: cernst <ce72@noreply.kolaente.de>
2023-03-24 18:34:48 +00:00
4d5ad8f50e
chore(deps): update golangci-lint to 1.52.1
2023-03-24 19:17:45 +01:00
8916de0366
fix: update redoc
2023-03-16 19:08:18 +01:00
77ad90d53e
fix(migration): remove wunderlist leftovers
2023-03-13 14:28:20 +01:00
06f1d2e912
fix: test fixtures
2023-03-13 14:28:07 +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
c0c523f0a8
fix: don't send bad request errors to sentry
2023-03-13 10:52:52 +01:00
077baba2ea
fix: lint
2023-03-05 14:34:34 +01:00
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
cernst
a62b57ac62
feat(caldav): import caldav categories as Labels ( #1413 )
...
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
534d04a1db
fix(task): correctly load tasks by id and uuid in caldav
...
Partially reverts 1afc72e190
2023-03-01 22:18:59 +01:00
cernst
1afc72e190
fix: Make sure labels are always exported as caldav ( #1412 )
...
Authored-by: ce72 <christoph.ernst72@googlemail.com>
Reviewed-on: vikunja/api#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
530bb0a63c
fix(user): make reset the user's name to empty actually work
2023-01-23 18:30:01 +01:00
ef1d1e2b20
feat(migrators): remove wunderlist ( #1346 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1346
2022-12-29 17:12:39 +00:00
c6429c8b13
fix(deps): update module github.com/labstack/echo/v4 to v4.10.0 ( #1343 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1343
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-12-28 10:32:12 +00:00
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
0d044997df
fix(migration): expose ticktick migrator to /info
2022-10-09 22:45:01 +02:00
3af9855148
feat(migration): add routes for TickTick migrator
2022-10-09 22:44:49 +02:00
e5394d6d4b
feat(migration): add TickTick migrator
2022-10-09 22:44:32 +02:00
c5bd09702a
chore(deps): update dependency golang to v1.19 ( #1228 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1228
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2022-10-01 15:05:12 +00:00
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: vikunja/api#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
8f27e7e619
fix: properly decode params in url
...
Resolves vikunja/api#1224
2022-08-02 14:50:03 +02:00
382a7884be
fix: make sure to use user discoverability settings when searching list users
...
Resolves vikunja/frontend#2196
2022-08-02 13:26:42 +02:00
4429ba2da1
fix(caldav): make sure the caldav tokens of non-local accounts are properly checked
2022-07-04 18:08:46 +02:00
c62e26b6fe
fix: revert renaming Attachments to Embeds everywhere
2022-06-30 14:21:17 +00:00
f4f8450d16
feat: embed the vikunja logo as inline attachment
2022-06-30 14:21:17 +00:00
8869adfc27
feat: add setting to change overdue tasks reminder email time
2022-06-16 16:20:26 +02:00
2f25b48869
feat: restrict max avatar size
...
resolves #1171
2022-06-12 18:29:12 +02:00
grahammiln
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: vikunja/api#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
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: vikunja/frontend#1186
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1065
2022-03-30 18:25:56 +00:00
ac6818a476
fix: checking for error types
2022-03-27 17:52:33 +02:00
5cf263a86f
feat: upgrade golangci-lint to 1.45.2
2022-03-27 16:55:37 +02:00
1322cb16d7
feat: add long-lived api tokens ( #1085 )
...
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
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: vikunja/api#1092
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2022-01-16 11:05:56 +00:00
a98119f2d6
feat: save user language in the settings
2021-12-12 15:39:47 +01:00
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: vikunja/api#1060
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-12-07 21:11:23 +00:00
093d0c65ca
feat: enable rate limit for unauthenticated routes
2021-11-14 20:42:33 +01:00
2683ef23d5
feat: expose if a user is a local user through the /user endpoint
2021-10-31 13:57:19 +01:00
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
fb9fa27488
healthcheck endpoint ( #998 )
...
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
ae8db176db
feat: expose if task comments are enabled or not in /info
2021-09-26 13:37:57 +02:00
90146aea5b
User Data Export and import ( #967 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#967
Co-authored-by: konrad <k@knt.li>
Co-committed-by: konrad <k@knt.li>
2021-09-04 19:26:31 +00:00
27119ad6d4
User account deletion ( #937 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#937
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-08-11 19:08:10 +00:00
c3da454854
Update module github.com/golang-jwt/jwt to v4 ( #930 )
...
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
e38be9bd18
Update module github.com/labstack/echo/v4 to v4.5.0 ( #929 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#929
Co-authored-by: renovate <renovatebot@kolaente.de>
Co-committed-by: renovate <renovatebot@kolaente.de>
2021-08-02 18:33:53 +00:00
d746c1bede
Notify the user after three failed login attempts
2021-07-30 15:01:04 +02:00
220f43331f
Reset failed totp attempts when logging in successfully
2021-07-30 14:46:10 +02:00
5cfc9bf2f9
Disable the user account after 10 failed password attempts
2021-07-29 18:45:22 +02:00
3572ac4b82
Send a notification on failed TOTP
2021-07-29 18:05:25 +02:00
dac315db59
Fix jwt middleware
2021-07-27 15:25:48 +02:00
eae3cbc7bb
Replace jwt-go with github.com/golang-jwt/jwt
2021-07-27 10:46:28 +02:00
d5d4d8b6ed
Fix lint
2021-07-13 12:16:12 +02:00
9559cbf1ec
Add more logging for test data api endpoint
2021-07-13 12:14:59 +02:00
e21a3904ff
Fix mapping task priorities from Vikunja to calDAV
...
Resolves #866
2021-07-11 15:03:50 +02:00
d0c77ad1c1
Make sure list / task favorites are set per user, not per entity ( #915 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#915
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-07-10 10:21:54 +00:00
78a206c818
Add setting for first day of the week
2021-06-03 18:11:44 +02:00
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: vikunja/api#875
Reviewed-by: konrad <konrad@kola-entertainments.de>
Co-authored-by: sytone <kolaente@sytone.com>
Co-committed-by: sytone <kolaente@sytone.com>
2021-06-02 21:20:22 +00:00
d07b284ee3
Add reminders for overdue tasks ( #832 )
...
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#832
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-04-11 15:08:43 +00:00
b3c604fd2f
Add link share password authentication ( #831 )
...
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