@solvapay/next 1.0.8-preview.9 → 1.0.8
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.cjs +88 -170
- package/dist/index.d.cts +193 -63
- package/dist/index.d.ts +193 -63
- package/dist/index.js +78 -163
- package/package.json +4 -4
package/dist/index.cjs
CHANGED
|
@@ -44,6 +44,7 @@ __export(index_exports, {
|
|
|
44
44
|
getAuthenticatedUser: () => getAuthenticatedUser,
|
|
45
45
|
getCustomerBalance: () => getCustomerBalance,
|
|
46
46
|
getMerchant: () => getMerchant,
|
|
47
|
+
getPaymentMethod: () => getPaymentMethod,
|
|
47
48
|
getProduct: () => getProduct,
|
|
48
49
|
getPurchaseCacheStats: () => getPurchaseCacheStats,
|
|
49
50
|
listPlans: () => listPlans,
|
|
@@ -53,8 +54,8 @@ __export(index_exports, {
|
|
|
53
54
|
trackUsage: () => trackUsage
|
|
54
55
|
});
|
|
55
56
|
module.exports = __toCommonJS(index_exports);
|
|
56
|
-
var
|
|
57
|
-
var
|
|
57
|
+
var import_server18 = require("next/server");
|
|
58
|
+
var import_server19 = require("@solvapay/server");
|
|
58
59
|
|
|
59
60
|
// src/cache.ts
|
|
60
61
|
function createRequestDeduplicator(options = {}) {
|
|
@@ -186,35 +187,24 @@ function getPurchaseCacheStats() {
|
|
|
186
187
|
return deduplicator.getStats();
|
|
187
188
|
}
|
|
188
189
|
|
|
189
|
-
// src/helpers/
|
|
190
|
+
// src/helpers/_response.ts
|
|
190
191
|
var import_server = require("next/server");
|
|
191
192
|
var import_server2 = require("@solvapay/server");
|
|
192
|
-
|
|
193
|
-
const result = await (0, import_server2.getAuthenticatedUserCore)(request, options);
|
|
193
|
+
function toNextRouteResponse(result) {
|
|
194
194
|
if ((0, import_server2.isErrorResult)(result)) {
|
|
195
195
|
return import_server.NextResponse.json(
|
|
196
196
|
{ error: result.error, details: result.details },
|
|
197
197
|
{ status: result.status }
|
|
198
198
|
);
|
|
199
199
|
}
|
|
200
|
-
return result;
|
|
200
|
+
return import_server.NextResponse.json(result);
|
|
201
201
|
}
|
|
202
202
|
|
|
203
|
-
// src/helpers/
|
|
203
|
+
// src/helpers/auth.ts
|
|
204
204
|
var import_server3 = require("next/server");
|
|
205
205
|
var import_server4 = require("@solvapay/server");
|
|
206
|
-
async function
|
|
207
|
-
const result = await (0, import_server4.
|
|
208
|
-
if ((0, import_server4.isErrorResult)(result)) {
|
|
209
|
-
return import_server3.NextResponse.json(
|
|
210
|
-
{ error: result.error, details: result.details },
|
|
211
|
-
{ status: result.status }
|
|
212
|
-
);
|
|
213
|
-
}
|
|
214
|
-
return result;
|
|
215
|
-
}
|
|
216
|
-
async function getCustomerBalance(request, options = {}) {
|
|
217
|
-
const result = await (0, import_server4.getCustomerBalanceCore)(request, options);
|
|
206
|
+
async function getAuthenticatedUser(request, options = {}) {
|
|
207
|
+
const result = await (0, import_server4.getAuthenticatedUserCore)(request, options);
|
|
218
208
|
if ((0, import_server4.isErrorResult)(result)) {
|
|
219
209
|
return import_server3.NextResponse.json(
|
|
220
210
|
{ error: result.error, details: result.details },
|
|
@@ -224,211 +214,144 @@ async function getCustomerBalance(request, options = {}) {
|
|
|
224
214
|
return result;
|
|
225
215
|
}
|
|
226
216
|
|
|
227
|
-
// src/helpers/
|
|
217
|
+
// src/helpers/customer.ts
|
|
228
218
|
var import_server5 = require("next/server");
|
|
229
219
|
var import_server6 = require("@solvapay/server");
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
const result = await (0, import_server6.createPaymentIntentCore)(request, body, options);
|
|
220
|
+
async function syncCustomer(request, options = {}) {
|
|
221
|
+
const result = await (0, import_server6.syncCustomerCore)(request, options);
|
|
233
222
|
if ((0, import_server6.isErrorResult)(result)) {
|
|
234
223
|
return import_server5.NextResponse.json(
|
|
235
224
|
{ error: result.error, details: result.details },
|
|
236
225
|
{ status: result.status }
|
|
237
226
|
);
|
|
238
227
|
}
|
|
228
|
+
return result;
|
|
229
|
+
}
|
|
230
|
+
async function getCustomerBalance(request, options = {}) {
|
|
231
|
+
const result = await (0, import_server6.getCustomerBalanceCore)(request, options);
|
|
232
|
+
return toNextRouteResponse(result);
|
|
233
|
+
}
|
|
234
|
+
|
|
235
|
+
// src/helpers/payment.ts
|
|
236
|
+
var import_server8 = require("@solvapay/server");
|
|
237
|
+
|
|
238
|
+
// src/helpers/_cache.ts
|
|
239
|
+
var import_server7 = require("@solvapay/server");
|
|
240
|
+
async function invalidatePurchaseCacheForRequest(request) {
|
|
239
241
|
try {
|
|
240
242
|
const userResult = await (0, import_server7.getAuthenticatedUserCore)(request);
|
|
241
|
-
if (!(0,
|
|
243
|
+
if (!(0, import_server7.isErrorResult)(userResult)) {
|
|
242
244
|
clearPurchaseCache(userResult.userId);
|
|
243
245
|
}
|
|
244
246
|
} catch {
|
|
245
247
|
}
|
|
246
|
-
return result;
|
|
247
248
|
}
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
);
|
|
249
|
+
|
|
250
|
+
// src/helpers/payment.ts
|
|
251
|
+
async function createPaymentIntent(request, body, options = {}) {
|
|
252
|
+
const result = await (0, import_server8.createPaymentIntentCore)(request, body, options);
|
|
253
|
+
if (!(0, import_server8.isErrorResult)(result)) {
|
|
254
|
+
await invalidatePurchaseCacheForRequest(request);
|
|
255
255
|
}
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
256
|
+
return toNextRouteResponse(result);
|
|
257
|
+
}
|
|
258
|
+
async function createTopupPaymentIntent(request, body, options = {}) {
|
|
259
|
+
const result = await (0, import_server8.createTopupPaymentIntentCore)(request, body, options);
|
|
260
|
+
if (!(0, import_server8.isErrorResult)(result)) {
|
|
261
|
+
await invalidatePurchaseCacheForRequest(request);
|
|
262
262
|
}
|
|
263
|
-
return result;
|
|
263
|
+
return toNextRouteResponse(result);
|
|
264
264
|
}
|
|
265
265
|
async function processPaymentIntent(request, body, options = {}) {
|
|
266
|
-
const result = await (0,
|
|
267
|
-
if ((0,
|
|
268
|
-
|
|
269
|
-
{ error: result.error, details: result.details },
|
|
270
|
-
{ status: result.status }
|
|
271
|
-
);
|
|
272
|
-
}
|
|
273
|
-
try {
|
|
274
|
-
const userResult = await (0, import_server7.getAuthenticatedUserCore)(request);
|
|
275
|
-
if (!(0, import_server6.isErrorResult)(userResult)) {
|
|
276
|
-
clearPurchaseCache(userResult.userId);
|
|
277
|
-
}
|
|
278
|
-
} catch {
|
|
266
|
+
const result = await (0, import_server8.processPaymentIntentCore)(request, body, options);
|
|
267
|
+
if (!(0, import_server8.isErrorResult)(result)) {
|
|
268
|
+
await invalidatePurchaseCacheForRequest(request);
|
|
279
269
|
}
|
|
280
|
-
return result;
|
|
270
|
+
return toNextRouteResponse(result);
|
|
281
271
|
}
|
|
282
272
|
|
|
283
273
|
// src/helpers/checkout.ts
|
|
284
|
-
var import_server8 = require("next/server");
|
|
285
274
|
var import_server9 = require("@solvapay/server");
|
|
286
275
|
async function createCheckoutSession(request, body, options = {}) {
|
|
287
276
|
const result = await (0, import_server9.createCheckoutSessionCore)(request, body, options);
|
|
288
|
-
|
|
289
|
-
return import_server8.NextResponse.json(
|
|
290
|
-
{ error: result.error, details: result.details },
|
|
291
|
-
{ status: result.status }
|
|
292
|
-
);
|
|
293
|
-
}
|
|
294
|
-
return result;
|
|
277
|
+
return toNextRouteResponse(result);
|
|
295
278
|
}
|
|
296
279
|
async function createCustomerSession(request, options = {}) {
|
|
297
280
|
const result = await (0, import_server9.createCustomerSessionCore)(request, options);
|
|
298
|
-
|
|
299
|
-
return import_server8.NextResponse.json(
|
|
300
|
-
{ error: result.error, details: result.details },
|
|
301
|
-
{ status: result.status }
|
|
302
|
-
);
|
|
303
|
-
}
|
|
304
|
-
return result;
|
|
281
|
+
return toNextRouteResponse(result);
|
|
305
282
|
}
|
|
306
283
|
|
|
307
284
|
// src/helpers/activation.ts
|
|
308
|
-
var import_server10 = require("
|
|
309
|
-
var import_server11 = require("@solvapay/server");
|
|
310
|
-
var import_server12 = require("@solvapay/server");
|
|
285
|
+
var import_server10 = require("@solvapay/server");
|
|
311
286
|
async function activatePlan(request, body, options = {}) {
|
|
312
|
-
const result = await (0,
|
|
313
|
-
if ((0,
|
|
314
|
-
|
|
315
|
-
{ error: result.error, details: result.details },
|
|
316
|
-
{ status: result.status }
|
|
317
|
-
);
|
|
318
|
-
}
|
|
319
|
-
try {
|
|
320
|
-
const userResult = await (0, import_server12.getAuthenticatedUserCore)(request);
|
|
321
|
-
if (!(0, import_server11.isErrorResult)(userResult)) {
|
|
322
|
-
clearPurchaseCache(userResult.userId);
|
|
323
|
-
}
|
|
324
|
-
} catch {
|
|
287
|
+
const result = await (0, import_server10.activatePlanCore)(request, body, options);
|
|
288
|
+
if (!(0, import_server10.isErrorResult)(result)) {
|
|
289
|
+
await invalidatePurchaseCacheForRequest(request);
|
|
325
290
|
}
|
|
326
|
-
return result;
|
|
291
|
+
return toNextRouteResponse(result);
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
// src/helpers/payment-method.ts
|
|
295
|
+
var import_server11 = require("@solvapay/server");
|
|
296
|
+
async function getPaymentMethod(request, options = {}) {
|
|
297
|
+
const result = await (0, import_server11.getPaymentMethodCore)(request, options);
|
|
298
|
+
return toNextRouteResponse(result);
|
|
327
299
|
}
|
|
328
300
|
|
|
329
301
|
// src/helpers/renewal.ts
|
|
330
|
-
var
|
|
331
|
-
var import_server14 = require("@solvapay/server");
|
|
302
|
+
var import_server12 = require("@solvapay/server");
|
|
332
303
|
async function cancelRenewal(request, body, options = {}) {
|
|
333
|
-
const result = await (0,
|
|
334
|
-
if ((0,
|
|
335
|
-
|
|
336
|
-
{ error: result.error, details: result.details },
|
|
337
|
-
{ status: result.status }
|
|
338
|
-
);
|
|
339
|
-
}
|
|
340
|
-
try {
|
|
341
|
-
const userResult = await (0, import_server14.getAuthenticatedUserCore)(request);
|
|
342
|
-
if (!(0, import_server14.isErrorResult)(userResult)) {
|
|
343
|
-
clearPurchaseCache(userResult.userId);
|
|
344
|
-
}
|
|
345
|
-
} catch {
|
|
304
|
+
const result = await (0, import_server12.cancelPurchaseCore)(request, body, options);
|
|
305
|
+
if (!(0, import_server12.isErrorResult)(result)) {
|
|
306
|
+
await invalidatePurchaseCacheForRequest(request);
|
|
346
307
|
}
|
|
347
|
-
return result;
|
|
308
|
+
return toNextRouteResponse(result);
|
|
348
309
|
}
|
|
349
310
|
async function reactivateRenewal(request, body, options = {}) {
|
|
350
|
-
const result = await (0,
|
|
351
|
-
if ((0,
|
|
352
|
-
|
|
353
|
-
{ error: result.error, details: result.details },
|
|
354
|
-
{ status: result.status }
|
|
355
|
-
);
|
|
311
|
+
const result = await (0, import_server12.reactivatePurchaseCore)(request, body, options);
|
|
312
|
+
if (!(0, import_server12.isErrorResult)(result)) {
|
|
313
|
+
await invalidatePurchaseCacheForRequest(request);
|
|
356
314
|
}
|
|
357
|
-
|
|
358
|
-
const userResult = await (0, import_server14.getAuthenticatedUserCore)(request);
|
|
359
|
-
if (!(0, import_server14.isErrorResult)(userResult)) {
|
|
360
|
-
clearPurchaseCache(userResult.userId);
|
|
361
|
-
}
|
|
362
|
-
} catch {
|
|
363
|
-
}
|
|
364
|
-
return result;
|
|
315
|
+
return toNextRouteResponse(result);
|
|
365
316
|
}
|
|
366
317
|
|
|
367
318
|
// src/helpers/plans.ts
|
|
368
|
-
var
|
|
369
|
-
var import_server16 = require("@solvapay/server");
|
|
319
|
+
var import_server13 = require("@solvapay/server");
|
|
370
320
|
async function listPlans(request, options = {}) {
|
|
371
|
-
const result = await (0,
|
|
372
|
-
|
|
373
|
-
return import_server15.NextResponse.json(
|
|
374
|
-
{ error: result.error, details: result.details },
|
|
375
|
-
{ status: result.status }
|
|
376
|
-
);
|
|
377
|
-
}
|
|
378
|
-
return result;
|
|
321
|
+
const result = await (0, import_server13.listPlansCore)(request, options);
|
|
322
|
+
return toNextRouteResponse(result);
|
|
379
323
|
}
|
|
380
324
|
|
|
381
325
|
// src/helpers/merchant.ts
|
|
382
|
-
var
|
|
383
|
-
var import_server18 = require("@solvapay/server");
|
|
326
|
+
var import_server14 = require("@solvapay/server");
|
|
384
327
|
async function getMerchant(request, options = {}) {
|
|
385
|
-
const result = await (0,
|
|
386
|
-
|
|
387
|
-
return import_server17.NextResponse.json(
|
|
388
|
-
{ error: result.error, details: result.details },
|
|
389
|
-
{ status: result.status }
|
|
390
|
-
);
|
|
391
|
-
}
|
|
392
|
-
return result;
|
|
328
|
+
const result = await (0, import_server14.getMerchantCore)(request, options);
|
|
329
|
+
return toNextRouteResponse(result);
|
|
393
330
|
}
|
|
394
331
|
|
|
395
332
|
// src/helpers/product.ts
|
|
396
|
-
var
|
|
397
|
-
var import_server20 = require("@solvapay/server");
|
|
333
|
+
var import_server15 = require("@solvapay/server");
|
|
398
334
|
async function getProduct(request, options = {}) {
|
|
399
|
-
const result = await (0,
|
|
400
|
-
|
|
401
|
-
return import_server19.NextResponse.json(
|
|
402
|
-
{ error: result.error, details: result.details },
|
|
403
|
-
{ status: result.status }
|
|
404
|
-
);
|
|
405
|
-
}
|
|
406
|
-
return result;
|
|
335
|
+
const result = await (0, import_server15.getProductCore)(request, options);
|
|
336
|
+
return toNextRouteResponse(result);
|
|
407
337
|
}
|
|
408
338
|
|
|
409
339
|
// src/helpers/usage.ts
|
|
410
|
-
var
|
|
411
|
-
var import_server22 = require("@solvapay/server");
|
|
340
|
+
var import_server16 = require("@solvapay/server");
|
|
412
341
|
async function trackUsage(request, body, options = {}) {
|
|
413
|
-
const result = await (0,
|
|
414
|
-
|
|
415
|
-
return import_server21.NextResponse.json(
|
|
416
|
-
{ error: result.error, details: result.details },
|
|
417
|
-
{ status: result.status }
|
|
418
|
-
);
|
|
419
|
-
}
|
|
420
|
-
return import_server21.NextResponse.json(result);
|
|
342
|
+
const result = await (0, import_server16.trackUsageCore)(request, body, options);
|
|
343
|
+
return toNextRouteResponse(result);
|
|
421
344
|
}
|
|
422
345
|
|
|
423
346
|
// src/helpers/middleware.ts
|
|
424
|
-
var
|
|
347
|
+
var import_server17 = require("next/server");
|
|
425
348
|
function createAuthMiddleware(options) {
|
|
426
349
|
const { adapter, publicRoutes = [], userIdHeader = "x-user-id" } = options;
|
|
427
350
|
return async function middleware(request) {
|
|
428
351
|
const req = request;
|
|
429
352
|
const { pathname } = req.nextUrl;
|
|
430
353
|
if (!pathname.startsWith("/api")) {
|
|
431
|
-
return
|
|
354
|
+
return import_server17.NextResponse.next();
|
|
432
355
|
}
|
|
433
356
|
const isPublicRoute = publicRoutes.some((route) => pathname.startsWith(route));
|
|
434
357
|
const userId = await adapter.getUserIdFromRequest(req);
|
|
@@ -437,21 +360,21 @@ function createAuthMiddleware(options) {
|
|
|
437
360
|
if (userId) {
|
|
438
361
|
requestHeaders2.set(userIdHeader, userId);
|
|
439
362
|
}
|
|
440
|
-
return
|
|
363
|
+
return import_server17.NextResponse.next({
|
|
441
364
|
request: {
|
|
442
365
|
headers: requestHeaders2
|
|
443
366
|
}
|
|
444
367
|
});
|
|
445
368
|
}
|
|
446
369
|
if (!userId) {
|
|
447
|
-
return
|
|
370
|
+
return import_server17.NextResponse.json(
|
|
448
371
|
{ error: "Unauthorized", details: "Valid authentication required" },
|
|
449
372
|
{ status: 401 }
|
|
450
373
|
);
|
|
451
374
|
}
|
|
452
375
|
const requestHeaders = new Headers(req.headers);
|
|
453
376
|
requestHeaders.set(userIdHeader, userId);
|
|
454
|
-
return
|
|
377
|
+
return import_server17.NextResponse.next({
|
|
455
378
|
request: {
|
|
456
379
|
headers: requestHeaders
|
|
457
380
|
}
|
|
@@ -499,30 +422,24 @@ async function checkPurchase(request, options = {}) {
|
|
|
499
422
|
if (userIdOrError instanceof Response) {
|
|
500
423
|
const clonedResponse = userIdOrError.clone();
|
|
501
424
|
const body = await clonedResponse.json().catch(() => ({ error: "Unauthorized" }));
|
|
502
|
-
return
|
|
425
|
+
return import_server18.NextResponse.json(body, { status: userIdOrError.status });
|
|
503
426
|
}
|
|
504
427
|
const userId = userIdOrError;
|
|
505
428
|
const response = await deduplicator.deduplicate(
|
|
506
429
|
userId,
|
|
507
430
|
async () => {
|
|
508
|
-
return await (0,
|
|
431
|
+
return await (0, import_server19.checkPurchaseCore)(request, {
|
|
509
432
|
solvaPay: options.solvaPay,
|
|
510
433
|
includeEmail: options.includeEmail,
|
|
511
434
|
includeName: options.includeName
|
|
512
435
|
});
|
|
513
436
|
}
|
|
514
437
|
);
|
|
515
|
-
|
|
516
|
-
return import_server24.NextResponse.json(
|
|
517
|
-
{ error: response.error, details: response.details },
|
|
518
|
-
{ status: response.status }
|
|
519
|
-
);
|
|
520
|
-
}
|
|
521
|
-
return response;
|
|
438
|
+
return toNextRouteResponse(response);
|
|
522
439
|
} catch (error) {
|
|
523
440
|
console.error("Check purchase failed:", error);
|
|
524
441
|
const errorMessage = error instanceof Error ? error.message : "Unknown error";
|
|
525
|
-
return
|
|
442
|
+
return import_server18.NextResponse.json(
|
|
526
443
|
{ error: "Failed to check purchase", details: errorMessage },
|
|
527
444
|
{ status: 500 }
|
|
528
445
|
);
|
|
@@ -544,6 +461,7 @@ async function checkPurchase(request, options = {}) {
|
|
|
544
461
|
getAuthenticatedUser,
|
|
545
462
|
getCustomerBalance,
|
|
546
463
|
getMerchant,
|
|
464
|
+
getPaymentMethod,
|
|
547
465
|
getProduct,
|
|
548
466
|
getPurchaseCacheStats,
|
|
549
467
|
listPlans,
|