Commit graph

181 commits

Author SHA1 Message Date
konrad
14d706c91e Kanban bucket limits (#652)
Fix integration tests

Generate swagger docs

Add test for moving a task between buckets

Add check for bucket limit when updating a task

Add fixture to ensure a bucket with a high limit will never exceed the limit

Refactor bucket limit check into seperate function

Add test for creating and fix

Fix unexported field

Add error in case a task was added to a bucket which has its limit already exceeded

Add migration to add new task field

Add limit field to buckets

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/652
2020-09-04 14:37:56 +00:00
kolaente
a58b932743
Work around tasks with attachments not being duplicated 2020-08-16 23:44:16 +02:00
kolaente
d192c36c39
Add better tests for namespaces 2020-08-15 22:16:36 +02:00
kolaente
4a70c81b33
Make sure to require admin rights when modifying list/namespace users to be consistent with teams
Signed-off-by: kolaente <k@knt.li>
2020-08-12 18:20:47 +02:00
konrad
bd8c1c3bb7 Return rights when reading a single item (#626)
Fix lint

Update docs

Fix loading all rights (list & namespace)

Add tests

Update web framework

Make tests run again

Update all calls to CanRead methods

Update task attachment & task comment & task rights to return the max right

Update team rights to return the max right

Update namespace rights to return the max right

Update list rights to return the max right

Update link share rights to return the max right

Update label rights to return the max right

Update web dependency

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/626
2020-08-10 12:11:43 +00:00
kolaente
6a82d4e2af
Fix updating team admin status 2020-08-05 17:28:11 +02:00
kolaente
11722bf029
Add update route to toggle team member admin status 2020-08-05 17:21:17 +02:00
konrad
dfb7730b63 More avatar providers (#622)
Don't fail if the last avatar file does not exist when deleting it

Fix lint

Remove old global avatar setting and update docs

Generate docs

Invalidate the avatar cache when uploading a new one

Add debug logs

Add caching for upload avatars

Add cache locks

Fix encoding

Resize the uploaded image to a max of 1024 pixels

Remove the old uploaded avatar if one already exists

Add mimetype check for images

Set avatar provider to upload when uploading an avatar

Add upload avatar provider

Make font size smaller to let the initials still look good in smaller sizes

Add debug log

Add cache and resizing of initials avatars

Make font size depend on avatar size

Add drawing initials avatar

Add initials provider

Make the initials avatar provider the default

Add routes

Add user avatar settings handler methods

Add user avatar provider field

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/622
2020-08-02 17:16:58 +00:00
konrad
e4539ef232 Use db sessions for task-related things (#621)
Use db sessions for task-related things

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/621
2020-08-01 16:54:38 +00:00
kolaente
9acba7d3f0
Fix duplicating a list with background 2020-07-17 14:16:59 +02:00
kolaente
2d567bfe0f
Make sure lists which would have a duplicate identifier can still be duplicated
+ debug logging for duplicating lists
2020-07-17 13:26:49 +02:00
konrad
4db06ba9a1 Fix creating lists with non ascii characters (#607)
Fix test name

Fix migrating lists with non utf-8 characters in their name

Fix creating lists with non utf-8 characters

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/607
2020-07-07 07:48:12 +00:00
kolaente
f57b7e989f
Fix updating the index when moving a task 2020-07-01 16:54:18 +02:00
kolaente
556ccd68c1
Set the list identifier when creating a new task 2020-07-01 11:17:18 +02:00
konrad
1181039249 Duplicate Lists (#603)
Fix buckets not being duplicated correctly

Fix list id param not working

Add api endpoint

Add swagger docs

Add comment about test

Make duplicating actually work

Add copying link shares

Add copying list backgrounds

Add copying task relations

Add copying task comments

Add copying assignees

Add copying task task label relations

Add copying task attachments

Add duplicating tasks

Add basic struct and methods

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/603
2020-06-30 20:53:14 +00:00
kolaente
3b2289c8fa
Fix swagger docs 2020-06-28 16:25:46 +02:00
kolaente
2820d92ab3
Expose namespace id when querying lists 2020-06-27 23:00:15 +02:00
konrad
08205008e7 Migrate all timestamps to real iso dates (#594)
Fix query param name

Add option to include null results when filtering

Always set db time to gmt

Fix null filter

Fix timezone setting for todoist parsing

Fix timezone setting for wunderlist parsing

Fix import

Fix caldav reminder parsing

Use timezone from config

Add error and test for invalid filter values

Fix integration tests

Remove task collection date hack

Fix task filter

Fix lint

Fix tests and fixtures for date timezone stuff

Properly set timezone

Change fixtures time zone to gmt

Set db timezone

Set created and updated timestamps for all fixtures

Fix lint

Fix test fixtures

Fix misspell

Fix test fixtures

Partially fix tests

Remove timeutil package

Remove adding _unix suffix hack

Remove _unix suffix

Move all timeutil.TimeStamp to time.Time

Remove all Unix suffixes in field names

Add better error messages when running migrations

Make sure to not migrate 0 unix timestamps to 1970 iso dates

Add migration script for sqlite

Add converting sqlite values

Convert 0 unix timestamps to null in postgres

Convert 0 to null in timestamps

Automatically rename _unix suffix

Add all tables and columns for migration

Fix sql migration query for mysql

Fail with an error if trying to use an unsupported dbms

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/594
2020-06-27 17:04:01 +00:00
kolaente
912abb3a10
Fix namespace title not being updated 2020-06-26 00:03:28 +02:00
kolaente
525a547500
Remove min length for labels, lists, namespaces, tasks and teams 2020-06-17 18:52:23 +02:00
kolaente
ca4d5000ed
Add list background information when getting all lists 2020-06-16 18:57:08 +02:00
kolaente
24c1098736
Fix resetting list, label & namespace colors 2020-06-15 11:32:07 +02:00
konrad
47d7e713af Repeat tasks after completion (#587)
Fix integration tests

Add updating start and end date from current date

Add updating reminders from current date

Add updating reminders from current date

Add updating due date from current date

Add updating flag

Add tests

Add field to repeat a task after current date

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/587
2020-06-14 11:04:38 +00:00
konrad
ab1d58959f Ensure task dates are in the future if a task has a repeating interval (#586)
Ensure task dates are in the future if a task has a repeating interval

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/586
2020-06-13 21:32:31 +00:00
konrad
a0ffe89056 List Background upload (#582)
Add filesize check when uploading a new file

Fix error 500 if the uploaded background was not an unsplash one

Add upload background setting to info endpoint

Add config docs

Fix lint

Return list background type if it was uploaded

Add file upload

Add docs

Save uploaded backgrounds as file

Add background upload handler

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/582
2020-06-11 17:31:37 +00:00
kolaente
a525787ab7
Update and fix staticcheck 2020-05-29 22:15:21 +02:00
konrad
e5e30d0915 List Backgrounds (#568)
Return the updated list when setting a list background

Add swagger docs for unsplash methods

Add unsplash info to search results

Fix misspell

Fix lint

Add rights check for setting and getting backgrounds

Show unsplash information when loading a single list

Make application id for pingbacks configurable

Remove old backgrounds when setting a new one

Return 404 if the list does not have a background

Implement getting list backgrounds

Implement actually setting a photo from unsplash as list background

go mod tidy

Add migration for background file id

Roughly implement setting a list background from unsplash

Implement saving a background

Add migration for unsplash photo table

Add unsplash search

Fix parsing page param

Fix parsing page param

Fix background config

Add unsplash wrapper library

Add enabled background providers to info endpoint

Add config options for backgrounds

Add unsplash background provider

Add routing handler for backgrounds

Add basic background provider interface

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/568
2020-05-26 20:07:55 +00:00
kolaente
98ef052967
Don't return all tasks when a user has no lists 2020-05-19 17:22:10 +02:00
kolaente
8a01b20e1e
Fix setting a list identifier to empty 2020-05-16 13:13:11 +02:00
kolaente
5a86f44fc3
Generate a random list identifier based on the list title 2020-05-16 12:58:37 +02:00
konrad
fe43173b6c Ensure consistent naming of title fields (#528)
Remove task text and namespace name in migration

Fix lint

Add migration for namespace title

Fix renaming namespace name to title

Rename namespace name field to title

Drop text column at the end of the migration

Add migration for task text to title

Rename task text to title

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/528
2020-05-16 10:17:44 +00:00
konrad
587ce92dc9 Improve getting all namespaces performance (#526)
Improve getting all namespaces performance

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/526
2020-05-15 15:10:22 +00:00
konrad
8758fb6ac5 Fix case-insensitive task search for postgresql (#524)
"Fix" gocyclo

Fix case-insensitive task search for postgresql

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/524
2020-05-15 14:12:20 +00:00
kolaente
92e5e2db6a
Make the _unix suffix optional when sorting tasks 2020-05-15 16:07:36 +02:00
kolaente
4137d4aed2
Fix creating new things with a link share auth 2020-05-12 15:51:48 +02:00
kolaente
55cd40d175
Fix team rights not updating for namespace rights 2020-05-11 18:39:30 +02:00
konrad
8ac158cdb4 Task Filter Fixes (#495)
Fix gocyclo

Fix misspell

Error codes docs

Filter fixes

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/495
2020-05-09 15:48:56 +00:00
kolaente
18f6e31b54
Fix parsing array style comparators by query param 2020-05-09 15:08:58 +02:00
kolaente
563fe16bd4
Add checking and logging when trying to put a task into a nonexisting bucket 2020-05-07 10:20:10 +02:00
konrad
fd3ccd6130 Fix total label count when getting all labels (#477)
Fix total label count when getting all labels

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/477
2020-05-03 21:28:36 +00:00
kolaente
a97ce76f1f
Fix bucket ID being reset with no need to do so 2020-05-03 22:25:48 +02:00
kolaente
83cf6e191c
Fix not moving its bucket when moving a task between lists 2020-05-03 21:33:59 +02:00
kolaente
f0ac6e89be
Remove setting task bucket to 0 2020-05-03 21:24:28 +02:00
kolaente
fa28ddc2f7
Fix pagination count for task collection 2020-04-27 19:28:19 +02:00
kolaente
56dbb564ea
Fix link share creation & creating admin link shares without admin rights 2020-04-27 12:51:09 +02:00
kolaente
5606f987fa
Add creating a new first bucket when creating a new list 2020-04-26 15:51:59 +02:00
kolaente
f0cb3b5e36
Fix removing the last bucket 2020-04-26 00:57:47 +02:00
konrad
231dc3913f Add real buckets for tasks which don't have one (#446)
Add docs for error code

Add moving new tasks into the default bucket when none was provided

Add moving tasks in default bucket when deleting one

Fix tests again

Add test for removing a bucket

Fix tests

Prevent removing the last bucket

Remove the empty pseudo bucket

Add migration to create a new bucket for each list (and put all tasks in it

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/446
2020-04-25 20:32:02 +00:00
konrad
e433289832 Task Position (#412)
Fix misspell

Fix sorting tasks with null values

Fix sorting by priority for postgres

Merge branch 'master' into feature/position

Add community link

Update golang.org/x/crypto commit hash to 44a6062 (#429)

Update golang.org/x/crypto commit hash to 44a6062

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/429

Update module lib/pq to v1.4.0 (#428)

Update module lib/pq to v1.4.0

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/428

Fix updating position

Add ordering tasks in buckets by position

Make task sort by string

Merge branch 'master' into feature/position

Update golang.org/x/crypto commit hash to 3c4aac8 (#419)

Update golang.org/x/crypto commit hash to 3c4aac8

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/419

Merge branch 'master' into feature/position

Fix moving tasks back into the empty (ID: 0) bucket

Add adding a default position when creating new tasks

Update golang.org/x/crypto commit hash to a76a400 (#411)

Update golang.org/x/crypto commit hash to a76a400

Reviewed-on: https://kolaente.dev/vikunja/api/pulls/411

Remove unused code

Fix tests

Add migration for position attribute

Add position attribute

Co-authored-by: kolaente <k@knt.li>
Co-authored-by: renovate <renovatebot@kolaente.de>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/412
2020-04-24 15:23:03 +00:00
kolaente
68ab6d2e75
Fix moving tasks back into the empty (ID: 0) bucket 2020-04-20 23:08:38 +02:00