EverydayTech Platform - Developer Reference
Complete Source Code Documentation - All Applications
Loading...
Searching...
No Matches
route.ts
Go to the documentation of this file.
1import { NextRequest, NextResponse } from 'next/server';
2import { fieldpineServerApi } from '@/lib/server/fieldpineApi';
3import { getStoredAuth } from '@/lib/server/auth';
4
5/**
6 * OpenAPI ReorderLevels by Location/Product Endpoint
7 * POST /api/v1/openapi/reorder-levels/[locid]/[pid] - Set reorder levels
8 * DELETE /api/v1/openapi/reorder-levels/[locid]/[pid] - Delete reorder levels
9 */
10export async function POST(
11 request: NextRequest,
12 { params }: { params: Promise<{ locid: string; pid: string }> }
13) {
14 try {
15 const { locid, pid } = await params;
16 const authData = await getStoredAuth();
17 if (!authData || !authData.authenticated) {
18 return NextResponse.json(
19 { error: 'Authentication required' },
20 { status: 401 }
21 );
22 }
23
24 const body = await request.json();
25 const formData = new FormData();
26
27 if (body.ReorderLevel !== undefined) {
28 formData.append('ReorderLevel', body.ReorderLevel.toString());
29 }
30 if (body.ReorderMax !== undefined) {
31 formData.append('ReorderMax', body.ReorderMax.toString());
32 }
33
34 const result = await fieldpineServerApi.apiCall(
35 `/ReorderLevels/${locid}/${pid}`,
36 {
37 method: 'POST',
38 body: Object.fromEntries(formData),
39 cookie: authData.apiKey,
40 useOpenApi: true
41 }
42 );
43
44 return NextResponse.json({
45 success: true,
46 data: result,
47 source: 'openapi'
48 });
49
50 } catch (error) {
51 console.error('ReorderLevels POST error:', error);
52 return NextResponse.json(
53 { error: 'Failed to set reorder levels' },
54 { status: 500 }
55 );
56 }
57}
58
59export async function DELETE(
60 request: NextRequest,
61 { params }: { params: Promise<{ locid: string; pid: string }> }
62) {
63 try {
64 const { locid, pid } = await params;
65 const authData = await getStoredAuth();
66 if (!authData || !authData.authenticated) {
67 return NextResponse.json(
68 { error: 'Authentication required' },
69 { status: 401 }
70 );
71 }
72
73 const result = await fieldpineServerApi.apiCall(
74 `/ReorderLevels/${locid}/${pid}`,
75 {
76 method: 'DELETE',
77 cookie: authData.apiKey,
78 useOpenApi: true
79 }
80 );
81
82 return NextResponse.json({
83 success: true,
84 data: result,
85 source: 'openapi'
86 });
87
88 } catch (error) {
89 console.error('ReorderLevels DELETE error:', error);
90 return NextResponse.json(
91 { error: 'Failed to delete reorder levels' },
92 { status: 500 }
93 );
94 }
95}