@kkoehn/ngx-resource-core
Version:
Core of resource library
90 lines • 10 kB
JavaScript
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