Skip to content

Commit 9ba8aa6

Browse files
committed
DEV-3453: added params to search with or without correction. parse new field with repaired search query
1 parent 276de2d commit 9ba8aa6

File tree

5 files changed

+15
-3
lines changed

5 files changed

+15
-3
lines changed

REES46/Classes/Model/SearchResponse.swift

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ public struct SearchResponse {
130130
public var brands: [String]?
131131
public var priceRange: PriceRange?
132132
public var redirect: Redirect?
133+
public var queryFixed: String?
133134

134135
init(json: [String: Any]) {
135136
let cats = json["categories"] as? [[String: Any]] ?? []
@@ -190,6 +191,8 @@ public struct SearchResponse {
190191
if let redirectJSON = json["search_query_redirects"] as? [String: Any] {
191192
self.redirect = Redirect(json: redirectJSON)
192193
}
194+
195+
queryFixed = json["query_fixed"] as? String
193196
}
194197
}
195198

REES46/Classes/Sdk/impl/SimplePersonalizationSDK.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -321,6 +321,7 @@ class SimplePersonalizationSDK: PersonalizationSDK {
321321
email: String?,
322322
timeOut: Double?,
323323
disableClarification: Bool?,
324+
correction: Bool?,
324325
completion: @escaping (Result<SearchResponse, SdkError>) -> Void
325326
) {
326327
searchService.search(
@@ -346,6 +347,7 @@ class SimplePersonalizationSDK: PersonalizationSDK {
346347
email:email,
347348
timeOut:timeOut,
348349
disableClarification:disableClarification,
350+
correction:correction,
349351
completion: completion
350352
)
351353
}

REES46/Classes/Sdk/protocol/PersonalizationSDK.protocol.swift

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public protocol PersonalizationSDK {
5050
func setPushTokenNotification(token: String, isFirebaseNotification: Bool, completion: @escaping(Result<Void, SdkError>) -> Void)
5151
func review(rate: Int, channel: String, category: String, orderId: String?, comment: String?, completion: @escaping(Result<Void, SdkError>) -> Void)
5252
func searchBlank(completion: @escaping(Result<SearchBlankResponse, SdkError>) -> Void)
53-
func search(query: String, limit: Int?, offset: Int?, categoryLimit: Int?,brandLimit: Int?, categories: [Int]?, extended: String?, sortBy: String?, sortDir: String?, locations: String?, excludedMerchants: [String]?, excludedBrands: [String]?, brands: String?, filters: [String: Any]?, priceMin: Double?, priceMax: Double?, colors: [String]?, fashionSizes: [String]?, exclude: String?, email: String?, timeOut: Double?, disableClarification: Bool?, completion: @escaping(Result<SearchResponse, SdkError>) -> Void)
53+
func search(query: String, limit: Int?, offset: Int?, categoryLimit: Int?,brandLimit: Int?, categories: [Int]?, extended: String?, sortBy: String?, sortDir: String?, locations: String?, excludedMerchants: [String]?, excludedBrands: [String]?, brands: String?, filters: [String: Any]?, priceMin: Double?, priceMax: Double?, colors: [String]?, fashionSizes: [String]?, exclude: String?, email: String?, timeOut: Double?, disableClarification: Bool?, correction: Bool?, completion: @escaping(Result<SearchResponse, SdkError>) -> Void)
5454
func notificationClicked(type: String, code: String, completion: @escaping (Result<Void, SdkError>) -> Void)
5555
func notificationDelivered(type: String, code: String, completion: @escaping (Result<Void, SdkError>) -> Void)
5656
func notificationReceived(type: String, code: String, completion: @escaping (Result<Void, SdkError>) -> Void)
@@ -133,6 +133,7 @@ public extension PersonalizationSDK {
133133
email: String? = nil,
134134
timeOut: Double? = nil,
135135
disableClarification: Bool? = nil,
136+
correction: Bool? = nil,
136137
completion: @escaping(Result<SearchResponse, SdkError>) -> Void
137138
) {
138139
search(
@@ -158,6 +159,7 @@ public extension PersonalizationSDK {
158159
email:email,
159160
timeOut:timeOut,
160161
disableClarification:disableClarification,
162+
correction:correction,
161163
completion: completion
162164
)
163165
}

REES46/Classes/Search/Service/impl/SearchServiceImpl.swift

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ class SearchServiceImpl: SearchServiceProtocol {
5252
fashionSizes: [String]?,
5353
exclude: String?,
5454
email: String?,
55-
disableClarification: Bool?
55+
disableClarification: Bool?,
56+
correction: Bool?
5657
) -> [String: String] {
5758

5859
var params: [String: String] = [
@@ -85,6 +86,7 @@ class SearchServiceImpl: SearchServiceProtocol {
8586
"exclude": exclude,
8687
"email": email,
8788
"no_clarification": disableClarification == true ? "1" : nil,
89+
"correction": correction == true ? "1" : nil,
8890
"filters": {
8991
guard let filters = filters,
9092
let jsonData = try? JSONSerialization.data(withJSONObject: filters, options: []),
@@ -143,6 +145,7 @@ class SearchServiceImpl: SearchServiceProtocol {
143145
email: String?,
144146
timeOut: Double?,
145147
disableClarification: Bool?,
148+
correction: Bool?,
146149
completion: @escaping (Result<SearchResponse, SdkError>) -> Void
147150
) {
148151
guard let sdk = sdk.checkInitialization(completion: completion) else { return }
@@ -169,7 +172,8 @@ class SearchServiceImpl: SearchServiceProtocol {
169172
fashionSizes: fashionSizes,
170173
exclude: exclude,
171174
email: email,
172-
disableClarification: disableClarification
175+
disableClarification: disableClarification,
176+
correction: correction
173177
)
174178

175179
self.configureSession(timeOut: timeOut)

REES46/Classes/Search/Service/protocol/SearchServiceProtocol.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ protocol SearchServiceProtocol{
2929
email: String?,
3030
timeOut: Double?,
3131
disableClarification: Bool?,
32+
correction: Bool?,
3233
completion: @escaping (Result<SearchResponse, SdkError>) -> Void
3334
)
3435

0 commit comments

Comments
 (0)