import { redirect } from "next/navigation"; import { ShellPage } from "@/components/page-templates"; import { Button, SectionCard } from "@/components/ui"; import { connectTenantChannel } from "@/lib/admin-crud"; import { getSession } from "@/lib/auth"; import { prisma } from "@/lib/prisma"; import { ChannelStatus } from "@prisma/client"; export default async function ConnectTenantChannelPage({ params, searchParams }: { params: Promise<{ tenantId: string }>; searchParams?: Promise<{ error?: string }>; }) { const session = await getSession(); if (!session || session.role !== "super_admin") { redirect("/unauthorized"); } const { tenantId } = await params; const [tenant, errorResult] = await Promise.all([ prisma.tenant.findUnique({ where: { id: tenantId }, select: { id: true, name: true } }), searchParams ?? Promise.resolve({ error: undefined }) ]); if (!tenant) { redirect("/super-admin/tenants?error=tenant_not_found"); } const error = errorResult.error; const errorMessage = error === "missing_fields" ? "Semua field wajib diisi." : error === "tenant_not_found" ? "Tenant tidak ditemukan." : error === "invalid_status" ? "Status channel tidak valid." : null; return (
{errorMessage ?

{errorMessage}

: null}
); }