mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
* 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>
68 lines
2.1 KiB
TypeScript
68 lines
2.1 KiB
TypeScript
import { IAuth } from './auth';
|
|
import {
|
|
ActivityHandler,
|
|
CollectionsHandler,
|
|
FieldsHandler,
|
|
FilesHandler,
|
|
FoldersHandler,
|
|
PermissionsHandler,
|
|
PresetsHandler,
|
|
RelationsHandler,
|
|
RevisionsHandler,
|
|
RolesHandler,
|
|
ServerHandler,
|
|
SettingsHandler,
|
|
UsersHandler,
|
|
} from './handlers';
|
|
|
|
import { IItems } from './items';
|
|
import { ITransport } from './transport';
|
|
import { UtilsHandler } from './handlers/utils';
|
|
import { IStorage } from './storage';
|
|
import { TypeMap, TypeOf } from './types';
|
|
import { GraphQLHandler } from './handlers/graphql';
|
|
import { ISingleton } from './singleton';
|
|
|
|
export type DirectusTypes = {
|
|
activity: undefined;
|
|
collections: undefined;
|
|
fields: undefined;
|
|
files: undefined;
|
|
folders: undefined;
|
|
permissions: undefined;
|
|
presets: undefined;
|
|
relations: undefined;
|
|
revisions: undefined;
|
|
roles: undefined;
|
|
settings: undefined;
|
|
users: undefined;
|
|
};
|
|
|
|
export interface IDirectusBase {
|
|
readonly url: string;
|
|
readonly auth: IAuth;
|
|
readonly storage: IStorage;
|
|
readonly transport: ITransport;
|
|
readonly server: ServerHandler;
|
|
readonly utils: UtilsHandler;
|
|
readonly graphql: GraphQLHandler;
|
|
}
|
|
|
|
export interface IDirectus<T extends TypeMap> extends IDirectusBase {
|
|
readonly activity: ActivityHandler<TypeOf<T, 'directus_activity'>>;
|
|
readonly collections: CollectionsHandler<TypeOf<T, 'directus_collections'>>;
|
|
readonly files: FilesHandler<TypeOf<T, 'directus_files'>>;
|
|
readonly fields: FieldsHandler<TypeOf<T, 'directus_fields'>>;
|
|
readonly folders: FoldersHandler<TypeOf<T, 'directus_folders'>>;
|
|
readonly permissions: PermissionsHandler<TypeOf<T, 'directus_permissions'>>;
|
|
readonly presets: PresetsHandler<TypeOf<T, 'directus_presets'>>;
|
|
readonly revisions: RevisionsHandler<TypeOf<T, 'directus_revisions'>>;
|
|
readonly relations: RelationsHandler<TypeOf<T, 'directus_relations'>>;
|
|
readonly roles: RolesHandler<TypeOf<T, 'directus_roles'>>;
|
|
readonly users: UsersHandler<TypeOf<T, 'directus_users'>>;
|
|
readonly settings: SettingsHandler<TypeOf<T, 'directus_settings'>>;
|
|
|
|
items<C extends string, I = TypeOf<T, C>>(collection: C): IItems<I>;
|
|
singleton<C extends string, I = TypeOf<T, C>>(collection: C): ISingleton<I>;
|
|
}
|