77 lines
1.7 KiB
TypeScript
77 lines
1.7 KiB
TypeScript
"use server";
|
|
|
|
import { getAuth } from "@/auth/queries/getauth";
|
|
import { supportedVersionNumber } from "@/lib/helpers";
|
|
import { artemis } from "@/lib/prisma";
|
|
|
|
export async function getCurrentMapIcon() {
|
|
const { user } = await getAuth();
|
|
|
|
if (!user || !user.accessCode) {
|
|
throw new Error("User is not authenticated or accessCode is missing");
|
|
}
|
|
|
|
const currentMapIcon = await artemis.chuni_profile_data.findMany({
|
|
where: {
|
|
user: user.UserId,
|
|
version: supportedVersionNumber,
|
|
},
|
|
select: {
|
|
mapIconId: true,
|
|
},
|
|
});
|
|
return currentMapIcon;
|
|
}
|
|
|
|
export async function updatePlayerMapIcon(mapIconId?: number) {
|
|
const { user } = await getAuth();
|
|
|
|
if (!user || !user.accessCode) {
|
|
throw new Error("User is not authenticated or accessCode is missing");
|
|
}
|
|
|
|
if (mapIconId === undefined) {
|
|
throw new Error("nameplateId is required");
|
|
}
|
|
|
|
try {
|
|
const updatePlayerMapIconId = await artemis.chuni_profile_data.update({
|
|
where: {
|
|
user_version: {
|
|
user: user.UserId,
|
|
version: supportedVersionNumber,
|
|
},
|
|
},
|
|
data: {
|
|
mapIconId,
|
|
},
|
|
});
|
|
|
|
return updatePlayerMapIconId;
|
|
} catch (error) {
|
|
console.error("Error updating nameplate:", error);
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function getMapIcons() {
|
|
const { user } = await getAuth();
|
|
|
|
if (!user || !user.accessCode) {
|
|
throw new Error("User is not authenticated or accessCode is missing");
|
|
}
|
|
|
|
const AllMapIcons = await artemis.cozynet_chuni_static_mapicon.findMany({
|
|
select: {
|
|
id: true,
|
|
str: true,
|
|
sortName: true,
|
|
category: true,
|
|
imagePath: true,
|
|
rareType: true,
|
|
netOpenName: true,
|
|
},
|
|
});
|
|
return AllMapIcons;
|
|
}
|