Commit Graph

45 Commits

Author SHA1 Message Date
kolaente 008908eb49
fix: make sure a user can only be assigned once to a task
continuous-integration/drone/push Build is passing Details
See https://community.vikunja.io/t/task-can-be-assigned-twice-or-more-to-the-same-user/883
2022-10-06 18:22:19 +02:00
kolaente 631a265d2d
feat: add proper checks and errors to see if an attachment belongs to the task it's being used as cover image in
continuous-integration/drone/pr Build is passing Details
2022-10-05 15:12:29 +02:00
kolaente 96ed1e33e3
fix: don't allow setting a list namespace to 0
continuous-integration/drone/push Build is failing Details
See https://github.com/go-vikunja/app/issues/13
2022-10-01 15:02:17 +02:00
kolaente 3ccc6365a6
fix: prevent moving a list into a pseudo namespace
continuous-integration/drone/push Build is passing Details
2022-08-15 23:25:39 +02:00
konrad b3c604fd2f Add link share password authentication (#831)
continuous-integration/drone/push Build is passing Details
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
kolaente 73f2d4532d
Make sure all tables are properly pluralized
continuous-integration/drone/push Build is passing Details
2021-03-28 20:17:35 +02:00
konrad d1b87d2705 Add a "done" option to kanban buckets (#821)
continuous-integration/drone/push Build is passing Details
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#821
Co-authored-by: konrad <konrad@kola-entertainments.de>
Co-committed-by: konrad <konrad@kola-entertainments.de>
2021-03-24 20:16:35 +00:00
konrad e7875ecb3b Subscriptions and notifications for namespaces, tasks and lists (#786)
continuous-integration/drone/push Build is failing Details
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
kolaente c4a71016b8
Update copyright year
continuous-integration/drone/push Build is failing Details
2021-02-02 20:19:13 +01:00
kolaente 9baf6d39bd
Change license to AGPLv3
continuous-integration/drone/push Build is failing Details
2020-12-23 16:41:52 +01:00
kolaente 90817b6dae
Add "like" filter comparator
continuous-integration/drone/push Build is passing Details
2020-12-19 13:56:55 +01:00
konrad 699d3d6060 Add Golangci Lint (#676)
continuous-integration/drone/push Build is passing Details
Increase golangci timeout

Fix installing golangci-lint in ci

Remove mage targets replaced by golangci

Run golint in ci

Add goheader linter

Enable & fix more linters

Fix lint issues

Add mage target to automagically fix issues found by golangci

golangci-lint run --fix

Add golangci config

Add golangci mage target

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#676
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-10-11 20:10:03 +00:00
konrad 0fb2edf051 Saved filters (#655)
continuous-integration/drone/push Build is passing Details
Fix updating saved filters

Fix filter not loadable because of missing param declaration

Add fancy special cases for postgres exists in db

Add special case for postgrs json

Add read one test

Add rights tests

Fix lint

Fixed getting a single saved filter from db

Add tests for the usual crud methods

Add test stubs and TODOs

Add test for converting saved filter ids to list ids and vice versa

Add test fixture for saved filters and fix existing tests

Fix exposed json variables of filters

Fix creating saved filters table for tests

Add getting saved filters as pseudo namespace

Cleanup

Refactor getting all namespaces to use a map for easier handling of pseudo namespaces

Add custom erros for saved filters

Swagger docs

Fix lint

Add routes for saved filters

Add alias for mage build

Add method to get a saved filter from the lists endpoint

Add getting tasks from a saved filter

Add create, update, delete, read one methods

Add rights methods for saved filters

Fix docs minLength

Add saved filters column

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#655
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
2020-09-26 21:02:17 +00: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
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 a525787ab7
Update and fix staticcheck
continuous-integration/drone/push Build is passing Details
2020-05-29 22:15:21 +02:00
konrad fe43173b6c Ensure consistent naming of title fields (#528)
continuous-integration/drone/push Build is passing Details
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: vikunja/api#528
2020-05-16 10:17:44 +00:00
konrad 8ac158cdb4 Task Filter Fixes (#495)
continuous-integration/drone/push Build is passing Details
Fix gocyclo

Fix misspell

Error codes docs

Filter fixes

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#495
2020-05-09 15:48:56 +00:00
konrad 231dc3913f Add real buckets for tasks which don't have one (#446)
continuous-integration/drone/push Build is passing Details
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: vikunja/api#446
2020-04-25 20:32:02 +00:00
konrad e433289832 Task Position (#412)
continuous-integration/drone/push Build is passing Details
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: vikunja/api#429

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

Update module lib/pq to v1.4.0

Reviewed-on: vikunja/api#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: vikunja/api#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: vikunja/api#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: vikunja/api#412
2020-04-24 15:23:03 +00:00
konrad ecdecdd94e Kanban (#393)
continuous-integration/drone/push Build is passing Details
Fix tests

Add error docs

Add swagger docs for bucket endpoints

Add integration tests

Fix tests

Fix err shadow

Make sure a bucket and a task belong to the same list when adding or updating a task

Add tests

Add getting users of a bucket

Fix log level when testing

Fix lint

Add migration for buckets

Cleanup/Comments/Reorganization

Add Kanban bucket handling

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#393
2020-04-19 07:27:28 +00:00
konrad 0ba121fdfb Task filters (#243)
continuous-integration/drone/push Build is passing Details
Fix not returning errors

Fix integration tests

Add more tests

Make task filtering actually work

Change tests

Fix using filter conditions

Fix test

Remove unused fields

Fix static check

Remove start and end date fields on task collection

Fix misspell

add filter logic when getting tasks

Add parsing filter query parameters into task filters

Start adding support for filters

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#243
2020-04-11 14:20:33 +00:00
konrad 5126330a10 Add support for archiving lists and namespaces (#152)
continuous-integration/drone/push Build is passing Details
Add query param to get all lists including archived ones

Add query param to get all namespaces including archived ones

Fix getting lists by namespace only not archived lists

Fix misspell

Fix lint

Merge branch 'master' into feature/archive-lists-namespaces

Add docs for error codes

Fix archive error codes

Don't let archived lists show up in general lists

Fix updating description

Fix updating lists with link shares

More comments

Fix un-archiving lists

Move check for archiving a list to canWrite Check

Add more tests

Add more checks

Add checks for namespaces and lists

Add namespace edit

Add tests

Add migrations and filter

Add basic tests

Add is archived property to lists and namespaces

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#152
2020-03-15 21:50:39 +00:00
konrad 1f039c4cda Task Comments (#138)
continuous-integration/drone/push Build is passing Details
Add swagger docs

Add integration tests

Add tests

Add task comment test fixtures

Add config option to enable/disable task comments

Add custom error if a task comment does not exist

Fix lint

Add getting author when getting a single comment

Fix getting comments/comments author

Add rights check to ReadAll

+ actually get the comment author

Add migration and table definitions

Add routes

Add ReadOne method

Add basic crud rights

Signed-off-by: kolaente <k@knt.li>

Implement basic crudable functions for task comments

Signed-off-by: kolaente <k@knt.li>

Start adding task comments

Signed-off-by: kolaente <k@knt.li>
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#138
2020-02-19 21:57:56 +00:00
kolaente 1f99238019
Update copyright header
continuous-integration/drone/push Build is passing Details
2020-02-07 17:27:45 +01:00
konrad 7e9446ea07 Refactor User and DB handling (#123)
continuous-integration/drone/push Build is passing Details
fix copyright date

Add more user tests

More user tests

More user tests

Start refactoring user tests

Docs

Fix lint

Fix db fixtures init in tests

Fix models test

Fix loading fixtures

Fix ineffasign

Fix lint

Fix integration tests

Fix init of test engine creation

Fix user related tests

Better handling of creating test enging

Moved all fixtures to db package

Moved all fixtures to db package

Moved user related stuff to seperate package

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#123
2020-01-26 17:08:06 +00:00
konrad a0c5e4e985 Update copyright year (#118)
continuous-integration/drone/push Build is passing Details
2020-01-09 17:33:22 +00:00
konrad 720df3cbed Add task identifier (#115)
continuous-integration/drone/push Build is passing Details
2019-12-07 22:28:45 +00:00
konrad d8399e374c Sort Order for tasks (#110)
continuous-integration/drone/push Build is passing Details
2019-12-07 14:30:51 +00:00
shilch e890001ee1 Consistent copyright text in file headers (#112)
continuous-integration/drone/push Build is passing Details
2019-12-04 19:39:56 +00:00
kolaente b81cd6128a
Fixed error when setting max file size on 32-Bit systems
continuous-integration/drone/push Build is failing Details
2019-10-18 17:30:25 +02:00
konrad 2169464983 Task Attachments (#104)
continuous-integration/drone/push Build is failing Details
2019-10-16 20:52:29 +00:00
konrad 8fe33fd616 Task Relations (#103)
continuous-integration/drone/push Build is passing Details
2019-09-25 18:44:41 +00:00
konrad 8d57923a7d Sharing of lists via public links (#94)
continuous-integration/drone/push Build is passing Details
2019-08-31 20:56:41 +00:00
konrad 66cdd79666 Refactor ListTask to Task (#92)
continuous-integration/drone/push Build is passing Details
2019-08-14 20:19:04 +00:00
konrad 3872d1d8a7 Integration tests (#71)
continuous-integration/drone/push Build is passing Details
2019-04-21 18:18:17 +00:00
konrad 75431e1ca5 Rights performance improvements for lists and namespaces (#54)
continuous-integration/drone/push Build is failing Details
2019-01-21 22:08:04 +00:00
konrad 318920fe29 Improve label handling (#48)
the build was successful Details
2019-01-09 23:08:12 +00:00
konrad 6b40df50d3 Add labels to tasks (#45)
the build was successful Details
2018-12-31 01:18:41 +00:00
konrad 3814b8a504 Add bulk edit for tasks (#42)
the build was successful Details
2018-12-28 21:49:46 +00:00
konrad ce2cae9430 Move the crudhandler to own repo (#27)
the build was successful Details
2018-11-30 23:26:56 +00:00
konrad 3f44e3b83e Change License to GPLv3 (#26)
the build was successful Details
2018-11-26 20:17:33 +00:00
konrad 0c544fe355 Added validation for structs (#19)
the build was successful Details
2018-11-16 23:17:37 +00:00
konrad 4713023a97 Prevent login from inactive (aka non-verified) users (#8)
the build failed Details
2018-11-01 22:47:41 +00:00
konrad 301a4eedda New structure (#7)
the build was successful Details
2018-10-31 12:42:38 +00:00