UNPKG

@kkoehn/ngx-resource-core

Version:
90 lines 10 kB
import { Resource } from '../Resource'; import { ResourceRequestMethod } from '../Declarations'; export class ResourceCRUDBase extends Resource { query(query, onSuccess, onError) { return this.$restAction({ actionAttributes: { body: query, onSuccess, onError }, actionOptions: this.$_crudBaseGetActionOptions() }); } get(data, onSuccess, onError) { return this.$restAction({ actionAttributes: { body: data, onSuccess, onError }, actionOptions: this.$_crudBaseGetActionOptions({ path: '/{!id}' }) }); } save(data, onSuccess, onError) { return this.$restAction({ actionAttributes: { body: data, onSuccess, onError }, actionOptions: this.$_crudBaseGetActionOptions({ method: ResourceRequestMethod.Post, }) }); } update(data, onSuccess, onError) { return this.$restAction({ actionAttributes: { body: data, onSuccess, onError }, actionOptions: this.$_crudBaseGetActionOptions({ method: ResourceRequestMethod.Put, path: '/{!id}' }) }); } remove(data, onSuccess, onError) { return this.$restAction({ actionAttributes: { body: data, onSuccess, onError }, actionOptions: this.$_crudBaseGetActionOptions({ method: ResourceRequestMethod.Delete, path: '/{!id}' }) }); } patch(data, onSuccess, onError) { return this.$restAction({ actionAttributes: { body: data, onSuccess, onError }, actionOptions: this.$_crudBaseGetActionOptions({ method: ResourceRequestMethod.Patch, path: '/{!id}' }) }); } // Alias to save create(data, callback) { return this.save(data, callback); } $_crudBaseGetActionOptions(actionOptions = {}) { return { ...this.getResourceOptions(), method: ResourceRequestMethod.Get, returnAs: this.$crudReturnAs, ...actionOptions }; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVzb3VyY2VDUlVEQmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXNvdXJjZS9jb3JlL3NyYy9saWIvUmVzb3VyY2VDb21tb24vUmVzb3VyY2VDUlVEQmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBZ0UscUJBQXFCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUd0SCxNQUFNLE9BQWdCLGdCQUFvRixTQUFRLFFBQVE7SUFJeEgsS0FBSyxDQUFDLEtBQWMsRUFDZCxTQUF1QyxFQUN2QyxPQUF5QztRQUU3QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDdEIsZ0JBQWdCLEVBQUU7Z0JBQ2hCLElBQUksRUFBRSxLQUFLO2dCQUNYLFNBQVM7Z0JBQ1QsT0FBTzthQUNSO1lBQ0QsYUFBYSxFQUFFLElBQUksQ0FBQywwQkFBMEIsRUFBRTtTQUNqRCxDQUFDLENBQUM7SUFFTCxDQUFDO0lBRUQsR0FBRyxDQUFDLElBQWlCLEVBQ2pCLFNBQWdDLEVBQ2hDLE9BQXlDO1FBRTNDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN0QixnQkFBZ0IsRUFBRTtnQkFDaEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsU0FBUztnQkFDVCxPQUFPO2FBQ1I7WUFDRCxhQUFhLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDO2dCQUM3QyxJQUFJLEVBQUUsUUFBUTthQUNmLENBQUM7U0FDSCxDQUFDLENBQUM7SUFFTCxDQUFDO0lBRUQsSUFBSSxDQUFDLElBQVcsRUFDWCxTQUFnQyxFQUNoQyxPQUF5QztRQUU1QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDdEIsZ0JBQWdCLEVBQUU7Z0JBQ2hCLElBQUksRUFBRSxJQUFJO2dCQUNWLFNBQVM7Z0JBQ1QsT0FBTzthQUNSO1lBQ0QsYUFBYSxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQztnQkFDN0MsTUFBTSxFQUFFLHFCQUFxQixDQUFDLElBQUk7YUFDbkMsQ0FBQztTQUNILENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBVyxFQUNYLFNBQWdDLEVBQ2hDLE9BQXlDO1FBRTlDLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUN0QixnQkFBZ0IsRUFBRTtnQkFDaEIsSUFBSSxFQUFFLElBQUk7Z0JBQ1YsU0FBUztnQkFDVCxPQUFPO2FBQ1I7WUFDRCxhQUFhLEVBQUUsSUFBSSxDQUFDLDBCQUEwQixDQUFDO2dCQUM3QyxNQUFNLEVBQUUscUJBQXFCLENBQUMsR0FBRztnQkFDakMsSUFBSSxFQUFFLFFBQVE7YUFDZixDQUFDO1NBQ0gsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUVELE1BQU0sQ0FBQyxJQUFpQixFQUNqQixTQUE4QixFQUM5QixPQUF5QztRQUU5QyxPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7WUFDdEIsZ0JBQWdCLEVBQUU7Z0JBQ2hCLElBQUksRUFBRSxJQUFJO2dCQUNWLFNBQVM7Z0JBQ1QsT0FBTzthQUNSO1lBQ0QsYUFBYSxFQUFFLElBQUksQ0FBQywwQkFBMEIsQ0FBQztnQkFDN0MsTUFBTSxFQUFFLHFCQUFxQixDQUFDLE1BQU07Z0JBQ3BDLElBQUksRUFBRSxRQUFRO2FBQ2YsQ0FBQztTQUNILENBQUMsQ0FBQztJQUVMLENBQUM7SUFFRCxLQUFLLENBQUMsSUFBa0MsRUFDbEMsU0FBZ0MsRUFDaEMsT0FBeUM7UUFFN0MsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO1lBQ3RCLGdCQUFnQixFQUFFO2dCQUNoQixJQUFJLEVBQUUsSUFBSTtnQkFDVixTQUFTO2dCQUNULE9BQU87YUFDUjtZQUNELGFBQWEsRUFBRSxJQUFJLENBQUMsMEJBQTBCLENBQUM7Z0JBQzdDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxLQUFLO2dCQUNuQyxJQUFJLEVBQUUsUUFBUTthQUNmLENBQUM7U0FDSCxDQUFDLENBQUM7SUFFTCxDQUFDO0lBRUQsZ0JBQWdCO0lBQ2hCLE1BQU0sQ0FBQyxJQUFXLEVBQUUsUUFBOEI7UUFDaEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBR08sMEJBQTBCLENBQUMsZ0JBQWlDLEVBQUU7UUFDcEUsT0FBTztZQUNMLEdBQUksSUFBWSxDQUFDLGtCQUFrQixFQUFFO1lBQ3JDLE1BQU0sRUFBRSxxQkFBcUIsQ0FBQyxHQUFHO1lBQ2pDLFFBQVEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUM1QixHQUFHLGFBQWE7U0FDakIsQ0FBQztJQUNKLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc291cmNlIH0gZnJvbSAnLi4vUmVzb3VyY2UnO1xyXG5pbXBvcnQgeyBJUmVzb3VyY2VBY3Rpb24sIElSZXNvdXJjZVJlc3BvbnNlLCBSZXNvdXJjZUFjdGlvblJldHVyblR5cGUsIFJlc291cmNlUmVxdWVzdE1ldGhvZCB9IGZyb20gJy4uL0RlY2xhcmF0aW9ucyc7XHJcblxyXG5cclxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFJlc291cmNlQ1JVREJhc2U8VFF1ZXJ5LCBUU2hvcnQsIFRGdWxsLCBUUXVlcnlSZXN1bHQsIFRSZXRRdWVyeSwgVFJldEZ1bGwsIFRSZXRBbnk+IGV4dGVuZHMgUmVzb3VyY2Uge1xyXG5cclxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWJzdHJhY3QgJGNydWRSZXR1cm5BczogUmVzb3VyY2VBY3Rpb25SZXR1cm5UeXBlO1xyXG5cclxuICBxdWVyeShxdWVyeT86IFRRdWVyeSxcclxuICAgICAgICBvblN1Y2Nlc3M/OiAoZGF0YTogVFF1ZXJ5UmVzdWx0KSA9PiBhbnksXHJcbiAgICAgICAgb25FcnJvcj86IChlcnI6IElSZXNvdXJjZVJlc3BvbnNlKSA9PiBhbnkpOiBUUmV0UXVlcnkge1xyXG5cclxuICAgIHJldHVybiB0aGlzLiRyZXN0QWN0aW9uKHtcclxuICAgICAgYWN0aW9uQXR0cmlidXRlczoge1xyXG4gICAgICAgIGJvZHk6IHF1ZXJ5LFxyXG4gICAgICAgIG9uU3VjY2VzcyxcclxuICAgICAgICBvbkVycm9yXHJcbiAgICAgIH0sXHJcbiAgICAgIGFjdGlvbk9wdGlvbnM6IHRoaXMuJF9jcnVkQmFzZUdldEFjdGlvbk9wdGlvbnMoKVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgZ2V0KGRhdGE6IHsgaWQ6IGFueSB9LFxyXG4gICAgICBvblN1Y2Nlc3M/OiAoZGF0YTogVEZ1bGwpID0+IGFueSxcclxuICAgICAgb25FcnJvcj86IChlcnI6IElSZXNvdXJjZVJlc3BvbnNlKSA9PiBhbnkpOiBUUmV0RnVsbCB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuJHJlc3RBY3Rpb24oe1xyXG4gICAgICBhY3Rpb25BdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgYm9keTogZGF0YSxcclxuICAgICAgICBvblN1Y2Nlc3MsXHJcbiAgICAgICAgb25FcnJvclxyXG4gICAgICB9LFxyXG4gICAgICBhY3Rpb25PcHRpb25zOiB0aGlzLiRfY3J1ZEJhc2VHZXRBY3Rpb25PcHRpb25zKHtcclxuICAgICAgICBwYXRoOiAnL3shaWR9J1xyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgc2F2ZShkYXRhOiBURnVsbCxcclxuICAgICAgIG9uU3VjY2Vzcz86IChkYXRhOiBURnVsbCkgPT4gYW55LFxyXG4gICAgICAgb25FcnJvcj86IChlcnI6IElSZXNvdXJjZVJlc3BvbnNlKSA9PiBhbnkpOiBUUmV0RnVsbCB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuJHJlc3RBY3Rpb24oe1xyXG4gICAgICBhY3Rpb25BdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgYm9keTogZGF0YSxcclxuICAgICAgICBvblN1Y2Nlc3MsXHJcbiAgICAgICAgb25FcnJvclxyXG4gICAgICB9LFxyXG4gICAgICBhY3Rpb25PcHRpb25zOiB0aGlzLiRfY3J1ZEJhc2VHZXRBY3Rpb25PcHRpb25zKHtcclxuICAgICAgICBtZXRob2Q6IFJlc291cmNlUmVxdWVzdE1ldGhvZC5Qb3N0LFxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXBkYXRlKGRhdGE6IFRGdWxsLFxyXG4gICAgICAgICBvblN1Y2Nlc3M/OiAoZGF0YTogVEZ1bGwpID0+IGFueSxcclxuICAgICAgICAgb25FcnJvcj86IChlcnI6IElSZXNvdXJjZVJlc3BvbnNlKSA9PiBhbnkpOiBUUmV0RnVsbCB7XHJcblxyXG4gICAgcmV0dXJuIHRoaXMuJHJlc3RBY3Rpb24oe1xyXG4gICAgICBhY3Rpb25BdHRyaWJ1dGVzOiB7XHJcbiAgICAgICAgYm9keTogZGF0YSxcclxuICAgICAgICBvblN1Y2Nlc3MsXHJcbiAgICAgICAgb25FcnJvclxyXG4gICAgICB9LFxyXG4gICAgICBhY3Rpb25PcHRpb25zOiB0aGlzLiRfY3J1ZEJhc2VHZXRBY3Rpb25PcHRpb25zKHtcclxuICAgICAgICBtZXRob2Q6IFJlc291cmNlUmVxdWVzdE1ldGhvZC5QdXQsXHJcbiAgICAgICAgcGF0aDogJy97IWlkfSdcclxuICAgICAgfSlcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIHJlbW92ZShkYXRhOiB7IGlkOiBhbnkgfSxcclxuICAgICAgICAgb25TdWNjZXNzPzogKGRhdGE6IGFueSkgPT4gYW55LFxyXG4gICAgICAgICBvbkVycm9yPzogKGVycjogSVJlc291cmNlUmVzcG9uc2UpID0+IGFueSk6IFRSZXRBbnkge1xyXG5cclxuICAgIHJldHVybiB0aGlzLiRyZXN0QWN0aW9uKHtcclxuICAgICAgYWN0aW9uQXR0cmlidXRlczoge1xyXG4gICAgICAgIGJvZHk6IGRhdGEsXHJcbiAgICAgICAgb25TdWNjZXNzLFxyXG4gICAgICAgIG9uRXJyb3JcclxuICAgICAgfSxcclxuICAgICAgYWN0aW9uT3B0aW9uczogdGhpcy4kX2NydWRCYXNlR2V0QWN0aW9uT3B0aW9ucyh7XHJcbiAgICAgICAgbWV0aG9kOiBSZXNvdXJjZVJlcXVlc3RNZXRob2QuRGVsZXRlLFxyXG4gICAgICAgIHBhdGg6ICcveyFpZH0nXHJcbiAgICAgIH0pXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG5cclxuICBwYXRjaChkYXRhOiB7IGlkOiBhbnkgfSAmIFBhcnRpYWw8VEZ1bGw+LFxyXG4gICAgICAgIG9uU3VjY2Vzcz86IChkYXRhOiBURnVsbCkgPT4gYW55LFxyXG4gICAgICAgIG9uRXJyb3I/OiAoZXJyOiBJUmVzb3VyY2VSZXNwb25zZSkgPT4gYW55KTogVFJldEZ1bGwge1xyXG5cclxuICAgIHJldHVybiB0aGlzLiRyZXN0QWN0aW9uKHtcclxuICAgICAgYWN0aW9uQXR0cmlidXRlczoge1xyXG4gICAgICAgIGJvZHk6IGRhdGEsXHJcbiAgICAgICAgb25TdWNjZXNzLFxyXG4gICAgICAgIG9uRXJyb3JcclxuICAgICAgfSxcclxuICAgICAgYWN0aW9uT3B0aW9uczogdGhpcy4kX2NydWRCYXNlR2V0QWN0aW9uT3B0aW9ucyh7XHJcbiAgICAgICAgbWV0aG9kOiBSZXNvdXJjZVJlcXVlc3RNZXRob2QuUGF0Y2gsXHJcbiAgICAgICAgcGF0aDogJy97IWlkfSdcclxuICAgICAgfSlcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIC8vIEFsaWFzIHRvIHNhdmVcclxuICBjcmVhdGUoZGF0YTogVEZ1bGwsIGNhbGxiYWNrPzogKHJlczogVEZ1bGwpID0+IGFueSk6IFRSZXRGdWxsIHtcclxuICAgIHJldHVybiB0aGlzLnNhdmUoZGF0YSwgY2FsbGJhY2spO1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgJF9jcnVkQmFzZUdldEFjdGlvbk9wdGlvbnMoYWN0aW9uT3B0aW9uczogSVJlc291cmNlQWN0aW9uID0ge30pOiBJUmVzb3VyY2VBY3Rpb24ge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgLi4uKHRoaXMgYXMgYW55KS5nZXRSZXNvdXJjZU9wdGlvbnMoKSxcclxuICAgICAgbWV0aG9kOiBSZXNvdXJjZVJlcXVlc3RNZXRob2QuR2V0LFxyXG4gICAgICByZXR1cm5BczogdGhpcy4kY3J1ZFJldHVybkFzLFxyXG4gICAgICAuLi5hY3Rpb25PcHRpb25zXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbn1cclxuIl19