import { DeviceType, LocaleCode } from '@ucap-webmessenger/core'; import { ProtocolRequest, ProtocolResponse } from '@ucap-webmessenger/protocol'; import { SSOMode } from '../types/sso-mode'; import { RoleCode } from '../types/role-code'; export interface LoginRequest extends ProtocolRequest { // 0. LoginID(s) loginId: string; // 1. LoginPW(e) loginPw: string; // 2. 단말타입(s) (WEB) deviceType: DeviceType; // 3. 디바이스ID(s) (for mobile) deviceId: string; // 4. Token(n) token: string; // 5. 언어코드(s) localeCode: LocaleCode; // 6. Push ID (for mobile) pushId: string; // 7. 기관코드(s) companyCode: string; // 8. PW_ENC_T passwordEncodingType: number; // 9. Client버전(s) clientVersion: string; // 10. 재연결여부(s) reconnect: boolean; // 11. IP(s) ip: string; // 12. 호스트명(s) hostName: string; // 13. SSO모드(SSO_NONE=0:사용안함, SSO_AUTH=1:사용, SSO_AUTO=2:자동실행, SSO_VALI=3:세션연장) ssoMode: SSOMode; // 14. 사용자고유정보(s) userSpecificInformation: string; // 15. 제품 ID(s) productId: string; // 16. 제품명(s) productName: string; // 17. EncData(s) encriptionData?: string; // 18. AccessToken(s) accessToken?: string; } export interface LoginResponse extends ProtocolResponse { loginId: string; userSeq: number; userInfo: string; token: number; companyCode: string; departmentCode: number; userId: string; passwordEncodingType: number; encriptionKey: string; existingPid: boolean; roleCode: RoleCode; statusMessage1: string; statusMessage2: string; statusMessage3: string; fileDownloadAllow: boolean; fileRetentionPeriod: number; passwordValidityPeriod: number; privateInformationAgree: boolean; madn: string; hardPhoneSadn: string; fmcSadn: string; pbxIndex: number; passwordExpired: boolean; validAccount: boolean; validDevice: boolean; useableDevice: boolean; deviceScreenForcedLock: boolean; tokenString: string; havePermissionsForIntegratedMessageBox: boolean; talkWithMeBotSeq: number; pinCode: string; permissionsForViewSchedule: string; havePermissionsForDevice: boolean; }