<?php

return [

    'roles' => [
        'owner' => 'Owner',
        'admin' => 'Administrator',
        'moderator' => 'Moderator',
        'member' => 'Member',
        'guest' => 'Guest',
    ],

    'room_types' => [
        'instant' => 'Instant meeting',
        'scheduled' => 'Scheduled meeting',
        'personal' => 'Personal room',
        'recurring' => 'Recurring meeting',
        'webinar' => 'Webinar',
        'town_hall' => 'Conference',
        'space' => 'Room',
    ],

    'room_statuses' => [
        'scheduled' => 'Scheduled',
        'live' => 'Live',
        'ended' => 'Ended',
        'cancelled' => 'Cancelled',
        'recording_processing' => 'Recording processing',
    ],

    'recording_statuses' => [
        'recording' => 'Recording',
        'processing' => 'Processing',
        'ready' => 'Ready',
        'failed' => 'Failed',
    ],

    'recurrence_rules' => [
        'daily' => 'Daily',
        'weekly' => 'Weekly',
        'monthly' => 'Monthly',
    ],

    'schedule_timezones' => [
        'UTC',
        'America/New_York',
        'America/Chicago',
        'America/Los_Angeles',
        'Europe/London',
        'Africa/Accra',
        'Africa/Lagos',
    ],

    'participant_roles' => [
        'host' => 'Host',
        'co_host' => 'Co-host',
        'panelist' => 'Panelist',
        'participant' => 'Participant',
        'attendee' => 'Attendee',
        'guest' => 'Guest',
    ],

    'session_statuses' => [
        'live' => 'Live',
        'ended' => 'Ended',
    ],

    'default_settings' => [
        'waiting_room' => true,
        'join_before_host' => false,
        'mute_on_join' => true,
        'video_off_on_join' => false,
        'allow_screen_share' => true,
        'allow_chat' => true,
        'allow_reactions' => true,
        'lock_meeting' => false,
        'auto_record' => false,
        'live_captions' => false,
        'auto_ai_summary' => true,
        'lobby_mode' => false,
        'webinar_auto_approve' => false,
        'stage_mode' => true,
    ],

    'breakouts' => [
        'default_timer_minutes' => 15,
        'max_rooms' => 20,
    ],

    'files' => [
        'disk' => env('MEET_FILES_DISK', 'local'),
        'default_expiry_days' => (int) env('MEET_FILES_EXPIRY_DAYS', 30),
        'drive_api_url' => env('LADILL_DRIVE_API_URL'),
        'drive_api_key' => env('LADILL_DRIVE_API_KEY_MEET'),
    ],

    'whiteboard_templates' => [
        'blank' => 'Blank canvas',
        'grid' => 'Grid',
        'retrospective' => 'Retrospective',
    ],

    'security_defaults' => [
        'org_only' => false,
        'authenticated_only' => false,
        'allowed_domains' => [],
        'recording_host_only' => true,
        'guest_recording_disabled' => true,
        'watermark_enabled' => false,
        'session_idle_minutes' => 120,
    ],

    'recordings' => [
        'disk' => env('MEET_RECORDINGS_DISK', 'local'),
        'max_mb' => (int) env('MEET_RECORDING_MAX_MB', 512),
        'processing_timeout_minutes' => (int) env('MEET_RECORDING_PROCESSING_TIMEOUT_MINUTES', 15),
    ],

    'ai' => [
        'enabled' => env('MEET_AI_ENABLED', true),
        'auto_summarize' => env('MEET_AI_AUTO_SUMMARIZE', true),
        'api_key' => env('MEET_AI_API_KEY', env('OPENAI_API_KEY')),
        'model' => env('MEET_AI_MODEL', 'gpt-4o-mini'),
        'platform_api_url' => env('IDENTITY_API_URL', 'https://ladill.com/api'),
        'platform_api_key' => env('IDENTITY_API_KEY_MEET'),
    ],

    'media' => [
        'provider' => env('MEET_MEDIA_PROVIDER', 'livekit'),
        'livekit' => [
            'url' => env('LIVEKIT_URL', ''),
            'api_key' => env('LIVEKIT_API_KEY', ''),
            'api_secret' => env('LIVEKIT_API_SECRET', ''),
        ],
    ],

    'report_types' => [
        'summary' => 'Organization summary',
        'meetings' => 'Meeting analytics',
        'users' => 'Participant analytics',
        'invitations' => 'Invitation & RSVP',
        'branches' => 'Branch rollup',
    ],

    'service_api_keys' => [
        'care' => env('MEET_API_KEY_CARE'),
        'crm' => env('MEET_API_KEY_CRM'),
        'bookings' => env('MEET_API_KEY_BOOKINGS'),
        'events' => env('MEET_API_KEY_EVENTS'),
        'frontdesk' => env('MEET_API_KEY_FRONTDESK'),
        'hr' => env('MEET_API_KEY_HR'),
        'support' => env('MEET_API_KEY_SUPPORT'),
        'invoice' => env('MEET_API_KEY_INVOICE'),
    ],

    'webhook_events' => [
        'meeting.scheduled',
        'meeting.started',
        'meeting.ended',
        'meeting.cancelled',
        'recording.ready',
    ],

    'events_app_url' => env('LADILL_EVENTS_APP_URL', 'https://events.ladill.com'),
    'events_api_url' => env('LADILL_EVENTS_API_URL', 'https://events.ladill.com/api/service/v1'),
    'events_api_key' => env('MEET_API_KEY_EVENTS'),

    'calendar' => [
        'google' => [
            'client_id' => env('GOOGLE_CALENDAR_CLIENT_ID'),
            'client_secret' => env('GOOGLE_CALENDAR_CLIENT_SECRET'),
            'redirect' => env('GOOGLE_CALENDAR_REDIRECT_URI'),
        ],
        'microsoft' => [
            'client_id' => env('MICROSOFT_CALENDAR_CLIENT_ID'),
            'client_secret' => env('MICROSOFT_CALENDAR_CLIENT_SECRET'),
            'redirect' => env('MICROSOFT_CALENDAR_REDIRECT_URI'),
            'tenant' => env('MICROSOFT_CALENDAR_TENANT', 'common'),
        ],
        'mail' => [
            'api_url' => env('LADILL_MAIL_API_URL', 'https://mail.ladill.com/api/service/v1'),
            'api_key' => env('MAIL_API_KEY_MEET'),
        ],
    ],

    'live_stream' => [
        'platforms' => ['youtube', 'facebook', 'linkedin', 'custom'],
        'layouts' => ['speaker', 'gallery', 'screen'],
    ],

    'billing' => [
        'price_per_participant_ghs' => (float) env('MEET_PRICE_PER_PARTICIPANT', env('MEET_PRICE_PER_HOUR', 0.30)),
        'price_per_gb_month_ghs' => (float) env('MEET_PRICE_PER_GB_MONTH', 0.30),
        'billing_period_days' => (int) env('MEET_BILLING_PERIOD_DAYS', 30),
        'grace_period_days' => (int) env('MEET_GRACE_PERIOD_DAYS', 15),
    ],

    'audit_actions' => [
        'organization.created' => 'Organization created',
        'organization.updated' => 'Organization updated',
        'organization.security_updated' => 'Security policy updated',
        'branch.created' => 'Branch created',
        'branch.updated' => 'Branch updated',
        'member.created' => 'Member added',
        'member.deleted' => 'Member removed',
        'room.created' => 'Meeting created',
        'room.updated' => 'Meeting updated',
        'room.cancelled' => 'Meeting cancelled',
        'session.started' => 'Meeting started',
        'session.ended' => 'Meeting ended',
        'participant.joined' => 'Participant joined',
        'participant.left' => 'Participant left',
        'participant.removed' => 'Participant removed',
        'meeting.locked' => 'Meeting locked',
        'meeting.unlocked' => 'Meeting unlocked',
        'recording.started' => 'Recording started',
        'recording.stopped' => 'Recording stopped',
        'recording.ready' => 'Recording ready',
        'recording.deleted' => 'Recording deleted',
        'notification.meeting_started' => 'Meeting started notification',
    ],

];
