50 lines
1.4 KiB
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()
|
|
}
|
|
}
|