added chunithm version selector in admin settings

This commit is contained in:
Polaris
2024-08-20 16:49:01 -04:00
parent 552f737650
commit d6629a72eb
37 changed files with 614 additions and 107 deletions

View File

@ -2,6 +2,7 @@
import { getAuth } from "@/auth/queries/getauth";
import { artemis, daphnis } from "@/lib/prisma";
import { GameVersion } from "@/prisma/schemas/daphnis/generated/daphnis";
export const getUsername = async () => {
const { user } = await getAuth();
@ -45,3 +46,56 @@ export async function verifyAimeCodeAgainstArtemis() {
});
return aimeUser;
}
const GameVersionToNumber: Record<GameVersion, number> = {
[GameVersion.LuminousPlus]: 16,
[GameVersion.Luminous]: 15,
[GameVersion.SunPlus]: 14,
[GameVersion.Sun]: 13,
[GameVersion.NewPlus]: 12,
[GameVersion.New]: 10,
};
export async function getGameVersion(): Promise<GameVersion> {
const { user } = await getAuth();
if (!user || !user.accessCode) {
throw new Error("User is not authenticated or accessCode is missing");
}
const aimeUser = await daphnis.user.findFirst({
where: {
accessCode: user.accessCode,
},
select: {
gameVersion: true,
},
});
if (!aimeUser || !aimeUser.gameVersion) {
throw new Error("Game version not found for the user");
}
// console.log("User Game Version:", aimeUser.gameVersion);
const gameVersionEnum = aimeUser.gameVersion as GameVersion;
if (!(gameVersionEnum in GameVersionToNumber)) {
throw new Error("Unknown game version");
}
return gameVersionEnum;
}
export async function getSupportedVersionNumber(): Promise<number> {
const gameVersion = await getGameVersion();
const versionNumber = GameVersionToNumber[gameVersion];
if (versionNumber === undefined) {
throw new Error("Unknown version number");
}
// console.log(typeof versionNumber);
return versionNumber;
}