Skip to content

Commit 066736d

Browse files
committed
use 4.0 API for handlers
1 parent 6d4a2ef commit 066736d

14 files changed

+437
-373
lines changed

CBLClient/Apps/CBLTestServer-iOS/CBLTestServer-iOS.xcodeproj/project.pbxproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -881,6 +881,7 @@
881881
"$(PROJECT_DIR)",
882882
);
883883
INFOPLIST_FILE = "CBLTestServer-iOSTests/Info.plist";
884+
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
884885
LD_RUNPATH_SEARCH_PATHS = (
885886
"$(inherited)",
886887
"@executable_path/Frameworks",
@@ -906,6 +907,7 @@
906907
"$(PROJECT_DIR)",
907908
);
908909
INFOPLIST_FILE = "CBLTestServer-iOSTests/Info.plist";
910+
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
909911
LD_RUNPATH_SEARCH_PATHS = (
910912
"$(inherited)",
911913
"@executable_path/Frameworks",
@@ -930,6 +932,7 @@
930932
"$(PROJECT_DIR)",
931933
);
932934
INFOPLIST_FILE = "CBLTestServer-iOSUITests/Info.plist";
935+
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
933936
LD_RUNPATH_SEARCH_PATHS = (
934937
"$(inherited)",
935938
"@executable_path/Frameworks",
@@ -954,6 +957,7 @@
954957
"$(PROJECT_DIR)",
955958
);
956959
INFOPLIST_FILE = "CBLTestServer-iOSUITests/Info.plist";
960+
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
957961
LD_RUNPATH_SEARCH_PATHS = (
958962
"$(inherited)",
959963
"@executable_path/Frameworks",
@@ -1079,6 +1083,7 @@
10791083
"$(PROJECT_DIR)",
10801084
);
10811085
INFOPLIST_FILE = "CBLTestServer-iOSTests/Info.plist";
1086+
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
10821087
LD_RUNPATH_SEARCH_PATHS = (
10831088
"$(inherited)",
10841089
"@executable_path/Frameworks",
@@ -1103,6 +1108,7 @@
11031108
"$(PROJECT_DIR)",
11041109
);
11051110
INFOPLIST_FILE = "CBLTestServer-iOSUITests/Info.plist";
1111+
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
11061112
LD_RUNPATH_SEARCH_PATHS = (
11071113
"$(inherited)",
11081114
"@executable_path/Frameworks",
@@ -1214,6 +1220,7 @@
12141220
"$(PROJECT_DIR)",
12151221
);
12161222
INFOPLIST_FILE = "CBLTestServer-iOSTests/Info.plist";
1223+
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
12171224
LD_RUNPATH_SEARCH_PATHS = (
12181225
"$(inherited)",
12191226
"@executable_path/Frameworks",
@@ -1238,6 +1245,7 @@
12381245
"$(PROJECT_DIR)",
12391246
);
12401247
INFOPLIST_FILE = "CBLTestServer-iOSUITests/Info.plist";
1248+
IPHONEOS_DEPLOYMENT_TARGET = 16.0;
12411249
LD_RUNPATH_SEARCH_PATHS = (
12421250
"$(inherited)",
12431251
"@executable_path/Frameworks",

CBLClient/Apps/CBLTestServer-iOS/CBLTestServer-iOS/Server/DataSourceRequestHandler.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ public class DataSourceRequestHandler {
2020
////////////////
2121
case "datasource_database":
2222
let database: Database = args.get(name: "database")!
23-
return DataSource.database(database)
23+
let defaultCol = try database.defaultCollection()
24+
return DataSource.collection(defaultCol)
2425

2526
default:
2627
throw RequestHandlerError.MethodNotFound(method)

CBLClient/Apps/CBLTestServer-iOS/CBLTestServer-iOS/Server/DatabaseRequestHandler.swift

Lines changed: 44 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -45,23 +45,25 @@ public class DatabaseRequestHandler {
4545

4646
case "database_delete":
4747
let database: Database = (args.get(name:"database"))!
48+
let defaultCol = try database.defaultCollection()
4849
let document: Document = (args.get(name:"document"))!
4950

5051
do {
51-
try database.deleteDocument(document)
52+
try defaultCol.delete(document: document)
5253
} catch {
5354
return error
5455
}
5556

5657
case "database_deleteBulkDocs":
5758
let database: Database = args.get(name:"database")!
59+
let defaultCol = try database.defaultCollection()
5860
let doc_ids: Array<String> = args.get(name: "doc_ids")!
5961

6062
try database.inBatch {
6163
for id in doc_ids {
62-
let document: Document = database.document(withID: id)!
64+
let document: Document = try defaultCol.document(id: id)!
6365
do {
64-
try! database.deleteDocument(document)
66+
try! defaultCol.delete(document: document)
6567
}
6668
}
6769
}
@@ -78,9 +80,10 @@ public class DatabaseRequestHandler {
7880

7981
case "database_deleteIndex":
8082
let database: Database = (args.get(name:"database"))!
83+
let defaultCol = try database.defaultCollection()
8184
let name: String = (args.get(name: "name"))!
8285

83-
try database.deleteIndex(forName: name)
86+
try defaultCol.deleteIndex(forName: name)
8487

8588
case "database_getName":
8689
let database: Database = args.get(name:"database")!
@@ -89,16 +92,19 @@ public class DatabaseRequestHandler {
8992

9093
case "database_getDocument":
9194
let database: Database = (args.get(name:"database"))!
95+
let defaultCol = try database.defaultCollection()
9296
let id: String? = args.get(name: "id")
93-
return try database.document(withID: id!)
97+
return try defaultCol.document(id: id!)
9498

9599
case "database_save":
96100
let database: Database = (args.get(name:"database"))!
101+
let defaultCol = try database.defaultCollection()
97102
let document: MutableDocument = args.get(name:"document")!
98-
try database.saveDocument(document)
103+
try defaultCol.save(document: document)
99104

100105
case "database_saveWithConcurrency":
101106
let database: Database = (args.get(name:"database"))!
107+
let defaultCol = try database.defaultCollection()
102108
let document: MutableDocument = args.get(name:"document")!
103109
let concurrencyControlType : String? = args.get(name:"concurrencyControlType")!
104110
var concurrencyType = ConcurrencyControl.lastWriteWins
@@ -110,10 +116,12 @@ public class DatabaseRequestHandler {
110116
concurrencyType = .lastWriteWins
111117
}
112118
}
113-
try! database.saveDocument(document, concurrencyControl: concurrencyType)
119+
120+
return try defaultCol.save(document: document, concurrencyControl: concurrencyType)
114121

115122
case "database_deleteWithConcurrency":
116123
let database: Database = (args.get(name:"database"))!
124+
let defaultCol = try database.defaultCollection()
117125
let document: Document = (args.get(name:"document"))!
118126
let concurrencyControlType : String? = args.get(name:"concurrencyControlType")!
119127
var concurrencyType = ConcurrencyControl.lastWriteWins
@@ -125,50 +133,48 @@ public class DatabaseRequestHandler {
125133
concurrencyType = .lastWriteWins
126134
}
127135
}
128-
do {
129-
try database.deleteDocument(document, concurrencyControl: concurrencyType)
130-
} catch {
131-
return error
132-
}
136+
return try defaultCol.delete(document: document, concurrencyControl: concurrencyType)
133137

134-
135138
case "database_purge":
136139
let database: Database = (args.get(name:"database"))!
140+
let defaultCol = try database.defaultCollection()
137141
let document: MutableDocument = args.get(name:"document")!
138-
try! database.purgeDocument(document)
142+
try! defaultCol.purge(document: document)
139143

140144
case "database_contains":
141145
let database: Database = (args.get(name:"database"))!
146+
let defaultCol = try database.defaultCollection()
142147
let id: String = (args.get(name: "id"))!
143-
return try database.document(withID: id) != nil
148+
return try defaultCol.document(id: id) != nil
144149

145150
case "database_getCount":
146151
let database: Database = (args.get(name:"database"))!
147-
return try database.count
152+
let defaultCol = try database.defaultCollection()
153+
return defaultCol.count
148154

149155
case "database_compact":
150156
let database: Database = (args.get(name:"database"))!
151157
return try! database.performMaintenance(type:MaintenanceType.compact)
152158

153159
case "database_addChangeListener":
154160
let database: Database = (args.get(name:"database"))!
161+
let defaultCol = try database.defaultCollection()
155162
var token: ListenerToken? = nil
156163
let docId: String? = (args.get(name:"docId"))
157164
if (docId != nil) {
158165
let changeListener = MyDocumentChangeListener()
159-
token = try database.addDocumentChangeListener(withID: docId!, listener: changeListener.listener)
166+
token = defaultCol.addDocumentChangeListener(id: docId!, listener: changeListener.listener)
160167
} else {
161168
let changeListener = MyDatabaseChangeListener()
162-
token = database.addChangeListener(changeListener.listener)
169+
token = defaultCol.addChangeListener(listener: changeListener.listener)
163170
}
164171

165172
return token
166173

167174
case "database_removeChangeListener":
168175
let database: Database = (args.get(name:"database"))!
169176
let changeListener: ListenerToken = (args.get(name: "changeListener"))!
170-
171-
database.removeChangeListener(withToken: changeListener)
177+
changeListener.remove()
172178

173179
case "database_databaseChangeListenerChangesCount":
174180
let changeListener: MyDatabaseChangeListener = (args.get(name: "changeListener"))!
@@ -186,7 +192,7 @@ public class DatabaseRequestHandler {
186192
return changeListener.getChanges()
187193

188194
case "database_databaseChangeGetDocumentId":
189-
let change: DatabaseChange = (args.get(name: "change"))!
195+
let change: CollectionChange = (args.get(name: "change"))!
190196

191197
return change.documentIDs
192198

@@ -201,6 +207,7 @@ public class DatabaseRequestHandler {
201207

202208
case "database_saveDocuments":
203209
let database: Database = args.get(name:"database")!
210+
let defaultCol = try database.defaultCollection()
204211
let documents: Dictionary<String, Dictionary<String, Any>> = args.get(name: "documents")!
205212
try database.inBatch {
206213
for doc in documents {
@@ -212,13 +219,14 @@ public class DatabaseRequestHandler {
212219
}
213220
let new_data: Dictionary<String, Any> = setDataBlob(data)
214221
let document = MutableDocument(id: id, data: new_data)
215-
try! database.saveDocument(document)
222+
try! defaultCol.save(document: document)
216223

217224
}
218225
}
219226

220227
case "database_updateDocuments":
221228
let database: Database = args.get(name:"database")!
229+
let defaultCol = try database.defaultCollection()
222230
let documents: Dictionary<String, Dictionary<String, Any>> = args.get(name: "documents")!
223231
try database.inBatch {
224232
for doc in documents {
@@ -228,32 +236,33 @@ public class DatabaseRequestHandler {
228236
data["id"] = id
229237
data.removeValue(forKey: "_id")
230238
}
231-
let updated_doc = database.document(withID: id)!.toMutable()
239+
let updated_doc = try! defaultCol.document(id: id)!.toMutable()
232240
let new_data: Dictionary<String, Any> = setDataBlob(data)
233241
updated_doc.setData(new_data)
234-
try database.saveDocument(updated_doc)
242+
try defaultCol.save(document: updated_doc)
235243
}
236244
}
237245

238246
case "database_updateDocument":
239-
240247
let database: Database = (args.get(name:"database"))!
248+
let defaultCol = try database.defaultCollection()
241249
let data: Dictionary<String, Any> = args.get(name: "data")!
242250
let docId: String = args.get(name: "id")!
243-
let updated_doc = database.document(withID: docId)!.toMutable()
251+
let updated_doc = try! defaultCol.document(id: docId)!.toMutable()
244252
let new_data: Dictionary<String, Any> = setDataBlob(data)
245253

246254
updated_doc.setData(new_data)
247-
try! database.saveDocument(updated_doc)
255+
try! defaultCol.save(document: updated_doc)
248256

249257

250258
case "database_getDocIds":
251259
let database: Database = args.get(name:"database")!
260+
let defaultCol = try database.defaultCollection()
252261
let limit: Int = args.get(name:"limit")!
253262
let offset: Int = args.get(name:"offset")!
254263
let query = QueryBuilder
255264
.select(SelectResult.expression(Meta.id))
256-
.from(DataSource.database(database))
265+
.from(DataSource.collection(defaultCol))
257266
.limit(Expression.int(limit), offset:Expression.int(offset))
258267

259268
var result: [String] = []
@@ -267,11 +276,12 @@ public class DatabaseRequestHandler {
267276

268277
case "database_getDocuments":
269278
let database: Database = args.get(name:"database")!
279+
let defaultCol = try database.defaultCollection()
270280
let ids: [String] = args.get(name:"ids")!
271281
var documents = [String: [String: Any]]()
272282

273283
for id in ids {
274-
let document: Document? = database.document(withID: id)
284+
let document: Document? = try! defaultCol.document(id: id)
275285
if document != nil{
276286
var dict = document!.toDictionary()
277287
for (key, value) in dict {
@@ -320,9 +330,10 @@ public class DatabaseRequestHandler {
320330

321331
case "database_queryAllDocuments":
322332
let database: Database = args.get(name:"database")!
333+
let defaultCol = try database.defaultCollection()
323334
let searchQuery = QueryBuilder
324335
.select(SelectResult.all())
325-
.from(DataSource.database(database))
336+
.from(DataSource.collection(defaultCol))
326337

327338
return searchQuery
328339
default:
@@ -361,13 +372,13 @@ private extension DatabaseRequestHandler {
361372
}
362373

363374
class MyDatabaseChangeListener {
364-
var changes: [DatabaseChange] = []
375+
var changes: [CollectionChange] = []
365376

366-
lazy var listener: (DatabaseChange) -> Void = { (change: DatabaseChange) in
377+
lazy var listener: (CollectionChange) -> Void = { (change: CollectionChange) in
367378
self.changes.append(change)
368379
}
369380

370-
public func getChanges() -> [DatabaseChange] {
381+
public func getChanges() -> [CollectionChange] {
371382
return changes
372383
}
373384
}

CBLClient/Apps/CBLTestServer-iOS/CBLTestServer-iOS/Server/DocumentRequestHandler.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -201,9 +201,10 @@ public class DocumentRequestHandler {
201201

202202
case "document_delete":
203203
let database: Database = (args.get(name:"database"))!
204+
let defaultCol = try! database.defaultCollection()
204205
let document: MutableDocument = args.get(name:"document")!
205206

206-
try! database.deleteDocument(document)
207+
try! defaultCol.delete(document: document)
207208

208209
case "document_getId":
209210
let document: Document = args.get(name: "document")!

0 commit comments

Comments
 (0)