//
//  NotificationApi.h
//  Project
//
//  Created by Vae on 2018/8/23.
//

#import <UIKit/UIKit.h>
#import "JavaAppAPI.h"
#import "Message.h"
#import "NotifiCationSetting.h"

@interface NotificationApi : JavaAppAPI
@end


@interface GetUserMessages: NotificationApi
@property(nonatomic, assign) NSInteger pageNo;
@property(nonatomic, assign) NSInteger pageSize;
@end

@interface GetUserMessagesResponse : JavaAppAPIResponse
@property(nonatomic, assign) NSInteger total;
@property(nonatomic, strong) NSArray <Message *>*messages;
@end

@interface DeleteMessages: NotificationApi
@property(nonatomic, assign) NSInteger id;
@end

@interface DeleteMessagesReponse : JavaAppAPIResponse
@property(nonatomic, assign) NSInteger applyState;
@end

@interface RegisterUserAppNotification: NotificationApi
@property(nonatomic, assign) NSInteger userAppId;
@property(nonatomic, assign) NSInteger apiType;
@property(nonatomic, strong) NSString *apiPlatformApplicationId;//arn
@property(nonatomic, strong) NSString *deviceToken;
@property(nonatomic, strong) NSString *apiEndpointId;
@end

@interface RegisterUserAppNotificationResponse : JavaAppAPIResponse
@end

//enable-user-app-notification
@interface EnableUserAppNotification : NotificationApi
@property(nonatomic, assign) NSInteger userAppId;
@property(nonatomic, assign) BOOL enabled;
@end

@interface EnableUserAppNotificationResponse : JavaAppAPIResponse
@end

@interface GetUserNotificationSettings: NotificationApi
@property(nonatomic, assign) NSInteger userId;
@end

@interface GetUserNotificationSettingsResponse : JavaAppAPIResponse
@property(nonatomic, strong) NSArray <NotifiCationSetting *>*settings;
@end

@interface UpdateUserNotificationSetting: NotificationApi
@property(nonatomic, assign) NSInteger notificationTemplateId;
@property(nonatomic, assign) NSInteger disabled;
@end

@interface UpdateUserNotificationSettingResponse : JavaAppAPIResponse
@property(nonatomic, assign) NSInteger applyState;
@end

@interface MarkUserMessagesRead : NotificationApi
@end

@interface MarkUserMessageReadResponse : JavaAppAPIResponse

@end


