Skip to content

Commit 29631df

Browse files
authored
Merge pull request #321 from meilisearch/review-improvements
Review improvements
2 parents 3605396 + 1151236 commit 29631df

File tree

18 files changed

+79
-58
lines changed

18 files changed

+79
-58
lines changed

.code-samples.meilisearch.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ get_all_tasks_1: |-
183183
}
184184
}
185185
get_one_key_1: |-
186-
self.client.getKey(key: "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4") { result in
186+
self.client.getKey(keyOrUid: "d0552b41536279a0ad88bd595327b96f01176a60c2243e906c52ac02375f9bc4") { result in
187187
switch result {
188188
case .success(let key):
189189
print(key)

Sources/MeiliSearch/Client.swift

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public struct MeiliSearch {
9494
*/
9595
public func getIndexes(
9696
params: IndexesQuery? = nil,
97-
_ completion: @escaping (Result<Results<Index>, Swift.Error>) -> Void) {
97+
_ completion: @escaping (Result<IndexesResults, Swift.Error>) -> Void) {
9898
Indexes.getAll(config: self.config, params: params, completion)
9999
}
100100

@@ -198,8 +198,8 @@ public struct MeiliSearch {
198198
*/
199199
public func getTasks(
200200
params: TasksQuery? = nil,
201-
_ completion: @escaping (Result<Results<Task>, Swift.Error>) -> Void) {
202-
self.tasks.getAll(params: params, completion)
201+
_ completion: @escaping (Result<TasksResults, Swift.Error>) -> Void) {
202+
self.tasks.getTasks(params: params, completion)
203203
}
204204

205205
// MARK: Keys
@@ -213,22 +213,22 @@ public struct MeiliSearch {
213213
*/
214214
public func getKeys(
215215
params: KeysQuery? = nil,
216-
_ completion: @escaping (Result<Results<Key>, Swift.Error>) -> Void) {
216+
_ completion: @escaping (Result<KeysResults, Swift.Error>) -> Void) {
217217
self.keys.getAll(params: params, completion)
218218
}
219219

220220
/**
221221
Get one key's information using the key value.
222222

223-
- parameter key: The key value.
223+
- parameter keyOrUid: The key value.
224224
- parameter completion: The completion closure used to notify when the server
225225
completes the query request, it returns a `Result` object that contains `Key` value.
226226
If the request was sucessful or `Error` if a failure occured.
227227
*/
228228
public func getKey(
229-
key: String,
229+
keyOrUid: String,
230230
_ completion: @escaping (Result<Key, Swift.Error>) -> Void) {
231-
self.keys.get(key: key, completion)
231+
self.keys.get(key: keyOrUid, completion)
232232
}
233233

234234
/**

Sources/MeiliSearch/Documents.swift

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,8 @@ struct Documents {
2222
var query: String = "/indexes/\(uid)/documents/\(identifier)"
2323

2424
if fields != nil {
25-
query.append(fields?.joined(separator: ",") ?? "")
25+
let fieldsQuery = "?fields=\(fields?.joined(separator: ",") ?? "")"
26+
query.append(fieldsQuery)
2627
}
2728

2829
self.request.get(api: query) { result in
@@ -45,7 +46,9 @@ struct Documents {
4546
params: DocumentsQuery? = nil,
4647
_ completion: @escaping (Result<DocumentsResults<T>, Swift.Error>) -> Void)
4748
where T: Codable, T: Equatable {
48-
request.get(api: "/indexes/\(uid)/documents\(params?.toQuery() ?? "")") { result in
49+
let queryParams = params?.toQuery() ?? ""
50+
51+
request.get(api: "/indexes/\(uid)/documents\(queryParams)") { result in
4952
switch result {
5053
case .success(let data):
5154
guard let data: Data = data else {

Sources/MeiliSearch/Indexes.swift

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ public struct Indexes {
101101
completes the query request. It returns a `Result` object that contains `[Index]`
102102
value if the request was successful or `Error` if a failure occurred.
103103
*/
104-
public static func getAll(config: Config, params: IndexesQuery? = nil, _ completion: @escaping (Result<Results<Index>, Swift.Error>) -> Void) {
104+
public static func getAll(config: Config, params: IndexesQuery? = nil, _ completion: @escaping (Result<IndexesResults, Swift.Error>) -> Void) {
105105
Request(config).get(api: "/indexes", param: params?.toQuery()) { result in
106106
switch result {
107107
case .success(let result):
@@ -111,7 +111,8 @@ public struct Indexes {
111111
}
112112

113113
do {
114-
let indexes: Results<Index> = try Constants.customJSONDecoder.decode(Results<Index>.self, from: result)
114+
let indexes = try Constants.customJSONDecoder.decode(IndexesResults.self, from: result)
115+
115116
completion(.success(indexes))
116117
} catch let error {
117118
completion(.failure(error))
@@ -471,8 +472,8 @@ public struct Indexes {
471472
*/
472473
public func getTasks(
473474
params: TasksQuery? = nil,
474-
_ completion: @escaping (Result<Results<Task>, Swift.Error>) -> Void) {
475-
self.tasks.getAll(uid: self.uid, params: params, completion)
475+
_ completion: @escaping (Result<TasksResults, Swift.Error>) -> Void) {
476+
self.tasks.getTasks(uid: self.uid, params: params, completion)
476477
}
477478

478479
/**

Sources/MeiliSearch/Keys.swift

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,18 @@ struct Keys {
3232
}
3333
}
3434

35-
func getAll(params: KeysQuery?, _ completion: @escaping (Result<Results<Key>, Swift.Error>) -> Void) {
35+
func getAll(params: KeysQuery?, _ completion: @escaping (Result<KeysResults, Swift.Error>) -> Void) {
3636
self.request.get(api: "/keys", param: params?.toQuery()) { result in
3737
switch result {
3838
case .success(let data):
3939
guard let data: Data = data else {
4040
completion(.failure(MeiliSearch.Error.dataNotFound))
4141
return
4242
}
43+
4344
do {
44-
let keys: Results<Key> = try Constants.customJSONDecoder.decode(Results<Key>.self, from: data)
45+
let keys = try Constants.customJSONDecoder.decode(KeysResults.self, from: data)
46+
4547
completion(.success(keys))
4648
} catch {
4749
completion(.failure(error))

Sources/MeiliSearch/Model/IndexesResults.swift

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ import Foundation
44
`IndexesResults` is a wrapper used in the indexes routes to handle the returned data.
55
*/
66

7-
public struct IndexesResults<T: Decodable & Encodable & Equatable>: Codable, Equatable {
8-
public let results: [T]
7+
public struct IndexesResults: Codable, Equatable {
8+
public let results: [Index]
99
public let offset: Int
1010
public let limit: Int
1111
public let total: Int

Sources/MeiliSearch/Model/KeyParams.swift

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,12 @@ public struct KeyParams: Codable, Equatable {
1313

1414
public func encode(to encoder: Encoder) throws {
1515
var container = encoder.container(keyedBy: CodingKeys.self)
16+
1617
if uid != nil {
1718
try container.encode(uid, forKey: .uid)
1819
}
1920

20-
if name != nil {
21-
try container.encode(name, forKey: .name)
22-
}
23-
21+
try container.encode(name, forKey: .name)
2422
try container.encode(description, forKey: .description)
2523
try container.encode(actions, forKey: .actions)
2624
try container.encode(indexes, forKey: .indexes)
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import Foundation
2+
3+
/**
4+
`KeysResults` is a wrapper used in the indexes routes to handle the returned data.
5+
*/
6+
7+
public struct KeysResults: Codable, Equatable {
8+
public let results: [Key]
9+
public let offset: Int
10+
public let limit: Int
11+
public let total: Int
12+
}

Sources/MeiliSearch/Model/Results.swift

Lines changed: 0 additions & 9 deletions
This file was deleted.
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
import Foundation
2+
3+
/**
4+
`IndexesResults` is a wrapper used in the indexes routes to handle the returned data.
5+
*/
6+
7+
public struct TasksResults: Codable, Equatable {
8+
public let results: [Task]
9+
public let next: Int?
10+
public let from: Int?
11+
public let limit: Int
12+
}

0 commit comments

Comments
 (0)