暂无描述

MessageListRepository.swift 2.2KB

    // // MessageListRepository.swift // PaiAi // // Created by zhengjianfei on 16/4/7. // Copyright © 2016年 FFIB. All rights reserved. // import Foundation import RxSwift public protocol MessageInteractionModel { var path: Interfaces { get } var removePath: Interfaces { get } var readPath: Interfaces { get } var title: String { get } } extension MessageType { public var model: MessageInteractionModel { switch self { case .thumbup: return MessagethumbupInteractionModel() case .comment: return MessageCommentInteractionModel() case .system: return MessageSystemInteractionModel() } } fileprivate struct MessagethumbupInteractionModel: MessageInteractionModel { var path: Interfaces { return .mesThumbupList} var removePath: Interfaces { return .mesThumbupClear } var readPath: Interfaces { return .mesThumbupRead } var title: String { return "赞" } } fileprivate struct MessageCommentInteractionModel: MessageInteractionModel { var path: Interfaces { return .mesCommentList} var removePath: Interfaces { return .mesCommentClear } var readPath: Interfaces { return .mesCommentRead } var title: String { return "评论" } } fileprivate struct MessageSystemInteractionModel: MessageInteractionModel { var path: Interfaces { return .mesSystemList} var removePath: Interfaces { return .mesSystemClear } var readPath: Interfaces { return .mesSystemRead } var title: String { return "系统消息" } } } struct MessageListRepository { var messageListRemotAPI: MessageListRemoteAPI init(type: MessageType) { messageListRemotAPI = MessageListRemoteAPI(type: type) } func load(page: Int) -> Single<NetworkArrayData<MessageListItem>> { return messageListRemotAPI.loadContent(page: page) } func remove(pk: Int) -> Completable { return messageListRemotAPI.remove(pk: pk) } func removeAll() -> Completable { return messageListRemotAPI.removeAll() } func readed() -> Completable { return messageListRemotAPI.readed() } }