New admin section.

This commit is contained in:
Mike Cao 2025-07-06 08:22:29 -07:00
parent cdf391d5c2
commit b78ff3b477
28 changed files with 161 additions and 100 deletions

View file

@ -1,13 +1,14 @@
import { z } from 'zod';
import { unauthorized, json } from '@/lib/response';
import { canViewTeam } from '@/lib/auth';
import { getQueryFilters, parseRequest } from '@/lib/request';
import { pagingParams } from '@/lib/schema';
import { parseRequest } from '@/lib/request';
import { pagingParams, searchParams } from '@/lib/schema';
import { getTeamWebsites } from '@/queries';
export async function GET(request: Request, { params }: { params: Promise<{ teamId: string }> }) {
const schema = z.object({
...pagingParams,
...searchParams,
});
const { teamId } = await params;
const { auth, query, error } = await parseRequest(request, schema);
@ -20,9 +21,7 @@ export async function GET(request: Request, { params }: { params: Promise<{ team
return unauthorized();
}
const filters = await getQueryFilters(query);
const websites = await getTeamWebsites(teamId, filters);
const websites = await getTeamWebsites(teamId, query);
return json(websites);
}

View file

@ -1,12 +1,13 @@
import { z } from 'zod';
import { unauthorized, json } from '@/lib/response';
import { getUserWebsites } from '@/queries/prisma/website';
import { pagingParams } from '@/lib/schema';
import { getQueryFilters, parseRequest } from '@/lib/request';
import { pagingParams, searchParams } from '@/lib/schema';
import { parseRequest } from '@/lib/request';
export async function GET(request: Request, { params }: { params: Promise<{ userId: string }> }) {
const schema = z.object({
...pagingParams,
...searchParams,
});
const { auth, query, error } = await parseRequest(request, schema);
@ -21,9 +22,7 @@ export async function GET(request: Request, { params }: { params: Promise<{ user
return unauthorized();
}
const filters = await getQueryFilters(query);
const websites = await getUserWebsites(userId, filters);
const websites = await getUserWebsites(userId, query);
return json(websites);
}

View file

@ -3,22 +3,9 @@ import { canCreateTeamWebsite, canCreateWebsite } from '@/lib/auth';
import { json, unauthorized } from '@/lib/response';
import { uuid } from '@/lib/crypto';
import { parseRequest } from '@/lib/request';
import { createWebsite, getUserWebsites } from '@/queries';
import { pagingParams } from '@/lib/schema';
import { createWebsite } from '@/queries';
export async function GET(request: Request) {
const schema = z.object({ ...pagingParams });
const { auth, query, error } = await parseRequest(request, schema);
if (error) {
return error();
}
const websites = await getUserWebsites(auth.user.id, query);
return json(websites);
}
export { GET } from '@/app/api/users/[userId]/websites/route';
export async function POST(request: Request) {
const schema = z.object({