36 Commits

Author SHA1 Message Date
Pascal Jufer
e987c1990e 10.6.4 (#20102) 2023-10-20 18:55:45 +00:00
Brainslug
6935bd2ba2 Fixed SDK docblock for docs build (#20075) 2023-10-19 11:19:45 +00:00
Brainslug
0c861324e2 Add asset getter methods to SDK (#20041)
* Added raw assets stream functions

* Added correct assets query options

* Added assets docs

* ran prettier

* ran prettier again

* Add changeset

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2023-10-16 10:26:29 -04:00
Azri Kahar
0494c20f5c Amend deleteFolder function's JSDocs description (#20011) 2023-10-12 13:01:42 +00:00
Brainslug
250b7bbdb3 SDK Fix aggregation on multiple fields (#19965) 2023-10-10 23:55:36 +02:00
Brainslug
7048f07106 SDK Improve global type compatibility (#19898) 2023-10-06 17:18:18 +02:00
Brainslug
4b26bfad1d SDK Embed WebSocket constants (#19883)
* Embedded WebSocket constants

* Create funny-fishes-serve.md

* Using a const object instead

* hi prettier
2023-10-03 12:00:42 -04:00
Brainslug
a3787aaced SDK Update Collection Type (#19881)
* Updated SDK collection type and docs

* fixed sort meta type on collections

* Create big-peas-jump.md
2023-10-02 09:30:24 -04:00
Pascal Jufer
e1dd6fa037 Update TS related dependencies and configurations (#19866) 2023-09-29 14:45:47 +02:00
Brainslug
a90235e890 SDK Support for literal field types (#19792)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-09-28 00:02:10 +02:00
Brainslug
76925fb911 Support replacing files in the SDK (#19830)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-09-27 17:51:24 +02:00
Rijk van Zanten
926f19d3fa 10.6.3 2023-09-25 15:43:10 -04:00
Brainslug
10ce827788 SDK authentication mode (#19766)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-09-25 13:26:09 +02:00
Brainslug
b33fbe2002 SDK Fixes websocket subscription output typing (#19791)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-09-25 13:24:06 +02:00
Brainslug
f4fdc28146 SDK Fixes serverPing output type (#19789) 2023-09-25 12:53:56 +02:00
Brainslug
501a4686f1 SDK Extra JSON Mime-Type (#19786) 2023-09-25 12:16:51 +02:00
Brainslug
02d7bcc607 Sdk credentials (#19749)
* removed defaulted fetch credentials option in authentication

* removed defaulted fetch credentials option in graphql

* removed defaulted fetch credentials option in rest

* Create twelve-boxes-teach.md
2023-09-20 11:51:36 -04:00
rijkvanzanten
e908db17b4 v10.6.2 2023-09-19 13:28:29 -04:00
Brainslug
8d3bf6cd5d SDK Removed invalid login provider option (#19722)
* Removed provider option

* Create lazy-zebras-dress.md

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-09-18 16:28:04 -04:00
Brainslug
366b8678f1 SDK Improved input checks (#19702)
* added extra guards for a couple commands

* Abstracted guard checking to util

* Updated the delete commands

* Updated the read commands

* Updated the update commands

* Create slow-buckets-draw.md

* my friend prettier
2023-09-16 11:51:13 -04: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
Brainslug
17a0317f8b SDK Fix realtime infinite auth loop (#19586)
* fixed event handler leaking

* fix infinite authentication loop

* ran prettier

* Create tiny-penguins-roll.md

* Added extra checks

* add timeout to awaiting messages

* re-tested subscribe subscription error paths

* ran rpettier
2023-09-05 10:10:25 -04:00
Brainslug
6c95cfb6f4 Authentication fixes for the SDK (#19354)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-09-04 17:39:19 +02:00
Brainslug
e34e49fc65 Improving SDK error/response handling (#19539)
* improving error/response handling

* updated request function to expose the response on error

* updated the composables where needed

* Create few-rules-talk.md

* ran prettier

* undid unintended type change

* added missing awaits for onResponse

* Update few-rules-talk.md

* Mark it as major change

* unpack directus errors instead of nesting

* ran prettier

* Update .changeset/few-rules-talk.md

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

---------

Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-09-04 13:58:11 +02:00
rijkvanzanten
3ec4009bb8 v10.6.0 2023-08-25 11:42:24 -04:00
Daniel Biegler
284156426f Replace vm2 with isolated-vm (#19332)
* add isolated-vm@4.6.0

* add mvp replacing vm2 with isolated-vm, two env vars

* make copying async and add tests

* add env vars to docs

* remove isolate-logging function

* update docs for FLOWS_EXEC_ALLOWED_MODULES removal

* further removal of allowed module usage

* rename env vars and their usage, remove script "compiling" and replace Reference with ExternalCopy

* remove logging and catching, let the outer executeOperation function do it

* remove vm2 from dependencies

* remove unused var

* run prettier formatting

* run eslint

* create changeset

* rename env var without unit suffix, add minimum to doc

* add two tests for config testing

* fix 'mb' spelling

* update changeset

* Mark it as major change for `@directus/api`

* Breaking change copy

* add logging from the operation

* run linting

* Update docs/releases/breaking-changes.md

* Update docs/releases/breaking-changes.md

* run linting, make operation cursive

* Mention HTTP requests in breaking changes

* make linter happy

* changed cursive to bold (asked kevin)

* add to the test for timeouts

* run linter

* Update api/src/operations/exec/index.ts

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

* Update api/src/operations/exec/index.ts

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

* Update note on run script modules

* Update breaking changes

* Update docs/app/flows/operations.md

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

---------

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
Co-authored-by: Kevin Lewis <kvn@lws.io>
Co-authored-by: ian <licitdev@gmail.com>
2023-08-25 14:11:17 +00:00
Brainslug
817663651b Fixed jsdoc typo in sdk (#19500)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-08-23 11:37:51 +02:00
Brainslug
e4f92c7b6c SDK Fixed relational object merging (#19482)
* Fix relational object merging

* Create thick-ducks-learn.md
2023-08-21 09:46:36 -04:00
Brainslug
1625953af6 SDK Fixed limit=-1 support (#19481)
* fixed limit=-1 support

* Create serious-tigers-clap.md

* Update .changeset/serious-tigers-clap.md

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

---------

Co-authored-by: Daniel Biegler <DanielBiegler@users.noreply.github.com>
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-08-21 11:07:12 +00:00
rijkvanzanten
68ca1d309e v10.5.3 2023-08-10 15:11:51 -04:00
Brainslug
91c4863f22 Improving SDK types (#19286)
Co-authored-by: Pascal Jufer <pascal-jufer@bluewin.ch>
2023-07-31 17:52:08 +02:00
rijkvanzanten
e701313191 v10.5.2 2023-07-28 13:07:10 -04:00
Brainslug
13525107d2 Request output parsing improvement for the SDK (#19283)
* improve request output formatting

* stop relying on null for output formatting

* Create warm-owls-sleep.md
2023-07-28 09:41:06 -04:00
Brainslug
5c3e7a7a9d Initial SDK release fixes (#19270)
* moved @directus/types to dependencies

* fixed nested partial usecases

* remove json fallback in request helper

* fixed multipart boundary error

* Remove unnecessary tsup option

* Added missing login options

* ran prettier

* Create itchy-impalas-dream.md
2023-07-27 13:27:38 -04:00
rijkvanzanten
373cc9f4fa v10.5.0 2023-07-25 17:36:33 -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