123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- //
- // OOCalendarAPI.swift
- // O2Platform
- //
- // Created by FancyLou on 2018/7/24.
- // Copyright © 2018 zoneland. All rights reserved.
- //
- import Moya
- enum OOCalendarAPI {
- case myCalendarList
- case filterCalendarEventList(OOCalendarEventFilter)
- case getCalendar(String)
- case saveCalendar(OOCalendarInfo)
- case deleteCalendar(String)
- case getPublicCalendarList // 日历广场
- case followCalendar(String)
- case followCalendarCancel(String)
- case saveCalendarEvent(OOCalendarEventInfo)
- case updateCalendarEventSingle(String, OOCalendarEventInfo)
- case updateCalendarEventAfter(String, OOCalendarEventInfo)
- case updateCalendarEventAll(String, OOCalendarEventInfo)
- case deleteCalendarEventSingle(String)
- case deleteCalendarEventAfter(String)
- case deleteCalendarEventAll(String)
- }
- // 上下文根
- extension OOCalendarAPI: OOAPIContextCapable {
- var apiContextKey: String {
- return "x_calendar_assemble_control"
- }
- }
- // 是否需要xtoken
- extension OOCalendarAPI: OOAccessTokenAuthorizable {
- var shouldAuthorize: Bool {
- return true
- }
- }
- extension OOCalendarAPI: TargetType {
- var baseURL: URL {
- let model = O2AuthSDK.shared.o2APIServer(context: .x_calendar_assemble_control)
- let baseURLString = "\(model?.httpProtocol ?? "http")://\(model?.host ?? ""):\(model?.port ?? 80)\(model?.context ?? "")"
- return URL(string: baseURLString)!
- }
-
- var path: String {
- switch self {
- case .myCalendarList:
- return "/jaxrs/calendar/list/my"
- case .filterCalendarEventList(_):
- return "/jaxrs/event/list/filter"
- case .getCalendar(let id):
- return "/jaxrs/calendar/\(id)"
- case .saveCalendar(_):
- return "/jaxrs/calendar"
- case .deleteCalendar(let id):
- return "/jaxrs/calendar/\(id)"
- case .getPublicCalendarList:
- return "/jaxrs/calendar/list/public"
- case .followCalendar(let id):
- return "/jaxrs/calendar/follow/\(id)"
- case .followCalendarCancel(let id):
- return "/jaxrs/calendar/follow/\(id)/cancel"
- case .saveCalendarEvent(_):
- return "/jaxrs/event"
- case .updateCalendarEventSingle(let id, _):
- return "/jaxrs/event/update/single/\(id)"
- case .updateCalendarEventAfter(let id, _):
- return "/jaxrs/event/update/after/\(id)"
- case .updateCalendarEventAll(let id, _):
- return "/jaxrs/event/update/all/\(id)"
- case .deleteCalendarEventSingle(let id):
- return "/jaxrs/event/single/\(id)"
- case .deleteCalendarEventAfter(let id):
- return "/jaxrs/event/after/\(id)"
- case .deleteCalendarEventAll(let id):
- return "/jaxrs/event/all/\(id)"
- }
- }
-
- var method: Moya.Method {
- switch self {
- case .myCalendarList:
- return .get
- case .filterCalendarEventList(_):
- return .put
- case .getCalendar(_):
- return .get
- case .saveCalendar(_):
- return .post
- case .deleteCalendar(_):
- return .delete
- case .getPublicCalendarList:
- return .get
- case .followCalendar(_):
- return .get
- case .followCalendarCancel(_):
- return .get
- case .saveCalendarEvent(_):
- return .post
- case .updateCalendarEventSingle(_, _):
- return .put
- case .updateCalendarEventAfter(_, _):
- return .put
- case .updateCalendarEventAll(_, _):
- return .put
- case .deleteCalendarEventSingle(_):
- return .delete
- case .deleteCalendarEventAfter(_):
- return .delete
- case .deleteCalendarEventAll(_):
- return .delete
- }
- }
-
- var sampleData: Data {
- return "".data(using: String.Encoding.utf8)!
- }
-
- var task: Task {
- switch self {
- case .myCalendarList:
- return .requestPlain
- case .filterCalendarEventList(let filter):
- return .requestParameters(parameters: filter.toJSON() ?? [:], encoding: JSONEncoding.default)
- case .getCalendar(_):
- return .requestPlain
- case .saveCalendar(let bean):
- return .requestParameters(parameters: bean.toJSON() ?? [:], encoding: JSONEncoding.default)
- case .deleteCalendar(_):
- return .requestPlain
- case .getPublicCalendarList:
- return .requestPlain
- case .followCalendar(_):
- return .requestPlain
- case .followCalendarCancel(_):
- return .requestPlain
- case .saveCalendarEvent(let bean):
- return .requestParameters(parameters: bean.toJSON() ?? [:], encoding: JSONEncoding.default)
- case .updateCalendarEventSingle(_, let bean):
- return .requestParameters(parameters: bean.toJSON() ?? [:], encoding: JSONEncoding.default)
- case .updateCalendarEventAfter(_, let bean):
- return .requestParameters(parameters: bean.toJSON() ?? [:], encoding: JSONEncoding.default)
- case .updateCalendarEventAll(_, let bean):
- return .requestParameters(parameters: bean.toJSON() ?? [:], encoding: JSONEncoding.default)
- case .deleteCalendarEventSingle(_):
- return .requestPlain
- case .deleteCalendarEventAfter(_):
- return .requestPlain
- case .deleteCalendarEventAll(_):
- return .requestPlain
- }
- }
-
- var headers: [String : String]? {
- return nil
- }
-
-
- }
|