@teamvortexsoftware/vortex-nextjs-15-sdk 0.0.9 → 0.2.0

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/README.md CHANGED
@@ -2,6 +2,21 @@
2
2
 
3
3
  Drop-in Next.js integration for Vortex invitations and JWT functionality. Get up and running in under 2 minutes!
4
4
 
5
+ ## Features
6
+
7
+ ### Invitation Delivery Types
8
+
9
+ Vortex supports multiple delivery methods for invitations:
10
+
11
+ - **`email`** - Email invitations sent by Vortex (includes reminders and nudges)
12
+ - **`phone`** - Phone invitations sent by the user/customer
13
+ - **`share`** - Shareable invitation links for social sharing
14
+ - **`internal`** - Internal invitations managed entirely by your application
15
+ - No email/SMS communication triggered by Vortex
16
+ - Target value can be any customer-defined identifier (UUID, string, number)
17
+ - Useful for in-app invitation flows where you handle the delivery
18
+ - Example use case: In-app notifications, dashboard invites, etc.
19
+
5
20
  ## 🚀 Quick Start
6
21
 
7
22
  ```bash
@@ -263,9 +278,9 @@ This SDK re-exports everything from `@teamvortexsoftware/vortex-node-22-sdk`, so
263
278
  ## 🔗 Links
264
279
 
265
280
  - [Node.js SDK Documentation](../vortex-node-22-sdk/README.md)
266
- - [React Provider Documentation](../vortex-react-provider/README.md)
267
- - [Example Implementation](../../apps/demo-react)
281
+ - [React Provider Documentation](../../packages/vortex-react-provider/README.md)
282
+ - [Example Implementation](../../apps/acmetasks)
268
283
 
269
284
  ---
270
285
 
271
- **Need help?** Open an issue or check the example implementation in `apps/demo-react`
286
+ **Need help?** Open an issue or check the example implementation in `apps/acmetasks`
package/dist/config.d.ts CHANGED
@@ -2,9 +2,11 @@ import { NextRequest } from 'next/server';
2
2
  export interface AuthenticatedUser {
3
3
  userId: string;
4
4
  userEmail?: string;
5
+ name?: string;
6
+ avatarUrl?: string;
5
7
  adminScopes?: string[];
6
8
  identifiers?: {
7
- type: 'email' | 'sms';
9
+ type: 'email' | 'phone';
8
10
  value: string;
9
11
  }[];
10
12
  groups?: {
@@ -21,10 +23,15 @@ export interface InvitationResource {
21
23
  }
22
24
  export interface InvitationTargetResource {
23
25
  invitationIds: string[];
24
- target: {
26
+ target?: {
25
27
  type: string;
26
28
  value: string;
27
29
  };
30
+ user?: {
31
+ email?: string;
32
+ phone?: string;
33
+ name?: string;
34
+ };
28
35
  }
29
36
  export interface GroupResource {
30
37
  groupType: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"invitations.d.ts","sourceRoot":"","sources":["../../src/handlers/invitations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,WAAW,wDAuCtE;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wDAgCnF;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wDA8BtF;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,WAAW,wDAmDjE;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wDAmCzG;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wDAmC5G;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wDA8B9E"}
1
+ {"version":3,"file":"invitations.d.ts","sourceRoot":"","sources":["../../src/handlers/invitations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,wBAAsB,4BAA4B,CAAC,OAAO,EAAE,WAAW,wDAuCtE;AAED,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wDAgCnF;AAED,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wDA8BtF;AAED,wBAAsB,uBAAuB,CAAC,OAAO,EAAE,WAAW,wDAwEjE;AAED,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wDAmCzG;AAED,wBAAsB,8BAA8B,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,wDAmC5G;AAED,wBAAsB,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,wDA8B9E"}
@@ -197,7 +197,7 @@ function handleRevokeInvitation(request, invitationId) {
197
197
  }
198
198
  function handleAcceptInvitations(request) {
199
199
  return __awaiter(this, void 0, void 0, function () {
200
- var body, invitationIds, target, sanitizedIds, config, user, hasAccess, vortex, result, error_4;
200
+ var body, invitationIds, target, user, sanitizedIds, acceptData, config, authenticatedUser, hasAccess, vortex, result, error_4;
201
201
  return __generator(this, function (_a) {
202
202
  switch (_a.label) {
203
203
  case 0:
@@ -208,8 +208,7 @@ function handleAcceptInvitations(request) {
208
208
  return [4 /*yield*/, (0, utils_1.parseRequestBody)(request)];
209
209
  case 1:
210
210
  body = _a.sent();
211
- (0, utils_1.validateRequiredFields)(body, ['invitationIds', 'target']);
212
- invitationIds = body.invitationIds, target = body.target;
211
+ invitationIds = body.invitationIds, target = body.target, user = body.user;
213
212
  if (!Array.isArray(invitationIds) || invitationIds.length === 0) {
214
213
  return [2 /*return*/, (0, utils_1.createErrorResponse)('invitationIds must be a non-empty array', 400)];
215
214
  }
@@ -217,20 +216,43 @@ function handleAcceptInvitations(request) {
217
216
  if (sanitizedIds.length !== invitationIds.length) {
218
217
  return [2 /*return*/, (0, utils_1.createErrorResponse)('Invalid invitation IDs provided', 400)];
219
218
  }
220
- if (!target.type || !target.value) {
221
- return [2 /*return*/, (0, utils_1.createErrorResponse)('target must have type and value properties', 400)];
222
- }
223
- if (!['email', 'username', 'phoneNumber'].includes(target.type)) {
224
- return [2 /*return*/, (0, utils_1.createErrorResponse)('target.type must be email, username, or phoneNumber', 400)];
219
+ // Support both new format (user) and legacy format (target)
220
+ if (!user && !target) {
221
+ return [2 /*return*/, (0, utils_1.createErrorResponse)('Either user or target must be provided', 400)];
222
+ }
223
+ acceptData = void 0;
224
+ if (user) {
225
+ // New format: user object with email/phone
226
+ if (!user.email && !user.phone) {
227
+ return [2 /*return*/, (0, utils_1.createErrorResponse)('user must have either email or phone', 400)];
228
+ }
229
+ acceptData = {
230
+ email: user.email ? (0, utils_1.sanitizeInput)(user.email) : undefined,
231
+ phone: user.phone ? (0, utils_1.sanitizeInput)(user.phone) : undefined,
232
+ name: user.name ? (0, utils_1.sanitizeInput)(user.name) : undefined,
233
+ };
234
+ }
235
+ else {
236
+ // Legacy format: target object
237
+ if (!target.type || !target.value) {
238
+ return [2 /*return*/, (0, utils_1.createErrorResponse)('target must have type and value properties', 400)];
239
+ }
240
+ if (!['email', 'username', 'phoneNumber', 'phone'].includes(target.type)) {
241
+ return [2 /*return*/, (0, utils_1.createErrorResponse)('target.type must be email, username, phoneNumber, or phone', 400)];
242
+ }
243
+ acceptData = {
244
+ type: target.type,
245
+ value: (0, utils_1.sanitizeInput)(target.value) || target.value
246
+ };
225
247
  }
226
248
  return [4 /*yield*/, (0, config_1.getVortexConfig)(request)];
227
249
  case 2:
228
250
  config = _a.sent();
229
251
  return [4 /*yield*/, (0, config_1.authenticateRequest)(request)];
230
252
  case 3:
231
- user = _a.sent();
253
+ authenticatedUser = _a.sent();
232
254
  if (!config.canAcceptInvitations) return [3 /*break*/, 5];
233
- return [4 /*yield*/, config.canAcceptInvitations(request, user, { invitationIds: sanitizedIds, target: target })];
255
+ return [4 /*yield*/, config.canAcceptInvitations(request, authenticatedUser, { invitationIds: sanitizedIds, target: target, user: user })];
234
256
  case 4:
235
257
  hasAccess = _a.sent();
236
258
  if (!hasAccess) {
@@ -238,16 +260,13 @@ function handleAcceptInvitations(request) {
238
260
  }
239
261
  return [3 /*break*/, 6];
240
262
  case 5:
241
- if (!user) {
263
+ if (!authenticatedUser) {
242
264
  return [2 /*return*/, (0, utils_1.createErrorResponse)('Access denied. Configure access control hooks for invitation endpoints.', 403)];
243
265
  }
244
266
  _a.label = 6;
245
267
  case 6:
246
268
  vortex = new vortex_node_22_sdk_1.Vortex(config.apiKey);
247
- return [4 /*yield*/, vortex.acceptInvitations(sanitizedIds, {
248
- type: target.type,
249
- value: (0, utils_1.sanitizeInput)(target.value) || target.value
250
- })];
269
+ return [4 /*yield*/, vortex.acceptInvitations(sanitizedIds, acceptData)];
251
270
  case 7:
252
271
  result = _a.sent();
253
272
  return [2 /*return*/, (0, utils_1.createApiResponse)(result)];
@@ -1 +1 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/handlers/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,WAAW,wDAuF7D"}
1
+ {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/handlers/jwt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAK1C,wBAAsB,mBAAmB,CAAC,OAAO,EAAE,WAAW,wDAyF7D"}
@@ -120,7 +120,7 @@ function handleJwtGeneration(request) {
120
120
  return [2 /*return*/, (0, utils_1.createErrorResponse)('Invalid user format: must provide userId and userEmail', 500)];
121
121
  }
122
122
  jwtParams = {
123
- user: __assign({ id: authenticatedUser.userId, email: authenticatedUser.userEmail }, (authenticatedUser.adminScopes && authenticatedUser.adminScopes.length > 0 && {
123
+ user: __assign(__assign(__assign({ id: authenticatedUser.userId, email: authenticatedUser.userEmail }, (authenticatedUser.name && { name: authenticatedUser.name })), (authenticatedUser.avatarUrl && { avatarUrl: authenticatedUser.avatarUrl })), (authenticatedUser.adminScopes && authenticatedUser.adminScopes.length > 0 && {
124
124
  adminScopes: authenticatedUser.adminScopes
125
125
  })),
126
126
  };
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@teamvortexsoftware/vortex-nextjs-15-sdk",
3
3
  "description": "Drop-in Next.js module for Vortex API integration",
4
4
  "author": "@teamvortexsoftware",
5
- "version": "0.0.9",
5
+ "version": "0.2.0",
6
6
  "main": "./dist/index.js",
7
7
  "types": "./dist/index.d.ts",
8
8
  "bin": {
@@ -32,17 +32,17 @@
32
32
  "testEnvironment": "node"
33
33
  },
34
34
  "devDependencies": {
35
- "@eslint/js": "9.39.1",
35
+ "@eslint/js": "9.39.2",
36
36
  "@jest/globals": "29.7.0",
37
37
  "@types/node": "24.10.1",
38
- "eslint": "9.39.1",
38
+ "eslint": "9.39.2",
39
39
  "jest": "29.7.0",
40
40
  "next": "^15.5.9",
41
41
  "ts-jest": "29.4.6",
42
- "typescript-eslint": "8.46.2"
42
+ "typescript-eslint": "8.50.1"
43
43
  },
44
44
  "dependencies": {
45
- "@teamvortexsoftware/vortex-node-22-sdk": "^0.1.2"
45
+ "@teamvortexsoftware/vortex-node-22-sdk": "^0.3.0"
46
46
  },
47
47
  "peerDependencies": {
48
48
  "next": ">=13.0.0"