Commit Graph

378 Commits

Author SHA1 Message Date
Rijk van Zanten
88c87f3920 Set CRDB options to avoid inconsistencies between vendors (#11193)
* Set correct CRDB options

* Add missing SETs to pool config for e2e

* How about now

* Better solution for the same problem
2022-01-20 20:18:22 -05:00
Michael Schramm
75b5f33727 Implement CockroachDB support (#10113)
* base changes for cockroachdb

* allow creating of tables

* allow deleting of fields

* allow deleting of tables

* rebase

* fix migrations

* bump knex-schema-inspector to 1.7.0

* Update package-lock

* Add cockroach to debugging docker-compose file

* Remove unused import

* Tweak name in example.env

* Force nullable primary keys in cockroach

* Tweak shares migration to run on cockroach

* Rename var for clarification

* suggestion for migration helper

* change to schema and update remaining migrations

* Remove custom cockroach schema in favor of sharing with pg

* Fix migrations for CockroachDB

* Hopefully fix Oracle migrations 🤞🏻

* Make ~~aiden~~ oracle happy

* Resolve branching paths in migrations

* Enable tests for cockroach

* Fix test config

* One more config change for good measure

* Adjust test to match cockroach's bigint auto-int structure

* Increase request timeout for mssql

* Update api/src/database/helpers/schema/types.ts

Co-authored-by: Aiden Foxx <aiden.foxx.mail@gmail.com>

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: Aiden Foxx <aiden.foxx.mail@gmail.com>
2022-01-20 14:14:38 -05:00
John Huffsmith
e7ada1f173 Moving schema and relation types into shared package (#11179)
* moving schema and relation types into shared package

* updating SchemaOverview imports

* removing duplicate import
2022-01-20 13:36:19 -05:00
Joe Innes
987442c03a Allow passing 'version' to Knex (#10960)
* Allow passing 'version' to Knex

* Exclude version from being passed into connection object
2022-01-10 17:23:35 +00: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
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
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
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
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
Oreille
8ed517708e Fix SQLite date functions (#10270) 2021-12-03 14:57:42 +00:00
Oreille
bc864d1f51 Improve helpers structure (#10052)
* Improve helpers structure

* Added DatabaseHelper base class

* Refactor index.ts
2021-12-01 15:08:24 -05:00
Alejandro Castaño González
022b867a23 Add status field in the directus_notifications collection (#10064)
* Add status field

* Update notification type
2021-12-01 14:19:48 -05:00
Jay Cammarano
25375cc481 Add notifications system and support user mentions in comments (#9861)
* v-menu de/activated onKeyDown. No List yet.

* v-list

* add user suggestion

* uuids replaced

* user-popover working

* avatars flex row with usernames in suggestions

* added space to end of uuid insert

* autofocus + move caret to end of last insert

* removed unnecessary setTimeout()

* fixed filter 500 with ids

* better fix

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

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

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

* New translations en-US.yaml (Russian) (#9918)

* New translations en-US.yaml (Swedish) (#9920)

* Email updates (#9921)

* add from name for emails

* updatd email template style

* reset password email copy

* updated logo to newest version

* update invite email copy

* decouple field template logic

* push up styling

* Start on new v-template-input

* Add notifications API endpoints

Squashed commit of the following:

commit 9d86721ef795d03bc55693c0f99bde8e269d60e9
Merge: b4458c19f 34131d06e
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Mon Nov 22 09:27:43 2021 -0500

    Merge branch 'mentions' into mentions-api

commit b4458c19f7c54f18fa415fc04c63642c2f5a17b0
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Nov 18 18:34:04 2021 -0500

    Remove unused import

commit e6a9d36bbfdf95cb18d29336da61ecb14b677934
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Nov 18 18:28:31 2021 -0500

    Extract user mentions from comments

commit b3e571a2daa287e1740a050096913662a57e9861
Merge: c93b833d2 af2a6dd7f
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Nov 18 17:39:52 2021 -0500

    Merge branch 'mentions' into mentions-api

commit c93b833d2b848e306c434b370d4e4e11967e85d0
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Nov 18 17:35:45 2021 -0500

    Send emails w/ parsed MD

commit 64bbd6596f20a07028d2387d60e33dfe4f91c032
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Nov 18 16:18:16 2021 -0500

    Add notifications endpoint + permissions

commit fba55c02dc9c303a38b1b958350684cccd3dd82c
Author: rijkvanzanten <rijkvanzanten@me.com>
Date:   Thu Nov 18 15:33:28 2021 -0500

    Add system data for notifications

* push

* Make v-template-input work

* Add the two-way binding

* submit button posting, not clearing text area

* comment text area clearing on submit

* Replace insertion correctly

* Added scope support to LDAP group and user search (#9529)

* Added scope support LDAP group and user search

* Fixed linter screwing up my markdown

* Update docs/configuration/config-options.md

* Always return correct DN for user with sub scope

* Fix indeterminate meta and schema property in advanded field creation (#9924)

* Fix impossibility to save M2M (alterations not triggered) (#9992)

* Fix alterations refactor

* fix roles aggregate query (#9994)

* Update iis.md (#9998)

added the IIS URL Rewrite module as a requirement

* New translations en-US.yaml (English, United Kingdom) (#10001)

* Fix LDAP race condition (#9993)

* Fix input ui

* Revert changes to v-field-template

* Update mentions permissions

* Fix linter warnings

* Optimize sending flow

* Revert "Rename activity->notifications module (#9446)"

This reverts commit 428e5d4ea9.

* Add notifications drawer

* Update migrations

* Improve constraints

* Add email notifications toggle on users

* Add docs, fix graphql support

* Move caret-pos to devdeps

* Remove unused new triggerKeyPressed system

* Remove unused use-caret composable

Co-authored-by: Nitwel <nitwel@arcor.de>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: Aiden Foxx <aiden.foxx@sbab.se>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Paul Boudewijn <paul@helderinternet.nl>
2021-11-24 16:11:26 -05:00
Aiden Foxx
13e7f5b2a4 Fixed Oracle special geometry migration (#9635)
* Fixed oracle special geometry migration

* Fixed knex column name
2021-11-10 09:54:03 -05:00
Oreille
b82b68eacc Fix mysql wkt conversion (#9621) 2021-11-09 11:07:19 -05:00
Ben Haynes
057af2313c selector for override (#9562) 2021-11-06 21:04:21 -04:00
Adrian Dimitrov
b8fabe46f2 Fix missing and wrong translations (#9537) 2021-11-05 12:30:59 -04:00
Oreille
5f43b20ebf Update geometric types and patch new field flow. (#9397)
* Update geometric types and patch new field flow.

* Add migration

* Fixed migrations

* Also fixed migrations

* Update migration ID

* Cleanup type selector a bit

* Add missing fallback interface/display for new types

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-11-04 21:47:54 -04:00
Rijk van Zanten
4b2b74840e Don't show all migrations logged on init (#9496) 2021-11-04 23:05:11 +00:00
Rijk van Zanten
dbe29554e7 Move union query application to applyQuery, fix where clause (#9494)
* Move union query application to applyQuery, fix where clause

Fixes #9228

* Handle case where union IDs length = 0

* Return modified db query

* Apply union last
2021-11-04 22:55:10 +00:00
Rijk van Zanten
2e0ad10ad1 Remove collection listing option from role settings (#9490)
* Fixes #8920

* Revert changes in seeds / migrations

* Add new migration to drop column

Co-authored-by: Yannick Mol <yannick@molmediasolutions.nl>
2021-11-04 21:55:34 +00:00
Rijk van Zanten
c5bb836689 Tweak project-settings page (#9440) 2021-11-03 18:07:17 -04:00
Rijk van Zanten
65291b95c4 Allow dynamic user variables to be used with filter rules (cont.) (#9376)
* Move permissions extraction to accountability

* Fix permissions retrieval for public user

* Fetch user / role context in permissions middleware

* Remove unnecessary parseFilter

* Rename schemaCache to systemCache

* Add permissions caching

* Add system cache invalidation on permission changes

* Improve caching perf by reducing scope

* Add note to docs

* Clarify compatibility with conditional fields/filters

* Fix lint warning

* Allow nested vars in system-filter-input

* Add custom getter function that resolves arrays

* Add is-dynamic-variable util

* Export new util

* Cleanup parse filter

* Fix build

* Move debounce up to use-items

* Remove unused prop

* 🧹

* Fix input pattern usage w/ vars

* Remove debounce from search-input, increase throttle
2021-11-03 16:56:16 -04:00
Jay Cammarano
99f0c6c65f Fixed SET NULL on directus_files for MSSQL (#9425)
* fixed migration on mssql

* removed useless migration
2021-11-03 17:14:45 +00:00
Azri Kahar
763398256a Set user token as unique (#9381) 2021-11-02 23:44:27 -04:00
Nitwel
6ea29d8673 Fix date on sqlite (#7774)
* fix date on sqlite

* remove unused imports

* rename KnexSpatial to KnexDate

Co-authored-by: Jose Varela <joselcvarela@gmail.com>
2021-11-02 14:51:17 +00:00
Oreille
cb22ddfa7c Added supported function to geometryHelper, added geometrySupport to serverinfo (#9290)
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-11-01 17:31:34 -04:00
Jay Cammarano
ad959e4472 Add SET NULL to directus_files.uploaded_by constraint (#9305)
* add set null to directus_files constraint

* SET NULL on created_by and modified_by

* "user_created" and "user_updated" => SET NULL

* SET NULL on collections optional system fields

* fixed dropColumn()

* Add line breaks, cause little OCD

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-11-01 14:58:52 -04:00
Jakob
15b875728b Add configurable headers for webhooks (#8855)
* Add configurable headers for webhooks

* Update api/src/database/migrations/20211016A-add-webhook-headers.ts

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-10-29 10:52:44 -04:00
Aiden Foxx
fa3b1171e8 New OpenID and OAuth2 drivers (#8660)
* Moved over oauth impl to new interface

* Fixed most build issues and started addind schema to auth drivers

* Finished up OAuth2 and OpenID drivers

* Removed unused migration and utils

* Fixed minor todos

* Removed old oauth flow

* Changed oauth flow to re-use refresh token

* Added new oauth frontend

* Added font awesome social icons

* Updated authentication documentation

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

* Tested implementation and fixed incorrect validation

* Updated docs

* Improved OAuth error handling and re-enabled creating users with provider/identifier

* Removed Session config from docs

* Update app/src/components/v-icon/v-icon.vue

* Removed oauth need to define default roleID

* Added FormatTitle to SSO links

* Prevent local auth without password

* Store OAuth access token in session data

* Update docs/guides/api-config.md

* Fixed copy and removed fontawesome-vue dependency

* More docs fixes

* Crucialy importend type fiks

* Update package-lock

* Remove is-email-allowed check

In favor of more advanced version based on filtering coming later

* Fix JSON type casting

* Delete unused util

* Update type signature to include name

* Add warning when code isn't found in oauth url

and remove obsolete imports

* Auto-continue on successful SSO login

* Tweak type signature

* More type casting shenanigans

* Please the TS gods

* Check for missing token before crashing

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-10-21 17:45:01 -04:00
Oreille
1b0f75eec2 Fix o2m-resolver memory issue (#8944)
* Add limit to m2o fetching.

* Remove unused parameter

* Remove unused nested flag, move limit to apply

* Add limit to offset check

* Add usage note on union query

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-10-21 15:02:26 -04:00
Azri Kahar
2c0b61fdf3 add default preset for webhooks page (#8937)
* add default preset for webhooks page

* Apply suggestions from code review

* Update api/src/database/system-data/fields/webhooks.yaml

🤦🏻‍♂️

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-10-19 15:39:56 +00:00
rijkvanzanten
fe6cc3bc93 Fix recursive relation constraint for MSSQL 2021-10-15 20:01:21 -04:00
Rijk van Zanten
8f00e37daf Add improved collection organization setup (#8623)
* Add migrations, start on service

* Dont track TODO files

* Update collection types, add collection type

* Allow drag and drop sorting of collections

* Add tooltip

* Add grouping + collapsed state

* Fix nested closed state

* Tweak active drag styling

* Remove collapsed state

* Add folder creation/editing

* Render collections as nested tree in nav

* Fix open active state

* Add dense when collection count > 5

* Add visible toggle

* Add show-hidden toggle

* Fix css specificity

* Add support for query in v-list-group

* Add missing cascade

* Remove collapsed state

* Finish three-way toggle

* Add custom lock icon

* Fix icon size in non-dense

* Redirect to first & open tree on load

* Dont make prop required

* Fix search

* Only apply archive filter when enabled in settings

* Add archive view

* Add translations

* Hide organization fields

* Show system collections
2021-10-15 21:19:00 +00:00
Pascal Jufer
7060af9142 Use ActivityService/RevisionsService to save accountability records (#8485)
* Disable accountability for 'directus_activity' and 'directus_revisions'

* Use services to save accountability records

- Import ActivityService/RevisionsService in ItemsService and
  ItemsService in ActivityService/RevisionsService from "./internal" to
  prevent circular dependencies issue
- Use type PrimaryKey instead of number for onRevisionCreate method
  (was already used to collect PrimaryKeys in payload.ts anyway)

* Use index.ts to load activity & revision services

* Use for instead of forEach

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-10-14 15:37:55 +00:00
Pascal Jufer
e3bfe69de3 Translation fixes (#8695)
* Implement translation for activity items

Fixes #8415

Also fixes issue with "Open item" link for system collection

* Fix 'Create New' btn translation in list interface

Fixes #8427
Default values needs to return a function to be dynamic
Same for "Empty item" translation

Also use field.name instead of field.field value for field title

* Fix translation of default values in boolean & dropdown interfaces

* Translate note field of system collections in edit mode

* Translate remaining "hard-coded" values

* Add dedicated translation for open folder

* Update app/src/interfaces/list/list.vue

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

* Use translate-object-values and check if collection starts with
'directus_'

* Use already existing translation keys for activity items

As discussed

* Translate whole data object if system collection

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-10-14 11:29:48 -04:00
Daniel Krásný
446da89a38 Add descriptions for Panels and Dashboards (#8657) (#8684) 2021-10-12 17:36:50 +00:00
Rijk van Zanten
f64a5bef7e Add new advanced filters experience (#8570)
* Remove advanced filter sidebar detail

So long, and thanks for all the fish.

* Remove filter conversion logic

* Start replacing/removing old skool filters

* Add inline mode for usages in search bar

* Make filter work in header bar

* Emit empty string as null in filter

* Move shared filter types to shared

* Upgrade use-items

* Fix manual sort on tabular

* Cleanup styling in search bar usage

* Tweak styling

* Fix filtering issues

* Update cards

* Remove activeFilterCount from tabular

* Update maps to work with new filters

* Update calendar to new filter/sort structure

* Fix activity module nav/search

* Fix no-results message

* Update file library filtering

* Finalize user search

* Allow filtering in drawer-collection

* Handle cancelled responses semi-gracefully

* Add loading start state timeout

* Replace sort type in api

* Last commit before redoing a bunch

* Finish new visual style

* Remove unused rounded prop from v-menu

* Tweak sizing

* Enough size tweaking for now

* Count all filter operators instead of top

* Fix archive casting

* Fix api build

* Add merge filters util

* Split filter in user vs system

* Fix export sidebar detail

* Show field label on permissions configuration

* Add migration for filter/sort

* Use filters in insights
2021-10-07 18:06:03 -04:00
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