@etsoo/smarterp-core
Version:
TypeScript APIs for SmartERP Core
89 lines (81 loc) • 2.03 kB
text/typescript
import {
EntityApi,
IApi,
IApiPayload,
IApp,
IdResultPayload
} from "@etsoo/appscript";
import { DocumentListData } from "./dto/document/DocumentListData";
import { DocumentListRQ } from "./rq/document/DocumentListRQ";
import { DocumentReadData } from "./dto/document/DocumentReadData";
import { DocumentCreateRQ } from "./rq/document/DocumentCreateRQ";
import { DocumentQueryRQ } from "./rq/document/DocumentQueryRQ";
import { DocumentQueryData } from "./dto/document/DocumentQueryData";
import { DocumentUpdateRQ } from "./rq/document/DocumentUpdateRQ";
/**
* Document API
*/
export class DocumentApi extends EntityApi {
/**
* Constructor
* @param app Application
* @param api API
*/
constructor(app: IApp, api: IApi = app.api) {
super("Document", app, api);
}
/**
* Create
* @param rq Request data
* @param payload Payload
* @returns Result
*/
create(rq: DocumentCreateRQ, payload?: IdResultPayload) {
return this.createBase(rq, payload);
}
/**
* Delete
* @param id Id
* @param payload Payload
* @returns Result
*/
delete(id: number, payload?: IdResultPayload) {
return this.deleteBase(id, payload);
}
/**
* List
* @param rq Request data
* @param payload Payload
* @returns Result
*/
list(rq: DocumentListRQ, payload: IApiPayload<DocumentListData[]>) {
return this.listBase(rq, payload);
}
/**
* Query
* @param rq Request data
* @param payload Payload
* @returns Result
*/
query(rq: DocumentQueryRQ, payload?: IApiPayload<DocumentQueryData[]>) {
return this.queryBase(rq, payload);
}
/**
* Read
* @param id Id
* @param payload Payload
* @returns Result
*/
read(id: number, payload?: IApiPayload<DocumentReadData>) {
return this.readBase(id, payload);
}
/**
* Update
* @param rq Request data
* @param payload Payload
* @returns Result
*/
update(rq: DocumentUpdateRQ, payload?: IdResultPayload) {
return this.updateBase(rq, payload);
}
}