@shushed/helpers 0.0.202-v2-20251208085030 → 0.0.202

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.
Files changed (95) hide show
  1. package/dist/cjs/contracts/asset.schema.json +78 -0
  2. package/dist/cjs/contracts/category.schema.json +86 -0
  3. package/dist/cjs/contracts/country.schema.json +258 -0
  4. package/dist/cjs/contracts/currency.schema.json +177 -0
  5. package/dist/cjs/contracts/customer-segment.schema.json +32 -0
  6. package/dist/cjs/contracts/development-colour.schema.json +97 -0
  7. package/dist/cjs/contracts/index.js +48 -0
  8. package/dist/cjs/contracts/marketing-preferences.schema.json +41 -0
  9. package/dist/cjs/contracts/messages/ean-change.schema.json +22 -0
  10. package/dist/cjs/contracts/messages/index.js +29 -0
  11. package/dist/cjs/contracts/messages/order/delivered.schema.json +26 -0
  12. package/dist/cjs/contracts/messages/order/index.js +18 -0
  13. package/dist/cjs/contracts/messages/order/new.schema.json +32 -0
  14. package/dist/cjs/contracts/messages/order/processed.schema.json +15 -0
  15. package/dist/cjs/contracts/messages/order/return-initiated.schema.json +26 -0
  16. package/dist/cjs/contracts/messages/order/returned.schema.json +25 -0
  17. package/dist/cjs/contracts/messages/order/shipped.schema.json +26 -0
  18. package/dist/cjs/contracts/messages/product-category.schema.json +21 -0
  19. package/dist/cjs/contracts/messages/product-draft.schema.json +66 -0
  20. package/dist/cjs/contracts/messages/product.schema.json +29 -0
  21. package/dist/cjs/contracts/money.schema.json +54 -0
  22. package/dist/cjs/contracts/order/address.schema.json +127 -0
  23. package/dist/cjs/contracts/order/customer.schema.json +149 -0
  24. package/dist/cjs/contracts/order/index.js +31 -0
  25. package/dist/cjs/contracts/order/item.schema.json +98 -0
  26. package/dist/cjs/contracts/order/payment.schema.json +115 -0
  27. package/dist/cjs/contracts/order/shipment/index.js +29 -0
  28. package/dist/cjs/contracts/order/shipment/item/index.js +8 -0
  29. package/dist/cjs/contracts/order/shipment/item/returned.schema.json +30 -0
  30. package/dist/cjs/contracts/order/shipment/item.schema.json +22 -0
  31. package/dist/cjs/contracts/order/shipment/pos/index.js +10 -0
  32. package/dist/cjs/contracts/order/shipment/pos/outbound.schema.json +37 -0
  33. package/dist/cjs/contracts/order/shipment/pos/return.schema.json +31 -0
  34. package/dist/cjs/contracts/order/shipment/pos.schema.json +48 -0
  35. package/dist/cjs/contracts/order/shipment/shipped/index.js +10 -0
  36. package/dist/cjs/contracts/order/shipment/shipped/outbound.schema.json +34 -0
  37. package/dist/cjs/contracts/order/shipment/shipped/return.schema.json +43 -0
  38. package/dist/cjs/contracts/order/shipment/shipped.schema.json +52 -0
  39. package/dist/cjs/contracts/order/shipment.schema.json +58 -0
  40. package/dist/cjs/contracts/order.schema.json +231 -0
  41. package/dist/cjs/contracts/product-category.schema.json +34 -0
  42. package/dist/cjs/contracts/product-draft.schema.json +782 -0
  43. package/dist/cjs/contracts/product.schema.json +816 -0
  44. package/dist/cjs/contracts/total.schema.json +41 -0
  45. package/dist/cjs/dist-dereferenced/messages/order/delivered.js +1 -1
  46. package/dist/cjs/dist-dereferenced/messages/order/new.js +1 -1
  47. package/dist/cjs/dist-dereferenced/messages/order/processed.js +1 -1
  48. package/dist/cjs/dist-dereferenced/messages/order/return-initiated.js +1 -1
  49. package/dist/cjs/dist-dereferenced/messages/order/returned.js +1 -1
  50. package/dist/cjs/dist-dereferenced/messages/order/shipped.js +1 -1
  51. package/dist/cjs/dist-dereferenced/order/customer.js +1 -1
  52. package/dist/cjs/dist-dereferenced/order/item.js +1 -1
  53. package/dist/cjs/dist-dereferenced/order/orderMain.js +1 -1
  54. package/dist/cjs/dist-dereferenced/order/payment.js +1 -1
  55. package/dist/cjs/dist-dereferenced/order/shipment/pos/outbound.js +1 -1
  56. package/dist/cjs/dist-dereferenced/order/shipment/pos/return.js +1 -1
  57. package/dist/cjs/src-public/bcOrder.js +943 -0
  58. package/dist/cjs/src-public/dato.js +10 -287
  59. package/dist/cjs/src-public/index.js +3 -1
  60. package/dist/cjs/src-public/validate.js +34 -0
  61. package/dist/types/contracts/index.d.ts +15 -0
  62. package/dist/types/contracts/messages/index.d.ts +5 -0
  63. package/dist/types/contracts/messages/order/index.d.ts +6 -0
  64. package/dist/types/contracts/order/index.d.ts +6 -0
  65. package/dist/types/contracts/order/shipment/index.d.ts +6 -0
  66. package/dist/types/contracts/order/shipment/item/index.d.ts +1 -0
  67. package/dist/types/contracts/order/shipment/pos/index.d.ts +2 -0
  68. package/dist/types/contracts/order/shipment/shipped/index.d.ts +2 -0
  69. package/dist/types/dist-dereferenced/messages/order/delivered.d.ts +34 -10
  70. package/dist/types/dist-dereferenced/messages/order/new.d.ts +34 -10
  71. package/dist/types/dist-dereferenced/messages/order/processed.d.ts +34 -10
  72. package/dist/types/dist-dereferenced/messages/order/return-initiated.d.ts +34 -10
  73. package/dist/types/dist-dereferenced/messages/order/returned.d.ts +34 -10
  74. package/dist/types/dist-dereferenced/messages/order/shipped.d.ts +34 -10
  75. package/dist/types/dist-dereferenced/order/customer.d.ts +3 -0
  76. package/dist/types/dist-dereferenced/order/index.d.ts +34 -10
  77. package/dist/types/dist-dereferenced/order/item.d.ts +6 -3
  78. package/dist/types/dist-dereferenced/order/orderMain.d.ts +34 -10
  79. package/dist/types/dist-dereferenced/order/payment.d.ts +16 -0
  80. package/dist/types/dist-dereferenced/order/shipment/pos/outbound.d.ts +0 -1
  81. package/dist/types/dist-dereferenced/order/shipment/pos/return.d.ts +0 -1
  82. package/dist/types/dist-types/messages/order/delivered.d.ts +13 -5
  83. package/dist/types/dist-types/messages/order/new.d.ts +13 -5
  84. package/dist/types/dist-types/messages/order/processed.d.ts +13 -5
  85. package/dist/types/dist-types/messages/order/return-initiated.d.ts +13 -5
  86. package/dist/types/dist-types/messages/order/returned.d.ts +13 -5
  87. package/dist/types/dist-types/messages/order/shipped.d.ts +13 -5
  88. package/dist/types/dist-types/order/customer.d.ts +1 -0
  89. package/dist/types/dist-types/order/item.d.ts +4 -3
  90. package/dist/types/dist-types/order/orderMain.d.ts +13 -5
  91. package/dist/types/dist-types/order/payment.d.ts +4 -0
  92. package/dist/types/src-public/bcOrder.d.ts +84 -0
  93. package/dist/types/src-public/dato.d.ts +1 -34
  94. package/dist/types/src-public/index.d.ts +1 -0
  95. package/package.json +1 -1
