UNPKG

@kenniy/godeye-data-contracts

Version:

Enterprise-grade base repository architecture for GOD-EYE microservices with zero overhead and maximum code reuse

19 lines (18 loc) 879 B
/** * Shared Bulk Operations Utility (DRY) * Eliminates duplication between Repository and BaseTransactionRepository */ import { IBulkOperation, IBulkResult } from '../types/response.types'; import { ICriteria } from '../types/repository.types'; export interface IBulkOperationRepository<T> { create(data: Partial<T>): Promise<T>; update(criteria: ICriteria<T>, data: Partial<T>): Promise<T>; delete(criteria: ICriteria<T>): Promise<boolean>; } /** * Execute bulk operations using any repository implementation * @param operations - Array of bulk operations to execute * @param repository - Repository instance with create/update/delete methods * @returns Promise resolving to bulk operation results */ export declare function executeBulkOperations<T, R = T>(operations: IBulkOperation<T>[], repository: IBulkOperationRepository<T>): Promise<IBulkResult<R>>;