@@ -45,23 +45,25 @@ public class DatabaseRequestHandler {
45
45
46
46
case " database_delete " :
47
47
let database : Database = ( args. get ( name: " database " ) ) !
48
+ let defaultCol = try database. defaultCollection ( )
48
49
let document : Document = ( args. get ( name: " document " ) ) !
49
50
50
51
do {
51
- try database . deleteDocument ( document)
52
+ try defaultCol . delete ( document : document)
52
53
} catch {
53
54
return error
54
55
}
55
56
56
57
case " database_deleteBulkDocs " :
57
58
let database : Database = args. get ( name: " database " ) !
59
+ let defaultCol = try database. defaultCollection ( )
58
60
let doc_ids : Array < String > = args. get ( name: " doc_ids " ) !
59
61
60
62
try database. inBatch {
61
63
for id in doc_ids {
62
- let document : Document = database . document ( withID : id) !
64
+ let document : Document = try defaultCol . document ( id : id) !
63
65
do {
64
- try ! database . deleteDocument ( document)
66
+ try ! defaultCol . delete ( document : document)
65
67
}
66
68
}
67
69
}
@@ -78,9 +80,10 @@ public class DatabaseRequestHandler {
78
80
79
81
case " database_deleteIndex " :
80
82
let database : Database = ( args. get ( name: " database " ) ) !
83
+ let defaultCol = try database. defaultCollection ( )
81
84
let name : String = ( args. get ( name: " name " ) ) !
82
85
83
- try database . deleteIndex ( forName: name)
86
+ try defaultCol . deleteIndex ( forName: name)
84
87
85
88
case " database_getName " :
86
89
let database : Database = args. get ( name: " database " ) !
@@ -89,16 +92,19 @@ public class DatabaseRequestHandler {
89
92
90
93
case " database_getDocument " :
91
94
let database : Database = ( args. get ( name: " database " ) ) !
95
+ let defaultCol = try database. defaultCollection ( )
92
96
let id : String ? = args. get ( name: " id " )
93
- return try database . document ( withID : id!)
97
+ return try defaultCol . document ( id : id!)
94
98
95
99
case " database_save " :
96
100
let database : Database = ( args. get ( name: " database " ) ) !
101
+ let defaultCol = try database. defaultCollection ( )
97
102
let document : MutableDocument = args. get ( name: " document " ) !
98
- try database . saveDocument ( document)
103
+ try defaultCol . save ( document : document)
99
104
100
105
case " database_saveWithConcurrency " :
101
106
let database : Database = ( args. get ( name: " database " ) ) !
107
+ let defaultCol = try database. defaultCollection ( )
102
108
let document : MutableDocument = args. get ( name: " document " ) !
103
109
let concurrencyControlType : String ? = args. get ( name: " concurrencyControlType " ) !
104
110
var concurrencyType = ConcurrencyControl . lastWriteWins
@@ -110,10 +116,12 @@ public class DatabaseRequestHandler {
110
116
concurrencyType = . lastWriteWins
111
117
}
112
118
}
113
- try ! database. saveDocument ( document, concurrencyControl: concurrencyType)
119
+
120
+ return try defaultCol. save ( document: document, concurrencyControl: concurrencyType)
114
121
115
122
case " database_deleteWithConcurrency " :
116
123
let database : Database = ( args. get ( name: " database " ) ) !
124
+ let defaultCol = try database. defaultCollection ( )
117
125
let document : Document = ( args. get ( name: " document " ) ) !
118
126
let concurrencyControlType : String ? = args. get ( name: " concurrencyControlType " ) !
119
127
var concurrencyType = ConcurrencyControl . lastWriteWins
@@ -125,50 +133,48 @@ public class DatabaseRequestHandler {
125
133
concurrencyType = . lastWriteWins
126
134
}
127
135
}
128
- do {
129
- try database. deleteDocument ( document, concurrencyControl: concurrencyType)
130
- } catch {
131
- return error
132
- }
136
+ return try defaultCol. delete ( document: document, concurrencyControl: concurrencyType)
133
137
134
-
135
138
case " database_purge " :
136
139
let database : Database = ( args. get ( name: " database " ) ) !
140
+ let defaultCol = try database. defaultCollection ( )
137
141
let document : MutableDocument = args. get ( name: " document " ) !
138
- try ! database . purgeDocument ( document)
142
+ try ! defaultCol . purge ( document : document)
139
143
140
144
case " database_contains " :
141
145
let database : Database = ( args. get ( name: " database " ) ) !
146
+ let defaultCol = try database. defaultCollection ( )
142
147
let id : String = ( args. get ( name: " id " ) ) !
143
- return try database . document ( withID : id) != nil
148
+ return try defaultCol . document ( id : id) != nil
144
149
145
150
case " database_getCount " :
146
151
let database : Database = ( args. get ( name: " database " ) ) !
147
- return try database. count
152
+ let defaultCol = try database. defaultCollection ( )
153
+ return defaultCol. count
148
154
149
155
case " database_compact " :
150
156
let database : Database = ( args. get ( name: " database " ) ) !
151
157
return try ! database. performMaintenance ( type: MaintenanceType . compact)
152
158
153
159
case " database_addChangeListener " :
154
160
let database : Database = ( args. get ( name: " database " ) ) !
161
+ let defaultCol = try database. defaultCollection ( )
155
162
var token : ListenerToken ? = nil
156
163
let docId : String ? = ( args. get ( name: " docId " ) )
157
164
if ( docId != nil ) {
158
165
let changeListener = MyDocumentChangeListener ( )
159
- token = try database . addDocumentChangeListener ( withID : docId!, listener: changeListener. listener)
166
+ token = defaultCol . addDocumentChangeListener ( id : docId!, listener: changeListener. listener)
160
167
} else {
161
168
let changeListener = MyDatabaseChangeListener ( )
162
- token = database . addChangeListener ( changeListener. listener)
169
+ token = defaultCol . addChangeListener ( listener : changeListener. listener)
163
170
}
164
171
165
172
return token
166
173
167
174
case " database_removeChangeListener " :
168
175
let database : Database = ( args. get ( name: " database " ) ) !
169
176
let changeListener : ListenerToken = ( args. get ( name: " changeListener " ) ) !
170
-
171
- database. removeChangeListener ( withToken: changeListener)
177
+ changeListener. remove ( )
172
178
173
179
case " database_databaseChangeListenerChangesCount " :
174
180
let changeListener : MyDatabaseChangeListener = ( args. get ( name: " changeListener " ) ) !
@@ -186,7 +192,7 @@ public class DatabaseRequestHandler {
186
192
return changeListener. getChanges ( )
187
193
188
194
case " database_databaseChangeGetDocumentId " :
189
- let change : DatabaseChange = ( args. get ( name: " change " ) ) !
195
+ let change : CollectionChange = ( args. get ( name: " change " ) ) !
190
196
191
197
return change. documentIDs
192
198
@@ -201,6 +207,7 @@ public class DatabaseRequestHandler {
201
207
202
208
case " database_saveDocuments " :
203
209
let database : Database = args. get ( name: " database " ) !
210
+ let defaultCol = try database. defaultCollection ( )
204
211
let documents : Dictionary < String , Dictionary < String , Any > > = args. get ( name: " documents " ) !
205
212
try database. inBatch {
206
213
for doc in documents {
@@ -212,13 +219,14 @@ public class DatabaseRequestHandler {
212
219
}
213
220
let new_data : Dictionary < String , Any > = setDataBlob ( data)
214
221
let document = MutableDocument ( id: id, data: new_data)
215
- try ! database . saveDocument ( document)
222
+ try ! defaultCol . save ( document : document)
216
223
217
224
}
218
225
}
219
226
220
227
case " database_updateDocuments " :
221
228
let database : Database = args. get ( name: " database " ) !
229
+ let defaultCol = try database. defaultCollection ( )
222
230
let documents : Dictionary < String , Dictionary < String , Any > > = args. get ( name: " documents " ) !
223
231
try database. inBatch {
224
232
for doc in documents {
@@ -228,32 +236,33 @@ public class DatabaseRequestHandler {
228
236
data [ " id " ] = id
229
237
data. removeValue ( forKey: " _id " )
230
238
}
231
- let updated_doc = database . document ( withID : id) !. toMutable ( )
239
+ let updated_doc = try ! defaultCol . document ( id : id) !. toMutable ( )
232
240
let new_data : Dictionary < String , Any > = setDataBlob ( data)
233
241
updated_doc. setData ( new_data)
234
- try database . saveDocument ( updated_doc)
242
+ try defaultCol . save ( document : updated_doc)
235
243
}
236
244
}
237
245
238
246
case " database_updateDocument " :
239
-
240
247
let database : Database = ( args. get ( name: " database " ) ) !
248
+ let defaultCol = try database. defaultCollection ( )
241
249
let data : Dictionary < String , Any > = args. get ( name: " data " ) !
242
250
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 ( )
244
252
let new_data : Dictionary < String , Any > = setDataBlob ( data)
245
253
246
254
updated_doc. setData ( new_data)
247
- try ! database . saveDocument ( updated_doc)
255
+ try ! defaultCol . save ( document : updated_doc)
248
256
249
257
250
258
case " database_getDocIds " :
251
259
let database : Database = args. get ( name: " database " ) !
260
+ let defaultCol = try database. defaultCollection ( )
252
261
let limit : Int = args. get ( name: " limit " ) !
253
262
let offset : Int = args. get ( name: " offset " ) !
254
263
let query = QueryBuilder
255
264
. select ( SelectResult . expression ( Meta . id) )
256
- . from ( DataSource . database ( database ) )
265
+ . from ( DataSource . collection ( defaultCol ) )
257
266
. limit ( Expression . int ( limit) , offset: Expression . int ( offset) )
258
267
259
268
var result : [ String ] = [ ]
@@ -267,11 +276,12 @@ public class DatabaseRequestHandler {
267
276
268
277
case " database_getDocuments " :
269
278
let database : Database = args. get ( name: " database " ) !
279
+ let defaultCol = try database. defaultCollection ( )
270
280
let ids : [ String ] = args. get ( name: " ids " ) !
271
281
var documents = [ String: [ String: Any] ] ( )
272
282
273
283
for id in ids {
274
- let document : Document ? = database . document ( withID : id)
284
+ let document : Document ? = try ! defaultCol . document ( id : id)
275
285
if document != nil {
276
286
var dict = document!. toDictionary ( )
277
287
for (key, value) in dict {
@@ -320,9 +330,10 @@ public class DatabaseRequestHandler {
320
330
321
331
case " database_queryAllDocuments " :
322
332
let database : Database = args. get ( name: " database " ) !
333
+ let defaultCol = try database. defaultCollection ( )
323
334
let searchQuery = QueryBuilder
324
335
. select ( SelectResult . all ( ) )
325
- . from ( DataSource . database ( database ) )
336
+ . from ( DataSource . collection ( defaultCol ) )
326
337
327
338
return searchQuery
328
339
default :
@@ -361,13 +372,13 @@ private extension DatabaseRequestHandler {
361
372
}
362
373
363
374
class MyDatabaseChangeListener {
364
- var changes : [ DatabaseChange ] = [ ]
375
+ var changes : [ CollectionChange ] = [ ]
365
376
366
- lazy var listener : ( DatabaseChange ) -> Void = { ( change: DatabaseChange ) in
377
+ lazy var listener : ( CollectionChange ) -> Void = { ( change: CollectionChange ) in
367
378
self . changes. append ( change)
368
379
}
369
380
370
- public func getChanges( ) -> [ DatabaseChange ] {
381
+ public func getChanges( ) -> [ CollectionChange ] {
371
382
return changes
372
383
}
373
384
}
0 commit comments