@@ -1,4 +1,5 @@
|
||||
import { and, desc, eq, like, sql, asc } from "drizzle-orm";
|
||||
import { cache } from "react";
|
||||
// import { alias } from "drizzle-orm/mysql-core";
|
||||
import { db } from "@/server/db";
|
||||
import {
|
||||
@@ -731,15 +732,9 @@ export async function getLabelPublishedEntries(labelId: number, params: LabelCon
|
||||
|
||||
// ----- Lookups lists and category browsing -----
|
||||
|
||||
export async function listGenres() {
|
||||
return db.select().from(genretypes).orderBy(genretypes.name);
|
||||
}
|
||||
export async function listLanguages() {
|
||||
return db.select().from(languages).orderBy(languages.name);
|
||||
}
|
||||
export async function listMachinetypes() {
|
||||
return db.select().from(machinetypes).orderBy(machinetypes.name);
|
||||
}
|
||||
export const listGenres = cache(async () => db.select().from(genretypes).orderBy(genretypes.name));
|
||||
export const listLanguages = cache(async () => db.select().from(languages).orderBy(languages.name));
|
||||
export const listMachinetypes = cache(async () => db.select().from(machinetypes).orderBy(machinetypes.name));
|
||||
|
||||
// Note: ZXDB structure in this project does not include a `releasetypes` table.
|
||||
// Do not attempt to query it here.
|
||||
@@ -1546,35 +1541,22 @@ export async function getReleaseDetail(entryId: number, releaseSeq: number): Pro
|
||||
}
|
||||
|
||||
// ----- Download/lookups simple lists -----
|
||||
export async function listFiletypes() {
|
||||
return db.select().from(filetypes).orderBy(filetypes.name);
|
||||
}
|
||||
export async function listSchemetypes() {
|
||||
return db.select().from(schemetypes).orderBy(schemetypes.name);
|
||||
}
|
||||
export async function listSourcetypes() {
|
||||
return db.select().from(sourcetypes).orderBy(sourcetypes.name);
|
||||
}
|
||||
export async function listCasetypes() {
|
||||
return db.select().from(casetypes).orderBy(casetypes.name);
|
||||
}
|
||||
export const listFiletypes = cache(async () => db.select().from(filetypes).orderBy(filetypes.name));
|
||||
export const listSchemetypes = cache(async () => db.select().from(schemetypes).orderBy(schemetypes.name));
|
||||
export const listSourcetypes = cache(async () => db.select().from(sourcetypes).orderBy(sourcetypes.name));
|
||||
export const listCasetypes = cache(async () => db.select().from(casetypes).orderBy(casetypes.name));
|
||||
|
||||
// Newly exposed lookups
|
||||
export async function listAvailabletypes() {
|
||||
return db.select().from(availabletypes).orderBy(availabletypes.name);
|
||||
}
|
||||
export const listAvailabletypes = cache(async () => db.select().from(availabletypes).orderBy(availabletypes.name));
|
||||
|
||||
export async function listCurrencies() {
|
||||
// Preserve full fields for UI needs
|
||||
return db
|
||||
export const listCurrencies = cache(async () =>
|
||||
db
|
||||
.select({ id: currencies.id, name: currencies.name, symbol: currencies.symbol, prefix: currencies.prefix })
|
||||
.from(currencies)
|
||||
.orderBy(currencies.name);
|
||||
}
|
||||
.orderBy(currencies.name)
|
||||
);
|
||||
|
||||
export async function listRoletypes() {
|
||||
return db.select().from(roletypes).orderBy(roletypes.name);
|
||||
}
|
||||
export const listRoletypes = cache(async () => db.select().from(roletypes).orderBy(roletypes.name));
|
||||
|
||||
export async function listMagazines(params: { q?: string; page?: number; pageSize?: number }): Promise<PagedResult<MagazineListItem>> {
|
||||
const q = (params.q ?? "").trim();
|
||||
|
||||
Reference in New Issue
Block a user