1 | ;
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const operators_1 = require("rxjs/operators");
|
4 | const CRUD_1 = require("./CRUD");
|
5 | class ResourceType {
|
6 | constructor({ plugin, name, names }) {
|
7 | this.plugin = plugin;
|
8 | this.name = name;
|
9 | this.names = names;
|
10 | }
|
11 | // Filter resources for return by getResources$. Passed the options given by
|
12 | // CRUDCLI#getOptions or CRUDCLI#getAutocompleteOptions.
|
13 | filterResources(resources, _options) {
|
14 | return resources;
|
15 | }
|
16 | getResource$({ name, client, options, }) {
|
17 | return client
|
18 | .getResource$({
|
19 | plugin: this.plugin.name,
|
20 | resourceType: this.name,
|
21 | name,
|
22 | options,
|
23 | })
|
24 | .pipe(operators_1.map((resource) => resource));
|
25 | }
|
26 | async getResource({ name, client, options, }) {
|
27 | return this.getResource$({
|
28 | name,
|
29 | client,
|
30 | options,
|
31 | })
|
32 | .pipe(operators_1.take(1))
|
33 | .toPromise();
|
34 | }
|
35 | async createMasterResourceAdapter(_options) {
|
36 | return Promise.reject(new Error('Not Implemented'));
|
37 | }
|
38 | // CRUD for this ResourceType.
|
39 | getCRUD() {
|
40 | return new CRUD_1.CRUD({ resourceType: this });
|
41 | }
|
42 | // Format the resource information into a table, the first element in the
|
43 | // array will be the header. Must always return an array with at least one
|
44 | // element (the header).
|
45 | getListTable(resources) {
|
46 | return [['Name']].concat(resources.map((resource) => [resource.baseName]));
|
47 | }
|
48 | // Format the resource information into a vertical table. Nested tables
|
49 | // can also be used as a value.
|
50 | getDescribeTable(resource) {
|
51 | return [['Name', resource.baseName]];
|
52 | }
|
53 | }
|
54 | exports.ResourceType = ResourceType;
|
55 |
|
56 | //# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlJlc291cmNlVHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUNBLDhDQUEyQztBQUMzQyxpQ0FBOEI7QUFzQzlCLE1BQWEsWUFBWTtJQWF2QixZQUFtQixFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUF1QjtRQUM3RCxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztRQUNyQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNyQixDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLHdEQUF3RDtJQUNqRCxlQUFlLENBQUMsU0FBa0MsRUFBRSxRQUF5QjtRQUNsRixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRU0sWUFBWSxDQUFDLEVBQ2xCLElBQUksRUFDSixNQUFNLEVBQ04sT0FBTyxHQUM4QjtRQUNyQyxPQUFPLE1BQU07YUFDVixZQUFZLENBQUM7WUFDWixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO1lBQ3hCLFlBQVksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUN2QixJQUFJO1lBQ0osT0FBTztTQUNSLENBQUM7YUFDRCxJQUFJLENBQUMsZUFBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxRQUFnQyxDQUFDLENBQUMsQ0FBQztJQUMvRCxDQUFDO0lBRU0sS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUN2QixJQUFJLEVBQ0osTUFBTSxFQUNOLE9BQU8sR0FDOEI7UUFDckMsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO1lBQ3ZCLElBQUk7WUFDSixNQUFNO1lBQ04sT0FBTztTQUNSLENBQUM7YUFDQyxJQUFJLENBQUMsZ0JBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFTSxLQUFLLENBQUMsMkJBQTJCLENBQ3RDLFFBQXNDO1FBRXRDLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUVELDhCQUE4QjtJQUN2QixPQUFPO1FBQ1osT0FBTyxJQUFJLFdBQUksQ0FBQyxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCx5RUFBeUU7SUFDekUsMEVBQTBFO0lBQzFFLHdCQUF3QjtJQUNqQixZQUFZLENBQUMsU0FBa0M7UUFDcEQsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdFLENBQUM7SUFFRCx1RUFBdUU7SUFDdkUsK0JBQStCO0lBQ3hCLGdCQUFnQixDQUFDLFFBQWtCO1FBQ3hDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0Y7QUE3RUQsb0NBNkVDIiwiZmlsZSI6Im5lby1vbmUtc2VydmVyLXBsdWdpbi9zcmMvUmVzb3VyY2VUeXBlLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgbWFwLCB0YWtlIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQ1JVRCB9IGZyb20gJy4vQ1JVRCc7XG5pbXBvcnQgeyBNYXN0ZXJSZXNvdXJjZUFkYXB0ZXIgfSBmcm9tICcuL01hc3RlclJlc291cmNlQWRhcHRlcic7XG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICcuL1BsdWdpbic7XG5pbXBvcnQge1xuICBCYXNlUmVzb3VyY2UsXG4gIEJhc2VSZXNvdXJjZU9wdGlvbnMsXG4gIEJpbmFyeSxcbiAgQ2xpZW50LFxuICBEZXNjcmliZVRhYmxlLFxuICBMaXN0VGFibGUsXG4gIFBsdWdpbk1hbmFnZXIsXG4gIFBvcnRBbGxvY2F0b3IsXG59IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFJlc291cmNlVHlwZU9wdGlvbnMge1xuICByZWFkb25seSBwbHVnaW46IFBsdWdpbjtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBuYW1lczoge1xuICAgIHJlYWRvbmx5IGNhcGl0YWw6IHN0cmluZztcbiAgICByZWFkb25seSBjYXBpdGFsUGx1cmFsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbG93ZXI6IHN0cmluZztcbiAgICByZWFkb25seSBsb3dlclBsdXJhbDogc3RyaW5nO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1hc3RlclJlc291cmNlQWRhcHRlck9wdGlvbnMge1xuICByZWFkb25seSBwbHVnaW5NYW5hZ2VyOiBQbHVnaW5NYW5hZ2VyO1xuICByZWFkb25seSBkYXRhUGF0aDogc3RyaW5nO1xuICByZWFkb25seSBiaW5hcnk6IEJpbmFyeTtcbiAgcmVhZG9ubHkgcG9ydEFsbG9jYXRvcjogUG9ydEFsbG9jYXRvcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRSZXNvdXJjZSRPcHRpb25zPFJlc291cmNlT3B0aW9ucyBleHRlbmRzIEJhc2VSZXNvdXJjZU9wdGlvbnM+IHtcbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICByZWFkb25seSBjbGllbnQ6IENsaWVudDtcbiAgcmVhZG9ubHkgb3B0aW9uczogUmVzb3VyY2VPcHRpb25zO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzb3VyY2VUeXBlPFxuICBSZXNvdXJjZSBleHRlbmRzIEJhc2VSZXNvdXJjZSA9IEJhc2VSZXNvdXJjZSxcbiAgUmVzb3VyY2VPcHRpb25zIGV4dGVuZHMgQmFzZVJlc291cmNlT3B0aW9ucyA9IEJhc2VSZXNvdXJjZU9wdGlvbnNcbj4ge1xuICBwdWJsaWMgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW47XG4gIHB1YmxpYyByZWFkb25seSBuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lczoge1xuICAgIHJlYWRvbmx5IGNhcGl0YWw6IHN0cmluZztcbiAgICByZWFkb25seSBjYXBpdGFsUGx1cmFsOiBzdHJpbmc7XG4gICAgcmVhZG9ubHkgbG93ZXI6IHN0cmluZztcbiAgICByZWFkb25seSBsb3dlclBsdXJhbDogc3RyaW5nO1xuICB9O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih7IHBsdWdpbiwgbmFtZSwgbmFtZXMgfTogUmVzb3VyY2VUeXBlT3B0aW9ucykge1xuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xuICAgIHRoaXMubmFtZSA9IG5hbWU7XG4gICAgdGhpcy5uYW1lcyA9IG5hbWVzO1xuICB9XG5cbiAgLy8gRmlsdGVyIHJlc291cmNlcyBmb3IgcmV0dXJuIGJ5IGdldFJlc291cmNlcyQuIFBhc3NlZCB0aGUgb3B0aW9ucyBnaXZlbiBieVxuICAvLyBDUlVEQ0xJI2dldE9wdGlvbnMgb3IgQ1JVRENMSSNnZXRBdXRvY29tcGxldGVPcHRpb25zLlxuICBwdWJsaWMgZmlsdGVyUmVzb3VyY2VzKHJlc291cmNlczogUmVhZG9ubHlBcnJheTxSZXNvdXJjZT4sIF9vcHRpb25zOiBSZXNvdXJjZU9wdGlvbnMpOiBSZWFkb25seUFycmF5PFJlc291cmNlPiB7XG4gICAgcmV0dXJuIHJlc291cmNlcztcbiAgfVxuXG4gIHB1YmxpYyBnZXRSZXNvdXJjZSQoe1xuICAgIG5hbWUsXG4gICAgY2xpZW50LFxuICAgIG9wdGlvbnMsXG4gIH06IEdldFJlc291cmNlJE9wdGlvbnM8UmVzb3VyY2VPcHRpb25zPik6IE9ic2VydmFibGU8UmVzb3VyY2UgfCB1bmRlZmluZWQ+IHtcbiAgICByZXR1cm4gY2xpZW50XG4gICAgICAuZ2V0UmVzb3VyY2UkKHtcbiAgICAgICAgcGx1Z2luOiB0aGlzLnBsdWdpbi5uYW1lLFxuICAgICAgICByZXNvdXJjZVR5cGU6IHRoaXMubmFtZSxcbiAgICAgICAgbmFtZSxcbiAgICAgICAgb3B0aW9ucyxcbiAgICAgIH0pXG4gICAgICAucGlwZShtYXAoKHJlc291cmNlKSA9PiByZXNvdXJjZSBhcyBSZXNvdXJjZSB8IHVuZGVmaW5lZCkpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGdldFJlc291cmNlKHtcbiAgICBuYW1lLFxuICAgIGNsaWVudCxcbiAgICBvcHRpb25zLFxuICB9OiBHZXRSZXNvdXJjZSRPcHRpb25zPFJlc291cmNlT3B0aW9ucz4pOiBQcm9taXNlPFJlc291cmNlIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0UmVzb3VyY2UkKHtcbiAgICAgIG5hbWUsXG4gICAgICBjbGllbnQsXG4gICAgICBvcHRpb25zLFxuICAgIH0pXG4gICAgICAucGlwZSh0YWtlKDEpKVxuICAgICAgLnRvUHJvbWlzZSgpO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIGNyZWF0ZU1hc3RlclJlc291cmNlQWRhcHRlcihcbiAgICBfb3B0aW9uczogTWFzdGVyUmVzb3VyY2VBZGFwdGVyT3B0aW9ucyxcbiAgKTogUHJvbWlzZTxNYXN0ZXJSZXNvdXJjZUFkYXB0ZXI8UmVzb3VyY2UsIFJlc291cmNlT3B0aW9ucz4+IHtcbiAgICByZXR1cm4gUHJvbWlzZS5yZWplY3QobmV3IEVycm9yKCdOb3QgSW1wbGVtZW50ZWQnKSk7XG4gIH1cblxuICAvLyBDUlVEIGZvciB0aGlzIFJlc291cmNlVHlwZS5cbiAgcHVibGljIGdldENSVUQoKTogQ1JVRDxSZXNvdXJjZSwgUmVzb3VyY2VPcHRpb25zPiB7XG4gICAgcmV0dXJuIG5ldyBDUlVEKHsgcmVzb3VyY2VUeXBlOiB0aGlzIH0pO1xuICB9XG5cbiAgLy8gRm9ybWF0IHRoZSByZXNvdXJjZSBpbmZvcm1hdGlvbiBpbnRvIGEgdGFibGUsIHRoZSBmaXJzdCBlbGVtZW50IGluIHRoZVxuICAvLyBhcnJheSB3aWxsIGJlIHRoZSBoZWFkZXIuIE11c3QgYWx3YXlzIHJldHVybiBhbiBhcnJheSB3aXRoIGF0IGxlYXN0IG9uZVxuICAvLyBlbGVtZW50ICh0aGUgaGVhZGVyKS5cbiAgcHVibGljIGdldExpc3RUYWJsZShyZXNvdXJjZXM6IFJlYWRvbmx5QXJyYXk8UmVzb3VyY2U+KTogTGlzdFRhYmxlIHtcbiAgICByZXR1cm4gW1snTmFtZSddXS5jb25jYXQocmVzb3VyY2VzLm1hcCgocmVzb3VyY2UpID0+IFtyZXNvdXJjZS5iYXNlTmFtZV0pKTtcbiAgfVxuXG4gIC8vIEZvcm1hdCB0aGUgcmVzb3VyY2UgaW5mb3JtYXRpb24gaW50byBhIHZlcnRpY2FsIHRhYmxlLiBOZXN0ZWQgdGFibGVzXG4gIC8vIGNhbiBhbHNvIGJlIHVzZWQgYXMgYSB2YWx1ZS5cbiAgcHVibGljIGdldERlc2NyaWJlVGFibGUocmVzb3VyY2U6IFJlc291cmNlKTogRGVzY3JpYmVUYWJsZSB7XG4gICAgcmV0dXJuIFtbJ05hbWUnLCByZXNvdXJjZS5iYXNlTmFtZV1dO1xuICB9XG59XG4iXX0=
|