Commit Graph

461 Commits

Author SHA1 Message Date
rijkvanzanten
cf69cc814a Don't read icc information
Save some space, we don't need the color profile information
2021-08-17 10:51:01 -04:00
rijkvanzanten
1b950b07de Still join them on create tho 2021-08-13 12:09:05 -04:00
rijkvanzanten
8d5ce4e91d Don't double split csv values 2021-08-13 12:03:58 -04:00
Oreille
83e8814b2d Add support for Geometry type, add Map Layout & Interface (#5684)
* 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>
2021-08-12 22:01:34 +02:00
Rijk van Zanten
8d78f70050 Check for non-existing parent pk records (#7331)
Fixes #7330
2021-08-10 20:46:30 +02:00
Rijk van Zanten
2789e27c26 Check for related collection before creation relation (#7323)
Fixes #7302
2021-08-10 18:39:58 +02:00
Rijk van Zanten
0214b9a1bb Fix uuid resolving in SQLite (#7312)
Fixes #7306
2021-08-10 16:00:22 +02:00
Rijk van Zanten
f6a7853e7d Rely on RETURNING when possible (#7259)
* WIP use returning clause instead of max from id

* Use returning where applicable, fallback to fetch

Fixes #6279
2021-08-07 00:21:50 +02:00
Bernat Vadell
2193339aef Fix internal server error (#7240)
* fix internal server error when create items with special pk and not required other fields

* Only run validation check when validation rules exist

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-08-06 18:43:45 +02:00
Rijk van Zanten
4c074512f6 Fix import of perf hook on node < 16 (#7249)
Fixes #7221
2021-08-06 16:47:38 +02:00
Pascal Jufer
bea3794f0a Switch to exifr for image metadata extraction (#6922)
* Switch to exifr for image metadata extraction

* Fix migrations on pg

* Prevent double divider

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-08-05 19:19:18 -04:00
Rijk van Zanten
d0f6cb35e3 Support dynamic variables in conditional fields (#7202)
* Move accountability type to shared

* Rely on shared for parse-filter

* Install date-fns

* Support dynamic variables in conditional fields

Closes #7157
2021-08-05 01:51:15 +02:00
Rijk van Zanten
ce234f3165 Fix timezone problems in dateTime type (#7200)
* 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
2021-08-05 01:19:24 +02:00
Rijk van Zanten
e8bb89e05d Don't trigger updates for pre-existing selected items (#7176)
Fixes #4147
2021-08-04 01:47:06 +02:00
rijkvanzanten
e4add23ce6 Fix linter warnings 2021-08-03 17:30:36 -04:00
Rijk van Zanten
c312115ef3 Fix nested m2a collection permission retrieval (#7168)
Fixes #7086
2021-08-03 23:29:34 +02:00
Rijk van Zanten
ef3d618d6c Add support for app-required field state (#7166)
* Add "required" option to fields

* Move some exceptions to shared

* Do client side validation for required

* Add conditional required support
2021-08-03 23:04:24 +02:00
Rijk van Zanten
9eace1c9ff Prevent duplicate alias fields from being created (#7142)
Fixes #7107
2021-08-02 22:16:13 +02:00
Rijk van Zanten
956c590f0c Stall login/pw reset to prevent email leaking (#7105) 2021-07-30 15:01:07 -04:00
Rijk van Zanten
14254bae62 Fix top level perm check on nested m2a records (#7060)
Fixes #6317
2021-07-28 23:11:54 +02:00
Bernat Vadell
fd8c54b10e Calendar range render (#6775)
* Fixes #6699

* Clean up calendar index a bit

* Format date output using non timezoned output

* Match output format to input format

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-07-28 22:29:09 +02:00
Rijk van Zanten
1597423e1a Don't throw 500 on missing email (#7050)
Fixes #6948
2021-07-28 19:55:20 +02:00
rijkvanzanten
2e442b2757 Fix return type in roles service 2021-07-28 12:04:55 -04:00
Rijk van Zanten
f81dfda20f Don't return collections outside of cache (#7020)
Fixes #6602
2021-07-28 00:57:31 +02:00
Rijk van Zanten
945d5d94e0 Add new /utils/cache/clear endpoint (#7014) 2021-07-27 23:32:25 +02:00
rijkvanzanten
f7064d69dc Fix return type on gql service 2021-07-27 16:51:14 -04:00
Rijk van Zanten
07fb7d67a8 Prevent from deleting the last admin user (#7008)
* Prevent from deleting the last admin user

Fixes #6990

* Add missing return types
2021-07-27 20:30:13 +00:00
Rijk van Zanten
92e1ee77bd Add support for Conditional Fields (#6864)
* 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
2021-07-26 18:02:24 -04:00
Adrian Dimitrov
efe7b076a3 Add default-folder option (#3209)
* Allow set folder for imported files

* Allow passing folder in file/files component; Allow pick folder for file/files/image interfaces.

* Added folder system component for picking folders; Move folder picker the field from data to interface (file, files, image).

* Add custom folder interface; use props for interfaces file/files/image in upload component

* Allow set folder for imported files

* Allow passing folder in file/files component; Allow pick folder for file/files/image interfaces.

* Added folder system component for picking folders; Move folder picker the field from data to interface (file, files, image).

* Add custom folder interface; use props for interfaces file/files/image in upload component

* Update after rebase

* Add storage_default_folder setting, use folder when deploy file

* Fix files options; Add default label option for folder interface.

* Fix set folder for file

* UX

* Add migration for column, undo seed change

* Update nomanclature

* Make sure file library always submits folder, cleanup setting retrieval

* Use indexName on down migrate

* Fix import default folder, rename customPresets->folderPreset

* Rename interface import

* Use undefined as default folder

* Remove deprecated lang file

* Fix display of folder interface, treat null as value

* Move shared composable

* Remove unused ref

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-07-21 17:29:21 -04:00
Tim
2c9ff3bca6 Allow custom transformations of assets (#6593)
* Allow custom transformations of assets

This exposes one query parameter `transforms`, which is a JSON array of
shard transformation operations.

It also updates the asset presets. The UX for this still needs some work

* Rename options to arguments for presets

More explicit

* options -> arguments in setting spec

* Better errors for invalid JSON in asset presets

* Add limit to transforms query parameter

* Use flattened option for extra transforms

* Fix placeholder color of code input

* Allow "simple mode" aliases

* Add documentation

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-07-21 15:57:47 -04:00
Nicola Krumschmidt
b61543c0e9 Move DeepPartial to shared (#6886)
Also cleans it up and adds support for readonly arrays.
2021-07-20 11:40:59 -04:00
j3n57h0m45
79c91ed50d enable custom name for refresh token (#6890) 2021-07-20 15:29:11 +02:00
Rijk van Zanten
c2e1aca63b Make sure every DB returns time as HH:mm:ss (#6847)
Fixes #6492
2021-07-16 00:21:19 +02:00
Rijk van Zanten
f360a2d445 Fixed issue that would cause the wrong field to be extracted when using "detailed" updates in o2m with non-"id" primary keys (#6841)
Fixes #6817
2021-07-15 23:40:04 +02:00
Rijk van Zanten
5abfd96a99 Account for primary keys in A2O processing (#6783)
Fixes #6782
2021-07-13 16:26:56 -04:00
Thijs-Jan
18ef097402 Fix item.read hook not firing for readByQuery (#6645)
* Move read hook to readByQuery method

* Return query to items.read hook, update docs accordingly
2021-07-07 12:13:38 +02:00
rijkvanzanten
e753e37cef Fix type warning 2021-07-05 11:51:39 +02:00
Alexander Krantz
43c4a49186 Fix extra dots being added (#6584) 2021-06-30 16:54:47 +00:00
Zorin Sergey
003d85f946 Add limit options for deleteMany files (#6561)
* Changed filesize to bigint for large files

* Update api/src/database/migrations/20210626A-change-filesize-bigint.ts

* add `limit -1` for deleteMany files options from #6560

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-06-29 09:22:47 -04:00
Luan Mattner Müller
9da9874905 Fix MailService to throw sending errors (#6541) 2021-06-28 13:29:23 -04:00
Nicola Krumschmidt
051df415df Fix extensions (#6377)
* Add support for npm extensions

* Allow extensions to import vue from the main app

* Bundle app extensions on server startup

* Fix return type of useLayoutState

* Add shared package

* Add extension-sdk package

* Add type declaration files to allow deep import of shared package

* Add extension loading to shared

* Refactor extension loading to use shared package

* Remove app bundle newline replacement

* Fix extension loading in development

* Rename extension entrypoints

* Update extension build instructions

* Remove vite auto-replacement workaround

* Update package-lock.json

* Remove newline from generated extension entrypoint

* Update package-lock.json

* Build shared package as cjs and esm

* Move useLayoutState composable to shared

* Reverse vite base env check

* Share useLayoutState composable through extension-sdk

* Update layout docs

* Update package versions

* Small cleanup

* Fix layout docs

* Fix imports

* Add nickrum to codeowners

* Fix typo

* Add 'em to vite config too

* Fix email

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-06-23 12:43:06 -04:00
Rijk van Zanten
44082c60e1 Add schema caching (#6456)
* 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
2021-06-22 20:50:20 -04:00
Rijk van Zanten
25aaebacd4 Don't return default val for PK field in singleton (#6444)
Fixes #6429
2021-06-22 18:19:02 -04:00
Rijk van Zanten
1cb9181052 Add support for starts/ends with filters (#6437) 2021-06-22 14:28:11 -04:00
Aiden Foxx
980be7cb53 Fixed invalid onDelete constraint for some schemas (#6308)
* Fixed invalid onDelete clause for some schemas

* Ran prettier

* Updated all onDelete statements to be Oracle friendly

Co-authored-by: Aiden Foxx <aiden.foxx@sbab.se>
2021-06-17 15:43:32 -04:00
Rijk van Zanten
e033e17326 Use existing file extension as default (#6349) 2021-06-17 11:06:00 -04:00
Thijs-Jan
e4b9bf06a0 Add support for read hooks on items (#6341)
* Add emitter on item read

* Add performance warning to docs

* Make result instead of query the payload
2021-06-17 10:56:52 -04:00
Rijk van Zanten
36ecad783a Fix issue that would cause emails to be displayed incorrectly in certain email clients (#6267)
Fixes #6074
2021-06-14 16:24:55 -04:00
Rijk van Zanten
4cb8d1f814 Add additional check to Two-Factor Authentication (by @masterwendu) (#6187)
* 6113 add tfa generate endpoint

* 6113 implement tfa otp check in user settings

* 6113 add autfocus for otp field on login form

* update package-lock

* improve TFA uri with user email

* fix vue 3 compatibility

* reduce code duplication for enableTFA

* Remove unnecessary parameters

* Use project name in otp url when available

* Update docs/reference/api/system/users.md

Co-authored-by: Wendelin Peleska <wendu@pm.me>
2021-06-10 15:36:34 -04:00
Pascal Jufer
927b9f8cc2 Fix DB column update for data types with length or boolean as default value (#6163)
* 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>
2021-06-09 18:30:59 -04:00