@fiado/type-kit 3.503.0 → 3.504.0

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.
@@ -24,6 +24,10 @@ describe('retailCommission — enums de las reglas', () => {
24
24
  expect(Object.values(RetailCommission.CommissionOperatorEnum)).toEqual(['GTE', 'LTE', 'LT', 'GT', 'BETWEEN', 'IN']);
25
25
  });
26
26
 
27
+ it('una regla cuenta piezas o ventas', () => {
28
+ expect(Object.values(RetailCommission.CommissionCountByEnum)).toEqual(['PIECE', 'SALE']);
29
+ });
30
+
27
31
  it('expone las ventanas del corte', () => {
28
32
  expect(Object.values(RetailCommission.CommissionWindowEnum)).toEqual(['SEMANA_OPERATIVA', 'ROLLING_7D', 'MES']);
29
33
  });
@@ -5,6 +5,7 @@ import type { CommissionAccrual, CommissionAppliedBonus, CommissionSaleInput, Co
5
5
  import type { CommissionAdjustment, CommissionAppliedMultiplier, CommissionAppliedThreshold, CommissionPayout, CommissionPayoutSeller, CommissionSellerBreakdown } from './CommissionPayout';
6
6
  import type { CommissionPolicies, CommissionRule, CommissionRuleCondition, CommissionRuleLevers, CommissionRuleScope, CommissionRuleSetSnapshot } from './CommissionRule';
7
7
  import type { CommissionWindowEnum } from '../enums/CommissionWindowEnum';
8
+ import type { CommissionCountByEnum } from '../enums/CommissionCountByEnum';
8
9
  import type { CommissionAggregateByEnum } from '../enums/CommissionAggregateByEnum';
9
10
  import type { CommissionSeriesByEnum } from '../enums/CommissionSeriesByEnum';
10
11
  import type { CommissionAccrualStatusEnum } from '../enums/CommissionAccrualStatusEnum';
@@ -194,6 +195,8 @@ export interface CommissionRuleInput {
194
195
  effectiveTo: string | null;
195
196
  priority: number;
196
197
  replacesOthers: boolean;
198
+ /** Si la regla cuenta piezas o ventas. Ausente = `PIECE`. */
199
+ countBy?: CommissionCountByEnum;
197
200
  }
198
201
  /** `POST /backoffice/commissions/rules` — la regla nace en borrador. */
199
202
  export type CreateRuleRequest = CommissionRuleInput;
@@ -370,6 +373,8 @@ export interface CommissionRuleView {
370
373
  condition: CommissionRuleCondition | null;
371
374
  effectiveFrom: string;
372
375
  effectiveTo: string | null;
376
+ /** Si la regla cuenta piezas o ventas. Ausente = `PIECE`. */
377
+ countBy?: CommissionCountByEnum;
373
378
  }
374
379
  /** Lo pagado en varios cortes. */
375
380
  export interface MyCommissionsTotals {
@@ -1,6 +1,7 @@
1
1
  import type { ProductCategoryEnum } from '../../retailCatalog/enums/ProductCategoryEnum';
2
2
  import type { ProductTierEnum } from '../../retailCatalog/enums/ProductTierEnum';
3
3
  import type { CommissionBonusModeEnum } from '../enums/CommissionBonusModeEnum';
4
+ import type { CommissionCountByEnum } from '../enums/CommissionCountByEnum';
4
5
  import type { CommissionMetricEnum } from '../enums/CommissionMetricEnum';
5
6
  import type { CommissionOperatorEnum } from '../enums/CommissionOperatorEnum';
6
7
  import type { CommissionRuleStatusEnum } from '../enums/CommissionRuleStatusEnum';
@@ -72,6 +73,8 @@ export interface CommissionRule {
72
73
  priority: number;
73
74
  /** Solo con multiplicador: si dispara, es el único multiplicador del corte. */
74
75
  replacesOthers: boolean;
76
+ /** Si la regla cuenta piezas o ventas. Ausente = `PIECE`. */
77
+ countBy?: CommissionCountByEnum;
75
78
  /** Sube en cada guardado. */
76
79
  version: number;
77
80
  /** La versión que está en el plan vigente. `null` si nunca se publicó. */
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Qué cuenta una regla para su posición y su bono por venta.
3
+ *
4
+ * PIECE - Cada pieza vendida: una venta con teléfono y funda son dos.
5
+ * SALE - Cada venta (ticket), sin importar cuántas piezas lleve.
6
+ */
7
+ export declare enum CommissionCountByEnum {
8
+ PIECE = "PIECE",
9
+ SALE = "SALE"
10
+ }
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CommissionCountByEnum = void 0;
4
+ /**
5
+ * Qué cuenta una regla para su posición y su bono por venta.
6
+ *
7
+ * PIECE - Cada pieza vendida: una venta con teléfono y funda son dos.
8
+ * SALE - Cada venta (ticket), sin importar cuántas piezas lleve.
9
+ */
10
+ var CommissionCountByEnum;
11
+ (function (CommissionCountByEnum) {
12
+ CommissionCountByEnum["PIECE"] = "PIECE";
13
+ CommissionCountByEnum["SALE"] = "SALE";
14
+ })(CommissionCountByEnum || (exports.CommissionCountByEnum = CommissionCountByEnum = {}));
@@ -16,6 +16,7 @@ export * from './enums/CommissionBonusModeEnum';
16
16
  export * from './enums/CommissionMetricEnum';
17
17
  export * from './enums/CommissionOperatorEnum';
18
18
  export * from './enums/CommissionWindowEnum';
19
+ export * from './enums/CommissionCountByEnum';
19
20
  export * from './enums/CommissionAggregateByEnum';
20
21
  export * from './enums/CommissionSeriesByEnum';
21
22
  export * from './enums/CommissionSimulationSkipEnum';
@@ -33,6 +33,7 @@ __exportStar(require("./enums/CommissionBonusModeEnum"), exports);
33
33
  __exportStar(require("./enums/CommissionMetricEnum"), exports);
34
34
  __exportStar(require("./enums/CommissionOperatorEnum"), exports);
35
35
  __exportStar(require("./enums/CommissionWindowEnum"), exports);
36
+ __exportStar(require("./enums/CommissionCountByEnum"), exports);
36
37
  __exportStar(require("./enums/CommissionAggregateByEnum"), exports);
37
38
  __exportStar(require("./enums/CommissionSeriesByEnum"), exports);
38
39
  __exportStar(require("./enums/CommissionSimulationSkipEnum"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fiado/type-kit",
3
- "version": "3.503.0",
3
+ "version": "3.504.0",
4
4
  "description": "",
5
5
  "main": "bin/index.js",
6
6
  "types": "bin/index.d.ts",
@@ -24,6 +24,7 @@ import type {
24
24
  CommissionRuleSetSnapshot,
25
25
  } from './CommissionRule';
26
26
  import type { CommissionWindowEnum } from '../enums/CommissionWindowEnum';
27
+ import type { CommissionCountByEnum } from '../enums/CommissionCountByEnum';
27
28
  import type { CommissionAggregateByEnum } from '../enums/CommissionAggregateByEnum';
28
29
  import type { CommissionSeriesByEnum } from '../enums/CommissionSeriesByEnum';
29
30
  import type { CommissionAccrualStatusEnum } from '../enums/CommissionAccrualStatusEnum';
@@ -251,6 +252,8 @@ export interface CommissionRuleInput {
251
252
  effectiveTo: string | null;
252
253
  priority: number;
253
254
  replacesOthers: boolean;
255
+ /** Si la regla cuenta piezas o ventas. Ausente = `PIECE`. */
256
+ countBy?: CommissionCountByEnum;
254
257
  }
255
258
 
256
259
  /** `POST /backoffice/commissions/rules` — la regla nace en borrador. */
@@ -447,6 +450,8 @@ export interface CommissionRuleView {
447
450
  condition: CommissionRuleCondition | null;
448
451
  effectiveFrom: string;
449
452
  effectiveTo: string | null;
453
+ /** Si la regla cuenta piezas o ventas. Ausente = `PIECE`. */
454
+ countBy?: CommissionCountByEnum;
450
455
  }
451
456
 
452
457
  /** Lo pagado en varios cortes. */
@@ -1,6 +1,7 @@
1
1
  import type { ProductCategoryEnum } from '../../retailCatalog/enums/ProductCategoryEnum';
2
2
  import type { ProductTierEnum } from '../../retailCatalog/enums/ProductTierEnum';
3
3
  import type { CommissionBonusModeEnum } from '../enums/CommissionBonusModeEnum';
4
+ import type { CommissionCountByEnum } from '../enums/CommissionCountByEnum';
4
5
  import type { CommissionMetricEnum } from '../enums/CommissionMetricEnum';
5
6
  import type { CommissionOperatorEnum } from '../enums/CommissionOperatorEnum';
6
7
  import type { CommissionRuleStatusEnum } from '../enums/CommissionRuleStatusEnum';
@@ -81,6 +82,8 @@ export interface CommissionRule {
81
82
  priority: number;
82
83
  /** Solo con multiplicador: si dispara, es el único multiplicador del corte. */
83
84
  replacesOthers: boolean;
85
+ /** Si la regla cuenta piezas o ventas. Ausente = `PIECE`. */
86
+ countBy?: CommissionCountByEnum;
84
87
  /** Sube en cada guardado. */
85
88
  version: number;
86
89
  /** La versión que está en el plan vigente. `null` si nunca se publicó. */
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Qué cuenta una regla para su posición y su bono por venta.
3
+ *
4
+ * PIECE - Cada pieza vendida: una venta con teléfono y funda son dos.
5
+ * SALE - Cada venta (ticket), sin importar cuántas piezas lleve.
6
+ */
7
+ export enum CommissionCountByEnum {
8
+ PIECE = 'PIECE',
9
+ SALE = 'SALE',
10
+ }
@@ -17,6 +17,7 @@ export * from './enums/CommissionBonusModeEnum';
17
17
  export * from './enums/CommissionMetricEnum';
18
18
  export * from './enums/CommissionOperatorEnum';
19
19
  export * from './enums/CommissionWindowEnum';
20
+ export * from './enums/CommissionCountByEnum';
20
21
  export * from './enums/CommissionAggregateByEnum';
21
22
  export * from './enums/CommissionSeriesByEnum';
22
23
  export * from './enums/CommissionSimulationSkipEnum';