Commit Graph

1937 Commits

Author SHA1 Message Date
Nicola Krumschmidt
c2eefc524f Delete required hooks only once (#10955)
* Add dedicated options object to ExtensionManager

* Delete required hooks only once
2022-01-10 15:27:30 +00:00
rijkvanzanten
65bfe68b0c v9.4.3 2022-01-07 16:11:24 -05:00
Nicola Krumschmidt
42f26dc55f Add extension auto reloading to the API (#10881)
* Add extension auto reloading to the API

This can be enabled by using the `EXTENSIONS_AUTO_RELOAD` env var.

* Add logger message indicating watch mode

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-01-06 20:02:43 +00:00
Rijk van Zanten
e4db9b2f05 Fix refresh token payload structure on shared refresh (#10875)
Fixes #10822
2022-01-05 15:59:27 -05:00
Azri Kahar
60d3e12218 Add CSP directives for MapLibre to work (#10852) 2022-01-05 10:49:45 -05:00
Nicola Krumschmidt
e7deda78c5 Fix reloading hooks with schedule events (#10846)
Looks like `ScheduledTask.destroy()` was never part of `node-cron@3.0.0`.
2022-01-04 18:04:19 -05:00
Nicola Krumschmidt
6d9413e903 Fix running migrations in dev mode (#10847)
Fixes a regression introduced in #10836.
2022-01-04 16:56:36 -05:00
John Huffsmith
8a05018883 Left Join-ing on roles to allow users without roles to login (#10836)
* Left Join-ing on roles to allow users without roles to login

* moving filter logic to more appropriate location
2022-01-04 12:24:44 -05:00
José Varela
cc076494ff Check if is UUID before check permissions (#10837)
On checking permissions it reads the value from database, so we need to verify if is UUID before this process
2022-01-04 10:04:04 -05:00
Rijk van Zanten
4c1ac51e8b Default to upgrade-insecure-requests turned off (#10830)
Fixes #10806
2022-01-03 16:09:30 -05:00
Azri Kahar
66b8e1f3d3 fix file local type for displaysForType (#10821) 2022-01-03 11:32:24 -05:00
rijkvanzanten
1a5a9180ee v9.4.2 2021-12-30 21:11:32 -05:00
Wryn (yage) Wagner
b9636e3243 [#10500] update_users_me to graphql; added documentation for users/me update for both REST and graphql api (#10622)
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-30 20:11:48 -05:00
Ben Haynes
cbe139d7e9 style tweaks (#10760)
* style tweaks

* fix linting

* Make project descriptor configurable

* Add missing import

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-30 19:40:38 -05:00
Rijk van Zanten
1481380775 Add warning when DB_CHARSET isn't explicitly configured (#10778)
* Add warning when DB_CHARSET isn't explicitly configured

Fixes #10556

* Improve messaging
2021-12-30 18:41:52 -05:00
rijkvanzanten
98cf1349fd Ensure prod app can run 2021-12-30 18:07:06 -05:00
Rijk van Zanten
ec86d5412d Add Content-Security-Policy header by default (#10776) 2021-12-30 16:51:49 -05:00
Rijk van Zanten
d84134c8a6 Don't force commandTimeout in redis based caches (#10773) 2021-12-30 15:32:05 -05:00
Rijk van Zanten
7833160348 Add ability to configure IP extraction (#10765)
* Add ability to configure IP extraction

* Add comment on ipv4 v ipv6

* Uninstall unused is-ip package
2021-12-30 11:34:49 -05:00
rijkvanzanten
4991ba858b v9.4.1 2021-12-28 20:17:21 -05:00
Rijk van Zanten
a5f64efb22 Fix data type inconsistencies in directus_shares table (#10740)
* Fix date resolution in share info endpoint

* Add note on leaving fields blank

* Tweak example to use proper db client

* Treat mysql 0000-00-00 00:00:00 as null

* Fix migration for mysql 5

* Add missing defaults to system fields
2021-12-28 18:32:27 -05:00
ian
8a0fba0691 Replace knex.fn.now() in DB queries (#10736) 2021-12-28 11:03:03 -05:00
Malte Jürgens
04c65e6d09 Fix Map Attribution Problems (#10696)
* Fix Map Attribution Errors

* Move "Limit" Dropdown to the left

* fix pagination styles

* move attribution to the left
2021-12-27 14:35:52 -05:00
Paul Boudewijn
02950ea32e exclude MS-SQL system table 'sysdiagrams' (#10713) 2021-12-27 18:50:05 +00:00
Paul Boudewijn
859d30f511 Fix debugging random portno (#10710) 2021-12-27 13:40:20 -05:00
Azri Kahar
15ffe6bd3f check system deny list in relations for GraphQL (#10674) 2021-12-24 13:21:49 -05:00
rijkvanzanten
a47b9cec0f v9.4.0 2021-12-23 22:46:18 -05:00
eikaramba
0ed76215b4 set statuscode to 204 if no content is send (#10569)
* set statuscode to 204 if no content is send

this is currently wrong for the DELETE Http Method in directus, which sends 200 status code although no content is served

* make linter happy

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

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-12-23 21:59:56 -05:00
Nicola Krumschmidt
589caf789b Move the app entrypoints to the assets directory (#10643)
The app's main js entrypoint was in the assets directory before.
I moved entrypoints one directory up to distinguish them from other chunks.
This is now done by using a `.entry.js` extension for entrypoints.

This also makes the shared dependency detection more robust.

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-23 21:57:49 -05:00
Rijk van Zanten
dbf35a1736 Add ability to share items with people outside the platform (#10663)
* Add directus_shares

* Don't check for usage limit on refresh

* Add all endpoints to the shares controller

* Move route `/auth/shared` to `/shared/auth`

* Add password protection

* Add `share` action in permissions

* Add `shares/:pk/info`

* Start on shared-view

* Add basic styling for full shared view

* Fixed migrations

* Add inline style for shared view

* Allow title override

* Finish /info endpoint for shares

* Add basic UUID validation to share/info endpont

* Add UUID validation to other routes

* Add not found state

* Cleanup /extract/finish share login endpoint

* Cleanup auth

* Added `share_start` and `share_end`

* Add share sidebar details.

* Allow share permissions configuration

* Hide the `new_share` button for unauthorized users

* Fix uses_left displayed value

* Show expired / upcoming shares

* Improved expired/upcoming styling

* Fixed share login query

* Fix check-ip and get-permissions middlewares behaviour when role is null

* Simplify cache key

* Fix typescript linting issues

* Handle app auth flow for shared page

* Fixed /users/me response

* Show when user is authenticated

* Try showing item drawer in shared page

* Improved shared card styling

* Add shares permissions and change share card styling

* Pull in schema/permissions on share

* Create getPermissionForShare file

* Change getPermissionsForShare signature

* Render form + item on share after auth

* Finalize public front end

* Handle fake o2m field in applyQuery

* [WIP]

* New translations en-US.yaml (Bulgarian) (#10585)

* smaller label height (#10587)

* Update to the latest Material Icons (#10573)

The icons are based on https://fonts.google.com/icons

* New translations en-US.yaml (Arabic) (#10593)

* New translations en-US.yaml (Arabic) (#10594)

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

* New translations en-US.yaml (French) (#10605)

* New translations en-US.yaml (Italian) (#10613)

* fix M2A list not updating (#10617)

* Fix filters

* Add admin filter on m2o role selection

* Add admin filter on m2o role selection

* Add o2m permissions traversing

* Finish relational tree permissions generation

* Handle implicit a2o relation

* Update implicit relation regex

* Fix regex

* Fix implicitRelation unnesting for new regex

* Fix implicitRelation length check

* Rename m2a to a2o internally

* Add auto-gen permissions for a2o

* [WIP] Improve share UX

* Add ctx menu options

* Add share dialog

* Add email notifications

* Tweak endpoint

* Tweak file interface disabled state

* Add nicer invalid state to password input

* Dont return info for expired/upcoming shares

* Tweak disabled state for relational interfaces

* Fix share button for non admin roles

* Show/hide edit/delete based on permissions to shares

* Fix imports of mutationtype

* Resolve (my own) suggestions

* Fix migration for ms sql

* Resolve last suggestion

Co-authored-by: Oreilles <oreilles.github@nitoref.io>
Co-authored-by: Oreilles <33065839+oreilles@users.noreply.github.com>
Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: Thien Nguyen <72242664+tatthien@users.noreply.github.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2021-12-23 18:51:59 -05:00
Azri Kahar
46d9a9b987 use CSS variable for users Admin Options divider (#10652) 2021-12-23 14:55:57 -05:00
rijkvanzanten
4b444baf5b v9.3.0 2021-12-16 18:48:10 -05:00
Nicola Krumschmidt
ee3e9b59f9 Pass a custom emitter to API extensions (#10531) 2021-12-15 18:49:55 -05:00
Brainslug
35c3f90c9a added event emitter to extension context and updated docs (#10529) 2021-12-15 21:29:06 +00:00
rijkvanzanten
42476c45c8 Add logging to cli snapshot apply 2021-12-15 10:08:47 -05:00
Azri Kahar
31bb890496 Unify & translate initial role/user detail in init & bootstrap command (#10493)
* Unify initial role/user detail in init & bootstrap

* translate role descriptions

* translate data from system collections
2021-12-14 09:33:44 -05:00
keesvanbemmel
549b9ee8e1 Expanded try catch around extracting metadata (#10497)
* Expanded try catch around extracting metadata

* Run linter

* Added extra try catch block

* Run linter

Co-authored-by: ian <licitdev@gmail.com>
2021-12-14 09:31:13 -05:00
renovate[bot]
73faf14d48 Pin dependency knex-mock-client to 1.6.1 (#10463)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-13 13:28:28 +01:00
rijkvanzanten
546d525175 v9.2.2 2021-12-10 15:53:08 -05:00
ian
ef0091f2f4 Add password policy check during password reset (#10409)
* Add password policy check during password reset

* Prevent token reuse after password reset
2021-12-10 15:16:07 -05:00
Aiden Foxx
63ade9b42f Added edge case handling for weird IBM ldap issues (#9527)
* Added edge case handling for weird IBM ldap issues

* Update api/src/exceptions/unexpected-response.ts
2021-12-10 15:07:31 -05:00
Jay Cammarano
00a838f020 Docs for testing the API (#10275)
* mock-knex

* test on the migrations run started.

* test passing for run.up()

* reorganize /tests/ to allow integration tests

* e2e setup changes

* e2e jest.config moved

* e2e paths fixed, integration config

* add nonadmin role and user seed+migration

* auth/login w/ documentation (docs will be moved)

* update user seed

* add postgres10 to the ci?

* argon2 saves the day

* items tests passing with postgres10 support

* removed comments

* move generateHash out of directus_users

Co-authored-by: Jay Cammarano <jaycammarano@gmail.com>
2021-12-10 14:58:51 -05:00
rijkvanzanten
9b54e9fe8f Cleanup codestyle 2021-12-10 14:20:37 -05:00
ian
709bab178b Separate caching of dynamic user vars from permissions (#9957)
* Separate caching of dynamic user vars from permissions

* Cache filterContext only when permissions are cached

* Reset merge

* Reapply changes

* Reduce nesting

* Add missing assignment

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-12-10 14:17:47 -05:00
rijkvanzanten
1d4e9c425c v9.2.1 2021-12-06 14:31:01 -05:00
rijkvanzanten
8f05d0339a Add trace logs to OAuth2 flow 2021-12-06 13:28:46 -05:00
Aiden Foxx
f48a413bb9 SSO fixes and improvements (#10301)
* Update refresh_token on refresh, allow custom authorize params, handle invalidated tokens

* Added default to generateAuthUrl

* Apparently issuer can be undefined now

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

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

* Make linter happy
2021-12-06 13:13:24 -05:00
Oreille
1b9eb0f4b1 Use expression instead of alias in groupBy query (#10339) 2021-12-06 12:55:33 -05:00
renovate[bot]
23e0b8bf9b Pin dependencies (#10318)
Co-authored-by: Renovate Bot <bot@renovateapp.com>
2021-12-06 15:24:32 +00:00
Rijk van Zanten
5d80038a8a Fix permissions merging on null check (#10336)
Fixes #10305
2021-12-06 15:12:20 +00:00