mirror of
https://github.com/ItzCrazyKns/Perplexica.git
synced 2025-10-24 07:58:14 +00:00
90 lines
1.7 KiB
TypeScript
90 lines
1.7 KiB
TypeScript
import ModelRegistry from '@/lib/models/registry';
|
|
import { NextRequest } from 'next/server';
|
|
|
|
export const DELETE = async (
|
|
req: NextRequest,
|
|
{ params }: { params: Promise<{ id: string }> },
|
|
) => {
|
|
try {
|
|
const { id } = await params;
|
|
|
|
if (!id) {
|
|
return Response.json(
|
|
{
|
|
message: 'Provider ID is required.',
|
|
},
|
|
{
|
|
status: 400,
|
|
},
|
|
);
|
|
}
|
|
|
|
const registry = new ModelRegistry();
|
|
await registry.removeProvider(id);
|
|
|
|
return Response.json(
|
|
{
|
|
message: 'Provider deleted successfully.',
|
|
},
|
|
{
|
|
status: 200,
|
|
},
|
|
);
|
|
} catch (err: any) {
|
|
console.error('An error occurred while deleting provider', err.message);
|
|
return Response.json(
|
|
{
|
|
message: 'An error has occurred.',
|
|
},
|
|
{
|
|
status: 500,
|
|
},
|
|
);
|
|
}
|
|
};
|
|
|
|
export const PATCH = async (
|
|
req: NextRequest,
|
|
{ params }: { params: Promise<{ id: string }> },
|
|
) => {
|
|
try {
|
|
const body = await req.json();
|
|
const { name, config } = body;
|
|
const { id } = await params;
|
|
|
|
if (!id || !name || !config) {
|
|
return Response.json(
|
|
{
|
|
message: 'Missing required fields.',
|
|
},
|
|
{
|
|
status: 400,
|
|
},
|
|
);
|
|
}
|
|
|
|
const registry = new ModelRegistry();
|
|
|
|
const updatedProvider = await registry.updateProvider(id, name, config);
|
|
|
|
return Response.json(
|
|
{
|
|
provider: updatedProvider,
|
|
},
|
|
{
|
|
status: 200,
|
|
},
|
|
);
|
|
} catch (err: any) {
|
|
console.error('An error occurred while updating provider', err.message);
|
|
return Response.json(
|
|
{
|
|
message: 'An error has occurred.',
|
|
},
|
|
{
|
|
status: 500,
|
|
},
|
|
);
|
|
}
|
|
};
|