Fix client bundle pulling Redis/Prisma via habbo gamedata hotel.
Local Build and Deploy / deploy (push) Successful in 54s
Local Build and Deploy / deploy (push) Successful in 54s
Keep hotel list helpers client-safe; load CMS setting only from a server module. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
1 parent
d1baaf798a
commit
785c1b6976
6 files changed
+25
-13
No files matched your search
@@ -1,7 +1,7 @@
|
||||
import { withAdmin } from "@/lib/api-handler";
|
||||
import { apiOk } from "@/lib/api-response";
|
||||
import { getHabboGamedataHotel } from "@/lib/habbo-gamedata-hotel";
|
||||
import { PERMS } from "@/lib/permissions";
|
||||
import { getHabboGamedataHotel } from "@/lib/services/habbo-gamedata-hotel";
|
||||
import { batchLookupByClassnames } from "@/lib/services/habbofurni";
|
||||
|
||||
export const GET = withAdmin(
|
||||
|
||||
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* Client-safe Habbo gamedata hotel helpers (no Node/DB imports).
|
||||
* Server-only reader: `@/lib/services/habbo-gamedata-hotel`.
|
||||
*/
|
||||
|
||||
/** Official Habbo hotel TLDs used for gamedata (furnidata / external texts). */
|
||||
export const HABBO_GAMEDATA_HOTELS = [
|
||||
{ value: "it", label: "Italy (habbo.it)" },
|
||||
@@ -46,12 +51,3 @@ export function habboExternalTextsUrl(hotel: string): string {
|
||||
const h = normalizeHabboGamedataHotel(hotel);
|
||||
return `https://www.habbo.${h}/gamedata/external_flash_texts/1`;
|
||||
}
|
||||
|
||||
export async function getHabboGamedataHotel(): Promise<HabboGamedataHotel> {
|
||||
const { siteSettings } = await import("@/lib/services/site-settings");
|
||||
const raw = await siteSettings.get(
|
||||
HABBO_GAMEDATA_HOTEL_SETTING_KEY,
|
||||
DEFAULT_HABBO_GAMEDATA_HOTEL,
|
||||
);
|
||||
return normalizeHabboGamedataHotel(raw);
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
import { promises as fs } from "node:fs";
|
||||
import { Prisma } from "@/generated/prisma/client";
|
||||
import { getHabboGamedataHotel } from "@/lib/habbo-gamedata-hotel";
|
||||
import { prisma } from "@/lib/prisma";
|
||||
import { getFurnitureDataPath } from "@/lib/services/furni-data";
|
||||
import { getHabboGamedataHotel } from "@/lib/services/habbo-gamedata-hotel";
|
||||
|
||||
// Cache FurnitureData.json in memory with TTL to avoid repeated disk I/O
|
||||
let furniDataCache: {
|
||||
|
||||
@@ -7,10 +7,10 @@ export type { HabboItFurniEntry } from "@/types/furni";
|
||||
|
||||
import type { HabboItFurniEntry } from "@/types/furni";
|
||||
import {
|
||||
getHabboGamedataHotel,
|
||||
habboFurnidataUrl,
|
||||
type HabboGamedataHotel,
|
||||
} from "@/lib/habbo-gamedata-hotel";
|
||||
import { getHabboGamedataHotel } from "@/lib/services/habbo-gamedata-hotel";
|
||||
|
||||
const CACHE_TTL = 30 * 60 * 1000; // 30 minutes
|
||||
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import {
|
||||
DEFAULT_HABBO_GAMEDATA_HOTEL,
|
||||
HABBO_GAMEDATA_HOTEL_SETTING_KEY,
|
||||
type HabboGamedataHotel,
|
||||
normalizeHabboGamedataHotel,
|
||||
} from "@/lib/habbo-gamedata-hotel";
|
||||
import { siteSettings } from "@/lib/services/site-settings";
|
||||
|
||||
/** Read configured Habbo hotel TLD from CMS settings (server-only). */
|
||||
export async function getHabboGamedataHotel(): Promise<HabboGamedataHotel> {
|
||||
const raw = await siteSettings.get(
|
||||
HABBO_GAMEDATA_HOTEL_SETTING_KEY,
|
||||
DEFAULT_HABBO_GAMEDATA_HOTEL,
|
||||
);
|
||||
return normalizeHabboGamedataHotel(raw);
|
||||
}
|
||||
@@ -9,10 +9,10 @@ export type { HabboAssetBadge } from "@/types/furni";
|
||||
|
||||
import type { HabboAssetBadge } from "@/types/furni";
|
||||
import {
|
||||
getHabboGamedataHotel,
|
||||
habboExternalTextsUrl,
|
||||
type HabboGamedataHotel,
|
||||
} from "@/lib/habbo-gamedata-hotel";
|
||||
import { getHabboGamedataHotel } from "@/lib/services/habbo-gamedata-hotel";
|
||||
|
||||
const BADGE_IMAGE_BASE = "https://images.habbo.com/c_images/album1584";
|
||||
const CACHE_TTL = 30 * 60 * 1000; // 30 minutes
|
||||
|
||||
Reference in new issue
Block a user