// Field definitions per integration. // configFields — stored plaintext in the config JSONB column // secretFields — encrypted in the secrets column (api keys, passwords) export const INTEGRATIONS = { newbook: { name: 'Newbook PMS', configFields: ['region', 'username'], secretFields: ['api_key', 'password'], }, resos: { name: 'Resos Reservations', configFields: [], secretFields: ['api_key'], }, nextcloud: { name: 'Nextcloud', configFields: ['base_url', 'username'], secretFields: ['password'], }, azure: { name: 'Azure Document Intelligence', configFields: ['endpoint'], secretFields: ['api_key'], }, sambapos: { name: 'SambaPOS', configFields: ['host', 'port', 'database', 'graphql_endpoint', 'username'], secretFields: ['password'], }, workforce: { name: 'Workforce', configFields: ['base_url', 'sync_hours', 'location_id'], secretFields: ['bearer_token'], }, smtp: { name: 'SMTP Email', configFields: ['host', 'port', 'from', 'reply_to'], secretFields: ['user', 'pass'], }, } export const MASKED = '••••••••'