Skip to content

Commit cc0d067

Browse files
algolia-botClaraMullermillotp
committed
feat(specs): add facets query parameter available at run time (generated)
algolia/api-clients-automation#5486 Co-authored-by: algolia-bot <accounts+algolia-api-client-bot@algolia.com> Co-authored-by: Clara Muller <5667350+ClaraMuller@users.noreply.github.com> Co-authored-by: Pierre Millot <pierre.millot@algolia.com>
1 parent 5f5f108 commit cc0d067

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

Sources/Composition/Models/CompositionFacetOrdering.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,11 @@ import Foundation
88

99
/// Order of facet names and facet values in your UI.
1010
public struct CompositionFacetOrdering: Codable, JSONEncodable {
11-
public var facets: CompositionFacets?
11+
public var facets: CompositionIndexSettingsFacets?
1212
/// Order of facet values. One object for each facet.
1313
public var values: [String: CompositionValue]?
1414

15-
public init(facets: CompositionFacets? = nil, values: [String: CompositionValue]? = nil) {
15+
public init(facets: CompositionIndexSettingsFacets? = nil, values: [String: CompositionValue]? = nil) {
1616
self.facets = facets
1717
self.values = values
1818
}

Sources/Composition/Models/CompositionFacets.swift renamed to Sources/Composition/Models/CompositionIndexSettingsFacets.swift

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Foundation
77
#endif
88

99
/// Order of facet names.
10-
public struct CompositionFacets: Codable, JSONEncodable {
10+
public struct CompositionIndexSettingsFacets: Codable, JSONEncodable {
1111
/// Explicit order of facets or facet values. This setting lets you always show specific facets or facet values at
1212
/// the top of the list.
1313
public var order: [String]?
@@ -28,13 +28,13 @@ public struct CompositionFacets: Codable, JSONEncodable {
2828
}
2929
}
3030

31-
extension CompositionFacets: Equatable {
32-
public static func ==(lhs: CompositionFacets, rhs: CompositionFacets) -> Bool {
31+
extension CompositionIndexSettingsFacets: Equatable {
32+
public static func ==(lhs: CompositionIndexSettingsFacets, rhs: CompositionIndexSettingsFacets) -> Bool {
3333
lhs.order == rhs.order
3434
}
3535
}
3636

37-
extension CompositionFacets: Hashable {
37+
extension CompositionIndexSettingsFacets: Hashable {
3838
public func hash(into hasher: inout Hasher) {
3939
hasher.combine(self.order?.hashValue)
4040
}

Sources/Composition/Models/CompositionParams.swift

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@ public struct CompositionParams: Codable, JSONEncodable {
3131
/// `relevancyStrictness` on [virtual replica indices](https://www.algolia.com/doc/guides/managing-results/refine-results/sorting/in-depth/replicas/#what-are-virtual-replicas).
3232
/// Use this setting to strike a balance between the relevance and number of returned results.
3333
public var relevancyStrictness: Int?
34+
/// Facets for which to retrieve facet values that match the search criteria and the number of matching facet values
35+
/// To retrieve all facets, use the wildcard character `*`. For more information, see [facets](https://www.algolia.com/doc/guides/managing-results/refine-results/faceting/#contextual-facet-values-and-counts).
36+
public var facets: [String]?
3437
public var facetFilters: CompositionFacetFilters?
3538
public var optionalFilters: CompositionOptionalFilters?
3639
public var numericFilters: CompositionNumericFilters?
@@ -98,6 +101,7 @@ public struct CompositionParams: Codable, JSONEncodable {
98101
page: Int? = nil,
99102
getRankingInfo: Bool? = nil,
100103
relevancyStrictness: Int? = nil,
104+
facets: [String]? = nil,
101105
facetFilters: CompositionFacetFilters? = nil,
102106
optionalFilters: CompositionOptionalFilters? = nil,
103107
numericFilters: CompositionNumericFilters? = nil,
@@ -126,6 +130,7 @@ public struct CompositionParams: Codable, JSONEncodable {
126130
self.page = page
127131
self.getRankingInfo = getRankingInfo
128132
self.relevancyStrictness = relevancyStrictness
133+
self.facets = facets
129134
self.facetFilters = facetFilters
130135
self.optionalFilters = optionalFilters
131136
self.numericFilters = numericFilters
@@ -156,6 +161,7 @@ public struct CompositionParams: Codable, JSONEncodable {
156161
case page
157162
case getRankingInfo
158163
case relevancyStrictness
164+
case facets
159165
case facetFilters
160166
case optionalFilters
161167
case numericFilters
@@ -189,6 +195,7 @@ public struct CompositionParams: Codable, JSONEncodable {
189195
try container.encodeIfPresent(self.page, forKey: .page)
190196
try container.encodeIfPresent(self.getRankingInfo, forKey: .getRankingInfo)
191197
try container.encodeIfPresent(self.relevancyStrictness, forKey: .relevancyStrictness)
198+
try container.encodeIfPresent(self.facets, forKey: .facets)
192199
try container.encodeIfPresent(self.facetFilters, forKey: .facetFilters)
193200
try container.encodeIfPresent(self.optionalFilters, forKey: .optionalFilters)
194201
try container.encodeIfPresent(self.numericFilters, forKey: .numericFilters)
@@ -221,6 +228,7 @@ extension CompositionParams: Equatable {
221228
lhs.page == rhs.page &&
222229
lhs.getRankingInfo == rhs.getRankingInfo &&
223230
lhs.relevancyStrictness == rhs.relevancyStrictness &&
231+
lhs.facets == rhs.facets &&
224232
lhs.facetFilters == rhs.facetFilters &&
225233
lhs.optionalFilters == rhs.optionalFilters &&
226234
lhs.numericFilters == rhs.numericFilters &&
@@ -253,6 +261,7 @@ extension CompositionParams: Hashable {
253261
hasher.combine(self.page?.hashValue)
254262
hasher.combine(self.getRankingInfo?.hashValue)
255263
hasher.combine(self.relevancyStrictness?.hashValue)
264+
hasher.combine(self.facets?.hashValue)
256265
hasher.combine(self.facetFilters?.hashValue)
257266
hasher.combine(self.optionalFilters?.hashValue)
258267
hasher.combine(self.numericFilters?.hashValue)

0 commit comments

Comments
 (0)