No Description

GroupDetailRemoteAPI.swift 2.3KB

    // // GroupDetailRemoteAPI.swift // PaiaiDataKit // // Created by ffib on 2018/12/29. // Copyright © 2018 yb. All rights reserved. // import Foundation import RxSwift struct GroupDetailRemoteAPI { var groupId: String init(groupId: String) { self.groupId = groupId } private func parse(_ json: JSON) -> GroupDetailItem? { guard let data = json["data"] as? [String: AnyObject] else { return nil } return GroupDetailItem(json: data) } func loadContent() -> Single<GroupDetailItem> { let resource = ContentResource<GroupDetailItem>(path: .groupDetail, parameter: ["user_id": ShareUserId, "group_id": groupId], parseJSON: parse) return resource.loadContent() } func quit() -> Completable { let quitResoure = StatusResource(path: .groupQuit, parameter: ["user_id": ShareUserId, "group_id": groupId]) return quitResoure.getStatus() } func lock() -> Completable { let lockResource = StatusResource(path: .groupLock, parameter: ["user_id": ShareUserId, "group_id": groupId]) return lockResource.getStatus() } func unlock() -> Completable { let unlockResource = StatusResource(path: .groupUnlock, parameter: ["user_id": ShareUserId, "group_id": groupId]) return unlockResource.getStatus() } func remove(userId: String) -> Completable { let deleteResource = StatusResource(path: .groupRemove, parameter: ["admin_id": ShareUserId, "group_id": groupId, "user_id": userId]) return deleteResource.getStatus() } func update(name: String) -> Completable { let updateResource = StatusResource(path: .groupUpdate, parameter: ["admin_id": ShareUserId, "group_id": groupId, "group_name": name]) return updateResource.getStatus() } }