mirror of
https://github.com/documenso/documenso.git
synced 2025-11-23 05:01:54 +10:00
fix: give the possibility to use internal webapp url in browserless requests (get-certificate-pdf and get-audit-logs-pdf) (#2127)
This commit is contained in:
@ -138,6 +138,8 @@ NEXT_PUBLIC_POSTHOG_KEY=""
|
|||||||
NEXT_PUBLIC_FEATURE_BILLING_ENABLED=
|
NEXT_PUBLIC_FEATURE_BILLING_ENABLED=
|
||||||
# OPTIONAL: Leave blank to allow users to signup through /signup page.
|
# OPTIONAL: Leave blank to allow users to signup through /signup page.
|
||||||
NEXT_PUBLIC_DISABLE_SIGNUP=
|
NEXT_PUBLIC_DISABLE_SIGNUP=
|
||||||
|
# OPTIONAL: Set to true to use internal webapp url in browserless requests.
|
||||||
|
NEXT_PUBLIC_USE_INTERNAL_URL_BROWSERLESS=false
|
||||||
|
|
||||||
# [[E2E Tests]]
|
# [[E2E Tests]]
|
||||||
E2E_TEST_AUTHENTICATE_USERNAME="Test User"
|
E2E_TEST_AUTHENTICATE_USERNAME="Test User"
|
||||||
@ -149,4 +151,4 @@ E2E_TEST_AUTHENTICATE_USER_PASSWORD="test_Password123"
|
|||||||
NEXT_PRIVATE_LOGGER_FILE_PATH=
|
NEXT_PRIVATE_LOGGER_FILE_PATH=
|
||||||
|
|
||||||
# [[PLAIN SUPPORT]]
|
# [[PLAIN SUPPORT]]
|
||||||
NEXT_PRIVATE_PLAIN_API_KEY=
|
NEXT_PRIVATE_PLAIN_API_KEY=
|
||||||
@ -61,6 +61,7 @@ services:
|
|||||||
- NEXT_PUBLIC_DISABLE_SIGNUP=${NEXT_PUBLIC_DISABLE_SIGNUP}
|
- NEXT_PUBLIC_DISABLE_SIGNUP=${NEXT_PUBLIC_DISABLE_SIGNUP}
|
||||||
- NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH=${NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH:-/opt/documenso/cert.p12}
|
- NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH=${NEXT_PRIVATE_SIGNING_LOCAL_FILE_PATH:-/opt/documenso/cert.p12}
|
||||||
- NEXT_PRIVATE_SIGNING_PASSPHRASE=${NEXT_PRIVATE_SIGNING_PASSPHRASE}
|
- NEXT_PRIVATE_SIGNING_PASSPHRASE=${NEXT_PRIVATE_SIGNING_PASSPHRASE}
|
||||||
|
- NEXT_PUBLIC_USE_INTERNAL_URL_BROWSERLESS=${NEXT_PUBLIC_USE_INTERNAL_URL_BROWSERLESS}
|
||||||
ports:
|
ports:
|
||||||
- ${PORT:-3000}:${PORT:-3000}
|
- ${PORT:-3000}:${PORT:-3000}
|
||||||
volumes:
|
volumes:
|
||||||
|
|||||||
@ -15,3 +15,5 @@ export const API_V2_BETA_URL = '/api/v2-beta';
|
|||||||
export const API_V2_URL = '/api/v2';
|
export const API_V2_URL = '/api/v2';
|
||||||
|
|
||||||
export const SUPPORT_EMAIL = env('NEXT_PUBLIC_SUPPORT_EMAIL') ?? 'support@documenso.com';
|
export const SUPPORT_EMAIL = env('NEXT_PUBLIC_SUPPORT_EMAIL') ?? 'support@documenso.com';
|
||||||
|
|
||||||
|
export const USE_INTERNAL_URL_BROWSERLESS = env('NEXT_PUBLIC_USE_INTERNAL_URL_BROWSERLESS') === 'true';
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { DateTime } from 'luxon';
|
import { DateTime } from 'luxon';
|
||||||
import type { Browser } from 'playwright';
|
import type { Browser } from 'playwright';
|
||||||
|
|
||||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
|
import { NEXT_PUBLIC_WEBAPP_URL, NEXT_PRIVATE_INTERNAL_WEBAPP_URL, USE_INTERNAL_URL_BROWSERLESS } from '../../constants/app';
|
||||||
import { type SupportedLanguageCodes, isValidLanguageCode } from '../../constants/i18n';
|
import { type SupportedLanguageCodes, isValidLanguageCode } from '../../constants/i18n';
|
||||||
import { env } from '../../utils/env';
|
import { env } from '../../utils/env';
|
||||||
import { encryptSecondaryData } from '../crypto/encrypt';
|
import { encryptSecondaryData } from '../crypto/encrypt';
|
||||||
@ -48,11 +48,11 @@ export const getAuditLogsPdf = async ({ documentId, language }: GetAuditLogsPdfO
|
|||||||
{
|
{
|
||||||
name: 'language',
|
name: 'language',
|
||||||
value: lang,
|
value: lang,
|
||||||
url: NEXT_PUBLIC_WEBAPP_URL(),
|
url: USE_INTERNAL_URL_BROWSERLESS() ? NEXT_PUBLIC_WEBAPP_URL() : NEXT_PRIVATE_INTERNAL_WEBAPP_URL(),
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
await page.goto(`${NEXT_PUBLIC_WEBAPP_URL()}/__htmltopdf/audit-log?d=${encryptedId}`, {
|
await page.goto(`${USE_INTERNAL_URL_BROWSERLESS() ? NEXT_PUBLIC_WEBAPP_URL() : NEXT_PRIVATE_INTERNAL_WEBAPP_URL()}/__htmltopdf/audit-log?d=${encryptedId}`, {
|
||||||
waitUntil: 'networkidle',
|
waitUntil: 'networkidle',
|
||||||
timeout: 10_000,
|
timeout: 10_000,
|
||||||
});
|
});
|
||||||
|
|||||||
@ -1,7 +1,7 @@
|
|||||||
import { DateTime } from 'luxon';
|
import { DateTime } from 'luxon';
|
||||||
import type { Browser } from 'playwright';
|
import type { Browser } from 'playwright';
|
||||||
|
|
||||||
import { NEXT_PUBLIC_WEBAPP_URL } from '../../constants/app';
|
import { NEXT_PUBLIC_WEBAPP_URL, NEXT_PRIVATE_INTERNAL_WEBAPP_URL, USE_INTERNAL_URL_BROWSERLESS} from '../../constants/app';
|
||||||
import { type SupportedLanguageCodes, isValidLanguageCode } from '../../constants/i18n';
|
import { type SupportedLanguageCodes, isValidLanguageCode } from '../../constants/i18n';
|
||||||
import { env } from '../../utils/env';
|
import { env } from '../../utils/env';
|
||||||
import { encryptSecondaryData } from '../crypto/encrypt';
|
import { encryptSecondaryData } from '../crypto/encrypt';
|
||||||
@ -48,11 +48,11 @@ export const getCertificatePdf = async ({ documentId, language }: GetCertificate
|
|||||||
{
|
{
|
||||||
name: 'lang',
|
name: 'lang',
|
||||||
value: lang,
|
value: lang,
|
||||||
url: NEXT_PUBLIC_WEBAPP_URL(),
|
url: USE_INTERNAL_URL_BROWSERLESS() ? NEXT_PUBLIC_WEBAPP_URL() : NEXT_PRIVATE_INTERNAL_WEBAPP_URL(),
|
||||||
},
|
},
|
||||||
]);
|
]);
|
||||||
|
|
||||||
await page.goto(`${NEXT_PUBLIC_WEBAPP_URL()}/__htmltopdf/certificate?d=${encryptedId}`, {
|
await page.goto(`${USE_INTERNAL_URL_BROWSERLESS() ? NEXT_PUBLIC_WEBAPP_URL() : NEXT_PRIVATE_INTERNAL_WEBAPP_URL()}/__htmltopdf/certificate?d=${encryptedId}`, {
|
||||||
waitUntil: 'networkidle',
|
waitUntil: 'networkidle',
|
||||||
timeout: 10_000,
|
timeout: 10_000,
|
||||||
});
|
});
|
||||||
|
|||||||
2
packages/tsconfig/process-env.d.ts
vendored
2
packages/tsconfig/process-env.d.ts
vendored
@ -72,6 +72,8 @@ declare namespace NodeJS {
|
|||||||
|
|
||||||
NEXT_PRIVATE_JOBS_PROVIDER?: 'inngest' | 'local';
|
NEXT_PRIVATE_JOBS_PROVIDER?: 'inngest' | 'local';
|
||||||
|
|
||||||
|
NEXT_PUBLIC_USE_INTERNAL_URL_BROWSERLESS?: string;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Inngest environment variables
|
* Inngest environment variables
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -143,6 +143,8 @@ services:
|
|||||||
# Features Optional
|
# Features Optional
|
||||||
- key: NEXT_PUBLIC_DISABLE_SIGNUP
|
- key: NEXT_PUBLIC_DISABLE_SIGNUP
|
||||||
sync: false
|
sync: false
|
||||||
|
- key: NEXT_PUBLIC_USE_INTERNAL_URL_BROWSERLESS
|
||||||
|
sync: false
|
||||||
|
|
||||||
databases:
|
databases:
|
||||||
- name: documenso-db
|
- name: documenso-db
|
||||||
|
|||||||
@ -120,6 +120,7 @@
|
|||||||
"E2E_TEST_AUTHENTICATE_USERNAME",
|
"E2E_TEST_AUTHENTICATE_USERNAME",
|
||||||
"E2E_TEST_AUTHENTICATE_USER_EMAIL",
|
"E2E_TEST_AUTHENTICATE_USER_EMAIL",
|
||||||
"E2E_TEST_AUTHENTICATE_USER_PASSWORD",
|
"E2E_TEST_AUTHENTICATE_USER_PASSWORD",
|
||||||
|
"NEXT_PUBLIC_USE_INTERNAL_URL_BROWSERLESS",
|
||||||
"NEXT_PRIVATE_OIDC_PROMPT"
|
"NEXT_PRIVATE_OIDC_PROMPT"
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user