Commit Graph

17 Commits

Author SHA1 Message Date
José Varela
23f6baa4db SDK: refactor constructors (#9080)
* refactor: more intuitive interfaces

* refactor: simpler refresh
before: on every request we were debouncing a refresh request
after: call refresh only once before now() + 'expires'

* refactor: prefix on base storage

* fixup! refactor: simpler refresh before: on every request we were debouncing a refresh request after: call refresh only once before now() + 'expires'

* refactor: simpler axios transport
before: handle auth headers
after: auth headers are handled on directus instance

* refactor: simpler usage of Directus constructor

* fixup! refactor: simpler refresh before: on every request we were debouncing a refresh request after: call refresh only once before now() + 'expires'

* refactor: fix tests based on previous changes

* refactor: better auth constructor
before: depends on SDK instance
after: depends on Transport and Storage instance

* accept staticToken from auth

* make transport and storage as optional on options

* fix type auth refresh

* simplify transport

* fix test for previous changes

* improve auth class

* revert some IAuth props because tests

* allow to force memory of localstorage on storage

* add tests for previous change

* document everything and simplify some things

* fix override headers on request

* better name typing

* fix private axios

* removed boolean from CLI auth.refresh()

* fix missing url in some examples

* soem grammar updates

Co-authored-by: Jay Cammarano <jay.cammarano@gmail.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-11-04 13:30:30 -04:00
renovate[bot]
b8d4a24958 Update dependency axios to v0.22.0 (#8483)
* Update dependency axios to v0.22.0

* Fix shared type

* Use any type in axios

* Adjust for axios type breaking change

Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
2021-10-01 12:41:18 -04:00
Jay Cammarano
a7b0cbe69b GitHub workflow to run tests on pushes to main and PRs (#8247)
* testing workflow

* name changed

* generateHash working

* changed pendingMock() to 0 because ticks > 5000

* removed empty tests

* removed empty tests

* Update packages/sdk/tests/utils.ts

Co-authored-by: José Varela <joselcvarela@gmail.com>

* updated workflow to add build

* added npm run build

* fixed get-filter-operators

* added env to workflow

* potential fix to index.test.ts

* added env variables for index.test.ts

* added caching and node-version matrix

* added all supported node versions

* only supported node versions

* updated to only support 16

* removed duplicate workflow caching

Co-authored-by: José Varela <joselcvarela@gmail.com>
2021-09-27 15:10:29 -04:00
Tony DevOps
eaa97a9272 Make Argon2.hash parameters configurable to allow for stronger user password hashes. (#7755)
* 1.  Create generatePasswordHash util function to standardize how user
        passwords are hashed throughout the API instead of directly calling
        argon2.hash directly;
    2.  Add configuration parameters to modify the behavior of the argon2.hash
        function used for generating user password hashes;
    3.  Add docs and placeholders in api/example.env for new parameters;
    4.  Update argon2 to latest release.

* Also update CLI init command to call generatePasswordHash vs. calling argon2.hash directly.

* docs: sdk auth.password.request url argument (#7757)

* Show a warning if PostGIS is missing (#7759)

* Show a warning if PostGIS is missing

* Remove sqlite-extensions flag

* Remove unused import

* Update WYSIWYG styling

* translations: fix user.status_invited (#7760)

* New Crowdin updates (#7739)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Czech)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* Fix postgis check

* Fix branch emitter logic from grand-to-child (#7763)

* New Crowdin updates (#7762)

* New translations en-US.yaml (Russian)

* New translations en-US.yaml (Slovenian)

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

* New translations en-US.yaml (French)

* New translations en-US.yaml (Arabic)

* New translations en-US.yaml (Catalan)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (German)

* New translations en-US.yaml (Hungarian)

* Fix tree-select not allowing groups to be opened in selection mode

* Optimize tree-select open state

* Warn the user when a collapsed group field had an error (#7738)

* warn the user when a collapsed group field had an error

* Replace icon

* Reduce icon size

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

* New translations en-US.yaml (Hungarian) (#7764)

* fix WYSIWYG field focus event (#7756)

* Update vue monorepo to v3.2.7 (#7766)

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

* Fix hash link in docs module (#7768)

* Update dependency knex-schema-inspector to v1.6.0 (#7769)

* Use OpenMapTiles font instead of ArcGIS (#7780)

* tiny rewrite in docs/reference/filter-rules (#7771)

* Update dependency sass to v1.39.0 (#7770)

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

* Expose logger through ExtensionContext (#7777)

Fixes #7737.

* Fixes bug when trying to edit geometry in code interface. (#7778)

* Update vue monorepo to v3.2.8 (#7785)

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

* Update dependency npm to v7.22.0 (#7786)

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

* Improve card selection styling (#7787)

* Add environment variable to force-exclude tables from Directus (#7789)

* New Crowdin updates (#7765)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Hungarian)

* New translations en-US.yaml (Polish)

* v9.0.0-rc.92

* Update changelog.md

* Update logging in CLI commands (#7676)

* Replace console logs with logger in CLI commands

* Fix double sparkles in migration command

* Apply suggestions from code review

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

* Use stdout for init command output

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

* Fix WYSIWYG field not being cleared after "Save and Create New" (#7754)

* fix WYSIWYG field not being cleared

* return empty string when null for tinymce

* Update app/src/components/v-form/form-field.vue

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

* fix wrong icon (#7800)

* fix false is proper value (#7796)

* Fix incorrect database exclude tables environment variable in docs. (#7798)

* Datetime interface "Set to now" sets seconds to 0 (#7794)

When "Include seconds" is disabled.

Fixes #7779

* Use https for openmaptiles fonts. (#7801)

* fix type for deep query with underscore prefix (#7815)

* Map selection behaviour (#7811)

* Use https for openmaptiles fonts.

* Changed map selection behaviour: replace instead of adding them by default.

* Fix map interface controls not showing (#7812)

* Fix return error for GraphQL mutations (#7814)

* Apply "in" to query even if array is empty (#7816)

* fetch only avatar id for current user

* apply "in" to query even if array is empty
if the "in" array is empty we need to add it to query anyways,
otherwise all records will be attached causing out of memory on
subsequent calls

* Update dependency pinia to v2.0.0-rc.7 (#7817)

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

* Update modules.md (#7795)

* make csv imports try to parse values to json (#7820)

* fix minor typo in api-hooks.md (#7821)

* Update dependency knex to v0.95.11 (#7819)

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

* Rename hash utils file/function to be not password-specific, update all calls to argon2.hash to use the new function, update docs.

* 1.  Create generatePasswordHash util function to standardize how user
        passwords are hashed throughout the API instead of directly calling
        argon2.hash directly;
    2.  Add configuration parameters to modify the behavior of the argon2.hash
        function used for generating user password hashes;
    3.  Add docs and placeholders in api/example.env for new parameters;
    4.  Update argon2 to latest release.

* Also update CLI init command to call generatePasswordHash vs. calling argon2.hash directly.

* Rename hash utils file/function to be not password-specific, update all calls to argon2.hash to use the new function, update docs.

* Preserve old behavior of hash function in PayloadService, in case 'value' is not a String.

* Tweak docs

Co-authored-by: José Varela <joselcvarela@gmail.com>
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Ben Haynes <ben@directus.io>
Co-authored-by: Nitwel <nitwel@arcor.de>
Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Renovate Bot <bot@renovateapp.com>
Co-authored-by: Oreille <33065839+Oreilles@users.noreply.github.com>
Co-authored-by: mikhail sergienko <mikhail.sergienko@gmail.com>
Co-authored-by: Dieter Luypaert <dieterluypaert@gmail.com>
Co-authored-by: Ben Haynes <ben@rngr.org>
Co-authored-by: Sam Milledge <sam@sammilledge.com>
Co-authored-by: ian <licitdev@gmail.com>
Co-authored-by: Harun Kilic <harunkilic@live.dk>
2021-09-07 15:21:59 -04:00
Nicola Krumschmidt
d64ca14348 Explicitly set catch parameters to any type (#7654)
This fixes not being able to build the repo due to type issues
introduced by the Typescript 4.4 option "useUnknownInCatchVariables",
which is enabled by default in strict mode.
2021-08-27 10:33:30 -04:00
Sam Milledge
e1cbfc4ca4 Fix SDK request url in fields update one request (#7514)
Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
2021-08-20 09:59:58 -04:00
Rob
8c965ba1e7 Fix SDK Tests (#7469)
* POST instead of PATCH for invite accept test

* Replace Jest JSDOM environment

Using `jest-environment-jsdom-global` didn't seem to bring any used advantages over the default `jest-environment-node`

* remove mockdate, use modern jest fake timers

* update package lock

Co-authored-by: Rijk van Zanten <rijkvanzanten@me.com>
Co-authored-by: Jay Cammarano <67079013+jaycammarano@users.noreply.github.com>
2021-08-19 10:51:45 -04:00
masterwendu
07e3cb1767 add full tfa support to sdk (#6621) 2021-07-04 13:55:12 +02:00
WoLfulus
043ae13e40 Adds request and response interceptors on Axios transport (#6538) 2021-06-28 18:44:38 +00:00
João
b20a394f51 Update SDK docs and code to match API (#5437) 2021-05-03 14:46:05 -04:00
João
c62d30b816 Fix weird authentication/refresh flow in the SDK (#5399) 2021-04-30 13:33:24 -04:00
rijkvanzanten
801e868554 Fix remaining eslint errors
h/t @paescuj
2021-04-29 15:55:12 -04:00
Pascal Jufer
acd41eb0be Syntax fixes (#5367)
* Declare return types on functions

And a very few other type related minor fixes

* Minor syntax fixes

* Remove unnecessary escape chars in regexes
* Remove unnecessary awaits
* Replace deprecated req.connection with req.socket
* Replace deprecated upload with uploadOne
* Remove unnecessary eslint-disable-next-line comments
* Comment empty functions / catch or finally clauses
* Fix irregular whitespaces
* Add missing returns (null)
* Remove unreachable code
* A few logical fixes
* Remove / Handle non-null assertions which are certainly unnecessary (e.g. in
tests)
2021-04-29 12:11:43 -04:00
João
af13cfe18e Change token and auth handling behavior. (#5203)
* change tokens and authentication handling/refresh

* update sdk docs
2021-04-22 17:54:30 -04:00
João
070df173d7 Add payloads to delete requests (#5187) 2021-04-21 21:01:36 +00:00
WoLfulus
3db8b9a1b3 Updated SDK docs and typing fixes (#4787)
* typing fixes

* docs update

* ignore compiled test dir

* use top level await syntax
2021-03-31 14:43:29 -04:00
WoLfulus
3c1204b928 SDK 2.0 (#4510)
* add new sdk

* update version

* fixes and sdk documentation

* typing updates, documentation

* added missing endpoints

* targeting minified version for unpkg

* removed unused types file

* fixed non minified versions

* fix sdk exports

* fix the fix

* Remove old sdk

* Remove old sdk docs

* Install types for Jest, add npm test

* Rely on npm exclusively

* Remove examples folder

* Move typescript down

* Update sdk.md

* added auto refresh and requested changes

added more http test calls
fixed typing issue in customized types

* remove unused endpoint

* updated docs

* added singletons, fixed typing issues, added password handlers

* rename graphql function and fixed system endpoint

* Remove unused imports, fix build

Co-authored-by: rijkvanzanten <rijkvanzanten@me.com>
Co-authored-by: Ben Haynes <ben@rngr.org>
2021-03-30 18:23:23 -04:00