added chunithm version selector in admin settings
This commit is contained in:
parent
552f737650
commit
d6629a72eb
@ -1,10 +1,6 @@
|
|||||||
import ExtractData from "./extraction";
|
import ExtractData from "./extraction";
|
||||||
|
|
||||||
const FileExtractionPage = async () => {
|
const FileExtractionPage = async () => {
|
||||||
return (
|
return <ExtractData />;
|
||||||
<div className="flex min-h-screen w-full flex-col">
|
|
||||||
<ExtractData />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
export default FileExtractionPage;
|
export default FileExtractionPage;
|
||||||
|
@ -0,0 +1,68 @@
|
|||||||
|
"use server";
|
||||||
|
|
||||||
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
|
import { daphnis } from "@/lib/prisma";
|
||||||
|
import { GameVersion } from "@/prisma/schemas/daphnis/generated/daphnis";
|
||||||
|
|
||||||
|
export async function getCurrentGame() {
|
||||||
|
const { user } = await getAuth();
|
||||||
|
|
||||||
|
if (!user || !user.accessCode) {
|
||||||
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
|
}
|
||||||
|
|
||||||
|
const currentGameVersion = await daphnis.user.findMany({
|
||||||
|
where: {
|
||||||
|
UserId: user.UserId,
|
||||||
|
},
|
||||||
|
select: {
|
||||||
|
gameVersion: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return currentGameVersion;
|
||||||
|
}
|
||||||
|
export async function updatePlayerGameVersionChuni(gameVersion?: GameVersion) {
|
||||||
|
const { user } = await getAuth();
|
||||||
|
|
||||||
|
if (!user || !user.accessCode) {
|
||||||
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (gameVersion === undefined) {
|
||||||
|
throw new Error("gameVersion is required");
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const updatedUser = await daphnis.user.update({
|
||||||
|
where: {
|
||||||
|
UserId: user.UserId,
|
||||||
|
},
|
||||||
|
data: {
|
||||||
|
gameVersion,
|
||||||
|
},
|
||||||
|
select: {
|
||||||
|
gameVersion: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
return { gameVersion: updatedUser.gameVersion };
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Error updating game version:", error);
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
export async function getAllGameVersionsChuni() {
|
||||||
|
const { user } = await getAuth();
|
||||||
|
|
||||||
|
if (!user || !user.accessCode) {
|
||||||
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
|
}
|
||||||
|
|
||||||
|
const AllGameVersions = await daphnis.user.findMany({
|
||||||
|
select: {
|
||||||
|
gameVersion: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
return AllGameVersions;
|
||||||
|
}
|
@ -0,0 +1,162 @@
|
|||||||
|
"use client";
|
||||||
|
|
||||||
|
import React, { FC, useState } from "react";
|
||||||
|
import { Check, ChevronsUpDown } from "lucide-react";
|
||||||
|
import { cn } from "@/lib/utils";
|
||||||
|
import { Button } from "@/components/ui/button";
|
||||||
|
import {
|
||||||
|
Command,
|
||||||
|
CommandEmpty,
|
||||||
|
CommandGroup,
|
||||||
|
CommandItem,
|
||||||
|
CommandList,
|
||||||
|
} from "@/components/ui/command";
|
||||||
|
import {
|
||||||
|
Form,
|
||||||
|
FormControl,
|
||||||
|
FormField,
|
||||||
|
FormItem,
|
||||||
|
FormLabel,
|
||||||
|
FormMessage,
|
||||||
|
} from "@/components/ui/form";
|
||||||
|
import { toast } from "@/components/ui/use-toast";
|
||||||
|
import { z } from "zod";
|
||||||
|
import { useForm } from "react-hook-form";
|
||||||
|
import { zodResolver } from "@hookform/resolvers/zod";
|
||||||
|
import { GameVersion, User } from "@/prisma/schemas/daphnis/generated/daphnis";
|
||||||
|
import {
|
||||||
|
Popover,
|
||||||
|
PopoverContent,
|
||||||
|
PopoverTrigger,
|
||||||
|
} from "@/components/ui/popover";
|
||||||
|
import { updatePlayerGameVersionChuni } from "./actions";
|
||||||
|
|
||||||
|
type ChunithmGameVersionSelectionProps = {
|
||||||
|
chunithmGameVersionNumber: {
|
||||||
|
gameVersions: { gameVersion: GameVersion }[];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
export function ChunithmGameVersionSelection({
|
||||||
|
chunithmGameVersionNumber,
|
||||||
|
}: ChunithmGameVersionSelectionProps) {
|
||||||
|
const FormSchema = z.object({
|
||||||
|
mapIconId: z.string({
|
||||||
|
required_error: "Please select a Game Version.",
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
const form = useForm<z.infer<typeof FormSchema>>({
|
||||||
|
resolver: zodResolver(FormSchema),
|
||||||
|
});
|
||||||
|
|
||||||
|
const [selectedGameVersion, setSelectedGameVersion] = useState<
|
||||||
|
string | undefined
|
||||||
|
>(Object.values(GameVersion)[0]);
|
||||||
|
function onSubmit(data: z.infer<typeof FormSchema>) {
|
||||||
|
const newGameVersion = data.mapIconId ?? selectedGameVersion;
|
||||||
|
|
||||||
|
// console.log("Submitted Game Version:", newGameVersion);
|
||||||
|
|
||||||
|
updatePlayerGameVersionChuni(newGameVersion as GameVersion)
|
||||||
|
.then((result) => {
|
||||||
|
toast({
|
||||||
|
title: "Game version updated successfully!",
|
||||||
|
description: (
|
||||||
|
<pre className="mt-2 w-[340px] rounded-md bg-slate-950 p-4">
|
||||||
|
<code className="text-white">
|
||||||
|
{JSON.stringify(result, null, 2)}
|
||||||
|
</code>
|
||||||
|
</pre>
|
||||||
|
),
|
||||||
|
});
|
||||||
|
|
||||||
|
setSelectedGameVersion(newGameVersion);
|
||||||
|
|
||||||
|
form.reset({
|
||||||
|
mapIconId: undefined,
|
||||||
|
});
|
||||||
|
})
|
||||||
|
.catch((error) => {
|
||||||
|
toast({
|
||||||
|
title: "Error updating game version",
|
||||||
|
description: (
|
||||||
|
<pre className="mt-2 w-[340px] rounded-md bg-slate-950 p-4">
|
||||||
|
<code className="text-white">{error.message}</code>
|
||||||
|
</pre>
|
||||||
|
),
|
||||||
|
variant: "destructive",
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return (
|
||||||
|
<main className="flex flex-col items-center space-y-6 p-4">
|
||||||
|
<Form {...form}>
|
||||||
|
<form onSubmit={form.handleSubmit(onSubmit)} className="space-y-6">
|
||||||
|
<FormField
|
||||||
|
control={form.control}
|
||||||
|
name="mapIconId"
|
||||||
|
render={({ field }) => (
|
||||||
|
<FormItem className="flex flex-col">
|
||||||
|
<FormLabel className="pb-2">Chunithm</FormLabel>
|
||||||
|
<Popover>
|
||||||
|
<PopoverTrigger asChild>
|
||||||
|
<FormControl>
|
||||||
|
<Button
|
||||||
|
variant="outline"
|
||||||
|
role="combobox"
|
||||||
|
className={cn(
|
||||||
|
"w-[300px] justify-between",
|
||||||
|
!field.value && "text-muted-foreground",
|
||||||
|
)}
|
||||||
|
>
|
||||||
|
{field.value
|
||||||
|
? GameVersion[field.value as keyof typeof GameVersion]
|
||||||
|
: "Select Game Version"}
|
||||||
|
<ChevronsUpDown className="ml-2 h-4 w-4 shrink-0 opacity-50" />
|
||||||
|
</Button>
|
||||||
|
</FormControl>
|
||||||
|
</PopoverTrigger>
|
||||||
|
<PopoverContent className="w-[300px] p-0">
|
||||||
|
<Command>
|
||||||
|
<CommandList>
|
||||||
|
<CommandEmpty>No game version found.</CommandEmpty>
|
||||||
|
<CommandGroup>
|
||||||
|
{Object.values(GameVersion).map((version) => (
|
||||||
|
<CommandItem
|
||||||
|
value={version}
|
||||||
|
key={version}
|
||||||
|
onSelect={() => {
|
||||||
|
form.setValue("mapIconId", version);
|
||||||
|
setSelectedGameVersion(version);
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<Check
|
||||||
|
className={cn(
|
||||||
|
"mr-2 h-4 w-4",
|
||||||
|
version === field.value
|
||||||
|
? "opacity-100"
|
||||||
|
: "opacity-0",
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
{version}
|
||||||
|
</CommandItem>
|
||||||
|
))}
|
||||||
|
</CommandGroup>
|
||||||
|
</CommandList>
|
||||||
|
</Command>
|
||||||
|
</PopoverContent>
|
||||||
|
</Popover>
|
||||||
|
|
||||||
|
<FormMessage />
|
||||||
|
</FormItem>
|
||||||
|
)}
|
||||||
|
/>
|
||||||
|
|
||||||
|
<div className="flex justify-end">
|
||||||
|
<Button type="submit">Submit</Button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</Form>
|
||||||
|
</main>
|
||||||
|
);
|
||||||
|
}
|
@ -0,0 +1,28 @@
|
|||||||
|
"use server";
|
||||||
|
//https://github.com/vercel/next.js/discussions/63862
|
||||||
|
import React from "react";
|
||||||
|
import { Card, CardHeader, CardTitle } from "@/components/ui/card";
|
||||||
|
import { ChunithmGameVersionSelection } from "./gameSelection";
|
||||||
|
import { getAllGameVersionsChuni } from "./actions";
|
||||||
|
|
||||||
|
const getAllGamesChunithm = async () => {
|
||||||
|
const gameVersions = await getAllGameVersionsChuni();
|
||||||
|
return { gameVersions };
|
||||||
|
};
|
||||||
|
|
||||||
|
const Page = async () => {
|
||||||
|
const AllChunithmVersions = await getAllGamesChunithm();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<Card x-chunk="gameverion">
|
||||||
|
<CardHeader>
|
||||||
|
<CardTitle className="text-2xl">Update Game Versions</CardTitle>
|
||||||
|
</CardHeader>
|
||||||
|
<ChunithmGameVersionSelection
|
||||||
|
chunithmGameVersionNumber={AllChunithmVersions}
|
||||||
|
/>
|
||||||
|
</Card>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
export default Page;
|
@ -1,14 +1,6 @@
|
|||||||
import { getAuth } from "@/auth/queries/getauth";
|
import UnlockUser from "./unlock";
|
||||||
import AdminHome from "./home";
|
|
||||||
|
|
||||||
const ProtectedDashboardPage = async () => {
|
const FileExtractionPage = async () => {
|
||||||
const { user } = await getAuth();
|
return <UnlockUser />;
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
<AdminHome />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
|
export default FileExtractionPage;
|
||||||
export default ProtectedDashboardPage;
|
|
||||||
|
@ -4,7 +4,7 @@ import { Input } from "@/components/ui/input";
|
|||||||
import { Label } from "@radix-ui/react-dropdown-menu";
|
import { Label } from "@radix-ui/react-dropdown-menu";
|
||||||
import React from "react";
|
import React from "react";
|
||||||
|
|
||||||
const AdminHome = () => {
|
const UnlockUser = () => {
|
||||||
return (
|
return (
|
||||||
<Card x-chunk="aimecard">
|
<Card x-chunk="aimecard">
|
||||||
<CardHeader>
|
<CardHeader>
|
||||||
@ -31,4 +31,4 @@ const AdminHome = () => {
|
|||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
export default AdminHome;
|
export default UnlockUser;
|
@ -1,10 +1,6 @@
|
|||||||
import UnlockUser from "./unlock";
|
import UnlockUser from "./unlock";
|
||||||
|
|
||||||
const FileExtractionPage = async () => {
|
const FileExtractionPage = async () => {
|
||||||
return (
|
return <UnlockUser />;
|
||||||
<div className="flex min-h-screen w-full flex-col">
|
|
||||||
<UnlockUser />
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
};
|
};
|
||||||
export default FileExtractionPage;
|
export default FileExtractionPage;
|
||||||
|
@ -89,16 +89,19 @@ const Page = async () => {
|
|||||||
const HotChuniPlays = await getChuniHotPlays();
|
const HotChuniPlays = await getChuniHotPlays();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div className="p-4">
|
<div className="p-3">
|
||||||
<Tabs defaultValue="scores">
|
<Tabs defaultValue="scores">
|
||||||
<TabsList className="">
|
<TabsList className="">
|
||||||
<TabsTrigger value="scores">Scores</TabsTrigger>
|
<TabsTrigger value="scores">Scores</TabsTrigger>
|
||||||
<TabsTrigger value="customize">Customize</TabsTrigger>
|
<TabsTrigger value="customize">Customize</TabsTrigger>
|
||||||
<TabsTrigger value="TopPlays">Top Plays</TabsTrigger>
|
<TabsTrigger value="TopPlays">Top Plays</TabsTrigger>
|
||||||
<TabsTrigger value="HotPlays">Hot Plays</TabsTrigger>
|
<TabsTrigger value="HotPlays">Hot Plays</TabsTrigger>
|
||||||
<TabsTrigger value="Patcher">Patcher</TabsTrigger>
|
<TabsTrigger value="Settings">Settings</TabsTrigger>
|
||||||
|
<TabsTrigger value="Patcher" className="hidden md:block">
|
||||||
|
Patcher
|
||||||
|
</TabsTrigger>
|
||||||
</TabsList>
|
</TabsList>
|
||||||
<TabsContent className="pt-2" value="scores">
|
<TabsContent className="pt-1" value="scores">
|
||||||
<ChunithmScorePlaylog />
|
<ChunithmScorePlaylog />
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
<TabsContent value="customize">
|
<TabsContent value="customize">
|
||||||
@ -140,6 +143,9 @@ const Page = async () => {
|
|||||||
<TabsContent className="" value="Patcher">
|
<TabsContent className="" value="Patcher">
|
||||||
<Patcher />
|
<Patcher />
|
||||||
</TabsContent>
|
</TabsContent>
|
||||||
|
<TabsContent className="" value="Settings">
|
||||||
|
<Patcher />
|
||||||
|
</TabsContent>
|
||||||
</Tabs>
|
</Tabs>
|
||||||
</div>
|
</div>
|
||||||
);
|
);
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
import { cookies } from "next/headers";
|
|
||||||
import { cache } from "react";
|
import { cache } from "react";
|
||||||
|
|
||||||
import type { Session, User } from "lucia";
|
import type { Session, User } from "lucia";
|
||||||
import { lucia } from "@/lib/lucia";
|
import { lucia } from "@/lib/lucia";
|
||||||
|
import { cookies } from "next/dist/client/components/headers";
|
||||||
|
|
||||||
export const getAuth = cache(
|
export const getAuth = cache(
|
||||||
async (): Promise<
|
async (): Promise<
|
||||||
@ -24,7 +24,7 @@ export const getAuth = cache(
|
|||||||
cookies().set(
|
cookies().set(
|
||||||
sessionCookie.name,
|
sessionCookie.name,
|
||||||
sessionCookie.value,
|
sessionCookie.value,
|
||||||
sessionCookie.attributes
|
sessionCookie.attributes,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
if (!result.session) {
|
if (!result.session) {
|
||||||
@ -32,10 +32,10 @@ export const getAuth = cache(
|
|||||||
cookies().set(
|
cookies().set(
|
||||||
sessionCookie.name,
|
sessionCookie.name,
|
||||||
sessionCookie.value,
|
sessionCookie.value,
|
||||||
sessionCookie.attributes
|
sessionCookie.attributes,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
} catch {}
|
} catch {}
|
||||||
return result;
|
return result;
|
||||||
}
|
},
|
||||||
);
|
);
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import { getAuth } from "@/auth/queries/getauth";
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
import { supportedVersionNumber } from "@/lib/helpers";
|
import { getSupportedVersionNumber } from "@/lib/api";
|
||||||
import { artemis } from "@/lib/prisma";
|
import { artemis } from "@/lib/prisma";
|
||||||
|
|
||||||
export async function getCurrentAvatarParts() {
|
export async function getCurrentAvatarParts() {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
@ -36,6 +37,7 @@ export async function updateAvatarParts(
|
|||||||
avatarItem?: number,
|
avatarItem?: number,
|
||||||
) {
|
) {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
@ -69,6 +71,7 @@ export async function updateAvatarParts(
|
|||||||
|
|
||||||
export async function getAllAvatarParts(category: number) {
|
export async function getAllAvatarParts(category: number) {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
|
@ -34,11 +34,10 @@ import { toast } from "../../ui/use-toast";
|
|||||||
import { updateAvatarParts } from "./actions";
|
import { updateAvatarParts } from "./actions";
|
||||||
type chunithm_avatar = chuni_static_avatar;
|
type chunithm_avatar = chuni_static_avatar;
|
||||||
|
|
||||||
|
|
||||||
const getAvatarTextureSrc = (id: number | undefined) => {
|
const getAvatarTextureSrc = (id: number | undefined) => {
|
||||||
if (id === undefined) return "";
|
if (id === undefined) return "";
|
||||||
return `avatarAccessory/CHU_UI_Avatar_Tex_0${id}.png`;
|
return `avatarAccessory/CHU_UI_Avatar_Tex_0${id}.png`;
|
||||||
}
|
};
|
||||||
|
|
||||||
type AvatarSelectionProps = {
|
type AvatarSelectionProps = {
|
||||||
avatarHeadSelectionData: {
|
avatarHeadSelectionData: {
|
||||||
@ -116,18 +115,18 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
}, []);
|
}, []);
|
||||||
function onSubmit(data: z.infer<typeof FormSchema>) {
|
function onSubmit(data: z.infer<typeof FormSchema>) {
|
||||||
// Existing state
|
// Existing state
|
||||||
const unchangedHeadId = avatarHeadId;
|
const defaultHeadId = avatarHeadId;
|
||||||
const unchangedFaceId = avatarFaceId;
|
const defaultFaceId = avatarFaceId;
|
||||||
const unchangedBackId = avatarBackId;
|
const defaultBackId = avatarBackId;
|
||||||
const unchangedWearId = avatarWearId;
|
const defaultWearId = avatarWearId;
|
||||||
const unchangedItemId = avatarItemId;
|
const defaultItemId = avatarItemId;
|
||||||
|
|
||||||
// either change to the new body part id or fallback to the unchanged if nothing has changed
|
// either change to the new body part id or fallback to the default if nothing has changed
|
||||||
const newHeadId = data.AvatarHeadAccessory ?? unchangedHeadId;
|
const newHeadId = data.AvatarHeadAccessory ?? defaultHeadId;
|
||||||
const newFaceId = data.AvatarFaceAccessory ?? unchangedFaceId;
|
const newFaceId = data.AvatarFaceAccessory ?? defaultFaceId;
|
||||||
const newBackId = data.AvatarBackAccessory ?? unchangedBackId;
|
const newBackId = data.AvatarBackAccessory ?? defaultBackId;
|
||||||
const newWearId = data.AvatarWearAccessory ?? unchangedWearId;
|
const newWearId = data.AvatarWearAccessory ?? defaultWearId;
|
||||||
const newItemId = data.AvatarItemAccessory ?? unchangedItemId;
|
const newItemId = data.AvatarItemAccessory ?? defaultItemId;
|
||||||
|
|
||||||
updateAvatarParts(newHeadId, newFaceId, newBackId, newWearId, newItemId)
|
updateAvatarParts(newHeadId, newFaceId, newBackId, newWearId, newItemId)
|
||||||
.then(() => {
|
.then(() => {
|
||||||
@ -265,7 +264,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
name="AvatarHeadAccessory"
|
name="AvatarHeadAccessory"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="flex flex-col">
|
<FormItem className="flex flex-col">
|
||||||
<FormLabel>Avatar Head Item</FormLabel>
|
<FormLabel className="pb-2">Avatar Head Item</FormLabel>
|
||||||
<Popover>
|
<Popover>
|
||||||
<PopoverTrigger asChild>
|
<PopoverTrigger asChild>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
@ -330,7 +329,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
name="AvatarFaceAccessory"
|
name="AvatarFaceAccessory"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="flex flex-col">
|
<FormItem className="flex flex-col">
|
||||||
<FormLabel>Avatar Face Item</FormLabel>
|
<FormLabel className="pb-2">Avatar Face Item</FormLabel>
|
||||||
<Popover>
|
<Popover>
|
||||||
<PopoverTrigger asChild>
|
<PopoverTrigger asChild>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
@ -395,7 +394,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
name="AvatarItemAccessory"
|
name="AvatarItemAccessory"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="flex flex-col">
|
<FormItem className="flex flex-col">
|
||||||
<FormLabel>Avatar Hand Item</FormLabel>
|
<FormLabel className="pb-2">Avatar Hand Item</FormLabel>
|
||||||
<Popover>
|
<Popover>
|
||||||
<PopoverTrigger asChild>
|
<PopoverTrigger asChild>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
@ -460,7 +459,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
name="AvatarBackAccessory"
|
name="AvatarBackAccessory"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="flex flex-col">
|
<FormItem className="flex flex-col">
|
||||||
<FormLabel>Avatar Back Item</FormLabel>
|
<FormLabel className="pb-2">Avatar Back Item</FormLabel>
|
||||||
<Popover>
|
<Popover>
|
||||||
<PopoverTrigger asChild>
|
<PopoverTrigger asChild>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
@ -525,7 +524,7 @@ export const AvatarCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
name="AvatarWearAccessory"
|
name="AvatarWearAccessory"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="flex flex-col">
|
<FormItem className="flex flex-col">
|
||||||
<FormLabel>Avatar Clothing Item</FormLabel>
|
<FormLabel className="pb-2">Avatar Clothing Item</FormLabel>
|
||||||
<Popover>
|
<Popover>
|
||||||
<PopoverTrigger asChild>
|
<PopoverTrigger asChild>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import { getAuth } from "@/auth/queries/getauth";
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
import { supportedVersionNumber } from "@/lib/helpers";
|
import { getSupportedVersionNumber } from "@/lib/api";
|
||||||
import { artemis } from "@/lib/prisma";
|
import { artemis } from "@/lib/prisma";
|
||||||
|
|
||||||
export async function getCurrentMapIcon() {
|
export async function getCurrentMapIcon() {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
@ -25,6 +26,7 @@ export async function getCurrentMapIcon() {
|
|||||||
|
|
||||||
export async function updatePlayerMapIcon(mapIconId?: number) {
|
export async function updatePlayerMapIcon(mapIconId?: number) {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
|
@ -108,7 +108,7 @@ export const MapIconCustomization: FC<SystemVoiceSelectionProps> = ({
|
|||||||
mapIconId: {
|
mapIconId: {
|
||||||
src: mapIconId
|
src: mapIconId
|
||||||
? getTexture(
|
? getTexture(
|
||||||
form.watch("mapIconId"),
|
mapIconId, // Use mapIconId directly
|
||||||
`mapIcon/CHU_UI_MapIcon_${mapIconId.toString().padStart(8, "0")}.png`,
|
`mapIcon/CHU_UI_MapIcon_${mapIconId.toString().padStart(8, "0")}.png`,
|
||||||
)
|
)
|
||||||
: `systemVoiceThumbnails/CHU_UI_SystemVoice_Default.png`,
|
: `systemVoiceThumbnails/CHU_UI_SystemVoice_Default.png`,
|
||||||
@ -121,7 +121,11 @@ export const MapIconCustomization: FC<SystemVoiceSelectionProps> = ({
|
|||||||
<div className="">
|
<div className="">
|
||||||
{Object.entries(MapIconTextures).map(([key, { src }]) => (
|
{Object.entries(MapIconTextures).map(([key, { src }]) => (
|
||||||
<div>
|
<div>
|
||||||
<img className="w-[100px]" src={src} alt={""} />
|
<img
|
||||||
|
className="w-[100px]"
|
||||||
|
src={MapIconTextures.mapIconId.src}
|
||||||
|
alt={mapIconId ? `Map Icon ${mapIconId}` : "Default Map Icon"}
|
||||||
|
/>{" "}
|
||||||
</div>
|
</div>
|
||||||
))}
|
))}
|
||||||
</div>
|
</div>
|
||||||
@ -133,7 +137,7 @@ export const MapIconCustomization: FC<SystemVoiceSelectionProps> = ({
|
|||||||
name="mapIconId"
|
name="mapIconId"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="flex flex-col">
|
<FormItem className="flex flex-col">
|
||||||
<FormLabel>Select Map Icon</FormLabel>
|
<FormLabel className="pb-2">Select Map Icon</FormLabel>
|
||||||
<Popover>
|
<Popover>
|
||||||
<PopoverTrigger asChild>
|
<PopoverTrigger asChild>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import { getAuth } from "@/auth/queries/getauth";
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
import { supportedVersionNumber } from "@/lib/helpers";
|
import { getSupportedVersionNumber } from "@/lib/api";
|
||||||
import { artemis } from "@/lib/prisma";
|
import { artemis } from "@/lib/prisma";
|
||||||
|
|
||||||
export async function getCurrentNameplate() {
|
export async function getCurrentNameplate() {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
@ -25,6 +26,7 @@ export async function getCurrentNameplate() {
|
|||||||
|
|
||||||
export async function updatePlayerNamePlate(nameplateId?: number) {
|
export async function updatePlayerNamePlate(nameplateId?: number) {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
|
@ -77,8 +77,8 @@ export const NameplateCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
function onSubmit(data: z.infer<typeof FormSchema>) {
|
function onSubmit(data: z.infer<typeof FormSchema>) {
|
||||||
const unchangedNamePlateId = nameplateId;
|
const defaultNamePlateId = nameplateId;
|
||||||
const newNamePlateId = data.nameplateId ?? unchangedNamePlateId;
|
const newNamePlateId = data.nameplateId ?? defaultNamePlateId;
|
||||||
|
|
||||||
updatePlayerNamePlate(newNamePlateId).then(() => {
|
updatePlayerNamePlate(newNamePlateId).then(() => {
|
||||||
setNameplateId(newNamePlateId);
|
setNameplateId(newNamePlateId);
|
||||||
@ -136,7 +136,7 @@ export const NameplateCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
name="nameplateId"
|
name="nameplateId"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="flex flex-col">
|
<FormItem className="flex flex-col">
|
||||||
<FormLabel>Select Nameplate</FormLabel>
|
<FormLabel className="pb-2">Select Nameplate</FormLabel>
|
||||||
<Popover>
|
<Popover>
|
||||||
<PopoverTrigger asChild>
|
<PopoverTrigger asChild>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import { getAuth } from "@/auth/queries/getauth";
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
import { supportedVersionNumber } from "@/lib/helpers";
|
import { getSupportedVersionNumber } from "@/lib/api";
|
||||||
import { artemis } from "@/lib/prisma";
|
import { artemis } from "@/lib/prisma";
|
||||||
|
|
||||||
export async function getCurrentSystemVoice() {
|
export async function getCurrentSystemVoice() {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
@ -25,6 +26,7 @@ export async function getCurrentSystemVoice() {
|
|||||||
|
|
||||||
export async function updatePlayerSystemVoiceId(voiceId: number) {
|
export async function updatePlayerSystemVoiceId(voiceId: number) {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
@ -63,7 +65,7 @@ export async function updatePlayerSystemVoiceId(voiceId: number) {
|
|||||||
|
|
||||||
console.log(updatePlayerNameplate);
|
console.log(updatePlayerNameplate);
|
||||||
|
|
||||||
return updatePlayerNameplate;
|
return unlockedSystemVoices;
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
console.error("Error updating nameplate:", error);
|
console.error("Error updating nameplate:", error);
|
||||||
throw error;
|
throw error;
|
||||||
|
@ -143,7 +143,7 @@ export const SystemVoiceCustomization: FC<SystemVoiceSelectionProps> = ({
|
|||||||
name="PlayerSystemVoice"
|
name="PlayerSystemVoice"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="flex flex-col">
|
<FormItem className="flex flex-col">
|
||||||
<FormLabel>Select System Voice</FormLabel>
|
<FormLabel className="pb-2">Select System Voice</FormLabel>
|
||||||
<Popover>
|
<Popover>
|
||||||
<PopoverTrigger asChild>
|
<PopoverTrigger asChild>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
"use server";
|
"use server";
|
||||||
|
|
||||||
import { getAuth } from "@/auth/queries/getauth";
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
import { supportedVersionNumber } from "@/lib/helpers";
|
import { getSupportedVersionNumber } from "@/lib/api";
|
||||||
import { artemis } from "@/lib/prisma";
|
import { artemis } from "@/lib/prisma";
|
||||||
|
|
||||||
export async function getCurrentTrophies() {
|
export async function getCurrentTrophies() {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
@ -25,6 +26,7 @@ export async function getCurrentTrophies() {
|
|||||||
|
|
||||||
export async function updatePlayerTrophy(trophyId: number) {
|
export async function updatePlayerTrophy(trophyId: number) {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
|
@ -76,8 +76,8 @@ export const TrophyCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
}, []);
|
}, []);
|
||||||
|
|
||||||
function onSubmit(data: z.infer<typeof FormSchema>) {
|
function onSubmit(data: z.infer<typeof FormSchema>) {
|
||||||
const unchangedNamePlateId = trophyID;
|
const defaultNamePlateId = trophyID;
|
||||||
const newNamePlateId = data.trophies ?? unchangedNamePlateId;
|
const newNamePlateId = data.trophies ?? defaultNamePlateId;
|
||||||
|
|
||||||
updatePlayerTrophy(newNamePlateId).then(() => {
|
updatePlayerTrophy(newNamePlateId).then(() => {
|
||||||
setTrophyId(newNamePlateId);
|
setTrophyId(newNamePlateId);
|
||||||
@ -112,7 +112,7 @@ export const TrophyCustomization: FC<AvatarSelectionProps> = ({
|
|||||||
name="trophies"
|
name="trophies"
|
||||||
render={({ field }) => (
|
render={({ field }) => (
|
||||||
<FormItem className="flex flex-col">
|
<FormItem className="flex flex-col">
|
||||||
<FormLabel>Select Trophy</FormLabel>
|
<FormLabel className="pb-2">Select Trophy</FormLabel>
|
||||||
<Popover>
|
<Popover>
|
||||||
<PopoverTrigger asChild>
|
<PopoverTrigger asChild>
|
||||||
<FormControl>
|
<FormControl>
|
||||||
|
@ -7,6 +7,7 @@ const NAV_ITEMS = [
|
|||||||
{ href: "/admin/home", label: "Home" },
|
{ href: "/admin/home", label: "Home" },
|
||||||
{ href: "/admin/unlock", label: "Unlock User" },
|
{ href: "/admin/unlock", label: "Unlock User" },
|
||||||
{ href: "/admin/extraction", label: "Extract Game Files" },
|
{ href: "/admin/extraction", label: "Extract Game Files" },
|
||||||
|
{ href: "/admin/gameversions", label: "Edit Game Version" },
|
||||||
];
|
];
|
||||||
|
|
||||||
const AdminSubNavigation = () => {
|
const AdminSubNavigation = () => {
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
"use server";
|
"use server";
|
||||||
import { getAuth } from "@/auth/queries/getauth";
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
import { supportedVersionNumber } from "@/lib/helpers";
|
import { getSupportedVersionNumber } from "@/lib/api";
|
||||||
import { artemis } from "@/lib/prisma";
|
import { artemis } from "@/lib/prisma";
|
||||||
|
|
||||||
export async function getUserRatingBaseHotList() {
|
export async function getUserRatingBaseHotList() {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
|
@ -1,10 +1,11 @@
|
|||||||
"use server";
|
"use server";
|
||||||
import { getAuth } from "@/auth/queries/getauth";
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
import { supportedVersionNumber } from "@/lib/helpers";
|
import { getSupportedVersionNumber } from "@/lib/api";
|
||||||
import { artemis } from "@/lib/prisma";
|
import { artemis } from "@/lib/prisma";
|
||||||
|
|
||||||
export async function getUserRatingBaseList() {
|
export async function getUserRatingBaseList() {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
|
const supportedVersionNumber = await getSupportedVersionNumber();
|
||||||
|
|
||||||
if (!user || !user.accessCode) {
|
if (!user || !user.accessCode) {
|
||||||
throw new Error("User is not authenticated or accessCode is missing");
|
throw new Error("User is not authenticated or accessCode is missing");
|
||||||
|
9
global.d.ts
vendored
Normal file
9
global.d.ts
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
// global.d.ts
|
||||||
|
import { PrismaClient as DaphnisClient } from "@/prisma/schemas/daphnis/generated/daphnis";
|
||||||
|
import { PrismaClient as ArtemisClient } from "@/prisma/schemas/artemis/generated/artemis";
|
||||||
|
|
||||||
|
// adding types to global so primsa.ts doesnt freak out
|
||||||
|
declare global {
|
||||||
|
var daphnisClient: DaphnisClient | undefined;
|
||||||
|
var artemisClient: ArtemisClient | undefined;
|
||||||
|
}
|
54
lib/api.ts
54
lib/api.ts
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
import { getAuth } from "@/auth/queries/getauth";
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
import { artemis, daphnis } from "@/lib/prisma";
|
import { artemis, daphnis } from "@/lib/prisma";
|
||||||
|
import { GameVersion } from "@/prisma/schemas/daphnis/generated/daphnis";
|
||||||
|
|
||||||
export const getUsername = async () => {
|
export const getUsername = async () => {
|
||||||
const { user } = await getAuth();
|
const { user } = await getAuth();
|
||||||
@ -45,3 +46,56 @@ export async function verifyAimeCodeAgainstArtemis() {
|
|||||||
});
|
});
|
||||||
return aimeUser;
|
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;
|
||||||
|
}
|
||||||
|
@ -1,3 +1,9 @@
|
|||||||
|
import { getAuth } from "@/auth/queries/getauth";
|
||||||
|
import { daphnis } from "./prisma";
|
||||||
|
import { GameVersion } from "@/prisma/schemas/daphnis/generated/daphnis";
|
||||||
|
import { getGameVersion } from "./api";
|
||||||
|
import { LucideSuperscript } from "lucide-react";
|
||||||
|
|
||||||
export const getDifficultyClass = (level: number) => {
|
export const getDifficultyClass = (level: number) => {
|
||||||
switch (level) {
|
switch (level) {
|
||||||
case 0:
|
case 0:
|
||||||
@ -53,7 +59,3 @@ export const getGrade = (score: number) => {
|
|||||||
if (score < 500000) return "D";
|
if (score < 500000) return "D";
|
||||||
return "";
|
return "";
|
||||||
};
|
};
|
||||||
|
|
||||||
export const supportedVersionNumber = Number(
|
|
||||||
process.env.SUPPORTED_CHUNITHM_VERSION_NUMBER,
|
|
||||||
);
|
|
||||||
|
@ -1,20 +1,36 @@
|
|||||||
import { PrismaClient as daphnisClient } from "@/prisma/schemas/daphnis/generated/daphnis";
|
import { PrismaClient as DaphnisClient } from "@/prisma/schemas/daphnis/generated/daphnis";
|
||||||
import { PrismaClient as artemisClient } from "@/prisma/schemas/artemis/generated/artemis";
|
import { PrismaClient as ArtemisClient } from "@/prisma/schemas/artemis/generated/artemis";
|
||||||
|
|
||||||
const DaphnisSingleton = () => {
|
// Singleton pattern for Daphnis client
|
||||||
return new daphnisClient();
|
const DaphnisClientSingleton = () => {
|
||||||
|
if (process.env.NODE_ENV === "production") {
|
||||||
|
return new DaphnisClient();
|
||||||
|
}
|
||||||
|
|
||||||
|
// In development mode, reuse existing global instance if available
|
||||||
|
if (globalThis.daphnisClient) {
|
||||||
|
return globalThis.daphnisClient as DaphnisClient;
|
||||||
|
}
|
||||||
|
const client = new DaphnisClient();
|
||||||
|
globalThis.daphnisClient = client;
|
||||||
|
return client;
|
||||||
};
|
};
|
||||||
|
|
||||||
const aremisSingleton = () => {
|
// Singleton pattern for Artemis client
|
||||||
return new artemisClient();
|
const ArtemisClientSingleton = () => {
|
||||||
|
if (process.env.NODE_ENV === "production") {
|
||||||
|
return new ArtemisClient();
|
||||||
|
}
|
||||||
|
|
||||||
|
// In development mode, reuse existing global instance if available
|
||||||
|
if (globalThis.artemisClient) {
|
||||||
|
return globalThis.artemisClient as ArtemisClient;
|
||||||
|
}
|
||||||
|
const client = new ArtemisClient();
|
||||||
|
globalThis.artemisClient = client;
|
||||||
|
return client;
|
||||||
};
|
};
|
||||||
|
|
||||||
declare global {
|
// Exporting the singletons
|
||||||
var daphnis: undefined | ReturnType<typeof DaphnisSingleton>;
|
export const daphnis = DaphnisClientSingleton();
|
||||||
var artemis: undefined | ReturnType<typeof aremisSingleton>;
|
export const artemis = ArtemisClientSingleton();
|
||||||
}
|
|
||||||
|
|
||||||
export const daphnis = globalThis.daphnis ?? DaphnisSingleton();
|
|
||||||
export const artemis = globalThis.artemis ?? aremisSingleton();
|
|
||||||
|
|
||||||
if (process.env.NODE_ENV !== "production") globalThis.daphnis = daphnis;
|
|
||||||
|
@ -50,6 +50,7 @@
|
|||||||
"@tanstack/react-query": "^5.48.0",
|
"@tanstack/react-query": "^5.48.0",
|
||||||
"@tanstack/react-table": "^8.17.3",
|
"@tanstack/react-table": "^8.17.3",
|
||||||
"@types/bcryptjs": "^2.4.6",
|
"@types/bcryptjs": "^2.4.6",
|
||||||
|
"@types/encoding-japanese": "^2.2.1",
|
||||||
"@types/jsonwebtoken": "^9.0.6",
|
"@types/jsonwebtoken": "^9.0.6",
|
||||||
"@types/luxon": "^3.4.2",
|
"@types/luxon": "^3.4.2",
|
||||||
"bcryptjs": "^2.4.3",
|
"bcryptjs": "^2.4.3",
|
||||||
@ -58,7 +59,7 @@
|
|||||||
"cmdk": "^1.0.0",
|
"cmdk": "^1.0.0",
|
||||||
"date-fns": "^3.6.0",
|
"date-fns": "^3.6.0",
|
||||||
"embla-carousel-react": "^8.1.5",
|
"embla-carousel-react": "^8.1.5",
|
||||||
"framer-motion": "^11.2.11",
|
"encoding-japanese": "^2.2.0",
|
||||||
"geist": "^1.3.0",
|
"geist": "^1.3.0",
|
||||||
"input-otp": "^1.2.4",
|
"input-otp": "^1.2.4",
|
||||||
"jsonwebtoken": "^9.0.2",
|
"jsonwebtoken": "^9.0.2",
|
||||||
|
File diff suppressed because one or more lines are too long
@ -124,6 +124,7 @@ exports.Prisma.UserScalarFieldEnum = {
|
|||||||
username: 'username',
|
username: 'username',
|
||||||
accessCode: 'accessCode',
|
accessCode: 'accessCode',
|
||||||
UserId: 'UserId',
|
UserId: 'UserId',
|
||||||
|
gameVersion: 'gameVersion',
|
||||||
hashedPassword: 'hashedPassword',
|
hashedPassword: 'hashedPassword',
|
||||||
email: 'email',
|
email: 'email',
|
||||||
role: 'role'
|
role: 'role'
|
||||||
@ -161,6 +162,15 @@ exports.Prisma.NullsOrder = {
|
|||||||
first: 'first',
|
first: 'first',
|
||||||
last: 'last'
|
last: 'last'
|
||||||
};
|
};
|
||||||
|
exports.GameVersion = exports.$Enums.GameVersion = {
|
||||||
|
LuminousPlus: 'LuminousPlus',
|
||||||
|
Luminous: 'Luminous',
|
||||||
|
SunPlus: 'SunPlus',
|
||||||
|
Sun: 'Sun',
|
||||||
|
NewPlus: 'NewPlus',
|
||||||
|
New: 'New'
|
||||||
|
};
|
||||||
|
|
||||||
exports.UserRole = exports.$Enums.UserRole = {
|
exports.UserRole = exports.$Enums.UserRole = {
|
||||||
ADMIN: 'ADMIN',
|
ADMIN: 'ADMIN',
|
||||||
USER: 'USER'
|
USER: 'USER'
|
||||||
|
102
prisma/schemas/daphnis/generated/daphnis/index.d.ts
vendored
102
prisma/schemas/daphnis/generated/daphnis/index.d.ts
vendored
@ -38,7 +38,19 @@ export type Session = $Result.DefaultSelection<Prisma.$SessionPayload>
|
|||||||
* Enums
|
* Enums
|
||||||
*/
|
*/
|
||||||
export namespace $Enums {
|
export namespace $Enums {
|
||||||
export const UserRole: {
|
export const GameVersion: {
|
||||||
|
LuminousPlus: 'LuminousPlus',
|
||||||
|
Luminous: 'Luminous',
|
||||||
|
SunPlus: 'SunPlus',
|
||||||
|
Sun: 'Sun',
|
||||||
|
NewPlus: 'NewPlus',
|
||||||
|
New: 'New'
|
||||||
|
};
|
||||||
|
|
||||||
|
export type GameVersion = (typeof GameVersion)[keyof typeof GameVersion]
|
||||||
|
|
||||||
|
|
||||||
|
export const UserRole: {
|
||||||
ADMIN: 'ADMIN',
|
ADMIN: 'ADMIN',
|
||||||
USER: 'USER'
|
USER: 'USER'
|
||||||
};
|
};
|
||||||
@ -47,6 +59,10 @@ export type UserRole = (typeof UserRole)[keyof typeof UserRole]
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type GameVersion = $Enums.GameVersion
|
||||||
|
|
||||||
|
export const GameVersion: typeof $Enums.GameVersion
|
||||||
|
|
||||||
export type UserRole = $Enums.UserRole
|
export type UserRole = $Enums.UserRole
|
||||||
|
|
||||||
export const UserRole: typeof $Enums.UserRole
|
export const UserRole: typeof $Enums.UserRole
|
||||||
@ -1210,6 +1226,7 @@ export namespace Prisma {
|
|||||||
username: string | null
|
username: string | null
|
||||||
accessCode: string | null
|
accessCode: string | null
|
||||||
UserId: number | null
|
UserId: number | null
|
||||||
|
gameVersion: $Enums.GameVersion | null
|
||||||
hashedPassword: string | null
|
hashedPassword: string | null
|
||||||
email: string | null
|
email: string | null
|
||||||
role: $Enums.UserRole | null
|
role: $Enums.UserRole | null
|
||||||
@ -1220,6 +1237,7 @@ export namespace Prisma {
|
|||||||
username: string | null
|
username: string | null
|
||||||
accessCode: string | null
|
accessCode: string | null
|
||||||
UserId: number | null
|
UserId: number | null
|
||||||
|
gameVersion: $Enums.GameVersion | null
|
||||||
hashedPassword: string | null
|
hashedPassword: string | null
|
||||||
email: string | null
|
email: string | null
|
||||||
role: $Enums.UserRole | null
|
role: $Enums.UserRole | null
|
||||||
@ -1230,6 +1248,7 @@ export namespace Prisma {
|
|||||||
username: number
|
username: number
|
||||||
accessCode: number
|
accessCode: number
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion: number
|
||||||
hashedPassword: number
|
hashedPassword: number
|
||||||
email: number
|
email: number
|
||||||
role: number
|
role: number
|
||||||
@ -1250,6 +1269,7 @@ export namespace Prisma {
|
|||||||
username?: true
|
username?: true
|
||||||
accessCode?: true
|
accessCode?: true
|
||||||
UserId?: true
|
UserId?: true
|
||||||
|
gameVersion?: true
|
||||||
hashedPassword?: true
|
hashedPassword?: true
|
||||||
email?: true
|
email?: true
|
||||||
role?: true
|
role?: true
|
||||||
@ -1260,6 +1280,7 @@ export namespace Prisma {
|
|||||||
username?: true
|
username?: true
|
||||||
accessCode?: true
|
accessCode?: true
|
||||||
UserId?: true
|
UserId?: true
|
||||||
|
gameVersion?: true
|
||||||
hashedPassword?: true
|
hashedPassword?: true
|
||||||
email?: true
|
email?: true
|
||||||
role?: true
|
role?: true
|
||||||
@ -1270,6 +1291,7 @@ export namespace Prisma {
|
|||||||
username?: true
|
username?: true
|
||||||
accessCode?: true
|
accessCode?: true
|
||||||
UserId?: true
|
UserId?: true
|
||||||
|
gameVersion?: true
|
||||||
hashedPassword?: true
|
hashedPassword?: true
|
||||||
email?: true
|
email?: true
|
||||||
role?: true
|
role?: true
|
||||||
@ -1367,6 +1389,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role: $Enums.UserRole
|
role: $Enums.UserRole
|
||||||
@ -1396,6 +1419,7 @@ export namespace Prisma {
|
|||||||
username?: boolean
|
username?: boolean
|
||||||
accessCode?: boolean
|
accessCode?: boolean
|
||||||
UserId?: boolean
|
UserId?: boolean
|
||||||
|
gameVersion?: boolean
|
||||||
hashedPassword?: boolean
|
hashedPassword?: boolean
|
||||||
email?: boolean
|
email?: boolean
|
||||||
role?: boolean
|
role?: boolean
|
||||||
@ -1411,6 +1435,7 @@ export namespace Prisma {
|
|||||||
username?: boolean
|
username?: boolean
|
||||||
accessCode?: boolean
|
accessCode?: boolean
|
||||||
UserId?: boolean
|
UserId?: boolean
|
||||||
|
gameVersion?: boolean
|
||||||
hashedPassword?: boolean
|
hashedPassword?: boolean
|
||||||
email?: boolean
|
email?: boolean
|
||||||
role?: boolean
|
role?: boolean
|
||||||
@ -1435,6 +1460,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role: $Enums.UserRole
|
role: $Enums.UserRole
|
||||||
@ -1840,6 +1866,7 @@ export namespace Prisma {
|
|||||||
readonly username: FieldRef<"User", 'String'>
|
readonly username: FieldRef<"User", 'String'>
|
||||||
readonly accessCode: FieldRef<"User", 'String'>
|
readonly accessCode: FieldRef<"User", 'String'>
|
||||||
readonly UserId: FieldRef<"User", 'Int'>
|
readonly UserId: FieldRef<"User", 'Int'>
|
||||||
|
readonly gameVersion: FieldRef<"User", 'GameVersion'>
|
||||||
readonly hashedPassword: FieldRef<"User", 'String'>
|
readonly hashedPassword: FieldRef<"User", 'String'>
|
||||||
readonly email: FieldRef<"User", 'String'>
|
readonly email: FieldRef<"User", 'String'>
|
||||||
readonly role: FieldRef<"User", 'UserRole'>
|
readonly role: FieldRef<"User", 'UserRole'>
|
||||||
@ -4967,6 +4994,7 @@ export namespace Prisma {
|
|||||||
username: 'username',
|
username: 'username',
|
||||||
accessCode: 'accessCode',
|
accessCode: 'accessCode',
|
||||||
UserId: 'UserId',
|
UserId: 'UserId',
|
||||||
|
gameVersion: 'gameVersion',
|
||||||
hashedPassword: 'hashedPassword',
|
hashedPassword: 'hashedPassword',
|
||||||
email: 'email',
|
email: 'email',
|
||||||
role: 'role'
|
role: 'role'
|
||||||
@ -5042,6 +5070,13 @@ export namespace Prisma {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reference to a field of type 'GameVersion'
|
||||||
|
*/
|
||||||
|
export type EnumGameVersionFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'GameVersion'>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Reference to a field of type 'UserRole'
|
* Reference to a field of type 'UserRole'
|
||||||
*/
|
*/
|
||||||
@ -5074,6 +5109,7 @@ export namespace Prisma {
|
|||||||
username?: StringFilter<"User"> | string
|
username?: StringFilter<"User"> | string
|
||||||
accessCode?: StringFilter<"User"> | string
|
accessCode?: StringFilter<"User"> | string
|
||||||
UserId?: IntFilter<"User"> | number
|
UserId?: IntFilter<"User"> | number
|
||||||
|
gameVersion?: EnumGameVersionFilter<"User"> | $Enums.GameVersion
|
||||||
hashedPassword?: StringFilter<"User"> | string
|
hashedPassword?: StringFilter<"User"> | string
|
||||||
email?: StringFilter<"User"> | string
|
email?: StringFilter<"User"> | string
|
||||||
role?: EnumUserRoleFilter<"User"> | $Enums.UserRole
|
role?: EnumUserRoleFilter<"User"> | $Enums.UserRole
|
||||||
@ -5087,6 +5123,7 @@ export namespace Prisma {
|
|||||||
username?: SortOrder
|
username?: SortOrder
|
||||||
accessCode?: SortOrder
|
accessCode?: SortOrder
|
||||||
UserId?: SortOrder
|
UserId?: SortOrder
|
||||||
|
gameVersion?: SortOrder
|
||||||
hashedPassword?: SortOrder
|
hashedPassword?: SortOrder
|
||||||
email?: SortOrder
|
email?: SortOrder
|
||||||
role?: SortOrder
|
role?: SortOrder
|
||||||
@ -5104,6 +5141,7 @@ export namespace Prisma {
|
|||||||
AND?: UserWhereInput | UserWhereInput[]
|
AND?: UserWhereInput | UserWhereInput[]
|
||||||
OR?: UserWhereInput[]
|
OR?: UserWhereInput[]
|
||||||
NOT?: UserWhereInput | UserWhereInput[]
|
NOT?: UserWhereInput | UserWhereInput[]
|
||||||
|
gameVersion?: EnumGameVersionFilter<"User"> | $Enums.GameVersion
|
||||||
hashedPassword?: StringFilter<"User"> | string
|
hashedPassword?: StringFilter<"User"> | string
|
||||||
role?: EnumUserRoleFilter<"User"> | $Enums.UserRole
|
role?: EnumUserRoleFilter<"User"> | $Enums.UserRole
|
||||||
sessions?: SessionListRelationFilter
|
sessions?: SessionListRelationFilter
|
||||||
@ -5116,6 +5154,7 @@ export namespace Prisma {
|
|||||||
username?: SortOrder
|
username?: SortOrder
|
||||||
accessCode?: SortOrder
|
accessCode?: SortOrder
|
||||||
UserId?: SortOrder
|
UserId?: SortOrder
|
||||||
|
gameVersion?: SortOrder
|
||||||
hashedPassword?: SortOrder
|
hashedPassword?: SortOrder
|
||||||
email?: SortOrder
|
email?: SortOrder
|
||||||
role?: SortOrder
|
role?: SortOrder
|
||||||
@ -5134,6 +5173,7 @@ export namespace Prisma {
|
|||||||
username?: StringWithAggregatesFilter<"User"> | string
|
username?: StringWithAggregatesFilter<"User"> | string
|
||||||
accessCode?: StringWithAggregatesFilter<"User"> | string
|
accessCode?: StringWithAggregatesFilter<"User"> | string
|
||||||
UserId?: IntWithAggregatesFilter<"User"> | number
|
UserId?: IntWithAggregatesFilter<"User"> | number
|
||||||
|
gameVersion?: EnumGameVersionWithAggregatesFilter<"User"> | $Enums.GameVersion
|
||||||
hashedPassword?: StringWithAggregatesFilter<"User"> | string
|
hashedPassword?: StringWithAggregatesFilter<"User"> | string
|
||||||
email?: StringWithAggregatesFilter<"User"> | string
|
email?: StringWithAggregatesFilter<"User"> | string
|
||||||
role?: EnumUserRoleWithAggregatesFilter<"User"> | $Enums.UserRole
|
role?: EnumUserRoleWithAggregatesFilter<"User"> | $Enums.UserRole
|
||||||
@ -5306,6 +5346,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion?: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role?: $Enums.UserRole
|
role?: $Enums.UserRole
|
||||||
@ -5319,6 +5360,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion?: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role?: $Enums.UserRole
|
role?: $Enums.UserRole
|
||||||
@ -5332,6 +5374,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
@ -5345,6 +5388,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
@ -5358,6 +5402,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion?: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role?: $Enums.UserRole
|
role?: $Enums.UserRole
|
||||||
@ -5368,6 +5413,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
@ -5378,6 +5424,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
@ -5566,6 +5613,13 @@ export namespace Prisma {
|
|||||||
not?: NestedIntFilter<$PrismaModel> | number
|
not?: NestedIntFilter<$PrismaModel> | number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type EnumGameVersionFilter<$PrismaModel = never> = {
|
||||||
|
equals?: $Enums.GameVersion | EnumGameVersionFieldRefInput<$PrismaModel>
|
||||||
|
in?: $Enums.GameVersion[]
|
||||||
|
notIn?: $Enums.GameVersion[]
|
||||||
|
not?: NestedEnumGameVersionFilter<$PrismaModel> | $Enums.GameVersion
|
||||||
|
}
|
||||||
|
|
||||||
export type EnumUserRoleFilter<$PrismaModel = never> = {
|
export type EnumUserRoleFilter<$PrismaModel = never> = {
|
||||||
equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel>
|
equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel>
|
||||||
in?: $Enums.UserRole[]
|
in?: $Enums.UserRole[]
|
||||||
@ -5608,6 +5662,7 @@ export namespace Prisma {
|
|||||||
username?: SortOrder
|
username?: SortOrder
|
||||||
accessCode?: SortOrder
|
accessCode?: SortOrder
|
||||||
UserId?: SortOrder
|
UserId?: SortOrder
|
||||||
|
gameVersion?: SortOrder
|
||||||
hashedPassword?: SortOrder
|
hashedPassword?: SortOrder
|
||||||
email?: SortOrder
|
email?: SortOrder
|
||||||
role?: SortOrder
|
role?: SortOrder
|
||||||
@ -5622,6 +5677,7 @@ export namespace Prisma {
|
|||||||
username?: SortOrder
|
username?: SortOrder
|
||||||
accessCode?: SortOrder
|
accessCode?: SortOrder
|
||||||
UserId?: SortOrder
|
UserId?: SortOrder
|
||||||
|
gameVersion?: SortOrder
|
||||||
hashedPassword?: SortOrder
|
hashedPassword?: SortOrder
|
||||||
email?: SortOrder
|
email?: SortOrder
|
||||||
role?: SortOrder
|
role?: SortOrder
|
||||||
@ -5632,6 +5688,7 @@ export namespace Prisma {
|
|||||||
username?: SortOrder
|
username?: SortOrder
|
||||||
accessCode?: SortOrder
|
accessCode?: SortOrder
|
||||||
UserId?: SortOrder
|
UserId?: SortOrder
|
||||||
|
gameVersion?: SortOrder
|
||||||
hashedPassword?: SortOrder
|
hashedPassword?: SortOrder
|
||||||
email?: SortOrder
|
email?: SortOrder
|
||||||
role?: SortOrder
|
role?: SortOrder
|
||||||
@ -5674,6 +5731,16 @@ export namespace Prisma {
|
|||||||
_max?: NestedIntFilter<$PrismaModel>
|
_max?: NestedIntFilter<$PrismaModel>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type EnumGameVersionWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
|
equals?: $Enums.GameVersion | EnumGameVersionFieldRefInput<$PrismaModel>
|
||||||
|
in?: $Enums.GameVersion[]
|
||||||
|
notIn?: $Enums.GameVersion[]
|
||||||
|
not?: NestedEnumGameVersionWithAggregatesFilter<$PrismaModel> | $Enums.GameVersion
|
||||||
|
_count?: NestedIntFilter<$PrismaModel>
|
||||||
|
_min?: NestedEnumGameVersionFilter<$PrismaModel>
|
||||||
|
_max?: NestedEnumGameVersionFilter<$PrismaModel>
|
||||||
|
}
|
||||||
|
|
||||||
export type EnumUserRoleWithAggregatesFilter<$PrismaModel = never> = {
|
export type EnumUserRoleWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel>
|
equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel>
|
||||||
in?: $Enums.UserRole[]
|
in?: $Enums.UserRole[]
|
||||||
@ -5902,6 +5969,10 @@ export namespace Prisma {
|
|||||||
divide?: number
|
divide?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type EnumGameVersionFieldUpdateOperationsInput = {
|
||||||
|
set?: $Enums.GameVersion
|
||||||
|
}
|
||||||
|
|
||||||
export type EnumUserRoleFieldUpdateOperationsInput = {
|
export type EnumUserRoleFieldUpdateOperationsInput = {
|
||||||
set?: $Enums.UserRole
|
set?: $Enums.UserRole
|
||||||
}
|
}
|
||||||
@ -6073,6 +6144,13 @@ export namespace Prisma {
|
|||||||
not?: NestedIntFilter<$PrismaModel> | number
|
not?: NestedIntFilter<$PrismaModel> | number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type NestedEnumGameVersionFilter<$PrismaModel = never> = {
|
||||||
|
equals?: $Enums.GameVersion | EnumGameVersionFieldRefInput<$PrismaModel>
|
||||||
|
in?: $Enums.GameVersion[]
|
||||||
|
notIn?: $Enums.GameVersion[]
|
||||||
|
not?: NestedEnumGameVersionFilter<$PrismaModel> | $Enums.GameVersion
|
||||||
|
}
|
||||||
|
|
||||||
export type NestedEnumUserRoleFilter<$PrismaModel = never> = {
|
export type NestedEnumUserRoleFilter<$PrismaModel = never> = {
|
||||||
equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel>
|
equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel>
|
||||||
in?: $Enums.UserRole[]
|
in?: $Enums.UserRole[]
|
||||||
@ -6124,6 +6202,16 @@ export namespace Prisma {
|
|||||||
not?: NestedFloatFilter<$PrismaModel> | number
|
not?: NestedFloatFilter<$PrismaModel> | number
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type NestedEnumGameVersionWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
|
equals?: $Enums.GameVersion | EnumGameVersionFieldRefInput<$PrismaModel>
|
||||||
|
in?: $Enums.GameVersion[]
|
||||||
|
notIn?: $Enums.GameVersion[]
|
||||||
|
not?: NestedEnumGameVersionWithAggregatesFilter<$PrismaModel> | $Enums.GameVersion
|
||||||
|
_count?: NestedIntFilter<$PrismaModel>
|
||||||
|
_min?: NestedEnumGameVersionFilter<$PrismaModel>
|
||||||
|
_max?: NestedEnumGameVersionFilter<$PrismaModel>
|
||||||
|
}
|
||||||
|
|
||||||
export type NestedEnumUserRoleWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedEnumUserRoleWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel>
|
equals?: $Enums.UserRole | EnumUserRoleFieldRefInput<$PrismaModel>
|
||||||
in?: $Enums.UserRole[]
|
in?: $Enums.UserRole[]
|
||||||
@ -6377,6 +6465,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion?: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role?: $Enums.UserRole
|
role?: $Enums.UserRole
|
||||||
@ -6389,6 +6478,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion?: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role?: $Enums.UserRole
|
role?: $Enums.UserRole
|
||||||
@ -6417,6 +6507,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
@ -6429,6 +6520,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
@ -6441,6 +6533,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion?: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role?: $Enums.UserRole
|
role?: $Enums.UserRole
|
||||||
@ -6453,6 +6546,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion?: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role?: $Enums.UserRole
|
role?: $Enums.UserRole
|
||||||
@ -6481,6 +6575,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
@ -6493,6 +6588,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
@ -6505,6 +6601,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion?: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role?: $Enums.UserRole
|
role?: $Enums.UserRole
|
||||||
@ -6517,6 +6614,7 @@ export namespace Prisma {
|
|||||||
username: string
|
username: string
|
||||||
accessCode: string
|
accessCode: string
|
||||||
UserId: number
|
UserId: number
|
||||||
|
gameVersion?: $Enums.GameVersion
|
||||||
hashedPassword: string
|
hashedPassword: string
|
||||||
email: string
|
email: string
|
||||||
role?: $Enums.UserRole
|
role?: $Enums.UserRole
|
||||||
@ -6545,6 +6643,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
@ -6557,6 +6656,7 @@ export namespace Prisma {
|
|||||||
username?: StringFieldUpdateOperationsInput | string
|
username?: StringFieldUpdateOperationsInput | string
|
||||||
accessCode?: StringFieldUpdateOperationsInput | string
|
accessCode?: StringFieldUpdateOperationsInput | string
|
||||||
UserId?: IntFieldUpdateOperationsInput | number
|
UserId?: IntFieldUpdateOperationsInput | number
|
||||||
|
gameVersion?: EnumGameVersionFieldUpdateOperationsInput | $Enums.GameVersion
|
||||||
hashedPassword?: StringFieldUpdateOperationsInput | string
|
hashedPassword?: StringFieldUpdateOperationsInput | string
|
||||||
email?: StringFieldUpdateOperationsInput | string
|
email?: StringFieldUpdateOperationsInput | string
|
||||||
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
role?: EnumUserRoleFieldUpdateOperationsInput | $Enums.UserRole
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "prisma-client-f6d74f5cbba0fb342495169b34c2d2520dafdd4c2c3b6c0b176fbebe191af770",
|
"name": "prisma-client-6a081666c2516e1c2776ef81fca5cd408907b1d39b2c10beb50bbdfd20560ba8",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
"browser": "index-browser.js",
|
"browser": "index-browser.js",
|
||||||
|
@ -19,12 +19,22 @@ enum UserRole {
|
|||||||
USER
|
USER
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum GameVersion {
|
||||||
|
LuminousPlus
|
||||||
|
Luminous
|
||||||
|
SunPlus
|
||||||
|
Sun
|
||||||
|
NewPlus
|
||||||
|
New
|
||||||
|
}
|
||||||
|
|
||||||
model User {
|
model User {
|
||||||
id String @id
|
id String @id
|
||||||
sessions Session[]
|
sessions Session[]
|
||||||
username String @unique
|
username String @unique
|
||||||
accessCode String @unique
|
accessCode String @unique
|
||||||
UserId Int @unique
|
UserId Int @unique
|
||||||
|
gameVersion GameVersion @default(Luminous)
|
||||||
|
|
||||||
hashedPassword String
|
hashedPassword String
|
||||||
email String @unique
|
email String @unique
|
||||||
|
@ -124,6 +124,7 @@ exports.Prisma.UserScalarFieldEnum = {
|
|||||||
username: 'username',
|
username: 'username',
|
||||||
accessCode: 'accessCode',
|
accessCode: 'accessCode',
|
||||||
UserId: 'UserId',
|
UserId: 'UserId',
|
||||||
|
gameVersion: 'gameVersion',
|
||||||
hashedPassword: 'hashedPassword',
|
hashedPassword: 'hashedPassword',
|
||||||
email: 'email',
|
email: 'email',
|
||||||
role: 'role'
|
role: 'role'
|
||||||
@ -161,6 +162,15 @@ exports.Prisma.NullsOrder = {
|
|||||||
first: 'first',
|
first: 'first',
|
||||||
last: 'last'
|
last: 'last'
|
||||||
};
|
};
|
||||||
|
exports.GameVersion = exports.$Enums.GameVersion = {
|
||||||
|
LuminousPlus: 'LuminousPlus',
|
||||||
|
Luminous: 'Luminous',
|
||||||
|
SunPlus: 'SunPlus',
|
||||||
|
Sun: 'Sun',
|
||||||
|
NewPlus: 'NewPlus',
|
||||||
|
New: 'New'
|
||||||
|
};
|
||||||
|
|
||||||
exports.UserRole = exports.$Enums.UserRole = {
|
exports.UserRole = exports.$Enums.UserRole = {
|
||||||
ADMIN: 'ADMIN',
|
ADMIN: 'ADMIN',
|
||||||
USER: 'USER'
|
USER: 'USER'
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE `user` ADD COLUMN `gameVersion` ENUM('LuminousPlus', 'Luminous', 'SunPlus', 'Sun', 'NewPlus', 'New') NOT NULL DEFAULT 'Luminous';
|
@ -19,12 +19,22 @@ enum UserRole {
|
|||||||
USER
|
USER
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum GameVersion {
|
||||||
|
LuminousPlus
|
||||||
|
Luminous
|
||||||
|
SunPlus
|
||||||
|
Sun
|
||||||
|
NewPlus
|
||||||
|
New
|
||||||
|
}
|
||||||
|
|
||||||
model User {
|
model User {
|
||||||
id String @id
|
id String @id
|
||||||
sessions Session[]
|
sessions Session[]
|
||||||
username String @unique
|
username String @unique
|
||||||
accessCode String @unique
|
accessCode String @unique
|
||||||
UserId Int @unique
|
UserId Int @unique
|
||||||
|
gameVersion GameVersion @default(Luminous)
|
||||||
|
|
||||||
hashedPassword String
|
hashedPassword String
|
||||||
email String @unique
|
email String @unique
|
||||||
|
Loading…
Reference in New Issue
Block a user