No Description

GroupDetailRemoteAPI.swift 2.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. //
  2. // GroupDetailRemoteAPI.swift
  3. // PaiaiDataKit
  4. //
  5. // Created by FFIB on 2018/12/29.
  6. // Copyright © 2018 FFIB. All rights reserved.
  7. //
  8. import Foundation
  9. import RxSwift
  10. struct GroupDetailRemoteAPI {
  11. var groupId: String
  12. init(groupId: String) {
  13. self.groupId = groupId
  14. }
  15. private func parse(_ json: JSON) -> GroupDetailItem? {
  16. guard let data = json["data"] as? [String: AnyObject] else { return nil }
  17. return GroupDetailItem(json: data)
  18. }
  19. func loadContent() -> Single<GroupDetailItem> {
  20. let resource = ContentResource<GroupDetailItem>(path: .groupDetail,
  21. parameter: ["user_id": ShareUserId, "group_id": groupId],
  22. parseJSON: parse)
  23. return resource.loadContent()
  24. }
  25. func quit() -> Completable {
  26. let quitResoure = StatusResource(path: .groupQuit,
  27. parameter: ["user_id": ShareUserId, "group_id": groupId])
  28. return quitResoure.getStatus()
  29. }
  30. func lock() -> Completable {
  31. let lockResource = StatusResource(path: .group_lock,
  32. parameter: ["user_id": ShareUserId, "group_id": groupId])
  33. return lockResource.getStatus()
  34. }
  35. func unlock() -> Completable {
  36. let unlockResource = StatusResource(path: .groupUnlock,
  37. parameter: ["user_id": ShareUserId, "group_id": groupId])
  38. return unlockResource.getStatus()
  39. }
  40. func remove(userId: String) -> Completable {
  41. let deleteResource = StatusResource(path: .groupRemove,
  42. parameter: ["admin_id": ShareUserId,
  43. "group_id": groupId,
  44. "user_id": userId])
  45. return deleteResource.getStatus()
  46. }
  47. func update(name: String) -> Completable {
  48. let updateResource = StatusResource(path: .groupUpdate,
  49. parameter: ["admin_id": ShareUserId,
  50. "group_id": groupId,
  51. "group_name": name])
  52. return updateResource.getStatus()
  53. }
  54. }