import { EntityApi, IApi, IApiPayload, IApp, IdResultPayload } from "@etsoo/appscript"; import { AssetListRQ } from "./rq/asset/AssetListRQ"; import { AssetListData } from "./dto/asset/AssetListData"; import { AssetQueryRQ } from "./rq/asset/AssetQueryRQ"; import { AssetQueryData } from "./dto/asset/AssetQueryData"; import { AssetUpdateReadData } from "./dto/asset/AssetUpdateReadData"; import { AssetUpdateRQ } from "./rq/asset/AssetUpdateRQ"; import { AssetCreateRQ } from "./rq/asset/AssetCreateRQ"; import { AssetViewData } from "./dto/asset/AssetViewData"; /** * Asset API */ export class AssetApi extends EntityApi { /** * Constructor * @param app Application * @param api API */ constructor(app: IApp, api: IApi = app.api) { super("Asset", app, api); } /** * Create * @param rq Request data * @param payload Payload * @returns Result */ create(rq: AssetCreateRQ, payload?: IdResultPayload) { return this.createBase(rq, payload); } /** * List * @param rq Request data * @param payload Payload * @returns Result */ list(rq: AssetListRQ, payload?: IApiPayload) { return this.listBase(rq, payload); } /** * Query * @param rq Request data * @param payload Payload * @returns Result */ query(rq: AssetQueryRQ, payload?: IApiPayload) { return this.queryBase(rq, payload); } /** * Read * @param id Id * @param payload Payload * @returns Result */ read(id: number, payload?: IApiPayload) { return this.readBase(id, payload); } /** * Read asset sensitive data * @param id Id * @param payload Payload * @returns Result */ readSensitiveData(id: number, payload?: IApiPayload) { return this.api.post( `${this.flag}/ReadSensitiveData/${id}`, undefined, payload ); } /** * Update * @param rq Request data * @param payload Payload * @returns Result */ update(rq: AssetUpdateRQ, payload?: IdResultPayload) { return this.updateBase(rq, payload); } /** * Update read * @param id Id * @param payload Payload * @returns Result */ updateRead(id: number, payload?: IApiPayload) { return this.updateReadBase(id, payload); } }