这个 @flatfile/util-response-rejection 用于处理外部源的响应拒绝。 它被设计成在"Egres"收听器中用作拒绝响应处理器.

使用量
目的 @flatfile/util-response-rejection 工具是处理一些记录的情况
在侵略过程中被拒绝。 这个 responseRejectionHandler 函数旨在
使用包含被否决的记录的一组工作表,然后按
标记违法的记录字段,并带有返回的拒绝信息,说明为什么
拒绝。 如果响应值为 deleteSubmitted 实值 true,成功提交的数值
将从工作表中删除。 若为 deleteSubmitted 虚假或未提供,a Submission Status
字段被添加到工作表,每个记录被设定为“提交”或“拒绝”。 最终,
它返回在所有工作表中可以使用的所有被拒绝的记录的总数
补全信息.
npm i @flatfile/util-response-rejection
import {
responseRejectionHandler,
RejectionResponse,
} from "@flatfile/util-response-rejection";
拒绝处理器函数
- 这个
responseRejectionHandler函数是工具的主要切入点。 它需要一个参数:responseRejection: 包含拒绝数据的对象。 此对象的结构由RejectionResponse接口.
- 这个
responseRejectionHandler函数返回 aPromise决心number代表所有工作表中被拒绝的记录总数.
listener.on(
"job:ready",
{ job: "workbook:submitActionFg" },
async ({ context: { jobId } }) => {
// ...
const response = await axios.post("https://webhook.site/...", data, {
headers: {
"Content-Type": "application/json",
},
});
const rejections: RejectionResponse = response.data.rejections;
if (rejections) {
return await responseRejectionHandler(rejections);
}
// ...
}
);
拒绝响应接口
这个 RejectionResponse 界面定义 responseRejection 传输到 responseRejectionHandler 函数。 这个 RejectionResponse'结构如下:
{ // RejectionResponse interface
id: string; // The Workbook ID
message: "Success! All records are valid.", // Optional
deleteSubmitted: true, // Optional
sheets: [
{ // SheetRejections interface
sheetId: string; // The Sheet ID
rejectedRecords: [
{ // RecordRejections interface
id: string; // The Record ID
values: [
{
field: string; // The field key
message: string;
}
];
}
// other rejected records...
];
}
// other sheets...
];
}
这个 message 属性是可选的。 如果提供, 此信件将显示给用户 。 这一电文应当设定为中选提交书或否决提交书.
这个 deleteSubmitted 属性是可选的。 如果选中, 成功提交的值将从工作表中删除 。 如果虚假或未提供,a Submission Status 字段被添加到工作表,每个记录被设定为“提交”或“拒绝”.
帮助函数
- 代码中包含一个辅助功能,用于协助"平面文件工作表"更新进程:
updateSheet: 更新平面文件 工作表将返回的拒绝信件作为错误信件添加到记录中 .
类型定义
- 代码定义了三个接口:
RejectionResponse, (中文(简体) ),SheetRejections财务报告和审定财务报表RecordRejections。这些接口代表了responseRejectionHandler()。 。 。 .