Commit Graph

120 Commits

Author SHA1 Message Date
d88551e99d
Add dav proxy directions to example proxy configurations
All checks were successful
continuous-integration/drone/push Build is passing
Signed-off-by: kolaente <k@knt.li>
2020-08-20 14:08:35 +02:00
28fd0e91ee
Mention client_max_body_size in nginx proxy settings
All checks were successful
continuous-integration/drone/push Build is passing
2020-08-17 22:15:48 +02:00
16dbcfda7e Manage users via cli (#632)
Some checks failed
continuous-integration/drone/push Build is failing
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
dfb7730b63 More avatar providers (#622)
All checks were successful
continuous-integration/drone/push Build is passing
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
41cf73a473
Add option to configure legal urls
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-18 18:53:56 +02:00
092aae3260
Add config option to force ssl connections to connect with the mailer
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-14 17:30:39 +02:00
3d709e3bb7
Update docs with testmail command + reorder
Some checks reported errors
continuous-integration/drone/push Build was killed
2020-07-14 09:34:32 +02:00
96f366f5e7
Add docs about using vikunja with utf-8 characters
All checks were successful
continuous-integration/drone/push Build is passing
2020-07-06 21:53:26 +02:00
53cfa99912
Remove vendored dependencies
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-28 14:00:10 +02:00
08205008e7 Migrate all timestamps to real iso dates (#594)
All checks were successful
continuous-integration/drone/push Build is passing
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
c8605d6b3d
Enable upload backgrounds by default
Some checks failed
continuous-integration/drone/push Build is failing
2020-06-23 22:53:23 +02:00
f2025c2658
Fix sqlite path in default config
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-22 23:13:41 +02:00
8b030135de Added section to full-docker-example.md for Caddy v2. (#595)
All checks were successful
continuous-integration/drone/push Build is passing
Fixed one more leftover formatting oddity.

Fixed some leftovers from copy-paste.

Added section to full-docker-example.md for Caddy v2.

Co-authored-by: Christopher Leggett <chris@leggett.dev>
Reviewed-on: vikunja/api#595
Reviewed-by: konrad <konrad@kola-entertainments.de>
2020-06-22 04:48:00 +00:00
bfc4dd05ed
Add docs for restore
All checks were successful
continuous-integration/drone/push Build is passing
2020-06-21 17:34:34 +02:00
fba333866d Add dump command (#592)
All checks were successful
continuous-integration/drone/push Build is passing
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
d02d413c5e Sentry integration (#591)
All checks were successful
continuous-integration/drone/push Build is passing
Use sentry echo integration to send errors

Only capture errors not already handled by echo

Add sentry panic handler

Add sentry library

Add sentry init

Add sentry config

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#591
2020-06-19 18:47:15 +00:00
a0ffe89056 List Background upload (#582)
All checks were successful
continuous-integration/drone/push Build is passing
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: vikunja/api#582
2020-06-11 17:31:37 +00:00
5a04f1ecf4
Add option to disable totp for everyone
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-29 17:15:59 +02:00
e5e30d0915 List Backgrounds (#568)
Some checks failed
continuous-integration/drone/push Build is failing
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: vikunja/api#568
2020-05-26 20:07:55 +00:00
c37b776f7a
Add docker setup guide from start to finish
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-24 13:50:17 +02:00
e89e6d47d4 Todoist Migration (#566)
All checks were successful
continuous-integration/drone/push Build is passing
Add swagger docs + fix lint

Add parsing logic + fix fixtures

Fix test init

Add logging to creating labels and debug logs

Add creating labels when migrating

Finish test fixtures

Started adding fixtures for testing

Add method and test structures to convert todoist to vikunja

Add basic structure to migrate everything

Add all structs for todoist api

Add docs for config options

Add routes for todoist migrator

Add api token exchange

Add basic structure for todoist migration

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#566
2020-05-23 20:50:54 +00:00
292c815000
Add restarting commands to all example docker compose files
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-23 19:34:44 +02:00
4204af255c
Add ability to run the docker container with configurable user and group ids
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-22 21:18:11 +02:00
cb095d70df
Add explanation to docs about cors
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-12 11:10:07 +02:00
e43e601912
Add traefik 2 example configuration
All checks were successful
continuous-integration/drone/push Build is passing
2020-05-11 22:02:15 +02:00
8ac158cdb4 Task Filter Fixes (#495)
All checks were successful
continuous-integration/drone/push Build is passing
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
497499e221
Fix reference to reverse proxies in docs 2020-05-06 21:02:58 +02:00
1fdc51078e
Add docs for changing frontend url
Some checks failed
continuous-integration/drone/push Build is failing
2020-05-06 20:44:48 +02:00
231dc3913f Add real buckets for tasks which don't have one (#446)
All checks were successful
continuous-integration/drone/push Build is passing
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
1bd8348be7
Add categories to error docs
All checks were successful
continuous-integration/drone/push Build is passing
2020-04-19 14:33:51 +02:00
ecdecdd94e Kanban (#393)
All checks were successful
continuous-integration/drone/push Build is passing
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
24904585a2 Add 2fa for authentification (#383)
All checks were successful
continuous-integration/drone/push Build is passing
Fix user tests

Add swagger docs

Fix lint

Add totp check when logging in

Make totp enrollment work

Add migration for totp table

go mod vendor

Add routes for totp routes

Add route handler for totp routes

Add basic implementation to enroll a user in totp

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#383
2020-04-17 19:25:35 +00:00
0bfb3a4709
Add configuration options for log level
Some checks failed
continuous-integration/drone/push Build is failing
2020-04-12 22:32:21 +02:00
d28f005552 Update xorm to v1 (#323)
Some checks failed
continuous-integration/drone/push Build is failing
Fix limit for databases other than sqlite

go mod tidy && go mod vendor

Remove unneeded break statements

Make everything work with the new xorm version

Fix xorm logging

Fix lint

Fix redis init

Fix using id field

Fix database init for testing

Change default database log level

Add xorm logger

Use const for postgres

go mod tidy

Merge branch 'master' into update/xorm

# Conflicts:
#	go.mod
#	go.sum
#	vendor/modules.txt

go mod vendor

Fix loading fixtures for postgres

Go mod vendor1

Update xorm to version 1

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#323
2020-04-12 17:29:24 +00:00
0ba121fdfb Task filters (#243)
All checks were successful
continuous-integration/drone/push Build is passing
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
5126330a10 Add support for archiving lists and namespaces (#152)
All checks were successful
continuous-integration/drone/push Build is passing
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
cdd068cdb6 Add empty avatar provider (#149)
All checks were successful
continuous-integration/drone/push Build is passing
Fix lint

Add docs for avatar configuration

Add default avatar provider

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#149
2020-03-01 21:10:25 +00:00
584e3af237 Add proxying gravatar requests for user avatars (#148)
All checks were successful
continuous-integration/drone/push Build is passing
Fix getting avatar based on email

Remove avatarUrl from user struct

Fix staticcheck

Add default avatar size

Add config option for caching avatars

go mod vendor

Add swagger docs

Add proxying gravatar requests for user avatars

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#148
2020-03-01 20:30:37 +00:00
1f039c4cda Task Comments (#138)
All checks were successful
continuous-integration/drone/push Build is passing
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
021a715aff
Fix frontend url for wunderlist migration in docs
All checks were successful
continuous-integration/drone/push Build is passing
2020-02-17 19:52:26 +01:00
e95a6eeb11 Explicitly disable wunderlist migration by default (#141)
All checks were successful
continuous-integration/drone/push Build is passing
Fix wunderlist callback link in docs

Explicitly disable wunderlist migration by default

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#141
2020-02-17 17:29:17 +00:00
f46e9cb64e Fixed typo in docker-compose example (#140)
Some checks reported errors
continuous-integration/drone/push Build was killed
Reviewed-on: vikunja/api#140
Reviewed-by: konrad <konrad@kola-entertainments.de>
2020-02-17 16:47:55 +00:00
ce5be947b4 Add postgres support (#135)
All checks were successful
continuous-integration/drone/push Build is passing
Revert fixture fixes for postgres

Use postgres connection string with spaces instead of url

Fix label order

Make postgres tests in ci less verbose

Add sequence update script

Skip resets in postgres

Remove option to skip resets in postgres

Make postgres tests in ci verboseq

Update test fixtures database

Fix file tests on postgres

Add postgres options to sample config

Make sure tests init test fixtures before running the actual tests

Fix issues with IDs too big to fit in an int

Fix duplicate auto incremented IDs

Refactor / Fix team tests

Refactor team member tests

Fix team member create

Fix label test

Fix getting labels

Fix test fixtures for postgresql

Fix connection string params

Disable ssl mode on postgres integration tests

Disable ssl mode on postgres tests

Use sprintf to create the connection string for postgresql

fixup! Add postgres support

Add postgres support

Added generate as a make dependency for make build

Clarify docs on building

Co-authored-by: kolaente <k@knt.li>
Co-authored-by: Jan Tojnar <jtojnar@gmail.com>
Reviewed-on: vikunja/api#135
2020-02-16 21:42:04 +00:00
7e42724439
Added generate as a make dependency for make build
All checks were successful
continuous-integration/drone/push Build is passing
Clarify docs on building

Signed-off-by: kolaente <k@knt.li>
2020-02-15 11:35:24 +01:00
db2d868eed Return iso dates for everything date related from the api (#130)
All checks were successful
continuous-integration/drone/push Build is passing
Remove traces of unix timestamp

Revert renaming reminder table column

Fix staticcheck

Remove unused table call

Add migration for renaming reminders table

Fix issues with using TimeStamp

Fix lint

Updated all created / updated fields to use TimeStamps

Add comments

Convert all created / updated fields to datetime

Add time util package

Co-authored-by: kolaente <k@knt.li>
Reviewed-on: vikunja/api#130
2020-02-08 12:48:49 +00:00
fc65052ba0 Add config options for task attachments (#125)
Some checks reported errors
continuous-integration/drone/push Build was killed
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
b2b1546a8f Add config options for cors handling (#124)
Some checks reported errors
continuous-integration/drone/push Build was killed
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
7e9446ea07 Refactor User and DB handling (#123)
All checks were successful
continuous-integration/drone/push Build is passing
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
8c33e24e92 Migration Improvements (#122)
All checks were successful
continuous-integration/drone/push Build is passing
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
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
402cef3c15 Add option to disable registration (#117)
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-30 23:27:02 +00:00
b9f0ba84ab
Add motd config option to docs
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-25 17:27:10 +01:00
720df3cbed Add task identifier (#115)
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-07 22:28:45 +00:00
d8399e374c Sort Order for tasks (#110)
All checks were successful
continuous-integration/drone/push Build is passing
2019-12-07 14:30:51 +00:00
b6308f783b
Add files volume to docker compose docs
All checks were successful
continuous-integration/drone/push Build is passing
2019-11-25 19:08:24 +01:00
843c1e5193
Update docs with a traefik configuration 2019-11-25 19:07:11 +01:00
8948a5f219 Improve pagination (#105)
All checks were successful
continuous-integration/drone/push Build is passing
2019-10-23 21:11:40 +00:00
b81cd6128a
Fixed error when setting max file size on 32-Bit systems
Some checks failed
continuous-integration/drone/push Build is failing
2019-10-18 17:30:25 +02:00
2169464983 Task Attachments (#104)
Some checks failed
continuous-integration/drone/push Build is failing
2019-10-16 20:52:29 +00:00
8fe33fd616 Task Relations (#103)
All checks were successful
continuous-integration/drone/push Build is passing
2019-09-25 18:44:41 +00:00
8d57923a7d Sharing of lists via public links (#94)
All checks were successful
continuous-integration/drone/push Build is passing
2019-08-31 20:56:41 +00:00
4327a559e5 feature/rate-limit (#91)
All checks were successful
continuous-integration/drone/push Build is passing
2019-07-21 21:27:30 +00:00
50ca8bd28e Statically compile templates in the final binary (#84)
Some checks failed
continuous-integration/drone/push Build is failing
2019-07-11 19:10:42 +00:00
9930f98f8e Compress binaries after building them (#81)
All checks were successful
continuous-integration/drone/push Build is passing
2019-06-22 22:07:58 +00:00
802a13cffd Added settings for max open/idle connections and max connection lifetime (#74)
All checks were successful
continuous-integration/drone/push Build is passing
2019-05-25 05:49:52 +00:00
7107d030fc Better caldav support (#73)
Some checks failed
continuous-integration/drone/push Build is failing
2019-05-22 17:48:48 +00:00
konrad
3872d1d8a7 Integration tests (#71)
All checks were successful
continuous-integration/drone/push Build is passing
2019-04-21 18:18:17 +00:00
2b28ab12f1 Added docs for cli usage and adding new commands (#68)
All checks were successful
continuous-integration/drone/push Build is passing
2019-03-31 19:54:17 +00:00
be5a17e993 DB Migrations (#67)
All checks were successful
continuous-integration/drone/push Build is passing
2019-03-29 17:54:35 +00:00
2d88fad5b1 Huge improvements for docs (#58)
All checks were successful
continuous-integration/drone/push Build is passing
2019-02-17 19:53:04 +00:00