mirror of
https://github.com/pagefaultgames/pokerogue.git
synced 2025-06-20 16:42:45 +02:00
* start migrating Utils.apiFetch to api class
* move dailyranking to api
* use api in title-ui-handler
* remove: Utils.apiFetch
* migrate `updateSystemSavedata` to api
* migrate clear session savedata to api
* migrate updateAllSavedata to api
* migrate `updateSessionSavedata` to api
* rename `api` to `pokerogue-api`
* migrate unlink discord to pokerogue-api
* migrate unlink google to pokerogue-api
* update pokerogue-api login
* migrate register account to pokerogue-api
* remove Utils.apiPost
* reset overrides.ts
* chore: cleanup
* fix env.development
* fix circular dependencies with api
* fix gamedata verify missing await
* fix daily api calls in daily-run-scorebard
* fix discord-link request body being empty
there was a double `toUrlSearchParams()` call involved
* add pokerogue-api test coverge
* add test-utils `getApiBaseUrl()` method
* add pokerogue-admin-api test coverage
* add pokerogue-account-api test coverage
* add pokerogue-daily-api test coverage
* add pokerogue-savedata-api test coverage
* fix some test describes
* add pokerogue-session-savedata-api test coverage
* add pokerogue-system-savedata-api test coverage
* fix tests
* fix tryExportData
thanks @MokaStitcher
* chore: fix menu-ui-handlers.ts
* fix admin-ui-handler (types)
* extend test-coverage for admin-api
* remove outdated code
* skip some clowning-around-encounter tests if events are active
this is not a permanent solution
* Update src/system/game-data.ts
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
* Revert "skip some clowning-around-encounter tests if events are active"
This reverts commit a97dafe8b2
.
* mark `localServerUrl` and `apiUrl` as deprecated
in `utils.ts`
---------
Co-authored-by: NightKev <34855794+DayKev@users.noreply.github.com>
Co-authored-by: PigeonBar <56974298+PigeonBar@users.noreply.github.com>
51 lines
2.0 KiB
TypeScript
51 lines
2.0 KiB
TypeScript
import { pokerogueApi } from "#app/plugins/api/pokerogue-api";
|
|
import type { UserInfo } from "#app/@types/UserInfo";
|
|
import { bypassLogin } from "./battle-scene";
|
|
import * as Utils from "./utils";
|
|
|
|
export let loggedInUser: UserInfo | null = null;
|
|
// This is a random string that is used to identify the client session - unique per session (tab or window) so that the game will only save on the one that the server is expecting
|
|
export const clientSessionId = Utils.randomString(32);
|
|
|
|
export function initLoggedInUser(): void {
|
|
loggedInUser = { username: "Guest", lastSessionSlot: -1, discordId: "", googleId: "", hasAdminRole: false };
|
|
}
|
|
|
|
export function updateUserInfo(): Promise<[boolean, integer]> {
|
|
return new Promise<[boolean, integer]>(resolve => {
|
|
if (bypassLogin) {
|
|
loggedInUser = { username: "Guest", lastSessionSlot: -1, discordId: "", googleId: "", hasAdminRole: false };
|
|
let lastSessionSlot = -1;
|
|
for (let s = 0; s < 5; s++) {
|
|
if (localStorage.getItem(`sessionData${s ? s : ""}_${loggedInUser.username}`)) {
|
|
lastSessionSlot = s;
|
|
break;
|
|
}
|
|
}
|
|
loggedInUser.lastSessionSlot = lastSessionSlot;
|
|
// Migrate old data from before the username was appended
|
|
[ "data", "sessionData", "sessionData1", "sessionData2", "sessionData3", "sessionData4" ].map(d => {
|
|
const lsItem = localStorage.getItem(d);
|
|
if (lsItem && !!loggedInUser?.username) {
|
|
const lsUserItem = localStorage.getItem(`${d}_${loggedInUser.username}`);
|
|
if (lsUserItem) {
|
|
localStorage.setItem(`${d}_${loggedInUser.username}_bak`, lsUserItem);
|
|
}
|
|
localStorage.setItem(`${d}_${loggedInUser.username}`, lsItem);
|
|
localStorage.removeItem(d);
|
|
}
|
|
});
|
|
return resolve([ true, 200 ]);
|
|
}
|
|
pokerogueApi.account.getInfo().then(([ accountInfo, status ]) => {
|
|
if (!accountInfo) {
|
|
resolve([ false, status ]);
|
|
return;
|
|
} else {
|
|
loggedInUser = accountInfo;
|
|
resolve([ true, 200 ]);
|
|
}
|
|
});
|
|
});
|
|
}
|