Commit Graph

337 Commits

Author SHA1 Message Date
heyarne
0d7d63f9fe Check for duplicate migration keys (#8597)
* Check for duplicate migration keys

* Run prettier
2021-10-07 18:00:31 -04:00
Adrian Dimitrov
de2c0fad42 Set integer type on tileSize (#8528)
Fixes an issue when setting tile size for custom map.

```
Error: sources.aaaaa.tileSize: number expected, string found
    at Object.Tn [as emitValidationErrors] (validate_style.js:37)
    at Ue (style.js:46)
    at i2._load (style.js:245)
    at style.js:235
```
2021-10-04 09:40:11 -04:00
Rijk van Zanten
ec32c9e0fe Fix group migration on MySQL (#8404)
* Remove groupsInUse check

* Fix group migration on MySQL

Fixes #8369
2021-09-28 22:46:26 +00:00
ian
1b92d711d4 Refactor action value from authenticate to login in directus_activity (#8397)
* Refactor action value from authenticate to login in directus_activity

* Fix incorrect where clause in migration

* Add missing authenticate uses

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-09-28 20:59:27 +00:00
Rijk van Zanten
1ffd1c7bc3 Fix email migration for MS SQL (#8399)
Fixes #8396
2021-09-28 16:23:50 -04:00
Azri Kahar
18b20e7d54 fix "add conditions to fields" migration (#8375) 2021-09-28 10:04:35 -04:00
Nicola Krumschmidt
7eb2b53927 Remove duplicate directus_migrations collection (#8383)
The collection is already defined on line 29.
2021-09-28 09:48:27 -04:00
Nitwel
cf05527f0e Add dedicated "files" interface (#8110)
* add download button for m2m

* create files interface

* Add migration to use new files interface

* Fix linter warnings

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-09-27 22:27:03 +00:00
rijkvanzanten
c2c9ad4116 Add missing data field in sessions 2021-09-27 17:34:38 -04:00
Aiden Foxx
084c6117b7 Modular authentication (#6942)
* Moved refactoring from LDAP branch

* Moved Auth into packages

* Updated frontend to support custom auth providers and make implementation more flexible

* Fixed exception handling and numerous bugs. Also added provider support to graphql

* Updated frontend to be able to set provider and identifier

* Fixed issue with setting the auth provider in app

* Updated package-lock.json

* Updated package-lock.json

* Cleanup, adding type handling and disabled changing provider

* Added title formatting to SSO links

* Fixed incorrect type export

* Fixed incorrect rc

* Update api/src/services/authentication.ts

* Updated sub-dependencies to rc87

* Fixed linting errors

* Prefer sending provider name as config var

* Pass clone of user info to auth provider instead of reference

* Moved auth from packages into core

* Removed generic login handler

* Fixed graphql complaint

* Moved exception back to api and cleaned up URLs

* Minor tweak

* Pulled across improvements from openid branch

* Fixed fix that wasn't a fix

* Update auth.ts

* Update auth.ts

* Update authentication.ts

* Update login-form.vue

* Regression fixes and cleanup

* Minor flow improvements

* Flipped if and fixed linting warning

* Un-expanded object that didn't need to be expanded!

* Trimmed auth interface for consistency when verifying passwords

* Removed auth-manager, changed login endpoint, broke out SSO links, removed username support, disabled updating external_identifier, generate provider options as part of field generation

* Cleaned up some code comments

* Use named exports in local driver

* Use async defaults for auth abstract class

* Use JSON for auth_data field

* Move session data blob to directus_sessions

* Remove unused export, rename auth->authDriver

* Opinionated changes

* Move login route registration to driver file

* Revert app changes in favor of PR #8277

* Send session token to auth provider and opinionated changes

* Added missing translation

* Fixed empty elements for users without email

* Update api/src/auth/drivers/local.ts

* Move pw verify to local driver, remove CRUD

* Opinions > logical reasoning

* Use session data, cleanup login method on auth serv

* Remove useless null

* Fixed breaking changes from refactor, and fixed build

* Fixed lint warning

* Ignore typescript nonsense

* Update api/src/services/authentication.ts

* Fix provider name passthrough

Co-authored-by: Aiden Foxx <aiden.foxx@sbab.se>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-09-27 17:18:20 -04:00
Rijk van Zanten
356b96e3e2 Migrate down chronologically instead of by version (#8357)
Fixes #8254
2021-09-27 16:45:50 -04:00
Rijk van Zanten
2fe8626b54 Add missing system data points (#8351) 2021-09-27 15:18:59 -04:00
Rijk van Zanten
f5f68417cf Use field key instead of ID for group value (#8349)
* Add migration to replace group ID with group name

* Replace group IDs with field names

* Tweak group interfaces

* Ignore schema export
2021-09-27 15:06:19 -04:00
Azri Kahar
915ff76ffc Fix multiple issues in Data Model view (#8333)
* disable the labels for disabled display templates

* fix color placeholder & field name

* fix singleton field label translation

* fix collections note placeholder translation
2021-09-27 10:10:39 -04:00
Aiden Foxx
c6eda9fe69 Fixed error when setting Oracle column to not null (#8111)
* Fixed error when setting Oracle column to not null

* Normalized migrations for all vendors

* Downgraded knex version

* Updated knex again

* Update 20210907A-webhooks-collections-not-null.ts

* Update 20210920A-webhooks-url-not-null.ts

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-09-22 16:02:24 -04:00
ian
dc363dd16f Add divider for modules section (#8240) 2021-09-22 12:12:21 -04:00
Rijk van Zanten
bf72917a4c Add Insights Module & API Aggregation Functionality (#8009)
* Apply aggregation query to dbQuery

* Override fields/sortField when group/aggr is used

* Sanitize incoming group/aggr fields

* Validate for new group/aggr query params

* Document new aggregate/group endpoint

* Add changeset

* Add new system tables

* Add schema, rest/gql resolvers for insights

* Add insights store

* Render insights overview page

* Add dashboard creation flow

* Add not found route

* Show editing grid

* Add panels as extension type

* Render panel selection

* Add edit existing

* Add saving changes

* Add positioning

* Finish resizing

* Start on metric panel

* Auto-expand workspace

* WIP add frappe-chart

* Add functional time-series chart

* Deep watch option changes

* Fix o2m fetch when not grouping

* Allow PK in metric panel

* Add breadcrumb

* Various tweaks and fixes

* Fix metric alignment, only load on options change, Show header

* Add delete panel

* Add updating dashboard

* Swap docs / insights

* Add sort/limit to metric

* Add decimal places, units

* Add label type panel

* Track corner intersaction

* Don't hit the API if there aren't any staged changes

* Remove limit from metric

* Extend resize handlers beyond border

* Fix repositioning on update existing

* Add duplicate panel

* panel duplicate icon

* Increase time series min height

* Improve time series styling

* make panels selectable

* Button styling and fullscren (button only)

* Time series color

* Panel plot display

* Optically align metric

* Add number formatting to metric

* Insights placeholders and defaults

* Fix codemirror placeholder color

* Restart docker containers on docker restart

* Move insights to Vue 3

* Fix val check

* Add button style props

* Fix input/value

* Fix panel init

* Fix buttons on panels

* Fix animation on panel config

* Fix panel location not resetting on cancel

* Add fullscreen / zoom to fit support

* Temp remove transition to prevent browser glitches

* Fix vertical size calculation

* Fix panel editing

* Update params to match fields

* Setup datetime abstraction

* Restructure fn helper

* Add fields support for date functions

* Allow functions in sort/filter

* Fix missing knex passthrough

* Finish date retrieval abstraction for all vendors

* Delete witty-emus-approve.md

* Delete dependabot.yml

* Add renovate.json (#6322)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* New Crowdin updates (#6309)

* New translations en-US.yaml (Japanese)

* New translations en-US.yaml (Japanese)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Arabic)

* fix link (#6339)

* fix(deps): pin dependencies (#6323)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency globby to v11.0.4 (#6324)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* 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

* Redact tokens from logs (#6347)

* Fixed issue that would cause uploads to the root folder of the file library to fail (#6348)

fixes #6310

* Use existing file extension as default (#6349)

* Don't send sensitive data in webhooks (#6350)

Fixes #6246

* Trim val before check

h/t @aidenfoxx

* chore(deps): update mariadb docker tag to v10.6 (#6332)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update node.js to v16 (#6336)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update postgres docker tag to v13 (#6338)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency rollup to v2.52.1 (#6337)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency vue-router to v4.0.9 (#6327)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency typescript to v4.3.3 (#6329)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(deps): update dependency ms to v2.1.3 (#6328)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency marked to v2.1.1 (#6330)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update fullcalendar monorepo to v5.8.0 (#6331)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency dotenv to v10 (#6333)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(deps): update dependency chalk to v4 (#6342)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency fs-extra to v10 (#6334)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Change cache-control heeaders (#6355)

* chore(deps): update dependency typescript to v4.3.4 (#6357)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* 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>

* Fix import in aggregation

* Fix cancel button on new modal dialog

* Add default icon to new dashboards

* Add information sidebar component

* Don't open sidebar on window resize

* Add distinct options to metrics panel

* Use updated aggregate function type signature

* Reset field value on collection change

* Don't show resize stats on edit click

* Add panel options to header headline on drawer

* Add page-bottom padding to drawers

* Show panel icon in header, fix active state buttons

* Add date range functionality to time-series

* Fix z-index of edit buttons

* Fix header icon color

* Update insights module icon

* Fix datetime formatter, set date range, add padding

* Time series

* tweaks on time series

* format tweaks

* Fix edit dashboard modal

* Add auto-format option

* Fix number formatting w/ decimals

* Add metric conditional color

* Fix defaults rendering in list, add defaults to metric

* Fix decimal points in metrics

* Remove sort

* Tweaks in metrics settings

* Add filters to time series

* Update options for metric

* Time series tweaks

* Allow empty field for metric

* Set label min height to 4

* Add first/last to metric

* Add "move" option, various tweaks

* Upgrade "move to" to "copy to"

* Add white to color preset defaults

* Tweaks

* Use 0 for decimal default

* Use default false for abbreviate

* Fix panel registration

* Show color placeholder, fix edit modal

* Add navigation guard

* Don't fire navguard on subroute

* Show create button on empty dashboards in nav

* Use synced charts

* Undo sync test

* Have metric render 0

* Fix abbreviate decimal places

* Fix min 0 in time-series

* less blocking whitespace

* new metric min width

* new time series min width

* time series style updates

* Fixed typo (#6558)

* Fix auto-fill of directus_files in relational setup (#6555)

Fixes #6487

* v9.0.0-rc.82

* Update changelog.md

* 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>

* Fix cleaning order

* update dependency ts-node-dev to v1.1.7 (#6564)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fix order of form group filter (#6566)

Fixes #6557

* New Crowdin updates (#6554)

* New translations en-US.yaml (Bulgarian)

* Update source file en-US.yaml

* v9.0.0-rc.83

* Update the required Node version to 12.20.0 (#6578)

* update dependency rollup to v2.52.4 (#6572)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Add skip admin init flag (#6576)

* adds skipAdminInit flag to bootstrap

* checks for skipAdminInit flag

* update docs for skipAdminInit

* Fix extension loading on windows (#6579)

Javascript import syntax uses URLs instead of paths, so we have to
normalize the extension paths to forward slashes when importing them
inside the virtual entrypoints.

Fixes #6550

* New Crowdin updates (#6575)

* New translations en-US.yaml (Hebrew)

* New translations en-US.yaml (Hebrew)

* insights time series min size

* Only ask for are you sure when edits are made

* Add cancel confirmation

* Add system collections to pane dropdown

* Disable zoom to fit when enabling edit mode

* Render browser popup on reload

* Fix padding in TV mode

* Fix box

* Add show X/Y axis options

* Default to 0 decimals

* Use configured decimals in Y axis labels

* Fix build

* Aggregate resolvers added to GraphQL options (#7373)

* Don't use tags interface for CSV filter (#7258)

Fixes #6778

* Rely on `RETURNING` when possible (#7259)

* WIP use returning clause instead of max from id

* Use returning where applicable, fallback to fetch

Fixes #6279

* update dependency p-queue to v7 (#7255)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency @vitejs/plugin-vue to v1.4.0 (#7263)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Move p-queue to app dev dependencies (#7273)

* Log error message when registering app extension fails (#7274)

* update dependency rollup to v2.56.1 (#7269)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency vue-router to v4.0.11 (#7272)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency ts-node to v10.2.0 (#7271)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Only loads app extensions if SERVE_APP is true (#7275)

This also ensures API/App only load their respective extensions in dev.

* Fix gitignore file in extension templates being deleted when publishing (#7279)

* New Crowdin updates (#7260)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Russian)

* update typescript-eslint monorepo to v4.29.1 (#7283)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Only treat `tinyint(1)` and `tinyint(0)` as booleans (#7287)

* added an if catch for tinyint(1) and tinyint(0)

* made suggested changes toLowerCase()

* update dependency @vue/compiler-sfc to v3.2.0 (#7288)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency vue to v3.2.0 (#7289)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Handle JSON in labels display (#7292)

Fixes #7278

* update dependency pinia to v2.0.0-rc.3 (#7055)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update vue monorepo to v3.2.1 (#7293)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Flush caches on server (re)start (#7294)

* v9.0.0-rc.89

* Update package-lock

* Update release script

To workaround breaking change in npm patch 🎉

* Update changelog

* update dependency pinia to v2.0.0-rc.4 (#7297)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency rollup to v2.56.2 (#7303)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fix HTTP method for collections.createMany in SDK (#7304)

* Fix HTTP method for collections.createMany in SDK

* Post collections in data body

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>

* Add perm check for sqlite, upload, extensions dirs (#7310)

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* update dependency eslint-plugin-vue to v7.16.0 (#7300)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fix uuid resolving in SQLite (#7312)

Fixes #7306

* Clear the file payload after file upload (#7315)

Fixes #7305

* Improve type checking

* Mention TELEMETRY environment variable in docs (#7317)

* Mention TELEMETRY environment variable in docs

* Add clarification

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>

* Import access from fs-extra instead of fs/promises

* Resolve sorting in list-o2m-tree-view on dnd

* Fix graphql GET request cache query extraction (#7319)

Fixes #7298

* Check for related collection before creation relation (#7323)

Fixes #7302

* Fix colors on different types (#7322)

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* group is working on aggregate resolver

* Check for non-existing parent pk records (#7331)

Fixes #7330

* Schema field types are not translated in the app (#7327)

* Fix field type label translations

* Use translate-object-values util

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>

* Update release script

* Add import ref for TS

* Tweak, hopefully fix release flow

* getAggregateQuery

* clean up payload
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* Treat alias-only fields properly

* Add missing translations (#7358)

* v9.0.0-rc.90

* Update changelog.md

* update dependency nanoid to v3.1.24 (#7365)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency supertest to v6.1.5 (#7360)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update vue monorepo to v3.2.2 (#7355)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* filters working avg{id} format with number fields

* Fix english string after #7358 (#7371)

Fixed wrong string in en-US after #7358 PR

* group field working

* update dependency nanoid to v3.1.25 (#7375)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency directory-tree to v2.3.0 (#7376)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Export Collection button now shows collection name not table name (#7379)

* export collection button to uses name not db name

* removed unused var

* fixed for review

* computed collectionName

* 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>

* New Crowdin updates (#7359)

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Ukrainian)

* New translations en-US.yaml (Norwegian)

* New translations en-US.yaml (Polish)

* New translations en-US.yaml (Portuguese)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Serbian (Cyrillic))

* New translations en-US.yaml (Swedish)

* New translations en-US.yaml (Turkish)

* New translations en-US.yaml (Chinese Traditional)

* New translations en-US.yaml (Portuguese, Brazilian)

* New translations en-US.yaml (Indonesian)

* New translations en-US.yaml (Spanish, Chile)

* New translations en-US.yaml (Thai)

* New translations en-US.yaml (Hindi)

* New translations en-US.yaml (Malay)

* New translations en-US.yaml (Serbian (Latin))

* New translations en-US.yaml (Dutch)

* New translations en-US.yaml (Italian)

* New translations en-US.yaml (Afrikaans)

* New translations en-US.yaml (Lithuanian)

* New translations en-US.yaml (Spanish, Latin America)

* New translations en-US.yaml (Slovenian)

* New translations en-US.yaml (Vietnamese)

* New translations en-US.yaml (Chinese Simplified)

* New translations en-US.yaml (Bulgarian)

* New translations en-US.yaml (Romanian)

* New translations en-US.yaml (French)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Georgian)

* New translations en-US.yaml (Catalan)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Danish)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Greek)

* New translations en-US.yaml (Finnish)

* New translations en-US.yaml (Hebrew)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Japanese)

* Update source file en-US.yaml

* New translations en-US.yaml (Italian)

* New translations en-US.yaml (Slovenian)

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Sinhala)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Bulgarian)

* Update source file en-US.yaml

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Norwegian)

* New translations en-US.yaml (Polish)

* New translations en-US.yaml (Portuguese)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Swedish)

* New translations en-US.yaml (Turkish)

* New translations en-US.yaml (Portuguese, Brazilian)

* New translations en-US.yaml (Spanish, Chile)

* New translations en-US.yaml (Thai)

* New translations en-US.yaml (Serbian (Latin))

* New translations en-US.yaml (Dutch)

* New translations en-US.yaml (Lithuanian)

* New translations en-US.yaml (Spanish, Latin America)

* New translations en-US.yaml (Vietnamese)

* New translations en-US.yaml (Chinese Simplified)

* New translations en-US.yaml (Bulgarian)

* New translations en-US.yaml (French)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Finnish)

* New translations en-US.yaml (Hungarian)

* update dependency directory-tree to v2.3.1 (#7380)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* pin dependencies (#7384)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency macos-release to v3 (#7381)

* update dependency macos-release to v3

* Update package-lock

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>

* New Crowdin updates (#7386)

* Update source file en-US.yaml

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Polish)

* New translations en-US.yaml (Portuguese)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Swedish)

* New translations en-US.yaml (Turkish)

* New translations en-US.yaml (Chinese Traditional)

* New translations en-US.yaml (Portuguese, Brazilian)

* New translations en-US.yaml (Indonesian)

* New translations en-US.yaml (Spanish, Chile)

* New translations en-US.yaml (Thai)

* New translations en-US.yaml (Serbian (Latin))

* New translations en-US.yaml (Dutch)

* New translations en-US.yaml (Italian)

* New translations en-US.yaml (Lithuanian)

* New translations en-US.yaml (Spanish, Latin America)

* New translations en-US.yaml (Slovenian)

* New translations en-US.yaml (Vietnamese)

* New translations en-US.yaml (Chinese Simplified)

* New translations en-US.yaml (Bulgarian)

* New translations en-US.yaml (French)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Finnish)

* New translations en-US.yaml (Hungarian)

* Revert "update dependency macos-release to v3 (#7381)" (#7389)

This reverts commit ca111a80cb.

* update dependency npm to v7.20.6 (#7387)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fix flat lock number

* Small tweaks, fix type bug

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: Pascal Jufer <paescuj@users.noreply.github.com>
Co-authored-by: Adrian Dimitrov <dimitrov.adrian@gmail.com>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: Nitwel <nitwel@arcor.de>

* Fix merge quirk

* Add support for aliasing fields (#7419)

* Don't double split csv values

* Still join them on create tho

* Add support for `alias` query param

* Support aliases in wildcards

* Alias Support Within GraphQL (#7410)

* graphQL support for aliases

* moved aliases to its own function parseAliases

* Tweak types

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>

* Fix field resolution on alias usage

Fixes #5551

* Add `*_func` resolvers for date/time/datetime/timestamp fields

* graphQL Enum for groupby (#7445)

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* Docs for Aggregation + Group By + Aliases (#7436)

* aggregation docs for graphql

* aliases

* added REST examples

* rest queries

* logo max size

* Recreate package-lock

* Update types/structure

* Fix childNode fetching

* Fix grouping

* Fix time-series

* Fix metric panel

* Add date func support in filter input graphql

* List panel (#8129)

* Merge branch 'main' of https://github.com/directus/directus into list-panel

* list showing mostly styled.

* Add missing options, cleanup

* Add editing to list panel type

* Tweak sizing

Co-authored-by: jaycammarano <jay.cammarano@gmail.com>

* Add no-data notice to list panel

* Camelcasify show_header

* Add cmd+s shortcut

* Tweak sizing, fix translation key

* Update docs

* Add multi-group support to GraphQL

* Align syntax of interfaces & panels

* Tweak min-size of label panel

* Fix linter warnings/errors

* Fix totally unrelated issue

But I'm here now anyways, so might as well

Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Geert Ijewski <51948919+geertijewski@users.noreply.github.com>
Co-authored-by: Thijs-Jan <13321277+MoltenCoffee@users.noreply.github.com>
Co-authored-by: Nacho García <hello@nachogarcia.dev>
Co-authored-by: Aiden Foxx <aiden.foxx.mail@gmail.com>
Co-authored-by: Aiden Foxx <aiden.foxx@sbab.se>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: Zorin Sergey <36981278+Enhed@users.noreply.github.com>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: Tommaso Bartolucci <tommasobartolucci11@gmail.com>
Co-authored-by: Jay Cammarano <67079013+jaycammarano@users.noreply.github.com>
Co-authored-by: Pascal Jufer <paescuj@users.noreply.github.com>
Co-authored-by: Adrian Dimitrov <dimitrov.adrian@gmail.com>
Co-authored-by: Nitwel <nitwel@arcor.de>
Co-authored-by: jaycammarano <jay.cammarano@gmail.com>
2021-09-20 20:24:10 -04:00
rijkvanzanten
4e624d5c7a Move default module listing to app 2021-09-15 16:07:43 -04:00
Rijk van Zanten
d750c7ebc4 Move module setup to Project Settings (#8012)
* Move module bar setup to project settings

* Add system modules interface to dnd configure module bar

* Cleanup order

* Crucially important typo

* Add ability to add custom links

* Show correct initial value marker
2021-09-14 18:07:46 -04:00
Rijk van Zanten
ce104b6a9c Add native schema migration capabilities (#7939)
* Add snapshot creation command

* Read and start diffing snapshot

* Add apply snapshot functionality

* Fix cli invocation

* Add log messages

* Fix duplicated if check

* Add (minimal) docs on schema migrations

* Fix missing import

* Update api/src/utils/apply-snapshot.ts

Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>

* Appease to Nicola's programming professor

Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
2021-09-13 17:15:04 -04:00
Nicola Krumschmidt
c89b694324 Fix the collections column in directus_webhooks being nullable (#7910) 2021-09-08 11:44:34 -04:00
Oreille
86a5a5087d Fix basemap tileSize condition (#7921)
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-09-08 11:39:46 -04:00
Oreille
f28a052974 Add tileSize parameter to basemap options (#7918)
* Added tileSize parameter to basemap options

* Fix blurry icon in map interface.
2021-09-08 10:37:14 -04:00
Oreille
2895d50d32 Use node promisify. (#7841) 2021-09-07 15:53:52 -04:00
Azri Kahar
ff9c78b137 Fix display labels translations (#7858)
* translate choice text in display labels

* fix translation keys for directus_activity fields

* add activity fields translations
2021-09-07 10:50:23 -04:00
Sam Milledge
62af357b53 Update logging in CLI commands (#7676)
* Replace console logs with logger in CLI commands

* Fix double sparkles in migration command

* Apply suggestions from code review

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* Use stdout for init command output

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-09-03 02:06:05 +00:00
Rijk van Zanten
2abb1674ed Add environment variable to force-exclude tables from Directus (#7789) 2021-09-02 20:39:11 -04:00
rijkvanzanten
77c90363b1 Fix postgis check 2021-09-01 17:25:46 -04:00
Rijk van Zanten
88e0e9e269 Show a warning if PostGIS is missing (#7759)
* Show a warning if PostGIS is missing

* Remove sqlite-extensions flag

* Remove unused import
2021-09-01 15:34:33 -04:00
Nitwel
d9d8edc217 Remove permission.limit (#7711)
* remove permission.limit

* set limit to amount of primaryKeys
2021-08-31 11:56:17 -04:00
Nicola Krumschmidt
d64ca14348 Explicitly set catch parameters to any type (#7654)
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.
2021-08-27 10:33:30 -04:00
Rijk van Zanten
de8c2f5c67 Fix uploaded_by not always setting user (#7581)
Fixes #7498
2021-08-24 14:12:35 -04:00
Oreille
5b6354d6be Add postgres constructor to getGeometryHelper (#7561) 2021-08-24 08:56:53 -04:00
Jay Cammarano
ba8e30ab2e added translation vars to fields (#7554) 2021-08-23 21:19:51 +00:00
rijkvanzanten
256139ffd2 Fix double drop relation 2021-08-19 17:11:49 -04:00
Rijk van Zanten
3b409fe385 Fix typecasting of required field (#7392)
Fixes #7356
2021-08-13 00:53:40 +02: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
Adrian Dimitrov
8fefc31a31 Add missing translations (#7358) 2021-08-11 13:42:00 -04: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
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
627d843aed Update/tweak groups (#7229)
* Split detail/raw groups, tweak accordion

* Add update groups migration
2021-08-06 00:27:26 +02: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
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
Jay Cammarano
0b17fdcf81 Warn on Missing Migrations (#6580)
* 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>
2021-08-02 15:52:10 -04:00
Rijk van Zanten
38896075d4 Add accordion group (#7130)
* Start on accordion group

* Add some basic styling to accordion sections

* Update style, add multiple option, add shift-click

* Only toggle-all on multiple option

* Finish styling of accordion sections

* Tweak styling

* Add 'start' option to accordion

* Rename group-raw -> group-standard, add header option

* Replace group-divider with group-standard
2021-08-02 18:12:52 +02:00
Rijk van Zanten
a55d1bc4a7 Fix users accountability tracking (#7104) 2021-07-30 19:17:06 +02: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
Rijk van Zanten
87ab9b3dfa Improve error reporting on CLI bootstrap command (#6977)
* Show full DB error on bootstrap connection issue

* Show full DB error on bootstrap
2021-07-26 17:10:10 +00: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