ecom-documents 1.0.3 → 1.0.4
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/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -867,6 +867,7 @@ __decorateClass([
|
|
|
867
867
|
], DateRangeExportDto.prototype, "to");
|
|
868
868
|
|
|
869
869
|
// src/utils/chunked-fetcher.util.ts
|
|
870
|
+
var MAX_EXPORT_RECORDS = 5e3;
|
|
870
871
|
async function fetchDBQueryInChunks(config) {
|
|
871
872
|
const { queryFn, pageOptions, chunkSize = 200 } = config;
|
|
872
873
|
const firstPageOptions = {
|
|
@@ -901,6 +902,9 @@ async function fetchDBQueryInChunks(config) {
|
|
|
901
902
|
break;
|
|
902
903
|
}
|
|
903
904
|
skip += chunkSize;
|
|
905
|
+
if (skip >= MAX_EXPORT_RECORDS) {
|
|
906
|
+
break;
|
|
907
|
+
}
|
|
904
908
|
}
|
|
905
909
|
if (currentIndex < totalRecords) {
|
|
906
910
|
allRecords.length = currentIndex;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/enums/document-type.enum.ts","../src/enums/fileFormat.enum.ts","../src/dtos/transactions-ms/exceptions-document.request.dto.ts","../src/dtos/transactions-ms/payment-method.request.dto.ts","../src/dtos/transactions-ms/payout-document.request.dto.ts","../src/dtos/transactions-ms/profit-fees-document.request.dto.ts","../src/dtos/transactions-ms/refund-document.request.dto.ts","../src/dtos/transactions-ms/settlement-document.request.dto.ts","../src/dtos/transactions-ms/statement-document.request.dto.ts","../src/dtos/transactions-ms/transaction-document-template.request.dto.ts","../src/dtos/transactions-ms/vendor-sales-document.request.dto.ts","../src/dtos/dto-map.ts","../src/validators/document-validator.ts","../src/client/document-client.ts","../src/client/errors/document-error.ts","../src/client/errors/validation-error.ts","../src/dtos/base/date-range.ts","../src/utils/chunked-fetcher.util.ts","../src/utils/mask-account-number.ts","../src/dtos/base/merchant-headers.ts","../src/dtos/base/document-generation.request.dto.ts","../src/dtos/base/document-path.response.dto.ts","../src/dtos/elinks-ms/invoice-document.request.dto.ts"],"names":["IsNotEmpty","IsString","Transform","IsNumberString","IsArray","ValidateNested","Type","IsDefined","IsOptional","plainToInstance","validate","axios","IsUrl","IsEnum"],"mappings":"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","file":"index.js","sourcesContent":["import { ValueOf } from '../utils';\n\nexport const DocumentType = {\n STATEMENTS: 'STATEMENTS',\n PAYOUTS: 'PAYOUTS',\n SETTLEMENTS: 'SETTLEMENTS',\n TRANSACTIONS: 'TRANSACTIONS',\n TRANSACTIONS_INTERNAL: 'TRANSACTIONS_INTERNAL',\n REFUNDS: 'REFUNDS',\n REFUNDS_INTERNAL_GATEWAY: 'REFUNDS_INTERNAL_GATEWAY',\n\n PROFIT_FEES: 'PROFIT_FEES',\n PAYMENT_METHODS: 'PAYMENT_METHODS',\n\n VENDOR_LIST: 'VENDOR_LIST',\n VENDOR_SALES: 'VENDOR_SALES',\n EXCEPTIONS: 'EXCEPTIONS',\n\n REFUNDS_POS: 'REFUNDS_POS',\n REFUNDS_INTERNAL_POS: 'REFUNDS_INTERNAL_POS',\n\n // MERCHANT_USERS: 'MERCHANT_USERS',\n // INTERNAL_USERS: 'INTERNAL_USERS',\n // BULK_INVOICE_CUSTOMERS: 'BULK_INVOICE_CUSTOMERS',\n // USERS_AND_AGENTS: 'USERS_AND_AGENTS',\n // CUSTOMERS: 'CUSTOMERS',\n // TERMINAL: 'TERMINAL',\n // INVOICES: 'INVOICES',\n // INVOICE_HISTORY: 'INVOICE_HISTORY',\n // USERS: 'USERS',\n // UNPAID_INVOICES: 'UNPAID_INVOICES',\n\n // TERMINALS: 'TERMINALS',\n // POS_TRANSACTIONS: 'POS_TRANSACTIONS',\n // POS_MERCHANT_TRANSACTIONS: 'POS_MERCHANT_TRANSACTIONS',\n // POS_TRANSACTIONS_INVALID: 'POS_TRANSACTIONS_INVALID',\n // BULK_INVOICES_INVALID: 'BULK_INVOICES_INVALID',\n // BLACKLIST_INVALID: 'BLACKLIST_INVALID',\n // BLACKLIST: 'BLACKLIST',\n // PARTNERS: 'PARTNERS',\n} as const;\n\nexport type DocumentType = ValueOf<typeof DocumentType>;\n","import { ValueOf } from '../utils';\n\nexport const FileFormat = {\n PDF: 'pdf',\n CSV: 'csv',\n XLSX: 'xlsx',\n} as const;\n\nexport type FileFormat = ValueOf<typeof FileFormat>;\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass ExceptionDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantRisk!: string;\n\n @IsString()\n @IsNotEmpty()\n cardNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n cardIssuer!: string;\n\n @IsString()\n @IsNotEmpty()\n cardHolderName!: string;\n\n @IsString()\n @IsNotEmpty()\n payerIpAddress!: string;\n\n @IsString()\n @IsNotEmpty()\n product!: string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n action!: string;\n}\n\nexport class ExceptionExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => ExceptionDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: ExceptionDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass PaymentMethodDocument {\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalAmount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n percentageOfTotal!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n txnCount!: number | string;\n}\n\nexport class PaymentMethodsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => PaymentMethodDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: PaymentMethodDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass PayoutDocument {\n @IsString()\n @IsNotEmpty()\n id!: string;\n\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n iban!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n currency!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n numOfTxn!: number | string;\n\n @IsString()\n @IsNotEmpty()\n notes!: string;\n\n @IsNotEmpty()\n createdAt!: string | Date;\n}\n\nexport class PayoutsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => PayoutDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: PayoutDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass ProfitFeesDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n numOfTxn!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalTxnAmount!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalProfitAmount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n type!: 'PROFIT' | 'FEES';\n}\n\nexport class ProfitFeesExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => ProfitFeesDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: ProfitFeesDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass RefundBaseDto {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsOptional()\n refundedAt?: string | Date;\n\n @IsOptional()\n rejectedAt?: string | Date;\n\n @IsString()\n @IsOptional()\n ecomReference?: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsNotEmpty()\n originalTxnId!: string;\n\n @IsNotEmpty()\n originalTxnDate!: string | Date;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n originalTxnAmount!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @IsString()\n @IsNotEmpty()\n status!: string;\n\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n}\n\nclass RefundDocument extends RefundBaseDto {\n @IsString()\n @IsNotEmpty()\n customerName!: string;\n\n @IsString()\n @IsNotEmpty()\n customerPhone!: string;\n\n @IsString()\n @IsOptional()\n invoiceNumber?: string;\n\n @IsString()\n @IsNotEmpty()\n product!: string;\n\n @IsString()\n @IsNotEmpty()\n type!: string;\n\n @IsString()\n @IsNotEmpty()\n requestedBy?: string;\n}\n\nclass RefundPOSDocument extends RefundBaseDto {\n @IsString()\n @IsNotEmpty()\n authId!: string | null;\n\n @IsString()\n @IsNotEmpty()\n terminalId!: string;\n\n @IsString()\n @IsOptional()\n terminalName?: string;\n\n @IsString()\n @IsNotEmpty()\n cardNumber!: string;\n}\n\nexport class RefundsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => RefundDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: RefundDocument[];\n}\n\nexport class RefundsPOSExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => RefundPOSDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: RefundPOSDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass SettlementDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsOptional()\n bank?: string;\n\n @IsString()\n @IsOptional()\n holderName?: string;\n\n @IsString()\n @IsOptional()\n iban?: string;\n\n @IsString()\n @IsOptional()\n accountNumber?: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalAmount!: number | string;\n\n @IsNumberString()\n @IsNotEmpty()\n totalTxnCount!: number | string;\n\n @IsOptional()\n settlementDate?: string | null;\n}\n\nexport class SettlementsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => SettlementDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: SettlementDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass StatementDocument {\n @IsNotEmpty()\n createdAt!: Date | string;\n\n @IsString()\n @IsOptional()\n transactionId?: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsOptional()\n invoiceId?: string;\n\n @IsString()\n @IsOptional()\n description?: string;\n\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsNotEmpty()\n type!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n balanceAfter!: number | string;\n}\nexport class StatementsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => StatementDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: StatementDocument[];\n}\n","import { Transform } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString } from 'class-validator';\n\nclass TransactionDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsNotEmpty()\n id!: string;\n\n @IsNotEmpty()\n @IsString()\n ecomReference!: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsOptional()\n merchantName?: string;\n\n @IsString()\n @IsOptional()\n invoiceNumber?: string;\n\n @IsNotEmpty()\n @IsString()\n customerName!: string;\n\n @IsNotEmpty()\n @IsString()\n customerPhone!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsNotEmpty()\n product!: string;\n\n @IsNotEmpty()\n @IsString()\n paymentMethod!: string;\n\n @IsNotEmpty()\n @IsString()\n status!: string;\n\n @IsString()\n @IsOptional()\n authCode?: string;\n\n @IsString()\n @IsOptional()\n terminalId?: string;\n\n @IsString()\n @IsOptional()\n terminalName?: string;\n\n @IsString()\n @IsOptional()\n cardNumber?: string;\n}\n\nexport class TransactionsExportDto {\n @IsArray()\n @IsNotEmpty()\n @IsDefined()\n data!: TransactionDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass VendorSalesDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorName!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalTxnAmount!: number | string;\n}\n\nclass VendorListDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorName!: string;\n\n @IsString()\n @IsNotEmpty()\n email!: string;\n\n @IsString()\n @IsNotEmpty()\n bank!: string;\n\n @IsString()\n @IsNotEmpty()\n iban!: string;\n\n @IsNotEmpty()\n commission!: number | string;\n}\n\nexport class VendorSalesExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => VendorSalesDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: VendorSalesDocument[];\n}\n\nexport class VendorListExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => VendorListDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: VendorListDocument[];\n}\n","import { DocumentType } from '../enums';\nimport {\n ExceptionExportDto,\n PaymentMethodsExportDto,\n PayoutsExportDto,\n ProfitFeesExportDto,\n RefundsExportDto,\n RefundsPOSExportDto,\n SettlementsExportDto,\n StatementsExportDto,\n TransactionsExportDto,\n VendorListExportDto,\n VendorSalesExportDto,\n} from './transactions-ms';\n\nexport const DocumentPayloadMap = {\n // transactions microservice dtos\n [DocumentType.STATEMENTS]: StatementsExportDto,\n [DocumentType.PAYOUTS]: PayoutsExportDto,\n [DocumentType.SETTLEMENTS]: SettlementsExportDto,\n [DocumentType.TRANSACTIONS]: TransactionsExportDto,\n [DocumentType.TRANSACTIONS_INTERNAL]: TransactionsExportDto,\n [DocumentType.REFUNDS]: RefundsExportDto,\n [DocumentType.REFUNDS_INTERNAL_GATEWAY]: RefundsExportDto,\n [DocumentType.PROFIT_FEES]: ProfitFeesExportDto,\n [DocumentType.PAYMENT_METHODS]: PaymentMethodsExportDto,\n [DocumentType.VENDOR_LIST]: VendorListExportDto,\n [DocumentType.VENDOR_SALES]: VendorSalesExportDto,\n [DocumentType.EXCEPTIONS]: ExceptionExportDto,\n\n // pos microservice dtos\n [DocumentType.REFUNDS_POS]: RefundsPOSExportDto,\n [DocumentType.REFUNDS_INTERNAL_POS]: RefundsPOSExportDto,\n\n // elinks microservice dtos\n} as const;\n","/** biome-ignore-all lint/suspicious/noExplicitAny: false positive */\nimport { ClassConstructor, plainToInstance } from 'class-transformer';\nimport { ValidationError, validate } from 'class-validator';\nimport { DocumentPayloadMap } from '../dtos/dto-map';\nimport { DocumentType } from '../enums/document-type.enum';\n\n/**\n * Validation result interface\n */\nexport interface ValidationResult<T = any> {\n isValid: boolean;\n errors?: ValidationError[];\n validatedPayload?: T;\n errorMessage?: string;\n}\n\n/**\n * Document payload validator\n */\nexport class DocumentValidator {\n /**\n * Validate a document payload based on its type\n * @param type - Document type\n * @param payload - Raw payload data\n * @returns Validation result with typed payload or errors\n */\n static async validatePayload(type: DocumentType, payload: any): Promise<ValidationResult> {\n // Get the DTO class for this document type\n const DtoClass = DocumentPayloadMap[type];\n\n if (!DtoClass) {\n return {\n isValid: false,\n errorMessage: `Unknown document type: ${type}`,\n errors: [\n {\n property: 'type',\n constraints: { invalid: `Unknown document type: ${type}` },\n } as ValidationError,\n ],\n };\n }\n\n // Transform plain object to class instance\n const instance = plainToInstance(DtoClass as ClassConstructor<any>, payload);\n\n // Validate the instance\n const errors = await validate(instance, {\n whitelist: true,\n validationError: {\n target: false,\n value: true,\n },\n });\n\n if (errors.length > 0) {\n return {\n isValid: false,\n errors,\n errorMessage: 'Payload validation failed',\n };\n }\n\n return {\n isValid: true,\n validatedPayload: instance,\n };\n }\n\n /**\n * Format validation errors into human-readable messages\n * @param errors - Array of validation errors\n * @returns Formatted error messages\n */\n static formatErrors(errors: ValidationError[]): string[] {\n const messages: string[] = [];\n\n const formatError = (error: ValidationError, path: string = ''): void => {\n const currentPath = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n Object.values(error.constraints).forEach((message) => {\n messages.push(`${currentPath}: ${message}`);\n });\n }\n\n if (error.children && error.children.length > 0) {\n error.children.forEach((child) => formatError(child, currentPath));\n }\n };\n\n errors.forEach((error) => formatError(error));\n return messages;\n }\n}\n","import axios from 'axios';\nimport {\n DateRangeExportDto,\n DocumentGenerationRequestDto,\n DocumentPathResponseDto,\n MerchantDetailsHeaderExportDto,\n} from '../dtos/base';\nimport { FileFormat } from '../enums';\nimport { DocumentType } from '../enums/document-type.enum';\nimport { DocumentValidator } from '../validators/document-validator';\n\n/**\n * Client for interacting with document microservice\n */\nexport class DocumentExportClient {\n client: ReturnType<typeof axios.create>;\n\n constructor(documentMsBaseUrl: string, documentMSCommunicationKey: string) {\n this.client = axios.create({\n baseURL: documentMsBaseUrl,\n headers: {\n 'Content-Type': 'application/json',\n 'x-communication-key': documentMSCommunicationKey || '',\n },\n });\n }\n\n /**\n * Generate a document with type-safe payload\n * @param type - Document type\n * @param payload - Typed payload for the document\n * @returns Document generation response\n */\n async generateDocument(\n documentFormat: FileFormat,\n documentType: DocumentType,\n dateRange: DateRangeExportDto,\n payload: { data: object[] },\n merchantInfo: MerchantDetailsHeaderExportDto,\n presignedURL: boolean = false,\n ): Promise<DocumentPathResponseDto> {\n try {\n // Validate payload before sending if enabled\n\n const validation = await DocumentValidator.validatePayload(documentType, payload);\n\n if (!validation.isValid) {\n const messages = DocumentValidator.formatErrors(validation.errors || []);\n const firstMessage = messages[0];\n throw new Error(`Document payload validation failed: ${firstMessage}`);\n }\n\n // Construct request\n const request: DocumentGenerationRequestDto = {\n documentFormat,\n documentType,\n dateRange,\n merchantInfo,\n data: validation?.validatedPayload?.data,\n presignedURL,\n };\n\n // Send request\n const response = await this.client.post<DocumentPathResponseDto>('/v2/document-generation', request);\n\n return response.data;\n } catch (error: any) {\n // if (error instanceof AxiosError) {\n // console.log(error.response?.data);\n // }\n console.log(error.response?.data || error?.message);\n return Promise.reject(error);\n }\n }\n}\n","/**\n * Base error for document operations\n */\n/** biome-ignore-all lint/suspicious/noExplicitAny: false positive */\nexport class DocumentError extends Error {\n constructor(\n message: string,\n public code: string,\n public statusCode?: number,\n public details?: any,\n ) {\n super(message);\n this.name = 'DocumentError';\n Error.captureStackTrace(this, this.constructor);\n }\n}\n\n/**\n * Error thrown when document generation fails\n */\nexport class DocumentGenerationError extends DocumentError {\n constructor(message: string, details?: any) {\n super(message, 'DOCUMENT_GENERATION_ERROR', 500, details);\n this.name = 'DocumentGenerationError';\n }\n}\n\n/**\n * Error thrown when network request fails\n */\nexport class DocumentNetworkError extends DocumentError {\n constructor(message: string, statusCode?: number, details?: any) {\n super(message, 'NETWORK_ERROR', statusCode, details);\n this.name = 'DocumentNetworkError';\n }\n}\n","import { ValidationError as ClassValidatorError } from 'class-validator';\nimport { DocumentError } from './document-error';\n\n/**\n * Error thrown when payload validation fails\n */\nexport class DocumentValidationError extends DocumentError {\n constructor(\n message: string,\n public validationErrors: ClassValidatorError[],\n ) {\n super(message, 'VALIDATION_ERROR', 400, { validationErrors });\n this.name = 'DocumentValidationError';\n }\n\n /**\n * Get formatted validation error messages\n */\n getMessages(): string[] {\n const messages: string[] = [];\n\n const formatError = (error: ClassValidatorError, path: string = ''): void => {\n const currentPath = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n Object.values(error.constraints).forEach((msg) => {\n messages.push(`${currentPath}: ${msg}`);\n });\n }\n\n if (error.children && error.children.length > 0) {\n error.children.forEach((child) => formatError(child, currentPath));\n }\n };\n\n this.validationErrors.forEach((error) => formatError(error));\n return messages;\n }\n}\n","import { IsNotEmpty } from 'class-validator';\n\nexport class DateRangeExportDto {\n @IsNotEmpty()\n from!: string | Date;\n\n @IsNotEmpty()\n to!: string | Date;\n}\n","export interface PageOptionsDto {\n page?: number;\n limit?: number;\n skip: number;\n take?: number;\n order?: 'ASC' | 'DESC';\n}\n\n/**\n * Configuration for chunked data fetching\n */\nexport interface ChunkedFetchConfig<T> {\n /**\n * The query function that accepts PageOptionsDto and returns [data, total]\n */\n queryFn: (pageOptions: PageOptionsDto) => Promise<[T[], number]>;\n\n /**\n * Original pagination options (will be overridden for chunking)\n */\n pageOptions: PageOptionsDto;\n\n /**\n * Maximum records per chunk (default: 200)\n */\n chunkSize?: number;\n}\n\n/**\n * Use this if you want to process records as they're fetched\n * const transactions = await fetchDBQueryInChunks({\n * queryFn: (pageOptions) => this.repository.findAndCount(pageOptions, filters, mid),\n * pageOptions: pageOptionsDto,\n * chunkSize: 200,\n * });\n */\nexport async function fetchDBQueryInChunks<T>(config: ChunkedFetchConfig<T>): Promise<T[]> {\n const { queryFn, pageOptions, chunkSize = 200 } = config;\n\n // First fetch to get total count\n const firstPageOptions: PageOptionsDto = {\n ...pageOptions,\n take: chunkSize,\n skip: 0,\n };\n\n const [firstRecords, totalRecords] = await queryFn(firstPageOptions);\n\n // If all data fits in first chunk, return immediately\n if (firstRecords.length >= totalRecords || firstRecords.length < chunkSize) {\n return firstRecords;\n }\n\n // Pre-allocate array with exact size for better memory performance\n // This avoids dynamic array resizing and memory fragmentation\n const allRecords: T[] = new Array(totalRecords);\n\n // Copy first chunk\n for (let i = 0; i < firstRecords.length; i++) {\n allRecords[i] = firstRecords[i];\n }\n\n let currentIndex = firstRecords.length;\n let skip = chunkSize;\n\n // Fetch remaining chunks\n while (currentIndex < totalRecords) {\n const chunkPageOptions: PageOptionsDto = {\n ...pageOptions,\n take: chunkSize,\n skip,\n };\n\n const [records] = await queryFn(chunkPageOptions);\n\n // Break if no more records\n if (records.length === 0) {\n break;\n }\n\n // Copy records directly to pre-allocated positions\n for (let i = 0; i < records.length; i++) {\n allRecords[currentIndex++] = records[i];\n }\n\n // Break if we got fewer records than requested (last chunk)\n if (records.length < chunkSize) {\n break;\n }\n\n skip += chunkSize;\n }\n\n // If actual records are less than total (edge case), trim array\n if (currentIndex < totalRecords) {\n allRecords.length = currentIndex;\n }\n\n return allRecords;\n}\n","export function maskAccountNumber(str: string): string {\n if (!str) return '';\n const lastFourDigits = str.slice(-4);\n const maskedPart = str.slice(0, -4).replace(/\\d/g, 'x');\n return maskedPart + lastFourDigits || '';\n}\n","import { Transform } from 'class-transformer';\nimport { IsNotEmpty, IsNumberString, IsOptional, IsString, IsUrl } from 'class-validator';\nimport { maskAccountNumber } from '../../utils';\n\nexport class MerchantDetailsHeaderExportDto {\n @IsString()\n @IsNotEmpty()\n name!: string;\n\n @IsUrl({ protocols: ['https'] })\n @IsOptional()\n profile?: string;\n\n @Transform(({ value }) => maskAccountNumber(value))\n @IsString()\n @IsNotEmpty()\n accountNumber!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalBalance!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n availableBalance!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n pendingBalance!: number | string;\n\n @IsString()\n @IsNotEmpty()\n currency!: string;\n}\n","import { Type } from 'class-transformer';\nimport { IsEnum, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { DocumentType, FileFormat } from '../../enums';\nimport { DateRangeExportDto } from './index';\nimport { MerchantDetailsHeaderExportDto } from './merchant-headers';\n\n// biome-ignore lint/suspicious/noExplicitAny: false positive\nexport class DocumentGenerationRequestDto<T = any> {\n @IsEnum(FileFormat, { message: 'document format must be one of: pdf, csv, xlsx' })\n @IsNotEmpty()\n documentFormat!: FileFormat;\n\n @IsString()\n @IsNotEmpty()\n documentType!: DocumentType;\n\n @Type(() => MerchantDetailsHeaderExportDto)\n @ValidateNested()\n // make it optional in the validator , but not in the runtime / if it needed so pass it with null , but it must be there\n @IsOptional()\n merchantInfo?: MerchantDetailsHeaderExportDto;\n\n @Type(() => DateRangeExportDto)\n @ValidateNested()\n @IsNotEmpty()\n dateRange!: DateRangeExportDto;\n\n @IsNotEmpty()\n data!: T[];\n\n @IsNotEmpty()\n presignedURL?: boolean = false;\n}\n","export class DocumentPathResponseDto {\n name: string;\n\n path: string;\n\n s3Result: object;\n\n constructor(name: string, path: string, commandResult: object) {\n this.name = name;\n this.path = path;\n this.s3Result = commandResult;\n }\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass InvoiceDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsNotEmpty()\n paidAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n customerName!: string;\n\n @IsString()\n @IsNotEmpty()\n customerPhone!: string;\n\n @IsString()\n @IsNotEmpty()\n id!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantReference!: string;\n\n @IsString()\n @IsNotEmpty()\n createdBy!: string;\n\n @IsString()\n @IsOptional()\n transactionId: string = '';\n\n @IsString()\n @IsNotEmpty()\n status!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n}\n\nclass InvoiceHistoryDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n action!: string;\n\n @IsString()\n @IsNotEmpty()\n createdBy!: string;\n\n @IsString()\n @IsNotEmpty()\n invoiceId!: string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @IsString()\n @IsOptional()\n paymentMethodBrand!: string;\n}\n\nexport class InvoiceExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => InvoiceDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: InvoiceDocument[];\n}\n\nexport class InvoiceHistoryExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => InvoiceHistoryDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: InvoiceHistoryDocument[];\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/enums/document-type.enum.ts","../src/enums/fileFormat.enum.ts","../src/dtos/transactions-ms/exceptions-document.request.dto.ts","../src/dtos/transactions-ms/payment-method.request.dto.ts","../src/dtos/transactions-ms/payout-document.request.dto.ts","../src/dtos/transactions-ms/profit-fees-document.request.dto.ts","../src/dtos/transactions-ms/refund-document.request.dto.ts","../src/dtos/transactions-ms/settlement-document.request.dto.ts","../src/dtos/transactions-ms/statement-document.request.dto.ts","../src/dtos/transactions-ms/transaction-document-template.request.dto.ts","../src/dtos/transactions-ms/vendor-sales-document.request.dto.ts","../src/dtos/dto-map.ts","../src/validators/document-validator.ts","../src/client/document-client.ts","../src/client/errors/document-error.ts","../src/client/errors/validation-error.ts","../src/dtos/base/date-range.ts","../src/utils/chunked-fetcher.util.ts","../src/utils/mask-account-number.ts","../src/dtos/base/merchant-headers.ts","../src/dtos/base/document-generation.request.dto.ts","../src/dtos/base/document-path.response.dto.ts","../src/dtos/elinks-ms/invoice-document.request.dto.ts"],"names":["IsNotEmpty","IsString","Transform","IsNumberString","IsArray","ValidateNested","Type","IsDefined","IsOptional","plainToInstance","validate","axios","IsUrl","IsEnum"],"mappings":"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","file":"index.js","sourcesContent":["import { ValueOf } from '../utils';\n\nexport const DocumentType = {\n STATEMENTS: 'STATEMENTS',\n PAYOUTS: 'PAYOUTS',\n SETTLEMENTS: 'SETTLEMENTS',\n TRANSACTIONS: 'TRANSACTIONS',\n TRANSACTIONS_INTERNAL: 'TRANSACTIONS_INTERNAL',\n REFUNDS: 'REFUNDS',\n REFUNDS_INTERNAL_GATEWAY: 'REFUNDS_INTERNAL_GATEWAY',\n\n PROFIT_FEES: 'PROFIT_FEES',\n PAYMENT_METHODS: 'PAYMENT_METHODS',\n\n VENDOR_LIST: 'VENDOR_LIST',\n VENDOR_SALES: 'VENDOR_SALES',\n EXCEPTIONS: 'EXCEPTIONS',\n\n REFUNDS_POS: 'REFUNDS_POS',\n REFUNDS_INTERNAL_POS: 'REFUNDS_INTERNAL_POS',\n\n // MERCHANT_USERS: 'MERCHANT_USERS',\n // INTERNAL_USERS: 'INTERNAL_USERS',\n // BULK_INVOICE_CUSTOMERS: 'BULK_INVOICE_CUSTOMERS',\n // USERS_AND_AGENTS: 'USERS_AND_AGENTS',\n // CUSTOMERS: 'CUSTOMERS',\n // TERMINAL: 'TERMINAL',\n // INVOICES: 'INVOICES',\n // INVOICE_HISTORY: 'INVOICE_HISTORY',\n // USERS: 'USERS',\n // UNPAID_INVOICES: 'UNPAID_INVOICES',\n\n // TERMINALS: 'TERMINALS',\n // POS_TRANSACTIONS: 'POS_TRANSACTIONS',\n // POS_MERCHANT_TRANSACTIONS: 'POS_MERCHANT_TRANSACTIONS',\n // POS_TRANSACTIONS_INVALID: 'POS_TRANSACTIONS_INVALID',\n // BULK_INVOICES_INVALID: 'BULK_INVOICES_INVALID',\n // BLACKLIST_INVALID: 'BLACKLIST_INVALID',\n // BLACKLIST: 'BLACKLIST',\n // PARTNERS: 'PARTNERS',\n} as const;\n\nexport type DocumentType = ValueOf<typeof DocumentType>;\n","import { ValueOf } from '../utils';\n\nexport const FileFormat = {\n PDF: 'pdf',\n CSV: 'csv',\n XLSX: 'xlsx',\n} as const;\n\nexport type FileFormat = ValueOf<typeof FileFormat>;\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass ExceptionDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantRisk!: string;\n\n @IsString()\n @IsNotEmpty()\n cardNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n cardIssuer!: string;\n\n @IsString()\n @IsNotEmpty()\n cardHolderName!: string;\n\n @IsString()\n @IsNotEmpty()\n payerIpAddress!: string;\n\n @IsString()\n @IsNotEmpty()\n product!: string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n action!: string;\n}\n\nexport class ExceptionExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => ExceptionDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: ExceptionDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass PaymentMethodDocument {\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalAmount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n percentageOfTotal!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n txnCount!: number | string;\n}\n\nexport class PaymentMethodsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => PaymentMethodDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: PaymentMethodDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass PayoutDocument {\n @IsString()\n @IsNotEmpty()\n id!: string;\n\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n iban!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n currency!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n numOfTxn!: number | string;\n\n @IsString()\n @IsNotEmpty()\n notes!: string;\n\n @IsNotEmpty()\n createdAt!: string | Date;\n}\n\nexport class PayoutsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => PayoutDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: PayoutDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass ProfitFeesDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n numOfTxn!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalTxnAmount!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalProfitAmount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n type!: 'PROFIT' | 'FEES';\n}\n\nexport class ProfitFeesExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => ProfitFeesDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: ProfitFeesDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass RefundBaseDto {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsOptional()\n refundedAt?: string | Date;\n\n @IsOptional()\n rejectedAt?: string | Date;\n\n @IsString()\n @IsOptional()\n ecomReference?: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsNotEmpty()\n originalTxnId!: string;\n\n @IsNotEmpty()\n originalTxnDate!: string | Date;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n originalTxnAmount!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @IsString()\n @IsNotEmpty()\n status!: string;\n\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n}\n\nclass RefundDocument extends RefundBaseDto {\n @IsString()\n @IsNotEmpty()\n customerName!: string;\n\n @IsString()\n @IsNotEmpty()\n customerPhone!: string;\n\n @IsString()\n @IsOptional()\n invoiceNumber?: string;\n\n @IsString()\n @IsNotEmpty()\n product!: string;\n\n @IsString()\n @IsNotEmpty()\n type!: string;\n\n @IsString()\n @IsNotEmpty()\n requestedBy?: string;\n}\n\nclass RefundPOSDocument extends RefundBaseDto {\n @IsString()\n @IsNotEmpty()\n authId!: string | null;\n\n @IsString()\n @IsNotEmpty()\n terminalId!: string;\n\n @IsString()\n @IsOptional()\n terminalName?: string;\n\n @IsString()\n @IsNotEmpty()\n cardNumber!: string;\n}\n\nexport class RefundsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => RefundDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: RefundDocument[];\n}\n\nexport class RefundsPOSExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => RefundPOSDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: RefundPOSDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass SettlementDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsOptional()\n bank?: string;\n\n @IsString()\n @IsOptional()\n holderName?: string;\n\n @IsString()\n @IsOptional()\n iban?: string;\n\n @IsString()\n @IsOptional()\n accountNumber?: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalAmount!: number | string;\n\n @IsNumberString()\n @IsNotEmpty()\n totalTxnCount!: number | string;\n\n @IsOptional()\n settlementDate?: string | null;\n}\n\nexport class SettlementsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => SettlementDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: SettlementDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass StatementDocument {\n @IsNotEmpty()\n createdAt!: Date | string;\n\n @IsString()\n @IsOptional()\n transactionId?: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsOptional()\n invoiceId?: string;\n\n @IsString()\n @IsOptional()\n description?: string;\n\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsNotEmpty()\n type!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n balanceAfter!: number | string;\n}\nexport class StatementsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => StatementDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: StatementDocument[];\n}\n","import { Transform } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString } from 'class-validator';\n\nclass TransactionDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsNotEmpty()\n id!: string;\n\n @IsNotEmpty()\n @IsString()\n ecomReference!: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsOptional()\n merchantName?: string;\n\n @IsString()\n @IsOptional()\n invoiceNumber?: string;\n\n @IsNotEmpty()\n @IsString()\n customerName!: string;\n\n @IsNotEmpty()\n @IsString()\n customerPhone!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsNotEmpty()\n product!: string;\n\n @IsNotEmpty()\n @IsString()\n paymentMethod!: string;\n\n @IsNotEmpty()\n @IsString()\n status!: string;\n\n @IsString()\n @IsOptional()\n authCode?: string;\n\n @IsString()\n @IsOptional()\n terminalId?: string;\n\n @IsString()\n @IsOptional()\n terminalName?: string;\n\n @IsString()\n @IsOptional()\n cardNumber?: string;\n}\n\nexport class TransactionsExportDto {\n @IsArray()\n @IsNotEmpty()\n @IsDefined()\n data!: TransactionDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass VendorSalesDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorName!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalTxnAmount!: number | string;\n}\n\nclass VendorListDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorName!: string;\n\n @IsString()\n @IsNotEmpty()\n email!: string;\n\n @IsString()\n @IsNotEmpty()\n bank!: string;\n\n @IsString()\n @IsNotEmpty()\n iban!: string;\n\n @IsNotEmpty()\n commission!: number | string;\n}\n\nexport class VendorSalesExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => VendorSalesDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: VendorSalesDocument[];\n}\n\nexport class VendorListExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => VendorListDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: VendorListDocument[];\n}\n","import { DocumentType } from '../enums';\nimport {\n ExceptionExportDto,\n PaymentMethodsExportDto,\n PayoutsExportDto,\n ProfitFeesExportDto,\n RefundsExportDto,\n RefundsPOSExportDto,\n SettlementsExportDto,\n StatementsExportDto,\n TransactionsExportDto,\n VendorListExportDto,\n VendorSalesExportDto,\n} from './transactions-ms';\n\nexport const DocumentPayloadMap = {\n // transactions microservice dtos\n [DocumentType.STATEMENTS]: StatementsExportDto,\n [DocumentType.PAYOUTS]: PayoutsExportDto,\n [DocumentType.SETTLEMENTS]: SettlementsExportDto,\n [DocumentType.TRANSACTIONS]: TransactionsExportDto,\n [DocumentType.TRANSACTIONS_INTERNAL]: TransactionsExportDto,\n [DocumentType.REFUNDS]: RefundsExportDto,\n [DocumentType.REFUNDS_INTERNAL_GATEWAY]: RefundsExportDto,\n [DocumentType.PROFIT_FEES]: ProfitFeesExportDto,\n [DocumentType.PAYMENT_METHODS]: PaymentMethodsExportDto,\n [DocumentType.VENDOR_LIST]: VendorListExportDto,\n [DocumentType.VENDOR_SALES]: VendorSalesExportDto,\n [DocumentType.EXCEPTIONS]: ExceptionExportDto,\n\n // pos microservice dtos\n [DocumentType.REFUNDS_POS]: RefundsPOSExportDto,\n [DocumentType.REFUNDS_INTERNAL_POS]: RefundsPOSExportDto,\n\n // elinks microservice dtos\n} as const;\n","/** biome-ignore-all lint/suspicious/noExplicitAny: false positive */\nimport { ClassConstructor, plainToInstance } from 'class-transformer';\nimport { ValidationError, validate } from 'class-validator';\nimport { DocumentPayloadMap } from '../dtos/dto-map';\nimport { DocumentType } from '../enums/document-type.enum';\n\n/**\n * Validation result interface\n */\nexport interface ValidationResult<T = any> {\n isValid: boolean;\n errors?: ValidationError[];\n validatedPayload?: T;\n errorMessage?: string;\n}\n\n/**\n * Document payload validator\n */\nexport class DocumentValidator {\n /**\n * Validate a document payload based on its type\n * @param type - Document type\n * @param payload - Raw payload data\n * @returns Validation result with typed payload or errors\n */\n static async validatePayload(type: DocumentType, payload: any): Promise<ValidationResult> {\n // Get the DTO class for this document type\n const DtoClass = DocumentPayloadMap[type];\n\n if (!DtoClass) {\n return {\n isValid: false,\n errorMessage: `Unknown document type: ${type}`,\n errors: [\n {\n property: 'type',\n constraints: { invalid: `Unknown document type: ${type}` },\n } as ValidationError,\n ],\n };\n }\n\n // Transform plain object to class instance\n const instance = plainToInstance(DtoClass as ClassConstructor<any>, payload);\n\n // Validate the instance\n const errors = await validate(instance, {\n whitelist: true,\n validationError: {\n target: false,\n value: true,\n },\n });\n\n if (errors.length > 0) {\n return {\n isValid: false,\n errors,\n errorMessage: 'Payload validation failed',\n };\n }\n\n return {\n isValid: true,\n validatedPayload: instance,\n };\n }\n\n /**\n * Format validation errors into human-readable messages\n * @param errors - Array of validation errors\n * @returns Formatted error messages\n */\n static formatErrors(errors: ValidationError[]): string[] {\n const messages: string[] = [];\n\n const formatError = (error: ValidationError, path: string = ''): void => {\n const currentPath = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n Object.values(error.constraints).forEach((message) => {\n messages.push(`${currentPath}: ${message}`);\n });\n }\n\n if (error.children && error.children.length > 0) {\n error.children.forEach((child) => formatError(child, currentPath));\n }\n };\n\n errors.forEach((error) => formatError(error));\n return messages;\n }\n}\n","import axios from 'axios';\nimport {\n DateRangeExportDto,\n DocumentGenerationRequestDto,\n DocumentPathResponseDto,\n MerchantDetailsHeaderExportDto,\n} from '../dtos/base';\nimport { FileFormat } from '../enums';\nimport { DocumentType } from '../enums/document-type.enum';\nimport { DocumentValidator } from '../validators/document-validator';\n\n/**\n * Client for interacting with document microservice\n */\nexport class DocumentExportClient {\n client: ReturnType<typeof axios.create>;\n\n constructor(documentMsBaseUrl: string, documentMSCommunicationKey: string) {\n this.client = axios.create({\n baseURL: documentMsBaseUrl,\n headers: {\n 'Content-Type': 'application/json',\n 'x-communication-key': documentMSCommunicationKey || '',\n },\n });\n }\n\n /**\n * Generate a document with type-safe payload\n * @param type - Document type\n * @param payload - Typed payload for the document\n * @returns Document generation response\n */\n async generateDocument(\n documentFormat: FileFormat,\n documentType: DocumentType,\n dateRange: DateRangeExportDto,\n payload: { data: object[] },\n merchantInfo: MerchantDetailsHeaderExportDto,\n presignedURL: boolean = false,\n ): Promise<DocumentPathResponseDto> {\n try {\n // Validate payload before sending if enabled\n\n const validation = await DocumentValidator.validatePayload(documentType, payload);\n\n if (!validation.isValid) {\n const messages = DocumentValidator.formatErrors(validation.errors || []);\n const firstMessage = messages[0];\n throw new Error(`Document payload validation failed: ${firstMessage}`);\n }\n\n // Construct request\n const request: DocumentGenerationRequestDto = {\n documentFormat,\n documentType,\n dateRange,\n merchantInfo,\n data: validation?.validatedPayload?.data,\n presignedURL,\n };\n\n // Send request\n const response = await this.client.post<DocumentPathResponseDto>('/v2/document-generation', request);\n\n return response.data;\n } catch (error: any) {\n // if (error instanceof AxiosError) {\n // console.log(error.response?.data);\n // }\n console.log(error.response?.data || error?.message);\n return Promise.reject(error);\n }\n }\n}\n","/**\n * Base error for document operations\n */\n/** biome-ignore-all lint/suspicious/noExplicitAny: false positive */\nexport class DocumentError extends Error {\n constructor(\n message: string,\n public code: string,\n public statusCode?: number,\n public details?: any,\n ) {\n super(message);\n this.name = 'DocumentError';\n Error.captureStackTrace(this, this.constructor);\n }\n}\n\n/**\n * Error thrown when document generation fails\n */\nexport class DocumentGenerationError extends DocumentError {\n constructor(message: string, details?: any) {\n super(message, 'DOCUMENT_GENERATION_ERROR', 500, details);\n this.name = 'DocumentGenerationError';\n }\n}\n\n/**\n * Error thrown when network request fails\n */\nexport class DocumentNetworkError extends DocumentError {\n constructor(message: string, statusCode?: number, details?: any) {\n super(message, 'NETWORK_ERROR', statusCode, details);\n this.name = 'DocumentNetworkError';\n }\n}\n","import { ValidationError as ClassValidatorError } from 'class-validator';\nimport { DocumentError } from './document-error';\n\n/**\n * Error thrown when payload validation fails\n */\nexport class DocumentValidationError extends DocumentError {\n constructor(\n message: string,\n public validationErrors: ClassValidatorError[],\n ) {\n super(message, 'VALIDATION_ERROR', 400, { validationErrors });\n this.name = 'DocumentValidationError';\n }\n\n /**\n * Get formatted validation error messages\n */\n getMessages(): string[] {\n const messages: string[] = [];\n\n const formatError = (error: ClassValidatorError, path: string = ''): void => {\n const currentPath = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n Object.values(error.constraints).forEach((msg) => {\n messages.push(`${currentPath}: ${msg}`);\n });\n }\n\n if (error.children && error.children.length > 0) {\n error.children.forEach((child) => formatError(child, currentPath));\n }\n };\n\n this.validationErrors.forEach((error) => formatError(error));\n return messages;\n }\n}\n","import { IsNotEmpty } from 'class-validator';\n\nexport class DateRangeExportDto {\n @IsNotEmpty()\n from!: string | Date;\n\n @IsNotEmpty()\n to!: string | Date;\n}\n","export interface PageOptionsDto {\n page?: number;\n limit?: number;\n skip: number;\n take?: number;\n order?: 'ASC' | 'DESC';\n}\n\n/**\n * Configuration for chunked data fetching\n */\nexport interface ChunkedFetchConfig<T> {\n /**\n * The query function that accepts PageOptionsDto and returns [data, total]\n */\n queryFn: (pageOptions: PageOptionsDto) => Promise<[T[], number]>;\n\n /**\n * Original pagination options (will be overridden for chunking)\n */\n pageOptions: PageOptionsDto;\n\n /**\n * Maximum records per chunk (default: 200)\n */\n chunkSize?: number;\n}\n\n/**\n * Use this if you want to process records as they're fetched\n * const transactions = await fetchDBQueryInChunks({\n * queryFn: (pageOptions) => this.repository.findAndCount(pageOptions, filters, mid),\n * pageOptions: pageOptionsDto,\n * chunkSize: 200,\n * });\n */\nconst MAX_EXPORT_RECORDS = 5000;\nexport async function fetchDBQueryInChunks<T>(config: ChunkedFetchConfig<T>): Promise<T[]> {\n const { queryFn, pageOptions, chunkSize = 200 } = config;\n\n // First fetch to get total count\n const firstPageOptions: PageOptionsDto = {\n ...pageOptions,\n take: chunkSize,\n skip: 0,\n };\n\n const [firstRecords, totalRecords] = await queryFn(firstPageOptions);\n\n // If all data fits in first chunk, return immediately\n if (firstRecords.length >= totalRecords || firstRecords.length < chunkSize) {\n return firstRecords;\n }\n\n // Pre-allocate array with exact size for better memory performance\n // This avoids dynamic array resizing and memory fragmentation\n const allRecords: T[] = new Array(totalRecords);\n\n // Copy first chunk\n for (let i = 0; i < firstRecords.length; i++) {\n allRecords[i] = firstRecords[i];\n }\n\n let currentIndex = firstRecords.length;\n let skip = chunkSize;\n\n // Fetch remaining chunks\n while (currentIndex < totalRecords) {\n const chunkPageOptions: PageOptionsDto = {\n ...pageOptions,\n take: chunkSize,\n skip,\n };\n\n const [records] = await queryFn(chunkPageOptions);\n\n // Break if no more records\n if (records.length === 0) {\n break;\n }\n\n // Copy records directly to pre-allocated positions\n for (let i = 0; i < records.length; i++) {\n allRecords[currentIndex++] = records[i];\n }\n\n // Break if we got fewer records than requested (last chunk)\n if (records.length < chunkSize) {\n break;\n }\n\n skip += chunkSize;\n\n // max 5000 records\n if (skip >= MAX_EXPORT_RECORDS) {\n break;\n }\n }\n\n // If actual records are less than total (edge case), trim array\n if (currentIndex < totalRecords) {\n allRecords.length = currentIndex;\n }\n\n return allRecords;\n}\n","export function maskAccountNumber(str: string): string {\n if (!str) return '';\n const lastFourDigits = str.slice(-4);\n const maskedPart = str.slice(0, -4).replace(/\\d/g, 'x');\n return maskedPart + lastFourDigits || '';\n}\n","import { Transform } from 'class-transformer';\nimport { IsNotEmpty, IsNumberString, IsOptional, IsString, IsUrl } from 'class-validator';\nimport { maskAccountNumber } from '../../utils';\n\nexport class MerchantDetailsHeaderExportDto {\n @IsString()\n @IsNotEmpty()\n name!: string;\n\n @IsUrl({ protocols: ['https'] })\n @IsOptional()\n profile?: string;\n\n @Transform(({ value }) => maskAccountNumber(value))\n @IsString()\n @IsNotEmpty()\n accountNumber!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalBalance!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n availableBalance!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n pendingBalance!: number | string;\n\n @IsString()\n @IsNotEmpty()\n currency!: string;\n}\n","import { Type } from 'class-transformer';\nimport { IsEnum, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { DocumentType, FileFormat } from '../../enums';\nimport { DateRangeExportDto } from './index';\nimport { MerchantDetailsHeaderExportDto } from './merchant-headers';\n\n// biome-ignore lint/suspicious/noExplicitAny: false positive\nexport class DocumentGenerationRequestDto<T = any> {\n @IsEnum(FileFormat, { message: 'document format must be one of: pdf, csv, xlsx' })\n @IsNotEmpty()\n documentFormat!: FileFormat;\n\n @IsString()\n @IsNotEmpty()\n documentType!: DocumentType;\n\n @Type(() => MerchantDetailsHeaderExportDto)\n @ValidateNested()\n // make it optional in the validator , but not in the runtime / if it needed so pass it with null , but it must be there\n @IsOptional()\n merchantInfo?: MerchantDetailsHeaderExportDto;\n\n @Type(() => DateRangeExportDto)\n @ValidateNested()\n @IsNotEmpty()\n dateRange!: DateRangeExportDto;\n\n @IsNotEmpty()\n data!: T[];\n\n @IsNotEmpty()\n presignedURL?: boolean = false;\n}\n","export class DocumentPathResponseDto {\n name: string;\n\n path: string;\n\n s3Result: object;\n\n constructor(name: string, path: string, commandResult: object) {\n this.name = name;\n this.path = path;\n this.s3Result = commandResult;\n }\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass InvoiceDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsNotEmpty()\n paidAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n customerName!: string;\n\n @IsString()\n @IsNotEmpty()\n customerPhone!: string;\n\n @IsString()\n @IsNotEmpty()\n id!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantReference!: string;\n\n @IsString()\n @IsNotEmpty()\n createdBy!: string;\n\n @IsString()\n @IsOptional()\n transactionId: string = '';\n\n @IsString()\n @IsNotEmpty()\n status!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n}\n\nclass InvoiceHistoryDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n action!: string;\n\n @IsString()\n @IsNotEmpty()\n createdBy!: string;\n\n @IsString()\n @IsNotEmpty()\n invoiceId!: string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @IsString()\n @IsOptional()\n paymentMethodBrand!: string;\n}\n\nexport class InvoiceExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => InvoiceDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: InvoiceDocument[];\n}\n\nexport class InvoiceHistoryExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => InvoiceHistoryDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: InvoiceHistoryDocument[];\n}\n"]}
|
package/dist/index.mjs
CHANGED
|
@@ -861,6 +861,7 @@ __decorateClass([
|
|
|
861
861
|
], DateRangeExportDto.prototype, "to");
|
|
862
862
|
|
|
863
863
|
// src/utils/chunked-fetcher.util.ts
|
|
864
|
+
var MAX_EXPORT_RECORDS = 5e3;
|
|
864
865
|
async function fetchDBQueryInChunks(config) {
|
|
865
866
|
const { queryFn, pageOptions, chunkSize = 200 } = config;
|
|
866
867
|
const firstPageOptions = {
|
|
@@ -895,6 +896,9 @@ async function fetchDBQueryInChunks(config) {
|
|
|
895
896
|
break;
|
|
896
897
|
}
|
|
897
898
|
skip += chunkSize;
|
|
899
|
+
if (skip >= MAX_EXPORT_RECORDS) {
|
|
900
|
+
break;
|
|
901
|
+
}
|
|
898
902
|
}
|
|
899
903
|
if (currentIndex < totalRecords) {
|
|
900
904
|
allRecords.length = currentIndex;
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/enums/document-type.enum.ts","../src/enums/fileFormat.enum.ts","../src/dtos/transactions-ms/exceptions-document.request.dto.ts","../src/dtos/transactions-ms/payment-method.request.dto.ts","../src/dtos/transactions-ms/payout-document.request.dto.ts","../src/dtos/transactions-ms/profit-fees-document.request.dto.ts","../src/dtos/transactions-ms/refund-document.request.dto.ts","../src/dtos/transactions-ms/settlement-document.request.dto.ts","../src/dtos/transactions-ms/statement-document.request.dto.ts","../src/dtos/transactions-ms/transaction-document-template.request.dto.ts","../src/dtos/transactions-ms/vendor-sales-document.request.dto.ts","../src/dtos/dto-map.ts","../src/validators/document-validator.ts","../src/client/document-client.ts","../src/client/errors/document-error.ts","../src/client/errors/validation-error.ts","../src/dtos/base/date-range.ts","../src/utils/chunked-fetcher.util.ts","../src/utils/mask-account-number.ts","../src/dtos/base/merchant-headers.ts","../src/dtos/base/document-generation.request.dto.ts","../src/dtos/base/document-path.response.dto.ts","../src/dtos/elinks-ms/invoice-document.request.dto.ts"],"names":["IsString","IsNotEmpty","Transform","IsNumberString","IsArray","ValidateNested","Type","IsDefined","IsOptional"],"mappings":"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","file":"index.mjs","sourcesContent":["import { ValueOf } from '../utils';\n\nexport const DocumentType = {\n STATEMENTS: 'STATEMENTS',\n PAYOUTS: 'PAYOUTS',\n SETTLEMENTS: 'SETTLEMENTS',\n TRANSACTIONS: 'TRANSACTIONS',\n TRANSACTIONS_INTERNAL: 'TRANSACTIONS_INTERNAL',\n REFUNDS: 'REFUNDS',\n REFUNDS_INTERNAL_GATEWAY: 'REFUNDS_INTERNAL_GATEWAY',\n\n PROFIT_FEES: 'PROFIT_FEES',\n PAYMENT_METHODS: 'PAYMENT_METHODS',\n\n VENDOR_LIST: 'VENDOR_LIST',\n VENDOR_SALES: 'VENDOR_SALES',\n EXCEPTIONS: 'EXCEPTIONS',\n\n REFUNDS_POS: 'REFUNDS_POS',\n REFUNDS_INTERNAL_POS: 'REFUNDS_INTERNAL_POS',\n\n // MERCHANT_USERS: 'MERCHANT_USERS',\n // INTERNAL_USERS: 'INTERNAL_USERS',\n // BULK_INVOICE_CUSTOMERS: 'BULK_INVOICE_CUSTOMERS',\n // USERS_AND_AGENTS: 'USERS_AND_AGENTS',\n // CUSTOMERS: 'CUSTOMERS',\n // TERMINAL: 'TERMINAL',\n // INVOICES: 'INVOICES',\n // INVOICE_HISTORY: 'INVOICE_HISTORY',\n // USERS: 'USERS',\n // UNPAID_INVOICES: 'UNPAID_INVOICES',\n\n // TERMINALS: 'TERMINALS',\n // POS_TRANSACTIONS: 'POS_TRANSACTIONS',\n // POS_MERCHANT_TRANSACTIONS: 'POS_MERCHANT_TRANSACTIONS',\n // POS_TRANSACTIONS_INVALID: 'POS_TRANSACTIONS_INVALID',\n // BULK_INVOICES_INVALID: 'BULK_INVOICES_INVALID',\n // BLACKLIST_INVALID: 'BLACKLIST_INVALID',\n // BLACKLIST: 'BLACKLIST',\n // PARTNERS: 'PARTNERS',\n} as const;\n\nexport type DocumentType = ValueOf<typeof DocumentType>;\n","import { ValueOf } from '../utils';\n\nexport const FileFormat = {\n PDF: 'pdf',\n CSV: 'csv',\n XLSX: 'xlsx',\n} as const;\n\nexport type FileFormat = ValueOf<typeof FileFormat>;\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass ExceptionDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantRisk!: string;\n\n @IsString()\n @IsNotEmpty()\n cardNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n cardIssuer!: string;\n\n @IsString()\n @IsNotEmpty()\n cardHolderName!: string;\n\n @IsString()\n @IsNotEmpty()\n payerIpAddress!: string;\n\n @IsString()\n @IsNotEmpty()\n product!: string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n action!: string;\n}\n\nexport class ExceptionExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => ExceptionDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: ExceptionDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass PaymentMethodDocument {\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalAmount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n percentageOfTotal!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n txnCount!: number | string;\n}\n\nexport class PaymentMethodsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => PaymentMethodDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: PaymentMethodDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass PayoutDocument {\n @IsString()\n @IsNotEmpty()\n id!: string;\n\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n iban!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n currency!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n numOfTxn!: number | string;\n\n @IsString()\n @IsNotEmpty()\n notes!: string;\n\n @IsNotEmpty()\n createdAt!: string | Date;\n}\n\nexport class PayoutsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => PayoutDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: PayoutDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass ProfitFeesDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n numOfTxn!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalTxnAmount!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalProfitAmount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n type!: 'PROFIT' | 'FEES';\n}\n\nexport class ProfitFeesExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => ProfitFeesDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: ProfitFeesDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass RefundBaseDto {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsOptional()\n refundedAt?: string | Date;\n\n @IsOptional()\n rejectedAt?: string | Date;\n\n @IsString()\n @IsOptional()\n ecomReference?: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsNotEmpty()\n originalTxnId!: string;\n\n @IsNotEmpty()\n originalTxnDate!: string | Date;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n originalTxnAmount!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @IsString()\n @IsNotEmpty()\n status!: string;\n\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n}\n\nclass RefundDocument extends RefundBaseDto {\n @IsString()\n @IsNotEmpty()\n customerName!: string;\n\n @IsString()\n @IsNotEmpty()\n customerPhone!: string;\n\n @IsString()\n @IsOptional()\n invoiceNumber?: string;\n\n @IsString()\n @IsNotEmpty()\n product!: string;\n\n @IsString()\n @IsNotEmpty()\n type!: string;\n\n @IsString()\n @IsNotEmpty()\n requestedBy?: string;\n}\n\nclass RefundPOSDocument extends RefundBaseDto {\n @IsString()\n @IsNotEmpty()\n authId!: string | null;\n\n @IsString()\n @IsNotEmpty()\n terminalId!: string;\n\n @IsString()\n @IsOptional()\n terminalName?: string;\n\n @IsString()\n @IsNotEmpty()\n cardNumber!: string;\n}\n\nexport class RefundsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => RefundDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: RefundDocument[];\n}\n\nexport class RefundsPOSExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => RefundPOSDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: RefundPOSDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass SettlementDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsOptional()\n bank?: string;\n\n @IsString()\n @IsOptional()\n holderName?: string;\n\n @IsString()\n @IsOptional()\n iban?: string;\n\n @IsString()\n @IsOptional()\n accountNumber?: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalAmount!: number | string;\n\n @IsNumberString()\n @IsNotEmpty()\n totalTxnCount!: number | string;\n\n @IsOptional()\n settlementDate?: string | null;\n}\n\nexport class SettlementsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => SettlementDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: SettlementDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass StatementDocument {\n @IsNotEmpty()\n createdAt!: Date | string;\n\n @IsString()\n @IsOptional()\n transactionId?: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsOptional()\n invoiceId?: string;\n\n @IsString()\n @IsOptional()\n description?: string;\n\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsNotEmpty()\n type!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n balanceAfter!: number | string;\n}\nexport class StatementsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => StatementDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: StatementDocument[];\n}\n","import { Transform } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString } from 'class-validator';\n\nclass TransactionDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsNotEmpty()\n id!: string;\n\n @IsNotEmpty()\n @IsString()\n ecomReference!: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsOptional()\n merchantName?: string;\n\n @IsString()\n @IsOptional()\n invoiceNumber?: string;\n\n @IsNotEmpty()\n @IsString()\n customerName!: string;\n\n @IsNotEmpty()\n @IsString()\n customerPhone!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsNotEmpty()\n product!: string;\n\n @IsNotEmpty()\n @IsString()\n paymentMethod!: string;\n\n @IsNotEmpty()\n @IsString()\n status!: string;\n\n @IsString()\n @IsOptional()\n authCode?: string;\n\n @IsString()\n @IsOptional()\n terminalId?: string;\n\n @IsString()\n @IsOptional()\n terminalName?: string;\n\n @IsString()\n @IsOptional()\n cardNumber?: string;\n}\n\nexport class TransactionsExportDto {\n @IsArray()\n @IsNotEmpty()\n @IsDefined()\n data!: TransactionDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass VendorSalesDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorName!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalTxnAmount!: number | string;\n}\n\nclass VendorListDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorName!: string;\n\n @IsString()\n @IsNotEmpty()\n email!: string;\n\n @IsString()\n @IsNotEmpty()\n bank!: string;\n\n @IsString()\n @IsNotEmpty()\n iban!: string;\n\n @IsNotEmpty()\n commission!: number | string;\n}\n\nexport class VendorSalesExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => VendorSalesDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: VendorSalesDocument[];\n}\n\nexport class VendorListExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => VendorListDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: VendorListDocument[];\n}\n","import { DocumentType } from '../enums';\nimport {\n ExceptionExportDto,\n PaymentMethodsExportDto,\n PayoutsExportDto,\n ProfitFeesExportDto,\n RefundsExportDto,\n RefundsPOSExportDto,\n SettlementsExportDto,\n StatementsExportDto,\n TransactionsExportDto,\n VendorListExportDto,\n VendorSalesExportDto,\n} from './transactions-ms';\n\nexport const DocumentPayloadMap = {\n // transactions microservice dtos\n [DocumentType.STATEMENTS]: StatementsExportDto,\n [DocumentType.PAYOUTS]: PayoutsExportDto,\n [DocumentType.SETTLEMENTS]: SettlementsExportDto,\n [DocumentType.TRANSACTIONS]: TransactionsExportDto,\n [DocumentType.TRANSACTIONS_INTERNAL]: TransactionsExportDto,\n [DocumentType.REFUNDS]: RefundsExportDto,\n [DocumentType.REFUNDS_INTERNAL_GATEWAY]: RefundsExportDto,\n [DocumentType.PROFIT_FEES]: ProfitFeesExportDto,\n [DocumentType.PAYMENT_METHODS]: PaymentMethodsExportDto,\n [DocumentType.VENDOR_LIST]: VendorListExportDto,\n [DocumentType.VENDOR_SALES]: VendorSalesExportDto,\n [DocumentType.EXCEPTIONS]: ExceptionExportDto,\n\n // pos microservice dtos\n [DocumentType.REFUNDS_POS]: RefundsPOSExportDto,\n [DocumentType.REFUNDS_INTERNAL_POS]: RefundsPOSExportDto,\n\n // elinks microservice dtos\n} as const;\n","/** biome-ignore-all lint/suspicious/noExplicitAny: false positive */\nimport { ClassConstructor, plainToInstance } from 'class-transformer';\nimport { ValidationError, validate } from 'class-validator';\nimport { DocumentPayloadMap } from '../dtos/dto-map';\nimport { DocumentType } from '../enums/document-type.enum';\n\n/**\n * Validation result interface\n */\nexport interface ValidationResult<T = any> {\n isValid: boolean;\n errors?: ValidationError[];\n validatedPayload?: T;\n errorMessage?: string;\n}\n\n/**\n * Document payload validator\n */\nexport class DocumentValidator {\n /**\n * Validate a document payload based on its type\n * @param type - Document type\n * @param payload - Raw payload data\n * @returns Validation result with typed payload or errors\n */\n static async validatePayload(type: DocumentType, payload: any): Promise<ValidationResult> {\n // Get the DTO class for this document type\n const DtoClass = DocumentPayloadMap[type];\n\n if (!DtoClass) {\n return {\n isValid: false,\n errorMessage: `Unknown document type: ${type}`,\n errors: [\n {\n property: 'type',\n constraints: { invalid: `Unknown document type: ${type}` },\n } as ValidationError,\n ],\n };\n }\n\n // Transform plain object to class instance\n const instance = plainToInstance(DtoClass as ClassConstructor<any>, payload);\n\n // Validate the instance\n const errors = await validate(instance, {\n whitelist: true,\n validationError: {\n target: false,\n value: true,\n },\n });\n\n if (errors.length > 0) {\n return {\n isValid: false,\n errors,\n errorMessage: 'Payload validation failed',\n };\n }\n\n return {\n isValid: true,\n validatedPayload: instance,\n };\n }\n\n /**\n * Format validation errors into human-readable messages\n * @param errors - Array of validation errors\n * @returns Formatted error messages\n */\n static formatErrors(errors: ValidationError[]): string[] {\n const messages: string[] = [];\n\n const formatError = (error: ValidationError, path: string = ''): void => {\n const currentPath = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n Object.values(error.constraints).forEach((message) => {\n messages.push(`${currentPath}: ${message}`);\n });\n }\n\n if (error.children && error.children.length > 0) {\n error.children.forEach((child) => formatError(child, currentPath));\n }\n };\n\n errors.forEach((error) => formatError(error));\n return messages;\n }\n}\n","import axios from 'axios';\nimport {\n DateRangeExportDto,\n DocumentGenerationRequestDto,\n DocumentPathResponseDto,\n MerchantDetailsHeaderExportDto,\n} from '../dtos/base';\nimport { FileFormat } from '../enums';\nimport { DocumentType } from '../enums/document-type.enum';\nimport { DocumentValidator } from '../validators/document-validator';\n\n/**\n * Client for interacting with document microservice\n */\nexport class DocumentExportClient {\n client: ReturnType<typeof axios.create>;\n\n constructor(documentMsBaseUrl: string, documentMSCommunicationKey: string) {\n this.client = axios.create({\n baseURL: documentMsBaseUrl,\n headers: {\n 'Content-Type': 'application/json',\n 'x-communication-key': documentMSCommunicationKey || '',\n },\n });\n }\n\n /**\n * Generate a document with type-safe payload\n * @param type - Document type\n * @param payload - Typed payload for the document\n * @returns Document generation response\n */\n async generateDocument(\n documentFormat: FileFormat,\n documentType: DocumentType,\n dateRange: DateRangeExportDto,\n payload: { data: object[] },\n merchantInfo: MerchantDetailsHeaderExportDto,\n presignedURL: boolean = false,\n ): Promise<DocumentPathResponseDto> {\n try {\n // Validate payload before sending if enabled\n\n const validation = await DocumentValidator.validatePayload(documentType, payload);\n\n if (!validation.isValid) {\n const messages = DocumentValidator.formatErrors(validation.errors || []);\n const firstMessage = messages[0];\n throw new Error(`Document payload validation failed: ${firstMessage}`);\n }\n\n // Construct request\n const request: DocumentGenerationRequestDto = {\n documentFormat,\n documentType,\n dateRange,\n merchantInfo,\n data: validation?.validatedPayload?.data,\n presignedURL,\n };\n\n // Send request\n const response = await this.client.post<DocumentPathResponseDto>('/v2/document-generation', request);\n\n return response.data;\n } catch (error: any) {\n // if (error instanceof AxiosError) {\n // console.log(error.response?.data);\n // }\n console.log(error.response?.data || error?.message);\n return Promise.reject(error);\n }\n }\n}\n","/**\n * Base error for document operations\n */\n/** biome-ignore-all lint/suspicious/noExplicitAny: false positive */\nexport class DocumentError extends Error {\n constructor(\n message: string,\n public code: string,\n public statusCode?: number,\n public details?: any,\n ) {\n super(message);\n this.name = 'DocumentError';\n Error.captureStackTrace(this, this.constructor);\n }\n}\n\n/**\n * Error thrown when document generation fails\n */\nexport class DocumentGenerationError extends DocumentError {\n constructor(message: string, details?: any) {\n super(message, 'DOCUMENT_GENERATION_ERROR', 500, details);\n this.name = 'DocumentGenerationError';\n }\n}\n\n/**\n * Error thrown when network request fails\n */\nexport class DocumentNetworkError extends DocumentError {\n constructor(message: string, statusCode?: number, details?: any) {\n super(message, 'NETWORK_ERROR', statusCode, details);\n this.name = 'DocumentNetworkError';\n }\n}\n","import { ValidationError as ClassValidatorError } from 'class-validator';\nimport { DocumentError } from './document-error';\n\n/**\n * Error thrown when payload validation fails\n */\nexport class DocumentValidationError extends DocumentError {\n constructor(\n message: string,\n public validationErrors: ClassValidatorError[],\n ) {\n super(message, 'VALIDATION_ERROR', 400, { validationErrors });\n this.name = 'DocumentValidationError';\n }\n\n /**\n * Get formatted validation error messages\n */\n getMessages(): string[] {\n const messages: string[] = [];\n\n const formatError = (error: ClassValidatorError, path: string = ''): void => {\n const currentPath = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n Object.values(error.constraints).forEach((msg) => {\n messages.push(`${currentPath}: ${msg}`);\n });\n }\n\n if (error.children && error.children.length > 0) {\n error.children.forEach((child) => formatError(child, currentPath));\n }\n };\n\n this.validationErrors.forEach((error) => formatError(error));\n return messages;\n }\n}\n","import { IsNotEmpty } from 'class-validator';\n\nexport class DateRangeExportDto {\n @IsNotEmpty()\n from!: string | Date;\n\n @IsNotEmpty()\n to!: string | Date;\n}\n","export interface PageOptionsDto {\n page?: number;\n limit?: number;\n skip: number;\n take?: number;\n order?: 'ASC' | 'DESC';\n}\n\n/**\n * Configuration for chunked data fetching\n */\nexport interface ChunkedFetchConfig<T> {\n /**\n * The query function that accepts PageOptionsDto and returns [data, total]\n */\n queryFn: (pageOptions: PageOptionsDto) => Promise<[T[], number]>;\n\n /**\n * Original pagination options (will be overridden for chunking)\n */\n pageOptions: PageOptionsDto;\n\n /**\n * Maximum records per chunk (default: 200)\n */\n chunkSize?: number;\n}\n\n/**\n * Use this if you want to process records as they're fetched\n * const transactions = await fetchDBQueryInChunks({\n * queryFn: (pageOptions) => this.repository.findAndCount(pageOptions, filters, mid),\n * pageOptions: pageOptionsDto,\n * chunkSize: 200,\n * });\n */\nexport async function fetchDBQueryInChunks<T>(config: ChunkedFetchConfig<T>): Promise<T[]> {\n const { queryFn, pageOptions, chunkSize = 200 } = config;\n\n // First fetch to get total count\n const firstPageOptions: PageOptionsDto = {\n ...pageOptions,\n take: chunkSize,\n skip: 0,\n };\n\n const [firstRecords, totalRecords] = await queryFn(firstPageOptions);\n\n // If all data fits in first chunk, return immediately\n if (firstRecords.length >= totalRecords || firstRecords.length < chunkSize) {\n return firstRecords;\n }\n\n // Pre-allocate array with exact size for better memory performance\n // This avoids dynamic array resizing and memory fragmentation\n const allRecords: T[] = new Array(totalRecords);\n\n // Copy first chunk\n for (let i = 0; i < firstRecords.length; i++) {\n allRecords[i] = firstRecords[i];\n }\n\n let currentIndex = firstRecords.length;\n let skip = chunkSize;\n\n // Fetch remaining chunks\n while (currentIndex < totalRecords) {\n const chunkPageOptions: PageOptionsDto = {\n ...pageOptions,\n take: chunkSize,\n skip,\n };\n\n const [records] = await queryFn(chunkPageOptions);\n\n // Break if no more records\n if (records.length === 0) {\n break;\n }\n\n // Copy records directly to pre-allocated positions\n for (let i = 0; i < records.length; i++) {\n allRecords[currentIndex++] = records[i];\n }\n\n // Break if we got fewer records than requested (last chunk)\n if (records.length < chunkSize) {\n break;\n }\n\n skip += chunkSize;\n }\n\n // If actual records are less than total (edge case), trim array\n if (currentIndex < totalRecords) {\n allRecords.length = currentIndex;\n }\n\n return allRecords;\n}\n","export function maskAccountNumber(str: string): string {\n if (!str) return '';\n const lastFourDigits = str.slice(-4);\n const maskedPart = str.slice(0, -4).replace(/\\d/g, 'x');\n return maskedPart + lastFourDigits || '';\n}\n","import { Transform } from 'class-transformer';\nimport { IsNotEmpty, IsNumberString, IsOptional, IsString, IsUrl } from 'class-validator';\nimport { maskAccountNumber } from '../../utils';\n\nexport class MerchantDetailsHeaderExportDto {\n @IsString()\n @IsNotEmpty()\n name!: string;\n\n @IsUrl({ protocols: ['https'] })\n @IsOptional()\n profile?: string;\n\n @Transform(({ value }) => maskAccountNumber(value))\n @IsString()\n @IsNotEmpty()\n accountNumber!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalBalance!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n availableBalance!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n pendingBalance!: number | string;\n\n @IsString()\n @IsNotEmpty()\n currency!: string;\n}\n","import { Type } from 'class-transformer';\nimport { IsEnum, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { DocumentType, FileFormat } from '../../enums';\nimport { DateRangeExportDto } from './index';\nimport { MerchantDetailsHeaderExportDto } from './merchant-headers';\n\n// biome-ignore lint/suspicious/noExplicitAny: false positive\nexport class DocumentGenerationRequestDto<T = any> {\n @IsEnum(FileFormat, { message: 'document format must be one of: pdf, csv, xlsx' })\n @IsNotEmpty()\n documentFormat!: FileFormat;\n\n @IsString()\n @IsNotEmpty()\n documentType!: DocumentType;\n\n @Type(() => MerchantDetailsHeaderExportDto)\n @ValidateNested()\n // make it optional in the validator , but not in the runtime / if it needed so pass it with null , but it must be there\n @IsOptional()\n merchantInfo?: MerchantDetailsHeaderExportDto;\n\n @Type(() => DateRangeExportDto)\n @ValidateNested()\n @IsNotEmpty()\n dateRange!: DateRangeExportDto;\n\n @IsNotEmpty()\n data!: T[];\n\n @IsNotEmpty()\n presignedURL?: boolean = false;\n}\n","export class DocumentPathResponseDto {\n name: string;\n\n path: string;\n\n s3Result: object;\n\n constructor(name: string, path: string, commandResult: object) {\n this.name = name;\n this.path = path;\n this.s3Result = commandResult;\n }\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass InvoiceDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsNotEmpty()\n paidAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n customerName!: string;\n\n @IsString()\n @IsNotEmpty()\n customerPhone!: string;\n\n @IsString()\n @IsNotEmpty()\n id!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantReference!: string;\n\n @IsString()\n @IsNotEmpty()\n createdBy!: string;\n\n @IsString()\n @IsOptional()\n transactionId: string = '';\n\n @IsString()\n @IsNotEmpty()\n status!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n}\n\nclass InvoiceHistoryDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n action!: string;\n\n @IsString()\n @IsNotEmpty()\n createdBy!: string;\n\n @IsString()\n @IsNotEmpty()\n invoiceId!: string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @IsString()\n @IsOptional()\n paymentMethodBrand!: string;\n}\n\nexport class InvoiceExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => InvoiceDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: InvoiceDocument[];\n}\n\nexport class InvoiceHistoryExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => InvoiceHistoryDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: InvoiceHistoryDocument[];\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/enums/document-type.enum.ts","../src/enums/fileFormat.enum.ts","../src/dtos/transactions-ms/exceptions-document.request.dto.ts","../src/dtos/transactions-ms/payment-method.request.dto.ts","../src/dtos/transactions-ms/payout-document.request.dto.ts","../src/dtos/transactions-ms/profit-fees-document.request.dto.ts","../src/dtos/transactions-ms/refund-document.request.dto.ts","../src/dtos/transactions-ms/settlement-document.request.dto.ts","../src/dtos/transactions-ms/statement-document.request.dto.ts","../src/dtos/transactions-ms/transaction-document-template.request.dto.ts","../src/dtos/transactions-ms/vendor-sales-document.request.dto.ts","../src/dtos/dto-map.ts","../src/validators/document-validator.ts","../src/client/document-client.ts","../src/client/errors/document-error.ts","../src/client/errors/validation-error.ts","../src/dtos/base/date-range.ts","../src/utils/chunked-fetcher.util.ts","../src/utils/mask-account-number.ts","../src/dtos/base/merchant-headers.ts","../src/dtos/base/document-generation.request.dto.ts","../src/dtos/base/document-path.response.dto.ts","../src/dtos/elinks-ms/invoice-document.request.dto.ts"],"names":["IsString","IsNotEmpty","Transform","IsNumberString","IsArray","ValidateNested","Type","IsDefined","IsOptional"],"mappings":"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","file":"index.mjs","sourcesContent":["import { ValueOf } from '../utils';\n\nexport const DocumentType = {\n STATEMENTS: 'STATEMENTS',\n PAYOUTS: 'PAYOUTS',\n SETTLEMENTS: 'SETTLEMENTS',\n TRANSACTIONS: 'TRANSACTIONS',\n TRANSACTIONS_INTERNAL: 'TRANSACTIONS_INTERNAL',\n REFUNDS: 'REFUNDS',\n REFUNDS_INTERNAL_GATEWAY: 'REFUNDS_INTERNAL_GATEWAY',\n\n PROFIT_FEES: 'PROFIT_FEES',\n PAYMENT_METHODS: 'PAYMENT_METHODS',\n\n VENDOR_LIST: 'VENDOR_LIST',\n VENDOR_SALES: 'VENDOR_SALES',\n EXCEPTIONS: 'EXCEPTIONS',\n\n REFUNDS_POS: 'REFUNDS_POS',\n REFUNDS_INTERNAL_POS: 'REFUNDS_INTERNAL_POS',\n\n // MERCHANT_USERS: 'MERCHANT_USERS',\n // INTERNAL_USERS: 'INTERNAL_USERS',\n // BULK_INVOICE_CUSTOMERS: 'BULK_INVOICE_CUSTOMERS',\n // USERS_AND_AGENTS: 'USERS_AND_AGENTS',\n // CUSTOMERS: 'CUSTOMERS',\n // TERMINAL: 'TERMINAL',\n // INVOICES: 'INVOICES',\n // INVOICE_HISTORY: 'INVOICE_HISTORY',\n // USERS: 'USERS',\n // UNPAID_INVOICES: 'UNPAID_INVOICES',\n\n // TERMINALS: 'TERMINALS',\n // POS_TRANSACTIONS: 'POS_TRANSACTIONS',\n // POS_MERCHANT_TRANSACTIONS: 'POS_MERCHANT_TRANSACTIONS',\n // POS_TRANSACTIONS_INVALID: 'POS_TRANSACTIONS_INVALID',\n // BULK_INVOICES_INVALID: 'BULK_INVOICES_INVALID',\n // BLACKLIST_INVALID: 'BLACKLIST_INVALID',\n // BLACKLIST: 'BLACKLIST',\n // PARTNERS: 'PARTNERS',\n} as const;\n\nexport type DocumentType = ValueOf<typeof DocumentType>;\n","import { ValueOf } from '../utils';\n\nexport const FileFormat = {\n PDF: 'pdf',\n CSV: 'csv',\n XLSX: 'xlsx',\n} as const;\n\nexport type FileFormat = ValueOf<typeof FileFormat>;\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass ExceptionDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantRisk!: string;\n\n @IsString()\n @IsNotEmpty()\n cardNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n cardIssuer!: string;\n\n @IsString()\n @IsNotEmpty()\n cardHolderName!: string;\n\n @IsString()\n @IsNotEmpty()\n payerIpAddress!: string;\n\n @IsString()\n @IsNotEmpty()\n product!: string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n action!: string;\n}\n\nexport class ExceptionExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => ExceptionDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: ExceptionDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass PaymentMethodDocument {\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalAmount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n percentageOfTotal!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n txnCount!: number | string;\n}\n\nexport class PaymentMethodsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => PaymentMethodDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: PaymentMethodDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass PayoutDocument {\n @IsString()\n @IsNotEmpty()\n id!: string;\n\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n iban!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n currency!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n numOfTxn!: number | string;\n\n @IsString()\n @IsNotEmpty()\n notes!: string;\n\n @IsNotEmpty()\n createdAt!: string | Date;\n}\n\nexport class PayoutsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => PayoutDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: PayoutDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass ProfitFeesDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsNumberString()\n @IsNotEmpty()\n numOfTxn!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalTxnAmount!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalProfitAmount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n type!: 'PROFIT' | 'FEES';\n}\n\nexport class ProfitFeesExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => ProfitFeesDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: ProfitFeesDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass RefundBaseDto {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsOptional()\n refundedAt?: string | Date;\n\n @IsOptional()\n rejectedAt?: string | Date;\n\n @IsString()\n @IsOptional()\n ecomReference?: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsNotEmpty()\n originalTxnId!: string;\n\n @IsNotEmpty()\n originalTxnDate!: string | Date;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n originalTxnAmount!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @IsString()\n @IsNotEmpty()\n status!: string;\n\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n}\n\nclass RefundDocument extends RefundBaseDto {\n @IsString()\n @IsNotEmpty()\n customerName!: string;\n\n @IsString()\n @IsNotEmpty()\n customerPhone!: string;\n\n @IsString()\n @IsOptional()\n invoiceNumber?: string;\n\n @IsString()\n @IsNotEmpty()\n product!: string;\n\n @IsString()\n @IsNotEmpty()\n type!: string;\n\n @IsString()\n @IsNotEmpty()\n requestedBy?: string;\n}\n\nclass RefundPOSDocument extends RefundBaseDto {\n @IsString()\n @IsNotEmpty()\n authId!: string | null;\n\n @IsString()\n @IsNotEmpty()\n terminalId!: string;\n\n @IsString()\n @IsOptional()\n terminalName?: string;\n\n @IsString()\n @IsNotEmpty()\n cardNumber!: string;\n}\n\nexport class RefundsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => RefundDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: RefundDocument[];\n}\n\nexport class RefundsPOSExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => RefundPOSDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: RefundPOSDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass SettlementDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantName!: string;\n\n @IsOptional()\n bank?: string;\n\n @IsString()\n @IsOptional()\n holderName?: string;\n\n @IsString()\n @IsOptional()\n iban?: string;\n\n @IsString()\n @IsOptional()\n accountNumber?: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalAmount!: number | string;\n\n @IsNumberString()\n @IsNotEmpty()\n totalTxnCount!: number | string;\n\n @IsOptional()\n settlementDate?: string | null;\n}\n\nexport class SettlementsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => SettlementDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: SettlementDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass StatementDocument {\n @IsNotEmpty()\n createdAt!: Date | string;\n\n @IsString()\n @IsOptional()\n transactionId?: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsOptional()\n invoiceId?: string;\n\n @IsString()\n @IsOptional()\n description?: string;\n\n @IsNotEmpty()\n paymentMethod!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsNotEmpty()\n type!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n balanceAfter!: number | string;\n}\nexport class StatementsExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => StatementDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: StatementDocument[];\n}\n","import { Transform } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString } from 'class-validator';\n\nclass TransactionDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsNotEmpty()\n id!: string;\n\n @IsNotEmpty()\n @IsString()\n ecomReference!: string;\n\n @IsString()\n @IsOptional()\n merchantReference?: string;\n\n @IsString()\n @IsOptional()\n merchantName?: string;\n\n @IsString()\n @IsOptional()\n invoiceNumber?: string;\n\n @IsNotEmpty()\n @IsString()\n customerName!: string;\n\n @IsNotEmpty()\n @IsString()\n customerPhone!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsNotEmpty()\n product!: string;\n\n @IsNotEmpty()\n @IsString()\n paymentMethod!: string;\n\n @IsNotEmpty()\n @IsString()\n status!: string;\n\n @IsString()\n @IsOptional()\n authCode?: string;\n\n @IsString()\n @IsOptional()\n terminalId?: string;\n\n @IsString()\n @IsOptional()\n terminalName?: string;\n\n @IsString()\n @IsOptional()\n cardNumber?: string;\n}\n\nexport class TransactionsExportDto {\n @IsArray()\n @IsNotEmpty()\n @IsDefined()\n data!: TransactionDocument[];\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsString, ValidateNested } from 'class-validator';\n\nclass VendorSalesDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorName!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalTxnAmount!: number | string;\n}\n\nclass VendorListDocument {\n @IsString()\n @IsNotEmpty()\n mid!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorNumber!: string;\n\n @IsString()\n @IsNotEmpty()\n vendorName!: string;\n\n @IsString()\n @IsNotEmpty()\n email!: string;\n\n @IsString()\n @IsNotEmpty()\n bank!: string;\n\n @IsString()\n @IsNotEmpty()\n iban!: string;\n\n @IsNotEmpty()\n commission!: number | string;\n}\n\nexport class VendorSalesExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => VendorSalesDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: VendorSalesDocument[];\n}\n\nexport class VendorListExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => VendorListDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: VendorListDocument[];\n}\n","import { DocumentType } from '../enums';\nimport {\n ExceptionExportDto,\n PaymentMethodsExportDto,\n PayoutsExportDto,\n ProfitFeesExportDto,\n RefundsExportDto,\n RefundsPOSExportDto,\n SettlementsExportDto,\n StatementsExportDto,\n TransactionsExportDto,\n VendorListExportDto,\n VendorSalesExportDto,\n} from './transactions-ms';\n\nexport const DocumentPayloadMap = {\n // transactions microservice dtos\n [DocumentType.STATEMENTS]: StatementsExportDto,\n [DocumentType.PAYOUTS]: PayoutsExportDto,\n [DocumentType.SETTLEMENTS]: SettlementsExportDto,\n [DocumentType.TRANSACTIONS]: TransactionsExportDto,\n [DocumentType.TRANSACTIONS_INTERNAL]: TransactionsExportDto,\n [DocumentType.REFUNDS]: RefundsExportDto,\n [DocumentType.REFUNDS_INTERNAL_GATEWAY]: RefundsExportDto,\n [DocumentType.PROFIT_FEES]: ProfitFeesExportDto,\n [DocumentType.PAYMENT_METHODS]: PaymentMethodsExportDto,\n [DocumentType.VENDOR_LIST]: VendorListExportDto,\n [DocumentType.VENDOR_SALES]: VendorSalesExportDto,\n [DocumentType.EXCEPTIONS]: ExceptionExportDto,\n\n // pos microservice dtos\n [DocumentType.REFUNDS_POS]: RefundsPOSExportDto,\n [DocumentType.REFUNDS_INTERNAL_POS]: RefundsPOSExportDto,\n\n // elinks microservice dtos\n} as const;\n","/** biome-ignore-all lint/suspicious/noExplicitAny: false positive */\nimport { ClassConstructor, plainToInstance } from 'class-transformer';\nimport { ValidationError, validate } from 'class-validator';\nimport { DocumentPayloadMap } from '../dtos/dto-map';\nimport { DocumentType } from '../enums/document-type.enum';\n\n/**\n * Validation result interface\n */\nexport interface ValidationResult<T = any> {\n isValid: boolean;\n errors?: ValidationError[];\n validatedPayload?: T;\n errorMessage?: string;\n}\n\n/**\n * Document payload validator\n */\nexport class DocumentValidator {\n /**\n * Validate a document payload based on its type\n * @param type - Document type\n * @param payload - Raw payload data\n * @returns Validation result with typed payload or errors\n */\n static async validatePayload(type: DocumentType, payload: any): Promise<ValidationResult> {\n // Get the DTO class for this document type\n const DtoClass = DocumentPayloadMap[type];\n\n if (!DtoClass) {\n return {\n isValid: false,\n errorMessage: `Unknown document type: ${type}`,\n errors: [\n {\n property: 'type',\n constraints: { invalid: `Unknown document type: ${type}` },\n } as ValidationError,\n ],\n };\n }\n\n // Transform plain object to class instance\n const instance = plainToInstance(DtoClass as ClassConstructor<any>, payload);\n\n // Validate the instance\n const errors = await validate(instance, {\n whitelist: true,\n validationError: {\n target: false,\n value: true,\n },\n });\n\n if (errors.length > 0) {\n return {\n isValid: false,\n errors,\n errorMessage: 'Payload validation failed',\n };\n }\n\n return {\n isValid: true,\n validatedPayload: instance,\n };\n }\n\n /**\n * Format validation errors into human-readable messages\n * @param errors - Array of validation errors\n * @returns Formatted error messages\n */\n static formatErrors(errors: ValidationError[]): string[] {\n const messages: string[] = [];\n\n const formatError = (error: ValidationError, path: string = ''): void => {\n const currentPath = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n Object.values(error.constraints).forEach((message) => {\n messages.push(`${currentPath}: ${message}`);\n });\n }\n\n if (error.children && error.children.length > 0) {\n error.children.forEach((child) => formatError(child, currentPath));\n }\n };\n\n errors.forEach((error) => formatError(error));\n return messages;\n }\n}\n","import axios from 'axios';\nimport {\n DateRangeExportDto,\n DocumentGenerationRequestDto,\n DocumentPathResponseDto,\n MerchantDetailsHeaderExportDto,\n} from '../dtos/base';\nimport { FileFormat } from '../enums';\nimport { DocumentType } from '../enums/document-type.enum';\nimport { DocumentValidator } from '../validators/document-validator';\n\n/**\n * Client for interacting with document microservice\n */\nexport class DocumentExportClient {\n client: ReturnType<typeof axios.create>;\n\n constructor(documentMsBaseUrl: string, documentMSCommunicationKey: string) {\n this.client = axios.create({\n baseURL: documentMsBaseUrl,\n headers: {\n 'Content-Type': 'application/json',\n 'x-communication-key': documentMSCommunicationKey || '',\n },\n });\n }\n\n /**\n * Generate a document with type-safe payload\n * @param type - Document type\n * @param payload - Typed payload for the document\n * @returns Document generation response\n */\n async generateDocument(\n documentFormat: FileFormat,\n documentType: DocumentType,\n dateRange: DateRangeExportDto,\n payload: { data: object[] },\n merchantInfo: MerchantDetailsHeaderExportDto,\n presignedURL: boolean = false,\n ): Promise<DocumentPathResponseDto> {\n try {\n // Validate payload before sending if enabled\n\n const validation = await DocumentValidator.validatePayload(documentType, payload);\n\n if (!validation.isValid) {\n const messages = DocumentValidator.formatErrors(validation.errors || []);\n const firstMessage = messages[0];\n throw new Error(`Document payload validation failed: ${firstMessage}`);\n }\n\n // Construct request\n const request: DocumentGenerationRequestDto = {\n documentFormat,\n documentType,\n dateRange,\n merchantInfo,\n data: validation?.validatedPayload?.data,\n presignedURL,\n };\n\n // Send request\n const response = await this.client.post<DocumentPathResponseDto>('/v2/document-generation', request);\n\n return response.data;\n } catch (error: any) {\n // if (error instanceof AxiosError) {\n // console.log(error.response?.data);\n // }\n console.log(error.response?.data || error?.message);\n return Promise.reject(error);\n }\n }\n}\n","/**\n * Base error for document operations\n */\n/** biome-ignore-all lint/suspicious/noExplicitAny: false positive */\nexport class DocumentError extends Error {\n constructor(\n message: string,\n public code: string,\n public statusCode?: number,\n public details?: any,\n ) {\n super(message);\n this.name = 'DocumentError';\n Error.captureStackTrace(this, this.constructor);\n }\n}\n\n/**\n * Error thrown when document generation fails\n */\nexport class DocumentGenerationError extends DocumentError {\n constructor(message: string, details?: any) {\n super(message, 'DOCUMENT_GENERATION_ERROR', 500, details);\n this.name = 'DocumentGenerationError';\n }\n}\n\n/**\n * Error thrown when network request fails\n */\nexport class DocumentNetworkError extends DocumentError {\n constructor(message: string, statusCode?: number, details?: any) {\n super(message, 'NETWORK_ERROR', statusCode, details);\n this.name = 'DocumentNetworkError';\n }\n}\n","import { ValidationError as ClassValidatorError } from 'class-validator';\nimport { DocumentError } from './document-error';\n\n/**\n * Error thrown when payload validation fails\n */\nexport class DocumentValidationError extends DocumentError {\n constructor(\n message: string,\n public validationErrors: ClassValidatorError[],\n ) {\n super(message, 'VALIDATION_ERROR', 400, { validationErrors });\n this.name = 'DocumentValidationError';\n }\n\n /**\n * Get formatted validation error messages\n */\n getMessages(): string[] {\n const messages: string[] = [];\n\n const formatError = (error: ClassValidatorError, path: string = ''): void => {\n const currentPath = path ? `${path}.${error.property}` : error.property;\n\n if (error.constraints) {\n Object.values(error.constraints).forEach((msg) => {\n messages.push(`${currentPath}: ${msg}`);\n });\n }\n\n if (error.children && error.children.length > 0) {\n error.children.forEach((child) => formatError(child, currentPath));\n }\n };\n\n this.validationErrors.forEach((error) => formatError(error));\n return messages;\n }\n}\n","import { IsNotEmpty } from 'class-validator';\n\nexport class DateRangeExportDto {\n @IsNotEmpty()\n from!: string | Date;\n\n @IsNotEmpty()\n to!: string | Date;\n}\n","export interface PageOptionsDto {\n page?: number;\n limit?: number;\n skip: number;\n take?: number;\n order?: 'ASC' | 'DESC';\n}\n\n/**\n * Configuration for chunked data fetching\n */\nexport interface ChunkedFetchConfig<T> {\n /**\n * The query function that accepts PageOptionsDto and returns [data, total]\n */\n queryFn: (pageOptions: PageOptionsDto) => Promise<[T[], number]>;\n\n /**\n * Original pagination options (will be overridden for chunking)\n */\n pageOptions: PageOptionsDto;\n\n /**\n * Maximum records per chunk (default: 200)\n */\n chunkSize?: number;\n}\n\n/**\n * Use this if you want to process records as they're fetched\n * const transactions = await fetchDBQueryInChunks({\n * queryFn: (pageOptions) => this.repository.findAndCount(pageOptions, filters, mid),\n * pageOptions: pageOptionsDto,\n * chunkSize: 200,\n * });\n */\nconst MAX_EXPORT_RECORDS = 5000;\nexport async function fetchDBQueryInChunks<T>(config: ChunkedFetchConfig<T>): Promise<T[]> {\n const { queryFn, pageOptions, chunkSize = 200 } = config;\n\n // First fetch to get total count\n const firstPageOptions: PageOptionsDto = {\n ...pageOptions,\n take: chunkSize,\n skip: 0,\n };\n\n const [firstRecords, totalRecords] = await queryFn(firstPageOptions);\n\n // If all data fits in first chunk, return immediately\n if (firstRecords.length >= totalRecords || firstRecords.length < chunkSize) {\n return firstRecords;\n }\n\n // Pre-allocate array with exact size for better memory performance\n // This avoids dynamic array resizing and memory fragmentation\n const allRecords: T[] = new Array(totalRecords);\n\n // Copy first chunk\n for (let i = 0; i < firstRecords.length; i++) {\n allRecords[i] = firstRecords[i];\n }\n\n let currentIndex = firstRecords.length;\n let skip = chunkSize;\n\n // Fetch remaining chunks\n while (currentIndex < totalRecords) {\n const chunkPageOptions: PageOptionsDto = {\n ...pageOptions,\n take: chunkSize,\n skip,\n };\n\n const [records] = await queryFn(chunkPageOptions);\n\n // Break if no more records\n if (records.length === 0) {\n break;\n }\n\n // Copy records directly to pre-allocated positions\n for (let i = 0; i < records.length; i++) {\n allRecords[currentIndex++] = records[i];\n }\n\n // Break if we got fewer records than requested (last chunk)\n if (records.length < chunkSize) {\n break;\n }\n\n skip += chunkSize;\n\n // max 5000 records\n if (skip >= MAX_EXPORT_RECORDS) {\n break;\n }\n }\n\n // If actual records are less than total (edge case), trim array\n if (currentIndex < totalRecords) {\n allRecords.length = currentIndex;\n }\n\n return allRecords;\n}\n","export function maskAccountNumber(str: string): string {\n if (!str) return '';\n const lastFourDigits = str.slice(-4);\n const maskedPart = str.slice(0, -4).replace(/\\d/g, 'x');\n return maskedPart + lastFourDigits || '';\n}\n","import { Transform } from 'class-transformer';\nimport { IsNotEmpty, IsNumberString, IsOptional, IsString, IsUrl } from 'class-validator';\nimport { maskAccountNumber } from '../../utils';\n\nexport class MerchantDetailsHeaderExportDto {\n @IsString()\n @IsNotEmpty()\n name!: string;\n\n @IsUrl({ protocols: ['https'] })\n @IsOptional()\n profile?: string;\n\n @Transform(({ value }) => maskAccountNumber(value))\n @IsString()\n @IsNotEmpty()\n accountNumber!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n totalBalance!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n availableBalance!: number | string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n pendingBalance!: number | string;\n\n @IsString()\n @IsNotEmpty()\n currency!: string;\n}\n","import { Type } from 'class-transformer';\nimport { IsEnum, IsNotEmpty, IsOptional, IsString, ValidateNested } from 'class-validator';\nimport { DocumentType, FileFormat } from '../../enums';\nimport { DateRangeExportDto } from './index';\nimport { MerchantDetailsHeaderExportDto } from './merchant-headers';\n\n// biome-ignore lint/suspicious/noExplicitAny: false positive\nexport class DocumentGenerationRequestDto<T = any> {\n @IsEnum(FileFormat, { message: 'document format must be one of: pdf, csv, xlsx' })\n @IsNotEmpty()\n documentFormat!: FileFormat;\n\n @IsString()\n @IsNotEmpty()\n documentType!: DocumentType;\n\n @Type(() => MerchantDetailsHeaderExportDto)\n @ValidateNested()\n // make it optional in the validator , but not in the runtime / if it needed so pass it with null , but it must be there\n @IsOptional()\n merchantInfo?: MerchantDetailsHeaderExportDto;\n\n @Type(() => DateRangeExportDto)\n @ValidateNested()\n @IsNotEmpty()\n dateRange!: DateRangeExportDto;\n\n @IsNotEmpty()\n data!: T[];\n\n @IsNotEmpty()\n presignedURL?: boolean = false;\n}\n","export class DocumentPathResponseDto {\n name: string;\n\n path: string;\n\n s3Result: object;\n\n constructor(name: string, path: string, commandResult: object) {\n this.name = name;\n this.path = path;\n this.s3Result = commandResult;\n }\n}\n","import { Transform, Type } from 'class-transformer';\nimport { IsArray, IsDefined, IsNotEmpty, IsNumberString, IsOptional, IsString, ValidateNested } from 'class-validator';\n\nclass InvoiceDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsNotEmpty()\n paidAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n customerName!: string;\n\n @IsString()\n @IsNotEmpty()\n customerPhone!: string;\n\n @IsString()\n @IsNotEmpty()\n id!: string;\n\n @IsString()\n @IsNotEmpty()\n merchantReference!: string;\n\n @IsString()\n @IsNotEmpty()\n createdBy!: string;\n\n @IsString()\n @IsOptional()\n transactionId: string = '';\n\n @IsString()\n @IsNotEmpty()\n status!: string;\n\n @Transform(({ value }) => Number(value).toFixed(3))\n @IsNumberString()\n @IsNotEmpty()\n amount!: number | string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n}\n\nclass InvoiceHistoryDocument {\n @IsNotEmpty()\n createdAt!: string | Date;\n\n @IsString()\n @IsNotEmpty()\n action!: string;\n\n @IsString()\n @IsNotEmpty()\n createdBy!: string;\n\n @IsString()\n @IsNotEmpty()\n invoiceId!: string;\n\n @IsString()\n @IsNotEmpty()\n paymentMethod!: string;\n\n @IsString()\n @IsOptional()\n paymentMethodBrand!: string;\n}\n\nexport class InvoiceExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => InvoiceDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: InvoiceDocument[];\n}\n\nexport class InvoiceHistoryExportDto {\n @IsArray()\n @ValidateNested({ each: true })\n @Type(() => InvoiceHistoryDocument)\n @IsNotEmpty()\n @IsDefined()\n data!: InvoiceHistoryDocument[];\n}\n"]}
|