Commit Graph

246 Commits

Author SHA1 Message Date
kolaente 1f99238019
Update copyright header 2020-02-07 17:27:45 +01:00
konrad f603b41d99 Better efficency for loading teams (#128)
Fix staticcheck

Better performance for getting teams on a namespace

Better performance for getting teams on a list

Fix lint

Fix swagger

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

Make loading a single full team more efficent

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

Make loading teams more efficent

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

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#128
2020-01-27 17:28:17 +00:00
konrad 2abb858859 Add rate limit by ip for non-authenticated routes (#127)
Add rate limit by ip for non-authenticated routes

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

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#127
2020-01-26 19:53:47 +00:00
konrad fc65052ba0 Add config options for task attachments (#125)
Add config options for task attachments

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#125
2020-01-26 19:10:31 +00:00
konrad b2b1546a8f Add config options for cors handling (#124)
Add config options for cors handling

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#124
2020-01-26 19:09:54 +00:00
konrad 7e9446ea07 Refactor User and DB handling (#123)
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 8c33e24e92 Migration Improvements (#122)
Update swagger docs

Update docs

Let the wunderlist migrator use the registerRoutes function

Add migration status table

Add migration status

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#122
2020-01-20 19:48:46 +00:00
konrad 3081338a37 Use redis INCRBY and DECRBY when updating metrics values (#121)
Move test coverage processing to a seperate command

Use redis INCRBY and DECRBY when updating metrics values

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#121
2020-01-19 17:26:26 +00:00
konrad 9e39399689 Migration (#120)
Go mod tidy

[skip ci] Add modules/migration to docs

[skip ci] update date

fmt

Merge branch 'master' into feature/migration

# Conflicts:
#	pkg/routes/api/v1/info.go

Add docs on how to create a migrator

Add available migrators to /info endpoint

Return a message once everything was migrated successfully

Add swagger docs for wunderlist migration

Docs for migration [skip ci]

Fix due date fixture in migration test

Fix staticcheck

Fix lint

Logging and cleanup

Make the migrator work with real data

Add routes for migration

Fix misspell

Add method to store a full vikunja structure into vikunja

Add getting all data from wunderlist

Add attachment migration from wunderlist

Add done and done at to wunderlist migrator

Add todo

Add wunderlist auth url implementation

Fix lint

Finish wunderlist migration

Added all structs for the wunderlist migratior

Fix owner field being null for user shared namespaces (#119)

Update copyright year (#118)

Add option to disable registration (#117)

Added migrator interface

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#120
2020-01-19 16:52:16 +00:00
konrad 1d2cdf0fb8 Fix owner field being null for user shared namespaces (#119) 2020-01-09 19:24:08 +00:00
konrad a0c5e4e985 Update copyright year (#118) 2020-01-09 17:33:22 +00:00
konrad 402cef3c15 Add option to disable registration (#117) 2019-12-30 23:27:02 +00:00
konrad 7cdc997191 Fix new tasks not getting a new task index (#116) 2019-12-08 15:10:34 +00:00
konrad 720df3cbed Add task identifier (#115) 2019-12-07 22:28:45 +00:00
konrad 1a47d7d80d Use utf8mb4 instead of plain utf8 (#114) 2019-12-07 20:14:13 +00:00
konrad 62e550bf35 Add user token renew (#113) 2019-12-07 19:52:04 +00:00
kolaente 10ab8ef4d9
Fix task collection tests 2019-12-07 17:21:37 +01:00
kolaente d483fe8beb
Fix passing sort_by and order_by as query path arrays 2019-12-07 16:57:19 +01:00
kolaente 1555f04bd2
Fix sorting tasks by bool values
There was a bug where it would return all tasks with a true value before the ones with a false value. This is the exact opposite of what the db does, leading to wrongly sorted values
2019-12-07 16:56:18 +01:00
konrad d8399e374c Sort Order for tasks (#110) 2019-12-07 14:30:51 +00:00
shilch e890001ee1 Consistent copyright text in file headers (#112) 2019-12-04 19:39:56 +00:00
shilch 38653b49c7 Add tests for md5 generation (#111) 2019-12-04 19:19:38 +00:00
konrad 7e4deab8f7 Task collection improvements (#109) 2019-12-01 13:38:11 +00:00
konrad d96831fe3a Endpoint to get tasks on a list (#108) 2019-11-29 22:59:20 +00:00
konrad 27ba31366c Fix default logging settings (#107) 2019-11-24 18:17:59 +00:00
kolaente 37efd5cb49
Fixed removing reminders 2019-11-24 16:13:16 +01:00
kolaente dcec9511dc
Fixed a bug where deleting an attachment would cause a nil panic 2019-11-19 23:07:48 +01:00
kolaente c203d73b33
Fixed a bug where adding assignees or reminders via an update would re-create them and not respect already inserted ones, leaving a lot of garbage 2019-11-03 23:08:26 +01:00
konrad 9be5ab248c Add endpoint to get a single task (#106) 2019-11-02 20:33:18 +00:00
konrad 8948a5f219 Improve pagination (#105) 2019-10-23 21:11:40 +00:00
kolaente 82f11c4ec2
Fixed not getting all labels when retrieving a list with all tasks 2019-10-20 17:56:53 +02:00
kolaente eb279fdba3
Refactored getting task IDs for labels 2019-10-20 17:55:54 +02:00
kolaente 854fde1e4c
Fixed panic when using link share and metrics 2019-10-19 22:34:33 +02:00
kolaente b81cd6128a
Fixed error when setting max file size on 32-Bit systems 2019-10-18 17:30:25 +02:00
konrad 2169464983 Task Attachments (#104) 2019-10-16 20:52:29 +00:00
kolaente e2f481a6e5
Fixed migration for task relations 2019-10-13 11:44:56 +02:00
konrad 8fe33fd616 Task Relations (#103) 2019-09-25 18:44:41 +00:00
konrad 1272255975 Added percent done to tasks (#102) 2019-09-21 10:52:10 +00:00
konrad 2f267f3f68 Moved `teams_{namespace|list}_*` to `{namespace|list}_teams_*` for better consistency (#101) 2019-09-20 16:39:02 +00:00
konrad 694fc62495 Refactored getting all lists for a namespace (#100) 2019-09-20 16:16:31 +00:00
konrad 8d5a2685c4 Fixed labels being displayed multiple times if they were associated with more than one task (#99) 2019-09-20 15:52:09 +00:00
konrad 71ef86e0df Added more infos to a link share auth (#98) 2019-09-08 19:22:54 +00:00
konrad 6140920cb8 Fixed rate limit panic when authenticatin with a link share auth token (#97) 2019-09-08 19:11:42 +00:00
konrad fdd1624121 Small link share fixes (#96) 2019-09-07 13:19:23 +00:00
kolaente 1d98e4cabe
Fixed metrics on/off setting 2019-09-01 18:39:03 +02:00
kolaente 43676f045c
Switched default logger to stdout instead of stderr 2019-09-01 18:23:35 +02:00
kolaente ba7db545fe
Added extra depth to logging to correctly show the functions calling the logger in logs 2019-09-01 17:56:22 +02:00
konrad 8d57923a7d Sharing of lists via public links (#94) 2019-08-31 20:56:41 +00:00
konrad 66cdd79666 Refactor ListTask to Task (#92) 2019-08-14 20:19:04 +00:00
konrad be14634e1e GetUser now returns a pointer (#93) 2019-08-14 19:59:31 +00:00
kolaente 208eb4e68c
Fixed swaggerdocs of description fields 2019-07-21 23:57:19 +02:00
kolaente 10fbbe1db6
Moved metrics init to seperate methods 2019-07-21 23:44:12 +02:00
konrad 4327a559e5 feature/rate-limit (#91) 2019-07-21 21:27:30 +00:00
konrad 48826a6ed7 Logger refactoring (#90) 2019-07-20 18:12:10 +00:00
konrad ef0e7c9769 Use longtext instead of varchar(1000) on description fields (#88) 2019-07-18 19:56:34 +00:00
konrad 12eaddc8ee Added http endpoint to list all users on a list (#87) 2019-07-18 16:38:21 +00:00
konrad b63928850a Simplify structure by having less files (#86) 2019-07-16 14:15:40 +00:00
konrad e2d9de191d /info endpoint (#85) 2019-07-15 22:54:38 +00:00
konrad 50ca8bd28e Statically compile templates in the final binary (#84) 2019-07-11 19:10:42 +00:00
konrad 1f1a079fd3 Better config handling with constants (#83) 2019-07-06 20:12:26 +00:00
kolaente f1d21ea52b
Use the auth methods to get IDs to avoid unneeded casts 2019-06-28 10:21:48 +02:00
kolaente 4e8c2a7bf6
Fixed avatar url when logging in 2019-06-06 12:28:08 +02:00
kolaente 9bc09ebbe5
Fixed user sharing not working 2019-06-04 19:45:09 +02:00
konrad 7acf318b28 Fixed duedate spelling issue (#79) 2019-05-31 08:10:56 +00:00
konrad f638fae4fd Add the md5-hashed user email to user objects for use with gravatar (#78) 2019-05-31 07:24:59 +00:00
konrad 85d08e5697 Fixed check if the user really exists before updating/deleting its rights (#77) 2019-05-25 10:16:55 +00:00
konrad 50d1f29125 Use the username instead of a user when adding a user to a team or giving it rights (#76) 2019-05-25 09:47:16 +00:00
konrad 24ce940885 Put reminders in an extra table (#75) 2019-05-25 07:33:57 +00:00
konrad 802a13cffd Added settings for max open/idle connections and max connection lifetime (#74) 2019-05-25 05:49:52 +00:00
kolaente 24f06b2da5
Fixed ical-go package include 2019-05-24 19:45:33 +02:00
konrad 7107d030fc Better caldav support (#73) 2019-05-22 17:48:48 +00:00
konrad de24fcc2f8
Fixed metrics endpoint not working 2019-05-12 16:49:16 +02:00
konrad 3d7fd9ca20
Updated libraries 2019-05-07 21:42:24 +02:00
konrad 2b160b73c3 Fix tests (#72) 2019-04-30 18:36:39 +00:00
kolaente 24704bd4ed
Added color field to tasks 2019-04-30 11:26:37 +02:00
kolaente d404716342
Fixed integration tests 2019-04-24 22:58:20 +02:00
konrad 7e38937efc
Fixed lint 2019-04-23 21:58:42 +02:00
konrad ed671baf8f
Fixed listID not being returned in tasks 2019-04-23 21:53:37 +02:00
kolaente 6bab8fb769
Updated and re-enabled statickcheck 2019-04-23 10:34:06 +02:00
konrad 3872d1d8a7 Integration tests (#71) 2019-04-21 18:18:17 +00:00
kolaente 93dbaea303
Fixed priority not updating when set to 0 2019-04-05 12:40:40 +02:00
kolaente 2d9d27f63c
Fixed getting lists by namespace 2019-04-02 10:53:16 +02:00
konrad 87873e53c5 Fix rights checks (#70) 2019-04-01 19:48:48 +00:00
konrad 19faee0102 Hide a users email everywhere (#69) 2019-04-01 18:19:55 +00:00
konrad be5a17e993 DB Migrations (#67) 2019-03-29 17:54:35 +00:00
konrad 8d78e473f5 Added cli for general usage of Vikunja (#66) 2019-03-24 17:15:44 +00:00
konrad 5525ee0328 Refactored canRead method to get the list before checking the right (#65) 2019-03-24 13:17:36 +00:00
konrad 47352d3ed4 Let rights methods return errors (#64) 2019-03-24 12:35:50 +00:00
konrad 11e7c071ce Updated handler config (#63) 2019-03-24 09:13:40 +00:00
konrad 1dc14d5ddf
Fixed labels not being queried correctly on tasks 2019-03-22 22:03:41 +01:00
kolaente c42e22f352
Fixed bulk update label tasks 2019-03-21 19:26:04 +01:00
kolaente 72e64f7203
Fixed swagger docs for bulk label tasks 2019-03-21 18:42:21 +01:00
kolaente 25999d9b69
Fixed swagger docs for task labels 2019-03-21 07:40:56 +01:00
konrad eb4d38b5b8 Fixed rights check on lists and namespaces (#62) 2019-03-08 21:31:37 +00:00
kolaente 65f428fe78
Updated swagger docs 2019-03-08 15:41:46 +01:00
konrad 1b84292332 Fix lint errs (#59) 2019-02-18 19:32:41 +00:00
konrad 15ef6deabc Use query params to sort tasks instead of url params (#61) 2019-02-18 18:06:15 +00:00
konrad 2d88fad5b1 Huge improvements for docs (#58) 2019-02-17 19:53:04 +00:00
konrad 5e7c9b9eb9
Added possible fix for logging when nothing is set 2019-01-25 21:09:24 +01:00
konrad 9e635ea54e Improve logging handling (#57) 2019-01-25 11:40:54 +00:00
konrad 75431e1ca5 Rights performance improvements for lists and namespaces (#54) 2019-01-21 22:08:04 +00:00
konrad 08cbd18bc5 Added more config paths (#55) 2019-01-20 17:13:21 +00:00
konrad 19218b28a2 Refactor {List|Namespace}{User|Team} to not expose unneded values via json (#52) 2019-01-14 22:32:56 +00:00
konrad 17fefae8bb Simplify list rights check (#50) 2019-01-14 21:49:50 +00:00
konrad 318920fe29 Improve label handling (#48) 2019-01-09 23:08:12 +00:00
konrad 364a172876 Assignees optimizations (#47) 2019-01-08 19:13:07 +00:00
konrad 607dbd6ae8 API Docs improvements (#46) 2019-01-03 22:22:06 +00:00
konrad 6b40df50d3 Add labels to tasks (#45) 2018-12-31 01:18:41 +00:00
konrad d39007baa0 Task assignees (#44) 2018-12-29 14:29:50 +00:00
konrad 3814b8a504 Add bulk edit for tasks (#42) 2018-12-28 21:49:46 +00:00
kolaente 36eb580c8a
Updated swagger docs 2018-12-25 21:45:26 +01:00
kolaente ce0bff8d9c
Fixed a bug where updating a list would update it with the same values it had before 2018-12-25 15:30:11 +01:00
konrad 5a93475be9 Get tasks between a date range (#41) 2018-12-22 18:06:14 +00:00
konrad 784b890f70 Start end end dates for tasks (#40) 2018-12-22 15:45:16 +00:00
konrad cbc5995ad3 Various user fixes (#38) 2018-12-19 21:05:25 +00:00
konrad 3e4f7fb2f4 Fix sorting of tasks in lists (#37) 2018-12-19 19:14:48 +00:00
konrad 97febdb397 Tests can now use config files (#36) 2018-12-18 16:01:46 +00:00
konrad ec347a71bc Fix "unexpected EOF" error when using metrics (#35) 2018-12-17 12:22:06 +00:00
konrad 777d63dff1 More unit tests (#34) 2018-12-16 13:21:32 +00:00
kolaente 7b439cc568
Properly init tables for redis 2018-12-14 17:45:31 +01:00
konrad e047673c6b Add prometheus endpoint for getting metrics (#33) 2018-12-12 22:50:35 +00:00
konrad 0c1d786ade Exlicitly get the pseudonamespace with all shared lists (#32) 2018-12-04 10:16:42 +00:00
konrad 8e5ff72c4a
fixed path to get all tasks (echo bug) 2018-12-02 19:31:03 +01:00
konrad cc6b35e314 Priorites for tasks (#31) 2018-12-02 00:49:30 +00:00
konrad 6c5885747b Subtasks (#28) 2018-12-01 02:00:57 +00:00
konrad 007d8ec375 Fixed generation of swagger docs (#29) 2018-12-01 01:59:17 +00:00
konrad ce2cae9430 Move the crudhandler to own repo (#27) 2018-11-30 23:26:56 +00:00
konrad 06fc9f7886 Repeating tasks (#25) 2018-11-26 20:24:00 +00:00
konrad 3f44e3b83e Change License to GPLv3 (#26) 2018-11-26 20:17:33 +00:00
konrad b73786f7fe Make validation less verbose (#24) 2018-11-25 21:38:50 +00:00
konrad d51ed8defd make validation less verbose (#23) 2018-11-24 12:44:40 +00:00
konrad fded3c23d0 Multiple Reminders (#22) 2018-11-21 15:03:47 +00:00
konrad af0ce5bb96 Added Shared lists overview in namespaces (#21) 2018-11-19 11:37:59 +00:00
konrad 0c112a0ca3 Fixed Validation being to verbose (#20) 2018-11-17 00:12:26 +00:00
konrad 0c544fe355 Added validation for structs (#19) 2018-11-16 23:17:37 +00:00
konrad 373bbd2202 Migrate to new swagger docs generation (#18) 2018-11-12 15:46:35 +00:00
konrad d3de658882 Implemented search for everything (#17) 2018-11-09 17:33:06 +00:00
konrad d232836423 Added pagination (#16) 2018-11-09 10:30:17 +00:00
konrad d03fca801b CalDAV support (#15) 2018-11-03 15:05:45 +00:00
konrad 31a4a1dd00 Added a route to get all tasks sorted desc by their due dates (#14) 2018-11-02 16:59:49 +00:00
kolaente 1f41db9239
Hotfix: fix duplicate header in html mails with templates 2018-11-02 11:23:41 +01:00
konrad 4f8a0f8739 Fixed no root path for templates and static assets (#12) 2018-11-02 10:01:28 +00:00
konrad 9e539b8c40 Fix checking for an email verification token (#10) 2018-11-01 22:59:20 +00:00
konrad 9a5eb577b8 Fix not checking for user credentials upon login (#9) 2018-11-01 22:51:05 +00:00
konrad 4713023a97 Prevent login from inactive (aka non-verified) users (#8) 2018-11-01 22:47:41 +00:00
konrad 301a4eedda New structure (#7) 2018-10-31 12:42:38 +00:00