@teleporthq/teleport-plugin-next-workflows 0.43.75 → 0.44.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.
- package/__tests__/_helpers/fake-store-database.ts +428 -0
- package/__tests__/_helpers/invoice-store.ts +382 -0
- 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__/email-locale-senders.test.ts +3 -1
- package/__tests__/email-sender-name.test.ts +513 -0
- package/__tests__/graph-utils-topological-order.test.ts +155 -1
- package/__tests__/invoice-billing-details.test.ts +384 -0
- package/__tests__/invoice-data-access-replace.test.ts +236 -2
- package/__tests__/invoice-order-items-settle.test.ts +1 -1
- package/__tests__/invoice-payment-email.test.ts +191 -0
- package/__tests__/invoice-regenerate-email.test.ts +288 -0
- package/__tests__/invoice-regenerate-route.test.ts +9 -7
- package/__tests__/invoice-reservation.test.ts +1 -1
- package/__tests__/invoice-tender.test.ts +1 -1
- package/__tests__/middleware-admin-panel-roles.test.ts +127 -0
- package/__tests__/page-arrival-remount.test.ts +247 -0
- package/__tests__/payment-drivers-module.test.ts +19 -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/__tests__/segment-splitter-checkout-order.test.ts +306 -0
- package/__tests__/streaming-on-end-env-filter.test.ts +18 -18
- package/__tests__/streaming-on-end-order.test.ts +387 -0
- package/dist/cjs/account-delete-route-generator.d.ts +1 -0
- package/dist/cjs/account-delete-route-generator.d.ts.map +1 -1
- package/dist/cjs/account-delete-route-generator.js +2 -1
- package/dist/cjs/account-delete-route-generator.js.map +1 -1
- 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 +1 -0
- package/dist/cjs/auth-generator.d.ts.map +1 -1
- package/dist/cjs/auth-generator.js +77 -28
- 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.map +1 -1
- package/dist/cjs/data-api-route-generator.js +6 -1
- 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 +39 -28
- package/dist/cjs/executor-generator.js.map +1 -1
- package/dist/cjs/graph-utils.d.ts +31 -1
- package/dist/cjs/graph-utils.d.ts.map +1 -1
- package/dist/cjs/graph-utils.js +112 -10
- package/dist/cjs/graph-utils.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/api-routes-code.d.ts +12 -3
- package/dist/cjs/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/cjs/invoice/api-routes-code.js +152 -21
- package/dist/cjs/invoice/api-routes-code.js.map +1 -1
- package/dist/cjs/invoice/data-access-code.d.ts.map +1 -1
- package/dist/cjs/invoice/data-access-code.js +133 -21
- package/dist/cjs/invoice/data-access-code.js.map +1 -1
- package/dist/cjs/invoice/email-sender-code.d.ts.map +1 -1
- package/dist/cjs/invoice/email-sender-code.js +15 -25
- package/dist/cjs/invoice/email-sender-code.js.map +1 -1
- package/dist/cjs/invoice/index.js +1 -1
- package/dist/cjs/invoice/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 +50 -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 +13 -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/email/email-mailgun.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-mailgun.js +4 -2
- package/dist/cjs/nodes/email/email-mailgun.js.map +1 -1
- package/dist/cjs/nodes/email/email-postmark.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-postmark.js +5 -2
- package/dist/cjs/nodes/email/email-postmark.js.map +1 -1
- package/dist/cjs/nodes/email/email-resend.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-resend.js +5 -2
- package/dist/cjs/nodes/email/email-resend.js.map +1 -1
- package/dist/cjs/nodes/email/email-sendgrid.d.ts.map +1 -1
- package/dist/cjs/nodes/email/email-sendgrid.js +8 -2
- package/dist/cjs/nodes/email/email-sendgrid.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/storage/storage-local-remove.d.ts.map +1 -1
- package/dist/cjs/nodes/storage/storage-local-remove.js +2 -0
- package/dist/cjs/nodes/storage/storage-local-remove.js.map +1 -1
- package/dist/cjs/nodes/storage/storage-local-set.d.ts.map +1 -1
- package/dist/cjs/nodes/storage/storage-local-set.js +4 -0
- package/dist/cjs/nodes/storage/storage-local-set.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/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/segment-splitter.d.ts.map +1 -1
- package/dist/cjs/segment-splitter.js +65 -27
- package/dist/cjs/segment-splitter.js.map +1 -1
- package/dist/cjs/transactional-email-code.d.ts.map +1 -1
- package/dist/cjs/transactional-email-code.js +32 -18
- package/dist/cjs/transactional-email-code.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 +16 -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/account-delete-route-generator.d.ts +1 -0
- package/dist/esm/account-delete-route-generator.d.ts.map +1 -1
- package/dist/esm/account-delete-route-generator.js +2 -1
- package/dist/esm/account-delete-route-generator.js.map +1 -1
- 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 +1 -0
- package/dist/esm/auth-generator.d.ts.map +1 -1
- package/dist/esm/auth-generator.js +77 -28
- 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.map +1 -1
- package/dist/esm/data-api-route-generator.js +6 -1
- 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 +39 -28
- package/dist/esm/executor-generator.js.map +1 -1
- package/dist/esm/graph-utils.d.ts +31 -1
- package/dist/esm/graph-utils.d.ts.map +1 -1
- package/dist/esm/graph-utils.js +109 -9
- package/dist/esm/graph-utils.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/api-routes-code.d.ts +12 -3
- package/dist/esm/invoice/api-routes-code.d.ts.map +1 -1
- package/dist/esm/invoice/api-routes-code.js +152 -21
- package/dist/esm/invoice/api-routes-code.js.map +1 -1
- package/dist/esm/invoice/data-access-code.d.ts.map +1 -1
- package/dist/esm/invoice/data-access-code.js +133 -21
- package/dist/esm/invoice/data-access-code.js.map +1 -1
- package/dist/esm/invoice/email-sender-code.d.ts.map +1 -1
- package/dist/esm/invoice/email-sender-code.js +15 -25
- package/dist/esm/invoice/email-sender-code.js.map +1 -1
- package/dist/esm/invoice/index.js +1 -1
- package/dist/esm/invoice/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 +50 -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 +13 -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/email/email-mailgun.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-mailgun.js +4 -2
- package/dist/esm/nodes/email/email-mailgun.js.map +1 -1
- package/dist/esm/nodes/email/email-postmark.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-postmark.js +5 -2
- package/dist/esm/nodes/email/email-postmark.js.map +1 -1
- package/dist/esm/nodes/email/email-resend.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-resend.js +5 -2
- package/dist/esm/nodes/email/email-resend.js.map +1 -1
- package/dist/esm/nodes/email/email-sendgrid.d.ts.map +1 -1
- package/dist/esm/nodes/email/email-sendgrid.js +8 -2
- package/dist/esm/nodes/email/email-sendgrid.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/storage/storage-local-remove.d.ts.map +1 -1
- package/dist/esm/nodes/storage/storage-local-remove.js +2 -0
- package/dist/esm/nodes/storage/storage-local-remove.js.map +1 -1
- package/dist/esm/nodes/storage/storage-local-set.d.ts.map +1 -1
- package/dist/esm/nodes/storage/storage-local-set.js +4 -0
- package/dist/esm/nodes/storage/storage-local-set.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/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/segment-splitter.d.ts.map +1 -1
- package/dist/esm/segment-splitter.js +66 -28
- package/dist/esm/segment-splitter.js.map +1 -1
- package/dist/esm/transactional-email-code.d.ts.map +1 -1
- package/dist/esm/transactional-email-code.js +32 -18
- package/dist/esm/transactional-email-code.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 +16 -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/account-delete-route-generator.ts +3 -1
- package/src/api-route-generator.ts +23 -13
- package/src/auth-generator.ts +83 -26
- package/src/booking-calendar-feed-route-generator.ts +293 -0
- package/src/data-api-route-generator.ts +6 -1
- package/src/executor-generator.ts +39 -28
- package/src/graph-utils.ts +143 -11
- package/src/index.ts +1 -0
- package/src/invoice/api-routes-code.ts +166 -21
- package/src/invoice/data-access-code.ts +139 -21
- package/src/invoice/email-sender-code.ts +15 -25
- package/src/invoice/index.ts +1 -1
- package/src/invoice/invoice-assembly-code.ts +50 -6
- package/src/invoice/invoice-html-code.ts +13 -2
- package/src/nodes/data/data-raw-query.ts +11 -1
- package/src/nodes/email/email-mailgun.ts +11 -2
- package/src/nodes/email/email-postmark.ts +12 -2
- package/src/nodes/email/email-resend.ts +12 -2
- package/src/nodes/email/email-sendgrid.ts +15 -2
- package/src/nodes/general/general-custom-js.ts +10 -0
- package/src/nodes/storage/storage-local-remove.ts +4 -0
- package/src/nodes/storage/storage-local-set.ts +6 -0
- package/src/page-arrival.ts +115 -0
- package/src/payments/index.ts +18 -5
- package/src/segment-splitter.ts +90 -36
- package/src/transactional-email-code.ts +32 -21
- package/src/workflow-component-plugin.ts +43 -188
- package/src/workflow-project-plugin.ts +17 -4
- package/src/workflow-scope.ts +184 -0
|
@@ -71,6 +71,7 @@ export declare const generateNextAuthRouteFile: () => string;
|
|
|
71
71
|
export interface WelcomeEmailOptions {
|
|
72
72
|
emailProvider?: string | null;
|
|
73
73
|
fromEmail?: string;
|
|
74
|
+
fromName?: string;
|
|
74
75
|
emailSecretEnvName?: string | null;
|
|
75
76
|
emailSubject?: string;
|
|
76
77
|
emailBodyHtml?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,EACf,MAAM,4BAA4B,CAAA;
|
|
1
|
+
{"version":3,"file":"auth-generator.d.ts","sourceRoot":"","sources":["../../src/auth-generator.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,kBAAkB,EAClB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,cAAc,EACf,MAAM,4BAA4B,CAAA;AAsBnC,eAAO,MAAM,6BAA6B,mBACxB,cAAc,GAAG,IAAI,KACpC,OAAO,MAAM,EAAE,MAAM,CA0BvB,CAAA;AAwID;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,QAAQ,CAAA;AAE7C;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAQrD,CAAA;AAKD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAalD,CAAA;AAWD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,WACzB,OAAO,MAAM,EAAE,mBAAmB,EAAE,CAAC,GAAG,SAAS,eAC5C,sBAAsB,EAAE,KACpC,MAAM,EAQR,CAAA;AAwbD,eAAO,MAAM,uBAAuB,SAC5B,kBAAkB,qBACL,OAAO,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,KAChD,MAoIF,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,6BAA6B,QAAO,MA6ChD,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAkD3C,CAAA;AAED,eAAO,MAAM,wBAAwB,QAAO,MA4B3C,CAAA;AAED,eAAO,MAAM,yBAAyB,QAAO,MAwG5C,CAAA;AAMD,MAAM,WAAW,mBAAmB;IAClC,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAClC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IAGtB,kBAAkB,CAAC,EAAE,2BAA2B,CAAA;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,uBAAuB,SAC5B,kBAAkB,YACf,mBAAmB,KAC3B,MAiLF,CAAA;AA2ED,MAAM,WAAW,iBAAiB;IAIhC,yBAAyB,CAAC,EAAE,MAAM,CAAA;CACnC;AA4FD,eAAO,MAAM,sBAAsB,SAC3B,kBAAkB,YACf,iBAAiB,KACzB,MA2bF,CAAA;AAoBD,eAAO,MAAM,8BAA8B,QAAO,MA6BjD,CAAA;AAED,eAAO,MAAM,8BAA8B,QAAO,MAiHjD,CAAA"}
|
|
@@ -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.
|
|
@@ -1071,6 +1072,7 @@ const sanitizeUser = authUtils.sanitizeUser;`;
|
|
|
1071
1072
|
welcomeHelpers = `
|
|
1072
1073
|
const WELCOME_EMAIL_PROVIDER = ${JSON.stringify(welcomeProvider)};
|
|
1073
1074
|
const WELCOME_EMAIL_FROM = ${JSON.stringify(welcome.fromEmail || '')};
|
|
1075
|
+
const WELCOME_EMAIL_FROM_NAME = ${JSON.stringify(welcome.fromName || '')};
|
|
1074
1076
|
const WELCOME_EMAIL_SECRET_ENV_NAME = ${JSON.stringify(welcome.emailSecretEnvName || '')};
|
|
1075
1077
|
const WELCOME_EMAIL_SUBJECT = ${JSON.stringify(welcome.emailSubject || 'Welcome')};
|
|
1076
1078
|
const WELCOME_EMAIL_BODY_HTML = ${JSON.stringify(welcome.emailBodyHtml || '')};
|
|
@@ -1106,7 +1108,7 @@ async function sendWelcomeEmail(toEmail, tokenValues, userId, locale) {
|
|
|
1106
1108
|
var copy = resolveWelcomeEmailCopy(locale);
|
|
1107
1109
|
var subject = fillTemplate(copy.subject, tokenValues);
|
|
1108
1110
|
var html = fillTemplate(copy.body, tokenValues);
|
|
1109
|
-
await __sendProviderEmail({ from: from, to: toEmail, subject: subject, html: html, apiKey: apiKey, tokenValues: tokenValues, userId: userId });
|
|
1111
|
+
await __sendProviderEmail({ from: from, fromName: WELCOME_EMAIL_FROM_NAME, to: toEmail, subject: subject, html: html, apiKey: apiKey, tokenValues: tokenValues, userId: userId });
|
|
1110
1112
|
}
|
|
1111
1113
|
`;
|
|
1112
1114
|
createUserCall = ` const exists = await userExistsByEmail(email);
|
|
@@ -1282,8 +1284,67 @@ const selfGuardedRoutePatternOf = (protection) => {
|
|
|
1282
1284
|
}
|
|
1283
1285
|
return base === '/' ? `/[${differentiator}]` : `${base}/[${differentiator}]`;
|
|
1284
1286
|
};
|
|
1287
|
+
/** The same-site path the project redirects `/` to, or null (absent, `/` itself, or off-site). */
|
|
1288
|
+
const resolveHomeRedirect = (auth) => {
|
|
1289
|
+
const value = typeof auth.homeRedirect === 'string' ? auth.homeRedirect : '';
|
|
1290
|
+
const path = value.split('?')[0].split('#')[0];
|
|
1291
|
+
if (!path.startsWith('/') || path.startsWith('//') || path.indexOf('\\') !== -1) {
|
|
1292
|
+
return null;
|
|
1293
|
+
}
|
|
1294
|
+
const normalized = path.length > 1 ? path.replace(/\/+$/, '') : path;
|
|
1295
|
+
return normalized === '/' ? null : normalized;
|
|
1296
|
+
};
|
|
1297
|
+
/**
|
|
1298
|
+
* Where a signed-in visitor without the role a page asks for lands. A project
|
|
1299
|
+
* whose home page is not redirected keeps the code it always had. One that
|
|
1300
|
+
* redirects `/` (e.g. to an admin dashboard) only sends a visitor home when
|
|
1301
|
+
* that page admits them; otherwise to sign-in, saying why.
|
|
1302
|
+
*/
|
|
1303
|
+
const generateRoleDeniedRedirectCode = (signInRoute, homeRedirect) => {
|
|
1304
|
+
if (!homeRedirect) {
|
|
1305
|
+
return `// Where to send an authenticated user who lacks the required role. Normally the
|
|
1306
|
+
// home page ("you don't have access, here's the public site"). But when "/" is
|
|
1307
|
+
// itself a protected page (e.g. an admin dashboard published at the root), a
|
|
1308
|
+
// redirect to "/" re-enters this middleware and loops forever — so fall back to
|
|
1309
|
+
// the sign-in page (with a callbackUrl) in that case.
|
|
1310
|
+
function roleDeniedRedirect(request, pathname) {
|
|
1311
|
+
if (pathname !== '/' && !protectedRoutes['/']) {
|
|
1312
|
+
return redirectWithinLocale(request, '/');
|
|
1313
|
+
}
|
|
1314
|
+
return redirectWithinLocale(request, '${signInRoute}', pathname);
|
|
1315
|
+
}`;
|
|
1316
|
+
}
|
|
1317
|
+
return `// The project redirects "/" here before this middleware ever runs.
|
|
1318
|
+
var homeRedirect = ${JSON.stringify(homeRedirect)};
|
|
1319
|
+
|
|
1320
|
+
// Whether "/" is a way out for this visitor: the page it redirects to is not
|
|
1321
|
+
// the one being left, and admits their role. Otherwise sending them home would
|
|
1322
|
+
// land them right back on a page that refuses them — a redirect loop.
|
|
1323
|
+
function homeAdmitsRole(pathname, userRole) {
|
|
1324
|
+
var landing = normalizeMatchPath(homeRedirect);
|
|
1325
|
+
if (landing === normalizeMatchPath(pathname)) return false;
|
|
1326
|
+
var protection = resolveProtection(landing).matched;
|
|
1327
|
+
if (!protection) return true;
|
|
1328
|
+
if (protection.requiresSubscription) return false;
|
|
1329
|
+
var roles = protection.allowedRoles || [];
|
|
1330
|
+
return roles.length === 0 || roles.indexOf(userRole) >= 0;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
// Where to send an authenticated user who lacks the required role: home when
|
|
1334
|
+
// home admits them, else the sign-in page, which is told why (error=forbidden)
|
|
1335
|
+
// and keeps a callbackUrl for an account that may open the page.
|
|
1336
|
+
function roleDeniedRedirect(request, pathname, userRole) {
|
|
1337
|
+
if (pathname !== '/' && !protectedRoutes['/'] && homeAdmitsRole(pathname, userRole)) {
|
|
1338
|
+
return redirectWithinLocale(request, '/');
|
|
1339
|
+
}
|
|
1340
|
+
var target = new URL(localizePathname(request, '${signInRoute}'), request.url);
|
|
1341
|
+
target.searchParams.set('callbackUrl', localizePathname(request, pathname));
|
|
1342
|
+
target.searchParams.set('error', 'forbidden');
|
|
1343
|
+
return NextResponse.redirect(target);
|
|
1344
|
+
}`;
|
|
1345
|
+
};
|
|
1285
1346
|
const generateMiddlewareFile = (auth, options = {}) => {
|
|
1286
|
-
var _a, _b
|
|
1347
|
+
var _a, _b;
|
|
1287
1348
|
const protectedRoutes = {};
|
|
1288
1349
|
// Page ids skipped from `protectedRoutes` because their page-load SQL is the
|
|
1289
1350
|
// access control. Tracked by id (not by route) so the folder pass below can
|
|
@@ -1349,28 +1410,26 @@ const generateMiddlewareFile = (auth, options = {}) => {
|
|
|
1349
1410
|
for (const route of authRoutes) {
|
|
1350
1411
|
delete protectedRoutes[route];
|
|
1351
1412
|
}
|
|
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
|
-
}
|
|
1413
|
+
// `/admin` itself, and every admin page the map has no entry for (one an
|
|
1414
|
+
// owner added without protection), admit the admin panel's own roles — its
|
|
1415
|
+
// folder's — never the first admin route's, which may also admit another
|
|
1416
|
+
// role (a staff dashboard).
|
|
1417
|
+
const sawAdminRoute = Object.keys(protectedRoutes).some((k) => k === '/admin' || k.indexOf('/admin/') === 0);
|
|
1364
1418
|
if (sawAdminRoute && !protectedRoutes['/admin']) {
|
|
1365
|
-
|
|
1419
|
+
const panelRoles = teleport_shared_1.TableAccess.resolveAdminPanelRoles(auth);
|
|
1420
|
+
protectedRoutes['/admin'] = {
|
|
1421
|
+
requiresAuth: true,
|
|
1422
|
+
allowedRoles: panelRoles.length > 0 ? panelRoles : ['admin'],
|
|
1423
|
+
};
|
|
1366
1424
|
}
|
|
1367
1425
|
const protectedRoutesJson = JSON.stringify(protectedRoutes, null, 2);
|
|
1368
1426
|
const authRoutesJson = JSON.stringify(authRoutes);
|
|
1369
1427
|
const selfGuardedRoutesJson = JSON.stringify(selfGuardedRoutes);
|
|
1370
|
-
const signInRoute = ((
|
|
1428
|
+
const signInRoute = ((_b = auth.authPages.signIn) === null || _b === void 0 ? void 0 : _b.route) || '/auth/sign-in';
|
|
1371
1429
|
const subscriptionFallbackRoute = options.subscriptionFallbackRoute && options.subscriptionFallbackRoute.startsWith('/')
|
|
1372
1430
|
? options.subscriptionFallbackRoute
|
|
1373
1431
|
: '/';
|
|
1432
|
+
const homeRedirect = resolveHomeRedirect(auth);
|
|
1374
1433
|
return `import { NextResponse } from 'next/server';
|
|
1375
1434
|
import { getToken } from 'next-auth/jwt';
|
|
1376
1435
|
|
|
@@ -1482,17 +1541,7 @@ function redirectWithinLocale(request, pathname, callbackPath) {
|
|
|
1482
1541
|
return NextResponse.redirect(target);
|
|
1483
1542
|
}
|
|
1484
1543
|
|
|
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
|
-
}
|
|
1544
|
+
${generateRoleDeniedRedirectCode(signInRoute, homeRedirect)}
|
|
1496
1545
|
|
|
1497
1546
|
// Route keys carry no trailing slash, so neither may the path we match with.
|
|
1498
1547
|
// Next.js serves "/orders/ORD-42/" and "/orders/ORD-42" as the same route;
|
|
@@ -1679,7 +1728,7 @@ async function middleware(request) {
|
|
|
1679
1728
|
}
|
|
1680
1729
|
var userRole = getUserRoleFromToken(sessionUser);
|
|
1681
1730
|
if (userRole == null || allowedRoles.indexOf(userRole) < 0) {
|
|
1682
|
-
return roleDeniedRedirect(request, pathname);
|
|
1731
|
+
return roleDeniedRedirect(request, pathname${homeRedirect ? ', userRole' : ''});
|
|
1683
1732
|
}
|
|
1684
1733
|
}
|
|
1685
1734
|
|
|
@@ -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"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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"}
|
|
@@ -77,7 +77,12 @@ const generateDataAPIRoute = (options = {}) => {
|
|
|
77
77
|
const lowStockThreshold = typeof options.lowStockThreshold === 'number' && options.lowStockThreshold >= 0
|
|
78
78
|
? options.lowStockThreshold
|
|
79
79
|
: 5;
|
|
80
|
-
return `const { Client } = require('pg');
|
|
80
|
+
return `const { Client, types: pgTypes } = require('pg');
|
|
81
|
+
// A DATE stays the day it names, whatever the server's time zone: node-pg would read it as
|
|
82
|
+
// local midnight, which a server east of UTC sends as the day before.
|
|
83
|
+
if (pgTypes && typeof pgTypes.setTypeParser === 'function') {
|
|
84
|
+
pgTypes.setTypeParser(1082, (value) => value);
|
|
85
|
+
}
|
|
81
86
|
${
|
|
82
87
|
// The session cookie is resolved from the REQUEST rather than from
|
|
83
88
|
// process.env.NEXTAUTH_URL — see session-cookie-resolver.ts. Reading it the
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"data-api-route-generator.js","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;;;AAEH,mDAA0D;AAC1D,uEAAoF;AACpF,iEAAwE;AAExE,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,aAAa;IACb,kBAAkB;IAClB,kBAAkB;IAClB,kBAAkB;IAClB,YAAY;IACZ,gBAAgB;IAChB,uEAAuE;IACvE,0EAA0E;IAC1E,sCAAsC;IACtC,yBAAyB;CAC1B,CAAC,CAAA;AAEK,MAAM,iBAAiB,GAAG,CAAC,aAA0B,EAAW,EAAE;IACvE,KAAK,MAAM,EAAE,IAAI,aAAa,EAAE;QAC9B,IAAI,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAA;SACZ;KACF;IACD,OAAO,KAAK,CAAA;AACd,CAAC,CAAA;AAPY,QAAA,iBAAiB,qBAO7B;AAqBD;;;;;;;;;;;;;;GAcG;AACU,QAAA,uBAAuB,GAA0B;IAC5D,mBAAmB;IACnB,2BAA2B;IAC3B,oBAAoB;IACpB,yBAAyB;IACzB,yBAAyB;IACzB,oBAAoB;IACpB,0BAA0B;IAC1B,GAAG,+BAAa,CAAC,oBAAoB;CACtC,CAAA;AAED;;;;;;GAMG;AACU,QAAA,oBAAoB,GAC/B,+BAAa,CAAC,oBAAoB,CAAA;AAE7B,MAAM,oBAAoB,GAAG,CAAC,UAA+B,EAAE,EAAU,EAAE;IAChF,MAAM,aAAa,GAAG,IAAA,wCAAwB,GAAE,CAAA;IAChD,MAAM,cAAc,GAAG,OAAO,CAAC,kBAAkB,IAAI,IAAI,CAAA;IACzD,MAAM,qBAAqB,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,CAAA;IAC7D,MAAM,iBAAiB,GACrB,OAAO,OAAO,CAAC,iBAAiB,KAAK,QAAQ,IAAI,OAAO,CAAC,iBAAiB,IAAI,CAAC;QAC7E,CAAC,CAAC,OAAO,CAAC,iBAAiB;QAC3B,CAAC,CAAC,CAAC,CAAA;IAEP,OAAO;
|
|
1
|
+
{"version":3,"file":"data-api-route-generator.js","sourceRoot":"","sources":["../../src/data-api-route-generator.ts"],"names":[],"mappings":"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"}
|