Commit Graph

213 Commits

Author SHA1 Message Date
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
faa71c7595 Add cache connection fallbacks (#7226) 2021-08-05 22:27:10 +02:00
Rijk van Zanten
78ed041ee1 Warn if a collection includes a space (#7223) 2021-08-05 20:02:38 +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
rijkvanzanten
fe354dc4c7 don't fetch unused column 2021-08-03 19:01:46 -04:00
Rijk van Zanten
725c95783c Show any sso login warnings in stdout (#7170)
* Show any sso login warnings in stdout

Ref #6897

* Throw more detailed error on email extraction

* Fix CSVs in env var value not cast as array
2021-08-04 00:22:52 +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
6e9102d414 Fix cache-key generation for query params (#7139)
Fixes #7131
2021-08-02 21:17:09 +02:00
rijkvanzanten
72ff97266c Fix linter warnings 2021-07-31 13:59:19 -04: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
206f2380b5 Fix cache-key causing problems in memcached (#7021)
* Add memcached to docker-compose

* Use object hash for cache key

Fixes #6823
2021-07-28 01:18:09 +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
Nicola Krumschmidt
7d8aa9fced Replace DIRECTUS_DEV env var with NODE_ENV and SERVE_APP (#6929) 2021-07-22 23:47:56 +02: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
Rijk van Zanten
be60fa9f31 Use [String] for CSV type in GraphQL (#6808)
Fixes #6653
2021-07-15 02:34:40 +02: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
1cb9181052 Add support for starts/ends with filters (#6437) 2021-06-22 14:28:11 -04:00
Nacho García
0b8fb9fae8 Change cache-control heeaders (#6355) 2021-06-17 14:55:27 -04:00
Rijk van Zanten
d56f02697a Allow overriding the s-maxage cache header (#6294)
* Allow overriding the s-maxage cache header

* Only load expiry / set headers when cache exists
2021-06-15 17:11:29 -04:00
Aiden Foxx
86a920d587 Looks like a console log spliped though? (#6252) 2021-06-14 11:02:48 -04:00
Nicola Krumschmidt
1d851221a3 Add missing return type to adjustDate() (#6253)
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-06-14 10:07:06 -04:00
rijkvanzanten
28847faee6 Add missing return type 2021-06-14 09:56:42 -04:00
rijkvanzanten
000e1976ae Fix val check 2021-06-11 21:18:46 -04:00
Rijk van Zanten
8e92c6beaa Add date adjustment to NOW variable (#6221) 2021-06-11 20:59:50 -04:00
Oreille
46c77f70c8 Moved special check above localTypeMap check. (#6208) 2021-06-11 08:59:20 -04:00
Adam Sparks
c1b30a6d8c match url whitelist to domain (#5694)
* match url whitelist to domain

* Improve url-domain check

* Update lockfile

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-06-09 15:12:34 -04:00
Rijk van Zanten
61f2e48ced Allow any of grant's (nested) configuration parameters (oAuth) (#6155)
* Allow underscore configuration extraction

* Allow any of grants config properties
2021-06-09 12:08:48 -04:00
rijkvanzanten
91253a241d Fix linter warning 2021-06-04 12:44:10 -04:00
Rijk van Zanten
85d33d9ffc Fixed an issue that would cause "text" fields to show up as varchar with length -1 in MS SQL (#6055)
Fixes #5944
2021-06-03 22:35:07 -04:00
Rijk van Zanten
2270d870f9 Prevent foreign key constraint names from exceeding 64 characters (#6043)
* Add index name generator function

* Ensure foreign keys are 64 chars or less
2021-06-03 17:31:58 -04:00
Rijk van Zanten
77e00b7db4 Don't initialize database on file require (#6003) 2021-06-02 11:41:42 -04:00
Rijk van Zanten
02fc696c53 Fix env var validation in database loading step (#6002)
Fixes #5980
2021-06-02 11:17:50 -04:00
rijkvanzanten
c3589d138f Remove remaining leftovers from deprecated single query param 2021-05-25 11:38:33 -04:00
Rijk van Zanten
ce59ce0d2f Support top-level filter through relational m2a items (#5855)
Fixes #5850
2021-05-24 12:20:15 -04:00
Oreille
bb14309b9c Add support for mssql uniqueidentifier type (#5804) 2021-05-21 10:08:02 -04:00
Rijk van Zanten
9335372400 Foreign Key Constraints (#5615)
* 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
2021-05-19 12:29:16 -04:00
mcarlson
7531585ccd Fixes #5599 - add jsonb field type mapping for postgres (#5611) 2021-05-11 19:55:19 +00:00
dependabot[bot]
bc30ee2bde Bump prettier from 2.2.1 to 2.3.0 (#5593)
* Bump prettier from 2.2.1 to 2.3.0

Bumps [prettier](https://github.com/prettier/prettier) from 2.2.1 to 2.3.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/2.2.1...2.3.0)

Signed-off-by: dependabot[bot] <support@github.com>

* Fix lint issues for updated prettier

* Lets remove dev: true again so we can auto-add it later why don't we

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-11 10:38:42 -04:00
Rijk van Zanten
b6964fa1a1 Add XML export (#5526) 2021-05-07 12:55:03 -04:00
Ilya Belousov
4217ace3b4 * Ignore undefined in array filter values (#5506)
* Ignore non 2-length value for between-filters

Ref #4471
2021-05-06 15:10:26 +00:00
rijkvanzanten
99fcf12e73 Fix linter workflow 2021-04-29 16:24:31 -04:00
Aiden Foxx
c255afd7f1 Update get-local-type.ts (#5375) 2021-04-29 20:00:17 +00:00
rijkvanzanten
801e868554 Fix remaining eslint errors
h/t @paescuj
2021-04-29 15:55:12 -04:00
Pascal Jufer
acd41eb0be Syntax fixes (#5367)
* 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)
2021-04-29 12:11:43 -04:00
Martijn Boland
d9baa0b92d Also join o2m relations when not in subquery but at non-root level (#5338) 2021-04-28 22:21:56 +00:00
rijkvanzanten
98c9b9a9ff Ignore invalid array filter values as well
Ref #4471
2021-04-28 15:29:21 -04:00
rijkvanzanten
40ecaec4c7 Skip empty filters
Fixes #4471

Squashed commit of the following:

commit 58f7e60710808e927c636a0f0a8c7c91611e8fcb
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Mon Apr 26 12:34:15 2021 -0400

    Skip empty filters
2021-04-26 12:36:24 -04:00
Rijk van Zanten
f1e2338142 Add auth password policy / login attempts support (#5225)
* Check auth password policy on user modifications

* Show validation errors in drawer-batch

* Allow custom password policy, add placeholder

* Add UserSuspended exception

* Add user suspended error translation

* Move rate limiter creation into root helper

* Add login attempts support to authentication service

* Don't authenticate into settings service when checking password policy
2021-04-23 17:42:46 -04:00