package Ġca . bc . gov . repository Ċ Ċ import Ġca . bc . gov . data . datasource . remote . Imm un ization Remote DataSource Ċ import Ġca . bc . gov . data . datasource . remote . model . request . V accine Status Request Ċ import Ġca . bc . gov . data . model . V accine Status Ċ import Ġca . bc . gov . repository . model . Patient V accine Record Ċ import Ġca . bc . gov . repository . qr . Process Qr Repository Ċ import Ġca . bc . gov . repository . qr . V accine Record State Ċ import Ġca . bc . gov . repository . utils . Base 6 4 To Input Image Converter Ċ import Ġjavax . inject . Inject Ċ Ċ /** Ċ Ġ* Ġ@ author ĠPin ak in ĠK ans ara Ċ Ġ*/ Ċ class ĠFetch V accine Record Repository Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġprivate Ġval Ġbase 6 4 To Input Image Converter : ĠBase 6 4 To Input Image Converter , ĊĠĠĠ Ġprivate Ġval Ġim mun ization Remote DataSource : ĠImm un ization Remote DataSource , ĊĠĠĠ Ġprivate Ġval Ġprocess Qr Repository : ĠProcess Qr Repository Ċ ) Ġ{ ĊĊĠĠĠ Ġsuspend Ġfun Ġfetch V accine Record ( ĊĠĠĠĠĠĠĠ Ġph n : ĠString , ĊĠĠĠĠĠĠĠ Ġdo b : ĠString , ĊĠĠĠĠĠĠĠ Ġdo v : ĠString ĊĠĠĠ Ġ): ĠPair < V accine Record State , ĠPatient V accine Record ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġim mun ization Remote DataSource . get V accine Status ( V accine Status Request ( ph n , Ġdo b , Ġdo v )) ĊĠĠĠĠĠĠĠ Ġreturn Ġprocess Response ( response ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġsuspend Ġfun Ġfetch V accine Record ( ĊĠĠĠĠĠĠĠ Ġtoken : ĠString , ĊĠĠĠĠĠĠĠ Ġh did : ĠString ĊĠĠĠ Ġ): ĠPair < V accine Record State , ĠPatient V accine Record ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġim mun ization Remote DataSource . get V accine Status ( token , Ġh did ) ĊĠĠĠĠĠĠĠ Ġreturn Ġprocess Response ( response ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġprocess Response ( v accine Status : ĠV accine Status ): ĠPair < V accine Record State , ĠPatient V accine Record ?> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġimage Ġ= Ġbase 6 4 To Input Image Converter . convert ( v accine Status . qr Code . data ) ĊĠĠĠĠĠĠĠ Ġval Ġpatient V accine Record Ġ= Ġprocess Qr Repository . process Qr Code ( image ) ĊĠĠĠĠĠĠĠ Ġval Ġ( status , Ġrecord ) Ġ= Ġpatient V accine Record ĊĠĠĠĠĠĠĠ Ġrecord ?. v accine Record Dto ?. fed eral Pass Ġ= Ġv accine Status . fed eral V accine Proof . data ĊĠĠĠĠĠĠĠ Ġrecord ?. patient Dto ?. ph n Ġ= Ġv accine Status . ph n ĊĠĠĠĠĠĠĠ Ġreturn ĠPair ( status , Ġrecord ) ĊĠĠĠ Ġ} Ċ } Ċ