Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- final class PVProductListService {
- class func productListWithId(campaignId: String, categoryId: String) -> Observable < PVProductList > {
- return networkStubbedProvider
- .request(.ProductsList(campaignId, categoryId))
- .pvValidateResponse()
- .pvMapObject(PVProductList)
- }
- }
- import ObjectMapper
- final class PVProductList: PVModel {
- var campaignId: String?
- var categoryId: String?
- var campaignName: String?
- var categoryName: String?
- var products: [PVProduct]?
- override func mapping(map: Map) {
- campaignId <- map["data.campaign_data.campaign_PK"]
- categoryId <- map["data.category_data.category_PK"]
- campaignName <- map["data.campaign_data.campaign_name"]
- categoryName <- map["data.category_data.category_name"]
- products <- map["data.products"]
- super.mapping(map)
- }
- }
- //MARK: - Response validation
- extension ObservableType where E == Response {
- @warn_unused_result
- func pvValidateResponse() -> Observable<PVJSON> {
- return self.filterSuccessfulStatusAndRedirectCodes()
- .mapJSON()
- .pvValidateJSON()
- .pvFilterSuccessfulDataStatuses()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement