import {
  Environment,
  commonApiUrls,
  commonApiacceptableFileExtensions,
  publicApiUrls,
  externalApiUrls,
  piUrls,
  protocolUrls,
  messageApiUrls,
  promptUrls
} from './environment.type';
import { DeviceType, NotificationMethod } from '@ucap-webmessenger/core';

export const environment: Environment = {
  production: true,
  title: `UCapMessenger`,

  companyConfig: {
    companyGroupCode: 'LG',
    fixedCompanyCode: ''
  },

  productConfig: {
    productId: 'PRO_000482',
    productName: 'EZMessenger',
    authentication: {
      usePrivateInformationAgree: false,
      rememberMe: {
        use: false
      },
      autoLogin: {
        use: true
      }
    },
    updateCheckConfig: {
      deviceType: DeviceType.Renderer,
      intervalHour: 1
    },
    defaultSettings: {
      general: {
        appTheme: 'theme-default',
        autoLogin: false,
        autoLaunch: true,
        continueRunWhenClose: true,
        locale: 'ko',
        hrInfoLocale: 'ko',
        startupHideWindow: false,
        timezone: 'Asia/Seoul'
      },
      notification: {
        use: true,
        method: NotificationMethod.SoundAndAlert,
        alertExposureTime: 5,
        receiveForMobile: false,
        receiveForMessage: false
      },
      chat: {
        fontFamily: 'Malgun Gothic',
        fontSize: 12,
        downloadPath: undefined
      },
      presence: {
        absenceTime: 10
      }
    },
    CommonSetting: {
      defaultFileAllowSize: 100,

      editableProfileImage: true,

      useMyDeptGroup: false,
      myDeptGroupSeq: -999,
      fixedGroupSeqs: [],

      useTimerRoom: true,
      timerRoomDefaultInterval: 24 * 60 * 60,

      maxChatRoomUser: 300,
      masstextLength: 800,

      eventRequestInitCount: 15,
      eventRequestDefaultCount: 50,

      readHereShowMinimumEventCount: 10,
      readHereShowMaximumEventCount: 100,
      readHereEventRequestCount: 10
    }
  },

  customConfig: {
    appKey: '!@#$DAESANG%^&*'
  },

  commonApiModuleConfig: {
    hostConfig: {
      protocol: 'http',
      domain: '27.122.224.170',
      port: 8011
    },
    urls: commonApiUrls,
    acceptableFileExtensions: commonApiacceptableFileExtensions
  },

  publicApiModuleConfig: {
    hostConfig: {
      protocol: 'http',
      domain: '27.122.224.170',
      port: 8011
    },
    urls: publicApiUrls
  },

  externalApiModuleConfig: {
    hostConfig: {
      protocol: 'http',
      domain: '27.122.224.170',
      port: 8011
    },
    urls: externalApiUrls
  },

  messageApiModuleConfig: {
    hostConfig: {
      protocol: 'http',
      domain: '27.122.224.170',
      port: 9097
    },
    urls: messageApiUrls
  },

  promptApiModuleConfig: {
    hostConfig: {
      protocol: 'http',
      domain: '15.164.139.105',
      port: 9097
    },
    urls: promptUrls
  },

  piModuleConfig: {
    hostConfig: {
      protocol: 'http',
      domain: '27.122.224.170',
      port: 9097
    },
    urls: piUrls
  },

  protocolModuleConfig: {
    hostConfig: {
      protocol: 'ws',
      domain: '27.122.224.170',
      port: 8080
    },
    urls: protocolUrls,
    reconnect: {
      delay: 1000
    },
    requestId: {
      min: 1,
      max: 59999
    }
  },

  nativeModuleConfig: {}
};
