@@ -66,10 +66,6 @@ function authenticatedOrNot(req, res, next) {
6666
6767function authenticate ( req , { token } ) {
6868 req . session . token = token ;
69- // req.session.email = email;
70- // req.session.requestedEmail = requestedEmail;
71- // req.session.userId = userId;
72- // req.session.verified = verified;
7369}
7470
7571function unauthenticate ( req ) {
@@ -104,13 +100,13 @@ app.set('views', path.join(__dirname, "views"));
104100const static_dir = path . join ( path . dirname ( __dirname ) , 'assets' ) ;
105101app . use ( "/assets" , Express . static ( static_dir ) )
106102
107- app . get ( '/sign-in' , unauthenticated , renderSignedOut ( "sign-in" , { title : "Sign in " } ) )
108- app . get ( '/sign-up' , unauthenticated , renderSignedOut ( "sign-up" , { title : "Sign-up " } ) )
109- app . get ( '/sign-up-success' , unauthenticated , renderSignedOut ( "sign-up-success" , { title : "Sign-up success " } ) )
103+ app . get ( '/sign-in' , unauthenticated , renderSignedOut ( "sign-in" , { title : "Sign In " } ) )
104+ app . get ( '/sign-up' , unauthenticated , renderSignedOut ( "sign-up" , { title : "Sign Up " } ) )
105+ app . get ( '/sign-up-success' , unauthenticated , renderSignedOut ( "sign-up-success" , { title : "Sign Up Success " } ) )
110106app . get ( '/user/details' , authenticated , routeUserDetails )
111107app . post ( '/user/details' , authenticated , routeUserDetailsPost )
112108app . get ( '/logout' , authenticated , routeLogout )
113- app . get ( '/' , authenticated , render ( "home" , { title : "Home" } ) )
109+ app . get ( '/' , authenticated , routeHome )
114110app . get ( '/verify-email' , authenticatedOrNot , routeVerifyEmail ) ;
115111app . post ( '/sign-in' , unauthenticated , routeSignIn ) ;
116112app . post ( '/sign-up' , unauthenticated , routeSignUp ) ;
@@ -119,6 +115,15 @@ app.get('/card/products', authenticated, routeCardProducts);
119115app . post ( '/card/enrollment' , authenticated , routeRequestedEnrollment ) ;
120116app . get ( '/card/enrollments' , authenticated , routeCardEnrollments ) ;
121117
118+ // Default metadata for requests.
119+ const metadata = {
120+ environment : "browser" ,
121+ devicePlatform : "unknown" ,
122+ deviceModel : "unknown" ,
123+ deviceOSVersion : "unknown" ,
124+ deviceOrientation : "unknown"
125+ } ;
126+
122127async function fetchUserDetails ( token ) {
123128 const response = await fetch ( endpoints [ "user-details" ] , {
124129 method : "POST" ,
@@ -135,7 +140,7 @@ async function fetchUserDetails(token) {
135140 throw new Error ( error ) ;
136141 }
137142
138- const { userId, primaryEmailStatus } = r ;
143+ const { userId, primaryEmailStatus, username } = r ;
139144 const { email, requestedEmail, verified } =
140145 ( "unverifiedEmail" in primaryEmailStatus )
141146 ? { email : primaryEmailStatus . unverifiedEmail . email , requestedEmail : null , verified : false }
@@ -145,26 +150,33 @@ async function fetchUserDetails(token) {
145150 ? { email : primaryEmailStatus . verifiedButRequestedNewEmail . verifiedEmail , requestedEmail : primaryEmailStatus . verifiedButRequestedNewEmail . requestedEmail , verified : false }
146151 : new Error ( `Unknown state of primaryEmailStatus. ${ JSON . stringify ( primaryEmailStatus ) } ` ) ;
147152
148- return { userId, email, requestedEmail, verified } ;
153+ return { userId, email, requestedEmail, verified, username } ;
149154}
150155
156+ async function routeHome ( req , res ) {
157+ try {
158+ const { username } = await fetchUserDetails ( req . session . token ) ;
151159
152- // Default metadata for requests.
153- const metadata = {
154- environment : "browser" ,
155- devicePlatform : "unknown" ,
156- deviceModel : "unknown" ,
157- deviceOSVersion : "unknown" ,
158- deviceOrientation : "unknown"
159- } ;
160+ res . render ( "home" , {
161+ layout : layouts . main ,
162+ locals : {
163+ title : "Home" ,
164+ username
165+ }
166+ } ) ;
167+ } catch ( error ) {
168+ console . error ( "Error on homepage:" , error ) ;
169+ errorPage ( res , "Failed to load homepage" ) ;
170+ }
171+ }
160172
161173async function renderUserDetails ( req , res , { successMessage, failureMessage } ) {
162174
163175 const { email, userId, verified, requestedEmail } = await fetchUserDetails ( req . session . token ) ;
164176 res . render ( "details" , {
165177 layout : layouts . main ,
166178 locals : {
167- title : "User details " ,
179+ title : "User Details " ,
168180 email : email ,
169181 userId : userId ,
170182 requestedEmail : requestedEmail ,
@@ -174,6 +186,7 @@ async function renderUserDetails(req, res, { successMessage, failureMessage }) {
174186 }
175187 } ) ;
176188}
189+
177190async function routeUserDetails ( req , res ) {
178191 try {
179192 return await renderUserDetails ( req , res , { } ) ;
@@ -240,14 +253,14 @@ async function routeVerifyEmail(req,res) {
240253 const error = getError ( r ) ;
241254 res . render ( "verify-email" , {
242255 layout : layouts . signedOut ,
243- locals : { title : "Verify email " , error } ,
256+ locals : { title : "Verify Email " , error } ,
244257 } ) ;
245258 return ;
246259 }
247260
248261 res . render ( `verify-email` , {
249262 layout : layouts . signedOut ,
250- locals : { title : "Verify email " } ,
263+ locals : { title : "Verify Email " } ,
251264 } )
252265 } catch ( error ) {
253266 console . error ( "Error verifying email:" , error ) ;
@@ -281,7 +294,7 @@ async function routeSignIn(req, res) {
281294
282295 res . render ( "sign-in" , {
283296 layout : layouts . signedOut ,
284- locals : { title : "Sign in " , error } ,
297+ locals : { title : "Sign In " , error } ,
285298 } ) ;
286299 return ;
287300 }
@@ -339,7 +352,7 @@ async function routeSignUp(req, res) {
339352
340353 res . render ( "sign-up" , {
341354 layout : layouts . signedOut ,
342- locals : { title : "Sign-up " , error, username, email }
355+ locals : { title : "Sign Up " , error, username, email }
343356 } ) ;
344357 return ;
345358 }
@@ -518,6 +531,7 @@ app.get('/event-bus-yml', (req, res) => {
518531 res . status ( 500 ) . json ( { error : 'Error reading YAML file' } ) ;
519532 }
520533} ) ;
534+
521535app . get ( '/event-bus.yml' , ( req , res ) => {
522536 try {
523537 const fileContents = readFileSync ( '/ambar-yml/ambar-config.yaml' , 'utf8' ) ;
0 commit comments