@teamvortexsoftware/vortex-nextjs-15-sdk 0.0.1

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.
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.handleJwtGeneration = handleJwtGeneration;
40
+ var vortex_node_22_sdk_1 = require("@teamvortexsoftware/vortex-node-22-sdk");
41
+ var config_1 = require("../config");
42
+ var utils_1 = require("../utils");
43
+ function handleJwtGeneration(request) {
44
+ return __awaiter(this, void 0, void 0, function () {
45
+ var config, authenticatedUser, vortex, jwt, error_1, message;
46
+ return __generator(this, function (_a) {
47
+ switch (_a.label) {
48
+ case 0:
49
+ _a.trys.push([0, 2, , 3]);
50
+ if (request.method !== 'POST') {
51
+ return [2 /*return*/, (0, utils_1.createErrorResponse)('Method not allowed', 405)];
52
+ }
53
+ config = (0, config_1.getVortexConfig)();
54
+ if (!config.authenticateUser) {
55
+ return [2 /*return*/, (0, utils_1.createErrorResponse)('JWT generation requires authentication configuration. Please configure authenticateUser hook.', 500)];
56
+ }
57
+ return [4 /*yield*/, config.authenticateUser(request)];
58
+ case 1:
59
+ authenticatedUser = _a.sent();
60
+ if (!authenticatedUser) {
61
+ return [2 /*return*/, (0, utils_1.createErrorResponse)('Unauthorized', 401)];
62
+ }
63
+ vortex = new vortex_node_22_sdk_1.Vortex(config.apiKey);
64
+ jwt = vortex.generateJwt({
65
+ userId: authenticatedUser.userId,
66
+ identifiers: authenticatedUser.identifiers,
67
+ groups: authenticatedUser.groups,
68
+ role: authenticatedUser.role,
69
+ });
70
+ return [2 /*return*/, (0, utils_1.createApiResponse)({ jwt: jwt })];
71
+ case 2:
72
+ error_1 = _a.sent();
73
+ message = error_1 instanceof Error ? error_1.message : 'An error occurred';
74
+ return [2 /*return*/, (0, utils_1.createErrorResponse)(message, 500)];
75
+ case 3: return [2 /*return*/];
76
+ }
77
+ });
78
+ });
79
+ }
@@ -0,0 +1,8 @@
1
+ export { configureVortex, getVortexConfig, authenticateRequest } from './config';
2
+ export type { VortexConfig, AuthenticatedUser, AccessControlHook } from './config';
3
+ export { createVortexJwtRoute, createVortexInvitationsRoute, createVortexInvitationRoute, createVortexInvitationsAcceptRoute, createVortexInvitationsByGroupRoute, createVortexReinviteRoute, } from './routes';
4
+ export { handleJwtGeneration, } from './handlers/jwt';
5
+ export { handleGetInvitationsByTarget, handleGetInvitation, handleRevokeInvitation, handleAcceptInvitations, handleGetInvitationsByGroup, handleDeleteInvitationsByGroup, handleReinvite, } from './handlers/invitations';
6
+ export { createApiResponse, createErrorResponse, parseRequestBody, getQueryParam, validateRequiredFields, sanitizeInput, } from './utils';
7
+ export * from '@teamvortexsoftware/vortex-node-22-sdk';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AACjF,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEnF,OAAO,EACL,oBAAoB,EACpB,4BAA4B,EAC5B,2BAA2B,EAC3B,kCAAkC,EAClC,mCAAmC,EACnC,yBAAyB,GAC1B,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,4BAA4B,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAC9B,cAAc,GACf,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,gBAAgB,EAChB,aAAa,EACb,sBAAsB,EACtB,aAAa,GACd,MAAM,SAAS,CAAC;AAEjB,cAAc,wCAAwC,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.sanitizeInput = exports.validateRequiredFields = exports.getQueryParam = exports.parseRequestBody = exports.createErrorResponse = exports.createApiResponse = exports.handleReinvite = exports.handleDeleteInvitationsByGroup = exports.handleGetInvitationsByGroup = exports.handleAcceptInvitations = exports.handleRevokeInvitation = exports.handleGetInvitation = exports.handleGetInvitationsByTarget = exports.handleJwtGeneration = exports.createVortexReinviteRoute = exports.createVortexInvitationsByGroupRoute = exports.createVortexInvitationsAcceptRoute = exports.createVortexInvitationRoute = exports.createVortexInvitationsRoute = exports.createVortexJwtRoute = exports.authenticateRequest = exports.getVortexConfig = exports.configureVortex = void 0;
18
+ var config_1 = require("./config");
19
+ Object.defineProperty(exports, "configureVortex", { enumerable: true, get: function () { return config_1.configureVortex; } });
20
+ Object.defineProperty(exports, "getVortexConfig", { enumerable: true, get: function () { return config_1.getVortexConfig; } });
21
+ Object.defineProperty(exports, "authenticateRequest", { enumerable: true, get: function () { return config_1.authenticateRequest; } });
22
+ var routes_1 = require("./routes");
23
+ Object.defineProperty(exports, "createVortexJwtRoute", { enumerable: true, get: function () { return routes_1.createVortexJwtRoute; } });
24
+ Object.defineProperty(exports, "createVortexInvitationsRoute", { enumerable: true, get: function () { return routes_1.createVortexInvitationsRoute; } });
25
+ Object.defineProperty(exports, "createVortexInvitationRoute", { enumerable: true, get: function () { return routes_1.createVortexInvitationRoute; } });
26
+ Object.defineProperty(exports, "createVortexInvitationsAcceptRoute", { enumerable: true, get: function () { return routes_1.createVortexInvitationsAcceptRoute; } });
27
+ Object.defineProperty(exports, "createVortexInvitationsByGroupRoute", { enumerable: true, get: function () { return routes_1.createVortexInvitationsByGroupRoute; } });
28
+ Object.defineProperty(exports, "createVortexReinviteRoute", { enumerable: true, get: function () { return routes_1.createVortexReinviteRoute; } });
29
+ var jwt_1 = require("./handlers/jwt");
30
+ Object.defineProperty(exports, "handleJwtGeneration", { enumerable: true, get: function () { return jwt_1.handleJwtGeneration; } });
31
+ var invitations_1 = require("./handlers/invitations");
32
+ Object.defineProperty(exports, "handleGetInvitationsByTarget", { enumerable: true, get: function () { return invitations_1.handleGetInvitationsByTarget; } });
33
+ Object.defineProperty(exports, "handleGetInvitation", { enumerable: true, get: function () { return invitations_1.handleGetInvitation; } });
34
+ Object.defineProperty(exports, "handleRevokeInvitation", { enumerable: true, get: function () { return invitations_1.handleRevokeInvitation; } });
35
+ Object.defineProperty(exports, "handleAcceptInvitations", { enumerable: true, get: function () { return invitations_1.handleAcceptInvitations; } });
36
+ Object.defineProperty(exports, "handleGetInvitationsByGroup", { enumerable: true, get: function () { return invitations_1.handleGetInvitationsByGroup; } });
37
+ Object.defineProperty(exports, "handleDeleteInvitationsByGroup", { enumerable: true, get: function () { return invitations_1.handleDeleteInvitationsByGroup; } });
38
+ Object.defineProperty(exports, "handleReinvite", { enumerable: true, get: function () { return invitations_1.handleReinvite; } });
39
+ var utils_1 = require("./utils");
40
+ Object.defineProperty(exports, "createApiResponse", { enumerable: true, get: function () { return utils_1.createApiResponse; } });
41
+ Object.defineProperty(exports, "createErrorResponse", { enumerable: true, get: function () { return utils_1.createErrorResponse; } });
42
+ Object.defineProperty(exports, "parseRequestBody", { enumerable: true, get: function () { return utils_1.parseRequestBody; } });
43
+ Object.defineProperty(exports, "getQueryParam", { enumerable: true, get: function () { return utils_1.getQueryParam; } });
44
+ Object.defineProperty(exports, "validateRequiredFields", { enumerable: true, get: function () { return utils_1.validateRequiredFields; } });
45
+ Object.defineProperty(exports, "sanitizeInput", { enumerable: true, get: function () { return utils_1.sanitizeInput; } });
46
+ __exportStar(require("@teamvortexsoftware/vortex-node-22-sdk"), exports);
@@ -0,0 +1,42 @@
1
+ import { NextRequest } from 'next/server';
2
+ export declare function createVortexJwtRoute(): (request: NextRequest) => Promise<import("next/server").NextResponse<unknown>>;
3
+ export declare function createVortexInvitationsRoute(): {
4
+ GET(request: NextRequest): Promise<import("next/server").NextResponse<unknown>>;
5
+ };
6
+ export declare function createVortexInvitationRoute(): {
7
+ GET(request: NextRequest, { params }: {
8
+ params: {
9
+ invitationId: string;
10
+ };
11
+ }): Promise<import("next/server").NextResponse<unknown>>;
12
+ DELETE(request: NextRequest, { params }: {
13
+ params: {
14
+ invitationId: string;
15
+ };
16
+ }): Promise<import("next/server").NextResponse<unknown>>;
17
+ };
18
+ export declare function createVortexInvitationsAcceptRoute(): {
19
+ POST(request: NextRequest): Promise<import("next/server").NextResponse<unknown>>;
20
+ };
21
+ export declare function createVortexInvitationsByGroupRoute(): {
22
+ GET(request: NextRequest, { params }: {
23
+ params: {
24
+ groupType: string;
25
+ groupId: string;
26
+ };
27
+ }): Promise<import("next/server").NextResponse<unknown>>;
28
+ DELETE(request: NextRequest, { params }: {
29
+ params: {
30
+ groupType: string;
31
+ groupId: string;
32
+ };
33
+ }): Promise<import("next/server").NextResponse<unknown>>;
34
+ };
35
+ export declare function createVortexReinviteRoute(): {
36
+ POST(request: NextRequest, { params }: {
37
+ params: {
38
+ invitationId: string;
39
+ };
40
+ }): Promise<import("next/server").NextResponse<unknown>>;
41
+ };
42
+ //# sourceMappingURL=routes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"routes.d.ts","sourceRoot":"","sources":["../src/routes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAY1C,wBAAgB,oBAAoB,KACP,SAAS,WAAW,0DAGhD;AAED,wBAAgB,4BAA4B;iBAErB,WAAW;EAIjC;AAED,wBAAgB,2BAA2B;iBAEpB,WAAW,cAAc;QAAE,MAAM,EAAE;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;oBAG1D,WAAW,cAAc;QAAE,MAAM,EAAE;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;EAItF;AAED,wBAAgB,kCAAkC;kBAE1B,WAAW;EAIlC;AAED,wBAAgB,mCAAmC;iBAE5B,WAAW,cAAc;QAAE,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;oBAGxE,WAAW,cAAc;QAAE,MAAM,EAAE;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;EAIpG;AAED,wBAAgB,yBAAyB;kBAEjB,WAAW,cAAc;QAAE,MAAM,EAAE;YAAE,YAAY,EAAE,MAAM,CAAA;SAAE,CAAA;KAAE;EAIpF"}
package/dist/routes.js ADDED
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.createVortexJwtRoute = createVortexJwtRoute;
40
+ exports.createVortexInvitationsRoute = createVortexInvitationsRoute;
41
+ exports.createVortexInvitationRoute = createVortexInvitationRoute;
42
+ exports.createVortexInvitationsAcceptRoute = createVortexInvitationsAcceptRoute;
43
+ exports.createVortexInvitationsByGroupRoute = createVortexInvitationsByGroupRoute;
44
+ exports.createVortexReinviteRoute = createVortexReinviteRoute;
45
+ var jwt_1 = require("./handlers/jwt");
46
+ var invitations_1 = require("./handlers/invitations");
47
+ function createVortexJwtRoute() {
48
+ return function POST(request) {
49
+ return __awaiter(this, void 0, void 0, function () {
50
+ return __generator(this, function (_a) {
51
+ return [2 /*return*/, (0, jwt_1.handleJwtGeneration)(request)];
52
+ });
53
+ });
54
+ };
55
+ }
56
+ function createVortexInvitationsRoute() {
57
+ return {
58
+ GET: function (request) {
59
+ return __awaiter(this, void 0, void 0, function () {
60
+ return __generator(this, function (_a) {
61
+ return [2 /*return*/, (0, invitations_1.handleGetInvitationsByTarget)(request)];
62
+ });
63
+ });
64
+ },
65
+ };
66
+ }
67
+ function createVortexInvitationRoute() {
68
+ return {
69
+ GET: function (request_1, _a) {
70
+ return __awaiter(this, arguments, void 0, function (request, _b) {
71
+ var params = _b.params;
72
+ return __generator(this, function (_c) {
73
+ return [2 /*return*/, (0, invitations_1.handleGetInvitation)(request, params.invitationId)];
74
+ });
75
+ });
76
+ },
77
+ DELETE: function (request_1, _a) {
78
+ return __awaiter(this, arguments, void 0, function (request, _b) {
79
+ var params = _b.params;
80
+ return __generator(this, function (_c) {
81
+ return [2 /*return*/, (0, invitations_1.handleRevokeInvitation)(request, params.invitationId)];
82
+ });
83
+ });
84
+ },
85
+ };
86
+ }
87
+ function createVortexInvitationsAcceptRoute() {
88
+ return {
89
+ POST: function (request) {
90
+ return __awaiter(this, void 0, void 0, function () {
91
+ return __generator(this, function (_a) {
92
+ return [2 /*return*/, (0, invitations_1.handleAcceptInvitations)(request)];
93
+ });
94
+ });
95
+ },
96
+ };
97
+ }
98
+ function createVortexInvitationsByGroupRoute() {
99
+ return {
100
+ GET: function (request_1, _a) {
101
+ return __awaiter(this, arguments, void 0, function (request, _b) {
102
+ var params = _b.params;
103
+ return __generator(this, function (_c) {
104
+ return [2 /*return*/, (0, invitations_1.handleGetInvitationsByGroup)(request, params.groupType, params.groupId)];
105
+ });
106
+ });
107
+ },
108
+ DELETE: function (request_1, _a) {
109
+ return __awaiter(this, arguments, void 0, function (request, _b) {
110
+ var params = _b.params;
111
+ return __generator(this, function (_c) {
112
+ return [2 /*return*/, (0, invitations_1.handleDeleteInvitationsByGroup)(request, params.groupType, params.groupId)];
113
+ });
114
+ });
115
+ },
116
+ };
117
+ }
118
+ function createVortexReinviteRoute() {
119
+ return {
120
+ POST: function (request_1, _a) {
121
+ return __awaiter(this, arguments, void 0, function (request, _b) {
122
+ var params = _b.params;
123
+ return __generator(this, function (_c) {
124
+ return [2 /*return*/, (0, invitations_1.handleReinvite)(request, params.invitationId)];
125
+ });
126
+ });
127
+ },
128
+ };
129
+ }
@@ -0,0 +1,8 @@
1
+ import { NextRequest, NextResponse } from 'next/server';
2
+ export declare function createApiResponse(data: any, status?: number): NextResponse;
3
+ export declare function createErrorResponse(message: string, status?: number): NextResponse;
4
+ export declare function parseRequestBody(request: NextRequest): Promise<any>;
5
+ export declare function getQueryParam(request: NextRequest, param: string): string | null;
6
+ export declare function validateRequiredFields(data: any, fields: string[]): void;
7
+ export declare function sanitizeInput(input: string | null): string | null;
8
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAExD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,GAAE,MAAY,GAAG,YAAY,CAE/E;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,GAAE,MAAY,GAAG,YAAY,CAEvF;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAMzE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAEhF;AAED,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAKxE;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAQjE"}
package/dist/utils.js ADDED
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.createApiResponse = createApiResponse;
40
+ exports.createErrorResponse = createErrorResponse;
41
+ exports.parseRequestBody = parseRequestBody;
42
+ exports.getQueryParam = getQueryParam;
43
+ exports.validateRequiredFields = validateRequiredFields;
44
+ exports.sanitizeInput = sanitizeInput;
45
+ var server_1 = require("next/server");
46
+ function createApiResponse(data, status) {
47
+ if (status === void 0) { status = 200; }
48
+ return server_1.NextResponse.json(data, { status: status });
49
+ }
50
+ function createErrorResponse(message, status) {
51
+ if (status === void 0) { status = 400; }
52
+ return server_1.NextResponse.json({ error: message }, { status: status });
53
+ }
54
+ function parseRequestBody(request) {
55
+ return __awaiter(this, void 0, void 0, function () {
56
+ var error_1;
57
+ return __generator(this, function (_a) {
58
+ switch (_a.label) {
59
+ case 0:
60
+ _a.trys.push([0, 2, , 3]);
61
+ return [4 /*yield*/, request.json()];
62
+ case 1: return [2 /*return*/, _a.sent()];
63
+ case 2:
64
+ error_1 = _a.sent();
65
+ throw new Error('Invalid JSON in request body');
66
+ case 3: return [2 /*return*/];
67
+ }
68
+ });
69
+ });
70
+ }
71
+ function getQueryParam(request, param) {
72
+ return request.nextUrl.searchParams.get(param);
73
+ }
74
+ function validateRequiredFields(data, fields) {
75
+ var missing = fields.filter(function (field) { return !data[field]; });
76
+ if (missing.length > 0) {
77
+ throw new Error("Missing required fields: ".concat(missing.join(', ')));
78
+ }
79
+ }
80
+ function sanitizeInput(input) {
81
+ if (!input)
82
+ return null;
83
+ // Basic input sanitization - remove potential XSS/injection characters
84
+ return input
85
+ .trim()
86
+ .replace(/[<>'"]/g, '') // Remove basic XSS characters
87
+ .substring(0, 1000); // Limit length to prevent DoS
88
+ }
package/package.json ADDED
@@ -0,0 +1,63 @@
1
+ {
2
+ "name": "@teamvortexsoftware/vortex-nextjs-15-sdk",
3
+ "description": "Drop-in Next.js module for Vortex API integration",
4
+ "author": "@teamvortexsoftware",
5
+ "version": "0.0.1",
6
+ "main": "./dist/cjs/index.js",
7
+ "module": "./dist/esm/index.js",
8
+ "types": "./dist/esm/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "import": "./dist/esm/index.js",
12
+ "require": "./dist/cjs/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist/"
17
+ ],
18
+ "scripts": {
19
+ "build:stg": "pnpm run distclean && pnpm run build && mkdir -p dist.d/stg && mv dist dist.d/stg && echo && echo 'Build in ./dist.d/stg'",
20
+ "prepublish:stg": "cp ./LICENSE ./README.md ./dist.d/stg/ && jq '.name = \"@teamvortexsoftware/vortex-nextjs-15-sdk-stg\" | .description = \"Vortex NextJS 15 SDK (STG)\" | del(.scripts.prepack)' ./package.json > ./dist.d/stg/package.json",
21
+ "publish:stg": "pnpm run prepublish:stg && npm publish --userconfig ../../.npmrc --access restricted ./dist.d/stg",
22
+ "build:prod": "pnpm run distclean && pnpm run build && mkdir -p dist.d/prod && mv dist dist.d/prod && echo && echo 'Build in ./dist.d/prod'",
23
+ "prepublish:prod": "cp ./LICENSE ./README.md ./dist.d/prod/ && jq 'del(.scripts.prepack)' ./package.json > ./dist.d/prod/package.json",
24
+ "publish:prod": "pnpm run prepublish:prod && npm publish --userconfig ../../.npmrc --access public ./dist.d/prod",
25
+ "check-types": "tsc --noEmit",
26
+ "distclean": "rm -rf ./dist ./dist.d",
27
+ "clean": "rm -rf ./dist",
28
+ "dev": "",
29
+ "test": "jest",
30
+ "package": "pnpm run build && cd dist/vortex-nextjs-15-sdk && npm pack",
31
+ "build": "tsc -b tsconfig.json"
32
+ },
33
+ "jest": {
34
+ "rootDir": "__tests__",
35
+ "testRegex": ".*\\.spec\\.ts$",
36
+ "transform": {
37
+ "^.+\\.(t|j)s$": "ts-jest"
38
+ },
39
+ "collectCoverageFrom": [
40
+ "**/*.(t|j)s"
41
+ ],
42
+ "coverageDirectory": "coverage",
43
+ "testEnvironment": "node"
44
+ },
45
+ "devDependencies": {
46
+ "@eslint/js": "^9.24.0",
47
+ "@jest/globals": "29.7.0",
48
+ "@teamvortexsoftware/eslint-config": "workspace:*",
49
+ "@teamvortexsoftware/typescript-config": "workspace:*",
50
+ "eslint": "^9.24.0",
51
+ "jest": "29.7.0",
52
+ "typescript-eslint": "^8.30.1",
53
+ "next": "^15.0.0",
54
+ "@types/node": "^20.0.0",
55
+ "typescript": "^5.0.0"
56
+ },
57
+ "dependencies": {
58
+ "@teamvortexsoftware/vortex-node-22-sdk": "workspace:*"
59
+ },
60
+ "peerDependencies": {
61
+ "next": ">=13.0.0"
62
+ }
63
+ }