Commit Graph

41 Commits

Author SHA1 Message Date
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
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
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
77e00b7db4 Don't initialize database on file require (#6003) 2021-06-02 11:41:42 -04: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
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
rijkvanzanten
9bd5fc1f54 Ignore current users email on update
Fixes #5538
2021-05-12 16:40:17 -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
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
rijkvanzanten
c225bbf762 Fix password policy check for no requirements
Fixes #5310
2021-04-28 14:51:17 -04:00
rijkvanzanten
33f5927e38 Add missing email subjects
Fixes #5275
2021-04-27 11:34:32 -04:00
Rijk van Zanten
d25c35fee7 Add MailService (#5265)
* Create MailService

Fixes #5229, ref #3372, #4664, #4858, #5090, #3104, #3465, #2774, #3741

* Fix path to templates extensions

* Add mailservice example to hooks docs
2021-04-26 17:55:34 -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
Rijk van Zanten
3b05372713 Finalize services API (#5170)
* 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
2021-04-20 18:06:27 -04:00
Rijk van Zanten
1b1e500ee9 Make user email case insensitive (#4941) 2021-04-09 12:33:31 -04:00
rijkvanzanten
706b07bb02 Run invite in transaction, rollback on error
Fixes #4569
2021-04-08 17:33:04 -04:00
rijkvanzanten
93c6b157a2 Add a URL allow list for invite urls
Closes #4456
2021-03-11 18:48:52 -05:00
rijkvanzanten
e8222d2a28 Add reset_url allow list for password reset request 2021-03-08 13:48:59 -05:00
Nicola Krumschmidt
08293b8570 Update Knex to version 0.95.0 (#4374)
* Update Knex to version 0.95.0

* Fix formatting in schema dialects

* Fix Knex imports

* Update package-lock

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-03-03 19:37:44 -05:00
andriusign
c00e89a8c0 Allow to pass custom URL for user invitation (#3972)
* Allow to pass custom URL for invitation to enable verification of user's email on custom Frond-End page (other than Directus Admin page).

* Update api/src/services/users.ts

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

* Update api/src/services/users.ts

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

* Update api/src/services/users.ts

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

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-02-08 16:39:11 -05:00
rijkvanzanten
bbae89d633 Minor code cleanup 2020-12-16 16:57:26 -05:00
rijkvanzanten
651263cbde Merge branch 'main' into Kinzi/main 2020-12-16 16:54:54 -05:00
rijkvanzanten
578b761ded Add auto-purge option
And add cache-control header when auto purge is disabled

Fixes #3425
2020-12-16 14:26:38 -05:00
Igor Savin
7cddb458cb Run prettier across app and api 2020-12-08 02:22:00 +02:00
Sebastian Kinzlinger
ececd1e633 Update users.ts
Use custom acceptUrl if present. Fallback to directus default url.
2020-11-17 11:05:48 +02:00
rijkvanzanten
8cbdfb409b Use prefetched schema info 2020-11-09 17:13:48 -05:00
rijkvanzanten
57b7b3db06 Update user invite UX, add accept invite route
Fixes #886, closes #891
2020-11-05 18:54:52 -05:00
rijkvanzanten
1c7b0d9425 Update system key constraints
Fixes #790, fixes #885
2020-11-05 11:59:01 -05:00
Ben Haynes
ee4f3df78a fixes #866 2020-11-03 12:24:33 -05:00
rijkvanzanten
592ab925db Add toArray util 2020-10-15 18:00:27 -04:00
rijkvanzanten
cbd08a82b0 Add last admin user check 2020-10-13 16:36:31 -04:00
rijkvanzanten
48fca55651 Restructure exports for services 2020-09-22 13:16:14 -04:00
rijkvanzanten
a8552abc23 Treat sanitizedquery as frozen 2020-09-08 18:54:18 -04:00
kukulaka
2c63941a72 Merge branch 'main' into feature-redis-cache 2020-09-02 23:09:17 +01:00
rijkvanzanten
e4f8b16717 Add password reset flow 2020-09-01 15:58:12 -04:00
rijkvanzanten
2958ae1584 Return secret on enabling 2fa 2020-08-25 13:59:43 -04:00
rijkvanzanten
a9cc4755ef Add enable/disable service methods 2020-08-15 20:34:41 -06:00
rijkvanzanten
d9ae271612 Add otp enable endpoint 2020-08-15 18:11:11 -06:00
rijkvanzanten
2252d5a35f Use centralized env export with validator function 2020-08-04 13:10:49 -04:00
rijkvanzanten
bde7069cce Move api into api subdirectory 2020-07-29 11:22:56 -04:00