OOContactExpressAPI.swift 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //
  2. // OOContactExpressAPI.swift
  3. // O2Platform
  4. //
  5. // Created by FancyLou on 2019/8/13.
  6. // Copyright © 2019 zoneland. All rights reserved.
  7. //
  8. import Moya
  9. import O2OA_Auth_SDK
  10. //x_organization_assemble_express
  11. enum OOContactExpressAPI {
  12. //根据职务列表和组织查询 组织下对应的身份列表
  13. case identityListByUnitAndDuty([String], String)
  14. //查询人员person的dn
  15. case personListDN([String])
  16. }
  17. extension OOContactExpressAPI: OOAPIContextCapable {
  18. var apiContextKey: String {
  19. return "x_organization_assemble_express"
  20. }
  21. }
  22. extension OOContactExpressAPI: OOAccessTokenAuthorizable {
  23. var shouldAuthorize: Bool {
  24. return true
  25. }
  26. }
  27. extension OOContactExpressAPI: TargetType {
  28. var baseURL: URL {
  29. let model = O2AuthSDK.shared.o2APIServer(context: .x_organization_assemble_express)
  30. let baseURLString = "\(model?.httpProtocol ?? "http")://\(model?.host ?? ""):\(model?.port ?? 0)\(model?.context ?? "")"
  31. return URL(string: baseURLString)!
  32. }
  33. var path: String {
  34. switch self {
  35. case .identityListByUnitAndDuty(_, _):
  36. return "/jaxrs/unitduty/list/identity/unit/name/object"
  37. case .personListDN(_):
  38. return "/jaxrs/person/list"
  39. }
  40. }
  41. var method: Moya.Method {
  42. switch self {
  43. case .identityListByUnitAndDuty(_, _), .personListDN(_):
  44. return .post
  45. }
  46. }
  47. var sampleData: Data {
  48. return "".data(using: String.Encoding.utf8)!
  49. }
  50. var task: Task {
  51. switch self {
  52. case .identityListByUnitAndDuty(let dutyList, let unit):
  53. return .requestParameters(parameters: ["nameList": dutyList, "unit": unit], encoding: JSONEncoding.default)
  54. case .personListDN(let idList):
  55. return.requestParameters(parameters: ["personList": idList], encoding: JSONEncoding.default)
  56. }
  57. }
  58. var headers: [String : String]? {
  59. return nil
  60. }
  61. }