mirror of
https://github.com/kjanat/livedash-node.git
synced 2026-01-16 06:32:10 +01:00
Introduce company settings, user management, and layout components Implement session-based Company and User pages for admin access Integrate chart components for dynamic data visualization Add Sidebar for modular navigation Revamp global styles with Tailwind CSS Enhances user experience and administrative control
37 lines
1.1 KiB
TypeScript
37 lines
1.1 KiB
TypeScript
// API endpoint: update company CSV URL config
|
|
import { NextApiRequest, NextApiResponse } from "next";
|
|
import { getServerSession } from "next-auth";
|
|
import { prisma } from "../../../lib/prisma";
|
|
import { authOptions } from "../auth/[...nextauth]";
|
|
|
|
export default async function handler(
|
|
req: NextApiRequest,
|
|
res: NextApiResponse
|
|
) {
|
|
const session = await getServerSession(req, res, authOptions);
|
|
if (!session?.user) return res.status(401).json({ error: "Not logged in" });
|
|
|
|
const user = await prisma.user.findUnique({
|
|
where: { email: session.user.email as string },
|
|
});
|
|
|
|
if (!user) return res.status(401).json({ error: "No user" });
|
|
|
|
if (req.method === "POST") {
|
|
const { csvUrl } = req.body;
|
|
await prisma.company.update({
|
|
where: { id: user.companyId },
|
|
data: { csvUrl },
|
|
});
|
|
res.json({ ok: true });
|
|
} else if (req.method === "GET") {
|
|
// Get company data
|
|
const company = await prisma.company.findUnique({
|
|
where: { id: user.companyId },
|
|
});
|
|
res.json({ company });
|
|
} else {
|
|
res.status(405).end();
|
|
}
|
|
}
|