Rebuild atomcms-next foundation on Prisma (align to habbo-next reference)
Replace the superseded Drizzle monorepo scaffold with a single-app Prisma 7 data layer, mirroring the proven habbo-next approach to the shared Arcturus emulator DB (introspect/conform only, idempotent SQL migrations via a custom runner; never migrate-diff). - prisma/schema.prisma: User, UsersCurrency (composite PK), Ban, WebsiteSetting mapped to AtomCMS's default.sql columns; client generated to src/generated/prisma - src/lib/prisma.ts: PrismaMariaDb adapter singleton; src/env.ts zod env - src/lib/services: siteSettings (cached setting() equivalent) + CurrencyType enum - prisma/migrations + scripts/apply-migrations.ts: idempotent CMS-table runner Verified: prisma generate OK, tsc --noEmit exit 0, vitest 6/6 pass.
This commit is contained in:
1 parent
7bd4f2b28e
commit
b5bc7f6daf
44 files changed
+1279
-511
No files matched your search
@@ -0,0 +1,18 @@
|
||||
// Numeric values are dictated by the Arcturus emulator and MUST NOT change.
|
||||
export enum CurrencyType {
|
||||
Credits = -1,
|
||||
Duckets = 0,
|
||||
Diamonds = 5,
|
||||
Points = 101,
|
||||
}
|
||||
|
||||
const LABELS: Record<CurrencyType, string> = {
|
||||
[CurrencyType.Credits]: "Credits",
|
||||
[CurrencyType.Duckets]: "Duckets",
|
||||
[CurrencyType.Diamonds]: "Diamonds",
|
||||
[CurrencyType.Points]: "Points",
|
||||
};
|
||||
|
||||
export function currencyLabel(type: CurrencyType): string {
|
||||
return LABELS[type];
|
||||
}
|
||||
Reference in new issue
Block a user