1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- 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: .group_lock,
- 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()
- }
- }
|