Commit Graph

130 Commits

Author SHA1 Message Date
Pascal Jufer
c9105eaead Use Item/PrimaryKey from and move Alterations to @directus/types (#22027)
Co-authored-by: ian <licitdev@gmail.com>
2024-04-08 10:12:26 +02:00
Brainslug
77d73398f1 Session Based Authentication (#21239)
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-03-04 01:59:45 +01:00
Brainslug
2c4883ae42 Filter system collections based on the system property (#21197)
Co-authored-by: Jan Arends <jan.arends@mailbox.org>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-02-14 14:40:57 +01:00
Pascal Jufer
e373feafaa Fix role update admin check (#21343)
* Fix role update check for remaining admins

* Add changeset

* Fix default type for primary key on Alterations

* Update changeset

Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>

* updated type casting

* updated type casting

---------

Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
2024-02-13 12:18:01 +01:00
Daniel Biegler
062c8f23f6 Add focal point support for images (#20768)
* add visual feedback for invalid value

* add focal point MVP

* Revert "add visual feedback for invalid value"

This reverts commit 1df1868342.

Accidently committed some local testing stuff. Pls disregard! :)

* fix wrong cropping

* fix text for new cropping, import correct type

* fix saving

* place initial focal point to saved value or center, display different cancel text

* split up tooltips

* honor rotations & flips when saving focal point

* apply custom cropper styles for focal mode

* Create loud-crews-fix.md

* add test and only crop when covering with fixed dimensions to preserve default behaviour

* linter gods pls forgive me

* replace json field with two int fields

* add focal point to sdk

* fix transformation for the two new db columns

* update test for new columns, add new tests

* wip: saving now differentiates between only img data and focal point and only enable saving if there are changes

but this is not optimal. would be better to check beforehand if we can collapse
to requests to one. Now its bad because
one request might succeed and the other fails.

* refactor image editor change persistence

now we save it in one request!

* Update loud-crews-fix.md

* add `focal_point_x` and `focal_point_y` to possible asset transformations

* fix assigning localdragmode upon cropper init

* reuse fetched fields in type

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* update file type

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* update changeset

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* improve type for `ASSET_TRANSFORM_QUERY_KEYS`

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* Apply suggestions from code review

Trying out the batch change feature from github for the first time. Lets see.

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* rename `persistChanges` to `saveImage`

* Add docs for focal points (#20959)

* Add user guide

* Added to API Reference

* Prettier

* Spellchecker

* default null

Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>

* from -> around

Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>

* from -> around

---------

Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>

* add changeset for docs

* run prettier lets goooooooo

* move & show focal point fields and add divider

---------

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Kevin Lewis <kvn@lws.io>
2024-01-22 18:35:06 +01:00
Brainslug
90422c30d8 OAS based on permissions (#20386) 2023-11-17 00:15:40 +01:00
Pascal Jufer
42d4f2d56a Merge next into main (#20107)
* Content Versioning (#19463)

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Update clean-berries-do.md

* Prerelease mode

* v10.7.0-beta.0

* Ignore format of auto-generated pre.json file

* Update naming conventions for Content Versioning (#19678)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Content versioning tweaks (#19700)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Add additional system fields to Content Versioning & include preview in promote drawer (#19752)

* Use key instead of name for Content Versioning (#19813)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Reorder component tags

* Prompt user to keep or delete the version before promoting (#19829)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Fix multiple constraints to users system table from versions system table for MSSQL (#19912)

* fix multiple constraints from versions to users

* fix users unit test

* Add Sorting by Aggregated Queries (#19568)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* Update API References for Content Versioning (#19911)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Add version argument in GraphQL (#19910)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Merge branch 'main' into next (#19974)

* Show installed extensions in settings pane (#19964)

* Setup boilerplate for extensions page

* Allow reading all extensions from the root endpoint

* Add basic sidebar info detail

* Render list of extensions

* Move extensions manager to folder

* Move stuff related to extensions to @directus/extensions

* Import extensions utils/types/etc from ext. package

* Resolve last imports

* Add no-extensions warning

* Start on extensions grouped

* Remove string type

* Improve naming conventions

* Couple more optimizations

* Add more structure

* Add comments

we finally understand how this works! hehe

* Remove constructor in favor of static set

* Add more comments

* Don't filter in get-extensions

TBD if this will break things horrendously

* Sprinkle on better names / comments

* Render by section, nested bundled extensions

* Fix typo

* Live-saving tip from the formatter

* Don't know where this came frmo

* Add a changeset

* 📈 Insights QoL Part 1 (#19467)

* Start adding Create Default Modal

* Add Metric List

* Number Formatter Utility

* Start on Label Formatting Options and Resizing

* Update Metric List to use New Number Formatter

* fix auto fit and styling

* fix typings for number formatter and error catching

* add conditional formatting to metric list

* Add Number Formatting to Metrics and Size Formats

* Add Option to Hide Percentage and Fix Sizing of Meter

* Add manual sizing for labels

* Add translation strings

* Add comments to insights

* Fix color errors and add icon

* update translations

* Refine Linechart

* Revert "Start adding Create Default Modal"

This reverts commit 184dd0bb73.

* Run prettier

* Remove Console Logging

* Fix Typings

* Create itchy-berries-rule.md

* Format file

* Fix Metric List for Aggre Group PR

* Remove Empty Class

* Run formatter

* Fix linter errors

* Fix import

* Update app/src/panels/label/panel-label.vue

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Update app/src/panels/label/panel-label.vue

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Update app/src/panels/line-chart/panel-line-chart.vue

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Remove commented css

* Remove unneeded logic

* Fix auto resizing and text alignment

* Remove Expect Error Typechecking

* Add Migration

* Fix Prettier

* Lint auto-fixes

* Fix Resizing CSS and JS

* Add Metric List Translation

* Optimize migration

* Format files

* Fix metric-list translations

* Fix type issue in metric-list/index.ts

> Default export of the module has or is using private name 'Aggregate'.ts(4082)
> Default export of the module has or is using private name 'Group'.ts(4082)

* Remove Unit Translations

* De-duplicate migration

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* SDK support for Content Versioning (#20000)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* Add basic support for theming! (#20026)

* WIP start integrating theming

* Fix name

* Fix typo

* Move theme definition to json files

* Generate json from vite plugin

* Move default themes to root

* Render theme-provider in app

* Format variable names

* Move build script to separate npm run scrip
t

* Render correct var names in provider

* Render dark mode

* Update dependencies

* Setup styling rules for module bar

* Remove variables

* Don't rely on scoped var in editor

* Move light styles to theme

* Use theme vars in module bar

* Render theme styles in head

* Render alongside rather than wrapped

* Themable nav

* Allow using local devtools

* Do magic

* Fix auto theme fallback

* Update vue-i18n

* Use proper unicode symbol for multiplication

* Reorganize settings sidebar

* Use global translations for appearance options

* Add fields to migration

* Add theming group fields to system data

* Add strings to en-us for theming

* Add theming route that only renders theme group

* Add custom css to theming group

* Add system-theme interface

* Move default themes above custom css

* Move theme to global translations

* Use an array instead of object structure

* Add defaults for system fields

* Update migrations

* Pass theming information to provider

* Don't use default key in theme settings

* Use lodash.merge instead of defu

Better TypeScript type inference

* Nevermind the standalone app

It kinda sucks

* Only override rules

* Fetch theme overrides from user

* Use same field layout as settings

* Add theme overrides to db

* Classic 🤦🏻‍♂️

* Fix import

* Boilerplate overrides interface

* Update themes rules to use type def

* Boilerplate nested sections for themes

* Custom favicon (#19968)

* Add public_favicon field

* Add translation for favicon note

* Allow favicon regardless of permissions

* Return favicon as project info

* Type favicon in store

* Replace set-favicon with generate-fav util

* Render favicon in usehead

* Add changset

* Reads a little cleaner

* Semi-colons are a sign of wealth in wisdom

* Add a theme-overrides interface (#19970)

* Install typebox

* Rough in overrides interface

* Update theming settings in settings

* Upgrade dependencies

* Move theme output generation to separate composable

* Upgrade typebox

* Rename app/use-theme to use theme config

* Rework overrides interface

* Add changeset

* Allow default inheritAttrs

* Fixed handling of multiple WebSocket subscriptions on same target  (#20005)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Add a cache clear method to the UtilsService (#19990)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Change csv db type to text (#19953)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Update placeholder text in file-image interface (#20004)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Use current Directus version in docs (#20008)

* Use theme background instead of background-page

* Replace foreground normal with theme foreground

* Add missing translation

* Use foreground-accent and foreground-subdued from theme

* Rename --brand to --project-color

* Reuse variable color

* Replace primary/secondary/success/warning/danger

* Use theme based vars in api data

* Add header bar theming options

* Add more theming rules

* Nest icon colors

* Fix names

* Fix names in sidebar icon

* Update theming form layout

* Consolidate shades

* Consolidate primary shades

* Add primary shades

* Use shade-calculcated primary alternatives

* Use primary as mixing color

* Define warning/danger/success/secondary as shades

* Support form field label

* Add schema for interface foreground

* Allow setting input colors

* Add Google custom font loading algorithm

* Use font variables from theme

* Use unhead to load google fonts

* Install unhead to themes provider

* Use display font in title text and large dividers

* Add the dark mode default

* Run formatter

* Updating seeds is a no-no

* 😔

* Fix test

---------

Co-authored-by: Nihcep <32708027+Nihcep@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Rob Lee <rob@nodeworks.com>
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Fix build script on components package

* Fix RGB var usage

* Resolve Azri's notes

See https://github.com/directus/directus/pull/20026#pullrequestreview-1676876461

* Fix extensions icon

* Add ability to enable/disable extensions from App Settings (#20015)

* Add migrations for directus extensions table

* Prevent duplicate extensions from being loaded

* Add extension settings type

* Add settings getter with db sync

* Add commented out columns

For part 2!

* Load settings when loading extensions

* Normalize settings into extension info

* Use system-like output for extensions endpoint

* Render extensions overview from new meta type

* white         space

* Bundle shared stuff as node exports as well

* Format file

* Fix output type of nested bundle entries

* Update package lock

* Hide uninstalled extensions

* Add disable context menu

* Hide disable controls on bundles

* Add API endpoint to update enabled state in DB

* Reload extensions on enable/disable

* Add refreshing on state change for disabled

* Remove commented out code

* Remove commented fields

* Add changeset

* Image having no empty line at the end

* Update GraphQL endpoints for extensions enable/disable (#20017)

* Update type for extensions read

* Add update extension

* Add changeset

* Update docs for updates in 19988 (#20019)

* SDK methods for extension reading/updating (#20018)

* Update SDK methods for extensions

* Add changeset

* Resolve Pascal's notes

* extracted extension api output type

* updated the update command

* Update sdk/src/types/extensions.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

---------

Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Run formatter

* Add extensions to app deny list

* Fix input param name

* Fix typo in docs

* Azri is right, again!

* Remove extraneous fields

* Fix registration of operation and bundle extensions (#20030)

* Fix icon map

* Fix extension enable flag type on SQLite

* Fetch settings from itemservice

Fixes database inconsistency issues

* Only load extensions service when database is installed

---------

Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>

* Use theme colors in extensions settings

* 📈 Insights QoL Part 2 (#20029)

* Update Dashboard Overview Page + New Only Import Sidebar

* Update Panel Config Drawer

* Remove Old Export Function

* Add changeset

* Add Back Missing Translations

* Fix Styling

* Update Styling to use new themeing

* Fox Formatting

* Fix Last CSS Var

---------

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

* Fix auto-theme issue on public pages (#20045)

* Return default appearance from server info

* Don't default to auto

* Render light/dark class based on theme appearance

* Render browser matches dynamically

* Read default appearance on public project info

* No-mo' auto

* Fix linter error

* Use unhead to set body class attr

* Content Versioning: Small tweaks & fixes (#20020)

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* fix input-rich-text-html body color css variable (#20049)

* Fix three small issues in `next` (#20051)

* Fix casting of json fields on sqlite

* Cast to json on user settings as well

* Prevent multiple versions of Vue/Pinia (#20066)

Co-authored-by: Brainslug <tim@brainslug.nl>

* Insights QoL - QA Fixes (#20063)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Add changeset for #20066 (#20071)

* Merge `main` into `next` (#20082)

* added save options and hide archive button for Content Versioning (#20095)

* Allow removal of version name (#20101)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Merge `main` into `next` (#20100)

* Add max length to `key` & `name` for Content Versioning (#20097)

* Make `next` ready for `main` (#20104)

* Durus: test for o2m (#19957)

* Fix casing in file names

* Refactor file structure

* Split up related field node

* formatter

* renamed fields-node.ts to fields.ts

* added o2m field in tdd test

* Split up tests

Co-authored-by: Nitwel <mail@nitwel.de>

* moved variables to test

* used random values in db response mock

* finalized actual test

* added some explanation

* encapsulated mock stream creation

* encapsulated receiving data from stream

* removed root prop in query

* Fix some spelling errors and variable names

* Remove mocked stream hotfix

* Reset mock after each test

* reduced test to a minimum

---------

Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: Nitwel <mail@nitwel.de>

* fix styling for specific map buttons (#20047)

* fix styling for specific map buttons

* added myself to contributors.yml

* fix format

* fix location of code.

* removed extra space

* signed cla (#20058)

* Fix format of contributors.yml (#20068)

* Correct count param in BlobClient.download() (#20056)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* move api/errors to @directus/errors package (#20054)

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Fix  http range request when transformation in use (#20060)

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Fixed SDK docblock for docs build (#20075)

* Docs: Snippet Toggler Improvements (#20077)

* Enforce Vue shorthand form for `true` attribute (#20079)

* Add homepage for quick ref in root package.json (#20083)

* Apply min-width for attached menus only (#20092)

* Apply min-width for attached menus only

* Add changeset

* Content Versioning Documentation (#20070)

* docs: add content-versioning guide

* docs: add versioning to user guide items

* updates: made updates to docs

* updates: add to headless cms guide

* fix: format

* fix: typo

* Fix link to versions ref page

Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>

* Use "Content Versioning" capitalized

* Addressed comments

* Format file

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Kevin Lewis <kvn@lws.io>

* Allow disabling of field menu options (#20094)

* New Crowdin updates (#19816)

* New translations en-us.yaml (German)

* New translations en-us.yaml (Portuguese, Brazilian)

* New translations en-us.yaml (Persian)

* New translations en-us.yaml (Chinese Simplified)

* New translations en-us.yaml (Arabic)

* New translations en-us.yaml (Italian)

* New translations en-us.yaml (Dutch)

* New translations en-us.yaml (Vietnamese)

* New translations en-us.yaml (Spanish, Mexico)

* New translations en-us.yaml (Spanish)

* New translations en-us.yaml (Croatian)

* New translations en-us.yaml (Turkish)

* New translations en-us.yaml (Romanian)

* New translations en-us.yaml (French)

* New translations en-us.yaml (Afrikaans)

* New translations en-us.yaml (Bulgarian)

* New translations en-us.yaml (Catalan)

* New translations en-us.yaml (Czech)

* New translations en-us.yaml (Danish)

* New translations en-us.yaml (Greek)

* New translations en-us.yaml (Finnish)

* New translations en-us.yaml (Hebrew)

* New translations en-us.yaml (Hungarian)

* New translations en-us.yaml (Japanese)

* New translations en-us.yaml (Korean)

* New translations en-us.yaml (Lithuanian)

* New translations en-us.yaml (Norwegian)

* New translations en-us.yaml (Polish)

* New translations en-us.yaml (Portuguese)

* New translations en-us.yaml (Russian)

* New translations en-us.yaml (Slovak)

* New translations en-us.yaml (Slovenian)

* New translations en-us.yaml (Albanian)

* New translations en-us.yaml (Swedish)

* New translations en-us.yaml (Ukrainian)

* New translations en-us.yaml (Chinese Traditional)

* New translations en-us.yaml (Icelandic)

* New translations en-us.yaml (Indonesian)

* New translations en-us.yaml (Spanish, Chile)

* New translations en-us.yaml (Thai)

* New translations en-us.yaml (Estonian)

* New translations en-us.yaml (Hindi)

* New translations en-us.yaml (Malay)

* New translations en-us.yaml (English, Canada)

* New translations en-us.yaml (English, United Kingdom)

* New translations en-us.yaml (French, Canada)

* New translations en-us.yaml (Faroese)

* New translations en-us.yaml (Esperanto)

* New translations en-us.yaml (Breton)

* New translations en-us.yaml (Bosnian)

* New translations en-us.yaml (Serbian (Latin))

* New translations en-us.yaml (Nepali)

* New translations en-us.yaml (Sorani (Kurdish))

* New translations en-us.yaml (Spanish, Latin America)

* Update source file en-US.yaml

* Update source file en-US.yaml

* New translations en-us.yaml (Croatian)

* New translations en-us.yaml (Croatian)

* New translations en-us.yaml (Russian)

* New translations en-us.yaml (Italian)

* New translations en-us.yaml (Italian)

* New translations en-us.yaml (Italian)

* New translations en-us.yaml (Croatian)

* Update source file en-US.yaml

* Update source file en-US.yaml

* New translations en-us.yaml (German)

* New translations en-us.yaml (Greek)

* New translations en-us.yaml (Italian)

* New translations en-us.yaml (Greek)

* New translations en-us.yaml (Albanian)

* 10.6.4 (#20102)

* Exit prerelease mode

---------

Co-authored-by: Jan Arends <jan.arends@mailbox.org>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: Nitwel <mail@nitwel.de>
Co-authored-by: Boegie19 <34578426+Boegie19@users.noreply.github.com>
Co-authored-by: Dominic <dmarx@marxulm.de>
Co-authored-by: mscbpi <ms@cbpi.ch>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Esther Agbaje <53586167+estheragbaje@users.noreply.github.com>
Co-authored-by: Kevin Lewis <kvn@lws.io>

---------

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Connor <12714889+ConnorSimply@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Nihcep <32708027+Nihcep@users.noreply.github.com>
Co-authored-by: Rob Lee <rob@nodeworks.com>
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: Jan Arends <jan.arends@mailbox.org>
Co-authored-by: Nitwel <mail@nitwel.de>
Co-authored-by: Boegie19 <34578426+Boegie19@users.noreply.github.com>
Co-authored-by: Dominic <dmarx@marxulm.de>
Co-authored-by: mscbpi <ms@cbpi.ch>
Co-authored-by: Esther Agbaje <53586167+estheragbaje@users.noreply.github.com>
Co-authored-by: Kevin Lewis <kvn@lws.io>
2023-10-21 00:34:57 +02:00
Nitwel
632b968c1f Fix hiding navigation on root folder (#19518)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2023-09-26 14:52:37 +02:00
Jan Arends
5c8d3d22c6 Reset auto increment sequence (#19328)
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-09-08 11:19:14 +02:00
Rijk van Zanten
ca3e7f521f Upgrade previous "Extensions" system to new "Errors" model (#18797)
* Typecheck across packages that are built with esbuild

* Boilerplate new Errors package

* No need, tsup checks with --dts

* Switch to tsup

* Setup dev script

* Add readme

* More boilerplaty things

* Finish createError function

* Install @directus/random

* Downgrade node types

* Add utility function to check if an error is a DirectusError

* Use new is-error check

* Install errors package

* Add failed validation common error

* Export common errors

* Move joi convertion to utils

* Export failed validation

* Use new failed validation error in validate-batch

* Enhance typing output of createError

* Remove outdir (handled by tsup now)

* Replace Exception with Error

* Replace exception in test

* Remove exceptions from app

* Remove exceptions from app

* Remove failed validation exception from users service

* Remove old failed validation exception from shared

* Remove exceptions package in favor of errors

* Uninstall exceptions

* Replace baseexception check

* Migrate content too large error

* Critical detail

* Replace ForbiddenException

* WIP remove exceptions

* Add ForbiddenError to errors

* HitRateLimitError

* Move validation related error/helper to new validation package

* Add index

* Add docs

* Install random

* Convert TokenExpired

* Convert user-suspended

* Convert invalid-credentials

* Move UnsupportedMediaType

* Replace wrong imports for forbidden

* Convert invalid-ip

* Move invalid provider

* Move InvalidOtp

* Convert InvalidToken

* Move MethodNotAllowed

* Convert range not satisfiable

* Move unexpect response

* Move UnprocessableContent

* Move IllegalAssetTransformation

* Move RouteNotFound

* Finalize not found

* Various db errors

* Move value too long

* Move not null

* Move record-not-unique

* Move value out of range

* Finish db errors

* Service unavailable

* GQL errors

* Update packages/validation/src/errors/failed-validation.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Update packages/validation/src/errors/failed-validation.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* InvalidQuery

* Add test for invalid query message constructor

* Invalid Payload

* Finalize exceptions move

* Improve type of isDirectusError

* Various fixes

* Fix build in api

* Update websocket exceptions use

* Allow optional reason for invalid config

* Update errors usage in utils

* Remove unused package from errors

* Update lockfile

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

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Update packages/validation/src/utils/joi-to-error-extensions.ts

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Put error codes in shared enum

* Replace instanceof checks in api

* Fix tests I think

* Tweak override names

* Fix linter warnings

* Set snapshots

* Start fixing BB tests

* Fix blackbox tests

* Add changeset

* Update changeset

* Update extension docs to use new createError abstraction

* 🙄

* Fix graphql validation error name

* 🥳

* use ErrorCode.Forbidden

* fix blackbox auth login test

* Add license files

* Rename preMutationException to preMutationError

* Remove unused ms dep & sort package.json

* Remove periods from error messages for consistency

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Add optional code check

* Use updated error code checker

* Rename InvalidConfigError to InvalidProviderConfigError

---------

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: ian <licitdev@gmail.com>
2023-06-27 17:22:26 -04:00
Nicola Krumschmidt
60be3c2b40 Add synchronization across horizontally scaled instances to schedule flows and hooks (#18584)
* Add synchronization to schedule flows and hooks

Fixes #15052

* Add changeset

* Add test

* Add to sequential list

* Fix spelling in changeset

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: ian <licitdev@gmail.com>
2023-05-24 17:16:42 -04:00
Pascal Jufer
377b2889ec More sensible default formats for image auto conversion (#18615)
* Prevent auto conversion of png to jpg images

* Create red-swans-march.md

* Update transformation tests

* Update blackbox test

* Fix image allocation

* Fix test again :-)

* Convert formats with transparency support to png (if no accept header)

* Update tests & add final fallback

* Update changeset

* Update blackbox test

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-05-16 13:50:27 -04:00
Pascal Jufer
17afb9a3bc Patch Tuesday 🐸 (#18260)
* Update `@directus/api` deps (minor)

 @aws-sdk/client-ses          3.292.0  →   3.316.0
 @godaddy/terminus             4.11.2  →    4.12.0
 @rollup/plugin-alias           4.0.3  →     4.0.4
 @rollup/plugin-node-resolve   15.0.1  →    15.0.2
 @types/node                  18.15.3  →  18.15.11
 @vitest/coverage-c8           0.29.3  →    0.30.1
 axios                          1.3.4  →     1.3.6
 fs-extra                      11.1.0  →    11.1.1
 helmet                         6.0.1  →     6.1.5
 ioredis                        5.3.1  →     5.3.2
 joi                           17.8.4  →    17.9.1
 liquidjs                      10.6.1  →    10.7.0
 marked                        4.2.12  →     4.3.0
 nanoid                         3.3.4  →     3.3.6
 rollup                        3.19.1  →    3.20.6
 sharp                         0.31.3  →    0.32.0
 vitest                        0.29.3  →    0.30.1
 vm2                           3.9.16  →    3.9.17

* Update `@directus/api` deps (major)

 @rollup/plugin-alias     4.0.4  →     5.0.0
 @types/inquirer          8.2.6  →     9.0.3
 @types/node           18.15.11  →  18.15.12
 camelcase                6.3.0  →     7.0.1
 chalk                    4.1.2  →     5.2.0
 commander                9.5.0  →    10.0.1
 execa                    5.1.1  →     7.1.1
 icc                      2.0.0  →     3.0.0
 inquirer                 8.2.5  →     9.1.5
 ~ldapjs                   2.3.3  →     3.0.2~
 nanoid                   3.3.6  →     4.0.2
 ~openapi3-ts              3.2.0  →     4.1.1~
 ora                      5.4.1  →     6.3.0
 strip-bom-stream         4.0.0  →     5.0.0
 tedious                 15.1.3  →    16.0.0
 typescript               4.9.5  →     5.0.4

* Update `@directus/app` deps

 @babel/core                             7.21.3  →    7.21.4
 @babel/preset-env                       7.20.2  →    7.21.4
 @fortawesome/fontawesome-svg-core        6.3.0  →     6.4.0
 @fortawesome/free-brands-svg-icons       6.3.0  →     6.4.0
 @fullcalendar/core                       6.1.4  →     6.1.5
 @fullcalendar/daygrid                    6.1.4  →     6.1.5
 @fullcalendar/interaction                6.1.4  →     6.1.5
 @fullcalendar/list                       6.1.4  →     6.1.5
 @fullcalendar/timegrid                   6.1.4  →     6.1.5
 @pinia/testing                          0.0.15  →    0.0.16
 @popperjs/core                          2.11.6  →    2.11.7
 @storybook/addon-actions            7.0.0-rc.4  →     7.0.6
 @storybook/addon-backgrounds        7.0.0-rc.4  →     7.0.6
 @storybook/addon-docs               7.0.0-rc.4  →     7.0.6
 @storybook/addon-essentials         7.0.0-rc.4  →     7.0.6
 @storybook/addon-links              7.0.0-rc.4  →     7.0.6
 @storybook/addon-mdx-gfm            7.0.0-rc.4  →     7.0.6
 @storybook/addon-measure            7.0.0-rc.4  →     7.0.6
 @storybook/addon-outline            7.0.0-rc.4  →     7.0.6
 @storybook/client-api               7.0.0-rc.4  →     7.0.6
 @storybook/client-logger            7.0.0-rc.4  →     7.0.6
 @storybook/vue3                     7.0.0-rc.4  →     7.0.6
 @storybook/vue3-vite                7.0.0-rc.4  →     7.0.6
 @types/diff                              5.0.2  →     5.0.3
 @types/dompurify                         3.0.0  →     3.0.2
 @types/lodash                         4.14.191  →  4.14.194
 @vitejs/plugin-vue                       4.0.0  →     4.1.0
 @vue/test-utils                          2.3.1  →     2.3.2
 apexcharts                              3.37.1  →    3.39.0
 axios                                    1.3.4  →     1.3.6
 dompurify                                3.0.1  →     3.0.2
 happy-dom                                8.9.0  →     9.8.4
 marked                                  4.2.12  →     4.3.0
 nanoid                                   4.0.1  →     4.0.2
 pinia                                   2.0.33  →    2.0.34
 sass                                    1.59.3  →    1.62.0
 storybook                           7.0.0-rc.4  →     7.0.6
 typescript                               4.9.5  →     5.0.4
 vite                                     4.1.4  →     4.2.2
 vitest                                  0.29.3  →    0.30.1
 webpack                                 5.76.2  →    5.80.0

* Update root deps

* Update `@directus/composables` deps

* Update `@directus/constant` deps

* Update `create-directus-extension` deps

* Update `@directus/exceptions` deps

* tsconfig workaround: ignoreDeprecations

* Update `@directus/extensions-sdk` deps

* Update `@directus/schema` deps

* Update `@directus/storage` deps

* Update `@directus/storage-driver-azure` deps

* Update `@directus/storage-driver-cloudinary` deps

* Update `@directus/storage-driver-gcs` deps

* Update `@directus/storage-driver-local` deps

* Update `@directus/storage-driver-s3` deps

* Update `@directus/types` deps

* Update `@directus/update-check` deps

* Update `@directus/utils` deps

* tsconfig workaround in schema: ignoreDeprecations

* tsconfig workaround in remaining packages: ignoreDeprecations

* Update `tests-blackbox` deps

* Revert "tsconfig workaround: ignoreDeprecations"

This reverts commit 5d97da55e3.

* Revert tsconfig override

* Update tsconfig

* Fix imports in @directus/utils

* Fix imports in composables

* Fix imports in extensions-sdk

* Fix imports in @directus/api

* Move RateLimiterAbstract to types import as well

* Bump pnpm to 8.3.1

* Update `docs` deps

> [...] the @vueuse/head package will be deprecated. If you're setting up this package on a new project, you should use the @unhead/vue package directly [...]

* Remove obselete dep `concurrently` from extensions-sdk

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* New day, new updates

Also forgot to include minor updates of deps in `tests-blackbox` in previous
commit

* Fix `api` tests

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2023-04-21 12:59:27 -04:00
Nitwel
898b580707 Autoconvert assets if browser supports it (#18012)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-04-12 15:08:51 +00:00
Julius Berger
b207af25ea Add support for AVIF image format (#17303)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-04-11 21:57:38 +00:00
ian
fdf0fa2fb8 Add max batch mutation (#17535)
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-04-07 18:25:25 +02:00
Rijk van Zanten
2983e61870 The Great TypeScript Modernization Program Season 3 Episode 6: The Big One (#18014)
* Step 1

* Step 2

* False sense of confidence

* Couple more before dinner

* Update schema package

* Update format-title

* Upgrade specs file

* Close

* Replace ts-node-dev with tsx, and various others

* Replace lodash with lodash-es

* Add lodash-es types

* Update knex import

* More fun is had

* FSE

* Consolidate repos

* Various tweaks and fixes

* Fix specs

* Remove dependency on knex-schema-inspector

* Fix wrong imports of inspector

* Move shared exceptions to new package

* Move constants to separate module

* Move types to new types package

* Use directus/types

* I believe this is no longer needed

* [WIP] Start moving utils to esm

* ESMify Shared

* Move shared utils to  @directus/utils

* Use @directus/utils instead of @directus/shared/utils

* It runs!

* Use correct schemaoverview type

* Fix imports

* Fix the thing

* Start on new update-checker lib

* Use new update-check package

* Swap out directus/shared in app

* Pushing through the last bits now

* Dangerously make extensions SDK ESM

* Use @directus/types in tests

* Copy util function to test

* Fix linter config

* Add missing import

* Hot takes

* Fix build

* Curse these default exports

* No tests in constants

* Add tests

* Remove tests from types

* Add tests for exceptions

* Fix test

* Fix app tests

* Fix import in test

* Fix various tests

* Fix specs export

* Some more tests

* Remove broken integration tests

These were broken beyond repair.. They were also written before we really knew what we we're doing with tests, so I think it's better to say goodbye and start over with these

* Regenerate lockfile

* Fix imports from merge

* I create my own problems

* Make sharp play nice

* Add vitest config

* Install missing blackbox dep

* Consts shouldn't be in types

tsk tsk tsk tsk

* Fix type/const usage in extensions-sdk

* cursed.default

* Reduce circular deps

* Fix circular dep in items service

* vvv

* Trigger testing for all vendors

* Add workaround for rollup

* Prepend the file protocol for the ESM loader to be compatible with Windows
"WARN: Only URLs with a scheme in: file and data are supported by the default ESM loader. On Windows, absolute paths must be valid file:// URLs. Received protocol 'c:'"

* Fix postgres

* Schema package updates

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* Resolve cjs/mjs extensions

* Clean-up eslint config

* fixed extension concatination

* using string interpolation for consistency

* Revert MySQL optimisation

* Revert testing for all vendors

* Replace tsx with esbuild-kit/esm-loader

Is a bit faster and we can rely on the built-in `watch` and `inspect`
functionalities of Node.js

Note: The possibility to watch other files (.env in our case) might be
added in the future, see https://github.com/nodejs/node/issues/45467

* Use exact version for esbuild-kit/esm-loader

* Fix import

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-04-04 17:41:56 -04:00
rijkvanzanten
5247b68afa Updates 6 of 6 2023-03-22 17:23:30 -04:00
rijkvanzanten
71060a51f7 Updates 3 of many 2023-03-22 16:29:36 -04:00
Rijk van Zanten
1a5f06c791 TSConfig Modernization: Set importsNotUsedAsValues (#17887)
* Set importsNotUsedAsValues

* Fix import
2023-03-22 14:51:27 -04:00
ian
9c36d7d8ef Throw validation error after authorization (#17499)
* Throw validation error after authorization

* Improve tests

* Refactor for deleteMany
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Refactor other usages in users service that errors before ForbiddenException

* Update tests

* Adjust test for 'deleteByQuery'

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-02-20 11:57:10 +01:00
Pascal Jufer
37faf3bd5d Patch Tuesday 🐸 (#17530)
* Update root deps

* Reformat files with new prettier version

* Update `directus` deps

* Update `@directus/app` deps

* Update `@directus/shared` deps

* Update components snapshots after updates

prop order has changed

* Update `extensions-sdk` deps

* pin version of zod in shared

* Update `@directus/storage` deps

* Update `@directus/storage-driver-azure` deps

* Update `storage-driver-cloudinary` deps

* Update `@directus/storage-driver-cloudinary` deps

* Update `@directus/storage-driver-local` deps

* Update `@directus/storage-driver-s3` deps

* Update `@directus/utils` deps

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-02-16 17:47:39 +08:00
Azri Kahar
89fcb19a16 Expose schema endpoints (#14713)
* Expose schema endpoints

* respond with 204

* fix payload for export flag

* allow export as YAML

* use SchemaService

* move getStringFromStream to utils

* clearer exceptions with logs

* check empty request body

* specs

* add bypassCache flag and remove flushCaches calls

* Identify integer typed fields in Oracle

* Fix uuid foreign keys type for Oracle

* Detect autoincrement for CockroachDB

* Bypass cache for fields and relations services

* Add same DB tests

* Test if working for all vendors

* Add schema snapshot testing into sequential flow

* Fix schema re-apply attempts when it's a different database vendor (#14816)

* prevent diffing on certain properties

* fix apply-snapshot test

* prevent updates to autoincrement fields' schema

* sanitize relations

* remove `colleciton.schema.sql` parsing in test

It is now being sanitized by `sanitizeCollection()` function in get-snapshot-diff.ts

* Change concurrency group to not cancel test running on main

* remove multipart for apply & add hash checking

* check incoming version & add force query param

* refine error message & stub for nested hash

* add `vendor` top-level property

as an additional safety net for cross db vendor applies

* sanitize generated schema snapshots

* snapshot joi validation

* diff joi validation

* minor cleanup

* extract applyDiff & use deep-diff applyChange

* use applyDiff in schema service

* Mark vendor as optional

* Update tests to apply diffs

* move force flag check into service

* Patch mssql vendor typo

* Set relation no action in cyclic relations

* Update mysql timestamp default value

* Oracle cannot define no action

* Update oracle timestamp type default values

* add hash checking for outdated diffs

* fix diff service & endpoint

* Add hashes when returning after

* Fix self referencing relations for Oracle

* Add temp fix for CURRENT_TIMESTAMP defaults in Oracle

* clean up driver and database client types

* only require diff hash if not kind N

* update hash comparison logic for create/delete

* Set no action constraint for self referencing M2M in MSSQL

* Add basic hash check tests

* omit default value when hashing auto increments

Specifically for CockroachDB with differing sequences

* add vendor check

* update specs

* Validate vendors with type definition

* Spread the vendors input array

* re-add Export component

* re-add js-yaml to root

* Propagate mutation options for schema apply

* Verify that snapshots differ and clear cache before hash tests

* Fix unit test

* Revert temp fix for CURRENT_TIMESTAMP defaults in Oracle

* Define and reuse type for export format

* Define and reuse list of database clients

* change `were` to `was`

* change `where` to `were`

* add some empty lines for readability

* tweak exception message

* fix test

* use object-hash

* use boolean to check whether file is included

* simplify request content type check

* throw error when multiple files were uploaded

* use nullish coalesce instead of short circuit

* Update api/src/services/schema.ts

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

* Remove unnecessary `Omit` on `SnapshotWithHash` type

* Revert "Remove unnecessary `Omit` on `SnapshotWithHash` type"

This reverts commit d22ac771ec.

* check empty snapshot earlier

* use allow-list logic via pick instead of omit

* Update api/src/services/schema.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Move to own /schema endpoint controller

* Fix refs to schema endpoint

* move streamToString to utils package

* move get-versioned-hash and add test

* extract kind into an enum

* Fix mysql5 timestamp value

* Fix test collection existing on rerun

* resolve TODO comment in blackbox test

* Drop deep level hashes in diff

These hashes are used only for more accurate error reporting
but are otherwise superfluous, since changes are already
detected by the top level hash.
Therefore we remove them in favor of a simpler diff format and
implementation.

* Revert schema "fix" for createItem, add comment

* Strict diff schema validation

* Revert CrDB auto-increment detection patch in 816c998

* Clear systemCache to expose newly added fields

* Use DiffKind constants

* Extract diff & snapshot validation into own tested utils

* Apply suggestions from @azrikahar

* Update knex-schema-inspector to 3.0.1

Includes the fix for CrDB auto-increment detection (knex/knex-schema-inspector#135)

* Update knex-schema-inspector in packages

* Update lock file

* add test for schema service

* add test for export service

* add relevant tests to modified util functions

* fix csv test to account for os end of line

* fix files controller test

* dedupe test data for schema service

* Align schema specs with docs

* Update api/src/controllers/schema.ts

* Revert testing for all vendors

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-01-31 17:36:49 +00:00
Rijk van Zanten
40f94e6907 Patch Tuesday 🐸 (#16875)
* Update versions

* Fix usage of fullcalendar

* Patch Tuesday Additions 🐸🐸 (#16878)

* Interop default in vitest

* Update exif-reader

* remove deprecated @types/pino

* remove old "grant" package type shim

* Small clean-up of dependencies (#16576)

* Remove outdated type deps & update concurrently

* fix lock file

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2022-12-23 10:45:15 -05:00
Rijk van Zanten
00865fbd84 File Storage 2.0 (#16825)
* Refactor storage logic to testable setup

* Add tests to get storage config

* Add tests for register drivers

* Tests for index

* Organize imports

* Add missing getStorage

* Setup boilerplate for cloudinary drive

* Add build script

* Add cloudinary configuration

* WIP tweaks for R&D

* Start storage abstraction v2

* Make storage manager single file

* Add test coverage

* Organize imports

* Setup local driver boilerplate

* [WIP] Start on local driver 2.0

* Add more methods

* Lunchtime

* Add put method

* Add list method

* [WIP] Try using storage in api

* Use node16 module-resolution

* Lets not mess with apply-query rn

* I love CJS. Death to CJS.

* Use dynamic imports

* Make things work

* Add path normalizer

* Add azure storage driver

* Update lock

* Start on tests

* Add getBuffer test

* Add getStat tests

* Add tests for exists

* Add tests for move

* Add tests for copy

* Add tests for put

* Add tests for delete

* Add test coverage for list

* Add removeLeading option to normalizePath

* Use removeLeading option

* Start on gcs

* Add fullpath test

* Add getStream

* Add getBuffer

* Add getStat

* Add exists

* Add move

* Add copy

* Add put

* Add delete

* Finish DriverGCS

* Cleanup tests a bit

* Start s3

* Add getStream

* Add getBuffer

* Please Wryn

* Add #exists

* Use randomize data

* No more hardcoded values 🙅‍♀️

* Add tests for copy

* Add tests for put

* Add put/copy/delete

* Add tests for delete

* WIP list

* Remove duplicate fullPath check

* Finish AWS tests

* Listen to wryn

* Mission critical tweak

* Add randomization, cleanup tests

* Check src vs dest full path

* Start on Cloudinary

* Add parameter signature helper

* Fix ESM building of shared

* Fix ESM building of shared

* Improve tests

* Update pnpm

* Remove old build commands

* Generated d.ts files

* Fix export naming

* Move ESM only utils to new @directus/utils

* Update lockfile

* Fix type exports

* Implement getStream

* Cleanup tests

* Simplify api

* Simplify API

* Simplify api

* Simplify API

* Add read/stat

* Cleanup / add exists

* Add move

* Add write

* Move uploadChunk to separate method

* Add test for #uploadChunk

* Add tests for write

* Add copy

* Add delete

* Add list

* Add list error handling

* Remove old drive packages

* Start updating API usage of storage

* Use Readable instead of NodeJS.ReadableStream

* Use readable instead of buffer

* Restore shared to main

* Update lockfile

* Use a streaming pipeline for sharp metadata

* Add basic e2e test for local upload and delete

* Fix integer filesize in SQLite

* fixed environment mocking in unit tests

* applied the same env mocking to other tests

* Update api/src/storage/register-drivers.ts

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Use sha256 by default

* Add base read test for /assets

* Replace exifr with exif-reader

* Fix tests for storage/index

* Install faking lib for tests

* Add test for register-drivers

* Add tests for register-locations

* Finish tests

* Organize imports

* Resolve Azris comments

* Fix outdated tests

Certainly not the cleanest, but I need to do a bigger pass on all these tests to get them up to date with the latest team requirements. Gonna do that in a separate PR..

* Test for sha256

* Attempt 1 at fixing toString errorr

I'm not seeing this issue locally, so we'll spam a couple commits here to get things going

* Use node 18 in tests?!

* Fix localhost resolution with 127.0.0.1

* Mock getEnv()

* Use @directus/tsconfig instead of duplicated conf

* Does this fix it?

* OK fun detour

* Recreate lockfile

* Update config files

* Use multipart uploads in S3

* Cleanup imports

* File Storage 2.0: Make metadata extraction backward-compatible (#16868)

* Reinstall packages using pnpm instead of manually removing them (#16871)

* Added extra environment setting for sharp processing of invalid images (#16811)

* Added extra environment setting for sharp processing of invalid images

* renamed environment var to `ASSETS_INVALID_IMAGE_SENSITIVITY_LEVEL`

* Remove unused excludes from tsconfig

* Remove copy/paste leftover

* Update packages/utils/readme.md

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

* Update packages/utils/package.json

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2022-12-21 10:04:03 -05:00
ian
0f6ed82953 Optimise data model sorting (#16039)
* Add collections batch update endpoint

* Use collections batch update when sorting in data model

* Add autoPurgeSystemCache option

* Change type to false for consistency

* Refactor to InvalidPayloadException

* Add collection batch update test

* Bump default max payload size to 1mb

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2022-10-18 19:19:36 +00:00
ian
73fa8d66ac Emit nested action events after the transaction completes (#14981)
* Emit nested action events after the transaction completes

* Propagate mutation options for the disabling of nested emits

* Disable emit in test

* Shift emitting
2022-08-18 16:07:33 -04:00
ian
8d9991abe3 Process relational collection's permissions in functions (#13870)
* Process relational collection's permissions in functions

* Fix deep usage of functions in GraphQL

* Add unit test for updated SQL query with permissions

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-07-21 14:42:22 -04:00
Nitwel
857eae54de 🌊 Add Data Flows to Directus 🌊 (#12522)
* Replace attachment with correct icon

* Use standardized options formatting

* Improve preview styling, fix names

* Format IDs of DB read operation as csv

* Remove flow active state from header

* Don't return null for unknown flows

* Fix webhook trigger not showing id

* Fix alignment of attachment

* Make heading secondary if it's the reject handler

* Use flow name in subtitle of operation drawer

* Rename "Create new Operation" -> "Create Operation"

* Make name/key required

* Give name autofocus

* Add "uncaught exception" log message

* Various improvements on operations

* default status to "active"

* Add status dropdown at the bottom of trigger

* put status dot to the right of flow name header

* add toggle status option in context menu

* fix trigger options staging

* fix flow deletion

* show configured operation key on name hover

* prevent block pushing status toggle down

* ensure key is unique between operations in a flow

* allow add new panel when previous one is deleted

* fix staged panels temporarily disappear

The deletion of newTree.id causes it to "disconnect" when saving, thus causing it seemingly disappear. Using a cloneDeep prevents it from mutating the current stagedPanels

* hide key input when in query mode

* add write operation

* undo previous route props change

* include staged panel keys in key validation

* fix key validation logic

* add color to flow & insights

* ensure trigger does not have reject button

* prevent operation key error showing up when saving

* change context menu to Delete Operation

* fix add operation when removed operation is staged

* Hide ID in read preview when in query mode

* fix reject button showing without edit mode

* fix status toggle in flow overview

* simplify request operation methods & allow other

* fix preview function type

* simplify slot syntax

* add manual trigger

* simplify manual trigger handler

* prevent drawer closing on esc

* allow filter config without selecting collection

* improve affordance of add operation button

* fix loner reject button color

* Added emitEvents option to write operation (#13121)

* added emitEvent option toggle to write operation

* Re-gen package-lock

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

* Clean up active/inactive toggle

* Align arrow to grid

* Visually align border radius of glow

* Tweak padding of footer in panels

* Remove init event

* Combine event triggers into single "Hook" trigger

* Fix mail operation

* Cleanup imports, return undefined for webhook executino flows

* Add border to panel footer

* Upgrade preview of hook trigger

* Don't warn on uncaught flow executions

* Clean up types

* Fix typing of reload

* Default to correct icon

* Add migrations to remove webhooks table

* Remove webhooks

* Update icons for triggers

* Reorganize triggers

* Merge flows and webhooks migrations

* Add permissions option to database read operatoin

* Add permissions configuration to database write

* Remove flow logs in favor of using directus_activity

* Upgrade webhook configuration, fix create operatoin

* Rename validation->condition

* Subdue everything when inactive

* Tweak tests

* Fix the test for real

* Remove circular FK trigger, please MSSQL

* Make things worse to please MSFT

* Add input

* Drop input scope from condition operation

* naming and description changes

* Default flow overview icon color to primary

* add danger styling to delete flow button

* fix hint buttons subdued style

* Hide trigger unlinked resolve btn when not editing

Don't show "check mark icon" or "operation arrow" on empty trigger when NOT in edit mode

* show email "to" value as CSV

* remove unused webhook.preview translation

* Default sort order of overview table to `name`

* Track activity / revisions in flows

* Extract w/ the intent to reuse revisions fetching

* Move Action type to shared to facilitate app use

* [WIP] Start rendering logs drawer from sidebar

* Fix type error (sorry Eron)

* add update operation

* add delete operation

* use parseJSON util in operations

* Add missing fields to flows system data

* Await promise in sleep operation

* fix e2e test missing flows & operations tables

* Add fallback title to flow logs drawer

* Add default value to flow prop for flow-dialog

* Hydrate flows store before moving to details page when creating flow

* Rename CRUD operations to item-*

* Change trigger options subtitle to Trigger Options

* Remove trigger name option

* Fix typescript complaining

* Remove two lines

* Fix notification operation

* Log error when executing a schedule flow

* Fix schedule flow activity tracking

* Fix notification operation when there is no user

* Make permissions for notifications configurable

* Do not drop non null constraint from column that is nullable

* Remove invalid option from activity seed

* Show resolve/reject dot when operation has successor

* Improve flow arrow placement

* Prevent arrow color from flickering

* Fix arrow being stuck when hovered while saving

* Fix arrows not being subdued on lone leaf operations

* Add tooltips to operation handles

* Remove option to trigger flow on init

* Move operation handle tooltip to icon

* Disconnect duplicated operation

* Fix deleting connected operations

* Make delete action name generic in v-workspace-panel

* Use flow-specific wording in flow edit tooltip

* Simplify hint handle check

* Fix deleting first operation

* Use useEditsGuard composable in flow component

* Add asynchronous option to webhook trigger

* Add option to make preview elements copyable

* Add hover transition to panels

* Register operation preview components as operation-preview-*

* Remove selectability of panel header and operation body

* Add return option to filter and operation triggers

* Add missing key

* Remove unnecessary ampersand from URLs in filter tests (#13523)

* Remove unused prop

* New translations en-US.yaml (Polish) (#13524)

* My favorite

* v9.11.1

* v9.11.1

* New translations en-US.yaml (Polish) (#13528)

* New translations en-US.yaml (Czech) (#13541)

* New translations en-US.yaml (Czech) (#13545)

* fix metadata for directus_folders (#13527)

* add `meta` to list responses for OAS (#13531)

* remove existing pasting check on slug values (#13532)

* Add copy button to user id on user info page (#13540)

* New translations en-US.yaml (Czech) (#13547)

* New translations en-US.yaml (Czech) (#13548)

* Added missing "DB_SSL_*_FILE" to the "_FILE" allow list. (#13539)

* Remove workaround in release flow (#13455)

This forces the release workflow to use `node@16.15` which includes `npm@8.5`.

* Remove npmrc files which prevent lockfile creation in workspaces (#13444)

* Remove npmrc files which prevent lockfile creation in workspaces

Since `v8.5.0` npm will detect that it is running inside a workspace and issue commands at the root package.

* Require a minimum npm version of 8.5.0

* Package-lock 🖤

* Don't consider SIGN_OUT an SSO error (#13389)

* Don't consider SIGN_OUT an SSO error

* Add SESSION_EXPIRED as valid reason

* Improve translation for require_value_to_be_set (#13363)

English + Dutch

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

* Fix field conditions optionDefaults computed property (#13563)

* fix: remove .value from options

* additional ref fix & type/null errors

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>

* `last_page` type was `date` instead of `str` (#13577)

* `last_page` type was `date` instead of `str`

* Update docs/reference/system/users.md

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

* New Crowdin updates (#13557)

* New translations en-US.yaml (Romanian)

* New translations en-US.yaml (Indonesian)

* New translations en-US.yaml (Spanish, Chile)

* New translations en-US.yaml (Thai)

* New translations en-US.yaml (Spanish, Latin America)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Polish)

* New translations en-US.yaml (Swedish)

* New translations en-US.yaml (Turkish)

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

* New translations en-US.yaml (French)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Bulgarian)

* New translations en-US.yaml (Catalan)

* New translations en-US.yaml (Danish)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Finnish)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Chinese Simplified)

* New translations en-US.yaml (Italian)

* New translations en-US.yaml (Slovenian)

* New translations en-US.yaml (Ukrainian)

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

* New translations en-US.yaml (English, Canada)

* New translations en-US.yaml (French, Canada)

* New translations en-US.yaml (Croatian)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Czech)

* Fix validate query number comparison

Ref https://github.com/directus/directus/pull/13492#issuecomment-1138770254

* New translations en-US.yaml (Polish) (#13580)

* add to project (#13581)

* Allow authentication using MSSQL azure-active-directory-service-principal-secret (#11141)

* Extract ignored settings requires by azure authentication

* Change the way to extract initial database settings

* Fix invalid names after extracting from env util

* Replace missing var after solving conflicts

* Add default value to poolconfig

* This should unbreak it

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

* Create pull_request_template.md

* Update pull_request_template.md

* Add System token interface (#13549)

* Add system token interface

* use system token interface in users token field

* Update placeholder

* move notice below input

* fix clear value interaction

* update placeholder and notice text

* remove unused translation key

* rename class to match current naming

* fix bugs in disabled state and it's UX

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: jaycammarano <jay.cammarano@gmail.com>

* New Crowdin updates (#13586)

* New translations en-US.yaml (Romanian)

* New translations en-US.yaml (Indonesian)

* New translations en-US.yaml (Spanish, Chile)

* New translations en-US.yaml (Thai)

* New translations en-US.yaml (Serbian (Latin))

* New translations en-US.yaml (Spanish, Latin America)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Polish)

* New translations en-US.yaml (Portuguese)

* New translations en-US.yaml (Swedish)

* New translations en-US.yaml (Turkish)

* New translations en-US.yaml (Estonian)

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

* New translations en-US.yaml (French)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Bulgarian)

* New translations en-US.yaml (Catalan)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Danish)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Finnish)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Chinese Simplified)

* New translations en-US.yaml (Italian)

* New translations en-US.yaml (Japanese)

* New translations en-US.yaml (Dutch)

* New translations en-US.yaml (Slovenian)

* New translations en-US.yaml (Ukrainian)

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

* New translations en-US.yaml (English, Canada)

* New translations en-US.yaml (French, Canada)

* New translations en-US.yaml (Croatian)

* Add project_url to defaultTemplateData (#12033)

Might be useful in template footers.

* Update items.md

* Rename panel to tile

* Rename preview->overview

* Style flow log detail

* Log all parsed options

* Show used options in revision

* Finish log detail drawer

* new create flow flow

* fix firstOpen for new create flow flow

* update field layout for create flow form

* Fix TS typing

* Fix missing import

* Append random hash to key when duplicating operations

* Revert "Remove webhooks"

This reverts commit 044d3d8b66.

* Don't delete webhooks

* Make option preview selectable

* Prevent invalid linking when duplicating operations after creating operations

* Prevent sending of malformed query filter when deleting flow

* implement new manual trigger

* simplify payload for manual trigger

* use buttons instead of dropdown + run button

* add async option & loading state

* add collection check to manual trigger

* emit refresh after running flow in sidebar

* Add cross-instance messenger for reloading

* Use flow drawer for both create and edit

* Add manual trigger flow permissions to app recommended

Ensures that non-admin users can actually see the flows sidebar detail

* Add basic logs redaction

* Remove endpoint to trigger an operation

* Allow configuring location for manual trigger

* Rename "hook" trigger to "event"

* Tweak icon size

* Fix create flow button in info notice

* Make activity tracking full width

* Tweak descriptions

* Too long for comfort

* Remove mode option from item-* operations

* fix manual trigger empty collections option

* Add no-logs-yet message in sidebar detail

* Reset trigger options on change of trigger

* Rename `data`->`payload`

* Remove mode from preview of item-* operations

* Return operation options with "{{key}}" as raw value

* Show flow name in delete confirmation

* Add default generated name/key to new operations

* shorten arrows WIP

still needs icons moved

* rename note to description

* fix hint button icons

* update event hook type labels

* Animate resolve/reject arrow hints

* reorder event types

* Use x+4 instead of x+6 for new operation panels

* compress options to fit 6 lines in operation

* update hook labels

* animate trigger box shadow

sorry, rijk!

* update (global) disabled button color 1 shade

* Format times nicer

* Add placeholder for query

* add a note

* Fix formatting for curly brackets in translations

* Add item Create/update payload placeholder

* Add placeholder to user uuid

* Accept either null or undefined for nullable operation options

* Allow any string as request body

* Add more placeholders

* Consolidate filterScope and actionScope, filterCollections and actionCollections

* Rename flow note to description in types

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: Aiden Foxx <aiden.foxx.mail@gmail.com>
Co-authored-by: Jan-Willem <jan-willem@qdentity.nl>
Co-authored-by: Yasser Lahbibi <yasser.lahbibi@apenhet.com>
Co-authored-by: Louis <32719150+louisgavalda@users.noreply.github.com>
Co-authored-by: Jay Cammarano <67079013+jaycammarano@users.noreply.github.com>
Co-authored-by: Erick Torres <ericktorresh@gmail.com>
Co-authored-by: jaycammarano <jay.cammarano@gmail.com>
Co-authored-by: Yuriy Belenko <yura-bely@mail.ru>
Co-authored-by: ian <licitdev@gmail.com>
2022-06-02 18:18:49 -04:00
Wryn (yage) Wagner
0930c2df97 Safe Metadata Upload (#12511)
* [Related to #11292] Safe Metadata Upload
- Created FILE_METADATA_ALLOWLIST
- Added test library for `FilesService`

* Rename ALLOWLIST->ALLOW_LIST to be consistent with other env vars

* Make sure it still works for files without Exif

* Prevent breaking changes in metadata formatting

* Allow * for all

* Fix md sup

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2022-04-04 20:43:56 -04:00
Nicola Krumschmidt
889668f972 Remove API extension types from the API (#11191)
There is little value in keeping these types inside the API package.
We should instead focus on improving the types in shared.
2022-01-20 22:19:52 +00: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
Aiden Foxx
ccd91de8c5 Removed unused session data (#11167) 2022-01-19 18:35:46 +00: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
Brainslug
35c3f90c9a added event emitter to extension context and updated docs (#10529) 2021-12-15 21:29:06 +00:00
Alisher Nazarhanov
05e69ecabd Fix hidden folders/collections (#9207) (#10005)
Show parent folders/collections if user has at least one permission to child collection (#9207)
2021-11-24 22:24:52 +00:00
Nicola Krumschmidt
3d0e086c55 Rework hook registration (#8027)
* Rework hook registration

* Remove event and action fields from hook payloads

* Move "error" action to "request.error" filter

* Emit meta and context objects in filters and actions

* Run filters sequentially

* Update hook templates

* Fix CLI hook test

* Also emit `<collection>.items.crud` when emitting `items.crud`.

* Update hook docs

Co-authored-by: Oreilles <oreilles.github@nitoref.io>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-11-03 17:18:56 -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
Oreille
8df071a3a2 Fix generated columns being required. (#9200)
* Fix generated columns being required. Also prevent schema changes on generated columns.

* Fix type errors

* Disable `unique` and `nullable` instead of not showing them.

* Fix other type error

* Nullable check small refactor

* Fixed MSSQL query

* Fixed oracle query
2021-10-29 12:24:21 -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
29a2e75206 Improved invalid JWT handling (#9058)
* Improved invalid token handling in oauth flows

* Fixed cookie name
2021-10-22 10:17:12 -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
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
23a126b026 Fix eslint warnings and cleanup unused disable-directives (#8718)
* Fix eslint warnings

* Remove unused eslint disable-directives
2021-10-12 09:49:01 -04:00
Rijk van Zanten
fb36ded825 Remove deprecated code (#8670)
* Remove deprecated code

Just for you @aidenfoxx

* Fix type signature
2021-10-08 18:45:17 +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
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
Aiden Foxx
084c6117b7 Modular authentication (#6942)
* Moved refactoring from LDAP branch

* Moved Auth into packages

* Updated frontend to support custom auth providers and make implementation more flexible

* Fixed exception handling and numerous bugs. Also added provider support to graphql

* Updated frontend to be able to set provider and identifier

* Fixed issue with setting the auth provider in app

* Updated package-lock.json

* Updated package-lock.json

* Cleanup, adding type handling and disabled changing provider

* Added title formatting to SSO links

* Fixed incorrect type export

* Fixed incorrect rc

* Update api/src/services/authentication.ts

* Updated sub-dependencies to rc87

* Fixed linting errors

* Prefer sending provider name as config var

* Pass clone of user info to auth provider instead of reference

* Moved auth from packages into core

* Removed generic login handler

* Fixed graphql complaint

* Moved exception back to api and cleaned up URLs

* Minor tweak

* Pulled across improvements from openid branch

* Fixed fix that wasn't a fix

* Update auth.ts

* Update auth.ts

* Update authentication.ts

* Update login-form.vue

* Regression fixes and cleanup

* Minor flow improvements

* Flipped if and fixed linting warning

* Un-expanded object that didn't need to be expanded!

* Trimmed auth interface for consistency when verifying passwords

* Removed auth-manager, changed login endpoint, broke out SSO links, removed username support, disabled updating external_identifier, generate provider options as part of field generation

* Cleaned up some code comments

* Use named exports in local driver

* Use async defaults for auth abstract class

* Use JSON for auth_data field

* Move session data blob to directus_sessions

* Remove unused export, rename auth->authDriver

* Opinionated changes

* Move login route registration to driver file

* Revert app changes in favor of PR #8277

* Send session token to auth provider and opinionated changes

* Added missing translation

* Fixed empty elements for users without email

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

* Move pw verify to local driver, remove CRUD

* Opinions > logical reasoning

* Use session data, cleanup login method on auth serv

* Remove useless null

* Fixed breaking changes from refactor, and fixed build

* Fixed lint warning

* Ignore typescript nonsense

* Update api/src/services/authentication.ts

* Fix provider name passthrough

Co-authored-by: Aiden Foxx <aiden.foxx@sbab.se>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-09-27 17:18:20 -04:00
Rijk van Zanten
ac0bade2b4 Don't track primary keys of relations/fields (#8355)
Fixes #8161
2021-09-27 15:45:28 -04:00
Rijk van Zanten
bf72917a4c Add Insights Module & API Aggregation Functionality (#8009)
* Apply aggregation query to dbQuery

* Override fields/sortField when group/aggr is used

* Sanitize incoming group/aggr fields

* Validate for new group/aggr query params

* Document new aggregate/group endpoint

* Add changeset

* Add new system tables

* Add schema, rest/gql resolvers for insights

* Add insights store

* Render insights overview page

* Add dashboard creation flow

* Add not found route

* Show editing grid

* Add panels as extension type

* Render panel selection

* Add edit existing

* Add saving changes

* Add positioning

* Finish resizing

* Start on metric panel

* Auto-expand workspace

* WIP add frappe-chart

* Add functional time-series chart

* Deep watch option changes

* Fix o2m fetch when not grouping

* Allow PK in metric panel

* Add breadcrumb

* Various tweaks and fixes

* Fix metric alignment, only load on options change, Show header

* Add delete panel

* Add updating dashboard

* Swap docs / insights

* Add sort/limit to metric

* Add decimal places, units

* Add label type panel

* Track corner intersaction

* Don't hit the API if there aren't any staged changes

* Remove limit from metric

* Extend resize handlers beyond border

* Fix repositioning on update existing

* Add duplicate panel

* panel duplicate icon

* Increase time series min height

* Improve time series styling

* make panels selectable

* Button styling and fullscren (button only)

* Time series color

* Panel plot display

* Optically align metric

* Add number formatting to metric

* Insights placeholders and defaults

* Fix codemirror placeholder color

* Restart docker containers on docker restart

* Move insights to Vue 3

* Fix val check

* Add button style props

* Fix input/value

* Fix panel init

* Fix buttons on panels

* Fix animation on panel config

* Fix panel location not resetting on cancel

* Add fullscreen / zoom to fit support

* Temp remove transition to prevent browser glitches

* Fix vertical size calculation

* Fix panel editing

* Update params to match fields

* Setup datetime abstraction

* Restructure fn helper

* Add fields support for date functions

* Allow functions in sort/filter

* Fix missing knex passthrough

* Finish date retrieval abstraction for all vendors

* Delete witty-emus-approve.md

* Delete dependabot.yml

* Add renovate.json (#6322)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* New Crowdin updates (#6309)

* New translations en-US.yaml (Japanese)

* New translations en-US.yaml (Japanese)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Arabic)

* fix link (#6339)

* fix(deps): pin dependencies (#6323)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency globby to v11.0.4 (#6324)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Add support for `read` hooks on `items` (#6341)

* Add emitter on item read

* Add performance warning to docs

* Make result instead of query the payload

* Redact tokens from logs (#6347)

* Fixed issue that would cause uploads to the root folder of the file library to fail (#6348)

fixes #6310

* Use existing file extension as default (#6349)

* Don't send sensitive data in webhooks (#6350)

Fixes #6246

* Trim val before check

h/t @aidenfoxx

* chore(deps): update mariadb docker tag to v10.6 (#6332)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update node.js to v16 (#6336)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update postgres docker tag to v13 (#6338)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency rollup to v2.52.1 (#6337)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency vue-router to v4.0.9 (#6327)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency typescript to v4.3.3 (#6329)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(deps): update dependency ms to v2.1.3 (#6328)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency marked to v2.1.1 (#6330)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update fullcalendar monorepo to v5.8.0 (#6331)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency dotenv to v10 (#6333)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* fix(deps): update dependency chalk to v4 (#6342)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* chore(deps): update dependency fs-extra to v10 (#6334)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Change cache-control heeaders (#6355)

* chore(deps): update dependency typescript to v4.3.4 (#6357)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fixed invalid onDelete constraint for some schemas (#6308)

* Fixed invalid onDelete clause for some schemas

* Ran prettier

* Updated all onDelete statements to be Oracle friendly

Co-authored-by: Aiden Foxx <aiden.foxx@sbab.se>

* Fix import in aggregation

* Fix cancel button on new modal dialog

* Add default icon to new dashboards

* Add information sidebar component

* Don't open sidebar on window resize

* Add distinct options to metrics panel

* Use updated aggregate function type signature

* Reset field value on collection change

* Don't show resize stats on edit click

* Add panel options to header headline on drawer

* Add page-bottom padding to drawers

* Show panel icon in header, fix active state buttons

* Add date range functionality to time-series

* Fix z-index of edit buttons

* Fix header icon color

* Update insights module icon

* Fix datetime formatter, set date range, add padding

* Time series

* tweaks on time series

* format tweaks

* Fix edit dashboard modal

* Add auto-format option

* Fix number formatting w/ decimals

* Add metric conditional color

* Fix defaults rendering in list, add defaults to metric

* Fix decimal points in metrics

* Remove sort

* Tweaks in metrics settings

* Add filters to time series

* Update options for metric

* Time series tweaks

* Allow empty field for metric

* Set label min height to 4

* Add first/last to metric

* Add "move" option, various tweaks

* Upgrade "move to" to "copy to"

* Add white to color preset defaults

* Tweaks

* Use 0 for decimal default

* Use default false for abbreviate

* Fix panel registration

* Show color placeholder, fix edit modal

* Add navigation guard

* Don't fire navguard on subroute

* Show create button on empty dashboards in nav

* Use synced charts

* Undo sync test

* Have metric render 0

* Fix abbreviate decimal places

* Fix min 0 in time-series

* less blocking whitespace

* new metric min width

* new time series min width

* time series style updates

* Fixed typo (#6558)

* Fix auto-fill of directus_files in relational setup (#6555)

Fixes #6487

* v9.0.0-rc.82

* Update changelog.md

* Add limit options for deleteMany files (#6561)

* Changed filesize to bigint for large files

* Update api/src/database/migrations/20210626A-change-filesize-bigint.ts

* add `limit -1` for deleteMany files options from #6560

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

* Fix cleaning order

* update dependency ts-node-dev to v1.1.7 (#6564)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fix order of form group filter (#6566)

Fixes #6557

* New Crowdin updates (#6554)

* New translations en-US.yaml (Bulgarian)

* Update source file en-US.yaml

* v9.0.0-rc.83

* Update the required Node version to 12.20.0 (#6578)

* update dependency rollup to v2.52.4 (#6572)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Add skip admin init flag (#6576)

* adds skipAdminInit flag to bootstrap

* checks for skipAdminInit flag

* update docs for skipAdminInit

* Fix extension loading on windows (#6579)

Javascript import syntax uses URLs instead of paths, so we have to
normalize the extension paths to forward slashes when importing them
inside the virtual entrypoints.

Fixes #6550

* New Crowdin updates (#6575)

* New translations en-US.yaml (Hebrew)

* New translations en-US.yaml (Hebrew)

* insights time series min size

* Only ask for are you sure when edits are made

* Add cancel confirmation

* Add system collections to pane dropdown

* Disable zoom to fit when enabling edit mode

* Render browser popup on reload

* Fix padding in TV mode

* Fix box

* Add show X/Y axis options

* Default to 0 decimals

* Use configured decimals in Y axis labels

* Fix build

* Aggregate resolvers added to GraphQL options (#7373)

* Don't use tags interface for CSV filter (#7258)

Fixes #6778

* Rely on `RETURNING` when possible (#7259)

* WIP use returning clause instead of max from id

* Use returning where applicable, fallback to fetch

Fixes #6279

* update dependency p-queue to v7 (#7255)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency @vitejs/plugin-vue to v1.4.0 (#7263)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Move p-queue to app dev dependencies (#7273)

* Log error message when registering app extension fails (#7274)

* update dependency rollup to v2.56.1 (#7269)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency vue-router to v4.0.11 (#7272)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency ts-node to v10.2.0 (#7271)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Only loads app extensions if SERVE_APP is true (#7275)

This also ensures API/App only load their respective extensions in dev.

* Fix gitignore file in extension templates being deleted when publishing (#7279)

* New Crowdin updates (#7260)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Russian)

* update typescript-eslint monorepo to v4.29.1 (#7283)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Only treat `tinyint(1)` and `tinyint(0)` as booleans (#7287)

* added an if catch for tinyint(1) and tinyint(0)

* made suggested changes toLowerCase()

* update dependency @vue/compiler-sfc to v3.2.0 (#7288)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency vue to v3.2.0 (#7289)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Handle JSON in labels display (#7292)

Fixes #7278

* update dependency pinia to v2.0.0-rc.3 (#7055)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update vue monorepo to v3.2.1 (#7293)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Flush caches on server (re)start (#7294)

* v9.0.0-rc.89

* Update package-lock

* Update release script

To workaround breaking change in npm patch 🎉

* Update changelog

* update dependency pinia to v2.0.0-rc.4 (#7297)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency rollup to v2.56.2 (#7303)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fix HTTP method for collections.createMany in SDK (#7304)

* Fix HTTP method for collections.createMany in SDK

* Post collections in data body

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

* Add perm check for sqlite, upload, extensions dirs (#7310)

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

* update dependency eslint-plugin-vue to v7.16.0 (#7300)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fix uuid resolving in SQLite (#7312)

Fixes #7306

* Clear the file payload after file upload (#7315)

Fixes #7305

* Improve type checking

* Mention TELEMETRY environment variable in docs (#7317)

* Mention TELEMETRY environment variable in docs

* Add clarification

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

* Import access from fs-extra instead of fs/promises

* Resolve sorting in list-o2m-tree-view on dnd

* Fix graphql GET request cache query extraction (#7319)

Fixes #7298

* Check for related collection before creation relation (#7323)

Fixes #7302

* Fix colors on different types (#7322)

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

* group is working on aggregate resolver

* Check for non-existing parent pk records (#7331)

Fixes #7330

* Schema field types are not translated in the app (#7327)

* Fix field type label translations

* Use translate-object-values util

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

* Update release script

* Add import ref for TS

* Tweak, hopefully fix release flow

* getAggregateQuery

* clean up payload
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* Treat alias-only fields properly

* Add missing translations (#7358)

* v9.0.0-rc.90

* Update changelog.md

* update dependency nanoid to v3.1.24 (#7365)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency supertest to v6.1.5 (#7360)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update vue monorepo to v3.2.2 (#7355)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* filters working avg{id} format with number fields

* Fix english string after #7358 (#7371)

Fixed wrong string in en-US after #7358 PR

* group field working

* update dependency nanoid to v3.1.25 (#7375)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency directory-tree to v2.3.0 (#7376)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Export Collection button now shows collection name not table name (#7379)

* export collection button to uses name not db name

* removed unused var

* fixed for review

* computed collectionName

* Add support for Geometry type, add Map Layout & Interface (#5684)

* Added map layout

* Cleanup and bug fixes

* Removed package-lock

* Cleanup and fixes

* Small fix

* Added back package-lock

* Saved camera, autofitting option, bug fixes

* Refactor and ui improvements

* Improvements

* Added seled mode

* Removed unused dependency

* Changed selection behaviour, cleanup.

* update import and dependencies

* make custom style into drawer

* remove unused imports

* use lodash functions

* add popups

* allow header to become small

* reorganize settings

* add styling to popup

* change default template

* add projection option

* add basic map interface

* finish simple map

* add mapbox style

* support more mapbox layouts

* add api key option

* add mapbox backgrounds to layout

* warn when no api key is set

* fix for latest version

* Improved map layout and interface, bug fixes, refactoring.

.

.

* Added postgis geometry format, added marker icon shadow

* Made map buttons bigger and their icons thinner. Added transition to header bar.

* Bug fixes and error handling in map interface.

* Moved box-select control out of the map component. Removed material icons sprite and use addImage for marker support.

* Handle MultiGeometry -> Geometry interface error.

* Removed hardcoded styles. Added migrations for basemap column. Lots of refactoring.

Removed hardcoded styles. Added migrations for basemap column. Lots of refactoring.

* Fixed style reloading error. Added translations.

* Moved worker code to lib.

* Removed worker code. Prevent Mapbox from removing access_token from the URL.

* Refactoring.

* Change basemap selection to in-map dropdown for layout and interface.

* Touchscreen selection support and small fixes.

* Small change.

* Fixed unused imports.

* Added support for PostgreSQL identity column

* Renamed migration. Added crs translation.

* Only show fields using the map interface in the map layout.

* Removed logging.

* Reverted Dockerfile change.

* Improved crs support.

* Fixed translations.

* Check for schema identity before updating it.

* Fixed popup not updating on feature hover.

* Added feature hover styling. Fixed layer customization input. Added out of bounds error handling.

* Added geometry type and support for database native geometries.

* Fixed linting.

* Fixed layout.

* Fixed layout.

* Actually fixed linting

* Full support for native geometries
Fixed basemap input
Improved feature popup on hover
Locked interfaced support

* Fixed geometryType option not updating

* Bug fixes in interface

* Fixed crash when empty basemap settings. Fixed fitBounds option not updating.

* Added back storage type option. Improved interface behaviour.

* Dropped wkb because of vendor inconsistency with binary data

* Updated layout to match new geometry type. Fixed geojson payload transform.

* Added missing geometry_format attributes to local types.

* Fixed typos & refactoring

* Removed dependency on proj4

* Fix error when empty map interface options

* Set geometry SRID to 4326 when inserting into the database

* Add support for selectMode

* Fix error on initial source load

* Added geocoder, use GeoJSON for api i/o, removed geometry_format option, refactoring

* Added geometry intersects filter. Created geometry helper class.

* Fix error when null geometryOptions, added mapbox_key setting.

* Moved all geometry parsing/serializing into processGeometries in `payload.ts`. Fixed type errors.

* Migrate to Vue 3

* Use wellknown instead of wkx

* Fixed basemap selection.

* Added available operator for geometry type

* Added nintersects filter, fixed map interface for filter input

* Added intersects_bbox filter & bug fixes.

* Fixed icons rendering

* Fixed cursor icon in select mode

* Added geometry aggregate function

* Fixed geometry processing bug when imported from relational field.

* Fixed error with geocoder instanciation

* Removed @types/maplibre-gl dependency

* Removed fitViewToData options

* Merge remote-tracking branch 'upstream/main' into map-layout

* Fixed style and geometryType in map interface options

* Fixed style change on map interface.

* Improved fitViewToData behaviour

* Fixed type imports and previous merge conflict

* Fixed linting

* Added available operators

* Fix and merge migrations

* Remove outdated p-queue dep

* Fix get-schema column extract

* Replace pg with postgis for local debugging

* Re-add missing import

* Add mapbox as a basemap when key exists

* Remove unused tz flag

* Process delta in payloadservice

* Set default map, add limit number styling

* Default display template to just PK

* Tweak styling of error dialog

* Fix method usage in helpers

* Move sdo_geo to oracle section

* Remove extensions from ts config exclude

* Move geo types to shared, remove _Geometry

* Remove unused type

* Tiny Tweaks

* Remove fit to bounds option in favor of on

* Validate incoming intersects query

* Deepmap filter values

* Add GraphQL support

* No defaultValue for geometryType

* Resolve c

* Fix translations

Co-authored-by: Nitwel <nitwel@arcor.de>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* New Crowdin updates (#7359)

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Ukrainian)

* New translations en-US.yaml (Norwegian)

* New translations en-US.yaml (Polish)

* New translations en-US.yaml (Portuguese)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Serbian (Cyrillic))

* New translations en-US.yaml (Swedish)

* New translations en-US.yaml (Turkish)

* New translations en-US.yaml (Chinese Traditional)

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

* New translations en-US.yaml (Indonesian)

* New translations en-US.yaml (Spanish, Chile)

* New translations en-US.yaml (Thai)

* New translations en-US.yaml (Hindi)

* New translations en-US.yaml (Malay)

* New translations en-US.yaml (Serbian (Latin))

* New translations en-US.yaml (Dutch)

* New translations en-US.yaml (Italian)

* New translations en-US.yaml (Afrikaans)

* New translations en-US.yaml (Lithuanian)

* New translations en-US.yaml (Spanish, Latin America)

* New translations en-US.yaml (Slovenian)

* New translations en-US.yaml (Vietnamese)

* New translations en-US.yaml (Chinese Simplified)

* New translations en-US.yaml (Bulgarian)

* New translations en-US.yaml (Romanian)

* New translations en-US.yaml (French)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Georgian)

* New translations en-US.yaml (Catalan)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Danish)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Greek)

* New translations en-US.yaml (Finnish)

* New translations en-US.yaml (Hebrew)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Japanese)

* Update source file en-US.yaml

* New translations en-US.yaml (Italian)

* New translations en-US.yaml (Slovenian)

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Sinhala)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Bulgarian)

* Update source file en-US.yaml

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Norwegian)

* New translations en-US.yaml (Polish)

* New translations en-US.yaml (Portuguese)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Swedish)

* New translations en-US.yaml (Turkish)

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

* New translations en-US.yaml (Spanish, Chile)

* New translations en-US.yaml (Thai)

* New translations en-US.yaml (Serbian (Latin))

* New translations en-US.yaml (Dutch)

* New translations en-US.yaml (Lithuanian)

* New translations en-US.yaml (Spanish, Latin America)

* New translations en-US.yaml (Vietnamese)

* New translations en-US.yaml (Chinese Simplified)

* New translations en-US.yaml (Bulgarian)

* New translations en-US.yaml (French)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Finnish)

* New translations en-US.yaml (Hungarian)

* update dependency directory-tree to v2.3.1 (#7380)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* pin dependencies (#7384)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* update dependency macos-release to v3 (#7381)

* update dependency macos-release to v3

* Update package-lock

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>

* New Crowdin updates (#7386)

* Update source file en-US.yaml

* New translations en-US.yaml (Estonian)

* New translations en-US.yaml (Polish)

* New translations en-US.yaml (Portuguese)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Swedish)

* New translations en-US.yaml (Turkish)

* New translations en-US.yaml (Chinese Traditional)

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

* New translations en-US.yaml (Indonesian)

* New translations en-US.yaml (Spanish, Chile)

* New translations en-US.yaml (Thai)

* New translations en-US.yaml (Serbian (Latin))

* New translations en-US.yaml (Dutch)

* New translations en-US.yaml (Italian)

* New translations en-US.yaml (Lithuanian)

* New translations en-US.yaml (Spanish, Latin America)

* New translations en-US.yaml (Slovenian)

* New translations en-US.yaml (Vietnamese)

* New translations en-US.yaml (Chinese Simplified)

* New translations en-US.yaml (Bulgarian)

* New translations en-US.yaml (French)

* New translations en-US.yaml (Spanish)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Finnish)

* New translations en-US.yaml (Hungarian)

* Revert "update dependency macos-release to v3 (#7381)" (#7389)

This reverts commit ca111a80cb.

* update dependency npm to v7.20.6 (#7387)

Co-authored-by: Renovate Bot <bot@renovateapp.com>

* Fix flat lock number

* Small tweaks, fix type bug

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: Pascal Jufer <paescuj@users.noreply.github.com>
Co-authored-by: Adrian Dimitrov <dimitrov.adrian@gmail.com>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: Nitwel <nitwel@arcor.de>

* Fix merge quirk

* Add support for aliasing fields (#7419)

* Don't double split csv values

* Still join them on create tho

* Add support for `alias` query param

* Support aliases in wildcards

* Alias Support Within GraphQL (#7410)

* graphQL support for aliases

* moved aliases to its own function parseAliases

* Tweak types

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

* Fix field resolution on alias usage

Fixes #5551

* Add `*_func` resolvers for date/time/datetime/timestamp fields

* graphQL Enum for groupby (#7445)

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

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

* Docs for Aggregation + Group By + Aliases (#7436)

* aggregation docs for graphql

* aliases

* added REST examples

* rest queries

* logo max size

* Recreate package-lock

* Update types/structure

* Fix childNode fetching

* Fix grouping

* Fix time-series

* Fix metric panel

* Add date func support in filter input graphql

* List panel (#8129)

* Merge branch 'main' of https://github.com/directus/directus into list-panel

* list showing mostly styled.

* Add missing options, cleanup

* Add editing to list panel type

* Tweak sizing

Co-authored-by: jaycammarano <jay.cammarano@gmail.com>

* Add no-data notice to list panel

* Camelcasify show_header

* Add cmd+s shortcut

* Tweak sizing, fix translation key

* Update docs

* Add multi-group support to GraphQL

* Align syntax of interfaces & panels

* Tweak min-size of label panel

* Fix linter warnings/errors

* Fix totally unrelated issue

But I'm here now anyways, so might as well

Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Geert Ijewski <51948919+geertijewski@users.noreply.github.com>
Co-authored-by: Thijs-Jan <13321277+MoltenCoffee@users.noreply.github.com>
Co-authored-by: Nacho García <hello@nachogarcia.dev>
Co-authored-by: Aiden Foxx <aiden.foxx.mail@gmail.com>
Co-authored-by: Aiden Foxx <aiden.foxx@sbab.se>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: Zorin Sergey <36981278+Enhed@users.noreply.github.com>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: Tommaso Bartolucci <tommasobartolucci11@gmail.com>
Co-authored-by: Jay Cammarano <67079013+jaycammarano@users.noreply.github.com>
Co-authored-by: Pascal Jufer <paescuj@users.noreply.github.com>
Co-authored-by: Adrian Dimitrov <dimitrov.adrian@gmail.com>
Co-authored-by: Nitwel <nitwel@arcor.de>
Co-authored-by: jaycammarano <jay.cammarano@gmail.com>
2021-09-20 20:24:10 -04:00