UNPKG

@neo-one/server-plugin

Version:

NEO•ONE Server plugin API.

49 lines (47 loc) 7.78 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const operators_1 = require("rxjs/operators"); const CRUD_1 = require("./CRUD"); class ResourceType { constructor({ plugin, name, names }) { this.plugin = plugin; this.name = name; this.names = names; } filterResources(resources, _options) { return resources; } getResource$({ name, client, options, }) { return client .getResource$({ plugin: this.plugin.name, resourceType: this.name, name, options, }) .pipe(operators_1.map((resource) => resource)); } async getResource({ name, client, options, }) { return this.getResource$({ name, client, options, }) .pipe(operators_1.take(1)) .toPromise(); } async createMasterResourceAdapter(_options) { return Promise.reject(new Error('Not Implemented')); } getCRUD() { return new CRUD_1.CRUD({ resourceType: this }); } getListTable(resources) { return [['Name']].concat(resources.map((resource) => [resource.baseName])); } getDescribeTable(resource) { return [['Name', resource.baseName]]; } } exports.ResourceType = ResourceType; //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlc291cmNlVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDhDQUEyQztBQUMzQyxpQ0FBOEI7QUFzQzlCLE1BQWEsWUFBWTtJQWF2QixZQUFtQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUF1QjtRQUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBSU0sZUFBZSxDQUFDLFNBQThCLEVBQUUsUUFBeUI7UUFDOUUsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVNLFlBQVksQ0FBQyxFQUNsQixJQUFJLEVBQ0osTUFBTSxFQUNOLE9BQU8sR0FDOEI7UUFDckMsT0FBTyxNQUFNO2FBQ1YsWUFBWSxDQUFDO1lBQ1osTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUN4QixZQUFZLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDdkIsSUFBSTtZQUNKLE9BQU87U0FDUixDQUFDO2FBQ0QsSUFBSSxDQUFDLGVBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBZ0MsQ0FBQyxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUVNLEtBQUssQ0FBQyxXQUFXLENBQUMsRUFDdkIsSUFBSSxFQUNKLE1BQU0sRUFDTixPQUFPLEdBQzhCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQztZQUN2QixJQUFJO1lBQ0osTUFBTTtZQUNOLE9BQU87U0FDUixDQUFDO2FBQ0MsSUFBSSxDQUFDLGdCQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDYixTQUFTLEVBQUUsQ0FBQztJQUNqQixDQUFDO0lBRU0sS0FBSyxDQUFDLDJCQUEyQixDQUN0QyxRQUFzQztRQUV0QyxPQUFPLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFHTSxPQUFPO1FBQ1osT0FBTyxJQUFJLFdBQUksQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFLTSxZQUFZLENBQUMsU0FBOEI7UUFDaEQsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFJTSxnQkFBZ0IsQ0FBQyxRQUFrQjtRQUN4QyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLFFBQVEsQ0FBVSxDQUFDLENBQUM7SUFDaEQsQ0FBQztDQUNGO0FBN0VELG9DQTZFQyIsImZpbGUiOiJuZW8tb25lLXNlcnZlci1wbHVnaW4vc3JjL1Jlc291cmNlVHlwZS5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IENSVUQgfSBmcm9tICcuL0NSVUQnO1xuaW1wb3J0IHsgTWFzdGVyUmVzb3VyY2VBZGFwdGVyIH0gZnJvbSAnLi9NYXN0ZXJSZXNvdXJjZUFkYXB0ZXInO1xuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnLi9QbHVnaW4nO1xuaW1wb3J0IHtcbiAgQmFzZVJlc291cmNlLFxuICBCYXNlUmVzb3VyY2VPcHRpb25zLFxuICBCaW5hcnksXG4gIENsaWVudCxcbiAgRGVzY3JpYmVUYWJsZSxcbiAgTGlzdFRhYmxlLFxuICBQbHVnaW5NYW5hZ2VyLFxuICBQb3J0QWxsb2NhdG9yLFxufSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGludGVyZmFjZSBSZXNvdXJjZVR5cGVPcHRpb25zIHtcbiAgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW47XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbmFtZXM6IHtcbiAgICByZWFkb25seSBjYXBpdGFsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY2FwaXRhbFBsdXJhbDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGxvd2VyOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbG93ZXJQbHVyYWw6IHN0cmluZztcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNYXN0ZXJSZXNvdXJjZUFkYXB0ZXJPcHRpb25zIHtcbiAgcmVhZG9ubHkgcGx1Z2luTWFuYWdlcjogUGx1Z2luTWFuYWdlcjtcbiAgcmVhZG9ubHkgZGF0YVBhdGg6IHN0cmluZztcbiAgcmVhZG9ubHkgYmluYXJ5OiBCaW5hcnk7XG4gIHJlYWRvbmx5IHBvcnRBbGxvY2F0b3I6IFBvcnRBbGxvY2F0b3I7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0UmVzb3VyY2UkT3B0aW9uczxSZXNvdXJjZU9wdGlvbnMgZXh0ZW5kcyBCYXNlUmVzb3VyY2VPcHRpb25zPiB7XG4gIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgY2xpZW50OiBDbGllbnQ7XG4gIHJlYWRvbmx5IG9wdGlvbnM6IFJlc291cmNlT3B0aW9ucztcbn1cblxuZXhwb3J0IGNsYXNzIFJlc291cmNlVHlwZTxcbiAgUmVzb3VyY2UgZXh0ZW5kcyBCYXNlUmVzb3VyY2UgPSBCYXNlUmVzb3VyY2UsXG4gIFJlc291cmNlT3B0aW9ucyBleHRlbmRzIEJhc2VSZXNvdXJjZU9wdGlvbnMgPSBCYXNlUmVzb3VyY2VPcHRpb25zXG4+IHtcbiAgcHVibGljIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luO1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICBwdWJsaWMgcmVhZG9ubHkgbmFtZXM6IHtcbiAgICByZWFkb25seSBjYXBpdGFsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgY2FwaXRhbFBsdXJhbDogc3RyaW5nO1xuICAgIHJlYWRvbmx5IGxvd2VyOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbG93ZXJQbHVyYWw6IHN0cmluZztcbiAgfTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IoeyBwbHVnaW4sIG5hbWUsIG5hbWVzIH06IFJlc291cmNlVHlwZU9wdGlvbnMpIHtcbiAgICB0aGlzLnBsdWdpbiA9IHBsdWdpbjtcbiAgICB0aGlzLm5hbWUgPSBuYW1lO1xuICAgIHRoaXMubmFtZXMgPSBuYW1lcztcbiAgfVxuXG4gIC8vIEZpbHRlciByZXNvdXJjZXMgZm9yIHJldHVybiBieSBnZXRSZXNvdXJjZXMkLiBQYXNzZWQgdGhlIG9wdGlvbnMgZ2l2ZW4gYnlcbiAgLy8gQ1JVRENMSSNnZXRPcHRpb25zIG9yIENSVURDTEkjZ2V0QXV0b2NvbXBsZXRlT3B0aW9ucy5cbiAgcHVibGljIGZpbHRlclJlc291cmNlcyhyZXNvdXJjZXM6IHJlYWRvbmx5IFJlc291cmNlW10sIF9vcHRpb25zOiBSZXNvdXJjZU9wdGlvbnMpOiByZWFkb25seSBSZXNvdXJjZVtdIHtcbiAgICByZXR1cm4gcmVzb3VyY2VzO1xuICB9XG5cbiAgcHVibGljIGdldFJlc291cmNlJCh7XG4gICAgbmFtZSxcbiAgICBjbGllbnQsXG4gICAgb3B0aW9ucyxcbiAgfTogR2V0UmVzb3VyY2UkT3B0aW9uczxSZXNvdXJjZU9wdGlvbnM+KTogT2JzZXJ2YWJsZTxSZXNvdXJjZSB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiBjbGllbnRcbiAgICAgIC5nZXRSZXNvdXJjZSQoe1xuICAgICAgICBwbHVnaW46IHRoaXMucGx1Z2luLm5hbWUsXG4gICAgICAgIHJlc291cmNlVHlwZTogdGhpcy5uYW1lLFxuICAgICAgICBuYW1lLFxuICAgICAgICBvcHRpb25zLFxuICAgICAgfSlcbiAgICAgIC5waXBlKG1hcCgocmVzb3VyY2UpID0+IHJlc291cmNlIGFzIFJlc291cmNlIHwgdW5kZWZpbmVkKSk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgZ2V0UmVzb3VyY2Uoe1xuICAgIG5hbWUsXG4gICAgY2xpZW50LFxuICAgIG9wdGlvbnMsXG4gIH06IEdldFJlc291cmNlJE9wdGlvbnM8UmVzb3VyY2VPcHRpb25zPik6IFByb21pc2U8UmVzb3VyY2UgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gdGhpcy5nZXRSZXNvdXJjZSQoe1xuICAgICAgbmFtZSxcbiAgICAgIGNsaWVudCxcbiAgICAgIG9wdGlvbnMsXG4gICAgfSlcbiAgICAgIC5waXBlKHRha2UoMSkpXG4gICAgICAudG9Qcm9taXNlKCk7XG4gIH1cblxuICBwdWJsaWMgYXN5bmMgY3JlYXRlTWFzdGVyUmVzb3VyY2VBZGFwdGVyKFxuICAgIF9vcHRpb25zOiBNYXN0ZXJSZXNvdXJjZUFkYXB0ZXJPcHRpb25zLFxuICApOiBQcm9taXNlPE1hc3RlclJlc291cmNlQWRhcHRlcjxSZXNvdXJjZSwgUmVzb3VyY2VPcHRpb25zPj4ge1xuICAgIHJldHVybiBQcm9taXNlLnJlamVjdChuZXcgRXJyb3IoJ05vdCBJbXBsZW1lbnRlZCcpKTtcbiAgfVxuXG4gIC8vIENSVUQgZm9yIHRoaXMgUmVzb3VyY2VUeXBlLlxuICBwdWJsaWMgZ2V0Q1JVRCgpOiBDUlVEPFJlc291cmNlLCBSZXNvdXJjZU9wdGlvbnM+IHtcbiAgICByZXR1cm4gbmV3IENSVUQoeyByZXNvdXJjZVR5cGU6IHRoaXMgfSk7XG4gIH1cblxuICAvLyBGb3JtYXQgdGhlIHJlc291cmNlIGluZm9ybWF0aW9uIGludG8gYSB0YWJsZSwgdGhlIGZpcnN0IGVsZW1lbnQgaW4gdGhlXG4gIC8vIGFycmF5IHdpbGwgYmUgdGhlIGhlYWRlci4gTXVzdCBhbHdheXMgcmV0dXJuIGFuIGFycmF5IHdpdGggYXQgbGVhc3Qgb25lXG4gIC8vIGVsZW1lbnQgKHRoZSBoZWFkZXIpLlxuICBwdWJsaWMgZ2V0TGlzdFRhYmxlKHJlc291cmNlczogcmVhZG9ubHkgUmVzb3VyY2VbXSk6IExpc3RUYWJsZSB7XG4gICAgcmV0dXJuIFtbJ05hbWUnXV0uY29uY2F0KHJlc291cmNlcy5tYXAoKHJlc291cmNlKSA9PiBbcmVzb3VyY2UuYmFzZU5hbWVdKSk7XG4gIH1cblxuICAvLyBGb3JtYXQgdGhlIHJlc291cmNlIGluZm9ybWF0aW9uIGludG8gYSB2ZXJ0aWNhbCB0YWJsZS4gTmVzdGVkIHRhYmxlc1xuICAvLyBjYW4gYWxzbyBiZSB1c2VkIGFzIGEgdmFsdWUuXG4gIHB1YmxpYyBnZXREZXNjcmliZVRhYmxlKHJlc291cmNlOiBSZXNvdXJjZSk6IERlc2NyaWJlVGFibGUge1xuICAgIHJldHVybiBbWydOYW1lJywgcmVzb3VyY2UuYmFzZU5hbWVdIGFzIGNvbnN0XTtcbiAgfVxufVxuIl19