Add collections/fields handlers

This commit is contained in:
rijkvanzanten
2020-10-27 16:43:36 +01:00
parent cc95696975
commit 663abd1e0d
6 changed files with 82 additions and 0 deletions

View File

@@ -0,0 +1,8 @@
import { AxiosInstance } from 'axios';
import { ItemsHandler } from './items';
export class CollectionsHandler extends ItemsHandler {
constructor(axios: AxiosInstance) {
super('directus_collections', axios);
}
}

View File

@@ -0,0 +1,8 @@
import { AxiosInstance } from 'axios';
import { ItemsHandler } from './items';
export class FieldsHandler extends ItemsHandler {
constructor(axios: AxiosInstance) {
super('directus_fields', axios);
}
}

View File

@@ -11,3 +11,5 @@ export * from './roles';
export * from './users';
export * from './settings';
export * from './files';
export * from './collections';
export * from './fields';

View File

@@ -11,6 +11,8 @@ import {
UsersHandler,
SettingsHandler,
FilesHandler,
CollectionsHandler,
FieldsHandler,
} from './handlers';
export default class DirectusSDK {
@@ -77,4 +79,12 @@ export default class DirectusSDK {
get files() {
return new FilesHandler(this.axios);
}
get collections() {
return new CollectionsHandler(this.axios);
}
get fields() {
return new FieldsHandler(this.axios);
}
}

View File

@@ -0,0 +1,27 @@
import { CollectionsHandler, ItemsHandler } from '../../src/handlers';
import axios, { AxiosInstance } from 'axios';
import sinon, { SinonSandbox } from 'sinon';
import chai, { expect } from 'chai';
import sinonChai from 'sinon-chai';
chai.use(sinonChai);
describe('CollectionsHandler', () => {
let sandbox: SinonSandbox;
let axiosInstance: AxiosInstance;
let handler: CollectionsHandler;
beforeEach(() => {
sandbox = sinon.createSandbox();
axiosInstance = axios.create();
handler = new CollectionsHandler(axiosInstance);
});
afterEach(() => {
sandbox.restore();
});
it('Extends ItemsHandler', () => {
expect(handler).to.be.instanceOf(ItemsHandler);
});
});

View File

@@ -0,0 +1,27 @@
import { FieldsHandler, ItemsHandler } from '../../src/handlers';
import axios, { AxiosInstance } from 'axios';
import sinon, { SinonSandbox } from 'sinon';
import chai, { expect } from 'chai';
import sinonChai from 'sinon-chai';
chai.use(sinonChai);
describe('FieldsHandler', () => {
let sandbox: SinonSandbox;
let axiosInstance: AxiosInstance;
let handler: FieldsHandler;
beforeEach(() => {
sandbox = sinon.createSandbox();
axiosInstance = axios.create();
handler = new FieldsHandler(axiosInstance);
});
afterEach(() => {
sandbox.restore();
});
it('Extends ItemsHandler', () => {
expect(handler).to.be.instanceOf(ItemsHandler);
});
});