123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- //
- // PersonalAPI.swift
- // O2Platform
- //
- // Created by FancyLou on 2018/11/21.
- // Copyright © 2018 zoneland. All rights reserved.
- //
- import Moya
- enum PersonalAPI {
- case personInfo
- case updatePersonInfo(O2PersonInfo)
- case updatePersonIcon(UIImage)
- case meetingConfig
- }
- extension PersonalAPI: OOAPIContextCapable {
- var apiContextKey: String {
- return "x_organization_assemble_personal"
- }
- }
- extension PersonalAPI: OOAccessTokenAuthorizable {
- var shouldAuthorize: Bool {
- return true
- }
- }
- extension PersonalAPI: TargetType {
- var baseURL: URL {
- let model = O2AuthSDK.shared.o2APIServer(context: .x_organization_assemble_personal)
- let baseURLString = "\(model?.httpProtocol ?? "http")://\(model?.host ?? ""):\(model?.port ?? 80)\(model?.context ?? "")"
- if let trueUrl = O2AuthSDK.shared.bindUnitTransferUrl2Mapping(url: baseURLString) {
- return URL(string: trueUrl)!
- }
- return URL(string: baseURLString)!
- }
-
- var path: String {
- switch self {
- case .personInfo:
- return "jaxrs/person"
- case .updatePersonInfo(_):
- return "jaxrs/person"
- case .updatePersonIcon(_):
- return "jaxrs/person/icon"
- case .meetingConfig:
- return "jaxrs/definition/meetingConfig"
- }
- }
-
- var method: Moya.Method {
- switch self {
- case .personInfo, .meetingConfig:
- return .get
- case .updatePersonInfo(_), .updatePersonIcon(_):
- return .put
- }
- }
-
- var sampleData: Data {
- return "".data(using: String.Encoding.utf8)!
- }
-
- var task: Task {
- switch self {
- case .personInfo, .meetingConfig:
- return .requestPlain
- case .updatePersonInfo(let person):
- return .requestParameters(parameters: person.toJSON() ?? [:], encoding: JSONEncoding.default)
- case .updatePersonIcon(let image):
- let data = image.pngData()
- let formData = MultipartFormData(provider: .data(data!), name: "file",
- fileName: "avatar.png", mimeType: "image/png")
- return .uploadMultipart([formData])
- }
- }
-
- var headers: [String : String]? {
- return nil
- }
-
-
- }
|