summaryrefslogtreecommitdiff
path: root/src/app/api/location/route.tsx
blob: 452a85d8de40377b54b9bde1dad95d747a85ebec (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { NextRequest, NextResponse } from "next/server";
import { prisma } from "prisma/client";
import { Credential } from "@/common/types/auth"

export async function GET(request: NextRequest) {
  const searchParams = request.nextUrl.searchParams;
  const search = searchParams.get('search');

  const credentialStr = request.cookies.get('credential')?.value
  const credential: Credential | null = credentialStr ? JSON.parse(credentialStr) : null

  if (!credential) {
    return NextResponse.json({ error: 'Unauthorized' }, { status: 401 })
  }

  const { companyId } = credential

  const locations = await prisma.location.findMany({
    where: {
      companyId,
      name: { contains: search ?? '' }
    },
    take: 20
  })

  return NextResponse.json(locations)
}