From a7eb7d5037ce7e07a8108d21fa660a20cb6b32c2 Mon Sep 17 00:00:00 2001 From: Thanu Poptiphueng Date: Mon, 27 May 2024 10:42:43 +0700 Subject: [PATCH] show phone number in api --- src/adminRoute.ts | 76 +++++++++++++++++++++++++++-------------------- 1 file changed, 44 insertions(+), 32 deletions(-) diff --git a/src/adminRoute.ts b/src/adminRoute.ts index 5e2c555..7d663cc 100644 --- a/src/adminRoute.ts +++ b/src/adminRoute.ts @@ -25,38 +25,50 @@ export const adminRoute = router({ }); return summary; }), - totalUserDeep: publicProcedure.query(async () => { - const users = await db - .select({ - zone: user.zone, - cid: user.cid, - firstName: user.firstName, - lastName: user.lastName, - }) - .from(user) - .execute(); - const zones = await db.query.zone - .findMany({ with: { province: true } }) - .execute(); - zones.sort((a, b) => a.province.id - b.province.id); - let rs = []; - for (const zone of zones) { - const zoneUser = users.filter((u) => u.zone == zone.id); - if (zoneUser.length == 0) continue; - const total = zoneUser.length; - const userDescription = zoneUser.reduce( - (acc, n) => acc + `${n.firstName} ${n.lastName}: ${n.cid}\n`, - "", - ); - rs.push({ - province: zone.province.name, - zone: zone.name, - total, - users: userDescription, - }); - } - return rs; - }), + totalUserDeep: publicProcedure + .input(z.object({ code: z.string().optional() })) + .query(async ({ input }) => { + const users = await db + .select({ + zone: user.zone, + cid: user.cid, + firstName: user.firstName, + lastName: user.lastName, + phone: user.phone, + }) + .from(user) + .execute(); + const zones = await db.query.zone + .findMany({ with: { province: true } }) + .execute(); + zones.sort((a, b) => a.province.id - b.province.id); + let rs = []; + for (const zone of zones) { + const zoneUser = users.filter((u) => u.zone == zone.id); + if (zoneUser.length == 0) continue; + const total = zoneUser.length; + let userDescription: string; + if (input.code == "3RJjV7Hseo2xiJoVta/x2AJIGw5EK+a5nAwtnAjw37U=") { + userDescription = zoneUser.reduce( + (acc, n) => + acc + `${n.firstName} ${n.lastName}: ${n.cid}|${n.phone}\n`, + "", + ); + } else { + userDescription = zoneUser.reduce( + (acc, n) => acc + `${n.firstName} ${n.lastName}: ${n.cid}\n`, + "", + ); + } + rs.push({ + province: zone.province.name, + zone: zone.name, + total, + users: userDescription, + }); + } + return rs; + }), removeUser: publicProcedure .input(z.object({ cid: z.string(), key: z.string() }))