erpnext-queue-client 2.5.4 → 2.5.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -6,7 +6,7 @@ export declare class ERPNextReports extends ERPNextMethodRequest {
|
|
|
6
6
|
private resourceRequest;
|
|
7
7
|
constructor(temporalClient: TemporalClient);
|
|
8
8
|
enqueueReport(reportName: string, body: Record<string, unknown>): Promise<EnqueueReportResponseType>;
|
|
9
|
-
isPreparedReport(reportName: string): Promise<
|
|
9
|
+
isPreparedReport(reportName: string): Promise<0 | 1>;
|
|
10
10
|
getReport<RModel extends ZodTypeAny>(reportName: string, body: Record<string, unknown>, reportRowModel?: RModel): Promise<z.infer<typeof reportRowModel extends undefined ? ZodTypeAny : RModel>[]>;
|
|
11
11
|
getEnqueuedReport<RModel extends ZodTypeAny>(reportName: string, body: Record<string, unknown>, enqueuedReportName: string, reportRowModel?: RModel): Promise<z.infer<typeof reportRowModel extends undefined ? ZodTypeAny : RModel>[]>;
|
|
12
12
|
enqueueAndGetReport<RModel extends ZodTypeAny>(reportName: string, body: Record<string, unknown>, reportRowModel?: RModel): Promise<z.infer<typeof reportRowModel extends undefined ? ZodTypeAny : RModel>[]>;
|
package/dist/erpnext/reports.js
CHANGED
|
@@ -7,6 +7,7 @@ const Report_1 = require("./model/Report");
|
|
|
7
7
|
const lodash_1 = require("lodash");
|
|
8
8
|
const utils_1 = require("../utils/utils");
|
|
9
9
|
const resourceRequest_1 = require("./resourceRequest");
|
|
10
|
+
const Boolean_1 = require("./model/Boolean");
|
|
10
11
|
class ERPNextReports extends methodRequest_1.ERPNextMethodRequest {
|
|
11
12
|
resourceRequest;
|
|
12
13
|
constructor(temporalClient) {
|
|
@@ -31,7 +32,9 @@ class ERPNextReports extends methodRequest_1.ERPNextMethodRequest {
|
|
|
31
32
|
fields: ["prepared_report"],
|
|
32
33
|
filters: [["name", "=", reportName]],
|
|
33
34
|
limit: 1,
|
|
34
|
-
resourceModel:
|
|
35
|
+
resourceModel: zod_1.z
|
|
36
|
+
.object({ prepared_report: Boolean_1.ERPNextBoolean })
|
|
37
|
+
.describe("Report DocType"),
|
|
35
38
|
});
|
|
36
39
|
if (!result[0])
|
|
37
40
|
throw new Error(`Report ${reportName} not found`);
|
|
@@ -90,7 +93,6 @@ class ERPNextReports extends methodRequest_1.ERPNextMethodRequest {
|
|
|
90
93
|
...body,
|
|
91
94
|
},
|
|
92
95
|
requestMethod: "POST",
|
|
93
|
-
responseValidationModel: zod_1.z.any().describe("Any"),
|
|
94
96
|
});
|
|
95
97
|
// Casting to correct type since Typescript is not able to infer the type correctly.
|
|
96
98
|
// Type safety is ensured by zod
|
|
@@ -98,7 +100,7 @@ class ERPNextReports extends methodRequest_1.ERPNextMethodRequest {
|
|
|
98
100
|
const validatedReponse = responseValidationModel.parse(reportResponse);
|
|
99
101
|
return validatedReponse.result.filter((r) => !(0, lodash_1.isArray)(r));
|
|
100
102
|
}
|
|
101
|
-
await (0, utils_1.timeout)(
|
|
103
|
+
await (0, utils_1.timeout)(5000);
|
|
102
104
|
}
|
|
103
105
|
throw new Error(`Failed to get report ${reportName} with body ${JSON.stringify(body)}`);
|
|
104
106
|
}
|
package/dist/utils/zodUtils.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { z, ZodObject, ZodRawShape } from "zod";
|
|
2
2
|
export declare function validateData<T extends z.ZodTypeAny>(data: unknown, ValidationModel: T, isDebug?: boolean): z.infer<T>;
|
|
3
3
|
export declare function pickFromSchema<T extends ZodRawShape, K extends keyof T>(schema: ZodObject<T>, keys: readonly K[]): ZodObject<Pick<T, K>>;
|
|
4
|
-
export type KeysOf<T> = T extends ZodObject<any> ? keyof z.infer<T> : string;
|
|
4
|
+
export type KeysOf<T extends z.ZodTypeAny> = T extends z.ZodObject<any> ? keyof z.infer<T> : string;
|
package/dist/utils/zodUtils.js
CHANGED
|
@@ -4,12 +4,16 @@ exports.validateData = validateData;
|
|
|
4
4
|
exports.pickFromSchema = pickFromSchema;
|
|
5
5
|
const zod_1 = require("zod");
|
|
6
6
|
const constants_1 = require("../constants");
|
|
7
|
+
const logger_1 = require("./logger");
|
|
7
8
|
function validateData(data, ValidationModel, isDebug) {
|
|
8
9
|
if (!ValidationModel.description)
|
|
9
10
|
throw new Error("ValidationModel.description is required");
|
|
10
|
-
//
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
// Avoid `instanceof` checks: they can fail when schemas come from a different
|
|
12
|
+
// zod package instance (e.g. host app vs this package dependency).
|
|
13
|
+
if (!ValidationModel ||
|
|
14
|
+
typeof ValidationModel !== "object" ||
|
|
15
|
+
typeof ValidationModel.safeParse !== "function") {
|
|
16
|
+
logger_1.lg.error("Invalid Zod Model", ValidationModel);
|
|
13
17
|
throw new Error("Invalid Zod Model");
|
|
14
18
|
}
|
|
15
19
|
const validationResult = ValidationModel.safeParse(data);
|