@teleporthq/teleport-plugin-next-workflows 0.43.74 → 0.44.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/__tests__/booking-calendar-feed-route.test.ts +494 -0
- package/__tests__/custom-node-result-taken-branch.test.ts +107 -0
- package/__tests__/data-api-date-parser.test.ts +45 -0
- package/__tests__/emit-custom-event-channel.test.ts +13 -0
- package/__tests__/invoice-billing-details.test.ts +278 -0
- package/__tests__/middleware-admin-panel-roles.test.ts +127 -0
- package/__tests__/page-arrival-remount.test.ts +247 -0
- package/__tests__/payment-driver-stripe.test.ts +23 -0
- package/__tests__/payment-drivers-module.test.ts +19 -0
- package/__tests__/payment-subscription-nodes.test.ts +8 -0
- package/__tests__/raw-query-error-code.test.ts +47 -0
- package/__tests__/runtime-template-token-resolution.test.ts +16 -0
- package/__tests__/segment-reply-changed-keys.test.ts +31 -0
- package/__tests__/segment-route-skipped-branch.test.ts +101 -0
- package/dist/cjs/api-route-generator.d.ts.map +1 -1
- package/dist/cjs/api-route-generator.js +23 -13
- package/dist/cjs/api-route-generator.js.map +1 -1
- package/dist/cjs/auth-generator.d.ts.map +1 -1
- package/dist/cjs/auth-generator.js +75 -27
- package/dist/cjs/auth-generator.js.map +1 -1
- package/dist/cjs/booking-calendar-feed-route-generator.d.ts +28 -0
- package/dist/cjs/booking-calendar-feed-route-generator.d.ts.map +1 -0
- package/dist/cjs/booking-calendar-feed-route-generator.js +296 -0
- package/dist/cjs/booking-calendar-feed-route-generator.js.map +1 -0
- package/dist/cjs/data-api-route-generator.d.ts +6 -8
- package/dist/cjs/data-api-route-generator.d.ts.map +1 -1
- package/dist/cjs/data-api-route-generator.js +12 -16
- package/dist/cjs/data-api-route-generator.js.map +1 -1
- package/dist/cjs/executor-generator.d.ts.map +1 -1
- package/dist/cjs/executor-generator.js +30 -2
- package/dist/cjs/executor-generator.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/invoice/invoice-assembly-code.d.ts.map +1 -1
- package/dist/cjs/invoice/invoice-assembly-code.js +46 -6
- package/dist/cjs/invoice/invoice-assembly-code.js.map +1 -1
- package/dist/cjs/invoice/invoice-html-code.d.ts.map +1 -1
- package/dist/cjs/invoice/invoice-html-code.js +10 -2
- package/dist/cjs/invoice/invoice-html-code.js.map +1 -1
- package/dist/cjs/nodes/data/data-raw-query.d.ts.map +1 -1
- package/dist/cjs/nodes/data/data-raw-query.js +11 -1
- package/dist/cjs/nodes/data/data-raw-query.js.map +1 -1
- package/dist/cjs/nodes/general/general-custom-js.d.ts.map +1 -1
- package/dist/cjs/nodes/general/general-custom-js.js +11 -0
- package/dist/cjs/nodes/general/general-custom-js.js.map +1 -1
- package/dist/cjs/nodes/general/general-emit-custom-event.d.ts.map +1 -1
- package/dist/cjs/nodes/general/general-emit-custom-event.js +3 -1
- package/dist/cjs/nodes/general/general-emit-custom-event.js.map +1 -1
- package/dist/cjs/page-arrival.d.ts +10 -0
- package/dist/cjs/page-arrival.d.ts.map +1 -0
- package/dist/cjs/page-arrival.js +86 -0
- package/dist/cjs/page-arrival.js.map +1 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.d.ts.map +1 -1
- package/dist/cjs/payments/drivers/stripe-driver-code.js +11 -0
- package/dist/cjs/payments/drivers/stripe-driver-code.js.map +1 -1
- package/dist/cjs/payments/index.d.ts +10 -4
- package/dist/cjs/payments/index.d.ts.map +1 -1
- package/dist/cjs/payments/index.js +18 -7
- package/dist/cjs/payments/index.js.map +1 -1
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/cjs/workflow-component-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-component-plugin.js +35 -149
- package/dist/cjs/workflow-component-plugin.js.map +1 -1
- package/dist/cjs/workflow-project-plugin.d.ts.map +1 -1
- package/dist/cjs/workflow-project-plugin.js +14 -4
- package/dist/cjs/workflow-project-plugin.js.map +1 -1
- package/dist/cjs/workflow-scope.d.ts +19 -0
- package/dist/cjs/workflow-scope.d.ts.map +1 -0
- package/dist/cjs/workflow-scope.js +147 -0
- package/dist/cjs/workflow-scope.js.map +1 -0
- package/dist/esm/api-route-generator.d.ts.map +1 -1
- package/dist/esm/api-route-generator.js +23 -13
- package/dist/esm/api-route-generator.js.map +1 -1
- package/dist/esm/auth-generator.d.ts.map +1 -1
- package/dist/esm/auth-generator.js +75 -27
- package/dist/esm/auth-generator.js.map +1 -1
- package/dist/esm/booking-calendar-feed-route-generator.d.ts +28 -0
- package/dist/esm/booking-calendar-feed-route-generator.d.ts.map +1 -0
- package/dist/esm/booking-calendar-feed-route-generator.js +291 -0
- package/dist/esm/booking-calendar-feed-route-generator.js.map +1 -0
- package/dist/esm/data-api-route-generator.d.ts +6 -8
- package/dist/esm/data-api-route-generator.d.ts.map +1 -1
- package/dist/esm/data-api-route-generator.js +13 -17
- package/dist/esm/data-api-route-generator.js.map +1 -1
- package/dist/esm/executor-generator.d.ts.map +1 -1
- package/dist/esm/executor-generator.js +30 -2
- package/dist/esm/executor-generator.js.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/invoice/invoice-assembly-code.d.ts.map +1 -1
- package/dist/esm/invoice/invoice-assembly-code.js +46 -6
- package/dist/esm/invoice/invoice-assembly-code.js.map +1 -1
- package/dist/esm/invoice/invoice-html-code.d.ts.map +1 -1
- package/dist/esm/invoice/invoice-html-code.js +10 -2
- package/dist/esm/invoice/invoice-html-code.js.map +1 -1
- package/dist/esm/nodes/data/data-raw-query.d.ts.map +1 -1
- package/dist/esm/nodes/data/data-raw-query.js +11 -1
- package/dist/esm/nodes/data/data-raw-query.js.map +1 -1
- package/dist/esm/nodes/general/general-custom-js.d.ts.map +1 -1
- package/dist/esm/nodes/general/general-custom-js.js +11 -0
- package/dist/esm/nodes/general/general-custom-js.js.map +1 -1
- package/dist/esm/nodes/general/general-emit-custom-event.d.ts.map +1 -1
- package/dist/esm/nodes/general/general-emit-custom-event.js +3 -1
- package/dist/esm/nodes/general/general-emit-custom-event.js.map +1 -1
- package/dist/esm/page-arrival.d.ts +10 -0
- package/dist/esm/page-arrival.d.ts.map +1 -0
- package/dist/esm/page-arrival.js +81 -0
- package/dist/esm/page-arrival.js.map +1 -0
- package/dist/esm/payments/drivers/stripe-driver-code.d.ts.map +1 -1
- package/dist/esm/payments/drivers/stripe-driver-code.js +11 -0
- package/dist/esm/payments/drivers/stripe-driver-code.js.map +1 -1
- package/dist/esm/payments/index.d.ts +10 -4
- package/dist/esm/payments/index.d.ts.map +1 -1
- package/dist/esm/payments/index.js +16 -6
- package/dist/esm/payments/index.js.map +1 -1
- package/dist/esm/tsconfig.tsbuildinfo +1 -1
- package/dist/esm/workflow-component-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-component-plugin.js +32 -146
- package/dist/esm/workflow-component-plugin.js.map +1 -1
- package/dist/esm/workflow-project-plugin.d.ts.map +1 -1
- package/dist/esm/workflow-project-plugin.js +14 -4
- package/dist/esm/workflow-project-plugin.js.map +1 -1
- package/dist/esm/workflow-scope.d.ts +19 -0
- package/dist/esm/workflow-scope.d.ts.map +1 -0
- package/dist/esm/workflow-scope.js +142 -0
- package/dist/esm/workflow-scope.js.map +1 -0
- package/package.json +4 -4
- package/src/api-route-generator.ts +23 -13
- package/src/auth-generator.ts +80 -25
- package/src/booking-calendar-feed-route-generator.ts +293 -0
- package/src/data-api-route-generator.ts +14 -19
- package/src/executor-generator.ts +30 -2
- package/src/index.ts +1 -0
- package/src/invoice/invoice-assembly-code.ts +46 -6
- package/src/invoice/invoice-html-code.ts +10 -2
- package/src/nodes/data/data-raw-query.ts +11 -1
- package/src/nodes/general/general-custom-js.ts +10 -0
- package/src/nodes/general/general-emit-custom-event.ts +3 -1
- package/src/page-arrival.ts +115 -0
- package/src/payments/drivers/stripe-driver-code.ts +11 -0
- package/src/payments/index.ts +18 -5
- package/src/workflow-component-plugin.ts +43 -188
- package/src/workflow-project-plugin.ts +15 -4
- package/src/workflow-scope.ts +184 -0
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateSessionProviderWrapper = exports.generateNextAuthUrlGuardModule = exports.generateMiddlewareFile = exports.generateSignupRouteFile = exports.generateNextAuthRouteFile = exports.generateHashPasswordFile = exports.generateAuthDbHealthFile = exports.generateAuthErrorMessagesFile = exports.generateAuthOptionsFile = exports.buildSessionUserFields = exports.SENSITIVE_USER_FIELDS = exports.SESSION_SAFE_USER_FIELDS = exports.USER_REFRESH_INTERVAL_MS = exports.getDatabaseDriverDependencies = void 0;
|
|
4
4
|
const transactional_email_code_1 = require("./transactional-email-code");
|
|
5
|
+
const teleport_shared_1 = require("@teleporthq/teleport-shared");
|
|
5
6
|
const session_cookie_resolver_1 = require("./session-cookie-resolver");
|
|
6
7
|
// GUI provider id → the actual next-auth v4 provider MODULE name, for the few
|
|
7
8
|
// cases where they differ. Everything else uses the id as the module name.
|
|
@@ -1282,8 +1283,67 @@ const selfGuardedRoutePatternOf = (protection) => {
|
|
|
1282
1283
|
}
|
|
1283
1284
|
return base === '/' ? `/[${differentiator}]` : `${base}/[${differentiator}]`;
|
|
1284
1285
|
};
|
|
1286
|
+
/** The same-site path the project redirects `/` to, or null (absent, `/` itself, or off-site). */
|
|
1287
|
+
const resolveHomeRedirect = (auth) => {
|
|
1288
|
+
const value = typeof auth.homeRedirect === 'string' ? auth.homeRedirect : '';
|
|
1289
|
+
const path = value.split('?')[0].split('#')[0];
|
|
1290
|
+
if (!path.startsWith('/') || path.startsWith('//') || path.indexOf('\\') !== -1) {
|
|
1291
|
+
return null;
|
|
1292
|
+
}
|
|
1293
|
+
const normalized = path.length > 1 ? path.replace(/\/+$/, '') : path;
|
|
1294
|
+
return normalized === '/' ? null : normalized;
|
|
1295
|
+
};
|
|
1296
|
+
/**
|
|
1297
|
+
* Where a signed-in visitor without the role a page asks for lands. A project
|
|
1298
|
+
* whose home page is not redirected keeps the code it always had. One that
|
|
1299
|
+
* redirects `/` (e.g. to an admin dashboard) only sends a visitor home when
|
|
1300
|
+
* that page admits them; otherwise to sign-in, saying why.
|
|
1301
|
+
*/
|
|
1302
|
+
const generateRoleDeniedRedirectCode = (signInRoute, homeRedirect) => {
|
|
1303
|
+
if (!homeRedirect) {
|
|
1304
|
+
return `// Where to send an authenticated user who lacks the required role. Normally the
|
|
1305
|
+
// home page ("you don't have access, here's the public site"). But when "/" is
|
|
1306
|
+
// itself a protected page (e.g. an admin dashboard published at the root), a
|
|
1307
|
+
// redirect to "/" re-enters this middleware and loops forever — so fall back to
|
|
1308
|
+
// the sign-in page (with a callbackUrl) in that case.
|
|
1309
|
+
function roleDeniedRedirect(request, pathname) {
|
|
1310
|
+
if (pathname !== '/' && !protectedRoutes['/']) {
|
|
1311
|
+
return redirectWithinLocale(request, '/');
|
|
1312
|
+
}
|
|
1313
|
+
return redirectWithinLocale(request, '${signInRoute}', pathname);
|
|
1314
|
+
}`;
|
|
1315
|
+
}
|
|
1316
|
+
return `// The project redirects "/" here before this middleware ever runs.
|
|
1317
|
+
var homeRedirect = ${JSON.stringify(homeRedirect)};
|
|
1318
|
+
|
|
1319
|
+
// Whether "/" is a way out for this visitor: the page it redirects to is not
|
|
1320
|
+
// the one being left, and admits their role. Otherwise sending them home would
|
|
1321
|
+
// land them right back on a page that refuses them — a redirect loop.
|
|
1322
|
+
function homeAdmitsRole(pathname, userRole) {
|
|
1323
|
+
var landing = normalizeMatchPath(homeRedirect);
|
|
1324
|
+
if (landing === normalizeMatchPath(pathname)) return false;
|
|
1325
|
+
var protection = resolveProtection(landing).matched;
|
|
1326
|
+
if (!protection) return true;
|
|
1327
|
+
if (protection.requiresSubscription) return false;
|
|
1328
|
+
var roles = protection.allowedRoles || [];
|
|
1329
|
+
return roles.length === 0 || roles.indexOf(userRole) >= 0;
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
// Where to send an authenticated user who lacks the required role: home when
|
|
1333
|
+
// home admits them, else the sign-in page, which is told why (error=forbidden)
|
|
1334
|
+
// and keeps a callbackUrl for an account that may open the page.
|
|
1335
|
+
function roleDeniedRedirect(request, pathname, userRole) {
|
|
1336
|
+
if (pathname !== '/' && !protectedRoutes['/'] && homeAdmitsRole(pathname, userRole)) {
|
|
1337
|
+
return redirectWithinLocale(request, '/');
|
|
1338
|
+
}
|
|
1339
|
+
var target = new URL(localizePathname(request, '${signInRoute}'), request.url);
|
|
1340
|
+
target.searchParams.set('callbackUrl', localizePathname(request, pathname));
|
|
1341
|
+
target.searchParams.set('error', 'forbidden');
|
|
1342
|
+
return NextResponse.redirect(target);
|
|
1343
|
+
}`;
|
|
1344
|
+
};
|
|
1285
1345
|
const generateMiddlewareFile = (auth, options = {}) => {
|
|
1286
|
-
var _a, _b
|
|
1346
|
+
var _a, _b;
|
|
1287
1347
|
const protectedRoutes = {};
|
|
1288
1348
|
// Page ids skipped from `protectedRoutes` because their page-load SQL is the
|
|
1289
1349
|
// access control. Tracked by id (not by route) so the folder pass below can
|
|
@@ -1349,28 +1409,26 @@ const generateMiddlewareFile = (auth, options = {}) => {
|
|
|
1349
1409
|
for (const route of authRoutes) {
|
|
1350
1410
|
delete protectedRoutes[route];
|
|
1351
1411
|
}
|
|
1352
|
-
|
|
1353
|
-
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
const ar = (_b = protectedRoutes[k]) === null || _b === void 0 ? void 0 : _b.allowedRoles;
|
|
1358
|
-
if (ar && ar.length > 0) {
|
|
1359
|
-
adminRoles = ar;
|
|
1360
|
-
break;
|
|
1361
|
-
}
|
|
1362
|
-
}
|
|
1363
|
-
}
|
|
1412
|
+
// `/admin` itself, and every admin page the map has no entry for (one an
|
|
1413
|
+
// owner added without protection), admit the admin panel's own roles — its
|
|
1414
|
+
// folder's — never the first admin route's, which may also admit another
|
|
1415
|
+
// role (a staff dashboard).
|
|
1416
|
+
const sawAdminRoute = Object.keys(protectedRoutes).some((k) => k === '/admin' || k.indexOf('/admin/') === 0);
|
|
1364
1417
|
if (sawAdminRoute && !protectedRoutes['/admin']) {
|
|
1365
|
-
|
|
1418
|
+
const panelRoles = teleport_shared_1.TableAccess.resolveAdminPanelRoles(auth);
|
|
1419
|
+
protectedRoutes['/admin'] = {
|
|
1420
|
+
requiresAuth: true,
|
|
1421
|
+
allowedRoles: panelRoles.length > 0 ? panelRoles : ['admin'],
|
|
1422
|
+
};
|
|
1366
1423
|
}
|
|
1367
1424
|
const protectedRoutesJson = JSON.stringify(protectedRoutes, null, 2);
|
|
1368
1425
|
const authRoutesJson = JSON.stringify(authRoutes);
|
|
1369
1426
|
const selfGuardedRoutesJson = JSON.stringify(selfGuardedRoutes);
|
|
1370
|
-
const signInRoute = ((
|
|
1427
|
+
const signInRoute = ((_b = auth.authPages.signIn) === null || _b === void 0 ? void 0 : _b.route) || '/auth/sign-in';
|
|
1371
1428
|
const subscriptionFallbackRoute = options.subscriptionFallbackRoute && options.subscriptionFallbackRoute.startsWith('/')
|
|
1372
1429
|
? options.subscriptionFallbackRoute
|
|
1373
1430
|
: '/';
|
|
1431
|
+
const homeRedirect = resolveHomeRedirect(auth);
|
|
1374
1432
|
return `import { NextResponse } from 'next/server';
|
|
1375
1433
|
import { getToken } from 'next-auth/jwt';
|
|
1376
1434
|
|
|
@@ -1482,17 +1540,7 @@ function redirectWithinLocale(request, pathname, callbackPath) {
|
|
|
1482
1540
|
return NextResponse.redirect(target);
|
|
1483
1541
|
}
|
|
1484
1542
|
|
|
1485
|
-
|
|
1486
|
-
// home page ("you don't have access, here's the public site"). But when "/" is
|
|
1487
|
-
// itself a protected page (e.g. an admin dashboard published at the root), a
|
|
1488
|
-
// redirect to "/" re-enters this middleware and loops forever — so fall back to
|
|
1489
|
-
// the sign-in page (with a callbackUrl) in that case.
|
|
1490
|
-
function roleDeniedRedirect(request, pathname) {
|
|
1491
|
-
if (pathname !== '/' && !protectedRoutes['/']) {
|
|
1492
|
-
return redirectWithinLocale(request, '/');
|
|
1493
|
-
}
|
|
1494
|
-
return redirectWithinLocale(request, '${signInRoute}', pathname);
|
|
1495
|
-
}
|
|
1543
|
+
${generateRoleDeniedRedirectCode(signInRoute, homeRedirect)}
|
|
1496
1544
|
|
|
1497
1545
|
// Route keys carry no trailing slash, so neither may the path we match with.
|
|
1498
1546
|
// Next.js serves "/orders/ORD-42/" and "/orders/ORD-42" as the same route;
|
|
@@ -1679,7 +1727,7 @@ async function middleware(request) {
|
|
|
1679
1727
|
}
|
|
1680
1728
|
var userRole = getUserRoleFromToken(sessionUser);
|
|
1681
1729
|
if (userRole == null || allowedRoles.indexOf(userRole) < 0) {
|
|
1682
|
-
return roleDeniedRedirect(request, pathname);
|
|
1730
|
+
return roleDeniedRedirect(request, pathname${homeRedirect ? ', userRole' : ''});
|
|
1683
1731
|
}
|
|
1684
1732
|
}
|
|
1685
1733
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-generator.js","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"auth-generator.js","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The bookings' calendar feeds: `pages/api/bookings/ical/[file].js`, emitted
|
|
3
|
+
* when the UIDL carries `bookingCalendars.feedStatement`.
|
|
4
|
+
*
|
|
5
|
+
* Each calendar link of a site's bookings is an iCalendar (RFC 5545) feed that
|
|
6
|
+
* Airbnb, Booking.com, Vrbo or Google Calendar import to block the dates the
|
|
7
|
+
* site has booked. The editor builds the one statement behind every feed (its
|
|
8
|
+
* tables and columns are the editor's business); the generated route only runs
|
|
9
|
+
* it with the link's key and writes the rows out as a calendar.
|
|
10
|
+
*/
|
|
11
|
+
import { ProjectPluginStructure } from '@teleporthq/teleport-types';
|
|
12
|
+
/**
|
|
13
|
+
* The route's source (CommonJS). GET or HEAD `/api/bookings/ical/<key>.ics`:
|
|
14
|
+
* - another method → 405 with `Allow: GET, HEAD`;
|
|
15
|
+
* - a key of the wrong shape, or one the statement returns no calendar row
|
|
16
|
+
* for → 404 (the key is the link's only credential, so both look the same);
|
|
17
|
+
* - a failed query → 500 'Calendar unavailable', the cause logged only;
|
|
18
|
+
* - else 200 with the calendar, never cached. An event row with a missing or
|
|
19
|
+
* invalid value is left out rather than failing the whole feed.
|
|
20
|
+
*/
|
|
21
|
+
export declare const generateBookingCalendarFeedRoute: (feedStatement: string) => string;
|
|
22
|
+
/**
|
|
23
|
+
* Emits the feed route when the UIDL names a feed statement, plus the `pg`
|
|
24
|
+
* driver it connects with (already present on a project with a Teleport
|
|
25
|
+
* database, which every bookings site has).
|
|
26
|
+
*/
|
|
27
|
+
export declare const generateBookingCalendarFeedFiles: (structure: ProjectPluginStructure) => void;
|
|
28
|
+
//# sourceMappingURL=booking-calendar-feed-route-generator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"booking-calendar-feed-route-generator.d.ts","sourceRoot":"","sources":["../../src/booking-calendar-feed-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAY,sBAAsB,EAAE,MAAM,4BAA4B,CAAA;AAI7E;;;;;;;;GAQG;AACH,eAAO,MAAM,gCAAgC,kBAAmB,MAAM,KAAG,MA+OxE,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,gCAAgC,cAAe,sBAAsB,KAAG,IAuBpF,CAAA"}
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.generateBookingCalendarFeedFiles = exports.generateBookingCalendarFeedRoute = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The bookings' calendar feeds: `pages/api/bookings/ical/[file].js`, emitted
|
|
6
|
+
* when the UIDL carries `bookingCalendars.feedStatement`.
|
|
7
|
+
*
|
|
8
|
+
* Each calendar link of a site's bookings is an iCalendar (RFC 5545) feed that
|
|
9
|
+
* Airbnb, Booking.com, Vrbo or Google Calendar import to block the dates the
|
|
10
|
+
* site has booked. The editor builds the one statement behind every feed (its
|
|
11
|
+
* tables and columns are the editor's business); the generated route only runs
|
|
12
|
+
* it with the link's key and writes the rows out as a calendar.
|
|
13
|
+
*/
|
|
14
|
+
const teleport_types_1 = require("@teleporthq/teleport-types");
|
|
15
|
+
const pg_client_code_1 = require("./pg-client-code");
|
|
16
|
+
const auth_generator_1 = require("./auth-generator");
|
|
17
|
+
/**
|
|
18
|
+
* The route's source (CommonJS). GET or HEAD `/api/bookings/ical/<key>.ics`:
|
|
19
|
+
* - another method → 405 with `Allow: GET, HEAD`;
|
|
20
|
+
* - a key of the wrong shape, or one the statement returns no calendar row
|
|
21
|
+
* for → 404 (the key is the link's only credential, so both look the same);
|
|
22
|
+
* - a failed query → 500 'Calendar unavailable', the cause logged only;
|
|
23
|
+
* - else 200 with the calendar, never cached. An event row with a missing or
|
|
24
|
+
* invalid value is left out rather than failing the whole feed.
|
|
25
|
+
*/
|
|
26
|
+
const generateBookingCalendarFeedRoute = (feedStatement) => {
|
|
27
|
+
return `'use strict';
|
|
28
|
+
|
|
29
|
+
// GENERATED — see generateBookingCalendarFeedRoute in
|
|
30
|
+
// @teleporthq/teleport-plugin-next-workflows/src/booking-calendar-feed-route-generator.ts.
|
|
31
|
+
//
|
|
32
|
+
// The iCalendar feed of one calendar link of the site's bookings: Airbnb,
|
|
33
|
+
// Booking.com, Vrbo or Google Calendar poll it and block the booked dates.
|
|
34
|
+
${(0, pg_client_code_1.generatePgClientCode)()}
|
|
35
|
+
|
|
36
|
+
// Built by the editor: $1 is the link's key. It returns one 'calendar' row and
|
|
37
|
+
// one 'event' row per blocked period.
|
|
38
|
+
var FEED_STATEMENT = ${JSON.stringify(feedStatement)};
|
|
39
|
+
var FEED_FILE_RE = /^([A-Za-z0-9_-]{20,80})[.]ics$/;
|
|
40
|
+
var DATE_RE = /^([0-9]{4})([0-9]{2})([0-9]{2})$/;
|
|
41
|
+
var DATE_TIME_RE = /^([0-9]{4})([0-9]{2})([0-9]{2})T([0-9]{2})([0-9]{2})([0-9]{2})Z$/;
|
|
42
|
+
var TEXT_TYPE = 'text/plain; charset=utf-8';
|
|
43
|
+
var CALENDAR_TYPE = 'text/calendar; charset=utf-8';
|
|
44
|
+
var CRLF = String.fromCharCode(13, 10);
|
|
45
|
+
var BACKSLASH = String.fromCharCode(92);
|
|
46
|
+
// RFC 5545: a content line is at most 75 octets, the line break excluded.
|
|
47
|
+
var MAX_LINE_OCTETS = 75;
|
|
48
|
+
|
|
49
|
+
// RFC 5545 TEXT: a backslash, semicolon or comma is escaped with a backslash
|
|
50
|
+
// and every line break is written as the two characters backslash and n.
|
|
51
|
+
// Other control characters are not allowed in TEXT, so they are dropped.
|
|
52
|
+
function icalText(value) {
|
|
53
|
+
var text = String(value == null ? '' : value);
|
|
54
|
+
var out = '';
|
|
55
|
+
for (var i = 0; i < text.length; i++) {
|
|
56
|
+
var ch = text.charAt(i);
|
|
57
|
+
var code = text.charCodeAt(i);
|
|
58
|
+
if (ch === BACKSLASH || ch === ';' || ch === ',') {
|
|
59
|
+
out += BACKSLASH + ch;
|
|
60
|
+
} else if (code === 13 || code === 10) {
|
|
61
|
+
// CRLF, a lone CR and a lone LF are each one line break.
|
|
62
|
+
if (code === 13 && text.charCodeAt(i + 1) === 10) {
|
|
63
|
+
i += 1;
|
|
64
|
+
}
|
|
65
|
+
out += BACKSLASH + 'n';
|
|
66
|
+
} else if (code === 9 || (code >= 32 && code !== 127)) {
|
|
67
|
+
out += ch;
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return out;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
// One content line, folded: a continuation line starts with one space (which
|
|
74
|
+
// counts toward its 75 octets), and no fold splits a UTF-8 character.
|
|
75
|
+
function icalFold(line) {
|
|
76
|
+
var out = '';
|
|
77
|
+
var used = 0;
|
|
78
|
+
for (var i = 0; i < line.length; i++) {
|
|
79
|
+
var ch = line.charAt(i);
|
|
80
|
+
var code = line.charCodeAt(i);
|
|
81
|
+
var octets = code < 0x80 ? 1 : code < 0x800 ? 2 : 3;
|
|
82
|
+
if (code >= 0xd800 && code <= 0xdbff) {
|
|
83
|
+
var low = line.charCodeAt(i + 1);
|
|
84
|
+
if (low >= 0xdc00 && low <= 0xdfff) {
|
|
85
|
+
// A surrogate pair is one 4-octet character.
|
|
86
|
+
ch = line.slice(i, i + 2);
|
|
87
|
+
octets = 4;
|
|
88
|
+
i += 1;
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
if (used + octets > MAX_LINE_OCTETS) {
|
|
92
|
+
out += CRLF + ' ';
|
|
93
|
+
used = 1;
|
|
94
|
+
}
|
|
95
|
+
out += ch;
|
|
96
|
+
used += octets;
|
|
97
|
+
}
|
|
98
|
+
return out + CRLF;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
// all_day as Postgres hands it over: a boolean, or 't' / 'f' / 'true' / 'false'.
|
|
102
|
+
// null for anything else.
|
|
103
|
+
function icalAllDay(value) {
|
|
104
|
+
if (value === true || value === false) {
|
|
105
|
+
return value;
|
|
106
|
+
}
|
|
107
|
+
var text = String(value == null ? '' : value).trim().toLowerCase();
|
|
108
|
+
if (text === 't' || text === 'true') {
|
|
109
|
+
return true;
|
|
110
|
+
}
|
|
111
|
+
if (text === 'f' || text === 'false') {
|
|
112
|
+
return false;
|
|
113
|
+
}
|
|
114
|
+
return null;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
// 'YYYYMMDD' (all day) or 'YYYYMMDDTHHMMSSZ' naming a real day and time, else
|
|
118
|
+
// null — a value like 20260231 would otherwise reach the importing calendar.
|
|
119
|
+
function icalDateValue(value, allDay) {
|
|
120
|
+
if (typeof value !== 'string') {
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
var text = value.trim();
|
|
124
|
+
var match = (allDay ? DATE_RE : DATE_TIME_RE).exec(text);
|
|
125
|
+
if (!match) {
|
|
126
|
+
return null;
|
|
127
|
+
}
|
|
128
|
+
var parts = [];
|
|
129
|
+
for (var i = 1; i <= 6; i++) {
|
|
130
|
+
parts.push(allDay && i > 3 ? 0 : Number(match[i]));
|
|
131
|
+
}
|
|
132
|
+
var date = new Date(Date.UTC(parts[0], parts[1] - 1, parts[2], parts[3], parts[4], parts[5]));
|
|
133
|
+
var actual = [
|
|
134
|
+
date.getUTCFullYear(),
|
|
135
|
+
date.getUTCMonth() + 1,
|
|
136
|
+
date.getUTCDate(),
|
|
137
|
+
date.getUTCHours(),
|
|
138
|
+
date.getUTCMinutes(),
|
|
139
|
+
date.getUTCSeconds(),
|
|
140
|
+
];
|
|
141
|
+
return actual.join(',') === parts.join(',') ? text : null;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
// The VEVENT lines of one event row, or null when a value is missing or invalid.
|
|
145
|
+
function icalEventLines(row, stamp) {
|
|
146
|
+
var uid = row.uid == null ? '' : String(row.uid).trim();
|
|
147
|
+
var allDay = icalAllDay(row.all_day);
|
|
148
|
+
if (uid === '' || allDay === null) {
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
var start = icalDateValue(row.start_value, allDay);
|
|
152
|
+
var end = icalDateValue(row.end_value, allDay);
|
|
153
|
+
// The end is exclusive, so it must come after the start. Two values of the
|
|
154
|
+
// same format compare correctly as strings.
|
|
155
|
+
if (start === null || end === null || end <= start) {
|
|
156
|
+
return null;
|
|
157
|
+
}
|
|
158
|
+
var valueParam = allDay ? ';VALUE=DATE:' : ':';
|
|
159
|
+
return [
|
|
160
|
+
'BEGIN:VEVENT',
|
|
161
|
+
'UID:' + icalText(uid),
|
|
162
|
+
'DTSTAMP:' + stamp,
|
|
163
|
+
'DTSTART' + valueParam + start,
|
|
164
|
+
'DTEND' + valueParam + end,
|
|
165
|
+
'SUMMARY:' + icalText(row.summary),
|
|
166
|
+
'TRANSP:OPAQUE',
|
|
167
|
+
'END:VEVENT',
|
|
168
|
+
];
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
// 'YYYYMMDDTHHMMSSZ' of an instant, in UTC.
|
|
172
|
+
function icalStamp(date) {
|
|
173
|
+
var iso = date.toISOString();
|
|
174
|
+
return (
|
|
175
|
+
iso.slice(0, 4) + iso.slice(5, 7) + iso.slice(8, 10) + 'T' +
|
|
176
|
+
iso.slice(11, 13) + iso.slice(14, 16) + iso.slice(17, 19) + 'Z'
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
function icalCalendar(calendarRow, rows, now) {
|
|
181
|
+
var stamp = icalStamp(now);
|
|
182
|
+
var lines = [
|
|
183
|
+
'BEGIN:VCALENDAR',
|
|
184
|
+
'VERSION:2.0',
|
|
185
|
+
'PRODID:-//TeleportHQ//Bookings//EN',
|
|
186
|
+
'CALSCALE:GREGORIAN',
|
|
187
|
+
'METHOD:PUBLISH',
|
|
188
|
+
'X-WR-CALNAME:' + icalText(calendarRow.calendar_name),
|
|
189
|
+
'REFRESH-INTERVAL;VALUE=DURATION:PT30M',
|
|
190
|
+
'X-PUBLISHED-TTL:PT30M',
|
|
191
|
+
];
|
|
192
|
+
for (var i = 0; i < rows.length; i++) {
|
|
193
|
+
if (rows[i] && rows[i].kind === 'event') {
|
|
194
|
+
var eventLines = icalEventLines(rows[i], stamp);
|
|
195
|
+
if (eventLines) {
|
|
196
|
+
lines = lines.concat(eventLines);
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
lines.push('END:VCALENDAR');
|
|
201
|
+
var body = '';
|
|
202
|
+
for (var j = 0; j < lines.length; j++) {
|
|
203
|
+
body += icalFold(lines[j]);
|
|
204
|
+
}
|
|
205
|
+
return body;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
// Never cached: a booking can block a date between two polls. A HEAD request
|
|
209
|
+
// gets the headers GET would, without the body.
|
|
210
|
+
function icalSend(res, status, contentType, body, headOnly) {
|
|
211
|
+
res.statusCode = status;
|
|
212
|
+
res.setHeader('Content-Type', contentType);
|
|
213
|
+
res.setHeader('Cache-Control', 'no-store');
|
|
214
|
+
res.setHeader('Content-Length', String(Buffer.byteLength(body, 'utf8')));
|
|
215
|
+
if (headOnly) {
|
|
216
|
+
res.end();
|
|
217
|
+
} else {
|
|
218
|
+
res.end(body);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
module.exports = async function handler(req, res) {
|
|
223
|
+
if (req.method !== 'GET' && req.method !== 'HEAD') {
|
|
224
|
+
res.setHeader('Allow', 'GET, HEAD');
|
|
225
|
+
return icalSend(res, 405, TEXT_TYPE, 'Method not allowed', false);
|
|
226
|
+
}
|
|
227
|
+
var headOnly = req.method === 'HEAD';
|
|
228
|
+
var file = req.query && typeof req.query.file === 'string' ? req.query.file : '';
|
|
229
|
+
var fileMatch = FEED_FILE_RE.exec(file);
|
|
230
|
+
if (!fileMatch) {
|
|
231
|
+
return icalSend(res, 404, TEXT_TYPE, 'Not found', headOnly);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
var rows = null;
|
|
235
|
+
var client = null;
|
|
236
|
+
try {
|
|
237
|
+
client = getClient();
|
|
238
|
+
await client.connect();
|
|
239
|
+
var result = await client.query(FEED_STATEMENT, [fileMatch[1]]);
|
|
240
|
+
rows = result && Array.isArray(result.rows) ? result.rows : [];
|
|
241
|
+
} catch (e) {
|
|
242
|
+
console.error('[bookings-ical] calendar feed query failed:', e && e.message ? e.message : e);
|
|
243
|
+
} finally {
|
|
244
|
+
if (client) {
|
|
245
|
+
try { await client.end(); } catch (e) {}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
if (rows === null) {
|
|
249
|
+
return icalSend(res, 500, TEXT_TYPE, 'Calendar unavailable', headOnly);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
var calendarRow = null;
|
|
253
|
+
for (var i = 0; i < rows.length && calendarRow === null; i++) {
|
|
254
|
+
if (rows[i] && rows[i].kind === 'calendar') {
|
|
255
|
+
calendarRow = rows[i];
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
if (calendarRow === null) {
|
|
259
|
+
return icalSend(res, 404, TEXT_TYPE, 'Not found', headOnly);
|
|
260
|
+
}
|
|
261
|
+
res.setHeader('Content-Disposition', 'inline; filename="' + file + '"');
|
|
262
|
+
return icalSend(res, 200, CALENDAR_TYPE, icalCalendar(calendarRow, rows, new Date()), headOnly);
|
|
263
|
+
};
|
|
264
|
+
`;
|
|
265
|
+
};
|
|
266
|
+
exports.generateBookingCalendarFeedRoute = generateBookingCalendarFeedRoute;
|
|
267
|
+
/**
|
|
268
|
+
* Emits the feed route when the UIDL names a feed statement, plus the `pg`
|
|
269
|
+
* driver it connects with (already present on a project with a Teleport
|
|
270
|
+
* database, which every bookings site has).
|
|
271
|
+
*/
|
|
272
|
+
const generateBookingCalendarFeedFiles = (structure) => {
|
|
273
|
+
var _a;
|
|
274
|
+
const feedStatement = (_a = structure.uidl.bookingCalendars) === null || _a === void 0 ? void 0 : _a.feedStatement;
|
|
275
|
+
if (typeof feedStatement !== 'string' || feedStatement.trim() === '') {
|
|
276
|
+
return;
|
|
277
|
+
}
|
|
278
|
+
structure.files.set('bookings-ical-feed-route', {
|
|
279
|
+
path: ['pages', 'api', 'bookings', 'ical'],
|
|
280
|
+
files: [
|
|
281
|
+
{
|
|
282
|
+
name: '[file]',
|
|
283
|
+
fileType: teleport_types_1.FileType.JS,
|
|
284
|
+
content: (0, exports.generateBookingCalendarFeedRoute)(feedStatement),
|
|
285
|
+
},
|
|
286
|
+
],
|
|
287
|
+
});
|
|
288
|
+
const driverDependencies = (0, auth_generator_1.getDatabaseDriverDependencies)('teleport');
|
|
289
|
+
for (const [pkg, version] of Object.entries(driverDependencies)) {
|
|
290
|
+
if (!structure.dependencies[pkg]) {
|
|
291
|
+
structure.dependencies[pkg] = version;
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
exports.generateBookingCalendarFeedFiles = generateBookingCalendarFeedFiles;
|
|
296
|
+
//# sourceMappingURL=booking-calendar-feed-route-generator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"booking-calendar-feed-route-generator.js","sourceRoot":"","sources":["../../src/booking-calendar-feed-route-generator.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;;GASG;AACH,+DAA6E;AAC7E,qDAAuD;AACvD,qDAAgE;AAEhE;;;;;;;;GAQG;AACI,MAAM,gCAAgC,GAAG,CAAC,aAAqB,EAAU,EAAE;IAChF,OAAO;;;;;;;EAOP,IAAA,qCAAoB,GAAE;;;;uBAID,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkOnD,CAAA;AACD,CAAC,CAAA;AA/OY,QAAA,gCAAgC,oCA+O5C;AAED;;;;GAIG;AACI,MAAM,gCAAgC,GAAG,CAAC,SAAiC,EAAQ,EAAE;;IAC1F,MAAM,aAAa,GAAG,MAAA,SAAS,CAAC,IAAI,CAAC,gBAAgB,0CAAE,aAAa,CAAA;IACpE,IAAI,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpE,OAAM;KACP;IAED,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,0BAA0B,EAAE;QAC9C,IAAI,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC;QAC1C,KAAK,EAAE;YACL;gBACE,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,yBAAQ,CAAC,EAAE;gBACrB,OAAO,EAAE,IAAA,wCAAgC,EAAC,aAAa,CAAC;aACzD;SACF;KACF,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,IAAA,8CAA6B,EAAC,UAAU,CAAC,CAAA;IACpE,KAAK,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE;QAC/D,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;YAChC,SAAS,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAA;SACtC;KACF;AACH,CAAC,CAAA;AAvBY,QAAA,gCAAgC,oCAuB5C"}
|
|
@@ -10,6 +10,7 @@
|
|
|
10
10
|
* All interpolated identifiers (table names, column names, sort fields, filter
|
|
11
11
|
* fields) are validated to prevent SQL injection.
|
|
12
12
|
*/
|
|
13
|
+
import { ContentTables } from '@teleporthq/teleport-shared';
|
|
13
14
|
export declare const needsDataAPIRoute: (usedNodeTypes: Set<string>) => boolean;
|
|
14
15
|
export interface DataAPIRouteOptions {
|
|
15
16
|
authUsersTableName?: string;
|
|
@@ -34,14 +35,11 @@ export interface DataAPIRouteOptions {
|
|
|
34
35
|
export declare const BROWSER_READABLE_TABLES: ReadonlyArray<string>;
|
|
35
36
|
/**
|
|
36
37
|
* What a browser is served of the readable tables whose unpublished rows sit
|
|
37
|
-
* beside the public ones — the same
|
|
38
|
-
* (teleport-plugin-next-data-source `browser-row-policy.ts
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* beside the public ones — the same map the per-table read routes apply
|
|
39
|
+
* (teleport-plugin-next-data-source `browser-row-policy.ts`): both read it from
|
|
40
|
+
* teleport-shared. A browser may not filter or sort by a hidden column: a
|
|
41
|
+
* filter is an oracle for a column it never returns.
|
|
41
42
|
*/
|
|
42
|
-
export declare const BROWSER_ROW_POLICIES: Readonly<Record<string,
|
|
43
|
-
predicate: string;
|
|
44
|
-
hiddenColumns: ReadonlyArray<string>;
|
|
45
|
-
}>>;
|
|
43
|
+
export declare const BROWSER_ROW_POLICIES: Readonly<Record<string, ContentTables.VisitorRowPolicy>>;
|
|
46
44
|
export declare const generateDataAPIRoute: (options?: DataAPIRouteOptions) => string;
|
|
47
45
|
//# sourceMappingURL=data-api-route-generator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-api-route-generator.d.ts","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"data-api-route-generator.d.ts","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,aAAa,EAAe,MAAM,6BAA6B,CAAA;AAexE,eAAO,MAAM,iBAAiB,kBAAmB,IAAI,MAAM,CAAC,KAAG,OAO9D,CAAA;AAED,MAAM,WAAW,mBAAmB;IAIlC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAQ3B,qBAAqB,CAAC,EAAE,OAAO,CAAA;IAI/B,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,uBAAuB,EAAE,aAAa,CAAC,MAAM,CASzD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oBAAoB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,gBAAgB,CAAC,CACtD,CAAA;AAEpC,eAAO,MAAM,oBAAoB,aAAa,mBAAmB,KAAQ,MAsqCxE,CAAA"}
|