88 userNeedsGuardianTouchKey,
99 acceptedKey,
1010 acceptedByKey,
11+ variantModeKey,
1112 isUnderThirteen,
1213 getPrivacyState,
1314 generateGuardianPrivacyAuthToken,
@@ -18,6 +19,8 @@ const {
1819// /api/privacy/student/ultra-secret/reset/under13/8daysago
1920// /api/privacy/student/ultra-secret/reset/over13/new
2021// /api/privacy/student/ultra-secret/reset/over13/8daysago
22+ // /api/privacy/student/ultra-secret/reset/year8webinar/new
23+ // /api/privacy/student/ultra-secret/reset/year8webinar/31daysago
2124
2225const userDB = firebase . firestore ( ) . collection ( "users" ) ;
2326
@@ -36,6 +39,7 @@ const getViewData = (req) => {
3639 guardianPrivacyAuthTokenKey ,
3740 acceptedKey ,
3841 acceptedByKey ,
42+ variantModeKey ,
3943 "birthMonth" ,
4044 "birthYear" ,
4145 ] ;
@@ -74,6 +78,7 @@ router.get("/reset/under13/new", studentMiddleware, async (req, res) => {
7478 [ userNeedsGuardianTouchKey ] : null ,
7579 [ acceptedKey ] : null ,
7680 [ acceptedByKey ] : null ,
81+ [ variantModeKey ] : null ,
7782 birthMonth : "1" ,
7883 birthYear : "2025" ,
7984 } ;
@@ -91,6 +96,7 @@ router.get("/reset/over13/new", studentMiddleware, async (req, res) => {
9196 [ userNeedsGuardianTouchKey ] : null ,
9297 [ acceptedKey ] : null ,
9398 [ acceptedByKey ] : null ,
99+ [ variantModeKey ] : null ,
94100 birthMonth : "1" ,
95101 birthYear : "1990" ,
96102 } ;
@@ -100,6 +106,43 @@ router.get("/reset/over13/new", studentMiddleware, async (req, res) => {
100106 return res . status ( 200 ) . send ( getResponseBody ( req , updateBody ) ) ;
101107} ) ;
102108
109+
110+ router . get ( "/reset/year8webinar/new" , studentMiddleware , async ( req , res ) => {
111+ const updateBody = {
112+ [ firstSeenKey ] : null ,
113+ [ dueByKey ] : Date . now ( ) + 30 * 24 * 60 * 60 * 1000 , // 30 days from now
114+ [ guardianPrivacyAuthTokenKey ] : null ,
115+ [ userNeedsGuardianTouchKey ] : null ,
116+ [ acceptedKey ] : null ,
117+ [ acceptedByKey ] : null ,
118+ [ variantModeKey ] : 'year8webinar' ,
119+ birthMonth : "1" ,
120+ birthYear : "1990" ,
121+ } ;
122+
123+ await userDB . doc ( req . user . uid ) . update ( updateBody ) ;
124+
125+ return res . status ( 200 ) . send ( getResponseBody ( req , updateBody ) ) ;
126+ } ) ;
127+
128+ router . get ( "/reset/year8webinar/31daysago" , studentMiddleware , async ( req , res ) => {
129+ const updateBody = {
130+ [ firstSeenKey ] : Date . now ( ) - 31 * 24 * 60 * 60 * 1000 , // first seen was 31 days ago
131+ [ dueByKey ] : Date . now ( ) - 24 * 60 * 60 * 1000 , // due date was 1 day ago
132+ [ userNeedsGuardianTouchKey ] : null ,
133+ [ guardianPrivacyAuthTokenKey ] : null ,
134+ [ acceptedKey ] : null ,
135+ [ acceptedByKey ] : null ,
136+ [ variantModeKey ] : 'year8webinar' ,
137+ birthMonth : "1" ,
138+ birthYear : "2025" , // Age doesn't matter for this variant
139+ } ;
140+
141+ await userDB . doc ( req . user . uid ) . update ( updateBody ) ;
142+
143+ return res . status ( 200 ) . send ( getResponseBody ( req , updateBody ) ) ;
144+ } ) ;
145+
103146router . get ( "/reset/under13/8daysago" , studentMiddleware , async ( req , res ) => {
104147 const updateBody = {
105148 [ firstSeenKey ] : Date . now ( ) - 8 * 24 * 60 * 60 * 1000 , // first seen was 8 days ago
@@ -108,6 +151,7 @@ router.get("/reset/under13/8daysago", studentMiddleware, async (req, res) => {
108151 [ guardianPrivacyAuthTokenKey ] : generateGuardianPrivacyAuthToken ( ) ,
109152 [ acceptedKey ] : null ,
110153 [ acceptedByKey ] : null ,
154+ [ variantModeKey ] : null ,
111155 birthMonth : "1" ,
112156 birthYear : "2025" ,
113157 } ;
@@ -125,6 +169,7 @@ router.get("/reset/over13/8daysago", studentMiddleware, async (req, res) => {
125169 [ guardianPrivacyAuthTokenKey ] : null ,
126170 [ acceptedKey ] : null ,
127171 [ acceptedByKey ] : null ,
172+ [ variantModeKey ] : null ,
128173 birthMonth : "1" ,
129174 birthYear : "1990" ,
130175 } ;
0 commit comments