@fiado/type-kit 3.503.0 → 3.505.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.
- package/_test_/unit/retailCommission/commissionRules.test.ts +4 -0
- package/bin/retailCommission/dtos/CommissionAccrual.d.ts +1 -1
- package/bin/retailCommission/dtos/CommissionApi.d.ts +5 -0
- package/bin/retailCommission/dtos/CommissionPayout.d.ts +4 -1
- package/bin/retailCommission/dtos/CommissionRule.d.ts +3 -0
- package/bin/retailCommission/enums/CommissionBonusModeEnum.d.ts +2 -2
- package/bin/retailCommission/enums/CommissionBonusModeEnum.js +2 -2
- package/bin/retailCommission/enums/CommissionCountByEnum.d.ts +10 -0
- package/bin/retailCommission/enums/CommissionCountByEnum.js +14 -0
- package/bin/retailCommission/enums/CommissionMetricEnum.d.ts +1 -1
- package/bin/retailCommission/enums/CommissionMetricEnum.js +1 -1
- package/bin/retailCommission/index.d.ts +1 -0
- package/bin/retailCommission/index.js +1 -0
- package/package.json +1 -1
- package/src/retailCommission/dtos/CommissionAccrual.ts +1 -1
- package/src/retailCommission/dtos/CommissionApi.ts +5 -0
- package/src/retailCommission/dtos/CommissionPayout.ts +4 -1
- package/src/retailCommission/dtos/CommissionRule.ts +3 -0
- package/src/retailCommission/enums/CommissionBonusModeEnum.ts +2 -2
- package/src/retailCommission/enums/CommissionCountByEnum.ts +10 -0
- package/src/retailCommission/enums/CommissionMetricEnum.ts +1 -1
- package/src/retailCommission/index.ts +1 -0
|
@@ -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
|
});
|
|
@@ -107,7 +107,7 @@ export interface CommissionAppliedBonus {
|
|
|
107
107
|
name: string;
|
|
108
108
|
lineId: string;
|
|
109
109
|
sku: string;
|
|
110
|
-
/** Posición de la pieza en el contador de la regla dentro del periodo. */
|
|
110
|
+
/** Posición de la pieza (o de la venta, si la regla cuenta ventas) en el contador de la regla dentro del periodo. */
|
|
111
111
|
position: number;
|
|
112
112
|
mode: CommissionBonusModeEnum;
|
|
113
113
|
amountCents: number;
|
|
@@ -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,4 +1,5 @@
|
|
|
1
1
|
import type { CommissionPayoutStatusEnum } from '../enums/CommissionPayoutStatusEnum';
|
|
2
|
+
import type { CommissionCountByEnum } from '../enums/CommissionCountByEnum';
|
|
2
3
|
/**
|
|
3
4
|
* El corte semanal y todo lo que cuelga de él.
|
|
4
5
|
* SureKeep Fase 3 — pista Retail.
|
|
@@ -77,8 +78,10 @@ export interface CommissionAdjustment {
|
|
|
77
78
|
export interface CommissionRuleContribution {
|
|
78
79
|
ruleId: string;
|
|
79
80
|
name: string;
|
|
80
|
-
/** Piezas que pagaron esta regla. */
|
|
81
|
+
/** Piezas que pagaron esta regla; ventas, si la regla cuenta ventas. */
|
|
81
82
|
unitsCount: number;
|
|
83
|
+
/** Si la regla cuenta piezas o ventas. Ausente = `PIECE`. */
|
|
84
|
+
countBy?: CommissionCountByEnum;
|
|
82
85
|
bonusCents: number;
|
|
83
86
|
/** Su parte del multiplicador, en proporción a su bono. */
|
|
84
87
|
multiplierShareCents: number;
|
|
@@ -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ó. */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Cómo se calcula un bono.
|
|
3
3
|
*
|
|
4
|
-
* FIXED - Monto fijo en centavos por pieza.
|
|
5
|
-
* PERCENT - Puntos base sobre el precio neto de la pieza (10000 = 100%).
|
|
4
|
+
* FIXED - Monto fijo en centavos por pieza, o por venta si la regla cuenta ventas.
|
|
5
|
+
* PERCENT - Puntos base sobre el precio neto de la pieza, o de las piezas de la venta en el alcance si la regla cuenta ventas (10000 = 100%).
|
|
6
6
|
*/
|
|
7
7
|
export declare enum CommissionBonusModeEnum {
|
|
8
8
|
FIXED = "FIXED",
|
|
@@ -4,8 +4,8 @@ exports.CommissionBonusModeEnum = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* Cómo se calcula un bono.
|
|
6
6
|
*
|
|
7
|
-
* FIXED - Monto fijo en centavos por pieza.
|
|
8
|
-
* PERCENT - Puntos base sobre el precio neto de la pieza (10000 = 100%).
|
|
7
|
+
* FIXED - Monto fijo en centavos por pieza, o por venta si la regla cuenta ventas.
|
|
8
|
+
* PERCENT - Puntos base sobre el precio neto de la pieza, o de las piezas de la venta en el alcance si la regla cuenta ventas (10000 = 100%).
|
|
9
9
|
*/
|
|
10
10
|
var CommissionBonusModeEnum;
|
|
11
11
|
(function (CommissionBonusModeEnum) {
|
|
@@ -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 = {}));
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Métricas de la condición de una regla.
|
|
3
3
|
*
|
|
4
|
-
* POSICION_VENTA_EN_PERIODO - Lugar de la pieza entre las del vendedor en el periodo que caen en el alcance de la regla.
|
|
4
|
+
* POSICION_VENTA_EN_PERIODO - Lugar de la pieza (o de la venta, si la regla cuenta ventas) entre las del vendedor en el periodo que caen en el alcance de la regla.
|
|
5
5
|
* COLOCACION_PERIODO - Suma del precio neto de todo lo que el vendedor vendió en el periodo, en centavos.
|
|
6
6
|
* NPI_M30_VENDEDOR - Proporción de créditos del vendedor con primer impago a 30 días, en bps. Viene del crédito.
|
|
7
7
|
* SKUS_DISTINTOS_PERIODO - Cuántos SKUs distintos vendió el vendedor en el periodo.
|
|
@@ -4,7 +4,7 @@ exports.CommissionMetricEnum = void 0;
|
|
|
4
4
|
/**
|
|
5
5
|
* Métricas de la condición de una regla.
|
|
6
6
|
*
|
|
7
|
-
* POSICION_VENTA_EN_PERIODO - Lugar de la pieza entre las del vendedor en el periodo que caen en el alcance de la regla.
|
|
7
|
+
* POSICION_VENTA_EN_PERIODO - Lugar de la pieza (o de la venta, si la regla cuenta ventas) entre las del vendedor en el periodo que caen en el alcance de la regla.
|
|
8
8
|
* COLOCACION_PERIODO - Suma del precio neto de todo lo que el vendedor vendió en el periodo, en centavos.
|
|
9
9
|
* NPI_M30_VENDEDOR - Proporción de créditos del vendedor con primer impago a 30 días, en bps. Viene del crédito.
|
|
10
10
|
* SKUS_DISTINTOS_PERIODO - Cuántos SKUs distintos vendió el vendedor en el periodo.
|
|
@@ -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
|
@@ -112,7 +112,7 @@ export interface CommissionAppliedBonus {
|
|
|
112
112
|
name: string;
|
|
113
113
|
lineId: string;
|
|
114
114
|
sku: string;
|
|
115
|
-
/** Posición de la pieza en el contador de la regla dentro del periodo. */
|
|
115
|
+
/** Posición de la pieza (o de la venta, si la regla cuenta ventas) en el contador de la regla dentro del periodo. */
|
|
116
116
|
position: number;
|
|
117
117
|
mode: CommissionBonusModeEnum;
|
|
118
118
|
amountCents: number;
|
|
@@ -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,4 +1,5 @@
|
|
|
1
1
|
import type { CommissionPayoutStatusEnum } from '../enums/CommissionPayoutStatusEnum';
|
|
2
|
+
import type { CommissionCountByEnum } from '../enums/CommissionCountByEnum';
|
|
2
3
|
|
|
3
4
|
/**
|
|
4
5
|
* El corte semanal y todo lo que cuelga de él.
|
|
@@ -81,8 +82,10 @@ export interface CommissionAdjustment {
|
|
|
81
82
|
export interface CommissionRuleContribution {
|
|
82
83
|
ruleId: string;
|
|
83
84
|
name: string;
|
|
84
|
-
/** Piezas que pagaron esta regla. */
|
|
85
|
+
/** Piezas que pagaron esta regla; ventas, si la regla cuenta ventas. */
|
|
85
86
|
unitsCount: number;
|
|
87
|
+
/** Si la regla cuenta piezas o ventas. Ausente = `PIECE`. */
|
|
88
|
+
countBy?: CommissionCountByEnum;
|
|
86
89
|
bonusCents: number;
|
|
87
90
|
/** Su parte del multiplicador, en proporción a su bono. */
|
|
88
91
|
multiplierShareCents: number;
|
|
@@ -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ó. */
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Cómo se calcula un bono.
|
|
3
3
|
*
|
|
4
|
-
* FIXED - Monto fijo en centavos por pieza.
|
|
5
|
-
* PERCENT - Puntos base sobre el precio neto de la pieza (10000 = 100%).
|
|
4
|
+
* FIXED - Monto fijo en centavos por pieza, o por venta si la regla cuenta ventas.
|
|
5
|
+
* PERCENT - Puntos base sobre el precio neto de la pieza, o de las piezas de la venta en el alcance si la regla cuenta ventas (10000 = 100%).
|
|
6
6
|
*/
|
|
7
7
|
export enum CommissionBonusModeEnum {
|
|
8
8
|
FIXED = 'FIXED',
|
|
@@ -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
|
+
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Métricas de la condición de una regla.
|
|
3
3
|
*
|
|
4
|
-
* POSICION_VENTA_EN_PERIODO - Lugar de la pieza entre las del vendedor en el periodo que caen en el alcance de la regla.
|
|
4
|
+
* POSICION_VENTA_EN_PERIODO - Lugar de la pieza (o de la venta, si la regla cuenta ventas) entre las del vendedor en el periodo que caen en el alcance de la regla.
|
|
5
5
|
* COLOCACION_PERIODO - Suma del precio neto de todo lo que el vendedor vendió en el periodo, en centavos.
|
|
6
6
|
* NPI_M30_VENDEDOR - Proporción de créditos del vendedor con primer impago a 30 días, en bps. Viene del crédito.
|
|
7
7
|
* SKUS_DISTINTOS_PERIODO - Cuántos SKUs distintos vendió el vendedor en el periodo.
|
|
@@ -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';
|