@fiado/type-kit 3.144.0 → 3.145.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/bin/cognitoBackofficeConnector/dtos/MfaPoolConfig.d.ts +7 -0
- package/bin/{platformRbac/dtos/ResendSelfRegisterOtpRequest.js → cognitoBackofficeConnector/dtos/MfaPoolConfig.js} +18 -18
- package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.d.ts +20 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolConfigResponse.js +11 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.d.ts +4 -0
- package/bin/cognitoBackofficeConnector/dtos/PoolsListResponse.js +6 -0
- package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.d.ts +17 -0
- package/bin/cognitoBackofficeConnector/validators/MfaTypesRequiresOne.js +39 -0
- package/bin/group/dtos/GroupCountsResponse.d.ts +11 -0
- package/bin/group/dtos/GroupCountsResponse.js +11 -0
- package/bin/group/index.d.ts +1 -0
- package/bin/group/index.js +2 -0
- package/bin/index.d.ts +1 -0
- package/bin/index.js +3 -2
- package/bin/rbac/enums/PoolKind.d.ts +16 -0
- package/bin/rbac/enums/PoolKind.js +20 -0
- package/bin/rbac/index.d.ts +1 -0
- package/bin/rbac/index.js +17 -0
- package/bin/remittance/dtos/RemittanceSegment.d.ts +80 -0
- package/bin/remittance/dtos/RemittanceSegment.js +122 -0
- package/bin/remittance/dtos/index.d.ts +1 -0
- package/bin/remittance/dtos/index.js +1 -0
- package/bin/remittance/dtos/internal/RemittanceSegmentMetrics.d.ts +17 -0
- package/bin/remittance/dtos/internal/RemittanceSegmentMetrics.js +31 -0
- package/bin/remittance/enums/SegmentMemberType.d.ts +8 -0
- package/bin/remittance/enums/SegmentMemberType.js +12 -0
- package/bin/remittance/enums/index.d.ts +1 -0
- package/bin/remittance/enums/index.js +1 -0
- package/bin/remittance/index.d.ts +1 -0
- package/bin/remittance/index.js +1 -0
- package/bin/userTags/dtos/TagsByDirectoriesRequest.d.ts +4 -0
- package/bin/userTags/dtos/TagsByDirectoriesRequest.js +22 -0
- package/bin/userTags/dtos/TagsByDirectoriesResponse.d.ts +7 -0
- package/bin/userTags/dtos/TagsByDirectoriesResponse.js +10 -0
- package/bin/userTags/dtos/TagsSummaryResponse.d.ts +9 -0
- package/bin/userTags/dtos/TagsSummaryResponse.js +11 -0
- package/bin/userTags/index.d.ts +3 -0
- package/bin/userTags/index.js +20 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.d.ts +5 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceRequest.js +31 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.d.ts +7 -0
- package/bin/walletFunding/dtos/CancelFundingReferenceResponse.js +6 -0
- package/bin/walletFunding/dtos/CancelFundingRequest.d.ts +11 -0
- package/bin/{platformRbac/dtos/ResendOtpRequest.js → walletFunding/dtos/CancelFundingRequest.js} +13 -16
- package/bin/walletFunding/dtos/CancelFundingResponse.d.ts +14 -0
- package/bin/walletFunding/dtos/CancelFundingResponse.js +12 -0
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.d.ts +3 -0
- package/bin/walletFunding/dtos/CancelWalletFundingRequest.js +21 -0
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.d.ts +7 -0
- package/bin/walletFunding/dtos/CancelWalletFundingResponse.js +6 -0
- package/package.json +1 -1
- package/src/group/dtos/GroupCountsResponse.ts +12 -0
- package/src/group/index.ts +3 -0
- package/src/index.ts +1 -0
- package/src/remittance/dtos/RemittanceSegment.ts +132 -0
- package/src/remittance/dtos/index.ts +1 -0
- package/src/remittance/dtos/internal/RemittanceSegmentMetrics.ts +22 -0
- package/src/remittance/enums/SegmentMemberType.ts +8 -0
- package/src/remittance/enums/index.ts +1 -0
- package/src/remittance/index.ts +1 -0
- package/src/userTags/dtos/TagsByDirectoriesRequest.ts +8 -0
- package/src/userTags/dtos/TagsByDirectoriesResponse.ts +7 -0
- package/src/userTags/dtos/TagsSummaryResponse.ts +10 -0
- package/src/userTags/index.ts +4 -0
- package/bin/platformRbac/dtos/ResendOtpRequest.d.ts +0 -22
- package/bin/platformRbac/dtos/ResendSelfRegisterOtpRequest.d.ts +0 -11
|
@@ -9,28 +9,28 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.
|
|
12
|
+
exports.MfaPoolConfig = void 0;
|
|
13
13
|
const class_transformer_1 = require("class-transformer");
|
|
14
14
|
const class_validator_1 = require("class-validator");
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
class
|
|
15
|
+
const MfaTypesRequiresOne_1 = require("../validators/MfaTypesRequiresOne");
|
|
16
|
+
// EMAIL_OTP removido (3.41.0): el cognito-backoffice-connector no provisiona
|
|
17
|
+
// EmailMfaConfiguration a nivel pool (requiere infra SES que no está montada
|
|
18
|
+
// y la integración con messages-lambda aún no tiene diseño). Ver TD-020 +
|
|
19
|
+
// DEC-001 en cognito-backoffice-connector/docs/. Si se reintroduce, agregar
|
|
20
|
+
// 'EMAIL_OTP' a este array.
|
|
21
|
+
const ALLOWED_MFA_TYPES = ['SOFTWARE_TOKEN_MFA'];
|
|
22
|
+
class MfaPoolConfig {
|
|
23
23
|
}
|
|
24
|
-
exports.
|
|
24
|
+
exports.MfaPoolConfig = MfaPoolConfig;
|
|
25
25
|
__decorate([
|
|
26
26
|
(0, class_transformer_1.Expose)(),
|
|
27
|
-
(0, class_validator_1.
|
|
28
|
-
(
|
|
29
|
-
|
|
30
|
-
], ResendSelfRegisterOtpRequest.prototype, "tenantId", void 0);
|
|
27
|
+
(0, class_validator_1.IsBoolean)(),
|
|
28
|
+
__metadata("design:type", Boolean)
|
|
29
|
+
], MfaPoolConfig.prototype, "requireMfa", void 0);
|
|
31
30
|
__decorate([
|
|
32
31
|
(0, class_transformer_1.Expose)(),
|
|
33
|
-
(0, class_validator_1.
|
|
34
|
-
(0, class_validator_1.
|
|
35
|
-
|
|
36
|
-
|
|
32
|
+
(0, class_validator_1.IsArray)(),
|
|
33
|
+
(0, class_validator_1.IsIn)(ALLOWED_MFA_TYPES, { each: true }),
|
|
34
|
+
(0, class_validator_1.Validate)(MfaTypesRequiresOne_1.MfaTypesRequiresOne),
|
|
35
|
+
__metadata("design:type", Array)
|
|
36
|
+
], MfaPoolConfig.prototype, "mfaTypes", void 0);
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { PoolKind } from '../../rbac/enums/PoolKind';
|
|
2
|
+
/**
|
|
3
|
+
* Shape del `PoolConfigRow` expuesto al caller (BFF M18 / otros lambdas Fiado).
|
|
4
|
+
* Refleja la configuración de un Cognito User Pool registrado en la tabla
|
|
5
|
+
* `PoolConfigs_GT` del lambda `cognito-backoffice-connector`.
|
|
6
|
+
*/
|
|
7
|
+
export declare class PoolConfigResponse {
|
|
8
|
+
userPoolId: string;
|
|
9
|
+
userPoolArn: string;
|
|
10
|
+
region: string;
|
|
11
|
+
poolKind: PoolKind;
|
|
12
|
+
displayName: string;
|
|
13
|
+
appClients: Record<string, {
|
|
14
|
+
clientId: string;
|
|
15
|
+
clientName: string;
|
|
16
|
+
}>;
|
|
17
|
+
status: 'active' | 'deprecated';
|
|
18
|
+
createdAt: number;
|
|
19
|
+
updatedAt: number;
|
|
20
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PoolConfigResponse = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Shape del `PoolConfigRow` expuesto al caller (BFF M18 / otros lambdas Fiado).
|
|
6
|
+
* Refleja la configuración de un Cognito User Pool registrado en la tabla
|
|
7
|
+
* `PoolConfigs_GT` del lambda `cognito-backoffice-connector`.
|
|
8
|
+
*/
|
|
9
|
+
class PoolConfigResponse {
|
|
10
|
+
}
|
|
11
|
+
exports.PoolConfigResponse = PoolConfigResponse;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ValidatorConstraintInterface, ValidationArguments } from 'class-validator';
|
|
2
|
+
/**
|
|
3
|
+
* Cross-field validator: si `requireMfa: true`, entonces `mfaTypes` debe tener
|
|
4
|
+
* al menos 1 elemento. Si `requireMfa: false`, `mfaTypes` puede ser vacío.
|
|
5
|
+
*
|
|
6
|
+
* Razón: cuando el pool nace con MFA habilitado, el connector llama
|
|
7
|
+
* `SetUserPoolMfaConfigCommand` con la lista de tipos del DTO. Si el array
|
|
8
|
+
* llega vacío con `requireMfa: true`, el SDK rechaza con InvalidParameterException
|
|
9
|
+
* y el pool queda en estado inconsistente (MfaConfiguration:'ON' sin tipos).
|
|
10
|
+
* Mejor rechazar en validación del DTO antes de tocar AWS.
|
|
11
|
+
*
|
|
12
|
+
* Ver pivote v1.4.1 TD-017 cerrado + spec doc §1 R3.
|
|
13
|
+
*/
|
|
14
|
+
export declare class MfaTypesRequiresOne implements ValidatorConstraintInterface {
|
|
15
|
+
validate(mfaTypes: unknown, args: ValidationArguments): boolean;
|
|
16
|
+
defaultMessage(): string;
|
|
17
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.MfaTypesRequiresOne = void 0;
|
|
10
|
+
const class_validator_1 = require("class-validator");
|
|
11
|
+
/**
|
|
12
|
+
* Cross-field validator: si `requireMfa: true`, entonces `mfaTypes` debe tener
|
|
13
|
+
* al menos 1 elemento. Si `requireMfa: false`, `mfaTypes` puede ser vacío.
|
|
14
|
+
*
|
|
15
|
+
* Razón: cuando el pool nace con MFA habilitado, el connector llama
|
|
16
|
+
* `SetUserPoolMfaConfigCommand` con la lista de tipos del DTO. Si el array
|
|
17
|
+
* llega vacío con `requireMfa: true`, el SDK rechaza con InvalidParameterException
|
|
18
|
+
* y el pool queda en estado inconsistente (MfaConfiguration:'ON' sin tipos).
|
|
19
|
+
* Mejor rechazar en validación del DTO antes de tocar AWS.
|
|
20
|
+
*
|
|
21
|
+
* Ver pivote v1.4.1 TD-017 cerrado + spec doc §1 R3.
|
|
22
|
+
*/
|
|
23
|
+
let MfaTypesRequiresOne = class MfaTypesRequiresOne {
|
|
24
|
+
validate(mfaTypes, args) {
|
|
25
|
+
const obj = args.object;
|
|
26
|
+
if (obj.requireMfa === true) {
|
|
27
|
+
return Array.isArray(mfaTypes) && mfaTypes.length >= 1;
|
|
28
|
+
}
|
|
29
|
+
// requireMfa: false → cualquier mfaTypes pasa.
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
defaultMessage() {
|
|
33
|
+
return 'mfaTypes requiere al menos un tipo cuando requireMfa=true';
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
exports.MfaTypesRequiresOne = MfaTypesRequiresOne;
|
|
37
|
+
exports.MfaTypesRequiresOne = MfaTypesRequiresOne = __decorate([
|
|
38
|
+
(0, class_validator_1.ValidatorConstraint)({ name: 'MfaTypesRequiresOneWhenMfaRequired', async: false })
|
|
39
|
+
], MfaTypesRequiresOne);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Grupo con su # de miembros (relaciones DIRECTORY en GroupDirectoryRelations_GT). */
|
|
2
|
+
export declare class GroupCountItem {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
status: string;
|
|
6
|
+
memberCount: number;
|
|
7
|
+
}
|
|
8
|
+
/** Response de GET groups/counts (privado, fiado-group-business). */
|
|
9
|
+
export declare class GroupCountsResponse {
|
|
10
|
+
items: GroupCountItem[];
|
|
11
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.GroupCountsResponse = exports.GroupCountItem = void 0;
|
|
4
|
+
/** Grupo con su # de miembros (relaciones DIRECTORY en GroupDirectoryRelations_GT). */
|
|
5
|
+
class GroupCountItem {
|
|
6
|
+
}
|
|
7
|
+
exports.GroupCountItem = GroupCountItem;
|
|
8
|
+
/** Response de GET groups/counts (privado, fiado-group-business). */
|
|
9
|
+
class GroupCountsResponse {
|
|
10
|
+
}
|
|
11
|
+
exports.GroupCountsResponse = GroupCountsResponse;
|
package/bin/group/index.d.ts
CHANGED
package/bin/group/index.js
CHANGED
|
@@ -26,3 +26,5 @@ __exportStar(require("./enums/GroupStatus"), exports);
|
|
|
26
26
|
__exportStar(require("./enums/RelationType"), exports);
|
|
27
27
|
__exportStar(require("./enums/RelationStatus"), exports);
|
|
28
28
|
__exportStar(require("./enums/GroupAction"), exports);
|
|
29
|
+
//dtos
|
|
30
|
+
__exportStar(require("./dtos/GroupCountsResponse"), exports);
|
package/bin/index.d.ts
CHANGED
|
@@ -14,6 +14,7 @@ export * as Directory from './directory';
|
|
|
14
14
|
export * as ExchangeRate from './exchangeRate';
|
|
15
15
|
export * as File from './identity';
|
|
16
16
|
export * as Group from './group';
|
|
17
|
+
export * as UserTags from './userTags';
|
|
17
18
|
export * as Identity from './provider';
|
|
18
19
|
export * as Header from './header';
|
|
19
20
|
export * as ServicePayment from './servicePayment';
|
package/bin/index.js
CHANGED
|
@@ -36,8 +36,8 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
36
36
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
37
37
|
};
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.
|
|
40
|
-
exports.EmailVerification = exports.NetworkConnector = exports.TotpSecurity = exports.WalletFunding = exports.Remittance = exports.PlatformRbac = exports.CognitoBackofficeConnector = exports.TwilioConnector = exports.MessagesConnector = exports.Mdm = exports.MilestoneBusiness = exports.CirculoCredito = exports.CreditStatements = exports.Sentry = exports.AiEngine = exports.Funnel = exports.TeamsConnector = exports.PlatformErrorEvents = exports.CustomerFile = exports.CreditBackoffice = exports.CreditDashboard = exports.CreditEngine = exports.Credit = exports.ComissionBusiness = exports.ReferralBusiness = exports.ZendeskMessaging = exports.NotificationWS = exports.Event = exports.PayrollBusiness = exports.Cnbv = exports.DirectorySetting = exports.InvoiceCollector = exports.Collector = exports.Pricelist = exports.Company = exports.Services = void 0;
|
|
39
|
+
exports.AppSelectionData = exports.Device = exports.Observations = exports.IssuanceBusiness = exports.Blacklist = exports.CentralPayments = exports.Helpdesk = exports.FiadoApiResponse = exports.Auth = exports.LegalDocumentsBusiness = exports.Role = exports.STPAccount = exports.RiskProfile = exports.FraudPreventionEngine = exports.BBVARst = exports.Stp = exports.BenefitCenter = exports.BankAccount = exports.P2pContact = exports.CreditContract = exports.Contract = exports.ProductCatalog = exports.ContactInfo = exports.TransactionAnalytics = exports.Transaction = exports.TransactionProcessor = exports.GenericMessage = exports.EventBridgeMessage = exports.SessionActivity = exports.NotificationMessages = exports.ServicePayment = exports.Header = exports.Identity = exports.UserTags = exports.Group = exports.File = exports.ExchangeRate = exports.Directory = exports.Currency = exports.Country = exports.Card = exports.Authentication = exports.App = exports.Offices = exports.Places = exports.Address = exports.Beneficiary = exports.Activity = exports.Account = exports.Crypto = void 0;
|
|
40
|
+
exports.EmailVerification = exports.NetworkConnector = exports.TotpSecurity = exports.WalletFunding = exports.Remittance = exports.PlatformRbac = exports.CognitoBackofficeConnector = exports.TwilioConnector = exports.MessagesConnector = exports.Mdm = exports.MilestoneBusiness = exports.CirculoCredito = exports.CreditStatements = exports.Sentry = exports.AiEngine = exports.Funnel = exports.TeamsConnector = exports.PlatformErrorEvents = exports.CustomerFile = exports.CreditBackoffice = exports.CreditDashboard = exports.CreditEngine = exports.Credit = exports.ComissionBusiness = exports.ReferralBusiness = exports.ZendeskMessaging = exports.NotificationWS = exports.Event = exports.PayrollBusiness = exports.Cnbv = exports.DirectorySetting = exports.InvoiceCollector = exports.Collector = exports.Pricelist = exports.Company = exports.Services = exports.AccountIssuanceBusiness = void 0;
|
|
41
41
|
exports.Crypto = __importStar(require("./crypto"));
|
|
42
42
|
exports.Account = __importStar(require("./account"));
|
|
43
43
|
exports.Activity = __importStar(require("./activity"));
|
|
@@ -54,6 +54,7 @@ exports.Directory = __importStar(require("./directory"));
|
|
|
54
54
|
exports.ExchangeRate = __importStar(require("./exchangeRate"));
|
|
55
55
|
exports.File = __importStar(require("./identity"));
|
|
56
56
|
exports.Group = __importStar(require("./group"));
|
|
57
|
+
exports.UserTags = __importStar(require("./userTags"));
|
|
57
58
|
exports.Identity = __importStar(require("./provider"));
|
|
58
59
|
exports.Header = __importStar(require("./header"));
|
|
59
60
|
exports.ServicePayment = __importStar(require("./servicePayment"));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tipo de User Pool de Cognito desde la perspectiva del modelo RBAC Fiado.
|
|
3
|
+
*
|
|
4
|
+
* Origen: spec del proyecto `cognito-backoffice-connector` (Fase 0, componente 01
|
|
5
|
+
* documento `docs/superpowers/specs/2026-05-26-cognito-connector-decisiones-pendientes-design.md`).
|
|
6
|
+
*
|
|
7
|
+
* Decisión (TD-003): el proyecto converge en estos 2 valores. El documento componente 03
|
|
8
|
+
* lista 3 valores (incluyendo una variante adicional) pero queda como outlier — la
|
|
9
|
+
* decisión vigente en los 6 docs restantes y en el plan de implementación es 2 valores:
|
|
10
|
+
* - BACKOFFICE_PLATFORM — pool del backoffice de plataforma (cross-tenant)
|
|
11
|
+
* - BACKOFFICE_TENANT — pool por tenant (multi-tenant isolation)
|
|
12
|
+
*/
|
|
13
|
+
export declare enum PoolKind {
|
|
14
|
+
BACKOFFICE_PLATFORM = "BACKOFFICE_PLATFORM",
|
|
15
|
+
BACKOFFICE_TENANT = "BACKOFFICE_TENANT"
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PoolKind = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Tipo de User Pool de Cognito desde la perspectiva del modelo RBAC Fiado.
|
|
6
|
+
*
|
|
7
|
+
* Origen: spec del proyecto `cognito-backoffice-connector` (Fase 0, componente 01
|
|
8
|
+
* documento `docs/superpowers/specs/2026-05-26-cognito-connector-decisiones-pendientes-design.md`).
|
|
9
|
+
*
|
|
10
|
+
* Decisión (TD-003): el proyecto converge en estos 2 valores. El documento componente 03
|
|
11
|
+
* lista 3 valores (incluyendo una variante adicional) pero queda como outlier — la
|
|
12
|
+
* decisión vigente en los 6 docs restantes y en el plan de implementación es 2 valores:
|
|
13
|
+
* - BACKOFFICE_PLATFORM — pool del backoffice de plataforma (cross-tenant)
|
|
14
|
+
* - BACKOFFICE_TENANT — pool por tenant (multi-tenant isolation)
|
|
15
|
+
*/
|
|
16
|
+
var PoolKind;
|
|
17
|
+
(function (PoolKind) {
|
|
18
|
+
PoolKind["BACKOFFICE_PLATFORM"] = "BACKOFFICE_PLATFORM";
|
|
19
|
+
PoolKind["BACKOFFICE_TENANT"] = "BACKOFFICE_TENANT";
|
|
20
|
+
})(PoolKind || (exports.PoolKind = PoolKind = {}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './enums/PoolKind';
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./enums/PoolKind"), exports);
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { SegmentMemberType } from "../enums/SegmentMemberType";
|
|
2
|
+
/**
|
|
3
|
+
* DTOs de Segmentos (Dashboard Ops · Configuración §2, EP-22..25 + catalog + search).
|
|
4
|
+
*
|
|
5
|
+
* Un segmento es una colección EXPLÍCITA de clientes: referencias a grupos
|
|
6
|
+
* (Group_GT) y tags (UserTags_GT) por id + individuos (override por cliente).
|
|
7
|
+
* Dueño de la tabla: remittance-business (RemittanceSegments_GT).
|
|
8
|
+
*
|
|
9
|
+
* "Clientes" del segmento = intersección con RemittanceUsers_GT (usuarios de
|
|
10
|
+
* remesas que caen en el segmento), NO la membresía Fiado-wide del picker.
|
|
11
|
+
*/
|
|
12
|
+
/** Referencia de composición: un grupo (Group_GT.id) o un tag (UserTags_GT.tag). */
|
|
13
|
+
export declare class SegmentMember {
|
|
14
|
+
type: SegmentMemberType;
|
|
15
|
+
/** Group_GT.id (p. ej. "CELULARES") o el tag (p. ej. "VIPS"). */
|
|
16
|
+
id: string;
|
|
17
|
+
}
|
|
18
|
+
/** Individuo agregado explícitamente (la llave es directoryId; peopleId informativo). */
|
|
19
|
+
export declare class SegmentIndividual {
|
|
20
|
+
directoryId: string;
|
|
21
|
+
peopleId?: string;
|
|
22
|
+
/** Snapshot de display (se pinta sin lookup). */
|
|
23
|
+
name: string;
|
|
24
|
+
}
|
|
25
|
+
/** Body de EP-23 POST /backoffice/config/segments. */
|
|
26
|
+
export declare class CreateSegmentRequest {
|
|
27
|
+
name: string;
|
|
28
|
+
members: SegmentMember[];
|
|
29
|
+
individuals: SegmentIndividual[];
|
|
30
|
+
}
|
|
31
|
+
/** Body de EP-24 PUT /backoffice/config/segments/{id} (reemplazo completo). */
|
|
32
|
+
export declare class UpdateSegmentRequest {
|
|
33
|
+
name: string;
|
|
34
|
+
members: SegmentMember[];
|
|
35
|
+
individuals: SegmentIndividual[];
|
|
36
|
+
}
|
|
37
|
+
/** Segmento completo (response). Métricas null = nunca calculadas. */
|
|
38
|
+
export declare class Segment {
|
|
39
|
+
id: string;
|
|
40
|
+
name: string;
|
|
41
|
+
/** true solo en ESTANDAR (catch-all: composición bloqueada, no eliminable). */
|
|
42
|
+
isDefault: boolean;
|
|
43
|
+
members: SegmentMember[];
|
|
44
|
+
individuals: SegmentIndividual[];
|
|
45
|
+
/** # de RemittanceUsers en el segmento (intersección con remesas). */
|
|
46
|
+
clientCount: number | null;
|
|
47
|
+
/** Σ amountUSD del mes calendario de esos users (sin CANCELLED/REFUND). */
|
|
48
|
+
volMonthUSD: number | null;
|
|
49
|
+
lastCalculatedAt: string | null;
|
|
50
|
+
createdAt: string;
|
|
51
|
+
updatedAt: string;
|
|
52
|
+
createdBy: string;
|
|
53
|
+
updatedBy: string;
|
|
54
|
+
}
|
|
55
|
+
/** Response de EP-22 GET /backoffice/config/segments. */
|
|
56
|
+
export declare class SegmentListResponse {
|
|
57
|
+
items: Segment[];
|
|
58
|
+
}
|
|
59
|
+
/** Response de POST /backoffice/config/segments/{id}/recalcular. */
|
|
60
|
+
export declare class RecalculateSegmentResponse {
|
|
61
|
+
id: string;
|
|
62
|
+
clientCount: number;
|
|
63
|
+
volMonthUSD: number;
|
|
64
|
+
lastCalculatedAt: string;
|
|
65
|
+
}
|
|
66
|
+
/** Item del picker DISPONIBLES (EP-32 catalog). `count` = membresía Fiado-wide. */
|
|
67
|
+
export declare class SegmentCatalogItem {
|
|
68
|
+
type: SegmentMemberType;
|
|
69
|
+
id: string;
|
|
70
|
+
name: string;
|
|
71
|
+
count: number;
|
|
72
|
+
}
|
|
73
|
+
/** Response de GET /backoffice/config/segments/catalog. */
|
|
74
|
+
export declare class SegmentCatalogResponse {
|
|
75
|
+
items: SegmentCatalogItem[];
|
|
76
|
+
}
|
|
77
|
+
/** Response de GET /backoffice/config/segments/search-individual?q= (cap 20). */
|
|
78
|
+
export declare class SearchIndividualResponse {
|
|
79
|
+
items: SegmentIndividual[];
|
|
80
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SearchIndividualResponse = exports.SegmentCatalogResponse = exports.SegmentCatalogItem = exports.RecalculateSegmentResponse = exports.SegmentListResponse = exports.Segment = exports.UpdateSegmentRequest = exports.CreateSegmentRequest = exports.SegmentIndividual = exports.SegmentMember = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const SegmentMemberType_1 = require("../enums/SegmentMemberType");
|
|
16
|
+
/**
|
|
17
|
+
* DTOs de Segmentos (Dashboard Ops · Configuración §2, EP-22..25 + catalog + search).
|
|
18
|
+
*
|
|
19
|
+
* Un segmento es una colección EXPLÍCITA de clientes: referencias a grupos
|
|
20
|
+
* (Group_GT) y tags (UserTags_GT) por id + individuos (override por cliente).
|
|
21
|
+
* Dueño de la tabla: remittance-business (RemittanceSegments_GT).
|
|
22
|
+
*
|
|
23
|
+
* "Clientes" del segmento = intersección con RemittanceUsers_GT (usuarios de
|
|
24
|
+
* remesas que caen en el segmento), NO la membresía Fiado-wide del picker.
|
|
25
|
+
*/
|
|
26
|
+
/** Referencia de composición: un grupo (Group_GT.id) o un tag (UserTags_GT.tag). */
|
|
27
|
+
class SegmentMember {
|
|
28
|
+
}
|
|
29
|
+
exports.SegmentMember = SegmentMember;
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_validator_1.IsEnum)(SegmentMemberType_1.SegmentMemberType),
|
|
32
|
+
__metadata("design:type", String)
|
|
33
|
+
], SegmentMember.prototype, "type", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, class_validator_1.IsString)(),
|
|
36
|
+
(0, class_validator_1.Length)(1, 100),
|
|
37
|
+
__metadata("design:type", String)
|
|
38
|
+
], SegmentMember.prototype, "id", void 0);
|
|
39
|
+
/** Individuo agregado explícitamente (la llave es directoryId; peopleId informativo). */
|
|
40
|
+
class SegmentIndividual {
|
|
41
|
+
}
|
|
42
|
+
exports.SegmentIndividual = SegmentIndividual;
|
|
43
|
+
__decorate([
|
|
44
|
+
(0, class_validator_1.IsUUID)("4"),
|
|
45
|
+
__metadata("design:type", String)
|
|
46
|
+
], SegmentIndividual.prototype, "directoryId", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_validator_1.IsOptional)(),
|
|
49
|
+
(0, class_validator_1.IsUUID)("4"),
|
|
50
|
+
__metadata("design:type", String)
|
|
51
|
+
], SegmentIndividual.prototype, "peopleId", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
(0, class_validator_1.IsString)(),
|
|
54
|
+
(0, class_validator_1.Length)(1, 200),
|
|
55
|
+
__metadata("design:type", String)
|
|
56
|
+
], SegmentIndividual.prototype, "name", void 0);
|
|
57
|
+
/** Body de EP-23 POST /backoffice/config/segments. */
|
|
58
|
+
class CreateSegmentRequest {
|
|
59
|
+
}
|
|
60
|
+
exports.CreateSegmentRequest = CreateSegmentRequest;
|
|
61
|
+
__decorate([
|
|
62
|
+
(0, class_validator_1.IsString)(),
|
|
63
|
+
(0, class_validator_1.Length)(3, 100),
|
|
64
|
+
__metadata("design:type", String)
|
|
65
|
+
], CreateSegmentRequest.prototype, "name", void 0);
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, class_validator_1.IsArray)(),
|
|
68
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
69
|
+
(0, class_transformer_1.Type)(() => SegmentMember),
|
|
70
|
+
__metadata("design:type", Array)
|
|
71
|
+
], CreateSegmentRequest.prototype, "members", void 0);
|
|
72
|
+
__decorate([
|
|
73
|
+
(0, class_validator_1.IsArray)(),
|
|
74
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
75
|
+
(0, class_transformer_1.Type)(() => SegmentIndividual),
|
|
76
|
+
__metadata("design:type", Array)
|
|
77
|
+
], CreateSegmentRequest.prototype, "individuals", void 0);
|
|
78
|
+
/** Body de EP-24 PUT /backoffice/config/segments/{id} (reemplazo completo). */
|
|
79
|
+
class UpdateSegmentRequest {
|
|
80
|
+
}
|
|
81
|
+
exports.UpdateSegmentRequest = UpdateSegmentRequest;
|
|
82
|
+
__decorate([
|
|
83
|
+
(0, class_validator_1.IsString)(),
|
|
84
|
+
(0, class_validator_1.Length)(3, 100),
|
|
85
|
+
__metadata("design:type", String)
|
|
86
|
+
], UpdateSegmentRequest.prototype, "name", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, class_validator_1.IsArray)(),
|
|
89
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
90
|
+
(0, class_transformer_1.Type)(() => SegmentMember),
|
|
91
|
+
__metadata("design:type", Array)
|
|
92
|
+
], UpdateSegmentRequest.prototype, "members", void 0);
|
|
93
|
+
__decorate([
|
|
94
|
+
(0, class_validator_1.IsArray)(),
|
|
95
|
+
(0, class_validator_1.ValidateNested)({ each: true }),
|
|
96
|
+
(0, class_transformer_1.Type)(() => SegmentIndividual),
|
|
97
|
+
__metadata("design:type", Array)
|
|
98
|
+
], UpdateSegmentRequest.prototype, "individuals", void 0);
|
|
99
|
+
/** Segmento completo (response). Métricas null = nunca calculadas. */
|
|
100
|
+
class Segment {
|
|
101
|
+
}
|
|
102
|
+
exports.Segment = Segment;
|
|
103
|
+
/** Response de EP-22 GET /backoffice/config/segments. */
|
|
104
|
+
class SegmentListResponse {
|
|
105
|
+
}
|
|
106
|
+
exports.SegmentListResponse = SegmentListResponse;
|
|
107
|
+
/** Response de POST /backoffice/config/segments/{id}/recalcular. */
|
|
108
|
+
class RecalculateSegmentResponse {
|
|
109
|
+
}
|
|
110
|
+
exports.RecalculateSegmentResponse = RecalculateSegmentResponse;
|
|
111
|
+
/** Item del picker DISPONIBLES (EP-32 catalog). `count` = membresía Fiado-wide. */
|
|
112
|
+
class SegmentCatalogItem {
|
|
113
|
+
}
|
|
114
|
+
exports.SegmentCatalogItem = SegmentCatalogItem;
|
|
115
|
+
/** Response de GET /backoffice/config/segments/catalog. */
|
|
116
|
+
class SegmentCatalogResponse {
|
|
117
|
+
}
|
|
118
|
+
exports.SegmentCatalogResponse = SegmentCatalogResponse;
|
|
119
|
+
/** Response de GET /backoffice/config/segments/search-individual?q= (cap 20). */
|
|
120
|
+
class SearchIndividualResponse {
|
|
121
|
+
}
|
|
122
|
+
exports.SearchIndividualResponse = SearchIndividualResponse;
|
|
@@ -54,3 +54,4 @@ __exportStar(require("./RemittanceUserLimits"), exports);
|
|
|
54
54
|
__exportStar(require("./RemittanceKyc"), exports);
|
|
55
55
|
__exportStar(require("./RemittanceCohort"), exports);
|
|
56
56
|
__exportStar(require("./RemittanceAuditLog"), exports);
|
|
57
|
+
__exportStar(require("./RemittanceSegment"), exports);
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contrato interno de métricas de un segmento (puente Opción A):
|
|
3
|
+
* remittance-business resuelve la membresía (subconjunto de RemittanceUsers que
|
|
4
|
+
* caen en el segmento) y el uniteller-connector (dueño de las tx) devuelve el
|
|
5
|
+
* conteo validado + volumen del mes. Vía api-invoker →
|
|
6
|
+
* POST /backoffice/config/segments/metrics (privado).
|
|
7
|
+
*/
|
|
8
|
+
export declare class SegmentMetricsRequest {
|
|
9
|
+
/** Subconjunto ya resuelto por rb. `[]` → { clientCount: 0, volMonthUSD: 0 }. */
|
|
10
|
+
directoryIds: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare class SegmentMetricsResponse {
|
|
13
|
+
/** ids del request que SÍ existen en RemittanceUsers_GT. */
|
|
14
|
+
clientCount: number;
|
|
15
|
+
/** Σ amountUSD del mes calendario corriente (UTC) de esos users, sin CANCELLED/REFUND. */
|
|
16
|
+
volMonthUSD: number;
|
|
17
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SegmentMetricsResponse = exports.SegmentMetricsRequest = void 0;
|
|
13
|
+
const class_validator_1 = require("class-validator");
|
|
14
|
+
/**
|
|
15
|
+
* Contrato interno de métricas de un segmento (puente Opción A):
|
|
16
|
+
* remittance-business resuelve la membresía (subconjunto de RemittanceUsers que
|
|
17
|
+
* caen en el segmento) y el uniteller-connector (dueño de las tx) devuelve el
|
|
18
|
+
* conteo validado + volumen del mes. Vía api-invoker →
|
|
19
|
+
* POST /backoffice/config/segments/metrics (privado).
|
|
20
|
+
*/
|
|
21
|
+
class SegmentMetricsRequest {
|
|
22
|
+
}
|
|
23
|
+
exports.SegmentMetricsRequest = SegmentMetricsRequest;
|
|
24
|
+
__decorate([
|
|
25
|
+
(0, class_validator_1.IsArray)(),
|
|
26
|
+
(0, class_validator_1.IsUUID)("4", { each: true }),
|
|
27
|
+
__metadata("design:type", Array)
|
|
28
|
+
], SegmentMetricsRequest.prototype, "directoryIds", void 0);
|
|
29
|
+
class SegmentMetricsResponse {
|
|
30
|
+
}
|
|
31
|
+
exports.SegmentMetricsResponse = SegmentMetricsResponse;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SegmentMemberType = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Tipo de miembro de la composición de un segmento (Dashboard Ops · Configuración §2).
|
|
6
|
+
* Los valores son los del mockup (pills GRUPO/TAG del dual-list).
|
|
7
|
+
*/
|
|
8
|
+
var SegmentMemberType;
|
|
9
|
+
(function (SegmentMemberType) {
|
|
10
|
+
SegmentMemberType["GROUP"] = "group";
|
|
11
|
+
SegmentMemberType["TAG"] = "tag";
|
|
12
|
+
})(SegmentMemberType || (exports.SegmentMemberType = SegmentMemberType = {}));
|
|
@@ -26,3 +26,4 @@ __exportStar(require("./CohortOperator"), exports);
|
|
|
26
26
|
__exportStar(require("./CohortRefresh"), exports);
|
|
27
27
|
__exportStar(require("./AuditAction"), exports);
|
|
28
28
|
__exportStar(require("./AuditEntityType"), exports);
|
|
29
|
+
__exportStar(require("./SegmentMemberType"), exports);
|
package/bin/remittance/index.js
CHANGED
|
@@ -21,3 +21,4 @@ __exportStar(require("./dtos"), exports);
|
|
|
21
21
|
__exportStar(require("./dtos/internal/RemittanceCreditBackRequest"), exports);
|
|
22
22
|
__exportStar(require("./dtos/internal/RemittanceCreditBackResponse"), exports);
|
|
23
23
|
__exportStar(require("./dtos/internal/RemittanceCohortCount"), exports);
|
|
24
|
+
__exportStar(require("./dtos/internal/RemittanceSegmentMetrics"), exports);
|