package Ġco . t ala . example . specs . im mun ization _ dec ider Ċ Ċ import Ġco . t ala . example . specs . core . lib . next Long Ċ import Ġco . t ala . example . specs . core . lib . randomUUID Ċ import Ġco . t ala . example . http . client . lib . factory . create Client Ċ import Ġco . t ala . example . http . client . lib . service . im mun ization _ history . model . Imm un ization Occurrence Ċ Ċ class ĠImm un ization Dec ider Provider Factory ( ĊĠĠĠ Ġprivate Ġval Ġconfig : ĠImm un ization Dec ider Provider Factory Config Ċ ) Ġ{ ĊĠĠĠ Ġfun Ġcreate ( born Days Ago : ĠLong , Ġim mun ization Occ urrences : ĠList < Imm un ization Occurrence >): ĠImm un ization Dec ider Provider Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠrequestId Ġ= Ġrandom UUID () ĊĠĠĠĠĠĠĠ Ġval Ġscenario Ġ= ĠImm un ization Dec ider Scenario ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsource Ref Id Ġ= Ġrandom UUID (), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠuserId Ġ= Ġnext Long (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġborn Days Ago Ġ= Ġborn Days Ago , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠrequestId Ġ= ĠrequestId , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġim mun ization Occ urrences Ġ= Ġim mun ization Occ urrences ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġclient Ġ= ĠImm un ization Dec ider Client Container ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock User Ġ= Ġcreate Client ("${ config . fake Dependency Api Url }/ user - service / mock - resources ", ĠrequestId Ġ= ĠrequestId ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Ph arm acy Ġ= Ġcreate Client ("${ config . fake Dependency Api Url }/ ph arm acy - service / mock - resources ", ĠrequestId Ġ= ĠrequestId ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmock Imm un ization History Ġ= Ġcreate Client ("${ config . fake Dependency Api Url }/ im mun ization - history - service / mock - resources ", ĠrequestId Ġ= ĠrequestId ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġim mun ization Dec ider Ġ= Ġcreate Client ( config . im mun ization Dec ider Api Url , ĠrequestId Ġ= ĠrequestId ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn ĠImm un ization Dec ider Provider ( scenario , Ġclient ) ĊĠĠĠ Ġ} Ċ } Ċ