factory.ts (2146B)
1 import { MemoryAuthRepositoryAdapter } from "#infrastructure/memory/auth.ts"; 2 import { MemoryCustomerInfoAdapter } from "#infrastructure/memory/customer_info.ts"; 3 import { MemoryIDDocumentRepositoryAdapter } from "#infrastructure/memory/id_document.ts"; 4 import { MemoryIDDocumentListAdapter } from "#infrastructure/memory/id_document_list.ts"; 5 import { AuthDto } from "#infrastructure/memory/mapper/auth.ts"; 6 import { IDDocumentDto } from "#infrastructure/memory/mapper/id_document.ts"; 7 import { OAuth2FlowDto } from "#infrastructure/memory/mapper/oauth2flow.ts"; 8 import { PhoneEKYCDto } from "#infrastructure/memory/mapper/phone.ts"; 9 import { RateLimitDto } from "#infrastructure/memory/mapper/ratelimit.ts"; 10 import { MemoryOAuth2FlowRepositoryAdapter } from "#infrastructure/memory/oauth2_flow.ts"; 11 import { MemoryPhoneRepositoryAdapter } from "#infrastructure/memory/phone.ts"; 12 import { MemoryRateLimitRepositoryAdapter } from "#infrastructure/memory/ratelimit.ts"; 13 14 export function createMemoryPersistance() { 15 const authEntities = new Map<string, AuthDto>(); 16 const phoneEntities = new Map<string, PhoneEKYCDto>(); 17 const oauth2flowEntities = new Map<string, OAuth2FlowDto>(); 18 const rateLimitEntities = new Map<string, RateLimitDto>(); 19 const idDocumentEntities = new Map<string, IDDocumentDto>(); 20 21 const authRepo = new MemoryAuthRepositoryAdapter(authEntities); 22 const phoneRepo = new MemoryPhoneRepositoryAdapter(phoneEntities); 23 const flowRepo = new MemoryOAuth2FlowRepositoryAdapter(oauth2flowEntities); 24 const rateLimitRepo = new MemoryRateLimitRepositoryAdapter(rateLimitEntities); 25 const idDocumentRepo = new MemoryIDDocumentRepositoryAdapter( 26 idDocumentEntities, 27 ); 28 29 const customerInfo = new MemoryCustomerInfoAdapter( 30 authEntities, 31 phoneEntities, 32 idDocumentEntities, 33 ); 34 35 const idDocumentList = new MemoryIDDocumentListAdapter(idDocumentEntities); 36 37 return { 38 authEntities, 39 phoneEntities, 40 oauth2flowEntities, 41 rateLimitEntities, 42 idDocumentEntities, 43 44 authRepo, 45 phoneRepo, 46 flowRepo, 47 rateLimitRepo, 48 idDocumentRepo, 49 50 customerInfo, 51 idDocumentList, 52 }; 53 }