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>
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: https://kolaente.dev/vikunja/api/pulls/676
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 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: https://kolaente.dev/vikunja/api/pulls/626
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
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
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: https://kolaente.dev/vikunja/api/pulls/528
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
Fix ineffassign
Fix getting all labels including the ones not associated to a task
Signed-off-by: kolaente <k@knt.li>
Fix logging sql queries
Signed-off-by: kolaente <k@knt.li>
Start fixing getting all labels
Update xormigrate
Update xorm to use the new import path
Co-authored-by: kolaente <k@knt.li>
Reviewed-on: https://kolaente.dev/vikunja/api/pulls/133
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
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: https://kolaente.dev/vikunja/api/pulls/122
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: https://kolaente.dev/vikunja/api/pulls/120