ngx-resource-core
Version:
Core of resource library - Forked and modified
45 lines (34 loc) • 1.08 kB
text/typescript
import { Resource } from '../Resource';
import { ResourceAction } from '../ResourceAction';
import { IResourceMethod, ResourceRequestMethod } from '../Declarations';
export abstract class ResourceCRUD<TQuery, TShort, TFull, TQueryResult = TShort[]> extends Resource {
()
query: IResourceMethod<TQuery, TQueryResult>;
({
path: '/{!id}'
})
get: IResourceMethod<{ id: any }, TFull>;
({
method: ResourceRequestMethod.Post
})
save: IResourceMethod<TFull, TFull>;
({
method: ResourceRequestMethod.Put,
path: '/{!id}'
})
update: IResourceMethod<TFull, TFull>;
({
method: ResourceRequestMethod.Delete,
path: '/{!:id}'
})
remove: IResourceMethod<{ id: any }, any>;
({
method: ResourceRequestMethod.Patch,
path: '/{!id}'
})
patch: IResourceMethod<{ id: any } & Partial<TFull>, TFull>;
// Alias to save
create(data: TFull, callback?: (res: TFull) => any): Promise<TFull> {
return this.save(data, callback);
}
}