feat: Allow setting customer panel URL via environment variables

This commit is contained in:
Maksim Eltyshev
2025-12-08 21:25:13 +01:00
parent 26200754f3
commit 52acc9de90
42 changed files with 73 additions and 8 deletions

View File

@@ -44,7 +44,7 @@ const SmtpPane = React.memo(() => {
const [data, handleFieldChange] = useForm(() => ({ const [data, handleFieldChange] = useForm(() => ({
...defaultData, ...defaultData,
smtpHost: defaultData.smtpHost || '', smtpHost: defaultData.smtpHost || '',
smtpPort: defaultData.smtpPort || '', smtpPort: defaultData.smtpPort === null ? '' : `${defaultData.smtpPort}`,
smtpName: defaultData.smtpName || '', smtpName: defaultData.smtpName || '',
smtpSecure: defaultData.smtpSecure, smtpSecure: defaultData.smtpSecure,
smtpTlsRejectUnauthorized: defaultData.smtpTlsRejectUnauthorized, smtpTlsRejectUnauthorized: defaultData.smtpTlsRejectUnauthorized,

View File

@@ -19,6 +19,10 @@ import styles from './UserStep.module.scss';
const UserStep = React.memo(({ onClose }) => { const UserStep = React.memo(({ onClose }) => {
const isLogouting = useSelector(selectors.selectIsLogouting); const isLogouting = useSelector(selectors.selectIsLogouting);
const customerPanelUrl = useSelector(
(state) => selectors.selectBootstrap(state).customerPanelUrl,
);
const withAdministration = useSelector( const withAdministration = useSelector(
(state) => selectors.selectCurrentUser(state).role === UserRoles.ADMIN, (state) => selectors.selectCurrentUser(state).role === UserRoles.ADMIN,
); );
@@ -67,12 +71,27 @@ const UserStep = React.memo(({ onClose }) => {
})} })}
</Menu.Item> </Menu.Item>
{withAdministration && ( {withAdministration && (
<Menu.Item className={styles.menuItem} onClick={handleAdministrationClick}> <>
<Icon name="setting" className={styles.menuItemIcon} /> <Menu.Item className={styles.menuItem} onClick={handleAdministrationClick}>
{t('common.administration', { <Icon name="setting" className={styles.menuItemIcon} />
context: 'title', {t('common.administration', {
})} context: 'title',
</Menu.Item> })}
</Menu.Item>
{customerPanelUrl && (
<Menu.Item
href={customerPanelUrl}
target="_blank"
rel="noreferrer"
className={styles.menuItem}
>
<Icon name="shield alternate" className={styles.menuItemIcon} />
{t('common.customerPanel', {
context: 'title',
})}
</Menu.Item>
)}
</>
)} )}
<hr className={styles.divider} /> <hr className={styles.divider} />
<Menu.Item <Menu.Item

View File

@@ -135,6 +135,7 @@ export default {
customFieldGroups_title: 'مجموعات الحقول المخصصة', customFieldGroups_title: 'مجموعات الحقول المخصصة',
customField_title: 'الحقل المخصص', customField_title: 'الحقل المخصص',
customFields_title: 'الحقول المخصصة', customFields_title: 'الحقول المخصصة',
customerPanel_title: 'لوحة العملاء',
dangerZone_title: 'منطقة الخطر', dangerZone_title: 'منطقة الخطر',
date: 'تاريخ', date: 'تاريخ',
deactivateUser_title: 'إلغاء تفعيل المستخدم', deactivateUser_title: 'إلغاء تفعيل المستخدم',

View File

@@ -146,6 +146,7 @@ export default {
customFieldGroups_title: 'Групи персонализирани полета', customFieldGroups_title: 'Групи персонализирани полета',
customField_title: 'Персонализирано поле', customField_title: 'Персонализирано поле',
customFields_title: 'Персонализирани полета', customFields_title: 'Персонализирани полета',
customerPanel_title: 'Панел на клиента',
dangerZone_title: 'Опасна зона', dangerZone_title: 'Опасна зона',
date: 'Дата', date: 'Дата',
deactivateUser_title: 'Деактивиране на потребител', deactivateUser_title: 'Деактивиране на потребител',

View File

@@ -145,6 +145,7 @@ export default {
customFieldGroups_title: 'Grups de camps personalitzats', customFieldGroups_title: 'Grups de camps personalitzats',
customField_title: 'Camp personalitzat', customField_title: 'Camp personalitzat',
customFields_title: 'Camps personalitzats', customFields_title: 'Camps personalitzats',
customerPanel_title: 'Panell del client',
dangerZone_title: 'Zona de perill', dangerZone_title: 'Zona de perill',
date: 'Data', date: 'Data',
deactivateUser_title: 'Desactivar usuari', deactivateUser_title: 'Desactivar usuari',

View File

@@ -137,6 +137,7 @@ export default {
customFieldGroups_title: 'Skupina vlastních polí', customFieldGroups_title: 'Skupina vlastních polí',
customField_title: 'Vlastní pole', customField_title: 'Vlastní pole',
customFields_title: 'Vlastní pole', customFields_title: 'Vlastní pole',
customerPanel_title: 'Panel zákazníka',
dangerZone_title: 'Nebezpečná zóna', dangerZone_title: 'Nebezpečná zóna',
date: 'Datum', date: 'Datum',
deactivateUser_title: 'Deaktivace uživatele', deactivateUser_title: 'Deaktivace uživatele',

View File

@@ -141,6 +141,7 @@ export default {
customFieldGroups_title: 'Brugerdefinerede feltgrupper', customFieldGroups_title: 'Brugerdefinerede feltgrupper',
customField_title: 'Brugerdefineret felt', customField_title: 'Brugerdefineret felt',
customFields_title: 'Brugerdefinerede felter', customFields_title: 'Brugerdefinerede felter',
customerPanel_title: 'Kundepanel',
dangerZone_title: 'Farezone', dangerZone_title: 'Farezone',
date: 'Dato', date: 'Dato',
deactivateUser_title: 'Deaktiver bruger', deactivateUser_title: 'Deaktiver bruger',

View File

@@ -156,6 +156,7 @@ export default {
customFieldGroups_title: 'Benutzerdefinierte Feldgruppen', customFieldGroups_title: 'Benutzerdefinierte Feldgruppen',
customField_title: 'Feldgruppe', customField_title: 'Feldgruppe',
customFields_title: 'Feldgruppen', customFields_title: 'Feldgruppen',
customerPanel_title: 'Kundenpanel',
dangerZone_title: 'Gefahrenbereich', dangerZone_title: 'Gefahrenbereich',
date: 'Datum', date: 'Datum',
deactivateUser_title: 'Benutzer deaktivieren', deactivateUser_title: 'Benutzer deaktivieren',

View File

@@ -154,6 +154,7 @@ export default {
customFieldGroups_title: 'Ομάδες προσαρμοσμένων πεδίων', customFieldGroups_title: 'Ομάδες προσαρμοσμένων πεδίων',
customField_title: 'Προσαρμοσμένο πεδίο', customField_title: 'Προσαρμοσμένο πεδίο',
customFields_title: 'Προσαρμοσμένα πεδία', customFields_title: 'Προσαρμοσμένα πεδία',
customerPanel_title: 'Πίνακας πελάτη',
dangerZone_title: 'Επικίνδυνη ζώνη', dangerZone_title: 'Επικίνδυνη ζώνη',
date: 'Ημερομηνία', date: 'Ημερομηνία',
deactivateUser_title: 'Απενεργοποίηση χρήστη', deactivateUser_title: 'Απενεργοποίηση χρήστη',

View File

@@ -140,6 +140,7 @@ export default {
customFieldGroups_title: 'Custom Field Groups', customFieldGroups_title: 'Custom Field Groups',
customField_title: 'Custom Field', customField_title: 'Custom Field',
customFields_title: 'Custom Fields', customFields_title: 'Custom Fields',
customerPanel_title: 'Customer Panel',
dangerZone_title: 'Danger Zone', dangerZone_title: 'Danger Zone',
date: 'Date', date: 'Date',
deactivateUser_title: 'Deactivate User', deactivateUser_title: 'Deactivate User',

View File

@@ -135,6 +135,7 @@ export default {
customFieldGroups_title: 'Custom Field Groups', customFieldGroups_title: 'Custom Field Groups',
customField_title: 'Custom Field', customField_title: 'Custom Field',
customFields_title: 'Custom Fields', customFields_title: 'Custom Fields',
customerPanel_title: 'Customer Panel',
dangerZone_title: 'Danger Zone', dangerZone_title: 'Danger Zone',
date: 'Date', date: 'Date',
deactivateUser_title: 'Deactivate User', deactivateUser_title: 'Deactivate User',

View File

@@ -146,6 +146,7 @@ export default {
customFieldGroups_title: 'Grupos de campos personalizados', customFieldGroups_title: 'Grupos de campos personalizados',
customField_title: 'Campo personalizado', customField_title: 'Campo personalizado',
customFields_title: 'Campos personalizados', customFields_title: 'Campos personalizados',
customerPanel_title: 'Panel del cliente',
dangerZone_title: 'Zona de peligro', dangerZone_title: 'Zona de peligro',
date: 'Fecha', date: 'Fecha',
deactivateUser_title: 'Desactivar usuario', deactivateUser_title: 'Desactivar usuario',

View File

@@ -141,6 +141,7 @@ export default {
customFieldGroups_title: 'Kohandatud väljade grupid', customFieldGroups_title: 'Kohandatud väljade grupid',
customField_title: 'Kohandatud väli', customField_title: 'Kohandatud väli',
customFields_title: 'Kohandatud väljad', customFields_title: 'Kohandatud väljad',
customerPanel_title: 'Kliendi paneel',
dangerZone_title: 'Ohtliku ala', dangerZone_title: 'Ohtliku ala',
date: 'Kuupäev', date: 'Kuupäev',
deactivateUser_title: 'Deaktiveeri kasutaja', deactivateUser_title: 'Deaktiveeri kasutaja',

View File

@@ -144,6 +144,7 @@ export default {
customFieldGroups_title: 'گروه‌های فیلد سفارشی', customFieldGroups_title: 'گروه‌های فیلد سفارشی',
customField_title: 'فیلد سفارشی', customField_title: 'فیلد سفارشی',
customFields_title: 'فیلدهای سفارشی', customFields_title: 'فیلدهای سفارشی',
customerPanel_title: 'پنل مشتری',
dangerZone_title: 'منطقه خطر', dangerZone_title: 'منطقه خطر',
date: 'تاریخ', date: 'تاریخ',
deactivateUser_title: 'غیرفعال کردن کاربر', deactivateUser_title: 'غیرفعال کردن کاربر',

View File

@@ -137,6 +137,7 @@ export default {
customFieldGroups_title: 'Mukautettujen kenttien ryhmät', customFieldGroups_title: 'Mukautettujen kenttien ryhmät',
customField_title: 'Mukautettu kenttä', customField_title: 'Mukautettu kenttä',
customFields_title: 'Mukautetut kentät', customFields_title: 'Mukautetut kentät',
customerPanel_title: 'Asiakaspaneeli',
dangerZone_title: 'Vaaravyöhyke', dangerZone_title: 'Vaaravyöhyke',
date: 'Päivämäärä', date: 'Päivämäärä',
deactivateUser_title: 'Poista käyttäjä käytöstä', deactivateUser_title: 'Poista käyttäjä käytöstä',

View File

@@ -145,6 +145,7 @@ export default {
customFieldGroups_title: 'Groupes de champs personnalisés', customFieldGroups_title: 'Groupes de champs personnalisés',
customField_title: 'Champ personnalisé', customField_title: 'Champ personnalisé',
customFields_title: 'Champs personnalisés', customFields_title: 'Champs personnalisés',
customerPanel_title: 'Panneau client',
dangerZone_title: 'Zone dangereuse', dangerZone_title: 'Zone dangereuse',
date: 'Date', date: 'Date',
deactivateUser_title: 'Désactiver lutilisateur', deactivateUser_title: 'Désactiver lutilisateur',

View File

@@ -135,6 +135,7 @@ export default {
customFieldGroups_title: 'Egyedi mezőcsoportok', customFieldGroups_title: 'Egyedi mezőcsoportok',
customField_title: 'Egyedi mező', customField_title: 'Egyedi mező',
customFields_title: 'Egyedi mezők', customFields_title: 'Egyedi mezők',
customerPanel_title: 'Ügyfélpanel',
dangerZone_title: 'Veszélyzóna', dangerZone_title: 'Veszélyzóna',
date: 'Dátum', date: 'Dátum',
deactivateUser_title: 'Felhasználó inaktiválása', deactivateUser_title: 'Felhasználó inaktiválása',

View File

@@ -142,6 +142,7 @@ export default {
customFieldGroups_title: 'Grup bidang kustom', customFieldGroups_title: 'Grup bidang kustom',
customField_title: 'Bidang kustom', customField_title: 'Bidang kustom',
customFields_title: 'Bidang kustom', customFields_title: 'Bidang kustom',
customerPanel_title: 'Panel pelanggan',
dangerZone_title: 'Zona berbahaya', dangerZone_title: 'Zona berbahaya',
date: 'Tanggal', date: 'Tanggal',
deactivateUser_title: 'Nonaktifkan pengguna', deactivateUser_title: 'Nonaktifkan pengguna',

View File

@@ -142,6 +142,7 @@ export default {
customFieldGroups_title: 'Campi personalizzati', customFieldGroups_title: 'Campi personalizzati',
customField_title: 'Campo personalizzato', customField_title: 'Campo personalizzato',
customFields_title: 'Campi personalizzati', customFields_title: 'Campi personalizzati',
customerPanel_title: 'Pannello cliente',
dangerZone_title: 'Zona pericolosa', dangerZone_title: 'Zona pericolosa',
date: 'Data', date: 'Data',
deactivateUser_title: 'Disattiva utente', deactivateUser_title: 'Disattiva utente',

View File

@@ -138,6 +138,7 @@ export default {
customFieldGroups_title: 'カスタムフィールドグループ', customFieldGroups_title: 'カスタムフィールドグループ',
customField_title: 'カスタムフィールド', customField_title: 'カスタムフィールド',
customFields_title: 'カスタムフィールド', customFields_title: 'カスタムフィールド',
customerPanel_title: '顧客パネル',
dangerZone_title: '危険ゾーン', dangerZone_title: '危険ゾーン',
date: '日付', date: '日付',
deactivateUser_title: 'ユーザーを非アクティブにする', deactivateUser_title: 'ユーザーを非アクティブにする',

View File

@@ -133,6 +133,7 @@ export default {
customFieldGroups_title: '사용자 정의 필드 그룹들', customFieldGroups_title: '사용자 정의 필드 그룹들',
customField_title: '사용자 정의 필드', customField_title: '사용자 정의 필드',
customFields_title: '사용자 정의 필드들', customFields_title: '사용자 정의 필드들',
customerPanel_title: '고객 패널',
dangerZone_title: '위험 구역', dangerZone_title: '위험 구역',
date: '날짜', date: '날짜',
deactivateUser_title: '사용자 비활성화', deactivateUser_title: '사용자 비활성화',

View File

@@ -141,6 +141,7 @@ export default {
customFieldGroups_title: 'Aangepaste veldgroepen', customFieldGroups_title: 'Aangepaste veldgroepen',
customField_title: 'Aangepast veld', customField_title: 'Aangepast veld',
customFields_title: 'Aangepaste velden', customFields_title: 'Aangepaste velden',
customerPanel_title: 'Klantenpaneel',
dangerZone_title: 'Gevaarlijke zone', dangerZone_title: 'Gevaarlijke zone',
date: 'Datum', date: 'Datum',
deactivateUser_title: 'Gebruiker deactiveren', deactivateUser_title: 'Gebruiker deactiveren',

View File

@@ -140,6 +140,7 @@ export default {
customFieldGroups_title: 'Grupy pól własnych', customFieldGroups_title: 'Grupy pól własnych',
customField_title: 'Własne pole', customField_title: 'Własne pole',
customFields_title: 'Własne pola', customFields_title: 'Własne pola',
customerPanel_title: 'Panel klienta',
dangerZone_title: 'Strefa niebezpieczeństwa', dangerZone_title: 'Strefa niebezpieczeństwa',
date: 'Data', date: 'Data',
deactivateUser_title: 'Dezaktywuj użytkownika', deactivateUser_title: 'Dezaktywuj użytkownika',

View File

@@ -143,6 +143,7 @@ export default {
customFieldGroups_title: 'Grupos de campo personalizado', customFieldGroups_title: 'Grupos de campo personalizado',
customField_title: 'Campo personalizado', customField_title: 'Campo personalizado',
customFields_title: 'Campos personalizados', customFields_title: 'Campos personalizados',
customerPanel_title: 'Painel do cliente',
dangerZone_title: 'Zona de perigo', dangerZone_title: 'Zona de perigo',
date: 'Data', date: 'Data',
deactivateUser_title: 'Desativar usuário', deactivateUser_title: 'Desativar usuário',

View File

@@ -145,6 +145,7 @@ export default {
customFieldGroups_title: 'Grupos de campos personalizados', customFieldGroups_title: 'Grupos de campos personalizados',
customField_title: 'Campo personalizado', customField_title: 'Campo personalizado',
customFields_title: 'Campos personalizados', customFields_title: 'Campos personalizados',
customerPanel_title: 'Painel do cliente',
dangerZone_title: 'Zona perigosa', dangerZone_title: 'Zona perigosa',
date: 'Data', date: 'Data',
deactivateUser_title: 'Desativar utilizador', deactivateUser_title: 'Desativar utilizador',

View File

@@ -139,6 +139,7 @@ export default {
customFieldGroups_title: 'Grupuri de câmpuri personalizate', customFieldGroups_title: 'Grupuri de câmpuri personalizate',
customField_title: 'Câmp personalizat', customField_title: 'Câmp personalizat',
customFields_title: 'Câmpuri personalizate', customFields_title: 'Câmpuri personalizate',
customerPanel_title: 'Panoul clientului',
dangerZone_title: 'Zona periculoasă', dangerZone_title: 'Zona periculoasă',
date: 'Data', date: 'Data',
deactivateUser_title: 'Dezactivează utilizatorul', deactivateUser_title: 'Dezactivează utilizatorul',

View File

@@ -142,6 +142,7 @@ export default {
customFieldGroups_title: 'Группы настраиваемых полей', customFieldGroups_title: 'Группы настраиваемых полей',
customField_title: 'Настраиваемое поле', customField_title: 'Настраиваемое поле',
customFields_title: 'Настраиваемые поля', customFields_title: 'Настраиваемые поля',
customerPanel_title: 'Панель клиента',
dangerZone_title: 'Опасная зона', dangerZone_title: 'Опасная зона',
date: 'Дата', date: 'Дата',
deactivateUser_title: 'Деактивировать пользователя', deactivateUser_title: 'Деактивировать пользователя',

View File

@@ -136,6 +136,7 @@ export default {
customFieldGroups_title: 'Skupiny vlastných polí', customFieldGroups_title: 'Skupiny vlastných polí',
customField_title: 'Vlastné pole', customField_title: 'Vlastné pole',
customFields_title: 'Vlastné polia', customFields_title: 'Vlastné polia',
customerPanel_title: 'Panel zákazníka',
dangerZone_title: 'Nebezpečná zóna', dangerZone_title: 'Nebezpečná zóna',
date: 'Dátum', date: 'Dátum',
deactivateUser_title: 'Deaktivovať používateľa', deactivateUser_title: 'Deaktivovať používateľa',

View File

@@ -139,6 +139,7 @@ export default {
customFieldGroups_title: 'Групе прилагођених поља', customFieldGroups_title: 'Групе прилагођених поља',
customField_title: 'Прилагођено поље', customField_title: 'Прилагођено поље',
customFields_title: 'Прилагођена поља', customFields_title: 'Прилагођена поља',
customerPanel_title: 'Панел купца',
dangerZone_title: 'Опасна зона', dangerZone_title: 'Опасна зона',
date: 'Датум', date: 'Датум',
deactivateUser_title: 'Деактивирај корисника', deactivateUser_title: 'Деактивирај корисника',

View File

@@ -140,6 +140,7 @@ export default {
customFieldGroups_title: 'Grupe prilagođenih polja', customFieldGroups_title: 'Grupe prilagođenih polja',
customField_title: 'Prilagođeno polje', customField_title: 'Prilagođeno polje',
customFields_title: 'Prilagođena polja', customFields_title: 'Prilagođena polja',
customerPanel_title: 'Panel kupca',
dangerZone_title: 'Opasna zona', dangerZone_title: 'Opasna zona',
date: 'Datum', date: 'Datum',
deactivateUser_title: 'Deaktiviraj korisnika', deactivateUser_title: 'Deaktiviraj korisnika',

View File

@@ -146,6 +146,7 @@ export default {
customFieldGroups_title: 'Anpassade fältgrupper', customFieldGroups_title: 'Anpassade fältgrupper',
customField_title: 'Anpassat fält', customField_title: 'Anpassat fält',
customFields_title: 'Anpassade fält', customFields_title: 'Anpassade fält',
customerPanel_title: 'Kundpanel',
dangerZone_title: 'Farozon', dangerZone_title: 'Farozon',
date: 'Datum', date: 'Datum',
deactivateUser_title: 'Inaktivera användare', deactivateUser_title: 'Inaktivera användare',

View File

@@ -143,6 +143,7 @@ export default {
customFieldGroups_title: 'özel alan grupları', customFieldGroups_title: 'özel alan grupları',
customField_title: 'Özel alan', customField_title: 'Özel alan',
customFields_title: 'Özel alanlar', customFields_title: 'Özel alanlar',
customerPanel_title: 'Müşteri paneli',
dangerZone_title: 'Tehlikeli bölge', dangerZone_title: 'Tehlikeli bölge',
date: 'tarih', date: 'tarih',
deactivateUser_title: 'Kullanıcıyı devre dışı bırak', deactivateUser_title: 'Kullanıcıyı devre dışı bırak',

View File

@@ -141,6 +141,7 @@ export default {
customFieldGroups_title: 'Користувацькі групи полів', customFieldGroups_title: 'Користувацькі групи полів',
customField_title: 'Користувацьке поле', customField_title: 'Користувацьке поле',
customFields_title: 'Користувацькі поля', customFields_title: 'Користувацькі поля',
customerPanel_title: 'Панель клієнта',
dangerZone_title: 'Небезпечна зона', dangerZone_title: 'Небезпечна зона',
date: 'Дата', date: 'Дата',
deactivateUser_title: 'Деактивувати користувача', deactivateUser_title: 'Деактивувати користувача',

View File

@@ -137,6 +137,7 @@ export default {
customFieldGroups_title: 'Maxsus maydon guruhlari', customFieldGroups_title: 'Maxsus maydon guruhlari',
customField_title: 'Maxsus maydon', customField_title: 'Maxsus maydon',
customFields_title: 'Maxsus maydonlar', customFields_title: 'Maxsus maydonlar',
customerPanel_title: 'Mijoz paneli',
dangerZone_title: 'Xavfli hudud', dangerZone_title: 'Xavfli hudud',
date: 'Sana', date: 'Sana',
deactivateUser_title: 'Foydalanuvchini faolsizlantirish', deactivateUser_title: 'Foydalanuvchini faolsizlantirish',

View File

@@ -122,6 +122,7 @@ export default {
customFieldGroups_title: '自定义字段组', customFieldGroups_title: '自定义字段组',
customField_title: '自定义字段', customField_title: '自定义字段',
customFields_title: '自定义字段', customFields_title: '自定义字段',
customerPanel_title: '客户面板',
dangerZone_title: '危险区域', dangerZone_title: '危险区域',
date: '日期', date: '日期',
deactivateUser_title: '停用用户', deactivateUser_title: '停用用户',

View File

@@ -122,6 +122,7 @@ export default {
customFieldGroups_title: '自定義欄位群組', customFieldGroups_title: '自定義欄位群組',
customField_title: '自定義欄位', customField_title: '自定義欄位',
customFields_title: '自定義欄位', customFields_title: '自定義欄位',
customerPanel_title: '客戶面板',
dangerZone_title: '危險區域', dangerZone_title: '危險區域',
date: '日期', date: '日期',
deactivateUser_title: '停用使用者', deactivateUser_title: '停用使用者',

View File

@@ -43,6 +43,7 @@ services:
# - INTERNAL_ACCESS_TOKEN= # - INTERNAL_ACCESS_TOKEN=
# - STORAGE_LIMIT= # - STORAGE_LIMIT=
# - ACTIVE_USERS_LIMIT= # - ACTIVE_USERS_LIMIT=
# - CUSTOMER_PANEL_URL=
# Set to true to show more detailed authentication error messages. # Set to true to show more detailed authentication error messages.
# It should not be enabled without a rate limiter for security reasons. # It should not be enabled without a rate limiter for security reasons.

View File

@@ -57,6 +57,7 @@ services:
# - INTERNAL_ACCESS_TOKEN= # - INTERNAL_ACCESS_TOKEN=
# - STORAGE_LIMIT= # - STORAGE_LIMIT=
# - ACTIVE_USERS_LIMIT= # - ACTIVE_USERS_LIMIT=
# - CUSTOMER_PANEL_URL=
# Set to true to show more detailed authentication error messages. # Set to true to show more detailed authentication error messages.
# It should not be enabled without a rate limiter for security reasons. # It should not be enabled without a rate limiter for security reasons.

View File

@@ -34,6 +34,7 @@ SECRET_KEY=notsecretkey
# INTERNAL_ACCESS_TOKEN= # INTERNAL_ACCESS_TOKEN=
# STORAGE_LIMIT= # STORAGE_LIMIT=
# ACTIVE_USERS_LIMIT= # ACTIVE_USERS_LIMIT=
# CUSTOMER_PANEL_URL=
# Set to true to show more detailed authentication error messages. # Set to true to show more detailed authentication error messages.
# It should not be enabled without a rate limiter for security reasons. # It should not be enabled without a rate limiter for security reasons.

View File

@@ -52,6 +52,11 @@
* nullable: true * nullable: true
* description: Maximum number of active users allowed (conditionally added for admins if configured) * description: Maximum number of active users allowed (conditionally added for admins if configured)
* example: 100 * example: 100
* customerPanelUrl:
* type: string
* format: uri
* description: URL to the customer management panel (conditionally added for admins if configured)
* example: https://panel.example.com
* version: * version:
* type: string * type: string
* description: Current version of the PLANKA application * description: Current version of the PLANKA application

View File

@@ -21,7 +21,10 @@ module.exports = {
version: sails.config.custom.version, version: sails.config.custom.version,
}; };
if (inputs.user && inputs.user.role === User.Roles.ADMIN) { if (inputs.user && inputs.user.role === User.Roles.ADMIN) {
data.activeUsersLimit = sails.config.custom.activeUsersLimit; Object.assign(data, {
activeUsersLimit: sails.config.custom.activeUsersLimit,
customerPanelUrl: sails.config.custom.customerPanelUrl,
});
} }
return data; return data;

View File

@@ -62,6 +62,7 @@ module.exports.custom = {
internalAccessToken: process.env.INTERNAL_ACCESS_TOKEN, internalAccessToken: process.env.INTERNAL_ACCESS_TOKEN,
storageLimit: envToBytes(process.env.STORAGE_LIMIT), storageLimit: envToBytes(process.env.STORAGE_LIMIT),
activeUsersLimit: envToNumber(process.env.ACTIVE_USERS_LIMIT), activeUsersLimit: envToNumber(process.env.ACTIVE_USERS_LIMIT),
customerPanelUrl: process.env.CUSTOMER_PANEL_URL,
showDetailedAuthErrors: process.env.SHOW_DETAILED_AUTH_ERRORS === 'true', showDetailedAuthErrors: process.env.SHOW_DETAILED_AUTH_ERRORS === 'true',