Commit Graph

291 Commits

Author SHA1 Message Date
konrad 6bdddd462a Favorite lists (#654)
continuous-integration/drone/push Build is passing Details
Add tests

Remove the favorites pseudo namespace if there are no lists or tasks favorited

Regenerate swagger docs

Fix favorite lists not being updated because of nonexisting users (the favorite list does not have one)

Make the pseudo favorites list always favorited

Add favorited lists to the favorites pseudo namespace

Add favorite field to list

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#654
2020-09-06 14:20:16 +00:00
konrad e5559137dd Favorite tasks (#653)
continuous-integration/drone/push Build is passing Details
Fixed namespace tests

Add test for favorite tasks

Fix favorite tasks not being updated

Fix integration tests

Fix lint

Return a pseudo namespace and list for favorites

Make sure users can only see their favorites

Add condition show tasks from the favorites list

Regenerate swagger docs

Add favorite field to task

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#653
2020-09-05 20:16:02 +00:00
kolaente ecf09e17a8
Only check if a bucket limit is exceeded when moving a task between buckets
continuous-integration/drone/push Build is passing Details
2020-09-04 22:01:33 +02:00
konrad 14d706c91e Kanban bucket limits (#652)
continuous-integration/drone/push Build is passing Details
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: vikunja/api#652
2020-09-04 14:37:56 +00:00
kolaente e9b1786188
Regenerate swagger docs
continuous-integration/drone/push Build was killed Details
2020-09-04 13:15:46 +02:00
kolaente e4dd314079
Add caldav enabled/disabled to /info endpoint
continuous-integration/drone/push Build is failing Details
2020-09-04 09:58:42 +02:00
konrad d359130bcf Switch to mage (#651)
continuous-integration/drone/push Build is failing Details
Add comment about magefile compile

Switch make to mage commands in drone

Fix misspell

Update docs

Add general release command

Add reprepro command

Make sure the filename contains the proper version

Add deb package building

Add zip command

Preserve file permissions when copying files

Fix release:os-package

Make sure to not create checksums of directories

Cleanup

Only compress what upx is able to compress

Add check command

Add release:os-package command

Add copy command

Add comments

Add compress step

Move releasing binaries to a more general function and add ones of linux + darwin

Add release:windows command

Add release:dir command

Add namespaces for commands

Reorder

Add command to run all checks at once

Add goconst-check

Add gosec-check

Add static-check

Add gocyclo-check

Add ineffasign-check

Add misspell-check

Add command to check for swagger docs regeneration

Add comments

Add command to generate swagger docs

Reorder

Add check for installing golint before running it

Add fmt check command

Add fmt command

Use runAndStreamOutput everywhere

Add aliases and comments

Add todo

Reorder

Add test coverage command

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#651
2020-09-03 15:13:19 +00:00
kolaente fa718e2576
Fix token renew for link shares
continuous-integration/drone/push Build is passing Details
Signed-off-by: kolaente <k@knt.li>
2020-08-18 16:55:44 +02:00
kolaente c517a87b85
Don't add a subtask to the top level of tasks to not add it twice in the list
continuous-integration/drone/push Build is passing Details
2020-08-17 22:30:24 +02:00
kolaente a58b932743
Work around tasks with attachments not being duplicated
continuous-integration/drone/push Build is failing Details
2020-08-16 23:44:16 +02:00
kolaente 301bebf8d3
Only try to download attachments from todoist when there is a url
continuous-integration/drone/push Build is passing Details
Credit: freaktechnik
2020-08-16 23:26:19 +02:00
kolaente d192c36c39
Add better tests for namespaces
continuous-integration/drone/push Build is passing Details
2020-08-15 22:16:36 +02:00
kolaente bdfb804bb2
Fix reading passwords on windows
continuous-integration/drone/push Build is passing Details
2020-08-13 17:59:10 +02:00
konrad 16dbcfda7e Manage users via cli (#632)
continuous-integration/drone/push Build is failing Details
Add users cli commands to docs

Fix checking for changing username or user email

Add user status change command

Make sure only one user exists with a particular email when updating

Add password reset

Add user id to help

Remove user delete (too many possible side effects, postponed until later)

Make sure to fail on any errors

Fail if changing the username would result in duplicate users

Add user update command

Add user create command

Add command stubs for all commands

Render users in a beautiful table

Started adding user list command

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#632
2020-08-13 15:34:02 +00:00
kolaente 4a70c81b33
Make sure to require admin rights when modifying list/namespace users to be consistent with teams
continuous-integration/drone/push Build is passing Details
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)
continuous-integration/drone/push Build is passing Details
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: vikunja/api#626
2020-08-10 12:11:43 +00:00
kolaente d718d247c8
Fix users with disabled totp but not enrolled being unable to login
continuous-integration/drone/push Build is passing Details
2020-08-07 16:41:35 +02:00
kolaente 6a82d4e2af
Fix updating team admin status
continuous-integration/drone/push Build is passing Details
2020-08-05 17:28:11 +02:00
kolaente 11722bf029
Add update route to toggle team member admin status
continuous-integration/drone/push Build is failing Details
2020-08-05 17:21:17 +02:00
konrad dfb7730b63 More avatar providers (#622)
continuous-integration/drone/push Build is passing Details
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: vikunja/api#622
2020-08-02 17:16:58 +00:00
konrad e4539ef232 Use db sessions for task-related things (#621)
continuous-integration/drone/push Build is passing Details
Use db sessions for task-related things

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#621
2020-08-01 16:54:38 +00:00
kolaente 41cf73a473
Add option to configure legal urls
continuous-integration/drone/push Build is passing Details
2020-07-18 18:53:56 +02:00
kolaente 9acba7d3f0
Fix duplicating a list with background
continuous-integration/drone/push Build is passing Details
2020-07-17 14:16:59 +02:00
kolaente 2d567bfe0f
Make sure lists which would have a duplicate identifier can still be duplicated
continuous-integration/drone/push Build is passing Details
+ debug logging for duplicating lists
2020-07-17 13:26:49 +02:00
kolaente 092aae3260
Add config option to force ssl connections to connect with the mailer
continuous-integration/drone/push Build is passing Details
2020-07-14 17:30:39 +02:00
konrad 4db06ba9a1 Fix creating lists with non ascii characters (#607)
continuous-integration/drone/push Build is passing Details
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: vikunja/api#607
2020-07-07 07:48:12 +00:00
kolaente 78791f31a4
Fix parsing todoist reminder dates
continuous-integration/drone/push Build is passing Details
2020-07-05 20:49:29 +02:00
kolaente ec3fa9300b
Fix parsing todoist reminder dates
continuous-integration/drone/push Build is passing Details
2020-07-05 17:48:36 +02:00
kolaente ae12871bd7
Fix decoding active users from redis
continuous-integration/drone/push Build is passing Details
2020-07-02 23:19:03 +02:00
kolaente 7141050f8b
Make sure the metrics map accesses only happen explicitly
continuous-integration/drone/push Build is passing Details
2020-07-02 21:16:39 +02:00
kolaente f57b7e989f
Fix updating the index when moving a task
continuous-integration/drone/tag Build was killed Details
continuous-integration/drone/push Build is passing Details
2020-07-01 16:54:18 +02:00
kolaente 556ccd68c1
Set the list identifier when creating a new task
continuous-integration/drone/push Build is passing Details
2020-07-01 11:17:18 +02:00
konrad 1181039249 Duplicate Lists (#603)
continuous-integration/drone/push Build is passing Details
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: vikunja/api#603
2020-06-30 20:53:14 +00:00
kolaente 9750a23dbe
Make the db timezone migration mysql compatible
continuous-integration/drone/push Build is passing Details
2020-06-30 11:29:47 +02:00
kolaente 1c93aab7e0
Fix not loading timezones on all operating systems
continuous-integration/drone/push Build is passing Details
2020-06-30 09:55:46 +02:00
kolaente 3b2289c8fa
Fix swagger docs
continuous-integration/drone/push Build is passing Details
2020-06-28 16:25:46 +02:00
kolaente 2820d92ab3
Expose namespace id when querying lists
continuous-integration/drone/push Build is passing Details
2020-06-27 23:00:15 +02:00
konrad 08205008e7 Migrate all timestamps to real iso dates (#594)
continuous-integration/drone/push Build is passing Details
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: vikunja/api#594
2020-06-27 17:04:01 +00:00
kolaente e17cac854a
Fix removing existing sqlite files
continuous-integration/drone/push Build is failing Details
2020-06-27 16:34:53 +02:00
kolaente 974d028e51
Fix sqlite db not working when creating a new one
continuous-integration/drone/push Build is passing Details
2020-06-26 19:45:19 +02:00
kolaente be11362533
Fix searching for unsplash pictures with words that contain a space
continuous-integration/drone/push Build is passing Details
2020-06-26 00:37:10 +02:00
kolaente 912abb3a10
Fix namespace title not being updated
continuous-integration/drone/push Build encountered an error Details
2020-06-26 00:03:28 +02:00
kolaente 0add1dce01
Add go version to version command
continuous-integration/drone/push Build is passing Details
2020-06-25 15:59:06 +02:00
kolaente c8605d6b3d
Enable upload backgrounds by default
continuous-integration/drone/push Build is failing Details
2020-06-23 22:53:23 +02:00
kolaente caee123f9d
Add better errors if the sqlite db file is not writable
continuous-integration/drone/push Build is passing Details
2020-06-23 11:21:42 +02:00
kolaente 150c3f032c
Prevent crashing when trying to register with an empty payload
continuous-integration/drone/push Build is passing Details
2020-06-21 20:54:46 +02:00
konrad e4f150bbe3 Restore command (#593)
continuous-integration/drone/push Build is failing Details
Add waiting for changes to config file

Add max size for config files

Restore files

Restore database file

Expose migrate to

Move init stuff to seperate package

Add restoring config file

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#593
2020-06-21 15:30:48 +00:00
kolaente db0126968a
Improve memory usage of dump by not loading all files in memory prior to adding them to the zip
continuous-integration/drone/push Build is passing Details
2020-06-20 11:48:45 +02:00
kolaente c12bac0c96
Return errors when dumping
continuous-integration/drone/push Build is failing Details
2020-06-20 11:37:51 +02:00
konrad fba333866d Add dump command (#592)
continuous-integration/drone/push Build is passing Details
Fix files location in dump

Fix gitignore

Add docs

Add dumps to gitignore

Move dump to seperate package

logging

Dump files

Dump version

Dump database

Dump config

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#592
2020-06-19 21:29:02 +00:00