import type { User, UsersPage } from '@admin/actions/users/types' import { usersCacheTags } from '@admin/actions/users/types' import db from '@admin/db' import { user } from '@admin/db/schema' import { cacheLife, cacheTag } from 'next/cache' export async function getCachedUsers(): Promise { 'use cache' cacheLife('max') cacheTag(usersCacheTags.all) try { const users = await db .select({ id: user.id, email: user.email, name: user.name, emailVerified: user.emailVerified, createdAt: user.createdAt, updatedAt: user.updatedAt, role: user.role }) .from(user) .orderBy(user.createdAt) const userData: User[] = users.map((u) => ({ id: u.id, email: u.email, name: u.name, emailVerified: u.emailVerified, createdAt: u.createdAt.toISOString(), updatedAt: u.updatedAt.toISOString(), role: u.role || 'member' })) return { users: userData, total: userData.length } } catch { return { users: [], total: 0 } } }