@capacitor-community/sqlite 4.1.0 → 4.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -16,7 +16,7 @@
16
16
  <a href="https://www.npmjs.com/package/@capacitor-community/sqlite"><img src="https://img.shields.io/npm/dw/@capacitor-community/sqlite?style=flat-square" /></a>
17
17
  <a href="https://www.npmjs.com/package/@capacitor-community/sqlite"><img src="https://img.shields.io/npm/v/@capacitor-community/sqlite?style=flat-square" /></a>
18
18
  <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
19
- <a href="#contributors-"><img src="https://img.shields.io/badge/all%20contributors-17-orange?style=flat-square" /></a>
19
+ <a href="#contributors-"><img src="https://img.shields.io/badge/all%20contributors-22-orange?style=flat-square" /></a>
20
20
  <!-- ALL-CONTRIBUTORS-BADGE:END -->
21
21
  </p>
22
22
 
@@ -78,6 +78,7 @@ See [#301](https://github.com/capacitor-community/sqlite/issues/301) and [SO que
78
78
  cd electron
79
79
  npm install --save sqlite3
80
80
  npm install --save jszip
81
+ npm install --save node-fetch
81
82
  npm install --save-dev @types/sqlite3
82
83
  ```
83
84
 
@@ -137,6 +138,7 @@ npm install --save-dev @types/sqlite3
137
138
  | closeNCConnection | ✅ | ✅ | ❌ | ❌ |
138
139
  | isNCDatabase | ✅ | ✅ | ❌ | ❌ |
139
140
  | transaction | ✅ | ✅ | ✅ | ✅ |
141
+ | getFromHTTPRequest | ✅ | ✅ | ✅ | ✅ | since 4.2.0
140
142
 
141
143
 
142
144
  ## Documentation & APIs
@@ -209,7 +211,7 @@ npm install --save-dev @types/sqlite3
209
211
 
210
212
  The iOS and Android codes are using `SQLCipher` allowing for database encryption.
211
213
  The iOS codes is using `ZIPFoundation` for unzipping assets files
212
- The Electron code is using `sqlite3`.
214
+ The Electron code is using `sqlite3` and `node-fetch` from 4.2.0.
213
215
  The Web code is using the Stencil component `jeep-sqlite` based on `sql.js`, `localforage`. and `jszip`
214
216
 
215
217
  ## Contributors ✨
@@ -241,6 +243,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
241
243
  <a href="https://github.com/antoniovlx" title="antoniovlx"><img src="https://github.com/antoniovlx.png?size=100" width="50" height="50" /></a>
242
244
  <a href="https://github.com/HarelM" title="HarelM"><img src="https://github.com/HarelM.png?size=100" width="50" height="50" /></a>
243
245
  <a href="https://github.com/rdlabo" title="rdlabo"><img src="https://github.com/rdlabo.png?size=100" width="50" height="50" /></a>
246
+ <a href="https://github.com/axkristiansen" title="rdlabo"><img src="https://github.com/axkristiansen.png?size=100" width="50" height="50" /></a>
244
247
  </p>
245
248
 
246
249
  <!-- markdownlint-enable -->
@@ -17,6 +17,7 @@ import com.getcapacitor.community.database.sqlite.SQLite.ImportExportJson.JsonSQ
17
17
  import com.getcapacitor.community.database.sqlite.SQLite.ImportExportJson.UtilsJson;
18
18
  import com.getcapacitor.community.database.sqlite.SQLite.SqliteConfig;
19
19
  import com.getcapacitor.community.database.sqlite.SQLite.UtilsBiometric;
20
+ import com.getcapacitor.community.database.sqlite.SQLite.UtilsDownloadFromHTTP;
20
21
  import com.getcapacitor.community.database.sqlite.SQLite.UtilsFile;
21
22
  import com.getcapacitor.community.database.sqlite.SQLite.UtilsMigrate;
22
23
  import com.getcapacitor.community.database.sqlite.SQLite.UtilsNCDatabase;
@@ -46,6 +47,7 @@ public class CapacitorSQLite {
46
47
  private final UtilsJson uJson = new UtilsJson();
47
48
  private final UtilsMigrate uMigrate = new UtilsMigrate();
48
49
  private final UtilsNCDatabase uNCDatabase = new UtilsNCDatabase();
50
+ private final UtilsDownloadFromHTTP uHTTP = new UtilsDownloadFromHTTP();
49
51
  private UtilsSecret uSecret;
50
52
  private SharedPreferences sharedPreferences = null;
51
53
  private MasterKey masterKeyAlias;
@@ -537,6 +539,14 @@ public class CapacitorSQLite {
537
539
  }
538
540
  }
539
541
 
542
+ public void getFromHTTPRequest(String url) throws Exception {
543
+ try {
544
+ uHTTP.download(context, url);
545
+ } catch (Exception e) {
546
+ throw new Exception(e.getMessage());
547
+ }
548
+ }
549
+
540
550
  public Boolean checkConnectionsConsistency(JSArray dbNames, JSArray openModes) throws Exception {
541
551
  Set<String> keys = new HashSet<String>(Collections.list(dbDict.keys()));
542
552
  String msg = "All Native Connections released";
@@ -12,8 +12,10 @@ import com.getcapacitor.annotation.CapacitorPlugin;
12
12
  import com.getcapacitor.community.database.sqlite.SQLite.Database;
13
13
  import com.getcapacitor.community.database.sqlite.SQLite.ImportExportJson.JsonSQLite;
14
14
  import com.getcapacitor.community.database.sqlite.SQLite.SqliteConfig;
15
+ import java.util.Collections;
15
16
  import java.util.Dictionary;
16
17
  import java.util.Hashtable;
18
+ import java.util.List;
17
19
  import org.json.JSONArray;
18
20
  import org.json.JSONException;
19
21
  import org.json.JSONObject;
@@ -1220,7 +1222,18 @@ public class CapacitorSQLitePlugin extends Plugin {
1220
1222
  if (implementation != null) {
1221
1223
  try {
1222
1224
  Dictionary<Integer, JSONObject> upgDict = implementation.addUpgradeStatement(upgrade);
1223
- versionUpgrades.put(dbName, upgDict);
1225
+
1226
+ if (versionUpgrades.get(dbName) != null) {
1227
+ List<Integer> keys = Collections.list(upgDict.keys());
1228
+ for (Integer versionKey : keys) {
1229
+ JSONObject upgObj = upgDict.get(versionKey);
1230
+
1231
+ versionUpgrades.get(dbName).put(versionKey, upgObj);
1232
+ }
1233
+ } else {
1234
+ versionUpgrades.put(dbName, upgDict);
1235
+ }
1236
+
1224
1237
  rHandler.retResult(call, null, null);
1225
1238
  return;
1226
1239
  } catch (Exception e) {
@@ -1347,7 +1360,7 @@ public class CapacitorSQLitePlugin extends Plugin {
1347
1360
  JSObject retObj = new JSObject();
1348
1361
  JsonSQLite retJson = new JsonSQLite();
1349
1362
  if (!call.getData().has("database")) {
1350
- String msg = "ExportToJson: Must provide a database name";
1363
+ String msg = "DeleteExportedRows: Must provide a database name";
1351
1364
  rHandler.retResult(call, null, msg);
1352
1365
  return;
1353
1366
  }
@@ -1395,6 +1408,72 @@ public class CapacitorSQLitePlugin extends Plugin {
1395
1408
  }
1396
1409
  }
1397
1410
 
1411
+ /**
1412
+ * GetFromHTTPRequest
1413
+ * get a database or a zipped database from HTTP Request
1414
+ *
1415
+ * @param call
1416
+ */
1417
+ @PluginMethod
1418
+ public void getFromHTTPRequest(PluginCall call) {
1419
+ if (!call.getData().has("url")) {
1420
+ String msg = "GetFromHTTPRequest: Must provide a database url";
1421
+ rHandler.retResult(call, null, msg);
1422
+ return;
1423
+ }
1424
+ String url = call.getString("url");
1425
+ if (implementation != null) {
1426
+ Runnable setHTTPRunnable = new Runnable() {
1427
+ @Override
1428
+ public void run() {
1429
+ android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_BACKGROUND);
1430
+ try {
1431
+ implementation.getFromHTTPRequest(url);
1432
+ getActivity()
1433
+ .runOnUiThread(
1434
+ new Runnable() {
1435
+ @Override
1436
+ public void run() {
1437
+ rHandler.retResult(call, null, null);
1438
+ return;
1439
+ }
1440
+ }
1441
+ );
1442
+ } catch (Exception e) {
1443
+ getActivity()
1444
+ .runOnUiThread(
1445
+ new Runnable() {
1446
+ @Override
1447
+ public void run() {
1448
+ String msg = "GetFromHTTPRequest: " + e.getMessage();
1449
+ rHandler.retResult(call, null, msg);
1450
+ return;
1451
+ }
1452
+ }
1453
+ );
1454
+ }
1455
+ }
1456
+ };
1457
+ Thread myHttpThread = new Thread(setHTTPRunnable);
1458
+ myHttpThread.start();
1459
+ while (myHttpThread.isAlive());
1460
+ System.out.println("Thread Exiting!");
1461
+ /* try {
1462
+ implementation.getFromHTTPRequest(url);
1463
+ rHandler.retResult(call, null, null);
1464
+ return;
1465
+ } catch (Exception e) {
1466
+ String msg = "GetFromHTTPRequest: " + e.getMessage();
1467
+ rHandler.retResult(call, null, msg);
1468
+ return;
1469
+ }
1470
+ */
1471
+ } else {
1472
+ rHandler.retResult(call, null, loadMessage);
1473
+ return;
1474
+ }
1475
+ }
1476
+
1398
1477
  private void AddObserversToNotificationCenter() {
1399
1478
  NotificationCenter
1400
1479
  .defaultCenter()
@@ -0,0 +1,116 @@
1
+ package com.getcapacitor.community.database.sqlite.SQLite;
2
+
3
+ import android.content.Context;
4
+ import android.content.res.AssetManager;
5
+ import java.io.File;
6
+ import java.io.FileOutputStream;
7
+ import java.io.IOException;
8
+ import java.io.InputStream;
9
+ import java.net.HttpURLConnection;
10
+ import java.net.URL;
11
+
12
+ public class UtilsDownloadFromHTTP {
13
+
14
+ private static final String TAG = UtilsDownloadFromHTTP.class.getName();
15
+ private static final int BUFFER_SIZE = 4096;
16
+ private final UtilsFile _uFile = new UtilsFile();
17
+
18
+ public void download(Context context, String fileUrl) throws Exception {
19
+ AssetManager assetManager = context.getAssets();
20
+ String fileName = fileUrl.substring(fileUrl.lastIndexOf('/') + 1);
21
+ String dbName = fileName;
22
+ Boolean isZip = false;
23
+ if (!fileName.contains("SQLite.db")) {
24
+ if (_uFile.getFileExtension((fileName)).equals("db")) {
25
+ dbName = fileName.substring(0, fileName.length() - 3) + "SQLite.db";
26
+ }
27
+ if (_uFile.isLast(fileName, ".zip")) {
28
+ isZip = true;
29
+ }
30
+ }
31
+ File cacheDir = context.getCacheDir();
32
+ String cachePath = cacheDir.getAbsolutePath();
33
+ String tmpFilePath = cachePath + File.separator + dbName;
34
+ String databasePath = _uFile.getDatabaseDirectoryPath(context);
35
+ File databaseDir = new File(databasePath);
36
+ try {
37
+ // delete file if exists in cache
38
+ Boolean isExists = _uFile.isPathExists(tmpFilePath);
39
+ if (isExists) {
40
+ _uFile.deleteFile(cachePath, dbName);
41
+ }
42
+ downloadFileToCache(fileUrl, cachePath);
43
+ if (isZip) {
44
+ _uFile.unzipCopyDatabase(cachePath, null, tmpFilePath, true);
45
+ // delete zip file from cache
46
+ _uFile.deleteFile(cachePath, dbName);
47
+ }
48
+ // move files to database folder
49
+ _uFile.moveAllDBs(cacheDir, databaseDir);
50
+ } catch (Exception e) {
51
+ throw new Exception(e.getMessage());
52
+ }
53
+ }
54
+
55
+ public static void downloadFileToCache(String fileURL, String cacheDir) throws Exception {
56
+ HttpURLConnection httpConn = null;
57
+ try {
58
+ URL url = new URL(fileURL);
59
+ httpConn = (HttpURLConnection) url.openConnection();
60
+ int responseCode = httpConn.getResponseCode();
61
+ if (responseCode == HttpURLConnection.HTTP_OK) {
62
+ String fileName = "";
63
+ String disposition = httpConn.getHeaderField("Content-Disposition");
64
+ // String contentType = httpConn.getContentType();
65
+ int contentLength = httpConn.getContentLength();
66
+
67
+ if (disposition != null) {
68
+ // extracts file name from header field
69
+ int index = disposition.indexOf("filename=");
70
+ if (index > 0) {
71
+ fileName = disposition.substring(index + 10, disposition.length() - 1);
72
+ }
73
+ } else {
74
+ // extracts file name from URL
75
+ fileName = fileURL.substring(fileURL.lastIndexOf("/") + 1);
76
+ }
77
+ String dbName = fileName;
78
+ if (!fileName.contains("SQLite.db")) {
79
+ if (fileName.substring(fileName.length() - 3).equals(".db")) {
80
+ dbName = fileName.substring(0, fileName.length() - 3) + "SQLite.db";
81
+ }
82
+ }
83
+
84
+ // System.out.println("Content-Type = " + contentType);
85
+ // System.out.println("Content-Disposition = " + disposition);
86
+ // System.out.println("Content-Length = " + contentLength);
87
+ // System.out.println("fileName = " + fileName);
88
+ // opens input stream from the HTTP connection
89
+ InputStream inputStream = httpConn.getInputStream();
90
+ // create temporary file path
91
+ String tmpFilePath = cacheDir + File.separator + dbName;
92
+ // opens an output stream to save into file
93
+ FileOutputStream outputStream = new FileOutputStream(tmpFilePath);
94
+ int bytesRead = -1;
95
+ byte[] buffer = new byte[BUFFER_SIZE];
96
+ while ((bytesRead = inputStream.read(buffer)) != -1) {
97
+ outputStream.write(buffer, 0, bytesRead);
98
+ }
99
+
100
+ outputStream.close();
101
+ inputStream.close();
102
+
103
+ System.out.println("File " + fileName + " downloaded (" + contentLength + ")");
104
+ } else {
105
+ String msg = "No file to download. Server replied HTTP code: " + responseCode;
106
+ throw new IOException(msg);
107
+ }
108
+ } catch (IOException e) {
109
+ throw new Exception(e);
110
+ } finally {
111
+ if (httpConn != null) {
112
+ httpConn.disconnect();
113
+ }
114
+ }
115
+ }
116
+ }
@@ -2,7 +2,9 @@ package com.getcapacitor.community.database.sqlite.SQLite;
2
2
 
3
3
  import android.content.Context;
4
4
  import android.content.res.AssetManager;
5
+ import android.os.Build;
5
6
  import android.util.Log;
7
+ import androidx.annotation.RequiresApi;
6
8
  import java.io.File;
7
9
  import java.io.FileInputStream;
8
10
  import java.io.FileOutputStream;
@@ -10,8 +12,16 @@ import java.io.IOException;
10
12
  import java.io.InputStream;
11
13
  import java.io.OutputStream;
12
14
  import java.nio.channels.FileChannel;
15
+ import java.nio.file.DirectoryStream;
16
+ import java.nio.file.Files;
17
+ import java.nio.file.Path;
18
+ import java.nio.file.Paths;
13
19
  import java.util.ArrayList;
20
+ import java.util.HashSet;
14
21
  import java.util.List;
22
+ import java.util.Set;
23
+ import java.util.stream.Collectors;
24
+ import java.util.stream.Stream;
15
25
  import java.util.zip.ZipEntry;
16
26
  import java.util.zip.ZipInputStream;
17
27
 
@@ -33,6 +43,10 @@ public class UtilsFile {
33
43
  }
34
44
  }
35
45
 
46
+ public String getDatabaseDirectoryPath(Context context) {
47
+ return context != null && context.getDatabasePath("x") != null ? context.getDatabasePath("x").getParent() : "";
48
+ }
49
+
36
50
  public String[] getListOfFiles(Context context) {
37
51
  String[] files = context.databaseList();
38
52
  List<String> dbs = new ArrayList<>();
@@ -64,6 +78,10 @@ public class UtilsFile {
64
78
  return file.delete();
65
79
  }
66
80
 
81
+ public Boolean deleteFile(File file) {
82
+ return file.delete();
83
+ }
84
+
67
85
  public void copyFromAssetsToDatabase(Context context, Boolean overwrite) throws Exception {
68
86
  AssetManager assetManager = context.getAssets();
69
87
  String assetsDatabasePath = "public/assets/databases";
@@ -99,7 +117,8 @@ public class UtilsFile {
99
117
  if (isLast(fileName, ".zip")) {
100
118
  // unzip file and extract databases
101
119
  String zipPathName = assetsDatabasePath + "/" + fileName;
102
- unzipCopyDatabase(context, assetManager, zipPathName, assetsDatabasePath, overwrite);
120
+ String databasePath = getDatabaseDirectoryPath(context);
121
+ unzipCopyDatabase(databasePath, assetManager, zipPathName, overwrite);
103
122
  }
104
123
  }
105
124
  return;
@@ -109,26 +128,33 @@ public class UtilsFile {
109
128
  }
110
129
  }
111
130
 
112
- public void unzipCopyDatabase(Context context, AssetManager asm, String zipPath, String assetsDatabasePath, Boolean overwrite)
113
- throws IOException {
114
- InputStream is;
131
+ public void unzipCopyDatabase(String databasePath, AssetManager asm, String zipPath, Boolean overwrite) throws IOException {
132
+ InputStream is = null;
133
+ FileInputStream isF = null;
134
+ ZipInputStream zis;
115
135
  byte[] buffer = new byte[1024];
116
- try {
117
- is = asm.open(zipPath);
118
- ZipInputStream zis = new ZipInputStream(is);
119
136
 
137
+ try {
138
+ if (asm != null) {
139
+ is = asm.open(zipPath);
140
+ zis = new ZipInputStream(is);
141
+ } else {
142
+ File zipFile = new File(zipPath);
143
+ isF = new FileInputStream(zipFile);
144
+ zis = new ZipInputStream(isF);
145
+ }
120
146
  ZipEntry ze = zis.getNextEntry();
121
147
  while (ze != null) {
122
148
  String fileName = ze.getName();
123
149
  if (isLast(fileName, ".db")) {
124
150
  String toFileName = addSQLiteSuffix(fileName);
125
- boolean isExist = isFileExists(context, toFileName);
151
+ String dbPath = databasePath + File.separator + toFileName;
152
+ boolean isExist = isPathExists(dbPath);
126
153
  if (!isExist || overwrite) {
127
154
  if (overwrite && isExist) {
128
- deleteDatabase(context, toFileName);
155
+ deleteFile(databasePath, toFileName);
129
156
  }
130
- String toPathName = context.getDatabasePath(toFileName).getAbsolutePath();
131
- File newFile = new File(toPathName);
157
+ File newFile = new File(dbPath);
132
158
  System.out.println("Unzipping to " + newFile.getAbsolutePath());
133
159
  FileOutputStream fos = new FileOutputStream(newFile);
134
160
  int len;
@@ -145,7 +171,11 @@ public class UtilsFile {
145
171
  //close last ZipEntry
146
172
  zis.closeEntry();
147
173
  zis.close();
148
- is.close();
174
+ if (asm != null && is != null) {
175
+ is.close();
176
+ } else if (isF != null) {
177
+ isF.close();
178
+ }
149
179
  } catch (IOException e) {
150
180
  throw new IOException("in unzipCopyDatabase " + e.getLocalizedMessage());
151
181
  }
@@ -294,6 +324,53 @@ public class UtilsFile {
294
324
  }
295
325
  }
296
326
 
327
+ public void moveAllDBs(File fromDir, File toDir) throws Exception {
328
+ // get the file List from fromDir
329
+ List<String> fileList;
330
+ String fromDirPath = fromDir.getAbsolutePath();
331
+ String toDirPath = toDir.getAbsolutePath();
332
+
333
+ try {
334
+ fileList = listDatabases(fromDir);
335
+ for (String fileName : fileList) {
336
+ // Check if the file exists in toDir
337
+ File toFile = new File(toDirPath, fileName);
338
+ Boolean isPath = isPathExists(toFile.getAbsolutePath());
339
+ if (isPath) {
340
+ deleteFile(toFile);
341
+ }
342
+ File fromFile = new File(fromDirPath, fileName);
343
+
344
+ Boolean success = fromFile.renameTo(toFile);
345
+ if (!success) {
346
+ throw new Exception("moveAllDBs: move file " + fileName + " failed");
347
+ }
348
+ }
349
+ } catch (Exception e) {
350
+ throw new Exception(e.getMessage());
351
+ }
352
+ }
353
+
354
+ public List<String> listDatabases(File fileDir) throws Exception {
355
+ List<String> fileList = new ArrayList<>();
356
+ if (!fileDir.exists()) {
357
+ throw new Exception("File " + fileDir.getAbsolutePath() + " does not exist");
358
+ }
359
+ if (!fileDir.isDirectory()) {
360
+ throw new Exception("File " + fileDir.getAbsolutePath() + " is not a directory");
361
+ }
362
+ File[] fList = fileDir.listFiles();
363
+ for (File file : fList) {
364
+ if (file.isFile()) {
365
+ String fileName = file.getName();
366
+ if (getFileExtension((fileName)).equals("db")) {
367
+ fileList.add(fileName);
368
+ }
369
+ }
370
+ }
371
+ return fileList;
372
+ }
373
+
297
374
  private static void copyFileFromFile(File sourceFile, File destFile) throws IOException {
298
375
  if (!destFile.getParentFile().exists()) destFile.getParentFile().mkdirs();
299
376
 
@@ -25,13 +25,14 @@ public class UtilsUpgrade {
25
25
  */
26
26
  public void onUpgrade(Database db, Dictionary<Integer, JSONObject> upgDict, Integer curVersion, Integer targetVersion)
27
27
  throws Exception {
28
- Log.i(TAG, "UtilsUpgrade.onUpgrade: " + curVersion + " => " + targetVersion);
28
+ Log.i(TAG, "UtilsUpgrade.onUpgrade: from " + curVersion + " to " + targetVersion);
29
29
 
30
30
  List<Integer> sortedKeys = Collections.list(upgDict.keys());
31
31
  Collections.sort(sortedKeys);
32
32
 
33
33
  for (Integer versionKey : sortedKeys) {
34
34
  if (versionKey > curVersion && versionKey <= targetVersion) {
35
+ Log.i(TAG, "- UtilsUpgrade.onUpgrade toVersion: " + versionKey);
35
36
  JSONObject upgrade = upgDict.get(versionKey);
36
37
 
37
38
  JSONArray statementsJson = upgrade.has("statements") ? upgrade.getJSONArray("statements") : new JSONArray();
@@ -229,6 +229,13 @@ export interface CapacitorSQLitePlugin {
229
229
  * @since 2.9.0 refactor
230
230
  */
231
231
  copyFromAssets(options: capSQLiteFromAssetsOptions): Promise<void>;
232
+ /**
233
+ * Get database or zipped database(s) from url
234
+ * @param options: capSQLiteHTTPOptions
235
+ * @returns Promise<void>
236
+ * @since 4.1.1
237
+ */
238
+ getFromHTTPRequest(options: capSQLiteHTTPOptions): Promise<void>;
232
239
  /**
233
240
  * Get the database list
234
241
  * @returns Promise<capSQLiteValues>
@@ -525,6 +532,18 @@ export interface capSQLiteFromAssetsOptions {
525
532
  */
526
533
  overwrite?: boolean;
527
534
  }
535
+ export interface capSQLiteHTTPOptions {
536
+ /**
537
+ * The url of the database or the zipped database(s)
538
+ */
539
+ url?: string;
540
+ /**
541
+ * Set the overwrite mode for the copy from assets
542
+ * "true"/"false" default to "true"
543
+ *
544
+ */
545
+ overwrite?: boolean;
546
+ }
528
547
  export interface capSQLiteSyncDateOptions {
529
548
  /**
530
549
  * The database name
@@ -972,6 +991,14 @@ export interface ISQLiteConnection {
972
991
  * @since 2.9.0 refactor
973
992
  */
974
993
  copyFromAssets(overwrite?: boolean): Promise<void>;
994
+ /**
995
+ *
996
+ * @param url
997
+ * @param overwrite
998
+ * @returns Promise<void>
999
+ * @since 4.1.1
1000
+ */
1001
+ getFromHTTPRequest(url?: string, overwrite?: boolean): Promise<void>;
975
1002
  /**
976
1003
  * Check if a database exists
977
1004
  * @param database
@@ -1054,6 +1081,7 @@ export declare class SQLiteConnection implements ISQLiteConnection {
1054
1081
  importFromJson(jsonstring: string): Promise<capSQLiteChanges>;
1055
1082
  isJsonValid(jsonstring: string): Promise<capSQLiteResult>;
1056
1083
  copyFromAssets(overwrite?: boolean): Promise<void>;
1084
+ getFromHTTPRequest(url: string, overwrite?: boolean): Promise<void>;
1057
1085
  isDatabase(database: string): Promise<capSQLiteResult>;
1058
1086
  getDatabaseList(): Promise<capSQLiteValues>;
1059
1087
  getMigratableDbList(folderPath: string): Promise<capSQLiteValues>;
@@ -286,6 +286,16 @@ export class SQLiteConnection {
286
286
  return Promise.reject(err);
287
287
  }
288
288
  }
289
+ async getFromHTTPRequest(url, overwrite) {
290
+ const mOverwrite = overwrite != null ? overwrite : true;
291
+ try {
292
+ await this.sqlite.getFromHTTPRequest({ url, overwrite: mOverwrite });
293
+ return Promise.resolve();
294
+ }
295
+ catch (err) {
296
+ return Promise.reject(err);
297
+ }
298
+ }
289
299
  async isDatabase(database) {
290
300
  if (database.endsWith('.db'))
291
301
  database = database.slice(0, -3);
@@ -1 +1 @@
1
- {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":"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"}