Fix tests
Expose email reminder setting through jwt
Set reminders on by default
Fix lint
Make user email configurable
Expose email reminder setting through /info
Don't try to send any reminders if none were found
More spacing for buttons
Fix db time format
Enable reminders by default
Make emails look more like the frontend
Add config to disable it
Add sending emaisl
Add getting all task users and reminding them
Add getting the next reminder in a cron
Move task reminder to separate file
Add cron
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/743
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
Fix lint
Fix migration query for postgres
Fix migration statements
Add migration to make all int(11) fields bigint by default
Make all int(11) fields bigint by default
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/741
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
Add more logs
Fix lint
Generate docs
Add swagger docs
Add microsoft todo parsing logic
go mod tidy
Add basic test structure
Add more fields to tasks
rename microsoft todo package
Add getting microsoft todo data
Add structs and helper methods
Add microsoft todo config and routes
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/737
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
Fix tests for background images
Generate docs
Fix lint
Do the swag
Add more logging
Remove the default bucket if it was empty
Add launch.json
Make importing backgrounds work
Add comment
Fix getting task attachments
Fix getting trello token
Add trello migration routes and status
Add support for converting checklists
Add test for attachments
Add the actual conversion
Add Trello conversion test
Add migration function stubs
Add basic trello migration structure
Add trello migration config
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/734
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
Add config docs
Lint
Move provider-related stuff to separate file
Refactor getting auth providers
Fix tests
Fix user tests
Fix openid tests
Add swagger docs
Fix lint
Fix lint issues
Fix checking if the user already exists
Make sure to create a new namespace for new users
Docs
Add tests for openid
Remove unnessecary err check
Consistently return nil users if creating a new user failed
Move sending confirmation email to separate function
Better variable names
Move checks to separate functions
Refactor creating user into seperate file
Fix creating new local users
Test creating new users from different issuers
Generate a random username right away if no preferred username has been given
Add todo
Cache openid providers
Add getting int clientids
Fix migration
Move creating tokens to auth package
Add getting or creating a third party user
Add parsing claims
Add retreiving auth tokens
Add token callback from openid package
Add check for provider key
Add routes
Start adding openid auth handler
Add config for openid auth
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/713
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
Add app support info for DAV
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/692
Co-Authored-By: freaktechnik <martin@humanoids.be>
Co-Committed-By: freaktechnik <martin@humanoids.be>
Cleanup
Update docs for deb
Add building os packages to drone
Add apk packages
Replace version and binlocation strings in nfpm config
Make nfpm config replacable
Fix nfpm config
Add nfpm config
go mod tidy
Add nfpm mage target
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/689
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
Add docs todo to PR template
Clarify docs
Fix parsing of descriptions and multi-level values
Add method to write out the file
Only render default value for non-top-level values
Remove comment headings from yaml comments
Add printing config
Add basic parsing of sample config with comments
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/684
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
Fix lint
Add docs for keyvalue config options
Use keyvalue store to cache unsplash photo results
Cleanup
Use keyvalue store for upload avatar
Use keyvalue store for initials avatar
Fix initializing metrics
Use keyvalue for metrics
Add IncryBy and DecrBy methods to increase or decrease a value
Fix lint
Return custom error if a key does not exist
Init keyvalue storage
Follow the keyvalue storage setting for things like cache and other
Add docs
Add configuration of the storage backend
Add redis keyvalue storage implementation
Add doc comments
Add methods to use storage through the package itself
Add memory implementation for keyvalue store
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/674
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
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: https://kolaente.dev/vikunja/api/pulls/655
Co-Authored-By: konrad <konrad@kola-entertainments.de>
Co-Committed-By: konrad <konrad@kola-entertainments.de>
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
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: https://kolaente.dev/vikunja/api/pulls/651
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: https://kolaente.dev/vikunja/api/pulls/632
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
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
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: https://kolaente.dev/vikunja/api/pulls/595
Reviewed-by: konrad <konrad@kola-entertainments.de>
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
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
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: https://kolaente.dev/vikunja/api/pulls/566
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
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: https://kolaente.dev/vikunja/api/pulls/393
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: https://kolaente.dev/vikunja/api/pulls/383
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: https://kolaente.dev/vikunja/api/pulls/323
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: https://kolaente.dev/vikunja/api/pulls/243
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: https://kolaente.dev/vikunja/api/pulls/152
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: https://kolaente.dev/vikunja/api/pulls/148
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: https://kolaente.dev/vikunja/api/pulls/135
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: https://kolaente.dev/vikunja/api/pulls/130
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: https://kolaente.dev/vikunja/api/pulls/123