ekyc

Electronic KYC process with uploading ID document using OAuth 2.1 (experimental)
Log | Files | Refs | README | LICENSE

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 }