@capacitor-community/sqlite 5.0.4-alphabetter.3 → 5.0.4-alphabetter.4

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.
@@ -68,7 +68,7 @@ class UtilsSQLite {
68
68
  * @param password
69
69
  */
70
70
  async openOrCreateDatabase(pathDB, password, readonly) {
71
- const msg = 'OpenOrCreateDatabase: ';
71
+ const msg = 'OpenOrCreateDatabase';
72
72
  // open sqlite3 database
73
73
  let mDB;
74
74
  if (!readonly) {
@@ -116,7 +116,7 @@ class UtilsSQLite {
116
116
  * @param password
117
117
  */
118
118
  async setCipherPragma(mDB, passphrase) {
119
- const msg = 'setCipherPragma: ';
119
+ const msg = 'setCipherPragma';
120
120
  try {
121
121
  mDB.pragma(`cipher='sqlcipher'`);
122
122
  mDB.pragma(`legacy=4`);
@@ -134,7 +134,7 @@ class UtilsSQLite {
134
134
  * @param toggle
135
135
  */
136
136
  async setForeignKeyConstraintsEnabled(mDB, toggle) {
137
- const msg = 'SetForeignKeyConstraintsEnabled: ';
137
+ const msg = 'SetForeignKeyConstraintsEnabled';
138
138
  let key = 'OFF';
139
139
  if (toggle) {
140
140
  key = 'ON';
@@ -148,12 +148,27 @@ class UtilsSQLite {
148
148
  return Promise.reject(`${msg} ${errmsg}`);
149
149
  }
150
150
  }
151
+ /**
152
+ * CloseDB
153
+ * @param mDB
154
+ */
155
+ async closeDB(mDB) {
156
+ const msg = 'closeDB';
157
+ try {
158
+ mDB.close();
159
+ return Promise.resolve();
160
+ }
161
+ catch (err) {
162
+ const errmsg = err.message ? err.message : err;
163
+ return Promise.reject(`${msg} ${errmsg}`);
164
+ }
165
+ }
151
166
  /**
152
167
  * GetVersion
153
168
  * @param mDB
154
169
  */
155
170
  async getVersion(mDB) {
156
- const msg = 'GetVersion: ';
171
+ const msg = 'GetVersion';
157
172
  try {
158
173
  const version = mDB.pragma('user_version');
159
174
  return Promise.resolve(version);
@@ -169,7 +184,7 @@ class UtilsSQLite {
169
184
  * @param version
170
185
  */
171
186
  async setVersion(mDB, version) {
172
- const msg = 'SetVersion: ';
187
+ const msg = 'SetVersion';
173
188
  try {
174
189
  mDB.pragma(`user_version = '${version}'`);
175
190
  return;
@@ -197,8 +212,9 @@ class UtilsSQLite {
197
212
  return Promise.reject(`${msg} ${errmsg}`);
198
213
  }
199
214
  finally {
200
- mDB.close();
215
+ await this.closeDB(mDB);
201
216
  }
217
+ return;
202
218
  }
203
219
  /**
204
220
  * PragmaReKey
@@ -3324,9 +3340,9 @@ class UtilsEncryption {
3324
3340
  const oDB = await this.sqliteUtil.openOrCreateDatabase(tempPath, '', false);
3325
3341
  const mDB = await this.sqliteUtil.openOrCreateDatabase(pathDB, password, false);
3326
3342
  await this.sqlcipherEncrypt(oDB, pathDB, password);
3327
- oDB.close();
3343
+ await this.sqliteUtil.closeDB(oDB);
3328
3344
  this.fileUtil.deleteFilePath(tempPath);
3329
- mDB.close();
3345
+ await this.sqliteUtil.closeDB(mDB);
3330
3346
  return Promise.resolve();
3331
3347
  }
3332
3348
  catch (err) {
@@ -3515,27 +3531,27 @@ class Database {
3515
3531
  }
3516
3532
  catch (err) {
3517
3533
  if (this._isDbOpen)
3518
- this.close();
3534
+ await this.sqliteUtil.closeDB(this.database);
3519
3535
  throw new Error(`Open: ${err}`);
3520
3536
  }
3521
3537
  }
3522
3538
  /**
3523
3539
  * Close
3524
- * close the @journeyapps/sqlcipher sqlite3 database
3540
+ * close better-sqlite3 database
3525
3541
  * @returns Promise<boolean>
3526
3542
  */
3527
- async close() {
3543
+ async dbClose() {
3528
3544
  this.ensureDatabaseIsOpen();
3529
- return new Promise((resolve, reject) => {
3530
- this.database.close((err) => {
3531
- if (err) {
3532
- reject(new Error(`Close failed: ${this.dbName} ${err}`));
3533
- return;
3534
- }
3535
- this._isDbOpen = false;
3536
- resolve();
3537
- });
3538
- });
3545
+ try {
3546
+ await this.sqliteUtil.closeDB(this.database);
3547
+ }
3548
+ catch (err) {
3549
+ throw new Error(`Close failed: ${this.dbName} ${err}`);
3550
+ }
3551
+ finally {
3552
+ this._isDbOpen = false;
3553
+ }
3554
+ return;
3539
3555
  }
3540
3556
  /**
3541
3557
  * ChangeSecret
@@ -3569,7 +3585,7 @@ class Database {
3569
3585
  }
3570
3586
  catch (err) {
3571
3587
  if (this._isDbOpen)
3572
- this.close();
3588
+ await this.sqliteUtil.closeDB(this.database);
3573
3589
  throw new Error(`getVersion: ${err}`);
3574
3590
  }
3575
3591
  }
@@ -3593,7 +3609,7 @@ class Database {
3593
3609
  }
3594
3610
  // close the database
3595
3611
  try {
3596
- await this.close();
3612
+ await this.dbClose();
3597
3613
  }
3598
3614
  catch (err) {
3599
3615
  throw new Error('DeleteDB: Close failed');
@@ -3997,10 +4013,12 @@ class CapacitorSQLite {
3997
4013
  const readonly = options.readonly ? options.readonly : false;
3998
4014
  const connName = readonly ? 'RO_' + dbName : 'RW_' + dbName;
3999
4015
  const database = this.getDatabaseConnectionOrThrowError(connName);
4016
+ console.log(`@@@@@ connName: ${connName}`);
4000
4017
  try {
4001
4018
  if (database.isDBOpen()) {
4002
4019
  // close the database
4003
- await database.close();
4020
+ await database.dbClose();
4021
+ console.log(`@@@@@ after database.dbClose()`);
4004
4022
  }
4005
4023
  }
4006
4024
  catch (err) {
@@ -4038,7 +4056,7 @@ class CapacitorSQLite {
4038
4056
  const database = this.getDatabaseConnectionOrThrowError(connName);
4039
4057
  if (database.isDBOpen()) {
4040
4058
  try {
4041
- await database.close();
4059
+ await database.dbClose();
4042
4060
  return;
4043
4061
  }
4044
4062
  catch (err) {
@@ -4322,7 +4340,7 @@ class CapacitorSQLite {
4322
4340
  // Import the JsonSQLite Object
4323
4341
  const changes = await database.importJson(vJsonObj);
4324
4342
  // Close the database
4325
- await database.close();
4343
+ await database.dbClose();
4326
4344
  return { changes: { changes: changes } };
4327
4345
  }
4328
4346
  catch (err) {
@@ -4619,6 +4637,7 @@ class CapacitorSQLite {
4619
4637
  */
4620
4638
  getDatabaseConnectionOrThrowError(dbName) {
4621
4639
  const databaseNames = Object.keys(this.databases);
4640
+ console.log(`@@@@ this.databases: ${JSON.stringify(this.databases)}`);
4622
4641
  if (!databaseNames.includes(dbName)) {
4623
4642
  throw new Error(`No connection available for database "${dbName}"`);
4624
4643
  }
@@ -4719,7 +4738,7 @@ class CapacitorSQLite {
4719
4738
  try {
4720
4739
  const mDB = await this.sqliteUtil.openOrCreateDatabase(filePath, "", true);
4721
4740
  await this.sqliteUtil.getVersion(mDB);
4722
- mDB.close();
4741
+ await this.sqliteUtil.closeDB(mDB);
4723
4742
  return Promise.resolve({ result: false });
4724
4743
  }
4725
4744
  catch (error) {