platform-types 1.10.810 → 1.10.811

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/store.js CHANGED
@@ -153,6 +153,13 @@ exports.STORE_MODULE_ERROR_CODES = [
153
153
  * `audienceClass: 'wholesale'` list (`store/_ecommercePatch.ts`), with
154
154
  * `data: { field: 'ecommerce.config.wholesaleRequests' }`. The platform PUT
155
155
  * answers it too.
156
+ * - `NET_PLUS_IVA_REQUIRES_RI` — an `ecommerce` save turns
157
+ * `config.showNetPlusIva` on while the store's stored
158
+ * `integrations.afip.condFiscal` is not `30` (Responsable Inscripto), unset
159
+ * included (`store/_ecommercePatch.ts`), with
160
+ * `data: { field: 'ecommerce.config.showNetPlusIva' }`; nothing is written and
161
+ * one deduped ERROR row is kept per store. `false` and `null` are never
162
+ * refused. The platform PUT answers it too.
156
163
  *
157
164
  * Maintenance mode (`{ mode: 'maintenance', level }`, `store/_patchMaintenance.ts`):
158
165
  * - `FORBIDDEN` (403) — the caller is neither an ADMIN nor a MANAGER.
@@ -187,6 +194,7 @@ exports.STORE_PATCH_ERROR_CODES = [
187
194
  'PRICE_LIST_NOT_FOUND',
188
195
  'DELIVERY_FEE_INVALID',
189
196
  'WHOLESALE_LIST_REQUIRED',
197
+ 'NET_PLUS_IVA_REQUIRES_RI',
190
198
  'DATA_FISCAL_URL_INVALID',
191
199
  'STORE_PUBLIC_HOST_MISSING',
192
200
  'FORBIDDEN',
@@ -153,6 +153,13 @@ exports.STOREFRONT_DESIGN_REGISTRY = {
153
153
  * (absent only for a product with no declarable IVA rate), so a flip needs no
154
154
  * catalogue refetch. The storefront shows the «+ IVA» line when this is on AND
155
155
  * the block is present. Default off: a store opts in.
156
+ *
157
+ * Responsable Inscripto only (`integrations.afip.condFiscal === 30`). Both
158
+ * writers refuse `true` on any other store with 409 NET_PLUS_IVA_REQUIRES_RI;
159
+ * `false` and `null` always pass. Storefront exits (web `GET /store`, the
160
+ * preview's store frame, the customer `stores` frame) send the EFFECTIVE value,
161
+ * stored flag AND RI; app reads (`GET /store`, the operator `/tenants` read)
162
+ * send the STORED one beside `integrations.afip.condFiscal`.
156
163
  */
157
164
  showNetPlusIva: liveToggle('showNetPlusIva', 'STOREFRONT_SHOW_NET_PLUS_IVA_LABEL', 'STOREFRONT_SHOW_NET_PLUS_IVA_HELP', 'Mostrar precio neto + IVA', 'Mostrar también el precio sin IVA, con la leyenda «+ IVA», junto al precio final. Nunca reemplaza al precio final.', false),
158
165
  prices: { ...LIVE_METADATA, storage: { source: 'catalogue' } },
package/dist/store.d.ts CHANGED
@@ -232,6 +232,8 @@ declare global {
232
232
  * data: { field: 'ecommerce.config.newCustomerPriceList', value: number }; nothing written.
233
233
  * `wholesaleRequests: true` on a store with no `audienceClass: 'wholesale'` list
234
234
  * refuses 409 WHOLESALE_LIST_REQUIRED; nothing written.
235
+ * `showNetPlusIva: true` on a store whose `integrations.afip.condFiscal` is not 30
236
+ * (Responsable Inscripto) refuses 409 NET_PLUS_IVA_REQUIRES_RI; nothing written.
235
237
  */
236
238
  interface EcommercePatchInput {
237
239
  config?: Pick<NonNullable<Ecommerce['config']>, 'showDefaultPriceList' | 'newCustomerPriceList' | 'registrationMode' | 'wholesaleRequests' | 'paymentHoldMinutes'> & StorefrontLiveSettingsPatch;
@@ -2606,6 +2608,13 @@ export type StoreModuleRefusalBody = {
2606
2608
  * `audienceClass: 'wholesale'` list (`store/_ecommercePatch.ts`), with
2607
2609
  * `data: { field: 'ecommerce.config.wholesaleRequests' }`. The platform PUT
2608
2610
  * answers it too.
2611
+ * - `NET_PLUS_IVA_REQUIRES_RI` — an `ecommerce` save turns
2612
+ * `config.showNetPlusIva` on while the store's stored
2613
+ * `integrations.afip.condFiscal` is not `30` (Responsable Inscripto), unset
2614
+ * included (`store/_ecommercePatch.ts`), with
2615
+ * `data: { field: 'ecommerce.config.showNetPlusIva' }`; nothing is written and
2616
+ * one deduped ERROR row is kept per store. `false` and `null` are never
2617
+ * refused. The platform PUT answers it too.
2609
2618
  *
2610
2619
  * Maintenance mode (`{ mode: 'maintenance', level }`, `store/_patchMaintenance.ts`):
2611
2620
  * - `FORBIDDEN` (403) — the caller is neither an ADMIN nor a MANAGER.
@@ -2620,5 +2629,5 @@ export type StoreModuleRefusalBody = {
2620
2629
  * checks, the display-currency lock, the storefront fence) are not listed
2621
2630
  * either. Cross-cutting refusals: check `GATING_ERROR_CODES` as well.
2622
2631
  */
2623
- export declare const STORE_PATCH_ERROR_CODES: readonly ["STORE_CONFIG_FORBIDDEN", "STORE_ECOMMERCE_FORBIDDEN", "STORE_FISCAL_FIELD_FORBIDDEN", "STORE_JURISDICTION_FORBIDDEN", "AFIP_RELACION_FLAG_FORBIDDEN", "FX_TABLE_FORBIDDEN", "FX_AUTO_UPDATE_FORBIDDEN", "FIELD_NOT_WRITABLE_HERE", "AFIP_POINT_OF_SALE_NOT_CLEARABLE", "CURRENCY_CATALOG_ID_UNKNOWN", "ARS_RATE_MUST_BE_ONE", "CURRENCY_RATE_ABOVE_CEILING", "FX_CATALOG_ID_UNKNOWN", "FX_SOURCE_ID_UNKNOWN", "DISPLAY_CURRENCY_NOT_INVOICEABLE", "PRODUCT_CURRENCY_NOT_INVOICEABLE", "PRICE_LIST_NOT_FOUND", "DELIVERY_FEE_INVALID", "WHOLESALE_LIST_REQUIRED", "DATA_FISCAL_URL_INVALID", "STORE_PUBLIC_HOST_MISSING", "FORBIDDEN", "STORE_NOT_FOUND"];
2632
+ export declare const STORE_PATCH_ERROR_CODES: readonly ["STORE_CONFIG_FORBIDDEN", "STORE_ECOMMERCE_FORBIDDEN", "STORE_FISCAL_FIELD_FORBIDDEN", "STORE_JURISDICTION_FORBIDDEN", "AFIP_RELACION_FLAG_FORBIDDEN", "FX_TABLE_FORBIDDEN", "FX_AUTO_UPDATE_FORBIDDEN", "FIELD_NOT_WRITABLE_HERE", "AFIP_POINT_OF_SALE_NOT_CLEARABLE", "CURRENCY_CATALOG_ID_UNKNOWN", "ARS_RATE_MUST_BE_ONE", "CURRENCY_RATE_ABOVE_CEILING", "FX_CATALOG_ID_UNKNOWN", "FX_SOURCE_ID_UNKNOWN", "DISPLAY_CURRENCY_NOT_INVOICEABLE", "PRODUCT_CURRENCY_NOT_INVOICEABLE", "PRICE_LIST_NOT_FOUND", "DELIVERY_FEE_INVALID", "WHOLESALE_LIST_REQUIRED", "NET_PLUS_IVA_REQUIRES_RI", "DATA_FISCAL_URL_INVALID", "STORE_PUBLIC_HOST_MISSING", "FORBIDDEN", "STORE_NOT_FOUND"];
2624
2633
  export type StorePatchErrorCode = (typeof STORE_PATCH_ERROR_CODES)[number];
package/dist/store.js CHANGED
@@ -148,6 +148,13 @@ export const STORE_MODULE_ERROR_CODES = [
148
148
  * `audienceClass: 'wholesale'` list (`store/_ecommercePatch.ts`), with
149
149
  * `data: { field: 'ecommerce.config.wholesaleRequests' }`. The platform PUT
150
150
  * answers it too.
151
+ * - `NET_PLUS_IVA_REQUIRES_RI` — an `ecommerce` save turns
152
+ * `config.showNetPlusIva` on while the store's stored
153
+ * `integrations.afip.condFiscal` is not `30` (Responsable Inscripto), unset
154
+ * included (`store/_ecommercePatch.ts`), with
155
+ * `data: { field: 'ecommerce.config.showNetPlusIva' }`; nothing is written and
156
+ * one deduped ERROR row is kept per store. `false` and `null` are never
157
+ * refused. The platform PUT answers it too.
151
158
  *
152
159
  * Maintenance mode (`{ mode: 'maintenance', level }`, `store/_patchMaintenance.ts`):
153
160
  * - `FORBIDDEN` (403) — the caller is neither an ADMIN nor a MANAGER.
@@ -182,6 +189,7 @@ export const STORE_PATCH_ERROR_CODES = [
182
189
  'PRICE_LIST_NOT_FOUND',
183
190
  'DELIVERY_FEE_INVALID',
184
191
  'WHOLESALE_LIST_REQUIRED',
192
+ 'NET_PLUS_IVA_REQUIRES_RI',
185
193
  'DATA_FISCAL_URL_INVALID',
186
194
  'STORE_PUBLIC_HOST_MISSING',
187
195
  'FORBIDDEN',
@@ -145,6 +145,13 @@ export const STOREFRONT_DESIGN_REGISTRY = {
145
145
  * (absent only for a product with no declarable IVA rate), so a flip needs no
146
146
  * catalogue refetch. The storefront shows the «+ IVA» line when this is on AND
147
147
  * the block is present. Default off: a store opts in.
148
+ *
149
+ * Responsable Inscripto only (`integrations.afip.condFiscal === 30`). Both
150
+ * writers refuse `true` on any other store with 409 NET_PLUS_IVA_REQUIRES_RI;
151
+ * `false` and `null` always pass. Storefront exits (web `GET /store`, the
152
+ * preview's store frame, the customer `stores` frame) send the EFFECTIVE value,
153
+ * stored flag AND RI; app reads (`GET /store`, the operator `/tenants` read)
154
+ * send the STORED one beside `integrations.afip.condFiscal`.
148
155
  */
149
156
  showNetPlusIva: liveToggle('showNetPlusIva', 'STOREFRONT_SHOW_NET_PLUS_IVA_LABEL', 'STOREFRONT_SHOW_NET_PLUS_IVA_HELP', 'Mostrar precio neto + IVA', 'Mostrar también el precio sin IVA, con la leyenda «+ IVA», junto al precio final. Nunca reemplaza al precio final.', false),
150
157
  prices: { ...LIVE_METADATA, storage: { source: 'catalogue' } },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "platform-types",
3
- "version": "1.10.810",
3
+ "version": "1.10.811",
4
4
  "description": "Shared wire and entity contracts for the platform.",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",