LoginModel.h 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. //
  2. // JDJSONModel.h
  3. // kneet
  4. //
  5. // Created by Jason Lee on 2/9/15.
  6. // Copyright (c) 2015 ntels. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <CoreLocation/CoreLocation.h>
  10. #import "JDJSONModel.h"
  11. #import "DeviceModel.h"
  12. @protocol InvitationModel;
  13. @interface InvitationModel : JDJSONModel
  14. @property (copy, nonatomic) NSString *homegrpId;
  15. @property (copy, nonatomic) NSString *homegrpName;
  16. @property (copy, nonatomic) NSString *nickname;
  17. @property (copy, nonatomic) NSString *authorizationQuestion;
  18. @property (copy, nonatomic) NSString *imageFileName;
  19. //temp
  20. @property (copy, nonatomic) NSString *sdate;
  21. @end
  22. @interface InvitationListModel : JDJSONModel
  23. @property (copy, nonatomic) NSMutableArray<InvitationModel> *list;
  24. @end
  25. @protocol QuizModel;
  26. @interface QuizModel : JDJSONModel
  27. @property (copy, nonatomic) NSString *quiz;
  28. @property (copy, nonatomic) NSString *quizId;
  29. @property (copy, nonatomic) NSString *statusCode;
  30. -(BOOL)isUserEditQuiz;
  31. @end
  32. @interface QuizListModel : JDJSONModel
  33. @property (copy, nonatomic) NSMutableArray<QuizModel> *quizList;
  34. @end
  35. @protocol HomeMemberModel;
  36. @interface HomeMemberModel : JDJSONModel
  37. @property (copy, nonatomic) NSString *memberTypeCode;
  38. @property (copy, nonatomic) NSString *nickname;
  39. @property (copy, nonatomic) NSString *imageFileName;
  40. @property (copy, nonatomic) NSString *gradeCode;
  41. @property (copy, nonatomic) NSString *memberId;
  42. @property (copy, nonatomic) NSString *permissionTransferFlag;
  43. //temp
  44. @property (strong, nonatomic) NSString *targetEmail;
  45. @property (strong, nonatomic) NSString *targetPhone;
  46. @end
  47. @interface HomeMemberListModel : JDJSONModel
  48. @property (copy, nonatomic) NSString *limitCnt; //멤버 등록 제한 숫자(Default : 10)
  49. @property (copy, nonatomic) NSArray<HomeMemberModel> *ctrtGrpMemberList; //홈그룹 멤버 목록
  50. @property (assign, nonatomic, readonly) BOOL isRemainInvite;
  51. @end
  52. @protocol MemberIconModel;
  53. @interface MemberIconModel : JDJSONModel
  54. @property (copy, nonatomic) NSString *imageFileName;
  55. @property (copy, nonatomic) NSString *imageFilePath;
  56. @end
  57. @interface MemberIconListModel : JDJSONModel
  58. @property (copy, nonatomic) NSArray<MemberIconModel> *iconList;
  59. @end
  60. @interface MobileDeviceListModel : JDJSONModel
  61. @property (strong, nonatomic) NSMutableArray<MobileDeviceModel> *deviceList;
  62. @end
  63. @protocol ContractGroupModel;
  64. @interface ContractGroupModel : JDJSONModel
  65. @property (copy, nonatomic) NSString *deviceExistYn;
  66. @property (copy, nonatomic) NSString *firmwareUpdateYn;
  67. @property (copy, nonatomic) NSString *pushTypeModeChgYn;
  68. @property (copy, nonatomic) NSString *ctrtGrpId;
  69. @property (copy, nonatomic) NSString *ctrtGrpName;
  70. @property (copy, nonatomic) NSString *gradeCode;
  71. @property (copy, nonatomic) NSString *masterTransferPopupYn;
  72. @end
  73. // 회원가입
  74. // 퀴즈 명
  75. // 퀴즈 ID
  76. // 퀴즈 선택입력, 사용자 입력 여부
  77. // 퀴즈 정답
  78. // 휴대폰 번호
  79. // 사용자 ID
  80. // 사용자 PW
  81. // cust_id
  82. // ctrt_grp_id
  83. @protocol signUpModel;
  84. @interface SignUpModel : JDJSONModel
  85. @property (copy, nonatomic) NSString *quiz;
  86. @property (copy, nonatomic) NSString *quizId;
  87. @property (copy, nonatomic) NSString *statusCode;
  88. @property (copy, nonatomic) NSString *answer;
  89. @property (copy, nonatomic) NSString *phone;
  90. @property (copy, nonatomic) NSString *memberId;
  91. @property (copy, nonatomic) NSString *custId;
  92. @property (copy, nonatomic) NSString *ctrtGrpId;
  93. @end
  94. @interface LoginModel : SocketModel
  95. //회원 번호
  96. //이메일 ID
  97. //서비스 ID
  98. //국가 코드 (ex: KR)
  99. //타임존 ID
  100. //타임존 시간 (ex: +09:00)
  101. //언어 코드 (ex: en)
  102. //인증 토큰
  103. //회원 여부
  104. //회원 이미지
  105. //회원 닉네임
  106. @property (copy, nonatomic) NSString *memberId;
  107. @property (copy, nonatomic) NSString *phone;
  108. @property (copy, nonatomic) NSString *emailId;
  109. @property (copy, nonatomic) NSString *serviceId;
  110. @property (copy, nonatomic) NSString *authToken; //인증 토큰
  111. @property (copy, nonatomic) NSString *profileImage; //(회원) 이미지 파일 명
  112. @property (copy, nonatomic) NSString *msoImageUrl; //(회원) 이미지 파일 명
  113. @property (copy, nonatomic) NSString *imageFile;
  114. @property (copy, nonatomic) NSString *member;
  115. @property (copy, nonatomic) NSString *quiz;
  116. @property (copy, nonatomic) NSString *nickname; //(회원) 닉네임
  117. @property (copy, nonatomic) NSString *tempPasswordYn; //임시 비밀번호 여부 (Y : 임시 비밀번호, N : 기존 비밀번호)
  118. @property (copy, nonatomic) NSString *pushTypeModeChgYn; //모드가 바뀔 때 알림 설정 여부 (Y : 사용, N : 미사용)
  119. @property (copy, nonatomic) NSString *pushTypePrsncChgYn;
  120. @property (copy, nonatomic) NSString *custId; //고객 ID
  121. @property (copy, nonatomic) NSString *ctrtGrpId; //계약그룹ID(고객 ID와 동일)
  122. @property (copy, nonatomic) NSString *selectCtrtGrpId; //가장 마지막 선택된 계약그룹 ID
  123. @property (assign, nonatomic, readonly) ContractGroupModel *ctrtGrp; //선택된 계약그룹
  124. @property (copy, nonatomic) NSString *homegrpId;
  125. @property (copy, nonatomic) NSString *homegrpName;
  126. @property (copy, nonatomic) NSString *homegrpImageFileName;
  127. @property (copy, nonatomic) NSString *hoemgrpName;
  128. @property (copy, nonatomic) NSString *gradeCode;
  129. @property (copy, nonatomic) NSString *homehubDeviceId;
  130. @property (copy, nonatomic) NSString *homehubOnlineState;
  131. @property (copy, nonatomic) NSString *homehubCreateDatetime;
  132. @property (copy, nonatomic) NSString *invitationsCount;
  133. @property (copy, nonatomic) NSString *servicehubApplicationId;
  134. @property (strong, nonatomic) NSMutableArray<ContractGroupModel> *ctrtGrpList; //계약그룹 목록
  135. @property (copy, nonatomic) NSMutableArray *deviceList; //디바이스 목록
  136. @property (strong, nonatomic) NSString *selectedHomeHubID;
  137. @property (weak, nonatomic) DeviceModel *modifyHomeHub;
  138. //@property (copy, nonatomic) NSString *deviceOnline;
  139. //@property (copy, nonatomic) NSString *deviceOnlineLastDatetime;
  140. //@property (copy, nonatomic) NSString *deviceConn;
  141. //local store
  142. @property (strong, nonatomic) NSMutableDictionary *localStorage;
  143. @property (strong, nonatomic) NSString *newEmailId; //로컬에 저장 - 임시 이메일
  144. @property (strong, nonatomic) NSString *modeChange; //로컬에 저장 - 모드 최초 실행 여부
  145. @property (strong, nonatomic) NSString *noticeReadTime; //로컬에 저장 - 세션 공지 읽음 날짜
  146. @property (strong, nonatomic) NSString *personalNoticeReadTime; //로컬에 저장 - 세션 알림 읽음 날짜
  147. //권한
  148. @property (assign, nonatomic) NSInteger level;
  149. //local transition
  150. @property (assign, nonatomic, readonly) BOOL isHomehubOnline;
  151. @property (assign, nonatomic, readonly) BOOL hasHomeHub;
  152. @property (assign, nonatomic, readonly) NSString *authorization;
  153. -(void)setHomeHubID:(NSString *)homeHubID;
  154. -(NSString *)getHomeHubID;
  155. -(DeviceModel *)getHomeHub;
  156. - (BOOL)isMultiHomeHub;
  157. @end