say-under-me 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.mts +14 -1
- package/dist/index.d.ts +14 -1
- package/dist/index.js +59 -0
- package/dist/index.mjs +58 -0
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
|
|
1
3
|
type sayHelloProps = {
|
|
2
4
|
firstName: string;
|
|
3
5
|
lastName?: string;
|
|
@@ -60,4 +62,15 @@ declare class PrismaCrud<T> {
|
|
|
60
62
|
private parseId;
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Creates a set of Next.js App Router handlers (GET, POST, PATCH, DELETE)
|
|
67
|
+
* for a given Prisma model
|
|
68
|
+
*/
|
|
69
|
+
declare function createApiHandler<T>(crud: PrismaCrud<T>): {
|
|
70
|
+
GET: (req: NextRequest, context: any) => Promise<NextResponse<any>>;
|
|
71
|
+
POST: (req: NextRequest) => Promise<NextResponse<any>>;
|
|
72
|
+
PATCH: (req: NextRequest, context: any) => Promise<NextResponse<any>>;
|
|
73
|
+
DELETE: (req: NextRequest, context: any) => Promise<NextResponse<unknown>>;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export { type ParseOptions, PrismaCrud, type PrismaQuery, createApiHandler, parsePrismaQuery, sayHello, type sayHelloProps };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { NextRequest, NextResponse } from 'next/server';
|
|
2
|
+
|
|
1
3
|
type sayHelloProps = {
|
|
2
4
|
firstName: string;
|
|
3
5
|
lastName?: string;
|
|
@@ -60,4 +62,15 @@ declare class PrismaCrud<T> {
|
|
|
60
62
|
private parseId;
|
|
61
63
|
}
|
|
62
64
|
|
|
63
|
-
|
|
65
|
+
/**
|
|
66
|
+
* Creates a set of Next.js App Router handlers (GET, POST, PATCH, DELETE)
|
|
67
|
+
* for a given Prisma model
|
|
68
|
+
*/
|
|
69
|
+
declare function createApiHandler<T>(crud: PrismaCrud<T>): {
|
|
70
|
+
GET: (req: NextRequest, context: any) => Promise<NextResponse<any>>;
|
|
71
|
+
POST: (req: NextRequest) => Promise<NextResponse<any>>;
|
|
72
|
+
PATCH: (req: NextRequest, context: any) => Promise<NextResponse<any>>;
|
|
73
|
+
DELETE: (req: NextRequest, context: any) => Promise<NextResponse<unknown>>;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export { type ParseOptions, PrismaCrud, type PrismaQuery, createApiHandler, parsePrismaQuery, sayHello, type sayHelloProps };
|
package/dist/index.js
CHANGED
|
@@ -21,6 +21,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
21
21
|
var index_exports = {};
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
PrismaCrud: () => PrismaCrud,
|
|
24
|
+
createApiHandler: () => createApiHandler,
|
|
24
25
|
parsePrismaQuery: () => parsePrismaQuery,
|
|
25
26
|
sayHello: () => sayHello
|
|
26
27
|
});
|
|
@@ -210,9 +211,67 @@ var PrismaCrud = class {
|
|
|
210
211
|
return id;
|
|
211
212
|
}
|
|
212
213
|
};
|
|
214
|
+
|
|
215
|
+
// src/adapters/next-handler.ts
|
|
216
|
+
var import_server = require("next/server");
|
|
217
|
+
function createApiHandler(crud) {
|
|
218
|
+
const GET = async (req, context) => {
|
|
219
|
+
try {
|
|
220
|
+
const params = await context.params;
|
|
221
|
+
const id = params?.id;
|
|
222
|
+
const { searchParams } = new URL(req.url);
|
|
223
|
+
const queryString = searchParams.toString();
|
|
224
|
+
if (id) {
|
|
225
|
+
const data2 = await crud.getById(id, queryString);
|
|
226
|
+
if (!data2) {
|
|
227
|
+
return import_server.NextResponse.json({ error: "Record not found" }, { status: 404 });
|
|
228
|
+
}
|
|
229
|
+
return import_server.NextResponse.json(data2);
|
|
230
|
+
}
|
|
231
|
+
const data = await crud.getAll(queryString);
|
|
232
|
+
return import_server.NextResponse.json(data);
|
|
233
|
+
} catch (error) {
|
|
234
|
+
return import_server.NextResponse.json({ error: error.message }, { status: 500 });
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
const POST = async (req) => {
|
|
238
|
+
try {
|
|
239
|
+
const body = await req.json();
|
|
240
|
+
const data = await crud.create(body);
|
|
241
|
+
return import_server.NextResponse.json(data, { status: 201 });
|
|
242
|
+
} catch (error) {
|
|
243
|
+
return import_server.NextResponse.json({ error: error.message }, { status: 400 });
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
const PATCH = async (req, context) => {
|
|
247
|
+
try {
|
|
248
|
+
const param = await context.params;
|
|
249
|
+
const id = param?.id;
|
|
250
|
+
if (!id) return import_server.NextResponse.json({ error: "ID is required" }, { status: 400 });
|
|
251
|
+
const body = await req.json();
|
|
252
|
+
const data = await crud.update(id, body);
|
|
253
|
+
return import_server.NextResponse.json(data);
|
|
254
|
+
} catch (error) {
|
|
255
|
+
return import_server.NextResponse.json({ error: error.message }, { status: 400 });
|
|
256
|
+
}
|
|
257
|
+
};
|
|
258
|
+
const DELETE = async (req, context) => {
|
|
259
|
+
try {
|
|
260
|
+
const params = await context.params;
|
|
261
|
+
const id = params?.id;
|
|
262
|
+
if (!id) return import_server.NextResponse.json({ error: "ID is required" }, { status: 400 });
|
|
263
|
+
await crud.delete(id);
|
|
264
|
+
return new import_server.NextResponse(null, { status: 204 });
|
|
265
|
+
} catch (error) {
|
|
266
|
+
return import_server.NextResponse.json({ error: error.message }, { status: 400 });
|
|
267
|
+
}
|
|
268
|
+
};
|
|
269
|
+
return { GET, POST, PATCH, DELETE };
|
|
270
|
+
}
|
|
213
271
|
// Annotate the CommonJS export names for ESM import in node:
|
|
214
272
|
0 && (module.exports = {
|
|
215
273
|
PrismaCrud,
|
|
274
|
+
createApiHandler,
|
|
216
275
|
parsePrismaQuery,
|
|
217
276
|
sayHello
|
|
218
277
|
});
|
package/dist/index.mjs
CHANGED
|
@@ -182,8 +182,66 @@ var PrismaCrud = class {
|
|
|
182
182
|
return id;
|
|
183
183
|
}
|
|
184
184
|
};
|
|
185
|
+
|
|
186
|
+
// src/adapters/next-handler.ts
|
|
187
|
+
import { NextResponse } from "next/server";
|
|
188
|
+
function createApiHandler(crud) {
|
|
189
|
+
const GET = async (req, context) => {
|
|
190
|
+
try {
|
|
191
|
+
const params = await context.params;
|
|
192
|
+
const id = params?.id;
|
|
193
|
+
const { searchParams } = new URL(req.url);
|
|
194
|
+
const queryString = searchParams.toString();
|
|
195
|
+
if (id) {
|
|
196
|
+
const data2 = await crud.getById(id, queryString);
|
|
197
|
+
if (!data2) {
|
|
198
|
+
return NextResponse.json({ error: "Record not found" }, { status: 404 });
|
|
199
|
+
}
|
|
200
|
+
return NextResponse.json(data2);
|
|
201
|
+
}
|
|
202
|
+
const data = await crud.getAll(queryString);
|
|
203
|
+
return NextResponse.json(data);
|
|
204
|
+
} catch (error) {
|
|
205
|
+
return NextResponse.json({ error: error.message }, { status: 500 });
|
|
206
|
+
}
|
|
207
|
+
};
|
|
208
|
+
const POST = async (req) => {
|
|
209
|
+
try {
|
|
210
|
+
const body = await req.json();
|
|
211
|
+
const data = await crud.create(body);
|
|
212
|
+
return NextResponse.json(data, { status: 201 });
|
|
213
|
+
} catch (error) {
|
|
214
|
+
return NextResponse.json({ error: error.message }, { status: 400 });
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
const PATCH = async (req, context) => {
|
|
218
|
+
try {
|
|
219
|
+
const param = await context.params;
|
|
220
|
+
const id = param?.id;
|
|
221
|
+
if (!id) return NextResponse.json({ error: "ID is required" }, { status: 400 });
|
|
222
|
+
const body = await req.json();
|
|
223
|
+
const data = await crud.update(id, body);
|
|
224
|
+
return NextResponse.json(data);
|
|
225
|
+
} catch (error) {
|
|
226
|
+
return NextResponse.json({ error: error.message }, { status: 400 });
|
|
227
|
+
}
|
|
228
|
+
};
|
|
229
|
+
const DELETE = async (req, context) => {
|
|
230
|
+
try {
|
|
231
|
+
const params = await context.params;
|
|
232
|
+
const id = params?.id;
|
|
233
|
+
if (!id) return NextResponse.json({ error: "ID is required" }, { status: 400 });
|
|
234
|
+
await crud.delete(id);
|
|
235
|
+
return new NextResponse(null, { status: 204 });
|
|
236
|
+
} catch (error) {
|
|
237
|
+
return NextResponse.json({ error: error.message }, { status: 400 });
|
|
238
|
+
}
|
|
239
|
+
};
|
|
240
|
+
return { GET, POST, PATCH, DELETE };
|
|
241
|
+
}
|
|
185
242
|
export {
|
|
186
243
|
PrismaCrud,
|
|
244
|
+
createApiHandler,
|
|
187
245
|
parsePrismaQuery,
|
|
188
246
|
sayHello
|
|
189
247
|
};
|