// // import { ResourceUtils, Resource, InstanceResource, HasInstanceResource, GetEnabled, UpdateEnabled, CreateEnabled, DeleteEnabled, ListEnabled, Paginated, ListResponse, EmptyResponse, Signable, SigningUtils } from '../../../lib/core-sdk' export interface Post{ id : number userId : number, title : string, body : string } export class PostsResource extends Resource implements HasInstanceResource, ListEnabled, CreateEnabled { withId = (id: any):PostResource =>{ return new PostResource(id,this.getPath(),this.getClient()); }; list = () : Promise> =>{ return ResourceUtils.CallListWithSuffix(this,null,null,null); } create = (payload: CreatePostRequest): Promise => { return ResourceUtils.CallCreate(this, payload).then((response: CreatePostResponse) => { SigningUtils.createSigningObject(response, this.getClient(), `${this.getClient().getPath()}/posts`); return response; }); } } export class PostResource extends InstanceResource implements GetEnabled { get = ():Promise =>{ return ResourceUtils.CallGet(this,null); } delete = () : Promise => { return ResourceUtils.CallDelete(this,null); } } export interface CreatePostRequest { userId: number; id: number; title: string; body: string; } export interface CreatePostResponse extends CreatePostRequest, Signable {}