jsdw_ios/QuickLocation/Service/PigeonService.swift

50 lines
1.4 KiB
Swift

//
// PigeonService.swift
// QuickLocation
//
import RxSwift
struct PigeonService {
static func send(
groupKey: String,
toUsers: [String],
msgType: Int,
fileId: String,
textMsg: String
) -> Observable<ResponseModel> {
let api = PigeonAPI.send(
groupKey: groupKey,
toUsers: toUsers,
msgType: msgType,
msg: fileId,
textMsg: textMsg,
expireTime: 0
).multiTarget
return APIProvider.request(token: api, handle: false)
.map(ResponseModel.self)
.asObservable()
}
static func sent(groupKey: String) -> Observable<PigeonSentResponse> {
let api = PigeonAPI.sent(groupKey: groupKey).multiTarget
return APIProvider.request(token: api)
.map(PigeonSentResponse.self)
.asObservable()
}
static func inbox() -> Observable<PigeonSentResponse> {
let api = PigeonAPI.inbox.multiTarget
return APIProvider.request(token: api, handle: false)
.map(PigeonSentResponse.self)
.asObservable()
}
static func burn(messageUUID: String) -> Observable<ResponseModel> {
let api = PigeonAPI.burn(messageUUID: messageUUID).multiTarget
return APIProvider.request(token: api, handle: false)
.map(ResponseModel.self)
.asObservable()
}
}