Skip to content

Commit fb4c571

Browse files
committed
redirect settings page
1 parent f61cf0b commit fb4c571

2 files changed

Lines changed: 35 additions & 0 deletions

File tree

functions/index.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -459,6 +459,12 @@ app.get('/login', (req, res) => {
459459

460460
app.get('/account', (req, res) => {
461461
if (!req.user) return error(res, 401);
462+
463+
if (!req.query.override) {
464+
res.redirect('/settings');
465+
return;
466+
}
467+
462468
res.locals.sidebarDisabled = true
463469
res.render('account', { countries });
464470
});

functions/utilities/getTypeSafeUser.js

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,32 @@ const getAdditionalStudentEmails = (user) => {
6565
}
6666
}
6767

68+
const getGuardianPhoneNumbers = (user) => {
69+
if (user.code) {
70+
return [];
71+
}
72+
73+
try {
74+
return [...new Set([user?.phoneNumber, user?.guardianPhone, ...(user?.phoneNumbers?.filter(p => p?.type === 'guardian').map(p => p?.phoneNumber) || [])])].filter(s => typeof s === 'string' && s)
75+
} catch (error) {
76+
console.error('Error getting guardian phone numbers:', error);
77+
return [];
78+
}
79+
}
80+
81+
const getTeacherPhoneNumbers = (user) => {
82+
if (!user.code) {
83+
return [];
84+
}
85+
86+
try {
87+
return [...new Set([user?.phoneNumber, ...(user?.phoneNumbers?.filter(p => p?.type === 'teacher').map(p => p?.phoneNumber) || [])])].filter(s => typeof s === 'string' && s)
88+
} catch (error) {
89+
console.error('Error getting teacher phone numbers:', error);
90+
return [];
91+
}
92+
}
93+
6894
// This data gets passed through Graphql
6995
// As firebase data is set client side, it can't always be trusted
7096
// If a value is wrong type, it will be set to null
@@ -102,6 +128,9 @@ const getTypeSafeUser = (user) => {
102128
euclidEnrolYearGroup: validateString(user.euclidEnrolYearGroup),
103129
euclidEnrolTimestamp: validateNumber(user.euclidEnrolTimestamp),
104130

131+
guardianPhoneNumbers: getGuardianPhoneNumbers(user),
132+
teacherPhoneNumbers: getTeacherPhoneNumbers(user),
133+
105134
teacherCodes: validateStringArray(user.teacherCode),
106135
additionalStudentEmails: getAdditionalStudentEmails(user),
107136
ethnicity: validateString(user.ethnicity),

0 commit comments

Comments
 (0)