42 Commits

Author SHA1 Message Date
Pascal Jufer
7f8fa35322 Happy Spellchecker (#21668) 2024-03-04 05:52:07 +01: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
Kevin Lewis
4073324d3b Marketplace Documentation (#21458)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-03-02 14:50:29 +00:00
Esther Agbaje
ce0a9b34a4 Update NPM Quickstart with a note on Dependencies (#21195)
* update npm quickstart with dependency note

* make dictionary happy

* update notes

* Add changeset

* quick updates

* fix spelling

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-26 10:11:03 +01:00
Pascal Jufer
a6e2712e09 Use official abbreviation of Exif (#21030) 2024-01-10 14:42:40 +01:00
ian
4a3a65cfde Add support for IP ranges and CIDR notations (#20971)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2024-01-09 00:44:09 +01:00
Esther Agbaje
d5b9ba9244 Add Documentation for Extension SDK Composables (#20684)
* add useApi

* update sidebar

* update docs

* update composabeles

* more updates

* updates to docs

* update dictionary

* Update docs/.vitepress/data/sidebar.ts

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/sdk-composables.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/sdk-composables.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/sdk-composables.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/sdk-composables.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/sdk-composables.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/sdk-composables.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/sdk-composables.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* updated headings

* update useApi and useStores

* update useCollection

* updates

* fix docs

* Update docs/dictionary.txt

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

* Update docs/.vitepress/data/sidebar.ts

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

* remove links with line numbers

* rearrange extension sidebar

* update composable file name

---------

Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-21 13:51:04 +01:00
Kevin Lewis
59d79787c7 Add docs guides for building modules (#20630)
* Add Create a Custom Portal Module

* Add Use Native Layout Features In Your Modules

* Added changeset

* Pascal's edits

* Update guide imports on extension type pages

* Changed livePreviewMode to a bool

* Please for formatter

* Rename file

* Replace all remaining imports while we're at it

* Finishing touch

* Update docs/guides/extensions/modules-native-layout-features.md

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

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-12-19 09:14:32 +00:00
Kevin Lewis
e67ed8acf7 Add docs for themes extension type (#20561)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-11-28 19:58:51 +00:00
Esther Agbaje
2e88169b69 Document Services for Extensions (#20376)
* docs: add services to config

* docs: intro to services

* document ItemsService

* update introducgtion

* update introduction

* fix typo

* update accessing database

* document collectionsService

* add page to config

* update docs

* update authoring docs

* set up boilerplate for userservice, filesservice

* update files service

* update working with users

* link and text updates

* update dictionary

* update link

* update eslint ignore

* update eslint ignore

* Update docs/.vitepress/config.js

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/.vitepress/config.js

update config

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/.vitepress/config.js

update config

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/services/introduction.md

update intro text

Co-authored-by: Kevin Lewis <kvn@lws.io>

* update intro to services

* Update docs/extensions/services/introduction.md

update text

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/services/introduction.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/services/introduction.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/services/introduction.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/services/introduction.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/services/introduction.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/extensions/services/introduction.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* updates to introduction

* update text

* update config

* fix text

* updates to items service

* updates to link

* more updates

* update files service and items service

* update user service

* more updates

* clean up items service

* clean up intro

* clean up all services

* more updates

* update dictiionary

* Moved initialization to root of extensions intead of in route handlers

* Fixed typo

* Added explicit introduction page

* Added changeset

---------

Co-authored-by: Kevin Lewis <kvn@lws.io>
2023-11-24 10:42:03 +01:00
Rijk van Zanten
8d8b649a1f Theming various (#20426)
* Update the minimal theme

* Remove unused files

* Remove unused default dark theme

* Fix type error

* Fix the order of themes in the picker interface

* Fix account/sign-out not using module foreground color

* Fix module bar interface styling

* Update system match label

* Use half width for default appearance

* Fix preview changed based on appearance

* Add includeNull option to theme selector interface

* Add minimal theme extension docs

* Attempt to make typedoc play nice

* Remove module bar color override

* Add snippet on overrides interface

* Deprecate "normal" style v-notice

* System filter interface background

* Add menu scope

* Use colors consistent with interface previews

* Remove card-face-color usage

* Use consistent hover style in collections & fields

* Deprecate card-face-color

* Remove old --card vars

* Fix revisions divider styling

* Remove duplicate background from overview header

* Fix permissions overview corner overlap

* Make form input height configurable

* Allow overriding public form input height

* Rename text string

* updated data model icon

* Standardize form settings between scopes

* Allow overriding sidebar forms

* Add configurable form gap

* Add configurable input-padding

* Fix list-item padding

* Fix padding in block style

* Add links to defaults

* Apply color match updates

* Default to database icon

* Fix schaling of theme selector interface

* Fix font loading

* Fetch font weights from Google as well

* Use display weight in titles

* Fix color match display font

* Clean up font weights for labels

* Update test to remove normal state

* Remove typo

* Add lowercase dev

* Add changeset

* Remove font-weight

---------

Co-authored-by: Ben Haynes <ben@rngr.org>
2023-11-16 15:36:54 -05:00
daedalus
6324cd4e3f docs: add changeset generate command and version bump type explanations (#20244)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-10-29 23:28:12 +00:00
Rijk van Zanten
cde4dc6c78 Run Directus in PM2 Cluster mode in Docker Image (#18998)
* Send ready state to pm2

* Run with pm2

* Add ecosystem config

* Fix cjs naming

* Add start command

* Increase kill timeout retry

* Set PM2 config through environment variables

* Add changeset

* Add config options for pm2

* Add additional config options

* Add more wordssssssssss

* Update Dockerfile

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

* Update ecosystem.config.cjs

Co-authored-by: Wryn (yage) Wagner <yage@yage.io>

* Default to undefined instead of empty string

* Update docs to match safer defaults

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Wryn (yage) Wagner <yage@yage.io>
2023-10-25 15:34:26 -04:00
Azri Kahar
78f25b66a2 Update docs for Theming (#20154)
* update docs for theming

* tweak sidebar ordering based on Data Studio

* fix formatting for theming.md

* Add favicon to dict

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-10-24 11:43:08 -04:00
Kevin Lewis
67306613b3 Secure Extensions Documentation (#19998)
* Scaffed page

* Execution Type section

* Moved secure page to account for potential future subpages

* Request

* CRUD

* Added execution types page

* Please the CI Gods

* Format file

* Update docs

* Add doc highlighting registration differences

* Add missing words to dict

* Add wildcard docs

* Capitalization kills

* Format file

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-10-23 09:34:59 -04:00
Pascal Jufer
62614da4b8 Add Corepack to docs dictionary (#19978) 2023-10-10 13:22:00 +02:00
Esther Agbaje
20b977b7a8 Improve Extension Documentation (#19727)
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-09-28 20:40:49 +02:00
Kevin Lewis
0f26c7b39b Add new panel-building guides in docs (#19793)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-09-28 13:49:27 +02:00
Kevin Lewis
b5b3d369f9 SDK Authentication Guide (#19759)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <tim@brainslug.nl>
Co-authored-by: Esther Agbaje <53586167+estheragbaje@users.noreply.github.com>
2023-09-26 12:35:23 +00:00
Brainslug
975f75a9ad SDK Make globals configurable (#19606)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2023-09-08 15:22:42 +02:00
Kevin Lewis
da84c67f41 Extensions Endpoints Guides Security Improvements (#19547)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <br41nslug@users.noreply.github.com>
2023-09-04 10:05:45 +00:00
Kevin Lewis
54763aa740 Added less-technical language in Docker Quickstart (#19487)
* Added less-technical language in instructions

* Prettier, Spellcheck

* Navigate to correct dir
2023-08-22 20:11:41 +02:00
Kevin Lewis
f92b4b6db7 Building Extensions Guides (#18952)
Co-authored-by: Nitwel <mail@nitwel.de>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
2023-08-22 14:51:42 +02:00
Kevin Lewis
cf4da0d749 Add Breaking Changes page to self-hosted docs (#19425)
* Add Breaking Changes page to self-hosted docs

* Spelling, formatting
2023-08-14 09:30:15 -04:00
Brainslug
d71b0e94ee SDK Revamp (#18987)
* Setup build chain

* Initial structure

* Typing, exports, fix build

* Reorganize

* prutsen met output types

* Thursday fun times

* failed experiments in feature composition

* got feature flags on the client

* using interfaces instead of literals

* messed with decorators

* split up decorators

* added fetch and ws types

* reintroduced the global.d.ts we'll figure that out later

* reworked composables

* some changes

* experimenting with commands

* got the read item command working again with types

* trying authentication

* basic gql implementation

* Super basic websocket implementation

* renamed websocket composable and removed obsolete code

* Typing relational fields

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

* fixed recursive type

* SDK revamp revamp (#18916)

* Split up files

* Simplify some more (too much?)

* Oh boy we figured out object extending

* OK JK now we're there

* OK getting somewhere real now

* Start structuring type helpers

* Types werken zowaar!

* Remove unneeded "T"'s for readability

* Added support for array relational types

* split up query nesting logic

* make relational fields optional to support multiple relations

* improved readability

* updated REST

* Move URL to top level

* Remove T

* recursively join fields in params

* cleaning up

* updated graphql implementation

* removing old unused code

---------

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

* Reduce global reuse of rest

* Start messing with output types

* Return it from the rest command

* first level schema output filtering

* It works!! but will need some docs for context

* Added some comments

* removed export keyword from types that do not need to be exported

* cleaned up debug script

* graphql update

* Added dom for WebSocket and Fetch typings

* initial readme setup

* moved some types

* removed accidental commit

* Refactor `useDirectus` and improve token handling (#18966)

* Add comment and reduce code of useDirectus

* Add fabian-hiller to contributors.yml

* Change token handling of useDirectus client

---------

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

* Change ClientConfig type back to interface (#18968)

* initial realtime feature

* started on some ws commands and implemented message receiving callback

* disabled rest config for now

* setup auth extension boilerplate

* Added some websocket examples to the readme

* docs: add getting started guide

* docs: add link to previous sdk

* docs: updates

* implemented readItem

* updated readItems

* Added delete commands

* docs: updates to snippets and phrasing

* updated lockfile

* Update dictionary

* docs: removed repeated typescript snippet

* Enrich package.json for SDK

* docs: update snippet

* Fix casing of readme

* added create items commands

* fixed read items output

* removed obsolete types

* added update commands

* updated tsup

* removed unused dependencies

* implemented basic memory storage fallback

* implemented the login function for auth

* implemented refresh and logout auth functions

* docs: update guide

* updated auth refresh logic

* oops, have to actually store the expires at value

* fixed authentication timeout

* added autoRefresh config option

* updated readme

* updated getting started

* docs: updates to guide

* added beta version nr

* removed debug scripts

* added docblocks to the composables

* Added some docblocks

* Added BETA warning to readme

* Added extra type extends object checks

* added a bunch of index files

* updated tsup build entrypoints and exports

* updated import paths

* updated code examples

* docs: removed unnecessary phrases

* Unignore SDK changesets

* Revert "docs: removed unnecessary phrases"

This reverts commit 3559ade873.

* docs: removed unnecessary phrases

* Make sure we export all available functions

* Tweak exports

* Add TypeDoc for new (and old) SDK

* Update docs/guides/sdk/getting-started.md

* Re-add beta version flag in package.json

* Format readme

* Tweaks

* Spellchecker

* v10.4.0

* Add link to TypeDoc of new SDK

* updated query types

* trying to expand the query types

* extending the Query options

* add all exports to the root

* fixed incorrect field mapping

* Abstracted more  of the request logic for more flexibility

* partial error handling, global fetch settings and fetch response options

* reworked the requests for better options control and started on better error handling

* type fix

* Run formatter & linter

* Spell fixes

* added onRequest handler

* updated global request hooks

* expanded ItemType to accept singletons

* updated output types for singletons

* fixed fields type generation

* removed rest globaloptions in favor of onRequest

* started singleton command

* different commands for singletons

* ran prettier

* updated readme

* stateless helpers for tomorrow

* support m2a in field types

* added m2a fields parsing and attempt at output typing

* made the base client stateless

* making sure things are exported as needed

* added minimal core table schema for files and users

* added update singleton command

* Added core user read commands

* merged related commands into the same file

* Added create users commands

* Added user update commands

* added user delete commands

* updated query handling

* ran prettier and bumped version

* ran prettier

* disabled global error handling for now

* fixed output formatting for delete commands

* fixed onResponse handling

* fixed item types for create and update

* added missing partial item for create

* ran prettier

* updated readme

* added missing export

* Publish beta version

* Added a bunch of core collection types

* updated users commands

* added more complex core types

* double checked nullable core fields

* fixed core collection merging with custom properties

* added authentication commands

* ran prettier and fixed line endings

* Added all core read commands

* Added all core create commands

* Added all core delete commands

* Added all core update commands

* ran prettier

* renamed `useDirectus` to `createDirectus` and `.use` to `.with` to prevent naming confusion with reacthooks or express middleware.

* ran prettier

* added more misc core commands

* added schema endpoints

* added server api commands

* ran prettier

* added most utility endpoints

* finished utility endpoints

* checking the command typing and jsdoc

* fixed those pesky relational output types

* ran prettier

* removed obsolete type

* initial aggregation typing

* improved aggregation and grouping typing

* ran prettier

* checked exports

* Beta 4

* fixed the m2a fields regression

* added basic client test

* do query parsing at the latest stage

* extra type comments

* reverted accidental commit and ran prettier

* Adjust tsconfig to updated @directus/tsconfig package

* updated websocket event handling

* fixed capitalization

* removed obsolete queryToParams usage

* implemented websocket reconnecting and some non-happy path fixes

* persist subscription across reconnecting

* updated readme

* ran prettier

* 11.0.0-beta.5

* using plurar for uploadFiles ad removed "D" from updateFiles

* fix incorrect paths

* created new util types file

* extracted output types

* fixed input typing issue (for items)

* extracted functions to its own file

* fixed path for presets

* ran prettier

* Applied typing fix to all commands

* fixed naming error `updatedItems` -> `updateItems`

* fixed type error

* Failing types gracefully if no schema is provided

* beta.6

* Clean-up tsup config

- Use documented way to define config
- Doesn't need to be ts file: not type checked, intellisense available
  in vscode anyway
- remove default & deprecated options

* added other user commands

* added other share commands

* satisfy prettier

* added string array types to webhook core schema

* fixed plain string request output

* keep nullability for relational fields

* Update documentation guides to use new SDK (#19131)

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Brainslug <tim@brainslug.nl>

* Fix error messages for core collections

* updated dictionary

* updated partial item input for fields

* Ready, set, go!

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Fabian Hiller <35291865+fabian-hiller@users.noreply.github.com>
Co-authored-by: Esther Agbaje <folasadeagbaje@gmail.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Esther Agbaje <53586167+estheragbaje@users.noreply.github.com>
Co-authored-by: Kevin Lewis <kvn@lws.io>
2023-07-25 14:46:06 -04:00
Matthew Rollinson
f9635ac287 Supabase - Storage driver (#19135)
* Initial commit to add supabase as a storage driver

* Working supabase implementation

* Slight cleanup

* Started working on tests for storage-driver-supabase

* Updates

* Initial commit to add supabase as a storage driver

* Working supabase implementation

* Slight cleanup

* Started working on tests for storage-driver-supabase

* Updates

* Nicer working tests

* More working tests

* Readable stream

* Working version with all passing tests and types

* Update contributors.yml

* added documentation

* Ran prettier to fix formatting issues

* Ran linter and added Supabase to dictionary

* Fix tsconfig reference

* Organize imports

* Start at v0

* Add changeset

* Lock versions

* storage-driver-supabse: Added fullpath for move and copy arguments

* storage-driver-supabase: Removed resumable uploads

* Update lockfile

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-07-25 11:01:24 -04:00
Esther Agbaje
d2494d24dd Docs landing page (#18911)
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-06-30 16:53:41 +02:00
Kevin Lewis
9a0cd33266 Revising Docker Guides (#18956)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-06-23 11:18:50 +00:00
rijkvanzanten
cbb66756ce Add missing word 2023-06-22 19:28:43 -04:00
rijkvanzanten
10215abdd0 Fix dictionary 2023-06-14 18:12:13 -04:00
Brainslug
cfddabd9ee Integrating Websockets in Directus 🕸️🧦 (#14737)
* added emitter context

* partial items tests

* updated items handler tests

* fixed test after merge

* forgot the event context

* fixed auth message parsing for graphql subscriptions

* fixed type strictness

* fixed graphql subscription bug

* bumped websocket dependencies

* touched up some dangling code

* updated itemsservice usage

* disabled overkill logs

* double checked environment type processing

* fixed missed capitalization

* fixed subscription payloads

* Added explicit string type casting

* removed obsolete "trimUpper" utility

* using the parseJSON utility consistently

* pinned dependencies

* parse environment variables

* fixed pnpm-lock

* GraphQL Subscriptions for all events

* fixed typo

* added event data to the graphql definition

* fix payload for delete events

* Added optional chaining for type to prevent fatal crashes on invalid messages

* fix failing on getting type from undefined

* Update api/src/websocket/exceptions.ts

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

* Add proper ZodError handling

* added the zod-validation-error parser

* allow disabling the rate limiter

* Update api/src/websocket/controllers/base.ts

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

* updated starting logs

* fixed email/password expiration logic

* added tests for getMessageType

* simplified message parsing and dropped capitalization

* updated authenticate test

* switched to lower cased message.type to prevent spreading "toUpperCase" around

* cleaned up debug logs

* cast enabled config to boolean

* Update api/src/websocket/controllers/rest.ts

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

* Update api/src/websocket/handlers/subscribe.ts

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

* Update api/src/websocket/handlers/subscribe.ts

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

* Update api/src/websocket/handlers/items.ts

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

* Update api/src/websocket/controllers/base.ts

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

* Update api/src/websocket/handlers/heartbeat.ts

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

* Suggested fixes by Azri

* removed redundant try-catch

* fixed authentication timeout
added returning the refresh token when authenticating

* updated pnpm lock after merge

* Fixed authentication modes for GraphQL according to best practices

* implement useFakeTimers in heartbeat unit test

* implement useFakeTimers in items unit test

* Update api/src/services/server.ts

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

* removed obsolete authentication.verbose toggle

* added email flag to message validation

* switched to ternary for consistency

* moved getSchema out of for loop

* added singleton logic to items handler

* close the socket after failed auth for non-public connections

* disabled system collections for rest subscriptions

* re-ran pnpm i

* allow for multiple subscripitions in the memory messenger

* - fixed system collection subscriptions
- abstracted hook message bus
- fixed graphql horizontal scaling

* remove logic from root context for tests

* fix reading created item

* fix linter

* typo and extra safe guard suggested by azri

* prevent setting long timeouts in favor of a shared interval

* prevent unsubscribing all existing subscriptions when omitting "uid"

* - extracted getService utility
- block system collections mutation in the items handler
- implemented the correct services for system collections

* allow numeric uid's to be used

* fixed the types for numeric uid's to be used

* added missing await's

* fixed type imports after merge

* removed unused imports

* Update api/src/websocket/controllers/hooks.ts

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

* Update api/src/websocket/controllers/hooks.ts

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

* Update api/src/messenger.ts

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

* improved error for graphql subscriptions

* fixed TS Modernization conflicts

* fixed TS Modernization conflicts

* fixed conflicts after merge

* removed unused name property

* abstracxted environment configuration

* respond to ping messages when heartbeat disabled

* something something merge

* moved toBoolean to it's own util file

* replaced old socket naming

* removed old exception

* fixed typo

* Update api/src/env.ts

Co-authored-by: ian <licitdev@gmail.com>

* Update api/src/websocket/handlers/heartbeat.test.ts

Co-authored-by: ian <licitdev@gmail.com>

* Update api/src/websocket/handlers/heartbeat.ts

Co-authored-by: ian <licitdev@gmail.com>

* Update api/src/services/server.ts

Co-authored-by: ian <licitdev@gmail.com>

* fixed for linter

* add server_info_websocket in graphql

* Add base REST websocket tests

* do merge things

* fixing things

* fixed failing unit test

* Update dependencies

* Move tests

* Update lockfile

* Use new paths when spawning

* return websockets to opt-in

* Enable websockets for tests

* Test with ephemeral access token

* no camelcasing gql subscriptions

* use underscore for gql event

* Remove unused import

* Add base GraphQL subscription tests

* Fix accidental comment

* Add some relational tests

* Organize imports

Using VS Code's default organize import

* Run ESlint formatting

* One more opinionated formatting change

* Formatting

* Fix message sequence not in order

* Remove relational batch update tests

* Test horizontal scaling

* using toboolean util for server_info

* removed unneeded type cast

* found the gql request type

* extra usage of the toBoolean util

* merge the authentication middleware and get-account-for-token util

* updated utility test

* fixed middleware unit test

* Add return

* Remove user filtering and close conns

* Fix reused accountability

* fixed failing util test

* added subscription unit tests

* added missing mock

* trigger workflow

* Revert "trigger workflow"

This reverts commit 4f544b0c1b.

* Trigger testing for all vendors

* add unsubscription confirmation

* Wait for unsubscription confirmation

* Fix incorrect sending of unsubscription confirmation

* updated ubsubscribe logic

* Update count for unsubscription message

* Fix sequence for UUID pktype in MSSQL

* Increase auth timeout

* Add start index when getting messages

* Fix subscription retrieval and cast uid to string

* Remove nested ternary

* Revert "Increase auth timeout"

This reverts commit 10707409c4.

* Terminate connection instead of close

* fixed merge

* re-added missing packages after merge resolve

* fixed type imports

* Create lazy-cows-happen.md

Added changeset

* Minor bump for "directus" package as well

* fixed "strict" auth mode for graphql subscriptions

* removed nested ternary

* Add websocket tests to sequential flow

* Disable pressure limiter for blackbox tests

* fix merge

* WebSockets Documentation (#18254)

* Small repsonsive styling fix on Card

* REST getting started guide

* Authentication guide

* REST subscription guides

* JS Chat guide

* Sidebar websocket guides section

* Added config options

* Respoinding to brainslug's review

* Fixed incorrect header on guides/rt/subs

* Fixed spellchecker

* Correct full code example on guides/rt/chat/js

* Fixed JS chat tut

* Order of steps in js chat guide updated for easier following-along

* Realtime chat Vue Guide

* feat: create react.js file

* feat: add set up for directus project

* docs: create react boilder plate

* docs: initialize connection

* docs: set up submission methods

* docs: establish websocket connection

* docs: subscribe to messages

* docs: create new messages

* docs: display new messages

* docs: display historical messages

* docs: next steps

* docs: full code sample

* docs: clean up

* docs: add name to contributors

* docs: add react card

* docs: updates to react chat

* Added live poll result guide

* docs: intro

* docs: before you begin

* docs: install packages

* docs: authenticate connection

* docs: query and mutation

* docs: utilize hooks

* docs: subscribe to changes

* docs: create helper functions

* docs: display messages

* docs: summary

* docs: full sample code

* chore: add card for webscockets with graphql

* docs: intro

* docs: subscribe to changes

* docs: handling changes

* docs: crud operations

* docs: unsubscribing from changes

* docs: updates

* chore: add card

* chore: updates to graphql docs

* chore: updates to getting started

* chore: updates to subscription

* chore: updates to real chat guide

* Added WebSockets Operations Guide

* Consistent titles

* Contributors component for docs

* Triggering Netlify

* Add operations to sidebar

* Fix operations link

* Small formatting changes

* Clarity around property values

* Removed unused values in Contributors component

* Prompt for default choice

* Tabs & lowercase doctypes

* Semicolons

* Event overwerites -> event listeners

* Spacing

* Flipped order of websockets guide to match GQL

---------

Co-authored-by: Esther Agbaje <folasadeagbaje@gmail.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>

* fixed typo

* removed unused import

* added tests for "to-boolean" and "exceptions"

* added websocket service tests

* quote environment variable to satisfy dictionary

* GraphQL Subscriptions update (#18804)

* updated graphql subscription structure

* updated graphql examples

* Create hungry-points-rescue.md

* using `key` instead of `ID` on the toplevel

* removed changeset

* fixed the graphql type after the rename to `key`

* retrun data null for delete events to prevent non-nullable gql error

* updated missed ID reference in the docs

* updated missed ID reference in the docs

* renamed "payload" to "data" in the REST Subscription response

* fixed missed reference to payload

* added optional event filter for REST subscriptions

* updated docs for event filter

* Update docs/guides/real-time/subscriptions/websockets.md

Co-authored-by: ian <licitdev@gmail.com>

---------

Co-authored-by: ian <licitdev@gmail.com>

* added messenger unit test

* always send subscription confirmation

* Add event to subscription options

* Update tests

* Add tests for event filtering

* Revert testing for all vendors

* Remove obsolete console comment

* Update comment

* Correct event in JS WS guide

* Fix collection name to match name used in subscription

* Fix collection name in other guides

* Fix diffs in doc & enhance chart example

* Complete sentence in GraphQL guide

* Small update to config description

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Nitwel <mail@nitwel.de>
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Esther Agbaje <folasadeagbaje@gmail.com>
2023-06-08 18:54:50 +00:00
Connor
f667fe7658 Contributor Docs Improvements Round 2 (#18667)
* add delete by query information and examples

* add that changelogs should be past tense

* add examples of unit and blackbox tests

* add information on where upload/extension folder should go locally

* add new packages and remove redundant column

* fix spelling

* Create hot-pillows-tan.md

* Fix tip box and links

* Update docs/contributing/codebase-overview.md

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

* Update docs/contributing/running-locally.md

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

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-05-30 12:30:58 -04:00
Kevin Lewis
c5b1c9890a Add required and recommended minimum specs for self-hosting (#18773)
* Add mninimum specs

* Add vCPU to dict

* Fix typo

---------

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-05-30 15:28:28 +00:00
Brainslug
f96dcc361f Translation string performance (#18097)
* broken migration

* fixed migration

* created new endpoints for translation strings

* updated to use core endpoint

* bad attempts at making the endpoints sensible

* merge changes

* implemented translation strings service

* re-integrating app logic part 1

* re-integrating app logic part 2

* fixed bad lodash import

* re-integrating app logic part 3

* removed obsolete tests

* make the linter happy

* Create tender-trees-buy.md

* added option to search-input

* implementing search

* fixed resizing and sidebar

* Fix linting

* Remove unused translations update into project settings

* Fix missing translations

* Require read permissions for app access

* Fetch translation strings only when authenticated

* Fix project default language not used when user has default language

* Remove commented line

* Rename variable as content has been changed

* Make the current user check more specific

* Remove translation_string from Settings type

* Remove settings reference in docs

* Update changeset

* Rename migration file to ensure date order

* Rename collection, route, service, controller

* Rename migration

* Adjust collection in settings route

* Fix translations service

* Use new `shouldClearCache` util

* Drop translation_strings column in migration

Co-authored-by: ian <licitdev@gmail.com>

* Added basic api docs

* updated dictionary

* updated dictionary

* Update app/src/interfaces/_system/system-input-translated-string/input-translated-string.vue

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

* Update app/src/modules/settings/routes/translation-strings/collection.vue

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

* extracted getCurrentLanguage utility

* Use regular collections/items

* Use regular controller

* Fix item view

* Set correct system field config for translations

* Tweaks

* Use UUID

* Finish placeholders

* Use drawer-item

* Add create to the store

* Remove composables

* Add new placeholder

* Fix saving behavior

* Remove previous take

* Rename migration after merge of live preview

* Generate uuid when migrating

* Remove unused showFilter

* Fix linting

* Fix type warnings

* Not needed as settings no longer contain translation_strings

* Remove leftover blank line

* Update getCurrentLanguage with server default and use in hydrate

* Shift getCurrentLanguage to lang folder to be alongside setLanguage

* add elipsis to placeholder

* Remove slug from key, so you can use dots etc in the key

* updated translation value to be type text again

* Rehydrate fields for updated translation values

* Add tooltip

* updated documentation

* enforce key/language uniqueness in the TranslationService

* updated error message

* updated docs menu item to "custom translations"

* Dynamically fetch translation keys for input-translated-string interface

* use get current language in refresh

* Update docs/reference/system/translations.md

* Update docs/reference/system/translations.md

* Update .changeset/tender-trees-buy.md

* Fetch translation keys when new key is created

* Update api/src/services/translations.ts

* Remove translation_strings remnant

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

* mark key, language and value as required

* correctly mark fields as required

* Catch duplicate key error when creating from input

* Translate translations :-)

* Update tender-trees-buy.md

---------

Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Nicola Krumschmidt <nicola.krumschmidt@freenet.de>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2023-05-26 12:35:44 -04:00
ian
342295927b Add initial testing docs (#18061)
* Add testing setup

* Update commands to reflect recent changes, full form of flags

* Update paths

* Fix links to running tests

* Fix one link more

* Make spellchecker happy

* Restructure, focus on blackbox tests

* Focus on basic info about tests

* Add info about relative commands

* Clean-up dictionary

* Create stupid-pumas-care.md

* Add short tests intro

* Add info about Subsequent blackbox test runs

Co-authored-by: ian <licitdev@gmail.com>

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Kevin Lewis <kvn@lws.io>
2023-05-17 13:32:47 +01:00
Kevin Lewis
74ae1c7a30 Added some cross links with main website (#18622)
* Added some cross links with main website

* Spellchecker
2023-05-16 14:40:20 +02:00
Connor
b67c4cd2e2 Contributor Docs Improvements Round 1 (#18545)
* Move Debug Docs from Wiki to Docs

* Add Copyright License Agreement to Docs

* Start Reformat0 of Codebase Overview

* Add Package Documentation to Codebase Overview

* Add Link to Blackbox Folder

* Add Changesets to Pull Request Process

* Add Component Library Tips

* Fix Spelling

* Fix dictionary

* Create thick-glasses-bake.md

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-05-12 09:29:00 -04:00
Rijk van Zanten
5cf2c0d724 Add feature request workflow to contributing guidelines (#18528)
* Point to docs hosted C&C

* Point to hosted contributing guidelines

* Remove outdated information

This is incorrect, so does more harm than good imo

* Update contributing guidelines to add feature requests flow

* Lil nicer to read

* Add missing words to dict

* Update docs/contributing/code-of-conduct.md

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

* Update docs/contributing/introduction.md

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

* Update docs/contributing/pull-request-process.md

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

* Update docs/contributing/feature-request-process.md

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

* Update docs/contributing/feature-request-process.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Update docs/contributing/pull-request-process.md

Co-authored-by: Kevin Lewis <kvn@lws.io>

* Fix license/version for new packages (#18536)

* Standardize TSConfig use (#18538)

* Use tsconfig.prod.json in packages

* Use prod tsconfig in api

* Install node types in storage

* Use vitest run instead of --watch=false (#18540)

* Remove local file

* Revert "Use vitest run instead of --watch=false (#18540)" (#18542)

This reverts commit 97f0af669e.

* Setup boilerplate for data (#18541)

* Setup boilerplate for data

* Update readme

* Fix directory link

* Final tweaks from Ben

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Kevin Lewis <kvn@lws.io>
2023-05-10 15:22:57 -04:00
ian
255955999e Add docs on usage of different project names for TFA (#18282)
* Add docs on different project names for TFA

* Run formatter

* Fix spellcheck
2023-05-02 10:01:39 +02:00
Rijk van Zanten
2bc226d16f Change license to BSL-1.1 (#18330)
* Change license to BSL1.1

* Mark major version

* Fix formatting

* Remove duplicate heading

* Update formatting

* Copy paste error

* Update license

* Update license

* Format covenants

* Update readme.md

* Update licenses for packages

* Update readme.md

* Update contributors.yml

OG... but to be clear, rijkvanzanten is the one who really built all of this ❤️

* Tweak license in openapi

* Update packages/specs/src/openapi.yaml

* Add MIT license headers

* Use v10 in examples

* Update additional examples

* Update generate-extensions-entrypoint.test.ts

* Update tests to use latest v9 and v10 versions

* use lowercase for naming consistency

* change casing for api license

* Update migrations doc

* Update dictionary

* Consistent ordering of license field in app/package.json

* Use major version in specs again (but as string)

So it's valid for all v10 versions

* Consolidate readme's

---------

Co-authored-by: Ben Haynes <ben@directus.io>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2023-04-26 14:10:42 -04:00
Bryant Gillespie
e3f688acb2 Security in Headless CMS Guide (#18073)
* migrate from docs repo

* sign cla agreement

* Remove .gitignore in docs in favor of root file

* content updates

* ignore vitepress cache

* add 2FA to dictionary

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-04-06 15:21:00 -04:00
Rijk van Zanten
c723085902 Move docs to monorepo (#18052)
* Move docs to monorepo

* Tweaks
2023-04-04 18:23:58 -04:00