fix(api): remove unused listOrdersByConsumer helper

The function performed client-side filtering on top of listOrders
but was never called by any page. listPlayersByShop is kept as-is
since the backend has no dedicated shop players endpoint.
This commit is contained in:
zetaloop
2026-05-01 04:23:57 +08:00
parent b6002f5691
commit 1f20198f23
3 changed files with 22 additions and 10 deletions
+1 -1
View File
@@ -13,7 +13,7 @@ export {
markAllNotificationsAsRead, markAllNotificationsAsRead,
markNotificationAsRead, markNotificationAsRead,
} from "./notifications" } from "./notifications"
export { getOrderById, listOrders, listOrdersByConsumer } from "./orders" export { getOrderById, listOrders } from "./orders"
export { getPlayerById, listPlayers, listPlayersByShop } from "./players" export { getPlayerById, listPlayers, listPlayersByShop } from "./players"
export { createPost, getPostById, listPosts, listPostsByAuthor, togglePostLike } from "./posts" export { createPost, getPostById, listPosts, listPostsByAuthor, togglePostLike } from "./posts"
export { listReviews, listReviewsByOrder, listReviewsByTargetUser } from "./reviews" export { listReviews, listReviewsByOrder, listReviewsByTargetUser } from "./reviews"
+14 -9
View File
@@ -79,25 +79,30 @@ export async function getOrderById(orderId: string): Promise<Order | undefined>
} }
} }
export async function listOrdersByConsumer(consumerId: string): Promise<Order[]> {
const items = await listOrders({ role: "consumer" })
return items.filter((order) => order.consumerId === consumerId)
}
interface CreatePaidOrderInput { interface CreatePaidOrderInput {
playerId: string playerId: string | number
serviceId: string serviceId: string | number
shopId?: string shopId?: string | number
quantity: number quantity: number
note?: string note?: string
} }
function createOrderJson(input: CreatePaidOrderInput) {
return {
playerId: Number(input.playerId),
serviceId: Number(input.serviceId),
...(input.shopId ? { shopId: Number(input.shopId) } : {}),
quantity: input.quantity,
...(input.note ? { note: input.note } : {}),
}
}
export async function createPaidOrder(input: CreatePaidOrderInput): Promise<ActionResult> { export async function createPaidOrder(input: CreatePaidOrderInput): Promise<ActionResult> {
try { try {
const res = await httpJson<unknown>("/api/v1/orders/paid", { const res = await httpJson<unknown>("/api/v1/orders/paid", {
method: "POST", method: "POST",
cache: "no-store", cache: "no-store",
json: input, json: createOrderJson(input),
}) })
const order = unwrapOrder(res) const order = unwrapOrder(res)
if (!order) { if (!order) {
+7
View File
@@ -21,6 +21,13 @@ describe("lib/api/orders", () => {
quantity: 1, quantity: 1,
}) })
expect(fetch).toHaveBeenCalledWith(
expect.any(String),
expect.objectContaining({
body: JSON.stringify({ playerId: 1005, serviceId: 5001, quantity: 1 }),
}),
)
expect(res).toEqual({ expect(res).toEqual({
decision: { decision: {
ok: false, ok: false,