* Set charater set to utf8mb4
* Don't exit application when misconfigured collation
* Check all table and columns for inconsistencies with database default collation
* Tweak wording
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* base changes for cockroachdb
* allow creating of tables
* allow deleting of fields
* allow deleting of tables
* rebase
* fix migrations
* bump knex-schema-inspector to 1.7.0
* Update package-lock
* Add cockroach to debugging docker-compose file
* Remove unused import
* Tweak name in example.env
* Force nullable primary keys in cockroach
* Tweak shares migration to run on cockroach
* Rename var for clarification
* suggestion for migration helper
* change to schema and update remaining migrations
* Remove custom cockroach schema in favor of sharing with pg
* Fix migrations for CockroachDB
* Hopefully fix Oracle migrations 🤞🏻
* Make ~~aiden~~ oracle happy
* Resolve branching paths in migrations
* Enable tests for cockroach
* Fix test config
* One more config change for good measure
* Adjust test to match cockroach's bigint auto-int structure
* Increase request timeout for mssql
* Update api/src/database/helpers/schema/types.ts
Co-authored-by: Aiden Foxx <aiden.foxx.mail@gmail.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: Aiden Foxx <aiden.foxx.mail@gmail.com>
This fixes not being able to build the repo due to type issues
introduced by the Typescript 4.4 option "useUnknownInCatchVariables",
which is enabled by default in strict mode.
* Disable useTZ option from MS SQL by default
* Fix recognition of OracleDB timestamp
* Smoothen out knex default in useTz for datatypes
* Fix timezone parsing for dateTime fields
* Remove unused import
* added warn when migrations have not all been run
* fixed imports
* added better error handling
* Update api/src/database/index.ts
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* migration is its own file
* added custom migrations path
* Handle non-existing custom migrations folder
Co-authored-by: jaycammarano <jaycammarano@gmail.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Declare return types on functions
And a very few other type related minor fixes
* Minor syntax fixes
* Remove unnecessary escape chars in regexes
* Remove unnecessary awaits
* Replace deprecated req.connection with req.socket
* Replace deprecated upload with uploadOne
* Remove unnecessary eslint-disable-next-line comments
* Comment empty functions / catch or finally clauses
* Fix irregular whitespaces
* Add missing returns (null)
* Remove unreachable code
* A few logical fixes
* Remove / Handle non-null assertions which are certainly unnecessary (e.g. in
tests)
* Start on database-error abstraction layer
* Add SQLite error abstraction
* Enable SQLite foreign key support
* Cleanup sqlite dialect slightly
Does it matter? Not really!
* Add MySQL error abstraction
* WIP Almost done with MSSQL
* Add correct error handling for MS SQL
* Fix mysql errors by not relying on value order
* Don't rely on sql in postgres exception translation
* Fix sqlite error parsing
* Remove foreign key constraint from activity to collections
A collection can be DB-only, but we still want to track activity for non-meta collections
* Translate error on update as well
* Pass relations through schema, instead of individual reads
* Fetch field transforms upfront
* Fix length check
* List if user has app access or not in accountability
* Load permissions up front, merge app access minimal permissions
* Show app access required permissions in permissions overview
* Show system minimal permissions in permissions detail
* Fix app access check in authenticate for jwt use
* Fix minimal permissions for presets
* Remove /permissions/me in favor of root use w/ permissions
* Fix logical nested OR in an AND
* Use root permissions endpoint with filter instead of /me
* Allow filter query on /permissions
* Add system minimal app access permissions into result of /permissions
* Remove stray console log
* Remove stray console.dir
* Set current role as role for minimal permissions
* Fix no-permissions state for user detail
* Add filter items function that allows altering existing result set