Commit Graph

14 Commits

Author SHA1 Message Date
Lukas Breitstadt
09d9b4b323 Await when token is refreshing & reinstate msRefreshBeforeExpires flag (#12649) 2022-04-12 07:52:33 -04:00
Jake Cattrall
d24dacd075 Use date (epoch) compare workflow instead of timer to refresh token in SDK (#12399)
* use date compare workflow instead of timer

* convert milliseconds to seconds

* add missing references to auth_expired_at key

* correct calculation and presume getTime returns milliseconds

* resolve issue with static tokens

* prevents token refresh before everything else is initialized

* remove timer based authentication tests

Co-authored-by: Azri Kahar <42867097+azrikahar@users.noreply.github.com>
2022-04-01 09:31:11 -04:00
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
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
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
WoLfulus
043ae13e40 Adds request and response interceptors on Axios transport (#6538) 2021-06-28 18:44:38 +00:00
João
c62d30b816 Fix weird authentication/refresh flow in the SDK (#5399) 2021-04-30 13:33:24 -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