* Remove UTC conversion from date, time and datetime fields
* Fix mysql / maria timestamps when not in UTC timezone
* Add sequential tests with node timezone change
* Increase connection attempt check
* Add error catching in tests flow setup
* Check for server connectivity
* Fix promises
* Fix timestamp inconsistencies
* Revert to previously used parseISO
* Ensure database and directus connection
* Add another timezone to test positive and negative GMT
* Set local server hostname to localhost
* Add tests for SQLite
* Use notNullable primary key
* Revert connection testing sleep duration
* Fix nested transactions on SQLite
* Increase MSSQL request timeout
* Add type override flag for SQLite
* Remove commented code
* Add type override flags for Oracle
* Updated test file path
* Increase test servers launch timeout
* Increase test servers launch timeout
* Update format of tests
* Fix typo
* Increase test timeout for CockroachDB
* Add type overrides when creating fields through collections service
* Remove time field type conversion for Oracle
* Update collections list in test
* Remove check for time field in Oracle
* Add missing continue...
* Remove database override
* Add note for SQLite
* Rename flags and extract shared util
* Abstract remaining DB specific checks
* Revert flags renaming except renaming of test files
* Use date helper to add field flag
* Move field date typecasting upstream
* Use timestamp helper for date-created and date-updated
* Fix tests
* Remove unused vars
* Add tests for date-created
* Increase connection attempt count
* Fix test for mariadb
* Increase allowable difference to account for delays
* Add tests for date-updated
* Fix tests again for mariadb
* Add date helpers post merge
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>
* Shift hook emits to field service
* Update field hooks to use filter and action
* Allow updating filter payload in hook
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Update geometric types and patch new field flow.
* Add migration
* Fixed migrations
* Also fixed migrations
* Update migration ID
* Cleanup type selector a bit
* Add missing fallback interface/display for new types
Co-authored-by: rijkvanzanten <rijkvanzanten@me.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.
* Added map layout
* Cleanup and bug fixes
* Removed package-lock
* Cleanup and fixes
* Small fix
* Added back package-lock
* Saved camera, autofitting option, bug fixes
* Refactor and ui improvements
* Improvements
* Added seled mode
* Removed unused dependency
* Changed selection behaviour, cleanup.
* update import and dependencies
* make custom style into drawer
* remove unused imports
* use lodash functions
* add popups
* allow header to become small
* reorganize settings
* add styling to popup
* change default template
* add projection option
* add basic map interface
* finish simple map
* add mapbox style
* support more mapbox layouts
* add api key option
* add mapbox backgrounds to layout
* warn when no api key is set
* fix for latest version
* Improved map layout and interface, bug fixes, refactoring.
.
.
* Added postgis geometry format, added marker icon shadow
* Made map buttons bigger and their icons thinner. Added transition to header bar.
* Bug fixes and error handling in map interface.
* Moved box-select control out of the map component. Removed material icons sprite and use addImage for marker support.
* Handle MultiGeometry -> Geometry interface error.
* Removed hardcoded styles. Added migrations for basemap column. Lots of refactoring.
Removed hardcoded styles. Added migrations for basemap column. Lots of refactoring.
* Fixed style reloading error. Added translations.
* Moved worker code to lib.
* Removed worker code. Prevent Mapbox from removing access_token from the URL.
* Refactoring.
* Change basemap selection to in-map dropdown for layout and interface.
* Touchscreen selection support and small fixes.
* Small change.
* Fixed unused imports.
* Added support for PostgreSQL identity column
* Renamed migration. Added crs translation.
* Only show fields using the map interface in the map layout.
* Removed logging.
* Reverted Dockerfile change.
* Improved crs support.
* Fixed translations.
* Check for schema identity before updating it.
* Fixed popup not updating on feature hover.
* Added feature hover styling. Fixed layer customization input. Added out of bounds error handling.
* Added geometry type and support for database native geometries.
* Fixed linting.
* Fixed layout.
* Fixed layout.
* Actually fixed linting
* Full support for native geometries
Fixed basemap input
Improved feature popup on hover
Locked interfaced support
* Fixed geometryType option not updating
* Bug fixes in interface
* Fixed crash when empty basemap settings. Fixed fitBounds option not updating.
* Added back storage type option. Improved interface behaviour.
* Dropped wkb because of vendor inconsistency with binary data
* Updated layout to match new geometry type. Fixed geojson payload transform.
* Added missing geometry_format attributes to local types.
* Fixed typos & refactoring
* Removed dependency on proj4
* Fix error when empty map interface options
* Set geometry SRID to 4326 when inserting into the database
* Add support for selectMode
* Fix error on initial source load
* Added geocoder, use GeoJSON for api i/o, removed geometry_format option, refactoring
* Added geometry intersects filter. Created geometry helper class.
* Fix error when null geometryOptions, added mapbox_key setting.
* Moved all geometry parsing/serializing into processGeometries in `payload.ts`. Fixed type errors.
* Migrate to Vue 3
* Use wellknown instead of wkx
* Fixed basemap selection.
* Added available operator for geometry type
* Added nintersects filter, fixed map interface for filter input
* Added intersects_bbox filter & bug fixes.
* Fixed icons rendering
* Fixed cursor icon in select mode
* Added geometry aggregate function
* Fixed geometry processing bug when imported from relational field.
* Fixed error with geocoder instanciation
* Removed @types/maplibre-gl dependency
* Removed fitViewToData options
* Merge remote-tracking branch 'upstream/main' into map-layout
* Fixed style and geometryType in map interface options
* Fixed style change on map interface.
* Improved fitViewToData behaviour
* Fixed type imports and previous merge conflict
* Fixed linting
* Added available operators
* Fix and merge migrations
* Remove outdated p-queue dep
* Fix get-schema column extract
* Replace pg with postgis for local debugging
* Re-add missing import
* Add mapbox as a basemap when key exists
* Remove unused tz flag
* Process delta in payloadservice
* Set default map, add limit number styling
* Default display template to just PK
* Tweak styling of error dialog
* Fix method usage in helpers
* Move sdo_geo to oracle section
* Remove extensions from ts config exclude
* Move geo types to shared, remove _Geometry
* Remove unused type
* Tiny Tweaks
* Remove fit to bounds option in favor of on
* Validate incoming intersects query
* Deepmap filter values
* Add GraphQL support
* No defaultValue for geometryType
* Resolve c
* Fix translations
Co-authored-by: Nitwel <nitwel@arcor.de>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
* Move accountability type to shared
* Rely on shared for parse-filter
* Install date-fns
* Support dynamic variables in conditional fields
Closes#7157
* 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
* Add conditions field to directus_fields
* Add conditions configuration
* Apply conditional overrides
* Handle conditions in nested groups
* Fix reverse mutating conditions
* Start on filter setup interface
* Move field types/constants to shared
* [WIP] Updated client side filter validation
* Support logical operators in client validation step
* Use new validation util in conditions check
* Add nesting in filter seutp
* Add filter rule setup configurator
* Fixes that should've been done in the merge
* Strip out filter-settings interface
TBD in a new PR
* Move browser to index
* Rework cache handler to be function export
* Add default schema caching
* Add schema cache
* Auto purge schema cache on schema change from api
* Only set last_access value on login
* Add note on schema cache setting
* Fix DB column update for types with length or boolean as default value
* Add docs/index.json to gitignore
* Remove specificType support
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
* Bump knex-schema-inspector
* Fix cli role name attr
* Update relation type
* Restructure relations
* Restructure relations table
* Update api type for relation record
* Fetch relations in new structure
* Update schema-inspector
* Use new relations schema structure in api
* Update relations GETters
* Add default value to one deselect
* Add create relationship on existing field
* Add updating existing relationship
* Add delete relations
* Add relations query resolver
* Add graphql mutations for relations
* Fix reading from wrong name
* Fix wrong method name
* No idea why this flip flops every install
* Update relation type
* Accept null in use-collection composable
* Use new relations structure in translations
* Use new relations structure in new-collection
* Start updating field detail store
* Renames for new relations structure
* Silently ignore passed collection/field in relation update
* Fix setting pk field in m2o relational setup
* Small tweaks in o2m setup
* Fix m2m setup
* Tweak m2o setup
* Fix m2a setup
* Allow null for related collection (m2a)
* Fix languages code name
* Fix migration default value
* Fix relational cleanup in collections/fields
* Fix transaction problem in field delete
* Fix inserting relational o2m items
* Don't execute updateByQuery on empty item set
Fixes#5710, fixes#5070
* Show referential action input on m2o
* Finish language for m2o
* Show triggers config on o2m
* Delete items on one_deselect_item delete
* Fix naming, show relational trigger config on m2m
* Tweak language, add setup to m2a
* Fix linter warnings
* Add trigger setup for translations
* fix Edit non-schema relationship issue
* Sync existing on_delete triggers in o2m setup
* Add migration to setup foreign key constraints
* Update illegal FK values before setting constraint
* Fix MySQL unsigned vs not-unsigned in FK creation
* Use pretty names for labels in relational triggers
* Prefix auto-junction when system table
Fixes#5493
* Add system foreign key triggers
Fixes#5749
* Update docs
* 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 the xOne/xMany work
* Update update/upsert
* Finish updating itemsservice
* Add comments, add nested revisions on update
* Use new internal api
* Update collectionService to one/many structure
* Move files to one/many structure
* Move permissions to one/many structure
* Move relations service to one/many structure
* Move roles to one/many structure
* Move users service over
* Move webhooks to updated structure
* Move deprecated methods to the bottom
* Replace deprecated uses
* Use new methods in controllers, add batch update/delete by query
* Use updated methods in API
* Fix email being required
* Remove unnecessary DB call
* Fix batch update/delete validation
* Start on GraphQL "2.0", add methodnotallowed exceptoin
* Fix relative file pointer in peer dep
* [WIP] Add pre-filtered schema to SchemaOverview
* Use root schema as is, add reduce-schema util
* Use reduceSchema in the wild
* Base schema on local reduced schema
* Remove todo
* Use graphql-compose to build out schema
* Start restructuring resolvers
* Add create mutation
* Return boolean true for empty create mutation selections
* Add update mutation
* Add delete mutation
* Add system/items scoping
* Fix merge conflicts for real now
* Use system services, rename ids->keys
* Start on docs on mutations
* Updates to match main
* Add fetch-by-id
* Add one/many resolvers for mutations
* Check system collection rows for singleton
* Fix resolver extraction for single read
* Share delete return type
* Add comments
* Use collection root name for readable type
* Add specs endpoint for GraphQL SDL
* Update docs
* Add note on SDL spec
* Fix delete single example
* Remove package-lock
* Fix collection read scoping in non-read