Commit Graph

187 Commits

Author SHA1 Message Date
kolaente 077baba2ea
fix: lint
continuous-integration/drone/push Build is passing Details
2023-03-05 14:34:34 +01:00
kolaente 066c26f83e
fix(caldav): make sure only labels where the user has permission to use them are used
continuous-integration/drone/push Build is failing Details
Follow-up for a62b57ac62
2023-03-05 14:03:09 +01:00
cernst a62b57ac62 feat(caldav): import caldav categories as Labels (#1413)
continuous-integration/drone/push Build is passing Details
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
kolaente 534d04a1db
fix(task): correctly load tasks by id and uuid in caldav
continuous-integration/drone/push Build is passing Details
Partially reverts 1afc72e190
2023-03-01 22:18:59 +01:00
cernst 1afc72e190 fix: Make sure labels are always exported as caldav (#1412)
continuous-integration/drone/push Build is passing Details
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
kolaente 530bb0a63c
fix(user): make reset the user's name to empty actually work
continuous-integration/drone/push Build is failing Details
2023-01-23 18:30:01 +01:00
konrad ef1d1e2b20 feat(migrators): remove wunderlist (#1346)
continuous-integration/drone/push Build is failing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#1346
2022-12-29 17:12:39 +00:00
renovate c6429c8b13 fix(deps): update module github.com/labstack/echo/v4 to v4.10.0 (#1343)
continuous-integration/drone/push Build is failing Details
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
kolaente f5a33478f2
fix(migration): make sure importing works when the csv file has errors and don't try to parse empty values as dates
continuous-integration/drone/pr Build is passing Details
2022-10-09 22:58:08 +02:00
kolaente 0d044997df
fix(migration): expose ticktick migrator to /info 2022-10-09 22:45:01 +02:00
kolaente 3af9855148
feat(migration): add routes for TickTick migrator 2022-10-09 22:44:49 +02:00
kolaente e5394d6d4b
feat(migration): add TickTick migrator 2022-10-09 22:44:32 +02:00
renovate c5bd09702a chore(deps): update dependency golang to v1.19 (#1228)
continuous-integration/drone/push Build is failing Details
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
Luca Bernstein 54b7f7127c fix(caldav): no failed login emails for tokens (#1252)
continuous-integration/drone/push Build is passing Details
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
kolaente 8f27e7e619
fix: properly decode params in url
continuous-integration/drone/push Build is failing Details
Resolves vikunja/api#1224
2022-08-02 14:50:03 +02:00
kolaente 382a7884be
fix: make sure to use user discoverability settings when searching list users
continuous-integration/drone/push Build is failing Details
Resolves vikunja/frontend#2196
2022-08-02 13:26:42 +02:00
kolaente 4429ba2da1
fix(caldav): make sure the caldav tokens of non-local accounts are properly checked
continuous-integration/drone/push Build is failing Details
2022-07-04 18:08:46 +02:00
kolaente c62e26b6fe fix: revert renaming Attachments to Embeds everywhere 2022-06-30 14:21:17 +00:00
kolaente f4f8450d16 feat: embed the vikunja logo as inline attachment 2022-06-30 14:21:17 +00:00
kolaente 8869adfc27
feat: add setting to change overdue tasks reminder email time
continuous-integration/drone/push Build is passing Details
2022-06-16 16:20:26 +02:00
kolaente 2f25b48869
feat: restrict max avatar size
continuous-integration/drone/push Build is passing Details
resolves #1171
2022-06-12 18:29:12 +02:00
grahammiln acaa85083f feat: ability to serve static files (#1174)
continuous-integration/drone/push Build is passing Details
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
konrad e4b50e84a4 feat: add caldav tokens (#1065)
continuous-integration/drone/push Build is passing Details
# 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
kolaente ac6818a476
fix: checking for error types
continuous-integration/drone/push Build is passing Details
2022-03-27 17:52:33 +02:00
kolaente 5cf263a86f
feat: upgrade golangci-lint to 1.45.2
continuous-integration/drone/push Build is failing Details
2022-03-27 16:55:37 +02:00
konrad 1322cb16d7 feat: add long-lived api tokens (#1085)
continuous-integration/drone/push Build was killed Details
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
konrad 61d49c3a56 feat: add time zone setting for reminders (#1092)
continuous-integration/drone/push Build is passing Details
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
kolaente a98119f2d6
feat: save user language in the settings
continuous-integration/drone/push Build is failing Details
2021-12-12 15:39:47 +01:00
konrad 73ee696fc3 feat: add marble avatar (#1060)
continuous-integration/drone/push Build is passing Details
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
kolaente 093d0c65ca
feat: enable rate limit for unauthenticated routes
continuous-integration/drone/push Build is passing Details
2021-11-14 20:42:33 +01:00
kolaente 2683ef23d5
feat: expose if a user is a local user through the /user endpoint
continuous-integration/drone/push Build is passing Details
2021-10-31 13:57:19 +01:00
kolaente 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
ajgon fb9fa27488 healthcheck endpoint (#998)
continuous-integration/drone/push Build is passing Details
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
kolaente ae8db176db
feat: expose if task comments are enabled or not in /info
continuous-integration/drone/push Build is failing Details
2021-09-26 13:37:57 +02:00
konrad 90146aea5b User Data Export and import (#967)
continuous-integration/drone/push Build is passing Details
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
konrad 27119ad6d4 User account deletion (#937)
continuous-integration/drone/push Build is passing Details
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
renovate c3da454854 Update module github.com/golang-jwt/jwt to v4 (#930)
continuous-integration/drone/push Build is passing Details
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
renovate e38be9bd18 Update module github.com/labstack/echo/v4 to v4.5.0 (#929)
continuous-integration/drone/push Build is passing Details
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
kolaente d746c1bede
Notify the user after three failed login attempts
continuous-integration/drone/push Build is failing Details
2021-07-30 15:01:04 +02:00
kolaente 220f43331f
Reset failed totp attempts when logging in successfully
continuous-integration/drone/push Build is failing Details
2021-07-30 14:46:10 +02:00
kolaente 5cfc9bf2f9
Disable the user account after 10 failed password attempts
continuous-integration/drone/push Build is passing Details
2021-07-29 18:45:22 +02:00
kolaente 3572ac4b82
Send a notification on failed TOTP
continuous-integration/drone/push Build is passing Details
2021-07-29 18:05:25 +02:00
kolaente dac315db59
Fix jwt middleware
continuous-integration/drone/push Build is passing Details
2021-07-27 15:25:48 +02:00
kolaente eae3cbc7bb
Replace jwt-go with github.com/golang-jwt/jwt
continuous-integration/drone/push Build is passing Details
2021-07-27 10:46:28 +02:00
kolaente d5d4d8b6ed
Fix lint
continuous-integration/drone/push Build is passing Details
2021-07-13 12:16:12 +02:00
kolaente 9559cbf1ec
Add more logging for test data api endpoint
continuous-integration/drone/push Build is failing Details
2021-07-13 12:14:59 +02:00
kolaente e21a3904ff
Fix mapping task priorities from Vikunja to calDAV
continuous-integration/drone/push Build is passing Details
Resolves #866
2021-07-11 15:03:50 +02:00
konrad d0c77ad1c1 Make sure list / task favorites are set per user, not per entity (#915)
continuous-integration/drone/push Build is passing Details
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
kolaente 78a206c818
Add setting for first day of the week
continuous-integration/drone/push Build is passing Details
2021-06-03 18:11:44 +02:00
kolaente fc5703ac8c
Add truncate parameter to test fixtures setup
continuous-integration/drone/push Build is passing Details
2021-06-03 15:30:31 +02:00