//
//  JDJSONModel.h
//  kneet
//
//  Created by Jason Lee on 2/9/15.
//  Copyright (c) 2015 ntels. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <CoreLocation/CoreLocation.h>

#import "JDJSONModel.h"

@protocol InvitationModel;
@interface InvitationModel : JDJSONModel

@property (copy, nonatomic) NSString *homegrpId;
@property (copy, nonatomic) NSString *homegrpName;
@property (copy, nonatomic) NSString *nickname;
@property (copy, nonatomic) NSString *authorizationQuestion;
@property (copy, nonatomic) NSString *imageFileName;

//temp
@property (copy, nonatomic) NSString *sdate;

@end

@interface InvitationListModel : JDJSONModel

@property (copy, nonatomic) NSMutableArray<InvitationModel> *list;

@end

@protocol HomeMemberModel;
@interface HomeMemberModel : JDJSONModel

@property (copy, nonatomic) NSString *memberTypeCode;
@property (copy, nonatomic) NSString *invitation;
@property (copy, nonatomic) NSString *nickname;
@property (copy, nonatomic) NSString *imageFileName;
@property (copy, nonatomic) NSString *gradeCode;
@property (copy, nonatomic) NSString *gradeCodeName;
@property (copy, nonatomic) NSString *memberId;
@property (copy, nonatomic) NSString *invitationHistId;

//temp
@property (strong, nonatomic) NSString *targetEmail;

@end

@interface HomeMemberListModel : JDJSONModel

@property (copy, nonatomic) NSArray<HomeMemberModel> *homegrpMemberList;

@end

@protocol MemberIconModel;
@interface MemberIconModel : JDJSONModel

@property (copy, nonatomic) NSString *imageFileName;
@property (copy, nonatomic) NSString *imageFilePath;

@end

@interface MemberIconListModel : JDJSONModel

@property (copy, nonatomic) NSArray<MemberIconModel> *iconList;

@end

@interface MobileDeviceListModel : JDJSONModel

@property (strong, nonatomic) NSMutableArray<MobileDeviceModel> *deviceList;

@end

@interface LoginModel : JDJSONModel

//회원 번호
//이메일 ID
//서비스 ID
//국가 코드 (ex: KR)
//타임존 ID
//타임존 시간 (ex: +09:00)
//언어 코드 (ex: en)
//인증 토큰
//회원 여부
//회원 이미지
//회원 닉네임
@property (copy, nonatomic) NSString *memberId;
@property (copy, nonatomic) NSString *emailId;
@property (copy, nonatomic) NSString *serviceId;
@property (copy, nonatomic) NSString *countryCode;
@property (copy, nonatomic) NSString *timezoneId;
@property (copy, nonatomic) NSString *timezone;
@property (copy, nonatomic) NSString *lang;
@property (copy, nonatomic) NSString *authToken;
@property (copy, nonatomic) NSString *member;
@property (copy, nonatomic) NSString *imageFileName;
@property (copy, nonatomic) NSString *nickname;
@property (copy, nonatomic) NSString *key;
@property (copy, nonatomic) NSString *tempPasswordYn;
@property (copy, nonatomic) NSString *pushTypeModeChgYn;
@property (copy, nonatomic) NSString *pushTypeRuleExcYn;

@property (copy, nonatomic) NSString *homegrpId;
@property (copy, nonatomic) NSString *homegrpName;
@property (copy, nonatomic) NSString *homegrpImageFileName;
@property (copy, nonatomic) NSString *hoemgrpName;

@property (copy, nonatomic) NSString *gradeCode;
@property (copy, nonatomic) NSString *homehubDeviceId;
@property (copy, nonatomic) NSString *homehubOnlineState;

@property (copy, nonatomic) NSString *invitationsCount;

//local store
@property (strong, nonatomic) NSMutableDictionary *localStorage;
@property (strong, nonatomic) NSString *newEmailId; //로컬에 저장 - 임시 이메일
@property (strong, nonatomic) NSString *modeChange; //로컬에 저장 - 모드 최초 실행 여부
@property (strong, nonatomic) NSString *noticeReadTime; //로컬에 저장 - 세션 공지 읽음 날짜


//디바이스
@property (strong, nonatomic) NSString *mobileDeviceId; //FIXME : delete
@property (strong, nonatomic) NSString *mobileDeviceAuthorization;
@property (strong, nonatomic) NSString *hasRegisterMobileDevice;

//권한
@property (nonatomic, assign) NSInteger level;

@end

