daphnis/components/(customization)/systemvoicecustomization/actions.ts
2024-08-01 21:42:14 -04:00

80 lines
1.8 KiB
TypeScript

"use server";
import { getAuth } from "@/auth/queries/getauth";
import { supportedVersionNumber } from "@/lib/helpers";
import { artemis } from "@/lib/prisma";
export async function getCurrentSystemVoice() {
const { user } = await getAuth();
if (!user || !user.accessCode) {
throw new Error("User is not authenticated or accessCode is missing");
}
const currentSystemVoice = await artemis.chuni_profile_data.findMany({
where: {
user: user.UserId,
version: supportedVersionNumber,
},
select: {
voiceId: true,
},
});
return currentSystemVoice;
}
export async function updatePlayerSystemVoiceId(voiceId: number) {
const { user } = await getAuth();
if (!user || !user.accessCode) {
throw new Error("User is not authenticated or accessCode is missing");
}
if (voiceId === undefined) {
throw new Error("nameplateId is required");
}
try {
const updatePlayerNameplate = await artemis.chuni_profile_data.update({
where: {
user_version: {
user: user.UserId,
version: supportedVersionNumber,
},
},
data: {
voiceId,
},
});
console.log(updatePlayerNameplate);
return updatePlayerNameplate;
} catch (error) {
console.error("Error updating nameplate:", error);
throw error;
}
}
export async function getSystemVoices() {
const { user } = await getAuth();
if (!user || !user.accessCode) {
throw new Error("User is not authenticated or accessCode is missing");
}
const AllSystemVoices =
await artemis.cozynet_chuni_static_systemvoice.findMany({
select: {
id: true,
str: true,
sortName: true,
category: true,
imagePath: true,
rareType: true,
netOpenName: true,
},
});
return AllSystemVoices;
}