|
//
// 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()
}
}
|