Commit Graph

171 Commits

Author SHA1 Message Date
4429ba2da1
fix(caldav): make sure the caldav tokens of non-local accounts are properly checked
Some checks failed
continuous-integration/drone/push Build is failing
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
All checks were successful
continuous-integration/drone/push Build is passing
2022-06-16 16:20:26 +02:00
2f25b48869
feat: restrict max avatar size
All checks were successful
continuous-integration/drone/push Build is passing
resolves #1171
2022-06-12 18:29:12 +02:00
grahammiln
acaa85083f feat: ability to serve static files (#1174)
All checks were successful
continuous-integration/drone/push Build is passing
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)
All checks were successful
continuous-integration/drone/push Build is passing
# 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
All checks were successful
continuous-integration/drone/push Build is passing
2022-03-27 17:52:33 +02: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
61d49c3a56 feat: add time zone setting for reminders (#1092)
All checks were successful
continuous-integration/drone/push Build is passing
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
Some checks failed
continuous-integration/drone/push Build is failing
2021-12-12 15:39:47 +01:00
73ee696fc3 feat: add marble avatar (#1060)
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2021-11-14 20:42:33 +01:00
2683ef23d5
feat: expose if a user is a local user through the /user endpoint
All checks were successful
continuous-integration/drone/push Build is passing
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)
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
ae8db176db
feat: expose if task comments are enabled or not in /info
Some checks failed
continuous-integration/drone/push Build is failing
2021-09-26 13:37:57 +02:00
90146aea5b User Data Export and import (#967)
All checks were successful
continuous-integration/drone/push Build is passing
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)
All checks were successful
continuous-integration/drone/push Build is passing
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)
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
e38be9bd18 Update module github.com/labstack/echo/v4 to v4.5.0 (#929)
All checks were successful
continuous-integration/drone/push Build is passing
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
Some checks failed
continuous-integration/drone/push Build is failing
2021-07-30 15:01:04 +02:00
220f43331f
Reset failed totp attempts when logging in successfully
Some checks failed
continuous-integration/drone/push Build is failing
2021-07-30 14:46:10 +02:00
5cfc9bf2f9
Disable the user account after 10 failed password attempts
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-29 18:45:22 +02:00
3572ac4b82
Send a notification on failed TOTP
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-29 18:05:25 +02:00
dac315db59
Fix jwt middleware
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-27 15:25:48 +02: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
d5d4d8b6ed
Fix lint
All checks were successful
continuous-integration/drone/push Build is passing
2021-07-13 12:16:12 +02:00
9559cbf1ec
Add more logging for test data api endpoint
Some checks failed
continuous-integration/drone/push Build is failing
2021-07-13 12:14:59 +02:00
e21a3904ff
Fix mapping task priorities from Vikunja to calDAV
All checks were successful
continuous-integration/drone/push Build is passing
Resolves #866
2021-07-11 15:03:50 +02:00
d0c77ad1c1 Make sure list / task favorites are set per user, not per entity (#915)
All checks were successful
continuous-integration/drone/push Build is passing
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
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-03 18:11:44 +02:00
fc5703ac8c
Add truncate parameter to test fixtures setup
All checks were successful
continuous-integration/drone/push Build is passing
2021-06-03 15:30:31 +02:00
3277f6acf7 Add default list setting (#875)
All checks were successful
continuous-integration/drone/push Build is passing
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)
All checks were successful
continuous-integration/drone/push Build is passing
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)
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
8ddc00bd29
Fix getting user info from /user endpoint for link shares
All checks were successful
continuous-integration/drone/push Build is passing
2021-04-07 15:02:57 +02:00
cb0df3ebbc
Show empty avatar when the user was not found
Some checks failed
continuous-integration/drone/push Build is failing
2021-04-07 14:56:44 +02:00
ee436efba3
Add endpoint to remove a list background
All checks were successful
continuous-integration/drone/push Build is passing
2021-03-21 17:49:14 +01:00
3999580fe6
Add basic auth for metrics endpoint
All checks were successful
continuous-integration/drone/push Build is passing
2021-02-28 11:29:53 +01:00
2178166ece Add crud endpoints for notifications (#801)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#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
eb3a945678
Fix deleting task relations
Some checks reported errors
continuous-integration/drone/push Build encountered an error
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
e7875ecb3b Subscriptions and notifications for namespaces, tasks and lists (#786)
Some checks failed
continuous-integration/drone/push Build is failing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#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
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
2447f84e2b Fix /dav/principals/*/ throwing a server error when accessed with GET instead of PROPFIND (#769)
All checks were successful
continuous-integration/drone/push Build is passing
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#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
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