11import  {  getSecretValue  }  from  "../plugins/auth.js" ; 
2- import  {  genericConfig ,  SecretConfig  }  from  "../../common/config.js" ; 
2+ import  { 
3+   ConfigType , 
4+   genericConfig , 
5+   GenericConfigType , 
6+   SecretConfig , 
7+ }  from  "../../common/config.js" ; 
38import  { 
49  InternalServerError , 
510  UnauthorizedError , 
@@ -12,6 +17,9 @@ import strip from "../resources/MembershipPass.pkpass/strip.png";
1217import  pass  from  "../resources/MembershipPass.pkpass/pass.js" ; 
1318import  {  PKPass  }  from  "passkit-generator" ; 
1419import  {  promises  as  fs  }  from  "fs" ; 
20+ import  {  SecretsManagerClient  }  from  "@aws-sdk/client-secrets-manager" ; 
21+ import  {  RunEnvironment  }  from  "common/roles.js" ; 
22+ import  pino  from  "pino" ; 
1523
1624function  trim ( s : string )  { 
1725  return  ( s  ||  "" ) . replace ( / ^ \s + | \s + $ / g,  "" ) ; 
@@ -25,9 +33,11 @@ function convertName(name: string): string {
2533} 
2634
2735export  async  function  issueAppleWalletMembershipCard ( 
28-   app : FastifyInstance , 
29-   request : FastifyRequest , 
36+   clients : {  smClient : SecretsManagerClient  } , 
37+   environmentConfig : ConfigType , 
38+   runEnvironment : RunEnvironment , 
3039  email : string , 
40+   logger : pino . Logger , 
3141  name ?: string , 
3242)  { 
3343  if  ( ! email . endsWith ( "@illinois.edu" ) )  { 
@@ -37,7 +47,7 @@ export async function issueAppleWalletMembershipCard(
3747    } ) ; 
3848  } 
3949  const  secretApiConfig  =  ( await  getSecretValue ( 
40-     app . secretsManagerClient , 
50+     clients . smClient , 
4151    genericConfig . ConfigSecretName , 
4252  ) )  as  SecretConfig ; 
4353  if  ( ! secretApiConfig )  { 
@@ -57,7 +67,7 @@ export async function issueAppleWalletMembershipCard(
5767    secretApiConfig . apple_signing_cert_base64 , 
5868    "base64" , 
5969  ) . toString ( "utf-8" ) ; 
60-   pass [ "passTypeIdentifier" ]  =  app . environmentConfig [ "PasskitIdentifier" ] ; 
70+   pass [ "passTypeIdentifier" ]  =  environmentConfig [ "PasskitIdentifier" ] ; 
6171
6272  const  pkpass  =  new  PKPass ( 
6373    { 
@@ -73,13 +83,13 @@ export async function issueAppleWalletMembershipCard(
7383    } , 
7484    { 
7585      // logoText: app.runEnvironment === "dev" ? "INVALID Membership Pass" : "Membership Pass", 
76-       serialNumber : app . environmentConfig [ "PasskitSerialNumber" ] , 
86+       serialNumber : environmentConfig [ "PasskitSerialNumber" ] , 
7787    } , 
7888  ) ; 
7989  pkpass . setBarcodes ( { 
8090    altText : email . split ( "@" ) [ 0 ] , 
8191    format : "PKBarcodeFormatPDF417" , 
82-     message : app . runEnvironment  ===  "dev"  ? `INVALID${ email }  INVALID`  : email , 
92+     message : runEnvironment  ===  "dev"  ? `INVALID${ email }  INVALID`  : email , 
8393  } ) ; 
8494  const  iat  =  new  Date ( ) . toLocaleDateString ( "en-US" ,  { 
8595    day : "2-digit" , 
@@ -93,7 +103,7 @@ export async function issueAppleWalletMembershipCard(
93103      value : convertName ( name ) , 
94104    } ) ; 
95105  } 
96-   if  ( app . runEnvironment  ===  "prod" )  { 
106+   if  ( runEnvironment  ===  "prod" )  { 
97107    pkpass . backFields . push ( { 
98108      label : "Verification URL" , 
99109      key : "iss" , 
@@ -109,7 +119,7 @@ export async function issueAppleWalletMembershipCard(
109119  pkpass . backFields . push ( {  label : "Pass Created On" ,  key : "iat" ,  value : iat  } ) ; 
110120  pkpass . backFields . push ( {  label : "Membership ID" ,  key : "id" ,  value : email  } ) ; 
111121  const  buffer  =  pkpass . getAsBuffer ( ) ; 
112-   request . log . info ( 
122+   logger . info ( 
113123    {  type : "audit" ,  actor : email ,  target : email  } , 
114124    "Created membership verification pass" , 
115125  ) ; 
0 commit comments