add date filter to assignments

This commit is contained in:
Dobromir Popov
2024-12-28 17:15:47 +02:00
parent 25b53222d4
commit c290b1a37b
4 changed files with 83 additions and 6 deletions

View File

@ -2,6 +2,7 @@ import { NextApiRequest, NextApiResponse } from 'next';
import { PrismaClient } from '@prisma/client';
import { getServerSession } from "next-auth/next";
import { authOptions } from "../../auth/[...nextauth]";
import e from 'express';
const common = require('../../../../src/helpers/common');
@ -71,10 +72,15 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
if (req.method === 'POST' && req.headers['content-type']?.includes('application/json')) {
// Handle POST request
queryOptions = req.body;
} else {
} else if (req.method === 'GET') {
// Handle GET request
queryOptions = parseQueryParams(req.query);
}
else if (req.method === 'DELETE') {
// Handle DELETE request
queryOptions = req.body;
}
try {
if (!modelArray || modelArray.length === 0) {
@ -84,6 +90,20 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse)
if (!prisma[modelName]) {
throw new Error(`Model ${modelName} not found in Prisma client.`);
}
if (req.method === 'POST') {
// Create a new record
const result = await prisma[modelName].create({ data: queryOptions });
res.status(201).json(result);
return;
} else if (req.method === 'DELETE') {
// Delete a record
const result = await prisma[modelName].delete({ where: queryOptions });
res.status(200).json(result);
return;
}
// Fetch records
const result = await prisma[modelName].findMany(queryOptions);
if (req.query.format === 'sql') {
// Generate SQL if requested via query parameter