v0.1.43 - 플래너 라벨과 가이드 동작 정리
This commit is contained in:
@@ -14,10 +14,10 @@ const envSchema = z.object({
|
||||
CORS_ORIGIN: z.string().default('http://localhost:5173'),
|
||||
SESSION_TTL_DAYS: z.coerce.number().default(30),
|
||||
APP_BASE_URL: z.string().default('http://localhost:5173'),
|
||||
ADMIN_ACCOUNT_ID: z.string().default('planner-admin'),
|
||||
ADMIN_ACCOUNT_PASSWORD: z.string().default('wps!vmffosj180204'),
|
||||
ADMIN_ACCOUNT_EMAIL: z.string().default('planner-admin@planner.local'),
|
||||
ADMIN_ACCOUNT_NICKNAME: z.string().default('Planner Admin'),
|
||||
ADMIN_ACCOUNT_ID: z.string().min(1),
|
||||
ADMIN_ACCOUNT_PASSWORD: z.string().min(12),
|
||||
ADMIN_ACCOUNT_EMAIL: z.string().email(),
|
||||
ADMIN_ACCOUNT_NICKNAME: z.string().min(1),
|
||||
})
|
||||
|
||||
export const env = envSchema.parse(process.env)
|
||||
|
||||
@@ -33,11 +33,11 @@ export async function registerAdminRoutes(app) {
|
||||
|
||||
const [summary] = await db
|
||||
.select({
|
||||
totalUsers: sql<number>`count(*)::int`,
|
||||
totalAdmins: sql<number>`count(*) filter (where ${users.role} = 'admin')::int`,
|
||||
verifiedUsers: sql<number>`count(*) filter (where ${users.emailVerifiedAt} is not null)::int`,
|
||||
activeUsers30d: sql<number>`count(*) filter (where ${users.lastLoginAt} >= now() - interval '30 days')::int`,
|
||||
newUsers7d: sql<number>`count(*) filter (where ${users.createdAt} >= now() - interval '7 days')::int`,
|
||||
totalUsers: sql`count(*)::int`,
|
||||
totalAdmins: sql`count(*) filter (where ${users.role} = 'admin')::int`,
|
||||
verifiedUsers: sql`count(*) filter (where ${users.emailVerifiedAt} is not null)::int`,
|
||||
activeUsers30d: sql`count(*) filter (where ${users.lastLoginAt} >= now() - interval '30 days')::int`,
|
||||
newUsers7d: sql`count(*) filter (where ${users.createdAt} >= now() - interval '7 days')::int`,
|
||||
})
|
||||
.from(users)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user