Commit Graph

1050 Commits

Author SHA1 Message Date
rijkvanzanten
246c55266b Don't use NonNull for update input types
Fixes #5723
2021-05-21 21:32:42 -04:00
rijkvanzanten
e2c9e15a98 Throw 503 instead of 500 on file upload failure 2021-05-21 21:17:19 -04:00
Rijk van Zanten
ba2e56e43c Fix collection delete for collections w/ m2o to them (#5809)
* Fix new-collection relational field creation

* Fix collection delete for collections w/ m2o to them

Fixes #5793
2021-05-21 13:57:42 -04:00
Rijk van Zanten
bc8399c362 Fix validation short circuit on _or (#5806)
* Fix _or validation step when in nested context

Fixes #5405

* Add changeset
2021-05-21 12:30:13 -04:00
Oreille
bb14309b9c Add support for mssql uniqueidentifier type (#5804) 2021-05-21 10:08:02 -04:00
Rijk van Zanten
8d3102fbad Add max concurrency and max image transform size support (#5795)
* Add assets concurrency and max size controls

* Render no-thumbnail images nicer in app

* Document new asset environment variables

* Update package-lock
2021-05-20 18:18:10 -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
MiniDigger | Martin
1cc9900317 fix occasional typeerror in payload service (#5763) 2021-05-19 14:51:06 +00:00
rijkvanzanten
f06ac03755 Don't execute updateByQuery on empty item set
Fixes #5710, fixes #5070
2021-05-17 15:49:39 -04:00
Matteo Gazzoni
c84c002c7b Makes primary key always not nullable (#5731) 2021-05-17 19:11:39 +00:00
rijkvanzanten
b84d3be981 Use items service directly instead of super
Fixes callstack order problem, fixes #5538 pt 2
2021-05-17 11:50:48 -04:00
rijkvanzanten
e8ac74bb4c Fix issue on login when no hooks are registered
Fixes #5688
2021-05-14 18:52:20 -04:00
rijkvanzanten
7b6bff1692 Use correct interface for collection module nav setup 2021-05-14 16:26:45 -04:00
rijkvanzanten
1ea544b261 Fix mfa-setup interface name 2021-05-14 16:10:19 -04:00
José Varela
4d242ab5bf api: pass user object to auth hooks (#5251)
* api: pass user object to auth hooks
The motivation for this is the ability to migrate from
bcrypt passwords to argon2 seamlessly.

Fixes #4718
Fixes #4335

* receive user from `auth.login.before` hook

* pass `otp` as well on `auth.login` hooks

* api: last registered hook should have priority
When registering multiple hooks for a single event,
the last hook should have priority on return value.

* Fix linter warning

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-14 12:33:51 -04:00
Aiden Foxx
e8e295ef6a Fix string to text migrations for Oracle (#5462)
* Disabled string to text migrations for Oracle

* Added oracle specific alter table migrations

* Added notNull parameter to Oracle alter function

* Wrapped notNull in if

* Removed public oracle column alter function
2021-05-14 12:30:17 -04:00
Pierre
28ef6418fc [TS] Improve EmailOptions def (#5563)
* [TS] Improve EmailOptions def

See https://nodemailer.com/message/

* Update index.ts

* Update index.ts

* [Mailer] pass nodemailer options

* fix missing comma

* [TS] Use SendMailOptions of nodemailer

* Use const instead of let

* fix lint

* Rename nodeMailerOptions -> emailOptions

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-14 12:25:19 -04:00
Christian Rendl
7133df2d56 Fixed issues with template overriding (#5671)
* Fixed issues with template overriding

* Remove `system` flag from email templates

* Remove usage of system in user services

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-14 12:20:42 -04:00
mcarlson
c0446cb379 Add support for mailgun transport (#5613)
* Add support for mailgun transport

* eslint fix

* Add nodemailer-mailgun-transport as optional dependency

* Add docs, rename APIKEY -> API_KEY

Co-authored-by: Max Carlson <>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-14 12:20:18 -04:00
Robert Gieseke
61761135ee Sort custom and internal migrations by version prefix (#5685)
See discussion #5675
2021-05-14 15:34:53 +00:00
Rijk van Zanten
9ac9a8d44b Add JSON/CSV Import (#5660)
* Add async/destroy packages

* Target node 12+

* Return payload data in json export

* Import JSON from Stream

* Add CSV import support

* Add CSV Import

* Add docs

* Add missing types
2021-05-14 11:03:12 -04:00
Fady Khalife
8fc8da62a7 Allow nodemailer SMTP configuration with no authentication (#5673)
* Allow nodemailer SMTP configuration with no authentication

* Fix typing + use or instead of and for user/pass combo

Co-authored-by: Fady Khalife <fady.khalife@yakkazoo.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-14 15:01:32 +00:00
rijkvanzanten
9e93342af0 Mark non-nullable fields as NonNull in GQL
Fixes #5544
2021-05-12 16:49:55 -04:00
rijkvanzanten
9bd5fc1f54 Ignore current users email on update
Fixes #5538
2021-05-12 16:40:17 -04:00
rijkvanzanten
24e28792f2 Fix fields_in_collection type signature
Fixes #5627
2021-05-12 16:34:34 -04:00
rijkvanzanten
891fe01093 Fix cli role name attr 2021-05-12 15:46:49 -04:00
Pascal Jufer
44ffd60174 Add missing cookie options to cookie cleanup on logout (#5626) 2021-05-12 12:34:58 -04:00
mcarlson
7531585ccd Fixes #5599 - add jsonb field type mapping for postgres (#5611) 2021-05-11 19:55:19 +00:00
Oreille
316ac9076b Check for schema identity before updating it. (#5608) 2021-05-11 14:36:33 -04: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
Pierre
95fc9e3368 [TS] Add deprecated note (#5603)
https://github.com/directus/directus/discussions/5601
2021-05-11 09:42:50 -04:00
dependabot[bot]
24b5e5ff45 Bump commander from 6.2.1 to 7.2.0 (#5569)
* Bump commander from 6.2.1 to 7.2.0

Bumps [commander](https://github.com/tj/commander.js) from 6.2.1 to 7.2.0.
- [Release notes](https://github.com/tj/commander.js/releases)
- [Changelog](https://github.com/tj/commander.js/blob/master/CHANGELOG.md)
- [Commits](https://github.com/tj/commander.js/compare/v6.2.1...v7.2.0)

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

* Fix breaking changes in commander

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-10 11:33:19 -04:00
rijkvanzanten
aaee7cc750 Fix having clause on postgres alias 2021-05-10 10:48:36 -04:00
rijkvanzanten
be20fafb8b Fix migration on MySQL 5
Fixes #5545
2021-05-07 16:36:01 -04:00
Rijk van Zanten
b6964fa1a1 Add XML export (#5526) 2021-05-07 12:55:03 -04:00
rijkvanzanten
fa86a06a7a Stringify json options 2021-05-07 11:48:36 -04:00
Rijk van Zanten
c4ae4b66cc Finalize interface names (#5521)
* Rename button-links->presentation-links

* Rename checkboxes->select-multiple-checkbox

* Rename code->input-code

* Rename checkboxes files

* Rename color->select-color

* Rename divider->presentation-divider

* Rename dropdown-multiselect->select-multiple-dropdown

* Rename hash->input-hash

* Rename icon->select-icon

* Rename image->file-image

* Rename m2a-builder->list-m2a

* Rename many-to-many->list-m2m

* Rename many-to-one->select-dropdown-m2o

* Rename markdown->input-rich-text-md

* Rename notice->presentation-notice

* Rename one-to-many->list-o2m

* Rename radio-buttons->select-radio

* Rename repeater->list

* Rename text-input->input

* Rename textarea->input-multiline

* Rename toggle->boolean

* Rename tree-view->list-o2m-tree-view

* Rename wysiwyg->input-rich-text-html

* Use correct interfaces in system defaults

* Rename collection->system-collection

* Rename collections->system-collections

* Rename display-template->system-display-template

* Rename field->system-field

* Rename interface->system-interface

* Rename interface-options->system-interface-options

* Rename scope->interface-scope

* Rename tfa-setup->system-mfa-setup

* Fix oversights

* Remove old todo

* Some more tweaks

* Add migration, fix dropdown name in system use

* Merge numeric + input

* Replace dropdown->select-dropdown in app use

* Merge slug->input, user->select-dropdown-m2o

* Fix type issue

* Fix seeder field name
2021-05-06 16:49:32 -04:00
rijkvanzanten
ae1e22d116 Enforce new collections to have PK field
Fixes #5512
2021-05-06 11:19:51 -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
e67702f1b5 Don't pass trx to async hook
Fixes #5460
2021-05-04 19:03:11 -04:00
Aiden Foxx
7df8cf2912 Added Oracle healthcheck fix (#5461) 2021-05-04 13:22:35 -04:00
Sebastian Kinzlinger
a4552e3752 Allow custom email subjects for invite and pw reset mail (#5446)
* Make email template overrides work

The ternary needs to be this way for custom email templates to be picked up.

* Allow custom subject lines for emails

Allow subject line to be passed into `inviteUser()` and `requestPasswordReset()`

* Fix typo

* Revert so only one change for PR

* fix typo

* Fix ts tests
2021-05-04 09:32:29 -04:00
Sebastian Kinzlinger
faa3ca7a06 Allow base Email override for standard emails (#5449)
* Make email template overrides work

The ternary needs to be this way for custom email templates to be picked up.

* Allow custom subject lines for emails

Allow subject line to be passed into `inviteUser()` and `requestPasswordReset()`

* Fix typo

* Fix typo

* eslint stuff

* Update users.ts
2021-05-04 09:31:13 -04:00
Pyll Gomez
09b19b9191 Session store knex (#5432)
* Rotate JPG image on upload #4206

* fixes #3949 width/height generated for gif and tif

* API hooks for event added for auth.login #4079

* updated doc for api hooks for new auth.login event

* Style tweaks

* Update docs

* Tweak docs some more

* Spelling error

* Allow non-required flags and pass to hook

* SDK - Persistent login refresh fixes #4113

* Fixed #4145 SDK, Token Expired error

* Spell check

* Docs Spell check

* Docs Spell check

* Docs Spell check

* update docs for sdk-js

* To delete all expired session from db on login

* corrected the condition for the delete

* changed the from Date.now to new date .

* Move it inline

* Added Knex option for Session store

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-05-03 11:46:42 -04:00
Rijk van Zanten
a3898fa321 Add SESSION_STORE options (#5403)
* Allow configuring the session storage driver

Fixes #3814

* Document SESSION_STORE env var

* Add missing dependency

* Docs tweak
2021-04-30 18:18:39 -04:00
Rijk van Zanten
f3574deae0 Ask for value when changing nullable to not-nullable (#5400)
* Add ContainsNullValues exception abstraction

* Add dialog for null values when disabling non-null

Fixes #2934

* Add translation for CONTAINS_NULL_VALUE error

* Make dialog title translated
2021-04-30 15:27:18 -04:00
rijkvanzanten
74861e6f81 Add default display template for directus_files
Fixes #5364
2021-04-29 20:40:52 -04:00
rijkvanzanten
cd565c2e60 Fix patch handler of rest /folders
Fixes #5351
2021-04-29 20:16:52 -04:00
rijkvanzanten
53f2d690dc Add comment 2021-04-29 20:13:36 -04:00
rijkvanzanten
3c5c0a043c Fix error handler not being recognized 2021-04-29 18:09:04 -04:00