@etsoo/smarterp-core
Version:
TypeScript APIs for SmartERP Core
273 lines (272 loc) • 7.21 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrgApi = void 0;
const restclient_1 = require("@etsoo/restclient");
const appscript_1 = require("@etsoo/appscript");
const OrgDownloadKind_1 = require("./dto/org/OrgDownloadKind");
const shared_1 = require("@etsoo/shared");
/**
* Organization API
* 机构接口
*/
class OrgApi extends appscript_1.EntityApi {
/**
* Constructor
* @param app Application
* @param api API
*/
constructor(app, api = app.api) {
super("Org", app, api);
}
/**
* Create
* @param rq Request data
* @param payload Payload
* @returns Result
*/
create(rq, payload) {
return this.createBase(rq, payload);
}
/**
* Create API
* @param rq Request data
* @param payload Payload
* @returns Result
*/
createApi(rq, payload) {
return this.api.post(`${this.flag}/CreateApi`, rq, payload);
}
/**
* Create resource
* @param rq Request data
* @param payload Payload
* @returns Result
*/
createResource(rq, payload) {
return this.api.post(`${this.flag}/CreateResource`, rq, payload);
}
/**
* Delete
* @param id Id
* @param payload Payload
* @returns Result
*/
delete(id, payload) {
return this.deleteBase(id, payload);
}
/**
* Download file
* @kind Download kind
* @param id id
* @param payload Payload
* @returns Result
*/
async downloadFile(kind, id) {
const payload = {
responseType: restclient_1.ApiResponseType.Stream
};
const key = shared_1.DataTypes.getEnumKey(OrgDownloadKind_1.OrgDownloadKind, kind);
const result = await this.api.get(`${this.flag}/Download${key}File/${id}`, undefined, payload);
if (result == null || payload.response == null)
return;
const filename = this.api.getContentDisposition(payload.response)?.filename ??
"DownloadFile";
await this.app.download(result, filename);
}
/**
* Format HTML content
* @param content HTML content
* @param payload Payload
* @returns Result
*/
formatHtmlContent(content, payload) {
return this.api.post(`${this.flag}/FormatHtmlContent`, content, payload);
}
/**
* Get current organization's custom resources
* @param culture Culture
* @param payload Payload
* @returns Result
*/
getCustomResources(culture, payload) {
return this.api.get(`${this.flag}/GetCustomResources/${culture}`, undefined, payload);
}
/**
* Get user's latest accessed organizations
* @param rq Request data
* @param payload Payload
* @returns Result
*/
getMy(rq, payload) {
return this.api.post(`${this.flag}/GetMy`, rq, payload);
}
/**
* Leave the organization
* @param id Organization id
* @param payload Payload
* @returns Result
*/
leave(id, payload) {
return this.api.post(`${this.flag}/Leave/${id}`, undefined, payload);
}
/**
* List
* @param rq Request data
* @param payload Payload
* @returns Result
*/
list(rq, payload) {
return this.listBase(rq, payload);
}
/**
* Query
* @param rq Request data
* @param payload Payload
* @returns Result
*/
query(rq, payload) {
return this.queryBase(rq, payload);
}
/**
* Query API
* @param rq Request data
* @param payload Payload
* @returns Result
*/
queryApi(rq, payload) {
return this.api.post(`${this.flag}/QueryApi`, rq, payload);
}
/**
* Query custom resources
* @param rq Request data
* @param payload Payload
* @returns Result
*/
queryResource(rq, payload) {
return this.api.post(`${this.flag}/QueryResource`, rq, payload);
}
/**
* Read
* @param id Id
* @param payload Payload
* @returns Result
*/
read(id, payload) {
return this.readBase(id, payload);
}
/**
* Read API schema
* 读取接口架构
* @param service API service
* @param payload Payload
* @returns Result
*/
readApiSchema(service, payload) {
return this.api.get(`${this.flag}/ReadApiSchema/${service}`, undefined, payload);
}
/**
* Get Antiforgery request token
* 获取反伪造请求令牌
* @param payload Payload
* @returns Result
*/
requestToken(payload) {
return this.api.get(`${this.flag}/RequestToken`, undefined, payload);
}
/**
* Send email
* 发送邮件
* @param message Email message
* @param payload Payload
* @returns Result
*/
sendEmail(message, payload) {
return this.api.post(`${this.flag}/SendEmail`, message, payload);
}
/**
* Send SMS
* 发送短信
* @param message SMS message
* @param payload Payload
* @returns Result
*/
sendSMS(message, payload) {
return this.api.post(`${this.flag}/SendSMS`, message, payload);
}
/**
* Send profile email
* @param rq Request data
* @param payload Payload
* @returns Result
*/
sendProfileEmail(rq, payload) {
return this.api.post(`${this.flag}/SendProfileEmail`, rq, payload);
}
/**
* Update
* @param rq Request data
* @param payload Payload
* @returns Result
*/
update(rq, payload) {
return this.updateBase(rq, payload);
}
/**
* Update API
* @param rq Request data
* @param payload Payload
* @returns Result
*/
updateApi(rq, payload) {
return this.api.put(`${this.flag}/UpdateApi`, rq, payload);
}
/**
* Update avatar
* @param id Organization id
* @param data Avatar form data
* @param payload Payload
* @returns Result
*/
updateAvatar(id, data, payload) {
return this.api.put(`${this.flag}/UpdateAvatar/${id}`, data, payload);
}
/**
* Update read
* @param id Id
* @param payload Payload
* @returns Result
*/
updateRead(id, payload) {
return this.updateReadBase(id, payload);
}
/**
* Update API read
* @param id Id
* @param payload Payload
* @returns Result
*/
updateApiRead(id, payload) {
return this.api.get(`${this.flag}/UpdateApiRead/${id}`, undefined, payload);
}
/**
* Upload profle attachments
* @param id Profile id
* @param files Files
* @param action Action data
* @param payload Payload
* @returns Result
*/
uploadProfileFiles(id, files, action, payload) {
return this.api.post(`${this.flag}/UploadProfileFiles/${id}?action=${encodeURIComponent(JSON.stringify(action))}`, files, payload);
}
/**
* Update read
* @param id Id
* @param payload Payload
* @returns Result
*/
updateResourceRead(id, payload) {
return this.api.get(`${this.flag}/UpdateResourceRead/${id}`, undefined, payload);
}
}
exports.OrgApi = OrgApi;