@bosonprotocol/core-sdk 1.46.0-alpha.2 → 1.46.0-alpha.4
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.
- package/dist/cjs/offers/checkExchangePolicy.d.ts +12 -0
- package/dist/cjs/offers/checkExchangePolicy.d.ts.map +1 -1
- package/dist/cjs/offers/checkExchangePolicy.js +110 -10
- package/dist/cjs/offers/checkExchangePolicy.js.map +1 -1
- package/dist/cjs/offers/renderContractualAgreement.d.ts.map +1 -1
- package/dist/cjs/offers/renderContractualAgreement.js +12 -6
- package/dist/cjs/offers/renderContractualAgreement.js.map +1 -1
- package/dist/esm/offers/checkExchangePolicy.d.ts +12 -0
- package/dist/esm/offers/checkExchangePolicy.d.ts.map +1 -1
- package/dist/esm/offers/checkExchangePolicy.js +109 -9
- package/dist/esm/offers/checkExchangePolicy.js.map +1 -1
- package/dist/esm/offers/renderContractualAgreement.d.ts.map +1 -1
- package/dist/esm/offers/renderContractualAgreement.js +11 -5
- package/dist/esm/offers/renderContractualAgreement.js.map +1 -1
- package/package.json +3 -3
- package/src/offers/checkExchangePolicy.ts +138 -13
- package/src/offers/renderContractualAgreement.ts +20 -5
|
@@ -28,6 +28,7 @@ export type CheckExchangePolicyRules = {
|
|
|
28
28
|
title?: string;
|
|
29
29
|
description?: string;
|
|
30
30
|
type: string;
|
|
31
|
+
metadataType?: string;
|
|
31
32
|
properties: {
|
|
32
33
|
[key: string]: YupPropertyDef;
|
|
33
34
|
};
|
|
@@ -44,6 +45,17 @@ export type CheckExchangePolicyRules = {
|
|
|
44
45
|
};
|
|
45
46
|
};
|
|
46
47
|
};
|
|
48
|
+
yupSchemas?: {
|
|
49
|
+
$schema?: string;
|
|
50
|
+
$id?: string;
|
|
51
|
+
title?: string;
|
|
52
|
+
description?: string;
|
|
53
|
+
type: string;
|
|
54
|
+
metadataType: string;
|
|
55
|
+
properties: {
|
|
56
|
+
[key: string]: YupPropertyDef;
|
|
57
|
+
};
|
|
58
|
+
}[];
|
|
47
59
|
};
|
|
48
60
|
export declare function checkExchangePolicy(offerData: OfferFieldsFragment, rules: CheckExchangePolicyRules): CheckExchangePolicyResult;
|
|
49
61
|
//# sourceMappingURL=checkExchangePolicy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkExchangePolicy.d.ts","sourceRoot":"","sources":["../../../src/offers/checkExchangePolicy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,EAAE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;
|
|
1
|
+
{"version":3,"file":"checkExchangePolicy.d.ts","sourceRoot":"","sources":["../../../src/offers/checkExchangePolicy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,EAAE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAErC,SAAS,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE;YACV,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;SAC/B,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,WAAW,CAAC,EAAE;YACZ,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;SACH,CAAC;KACH,CAAC;IAEF,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE;YACV,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;SAC/B,CAAC;KACH,EAAE,CAAC;CACL,CAAC;AAwCF,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,wBAAwB,GAC9B,yBAAyB,CA6F3B"}
|
|
@@ -2,23 +2,123 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.checkExchangePolicy = checkExchangePolicy;
|
|
4
4
|
const schema_to_yup_1 = require("schema-to-yup");
|
|
5
|
+
/**
|
|
6
|
+
* Helper function to safely extract validation errors from a Yup ValidationError.
|
|
7
|
+
*
|
|
8
|
+
* @param error - The error object to extract validation errors from
|
|
9
|
+
* @returns An array of error objects, each containing:
|
|
10
|
+
* - message: The error message string
|
|
11
|
+
* - path: The path to the invalid field
|
|
12
|
+
* - value: The invalid value
|
|
13
|
+
*
|
|
14
|
+
* Returns an empty array if:
|
|
15
|
+
* - The error is not a valid Yup ValidationError
|
|
16
|
+
* - The error doesn't have an `inner` property
|
|
17
|
+
* - The `inner` property is not an array
|
|
18
|
+
*/
|
|
19
|
+
function extractValidationErrors(error) {
|
|
20
|
+
if (error &&
|
|
21
|
+
typeof error === "object" &&
|
|
22
|
+
"inner" in error &&
|
|
23
|
+
Array.isArray(error.inner)) {
|
|
24
|
+
return error.inner.map((e) => {
|
|
25
|
+
// Extract only the needed properties from the error object
|
|
26
|
+
if (e && typeof e === "object") {
|
|
27
|
+
return {
|
|
28
|
+
message: "message" in e ? String(e.message) : "",
|
|
29
|
+
path: e.path || "",
|
|
30
|
+
value: e.value || undefined
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
return { message: "", path: "", value: undefined };
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
5
38
|
function checkExchangePolicy(offerData, rules) {
|
|
6
|
-
var _a;
|
|
7
|
-
|
|
39
|
+
var _a, _b, _c;
|
|
40
|
+
let baseSchema;
|
|
41
|
+
const metadataType = (_a = offerData.metadata) === null || _a === void 0 ? void 0 : _a.type;
|
|
42
|
+
if (!rules.yupSchema.metadataType ||
|
|
43
|
+
metadataType === rules.yupSchema.metadataType) {
|
|
44
|
+
baseSchema = (0, schema_to_yup_1.buildYup)(rules.yupSchema, rules.yupConfig);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
// For multiple schemas, use the one matching metadata.type
|
|
48
|
+
const rulesTemplate = (_b = rules.yupSchemas) === null || _b === void 0 ? void 0 : _b.find((schema) => schema.metadataType === metadataType);
|
|
49
|
+
if (!rulesTemplate) {
|
|
50
|
+
return {
|
|
51
|
+
isValid: false,
|
|
52
|
+
errors: [
|
|
53
|
+
{
|
|
54
|
+
message: `Unsupported metadata type: ${String(metadataType)}`,
|
|
55
|
+
path: "metadata.type",
|
|
56
|
+
value: metadataType
|
|
57
|
+
}
|
|
58
|
+
]
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
baseSchema = (0, schema_to_yup_1.buildYup)(rulesTemplate, rules.yupConfig);
|
|
62
|
+
}
|
|
63
|
+
let result = {
|
|
64
|
+
isValid: true,
|
|
65
|
+
errors: []
|
|
66
|
+
};
|
|
8
67
|
try {
|
|
9
68
|
baseSchema.validateSync(offerData, { abortEarly: false });
|
|
10
69
|
}
|
|
11
70
|
catch (e) {
|
|
12
|
-
|
|
71
|
+
result = {
|
|
13
72
|
isValid: false,
|
|
14
|
-
errors: (
|
|
15
|
-
return Object.assign({}, error);
|
|
16
|
-
})) || []
|
|
73
|
+
errors: extractValidationErrors(e)
|
|
17
74
|
};
|
|
18
75
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
76
|
+
if (metadataType === "BUNDLE") {
|
|
77
|
+
// For BUNDLE metadata, check each item in the bundle
|
|
78
|
+
const bundleItems = ((_c = offerData.metadata) === null || _c === void 0 ? void 0 : _c.items) || [];
|
|
79
|
+
if (bundleItems.length === 0) {
|
|
80
|
+
// An empty bundle is semantically invalid
|
|
81
|
+
result.isValid = false;
|
|
82
|
+
result.errors = result.errors.concat([
|
|
83
|
+
{
|
|
84
|
+
message: "Bundle metadata must contain at least one item.",
|
|
85
|
+
path: "metadata.items",
|
|
86
|
+
value: bundleItems
|
|
87
|
+
}
|
|
88
|
+
]);
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
for (const item of bundleItems) {
|
|
92
|
+
const itemType = item.type;
|
|
93
|
+
const itemRulesTemplate = Array.isArray(rules.yupSchemas)
|
|
94
|
+
? rules.yupSchemas.find((schema) => schema.metadataType === itemType)
|
|
95
|
+
: undefined;
|
|
96
|
+
const itemSchema = itemRulesTemplate
|
|
97
|
+
? (0, schema_to_yup_1.buildYup)(itemRulesTemplate, rules.yupConfig)
|
|
98
|
+
: undefined;
|
|
99
|
+
if (itemSchema) {
|
|
100
|
+
try {
|
|
101
|
+
itemSchema.validateSync(item, { abortEarly: false });
|
|
102
|
+
}
|
|
103
|
+
catch (e) {
|
|
104
|
+
result.isValid = false;
|
|
105
|
+
result.errors = result.errors.concat(extractValidationErrors(e));
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
// Ensure bundle contains at least one ITEM_PRODUCT_V1 item,
|
|
111
|
+
// as required by the UI logic to extract exchange policy and shipping data.
|
|
112
|
+
const hasRequiredProductItem = bundleItems.some((item) => item.type === "ITEM_PRODUCT_V1");
|
|
113
|
+
if (!hasRequiredProductItem) {
|
|
114
|
+
result.isValid = false;
|
|
115
|
+
result.errors = result.errors.concat({
|
|
116
|
+
message: "Bundle metadata must contain at least one ITEM_PRODUCT_V1 item to provide exchange policy and shipping information.",
|
|
117
|
+
path: "metadata.items",
|
|
118
|
+
value: bundleItems
|
|
119
|
+
});
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return result;
|
|
23
123
|
}
|
|
24
124
|
//# sourceMappingURL=checkExchangePolicy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkExchangePolicy.js","sourceRoot":"","sources":["../../../src/offers/checkExchangePolicy.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"checkExchangePolicy.js","sourceRoot":"","sources":["../../../src/offers/checkExchangePolicy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderContractualAgreement.d.ts","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAa,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"renderContractualAgreement.d.ts","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAa,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,mBAAmB,EAMpB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,uBAAuB,GAAG;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,iBAAiB,EAAE,YAAY,CAAC;IAChC,6BAA6B,EAAE,YAAY,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,eAAe,GACjD,uBAAuB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEJ,qBAAa,qBAAsB,SAAQ,KAAK;IAC3B,iBAAiB,EAAE,MAAM,EAAE;gBAA3B,iBAAiB,EAAE,MAAM,EAAE;CAK/C;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAC/B,iBAAiB,EAAE,MAAM,EAAE;gBAA3B,iBAAiB,EAAE,MAAM,EAAE;CAO/C;AAED,eAAO,MAAM,mBAAmB,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAkBnD,CAAC;AAEd,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,kBAAkB,EAAE,YAAY,CAAC;IACjC,iBAAiB,EAAE,YAAY,CAAC;IAChC,iBAAiB,EAAE,YAAY,CAAC;IAChC,kBAAkB,EAAE,YAAY,CAAC;IACjC,6BAA6B,EAAE,YAAY,CAAC;IAC5C,8BAA8B,EAAE,YAAY,CAAC;IAC7C,yBAAyB,EAAE,YAAY,CAAC;IACxC,4BAA4B,EAAE,YAAY,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,YAAY,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,GAAG,CAAC,YAAY,CAAC,uBAAuB,CAU/D,CAAC;AAgIhB,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,uBAAuB,EACtC,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAsDhC;AAGD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,uBAAuB,EACtC,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,kCAAkC,CACtD,iBAAiB,EAAE,mBAAmB,GACrC,OAAO,CAAC,MAAM,CAAC,CA+BjB"}
|
|
@@ -160,19 +160,25 @@ function checkOfferMetadataIsValid(offerMetadata, throwIfInvalid = false) {
|
|
|
160
160
|
return true;
|
|
161
161
|
}
|
|
162
162
|
function convertExistingOfferData(offerDataSubGraph) {
|
|
163
|
-
var _a, _b, _c, _d, _e;
|
|
163
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
164
|
+
const productItemMetadata = ((_a = offerDataSubGraph.metadata) === null || _a === void 0 ? void 0 : _a.type) === subgraph_1.MetadataType.BUNDLE
|
|
165
|
+
? (_b = offerDataSubGraph.metadata.items) === null || _b === void 0 ? void 0 : _b.find((item) => item.type === subgraph_1.ItemMetadataType.ITEM_PRODUCT_V1)
|
|
166
|
+
: undefined;
|
|
164
167
|
return {
|
|
165
|
-
offerData: Object.assign(Object.assign({}, offerDataSubGraph), { collectionIndex: offerDataSubGraph.collectionIndex || 0, validFromDateInMS: offerDataSubGraph.validFromDate, validUntilDateInMS: offerDataSubGraph.validUntilDate, voucherRedeemableFromDateInMS: offerDataSubGraph.voucherRedeemableFromDate, voucherRedeemableUntilDateInMS: offerDataSubGraph.voucherRedeemableUntilDate, disputePeriodDurationInMS: offerDataSubGraph.disputePeriodDuration, resolutionPeriodDurationInMS: offerDataSubGraph.resolutionPeriodDuration, exchangeToken: offerDataSubGraph.exchangeToken.address, feeLimit: offerDataSubGraph.price, priceType: common_1.PriceType.Static, royaltyInfo: {
|
|
168
|
+
offerData: Object.assign(Object.assign({}, offerDataSubGraph), { collectionIndex: offerDataSubGraph.collectionIndex || 0, validFromDateInMS: offerDataSubGraph.validFromDate, validUntilDateInMS: offerDataSubGraph.validUntilDate, voucherRedeemableFromDateInMS: offerDataSubGraph.voucherRedeemableFromDate, voucherRedeemableUntilDateInMS: offerDataSubGraph.voucherRedeemableUntilDate, voucherValidDurationInMS: offerDataSubGraph.voucherValidDuration, disputePeriodDurationInMS: offerDataSubGraph.disputePeriodDuration, resolutionPeriodDurationInMS: offerDataSubGraph.resolutionPeriodDuration, exchangeToken: offerDataSubGraph.exchangeToken.address, feeLimit: offerDataSubGraph.price, priceType: common_1.PriceType.Static, royaltyInfo: {
|
|
166
169
|
recipients: [constants_1.AddressZero], // AddressZero means Seller's treasury account
|
|
167
170
|
bps: ["0"] // Values should be greater or equal than Seller's minimum royalty amount
|
|
168
171
|
} }),
|
|
169
172
|
offerMetadata: {
|
|
170
|
-
sellerContactMethod: (
|
|
171
|
-
disputeResolverContactMethod: (
|
|
173
|
+
sellerContactMethod: (_c = offerDataSubGraph.metadata) === null || _c === void 0 ? void 0 : _c.exchangePolicy.sellerContactMethod,
|
|
174
|
+
disputeResolverContactMethod: (_d = (productItemMetadata ||
|
|
175
|
+
offerDataSubGraph.metadata)) === null || _d === void 0 ? void 0 : _d.exchangePolicy.disputeResolverContactMethod,
|
|
172
176
|
escalationDeposit: offerDataSubGraph.disputeResolutionTerms.buyerEscalationDeposit,
|
|
173
177
|
escalationResponsePeriodInSec: offerDataSubGraph.disputeResolutionTerms.escalationResponsePeriod,
|
|
174
|
-
sellerTradingName: (
|
|
175
|
-
|
|
178
|
+
sellerTradingName: (_f = (_e = (productItemMetadata ||
|
|
179
|
+
offerDataSubGraph.metadata)) === null || _e === void 0 ? void 0 : _e.productV1Seller) === null || _f === void 0 ? void 0 : _f.name,
|
|
180
|
+
returnPeriodInDays: (_g = (productItemMetadata ||
|
|
181
|
+
offerDataSubGraph.metadata)) === null || _g === void 0 ? void 0 : _g.shipping.returnPeriodInDays
|
|
176
182
|
},
|
|
177
183
|
tokenInfo: Object.assign(Object.assign({}, offerDataSubGraph.exchangeToken), { decimals: parseInt(offerDataSubGraph.exchangeToken.decimals) })
|
|
178
184
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderContractualAgreement.js","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"renderContractualAgreement.js","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export type CheckExchangePolicyRules = {
|
|
|
28
28
|
title?: string;
|
|
29
29
|
description?: string;
|
|
30
30
|
type: string;
|
|
31
|
+
metadataType?: string;
|
|
31
32
|
properties: {
|
|
32
33
|
[key: string]: YupPropertyDef;
|
|
33
34
|
};
|
|
@@ -44,6 +45,17 @@ export type CheckExchangePolicyRules = {
|
|
|
44
45
|
};
|
|
45
46
|
};
|
|
46
47
|
};
|
|
48
|
+
yupSchemas?: {
|
|
49
|
+
$schema?: string;
|
|
50
|
+
$id?: string;
|
|
51
|
+
title?: string;
|
|
52
|
+
description?: string;
|
|
53
|
+
type: string;
|
|
54
|
+
metadataType: string;
|
|
55
|
+
properties: {
|
|
56
|
+
[key: string]: YupPropertyDef;
|
|
57
|
+
};
|
|
58
|
+
}[];
|
|
47
59
|
};
|
|
48
60
|
export declare function checkExchangePolicy(offerData: OfferFieldsFragment, rules: CheckExchangePolicyRules): CheckExchangePolicyResult;
|
|
49
61
|
//# sourceMappingURL=checkExchangePolicy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkExchangePolicy.d.ts","sourceRoot":"","sources":["../../../src/offers/checkExchangePolicy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,EAAE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;
|
|
1
|
+
{"version":3,"file":"checkExchangePolicy.d.ts","sourceRoot":"","sources":["../../../src/offers/checkExchangePolicy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,MAAM,yBAAyB,GAAG;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE;QACN,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,OAAO,CAAC;KAChB,EAAE,CAAC;CACL,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE;QACX,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;KAC/B,CAAC;IACF,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAErC,SAAS,EAAE;QACT,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE;YACV,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;SAC/B,CAAC;KACH,CAAC;IACF,SAAS,EAAE;QACT,WAAW,CAAC,EAAE;YACZ,CAAC,GAAG,EAAE,MAAM,GAAG;gBACb,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,GAAG,CAAC,EAAE,MAAM,CAAC;gBACb,KAAK,CAAC,EAAE,MAAM,CAAC;gBACf,OAAO,CAAC,EAAE,MAAM,CAAC;gBACjB,OAAO,CAAC,EAAE,MAAM,CAAC;aAClB,CAAC;SACH,CAAC;KACH,CAAC;IAEF,UAAU,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE;YACV,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,CAAC;SAC/B,CAAC;KACH,EAAE,CAAC;CACL,CAAC;AAwCF,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,mBAAmB,EAC9B,KAAK,EAAE,wBAAwB,GAC9B,yBAAyB,CA6F3B"}
|
|
@@ -1,20 +1,120 @@
|
|
|
1
1
|
import { buildYup } from "schema-to-yup";
|
|
2
|
+
/**
|
|
3
|
+
* Helper function to safely extract validation errors from a Yup ValidationError.
|
|
4
|
+
*
|
|
5
|
+
* @param error - The error object to extract validation errors from
|
|
6
|
+
* @returns An array of error objects, each containing:
|
|
7
|
+
* - message: The error message string
|
|
8
|
+
* - path: The path to the invalid field
|
|
9
|
+
* - value: The invalid value
|
|
10
|
+
*
|
|
11
|
+
* Returns an empty array if:
|
|
12
|
+
* - The error is not a valid Yup ValidationError
|
|
13
|
+
* - The error doesn't have an `inner` property
|
|
14
|
+
* - The `inner` property is not an array
|
|
15
|
+
*/
|
|
16
|
+
function extractValidationErrors(error) {
|
|
17
|
+
if (error &&
|
|
18
|
+
typeof error === "object" &&
|
|
19
|
+
"inner" in error &&
|
|
20
|
+
Array.isArray(error.inner)) {
|
|
21
|
+
return error.inner.map((e) => {
|
|
22
|
+
// Extract only the needed properties from the error object
|
|
23
|
+
if (e && typeof e === "object") {
|
|
24
|
+
return {
|
|
25
|
+
message: "message" in e ? String(e.message) : "",
|
|
26
|
+
path: e.path || "",
|
|
27
|
+
value: e.value || undefined
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
return { message: "", path: "", value: undefined };
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return [];
|
|
34
|
+
}
|
|
2
35
|
export function checkExchangePolicy(offerData, rules) {
|
|
3
|
-
|
|
36
|
+
let baseSchema;
|
|
37
|
+
const metadataType = offerData.metadata?.type;
|
|
38
|
+
if (!rules.yupSchema.metadataType ||
|
|
39
|
+
metadataType === rules.yupSchema.metadataType) {
|
|
40
|
+
baseSchema = buildYup(rules.yupSchema, rules.yupConfig);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
// For multiple schemas, use the one matching metadata.type
|
|
44
|
+
const rulesTemplate = rules.yupSchemas?.find((schema) => schema.metadataType === metadataType);
|
|
45
|
+
if (!rulesTemplate) {
|
|
46
|
+
return {
|
|
47
|
+
isValid: false,
|
|
48
|
+
errors: [
|
|
49
|
+
{
|
|
50
|
+
message: `Unsupported metadata type: ${String(metadataType)}`,
|
|
51
|
+
path: "metadata.type",
|
|
52
|
+
value: metadataType
|
|
53
|
+
}
|
|
54
|
+
]
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
baseSchema = buildYup(rulesTemplate, rules.yupConfig);
|
|
58
|
+
}
|
|
59
|
+
let result = {
|
|
60
|
+
isValid: true,
|
|
61
|
+
errors: []
|
|
62
|
+
};
|
|
4
63
|
try {
|
|
5
64
|
baseSchema.validateSync(offerData, { abortEarly: false });
|
|
6
65
|
}
|
|
7
66
|
catch (e) {
|
|
8
|
-
|
|
67
|
+
result = {
|
|
9
68
|
isValid: false,
|
|
10
|
-
errors: e
|
|
11
|
-
return { ...error };
|
|
12
|
-
}) || []
|
|
69
|
+
errors: extractValidationErrors(e)
|
|
13
70
|
};
|
|
14
71
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
72
|
+
if (metadataType === "BUNDLE") {
|
|
73
|
+
// For BUNDLE metadata, check each item in the bundle
|
|
74
|
+
const bundleItems = offerData.metadata?.items || [];
|
|
75
|
+
if (bundleItems.length === 0) {
|
|
76
|
+
// An empty bundle is semantically invalid
|
|
77
|
+
result.isValid = false;
|
|
78
|
+
result.errors = result.errors.concat([
|
|
79
|
+
{
|
|
80
|
+
message: "Bundle metadata must contain at least one item.",
|
|
81
|
+
path: "metadata.items",
|
|
82
|
+
value: bundleItems
|
|
83
|
+
}
|
|
84
|
+
]);
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
for (const item of bundleItems) {
|
|
88
|
+
const itemType = item.type;
|
|
89
|
+
const itemRulesTemplate = Array.isArray(rules.yupSchemas)
|
|
90
|
+
? rules.yupSchemas.find((schema) => schema.metadataType === itemType)
|
|
91
|
+
: undefined;
|
|
92
|
+
const itemSchema = itemRulesTemplate
|
|
93
|
+
? buildYup(itemRulesTemplate, rules.yupConfig)
|
|
94
|
+
: undefined;
|
|
95
|
+
if (itemSchema) {
|
|
96
|
+
try {
|
|
97
|
+
itemSchema.validateSync(item, { abortEarly: false });
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
result.isValid = false;
|
|
101
|
+
result.errors = result.errors.concat(extractValidationErrors(e));
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
// Ensure bundle contains at least one ITEM_PRODUCT_V1 item,
|
|
107
|
+
// as required by the UI logic to extract exchange policy and shipping data.
|
|
108
|
+
const hasRequiredProductItem = bundleItems.some((item) => item.type === "ITEM_PRODUCT_V1");
|
|
109
|
+
if (!hasRequiredProductItem) {
|
|
110
|
+
result.isValid = false;
|
|
111
|
+
result.errors = result.errors.concat({
|
|
112
|
+
message: "Bundle metadata must contain at least one ITEM_PRODUCT_V1 item to provide exchange policy and shipping information.",
|
|
113
|
+
path: "metadata.items",
|
|
114
|
+
value: bundleItems
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
return result;
|
|
19
119
|
}
|
|
20
120
|
//# sourceMappingURL=checkExchangePolicy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkExchangePolicy.js","sourceRoot":"","sources":["../../../src/offers/checkExchangePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"checkExchangePolicy.js","sourceRoot":"","sources":["../../../src/offers/checkExchangePolicy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAmEzC;;;;;;;;;;;;;GAaG;AACH,SAAS,uBAAuB,CAC9B,KAAc;IAEd,IACE,KAAK;QACL,OAAO,KAAK,KAAK,QAAQ;QACzB,OAAO,IAAI,KAAK;QAChB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1B,CAAC;QACD,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAU,EAAE,EAAE;YACpC,2DAA2D;YAC3D,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;gBAC/B,OAAO;oBACL,OAAO,EAAE,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE;oBAChD,IAAI,EAAG,CAAsB,CAAC,IAAI,IAAI,EAAE;oBACxC,KAAK,EAAG,CAAyB,CAAC,KAAK,IAAI,SAAS;iBACrD,CAAC;YACJ,CAAC;YACD,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;QACrD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,SAA8B,EAC9B,KAA+B;IAE/B,IAAI,UAA2B,CAAC;IAEhC,MAAM,YAAY,GAAG,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC;IAE9C,IACE,CAAC,KAAK,CAAC,SAAS,CAAC,YAAY;QAC7B,YAAY,KAAK,KAAK,CAAC,SAAS,CAAC,YAAY,EAC7C,CAAC;QACD,UAAU,GAAG,QAAQ,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,2DAA2D;QAC3D,MAAM,aAAa,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,CAC1C,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,YAAY,CACjD,CAAC;QAEF,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE;oBACN;wBACE,OAAO,EAAE,8BAA8B,MAAM,CAAC,YAAY,CAAC,EAAE;wBAC7D,IAAI,EAAE,eAAe;wBACrB,KAAK,EAAE,YAAY;qBACpB;iBACF;aACF,CAAC;QACJ,CAAC;QAED,UAAU,GAAG,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,GAAG;QACX,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,EAAE;KACX,CAAC;IACF,IAAI,CAAC;QACH,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,GAAG;YACP,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,uBAAuB,CAAC,CAAC,CAAC;SACnC,CAAC;IACJ,CAAC;IACD,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QAC9B,qDAAqD;QACrD,MAAM,WAAW,GACd,SAAS,CAAC,QAA4C,EAAE,KAAK,IAAI,EAAE,CAAC;QACvE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,0CAA0C;YAC1C,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBACnC;oBACE,OAAO,EAAE,iDAAiD;oBAC1D,IAAI,EAAE,gBAAgB;oBACtB,KAAK,EAAE,WAAW;iBACnB;aACF,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;gBAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;gBAC3B,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;oBACvD,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,KAAK,QAAQ,CAAC;oBACrE,CAAC,CAAC,SAAS,CAAC;gBACd,MAAM,UAAU,GAAG,iBAAiB;oBAClC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,EAAE,KAAK,CAAC,SAAS,CAAC;oBAC9C,CAAC,CAAC,SAAS,CAAC;gBACd,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,UAAU,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;oBACvD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACX,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;wBACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,CAAC;oBACnE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,4DAA4D;QAC5D,4EAA4E;QAC5E,MAAM,sBAAsB,GAAG,WAAW,CAAC,IAAI,CAC7C,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,CAC1C,CAAC;QACF,IAAI,CAAC,sBAAsB,EAAE,CAAC;YAC5B,MAAM,CAAC,OAAO,GAAG,KAAK,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;gBACnC,OAAO,EACL,qHAAqH;gBACvH,IAAI,EAAE,gBAAgB;gBACtB,KAAK,EAAE,WAAW;aACnB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderContractualAgreement.d.ts","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAa,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,mBAAmB,
|
|
1
|
+
{"version":3,"file":"renderContractualAgreement.d.ts","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAa,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAKnE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,mBAAmB,EAMpB,MAAM,aAAa,CAAC;AAGrB,MAAM,MAAM,uBAAuB,GAAG;IACpC,mBAAmB,EAAE,MAAM,CAAC;IAC5B,4BAA4B,EAAE,MAAM,CAAC;IACrC,iBAAiB,EAAE,YAAY,CAAC;IAChC,6BAA6B,EAAE,YAAY,CAAC;IAC5C,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,eAAe,GACjD,uBAAuB,GAAG;IACxB,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,uBAAuB,EAAE,MAAM,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,EAAE,MAAM,IAAI,CAAC;CACtB,CAAC;AAEJ,qBAAa,qBAAsB,SAAQ,KAAK;IAC3B,iBAAiB,EAAE,MAAM,EAAE;gBAA3B,iBAAiB,EAAE,MAAM,EAAE;CAK/C;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IAC/B,iBAAiB,EAAE,MAAM,EAAE;gBAA3B,iBAAiB,EAAE,MAAM,EAAE;CAO/C;AAED,eAAO,MAAM,mBAAmB,EAAE,GAAG,CAAC,YAAY,CAAC,aAAa,CAkBnD,CAAC;AAEd,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,YAAY,CAAC;IACpB,aAAa,EAAE,YAAY,CAAC;IAC5B,OAAO,EAAE,YAAY,CAAC;IACtB,kBAAkB,EAAE,YAAY,CAAC;IACjC,iBAAiB,EAAE,YAAY,CAAC;IAChC,iBAAiB,EAAE,YAAY,CAAC;IAChC,kBAAkB,EAAE,YAAY,CAAC;IACjC,6BAA6B,EAAE,YAAY,CAAC;IAC5C,8BAA8B,EAAE,YAAY,CAAC;IAC7C,yBAAyB,EAAE,YAAY,CAAC;IACxC,4BAA4B,EAAE,YAAY,CAAC;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,YAAY,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,GAAG,CAAC,YAAY,CAAC,uBAAuB,CAU/D,CAAC;AAgIhB,wBAAsB,oBAAoB,CACxC,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,uBAAuB,EACtC,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,qBAAqB,CAAC,CAsDhC;AAGD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,eAAe,EAC1B,aAAa,EAAE,uBAAuB,EACtC,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,MAAM,CAAC,CAUjB;AAED,wBAAsB,kCAAkC,CACtD,iBAAiB,EAAE,mBAAmB,GACrC,OAAO,CAAC,MAAM,CAAC,CA+BjB"}
|
|
@@ -3,7 +3,7 @@ import { BigNumber } from "@ethersproject/bignumber";
|
|
|
3
3
|
import { PriceType, utils } from "@bosonprotocol/common";
|
|
4
4
|
import Mustache from "mustache";
|
|
5
5
|
import { formatUnits } from "@ethersproject/units";
|
|
6
|
-
import { MetadataType } from "../subgraph";
|
|
6
|
+
import { MetadataType, ItemMetadataType } from "../subgraph";
|
|
7
7
|
import { AddressZero } from "@ethersproject/constants";
|
|
8
8
|
export class InvalidOfferDataError extends Error {
|
|
9
9
|
missingProperties;
|
|
@@ -109,6 +109,9 @@ function checkOfferMetadataIsValid(offerMetadata, throwIfInvalid = false) {
|
|
|
109
109
|
return true;
|
|
110
110
|
}
|
|
111
111
|
function convertExistingOfferData(offerDataSubGraph) {
|
|
112
|
+
const productItemMetadata = offerDataSubGraph.metadata?.type === MetadataType.BUNDLE
|
|
113
|
+
? offerDataSubGraph.metadata.items?.find((item) => item.type === ItemMetadataType.ITEM_PRODUCT_V1)
|
|
114
|
+
: undefined;
|
|
112
115
|
return {
|
|
113
116
|
offerData: {
|
|
114
117
|
...offerDataSubGraph,
|
|
@@ -117,6 +120,7 @@ function convertExistingOfferData(offerDataSubGraph) {
|
|
|
117
120
|
validUntilDateInMS: offerDataSubGraph.validUntilDate,
|
|
118
121
|
voucherRedeemableFromDateInMS: offerDataSubGraph.voucherRedeemableFromDate,
|
|
119
122
|
voucherRedeemableUntilDateInMS: offerDataSubGraph.voucherRedeemableUntilDate,
|
|
123
|
+
voucherValidDurationInMS: offerDataSubGraph.voucherValidDuration,
|
|
120
124
|
disputePeriodDurationInMS: offerDataSubGraph.disputePeriodDuration,
|
|
121
125
|
resolutionPeriodDurationInMS: offerDataSubGraph.resolutionPeriodDuration,
|
|
122
126
|
exchangeToken: offerDataSubGraph.exchangeToken.address,
|
|
@@ -129,12 +133,14 @@ function convertExistingOfferData(offerDataSubGraph) {
|
|
|
129
133
|
},
|
|
130
134
|
offerMetadata: {
|
|
131
135
|
sellerContactMethod: offerDataSubGraph.metadata?.exchangePolicy.sellerContactMethod,
|
|
132
|
-
disputeResolverContactMethod:
|
|
136
|
+
disputeResolverContactMethod: (productItemMetadata ||
|
|
137
|
+
offerDataSubGraph.metadata)?.exchangePolicy.disputeResolverContactMethod,
|
|
133
138
|
escalationDeposit: offerDataSubGraph.disputeResolutionTerms.buyerEscalationDeposit,
|
|
134
139
|
escalationResponsePeriodInSec: offerDataSubGraph.disputeResolutionTerms.escalationResponsePeriod,
|
|
135
|
-
sellerTradingName:
|
|
136
|
-
?.productV1Seller?.name,
|
|
137
|
-
returnPeriodInDays:
|
|
140
|
+
sellerTradingName: (productItemMetadata ||
|
|
141
|
+
offerDataSubGraph.metadata)?.productV1Seller?.name,
|
|
142
|
+
returnPeriodInDays: (productItemMetadata ||
|
|
143
|
+
offerDataSubGraph.metadata)?.shipping.returnPeriodInDays
|
|
138
144
|
},
|
|
139
145
|
tokenInfo: {
|
|
140
146
|
...offerDataSubGraph.exchangeToken,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderContractualAgreement.js","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,GAAG,MAAM,KAAK,CAAC;AAE3B,OAAO,EAAE,SAAS,EAAgB,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,EAEL,YAAY,
|
|
1
|
+
{"version":3,"file":"renderContractualAgreement.js","sourceRoot":"","sources":["../../../src/offers/renderContractualAgreement.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bosonprotocol/core-sdk",
|
|
3
|
-
"version": "1.46.0-alpha.
|
|
3
|
+
"version": "1.46.0-alpha.4",
|
|
4
4
|
"description": "Facilitates interaction with the contracts and subgraphs of the Boson Protocol",
|
|
5
5
|
"main": "./dist/cjs/index.js",
|
|
6
6
|
"module": "./dist/esm/index.js",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"access": "public"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@bosonprotocol/common": "^1.32.1-alpha.
|
|
38
|
+
"@bosonprotocol/common": "^1.32.1-alpha.3",
|
|
39
39
|
"@ethersproject/abi": "^5.5.0",
|
|
40
40
|
"@ethersproject/address": "^5.5.0",
|
|
41
41
|
"@ethersproject/bignumber": "^5.5.0",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"overrides": {
|
|
62
62
|
"typescript": "^5.1.6"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "0006d9ef1445a1e67ee6929b9a7462d8641dc9a4"
|
|
65
65
|
}
|
|
@@ -27,12 +27,14 @@ export type YupPropertyDef = {
|
|
|
27
27
|
};
|
|
28
28
|
|
|
29
29
|
export type CheckExchangePolicyRules = {
|
|
30
|
+
// Keep default type for backward compatibility, but also support multiple schemas for different metadata types (e.g., PRODUCT_V1 and BUNDLE)
|
|
30
31
|
yupSchema: {
|
|
31
32
|
$schema?: string;
|
|
32
33
|
$id?: string;
|
|
33
34
|
title?: string;
|
|
34
35
|
description?: string;
|
|
35
36
|
type: string;
|
|
37
|
+
metadataType?: string;
|
|
36
38
|
properties: {
|
|
37
39
|
[key: string]: YupPropertyDef;
|
|
38
40
|
};
|
|
@@ -49,29 +51,152 @@ export type CheckExchangePolicyRules = {
|
|
|
49
51
|
};
|
|
50
52
|
};
|
|
51
53
|
};
|
|
54
|
+
// Extend the type to support multiple schemas (for different metadata types, e.g., PRODUCT_V1 and BUNDLE)
|
|
55
|
+
yupSchemas?: {
|
|
56
|
+
$schema?: string;
|
|
57
|
+
$id?: string;
|
|
58
|
+
title?: string;
|
|
59
|
+
description?: string;
|
|
60
|
+
type: string;
|
|
61
|
+
metadataType: string;
|
|
62
|
+
properties: {
|
|
63
|
+
[key: string]: YupPropertyDef;
|
|
64
|
+
};
|
|
65
|
+
}[];
|
|
52
66
|
};
|
|
53
67
|
|
|
68
|
+
/**
|
|
69
|
+
* Helper function to safely extract validation errors from a Yup ValidationError.
|
|
70
|
+
*
|
|
71
|
+
* @param error - The error object to extract validation errors from
|
|
72
|
+
* @returns An array of error objects, each containing:
|
|
73
|
+
* - message: The error message string
|
|
74
|
+
* - path: The path to the invalid field
|
|
75
|
+
* - value: The invalid value
|
|
76
|
+
*
|
|
77
|
+
* Returns an empty array if:
|
|
78
|
+
* - The error is not a valid Yup ValidationError
|
|
79
|
+
* - The error doesn't have an `inner` property
|
|
80
|
+
* - The `inner` property is not an array
|
|
81
|
+
*/
|
|
82
|
+
function extractValidationErrors(
|
|
83
|
+
error: unknown
|
|
84
|
+
): Array<{ message: string; path: string; value: unknown }> {
|
|
85
|
+
if (
|
|
86
|
+
error &&
|
|
87
|
+
typeof error === "object" &&
|
|
88
|
+
"inner" in error &&
|
|
89
|
+
Array.isArray(error.inner)
|
|
90
|
+
) {
|
|
91
|
+
return error.inner.map((e: unknown) => {
|
|
92
|
+
// Extract only the needed properties from the error object
|
|
93
|
+
if (e && typeof e === "object") {
|
|
94
|
+
return {
|
|
95
|
+
message: "message" in e ? String(e.message) : "",
|
|
96
|
+
path: (e as { path: string }).path || "",
|
|
97
|
+
value: (e as { value?: unknown }).value || undefined
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
return { message: "", path: "", value: undefined };
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
return [];
|
|
104
|
+
}
|
|
105
|
+
|
|
54
106
|
export function checkExchangePolicy(
|
|
55
107
|
offerData: OfferFieldsFragment,
|
|
56
108
|
rules: CheckExchangePolicyRules
|
|
57
109
|
): CheckExchangePolicyResult {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
110
|
+
let baseSchema: Schema<unknown>;
|
|
111
|
+
|
|
112
|
+
const metadataType = offerData.metadata?.type;
|
|
113
|
+
|
|
114
|
+
if (
|
|
115
|
+
!rules.yupSchema.metadataType ||
|
|
116
|
+
metadataType === rules.yupSchema.metadataType
|
|
117
|
+
) {
|
|
118
|
+
baseSchema = buildYup(rules.yupSchema, rules.yupConfig);
|
|
119
|
+
} else {
|
|
120
|
+
// For multiple schemas, use the one matching metadata.type
|
|
121
|
+
const rulesTemplate = rules.yupSchemas?.find(
|
|
122
|
+
(schema) => schema.metadataType === metadataType
|
|
123
|
+
);
|
|
124
|
+
|
|
125
|
+
if (!rulesTemplate) {
|
|
126
|
+
return {
|
|
127
|
+
isValid: false,
|
|
128
|
+
errors: [
|
|
129
|
+
{
|
|
130
|
+
message: `Unsupported metadata type: ${String(metadataType)}`,
|
|
131
|
+
path: "metadata.type",
|
|
132
|
+
value: metadataType
|
|
133
|
+
}
|
|
134
|
+
]
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
baseSchema = buildYup(rulesTemplate, rules.yupConfig);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
let result = {
|
|
142
|
+
isValid: true,
|
|
143
|
+
errors: []
|
|
144
|
+
};
|
|
62
145
|
try {
|
|
63
146
|
baseSchema.validateSync(offerData, { abortEarly: false });
|
|
64
147
|
} catch (e) {
|
|
65
|
-
|
|
148
|
+
result = {
|
|
66
149
|
isValid: false,
|
|
67
|
-
errors:
|
|
68
|
-
e.inner?.map((error) => {
|
|
69
|
-
return { ...error };
|
|
70
|
-
}) || []
|
|
150
|
+
errors: extractValidationErrors(e)
|
|
71
151
|
};
|
|
72
152
|
}
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
153
|
+
if (metadataType === "BUNDLE") {
|
|
154
|
+
// For BUNDLE metadata, check each item in the bundle
|
|
155
|
+
const bundleItems =
|
|
156
|
+
(offerData.metadata as { items?: { type?: string }[] })?.items || [];
|
|
157
|
+
if (bundleItems.length === 0) {
|
|
158
|
+
// An empty bundle is semantically invalid
|
|
159
|
+
result.isValid = false;
|
|
160
|
+
result.errors = result.errors.concat([
|
|
161
|
+
{
|
|
162
|
+
message: "Bundle metadata must contain at least one item.",
|
|
163
|
+
path: "metadata.items",
|
|
164
|
+
value: bundleItems
|
|
165
|
+
}
|
|
166
|
+
]);
|
|
167
|
+
} else {
|
|
168
|
+
for (const item of bundleItems) {
|
|
169
|
+
const itemType = item.type;
|
|
170
|
+
const itemRulesTemplate = Array.isArray(rules.yupSchemas)
|
|
171
|
+
? rules.yupSchemas.find((schema) => schema.metadataType === itemType)
|
|
172
|
+
: undefined;
|
|
173
|
+
const itemSchema = itemRulesTemplate
|
|
174
|
+
? buildYup(itemRulesTemplate, rules.yupConfig)
|
|
175
|
+
: undefined;
|
|
176
|
+
if (itemSchema) {
|
|
177
|
+
try {
|
|
178
|
+
itemSchema.validateSync(item, { abortEarly: false });
|
|
179
|
+
} catch (e) {
|
|
180
|
+
result.isValid = false;
|
|
181
|
+
result.errors = result.errors.concat(extractValidationErrors(e));
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
// Ensure bundle contains at least one ITEM_PRODUCT_V1 item,
|
|
187
|
+
// as required by the UI logic to extract exchange policy and shipping data.
|
|
188
|
+
const hasRequiredProductItem = bundleItems.some(
|
|
189
|
+
(item) => item.type === "ITEM_PRODUCT_V1"
|
|
190
|
+
);
|
|
191
|
+
if (!hasRequiredProductItem) {
|
|
192
|
+
result.isValid = false;
|
|
193
|
+
result.errors = result.errors.concat({
|
|
194
|
+
message:
|
|
195
|
+
"Bundle metadata must contain at least one ITEM_PRODUCT_V1 item to provide exchange policy and shipping information.",
|
|
196
|
+
path: "metadata.items",
|
|
197
|
+
value: bundleItems
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
return result;
|
|
77
202
|
}
|
|
@@ -9,7 +9,10 @@ import { CreateOfferArgs } from "./types";
|
|
|
9
9
|
import {
|
|
10
10
|
OfferFieldsFragment,
|
|
11
11
|
MetadataType,
|
|
12
|
-
ProductV1MetadataEntity
|
|
12
|
+
ProductV1MetadataEntity,
|
|
13
|
+
ProductV1ItemMetadataEntity,
|
|
14
|
+
ItemMetadataType,
|
|
15
|
+
BundleMetadataEntity
|
|
13
16
|
} from "../subgraph";
|
|
14
17
|
import { AddressZero } from "@ethersproject/constants";
|
|
15
18
|
|
|
@@ -172,6 +175,13 @@ function convertExistingOfferData(offerDataSubGraph: OfferFieldsFragment): {
|
|
|
172
175
|
offerMetadata: AdditionalOfferMetadata;
|
|
173
176
|
tokenInfo: ITokenInfo;
|
|
174
177
|
} {
|
|
178
|
+
const productItemMetadata =
|
|
179
|
+
offerDataSubGraph.metadata?.type === MetadataType.BUNDLE
|
|
180
|
+
? (offerDataSubGraph.metadata as BundleMetadataEntity).items?.find(
|
|
181
|
+
(item): item is ProductV1ItemMetadataEntity =>
|
|
182
|
+
item.type === ItemMetadataType.ITEM_PRODUCT_V1
|
|
183
|
+
)
|
|
184
|
+
: undefined;
|
|
175
185
|
return {
|
|
176
186
|
offerData: {
|
|
177
187
|
...offerDataSubGraph,
|
|
@@ -182,6 +192,7 @@ function convertExistingOfferData(offerDataSubGraph: OfferFieldsFragment): {
|
|
|
182
192
|
offerDataSubGraph.voucherRedeemableFromDate,
|
|
183
193
|
voucherRedeemableUntilDateInMS:
|
|
184
194
|
offerDataSubGraph.voucherRedeemableUntilDate,
|
|
195
|
+
voucherValidDurationInMS: offerDataSubGraph.voucherValidDuration,
|
|
185
196
|
disputePeriodDurationInMS: offerDataSubGraph.disputePeriodDuration,
|
|
186
197
|
resolutionPeriodDurationInMS: offerDataSubGraph.resolutionPeriodDuration,
|
|
187
198
|
exchangeToken: offerDataSubGraph.exchangeToken.address,
|
|
@@ -197,16 +208,20 @@ function convertExistingOfferData(offerDataSubGraph: OfferFieldsFragment): {
|
|
|
197
208
|
offerDataSubGraph.metadata as ProductV1MetadataEntity
|
|
198
209
|
)?.exchangePolicy.sellerContactMethod,
|
|
199
210
|
disputeResolverContactMethod: (
|
|
200
|
-
|
|
211
|
+
productItemMetadata ||
|
|
212
|
+
(offerDataSubGraph.metadata as ProductV1MetadataEntity)
|
|
201
213
|
)?.exchangePolicy.disputeResolverContactMethod,
|
|
202
214
|
escalationDeposit:
|
|
203
215
|
offerDataSubGraph.disputeResolutionTerms.buyerEscalationDeposit,
|
|
204
216
|
escalationResponsePeriodInSec:
|
|
205
217
|
offerDataSubGraph.disputeResolutionTerms.escalationResponsePeriod,
|
|
206
|
-
sellerTradingName: (
|
|
207
|
-
|
|
218
|
+
sellerTradingName: (
|
|
219
|
+
productItemMetadata ||
|
|
220
|
+
(offerDataSubGraph.metadata as ProductV1MetadataEntity)
|
|
221
|
+
)?.productV1Seller?.name,
|
|
208
222
|
returnPeriodInDays: (
|
|
209
|
-
|
|
223
|
+
productItemMetadata ||
|
|
224
|
+
(offerDataSubGraph.metadata as ProductV1MetadataEntity)
|
|
210
225
|
)?.shipping.returnPeriodInDays
|
|
211
226
|
},
|
|
212
227
|
tokenInfo: {
|