@@ -0,0 +1,78 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Asset",
4
+ "type": "object",
5
+ "description": "Represents an asset (image / file)",
6
+ "additionalProperties": false,
7
+ "$id": "https://shushed.example.com/asset.json",
8
+ "properties": {
9
+ "product_id": {
10
+ "type": "string",
11
+ "description": "Product ID"
12
+ },
13
+ "dash_id": {
14
+ "type": "string",
15
+ "description": "Dash ID"
16
+ },
17
+ "dash_folder_path": {
18
+ "type": "string",
19
+ "description": "Dash folder path"
20
+ },
21
+ "source_url": {
22
+ "type": "string",
23
+ "description": "Source URL of the asset"
24
+ },
25
+ "created_at": {
26
+ "type": "string",
27
+ "format": "date-time",
28
+ "description": "Created date",
29
+ "faker": {
30
+ "date.between": [
31
+ "2024-01-01T00:00:00.000Z",
32
+ "2025-04-30T00:00:00.000Z"
33
+ ]
34
+ }
35
+ },
36
+ "last_modified_at": {
37
+ "type": "string",
38
+ "format": "date-time",
39
+ "description": "Last modified date",
40
+ "faker": {
41
+ "date.between": [
42
+ "2024-01-01T00:00:00.000Z",
43
+ "2025-04-30T00:00:00.000Z"
44
+ ]
45
+ }
46
+ },
47
+ "width": {
48
+ "type": "integer",
49
+ "minimum": 0,
50
+ "description": "The width of the asset"
51
+ },
52
+ "height": {
53
+ "type": "integer",
54
+ "minimum": 0,
55
+ "description": "The height of the asset"
56
+ },
57
+ "meta": {
58
+ "type": "object",
59
+ "description": "Metadata associated with the asset",
60
+ "additionalProperties": true
61
+ },
62
+ "content_type": {
63
+ "type": "string",
64
+ "pattern": "^[a-z0-9-/]+$",
65
+ "description": "The content type of the asset. Lowercase, dashes, no spaces"
66
+ },
67
+ "file_name": {
68
+ "type": "string",
69
+ "pattern": "^[a-z0-9-.]+$",
70
+ "description": "The content type of the asset. Lowercase, dashes, no spaces"
71
+ }
72
+ },
73
+ "required": [
74
+ "source_url",
75
+ "content_type",
76
+ "last_modified_at"
77
+ ]
78
+ }
@@ -0,0 +1,86 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "https://shushed.example.com/category.schema.json",
4
+ "title": "Category",
5
+ "description": "Schema representing single category",
6
+ "additionalProperties": false,
7
+ "type": "object",
8
+ "properties": {
9
+ "centra_id": {
10
+ "type": "string",
11
+ "description": "Unique identifier of the category in the Centra. This property should be used only if category_code is not available"
12
+ },
13
+ "category_code": {
14
+ "type": "string",
15
+ "description": "This is system generated property. Unique code of the category. if the category occurs more than one in the tree i.e. women > trousers and sale > trousers, the latter category id should be sale-trousers"
16
+ },
17
+ "parent_category_code": {
18
+ "type": "string",
19
+ "description": "Parent category code. Check the description of the category_code first"
20
+ },
21
+ "parent_centra_id": {
22
+ "type": "string",
23
+ "description": "Parent category entra id. Check the description of the centra_id first"
24
+ },
25
+ "categorisation_rules": {
26
+ "type": "array",
27
+ "description": "List of rules that determines the category assignments for the product. Contain list of fredhopper expressions/locations",
28
+ "items": {
29
+ "type": "string"
30
+ }
31
+ },
32
+ "translations": {
33
+ "type": "array",
34
+ "description": "Translations of the category object",
35
+ "items": {
36
+ "type": "object",
37
+ "properties": {
38
+ "language_code": {
39
+ "type": "string",
40
+ "description": "Language code of the translation"
41
+ },
42
+ "name": {
43
+ "type": "string",
44
+ "description": "Name of the category in the language. This property is taken from the Centra translations"
45
+ }
46
+ }
47
+ }
48
+ },
49
+ "uri": {
50
+ "type": "string",
51
+ "description": "The URL path / URI of the category"
52
+ },
53
+ "name": {
54
+ "type": "string",
55
+ "description": "The human readable name of the category"
56
+ },
57
+ "status": {
58
+ "type": "string",
59
+ "enum": [
60
+ "ACTIVE",
61
+ "INACTIVE",
62
+ "DISABLED"
63
+ ],
64
+ "description": "Disabled categories will be deleted / not imported to the other systems (i.e. fredhopper). Inactive categories will be available in the other systems but never displayed to the end user in Centra. <br>This property should not be used to coordinate launches. As for example if the team prepares EOSS: <br>* the category Sale should be active <br>* Fredhopper facet should have time based rule to hide the category from displaying in facets <br>*Fredhopper redirection rule should have time based rule to redirect the category."
65
+ }
66
+ },
67
+ "required": [
68
+ "name",
69
+ "status",
70
+ "translations"
71
+ ],
72
+ "anyOf": [
73
+ {
74
+ "required": [
75
+ "centra_id",
76
+ "parent_centra_id"
77
+ ]
78
+ },
79
+ {
80
+ "required": [
81
+ "category_code",
82
+ "parent_category_code"
83
+ ]
84
+ }
85
+ ]
86
+ }
@@ -0,0 +1,258 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Country",
4
+ "$id": "https://shushed.example.com/country.schema.json",
5
+ "faker": { "helpers.arrayElement": [["US", "GB", "IR"]] },
6
+ "type": "string",
7
+ "enum": [
8
+ "AF",
9
+ "AX",
10
+ "AL",
11
+ "DZ",
12
+ "AS",
13
+ "AD",
14
+ "AO",
15
+ "AI",
16
+ "AQ",
17
+ "AG",
18
+ "AR",
19
+ "AM",
20
+ "AW",
21
+ "AU",
22
+ "AT",
23
+ "AZ",
24
+ "BS",
25
+ "BH",
26
+ "BD",
27
+ "BB",
28
+ "BY",
29
+ "BE",
30
+ "BZ",
31
+ "BJ",
32
+ "BM",
33
+ "BT",
34
+ "BO",
35
+ "BQ",
36
+ "BA",
37
+ "BW",
38
+ "BV",
39
+ "BR",
40
+ "IO",
41
+ "BN",
42
+ "BG",
43
+ "BF",
44
+ "BI",
45
+ "CV",
46
+ "KH",
47
+ "CM",
48
+ "CA",
49
+ "KY",
50
+ "CF",
51
+ "TD",
52
+ "CL",
53
+ "CN",
54
+ "CX",
55
+ "CC",
56
+ "CO",
57
+ "KM",
58
+ "CD",
59
+ "CG",
60
+ "CK",
61
+ "CR",
62
+ "CI",
63
+ "HR",
64
+ "CU",
65
+ "CW",
66
+ "CY",
67
+ "CZ",
68
+ "DK",
69
+ "DJ",
70
+ "DM",
71
+ "DO",
72
+ "EC",
73
+ "EG",
74
+ "SV",
75
+ "GQ",
76
+ "ER",
77
+ "EE",
78
+ "SZ",
79
+ "ET",
80
+ "FK",
81
+ "FO",
82
+ "FJ",
83
+ "FI",
84
+ "FR",
85
+ "GF",
86
+ "PF",
87
+ "TF",
88
+ "GA",
89
+ "GM",
90
+ "GE",
91
+ "DE",
92
+ "GH",
93
+ "GI",
94
+ "GR",
95
+ "GL",
96
+ "GD",
97
+ "GP",
98
+ "GU",
99
+ "GT",
100
+ "GG",
101
+ "GN",
102
+ "GW",
103
+ "GY",
104
+ "HT",
105
+ "HM",
106
+ "VA",
107
+ "HN",
108
+ "HK",
109
+ "HU",
110
+ "IS",
111
+ "IN",
112
+ "ID",
113
+ "IR",
114
+ "IQ",
115
+ "IE",
116
+ "IM",
117
+ "IL",
118
+ "IT",
119
+ "JM",
120
+ "JP",
121
+ "JE",
122
+ "JO",
123
+ "KZ",
124
+ "KE",
125
+ "KI",
126
+ "KP",
127
+ "KR",
128
+ "KW",
129
+ "KG",
130
+ "LA",
131
+ "LV",
132
+ "LB",
133
+ "LS",
134
+ "LR",
135
+ "LY",
136
+ "LI",
137
+ "LT",
138
+ "LU",
139
+ "MO",
140
+ "MG",
141
+ "MW",
142
+ "MY",
143
+ "MV",
144
+ "ML",
145
+ "MT",
146
+ "MH",
147
+ "MQ",
148
+ "MR",
149
+ "MU",
150
+ "YT",
151
+ "MX",
152
+ "FM",
153
+ "MD",
154
+ "MC",
155
+ "MN",
156
+ "ME",
157
+ "MS",
158
+ "MA",
159
+ "MZ",
160
+ "MM",
161
+ "NA",
162
+ "NR",
163
+ "NP",
164
+ "NL",
165
+ "NC",
166
+ "NZ",
167
+ "NI",
168
+ "NE",
169
+ "NG",
170
+ "NU",
171
+ "NF",
172
+ "MK",
173
+ "MP",
174
+ "NO",
175
+ "OM",
176
+ "PK",
177
+ "PW",
178
+ "PS",
179
+ "PA",
180
+ "PG",
181
+ "PY",
182
+ "PE",
183
+ "PH",
184
+ "PN",
185
+ "PL",
186
+ "PT",
187
+ "PR",
188
+ "QA",
189
+ "RE",
190
+ "RO",
191
+ "RU",
192
+ "RW",
193
+ "BL",
194
+ "SH",
195
+ "KN",
196
+ "LC",
197
+ "MF",
198
+ "PM",
199
+ "VC",
200
+ "WS",
201
+ "SM",
202
+ "ST",
203
+ "SA",
204
+ "SN",
205
+ "RS",
206
+ "SC",
207
+ "SL",
208
+ "SG",
209
+ "SX",
210
+ "SK",
211
+ "SI",
212
+ "SB",
213
+ "SO",
214
+ "ZA",
215
+ "GS",
216
+ "SS",
217
+ "ES",
218
+ "LK",
219
+ "SD",
220
+ "SR",
221
+ "SJ",
222
+ "SE",
223
+ "CH",
224
+ "SY",
225
+ "TW",
226
+ "TJ",
227
+ "TZ",
228
+ "TH",
229
+ "TL",
230
+ "TG",
231
+ "TK",
232
+ "TO",
233
+ "TT",
234
+ "TN",
235
+ "TR",
236
+ "TM",
237
+ "TC",
238
+ "TV",
239
+ "UG",
240
+ "UA",
241
+ "AE",
242
+ "GB",
243
+ "UM",
244
+ "US",
245
+ "UY",
246
+ "UZ",
247
+ "VU",
248
+ "VE",
249
+ "VN",
250
+ "VG",
251
+ "VI",
252
+ "WF",
253
+ "EH",
254
+ "YE",
255
+ "ZM",
256
+ "ZW"
257
+ ]
258
+ }
@@ -0,0 +1,177 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Currency",
4
+ "$id": "https://shushed.example.com/currency.schema.json",
5
+ "type": "string",
6
+ "enum": [
7
+ "AFN",
8
+ "ALL",
9
+ "DZD",
10
+ "USD",
11
+ "EUR",
12
+ "AOA",
13
+ "XCD",
14
+ "ARS",
15
+ "AMD",
16
+ "AWG",
17
+ "AUD",
18
+ "AZN",
19
+ "BSD",
20
+ "BHD",
21
+ "BDT",
22
+ "BBD",
23
+ "BYN",
24
+ "BZD",
25
+ "XOF",
26
+ "BMD",
27
+ "BTN",
28
+ "INR",
29
+ "BOB",
30
+ "BOV",
31
+ "BAM",
32
+ "BWP",
33
+ "NOK",
34
+ "BRL",
35
+ "BND",
36
+ "BGN",
37
+ "BIF",
38
+ "CVE",
39
+ "KHR",
40
+ "XAF",
41
+ "CAD",
42
+ "KYD",
43
+ "CLF",
44
+ "CLP",
45
+ "CNY",
46
+ "COP",
47
+ "COU",
48
+ "KMF",
49
+ "CDF",
50
+ "NZD",
51
+ "CRC",
52
+ "CUC",
53
+ "CUP",
54
+ "ANG",
55
+ "CZK",
56
+ "DKK",
57
+ "DJF",
58
+ "DOP",
59
+ "EGP",
60
+ "SVC",
61
+ "ERN",
62
+ "ETB",
63
+ "FKP",
64
+ "FJD",
65
+ "XPF",
66
+ "GMD",
67
+ "GEL",
68
+ "GHS",
69
+ "GIP",
70
+ "GTQ",
71
+ "GBP",
72
+ "GNF",
73
+ "GYD",
74
+ "HTG",
75
+ "HNL",
76
+ "HKD",
77
+ "HUF",
78
+ "ISK",
79
+ "IDR",
80
+ "XDR",
81
+ "IRR",
82
+ "IQD",
83
+ "ILS",
84
+ "JMD",
85
+ "JPY",
86
+ "JOD",
87
+ "KZT",
88
+ "KES",
89
+ "KPW",
90
+ "KRW",
91
+ "KWD",
92
+ "KGS",
93
+ "LAK",
94
+ "LBP",
95
+ "LSL",
96
+ "ZAR",
97
+ "LRD",
98
+ "LYD",
99
+ "CHF",
100
+ "MOP",
101
+ "MGA",
102
+ "MWK",
103
+ "MYR",
104
+ "MVR",
105
+ "MRU",
106
+ "MUR",
107
+ "XUA",
108
+ "MXN",
109
+ "MXV",
110
+ "MDL",
111
+ "MNT",
112
+ "MAD",
113
+ "MZN",
114
+ "MMK",
115
+ "NAD",
116
+ "NPR",
117
+ "NIO",
118
+ "NGN",
119
+ "OMR",
120
+ "PKR",
121
+ "PAB",
122
+ "PGK",
123
+ "PYG",
124
+ "PEN",
125
+ "PHP",
126
+ "PLN",
127
+ "QAR",
128
+ "MKD",
129
+ "RON",
130
+ "RUB",
131
+ "RWF",
132
+ "SHP",
133
+ "WST",
134
+ "STN",
135
+ "SAR",
136
+ "RSD",
137
+ "SCR",
138
+ "SLE",
139
+ "SGD",
140
+ "XSU",
141
+ "SBD",
142
+ "SOS",
143
+ "SSP",
144
+ "LKR",
145
+ "SDG",
146
+ "SRD",
147
+ "SZL",
148
+ "SEK",
149
+ "CHE",
150
+ "CHW",
151
+ "SYP",
152
+ "TWD",
153
+ "TJS",
154
+ "TZS",
155
+ "THB",
156
+ "TOP",
157
+ "TTD",
158
+ "TND",
159
+ "TRY",
160
+ "TMT",
161
+ "UGX",
162
+ "UAH",
163
+ "AED",
164
+ "USN",
165
+ "UYI",
166
+ "UYU",
167
+ "UZS",
168
+ "VUV",
169
+ "VEF",
170
+ "VED",
171
+ "VND",
172
+ "YER",
173
+ "ZMW",
174
+ "ZWL"
175
+ ],
176
+ "description": "Three-letter ISO 4217 currency code used to specify monetary units - Example: GBP"
177
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "CustomerSegment",
4
+ "$id": "https://shushed.example.com/order/customer-segment.schema.json",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "properties": {
8
+ "bc_id": {
9
+ "type": "string",
10
+ "maxLength": 20,
11
+ "description": "Business Central customer id - Example: CUST00012345"
12
+ },
13
+ "email": {
14
+ "type": "string",
15
+ "format": "email",
16
+ "description": "Normalized and lowercased email",
17
+ "example": "alice.johnson@example.com"
18
+ },
19
+ "segments": {
20
+ "type": ["array", "null"],
21
+ "items": {
22
+ "type": "string"
23
+ },
24
+ "description": "The segments the customer belongs to - Example: [\"sfcc_seg_friends\"] or null"
25
+ }
26
+ },
27
+ "required": [
28
+ "bc_id",
29
+ "email",
30
+ "segments"
31
+ ]
32
+ }