Skip to content

Commit da37a6d

Browse files
committed
extra info status for basic stuff (emailverified, birthdayentered,
countryentered) so that the cache doesn't mess stuff up
1 parent 83c196b commit da37a6d

6 files changed

Lines changed: 31 additions & 84 deletions

File tree

src/resources/authentication.js

Lines changed: 22 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -176,35 +176,30 @@ class Authentication {
176176
}
177177
});
178178
}
179-
static usernameFromCode(username, token, clear_cache = false) {
179+
static async usernameFromCode(_username, token) {
180180
// name is a misnomer, was just to lazy to change after new api update.
181181
// TODO: make this less misleading
182-
return new Promise((resolve, reject) => {
183-
const cc = clear_cache
184-
? {
185-
cache: "reload",
186-
}
187-
: {};
188-
fetch(
189-
`${ProjectApi.OriginApiUrl}/api/v1/users/userfromcode?username=${username}&token=${token}`,
190-
cc,
191-
)
192-
.then((r) =>
193-
r
194-
.json()
195-
.then((j) => {
196-
if (j.error) return reject(j.error);
197-
resolve({
198-
username: j.username,
199-
isAdmin: j.admin,
200-
isApprover: j.approver,
201-
...j,
202-
});
203-
})
204-
.catch(reject),
205-
)
206-
.catch(reject);
207-
});
182+
const j = await fetch(
183+
`${ProjectApi.OriginApiUrl}/api/v1/users/userfromcode?token=${token}`,
184+
).then((r) => r.json());
185+
186+
if (j.error) throw j.error;
187+
188+
if (!j.birthdayEntered || !j.countryEntered || !j.isEmailVerified) {
189+
const extra = await fetch(
190+
`${ProjectApi.OriginApiUrl}/api/v1/users/extrainfostatus?token=${token}`,
191+
).then((r) => r.json());
192+
193+
j.birthdayEntered = extra.birthdayEntered;
194+
j.countryEntered = extra.countryEntered;
195+
j.isEmailVerified = extra.isEmailVerified;
196+
}
197+
198+
return {
199+
isAdmin: j.admin,
200+
isApprover: j.approver,
201+
...j,
202+
};
208203
}
209204

210205
static changePassword(username, token, oldPassword, newPassword) {

src/resources/projectapi.js

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1355,13 +1355,6 @@ class ProjectApi {
13551355
return;
13561356
}
13571357

1358-
// clear cache
1359-
Authentication.usernameFromCode(
1360-
this.username,
1361-
this.token,
1362-
true,
1363-
);
1364-
13651358
resolve();
13661359
})
13671360
.catch((err) => {
@@ -2075,13 +2068,6 @@ class ProjectApi {
20752068
return;
20762069
}
20772070

2078-
// clear cache
2079-
Authentication.usernameFromCode(
2080-
this.username,
2081-
this.token,
2082-
true,
2083-
);
2084-
20852071
resolve();
20862072
})
20872073
.catch((err) => {
@@ -2189,13 +2175,6 @@ class ProjectApi {
21892175
return;
21902176
}
21912177

2192-
// clear cache
2193-
Authentication.usernameFromCode(
2194-
this.username,
2195-
this.token,
2196-
true,
2197-
);
2198-
21992178
resolve();
22002179
})
22012180
.catch((err) => {
@@ -2543,13 +2522,6 @@ class ProjectApi {
25432522
return;
25442523
}
25452524

2546-
// clear cache
2547-
Authentication.usernameFromCode(
2548-
this.username,
2549-
this.token,
2550-
true,
2551-
);
2552-
25532525
resolve();
25542526
})
25552527
.catch((err) => {

src/routes/messages/+page.svelte

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,10 +225,7 @@
225225
markPolicyAsRead("TOS");
226226
markPolicyAsRead("guidelines");
227227
228-
ProjectClient.markAllMessagesAsRead().then(() => {
229-
// clear cache
230-
Authentication.usernameFromCode(this.username, this.token, true);
231-
});
228+
ProjectClient.markAllMessagesAsRead();
232229
233230
readMessages = readMessages.concat(
234231
messages.map((message) => message.id),

src/routes/settings/+page.svelte

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -324,13 +324,6 @@
324324
localStorage.setItem("username", username);
325325
localStorage.setItem("token", token);
326326
327-
// clear cache
328-
Authentication.usernameFromCode(
329-
this.username,
330-
this.token,
331-
true,
332-
);
333-
334327
resolve();
335328
});
336329
});
@@ -364,13 +357,6 @@
364357
if (!remove) return;
365358
ProjectClient.removeOAuthMethod(method)
366359
.then(() => {
367-
// clear cache
368-
Authentication.usernameFromCode(
369-
this.username,
370-
this.token,
371-
true,
372-
);
373-
374360
loginMethods = loginMethods.filter((m) => m !== method);
375361
})
376362
.catch(alert);

src/routes/standing/+page.svelte

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<script>
22
import { page } from "$app/stores";
33
import { onMount } from "svelte";
4-
import { browser } from '$app/environment';
4+
import { browser } from "$app/environment";
55
import { PUBLIC_API_URL, PUBLIC_STUDIO_URL } from "$env/static/public";
66
77
import Authentication from "../../resources/authentication.js";
@@ -23,8 +23,12 @@
2323
let loggedInUsername = null;
2424
let token = null;
2525
26-
const displayAccountDeleted = browser ? $page.url.searchParams.get("deleted") : null;
27-
const deletedUsername = browser ? $page.url.searchParams.get("username") : null;
26+
const displayAccountDeleted = browser
27+
? $page.url.searchParams.get("deleted")
28+
: null;
29+
const deletedUsername = browser
30+
? $page.url.searchParams.get("username")
31+
: null;
2832
let accountStanding = 1;
2933
3034
let currentLang = "en";
@@ -67,7 +71,7 @@
6771
});
6872
Authentication.onAuthentication((username, privateCode) => {
6973
loggedIn = null;
70-
Authentication.usernameFromCode(privateCode)
74+
Authentication.usernameFromCode(username, privateCode)
7175
.then(({ standing }) => {
7276
loggedIn = true;
7377
loggedInChange(username, token, standing);

src/routes/unfinishedsignup/+page.svelte

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -104,13 +104,6 @@
104104
finishSignup()
105105
.then(
106106
async () => {
107-
// clear cache
108-
await Authentication.usernameFromCode(
109-
this.username,
110-
this.token,
111-
true,
112-
);
113-
114107
if (embed) {
115108
const opener = window.opener || window.parent;
116109

0 commit comments

Comments
 (0)