@capacitor-community/sqlite 5.0.4 → 5.0.5-1
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/dist/esm/definitions.js +4 -1
- package/dist/esm/definitions.js.map +1 -1
- package/dist/plugin.cjs.js +4 -1
- package/dist/plugin.cjs.js.map +1 -1
- package/dist/plugin.js +4 -1
- package/dist/plugin.js.map +1 -1
- package/electron/dist/plugin.js +28 -31
- package/electron/dist/plugin.js.map +1 -1
- package/package.json +5 -5
- package/src/definitions.ts +4 -1
package/dist/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["//import { Capacitor } from '@capacitor/core';\n/**\n * SQLiteConnection Class\n */\nexport class SQLiteConnection {\n constructor(sqlite) {\n this.sqlite = sqlite;\n this._connectionDict = new Map();\n }\n async initWebStore() {\n try {\n await this.sqlite.initWebStore();\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async saveToStore(database) {\n try {\n await this.sqlite.saveToStore({ database });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async saveToLocalDisk(database) {\n try {\n await this.sqlite.saveToLocalDisk({ database });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getFromLocalDiskToStore(overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.getFromLocalDiskToStore({ overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async echo(value) {\n try {\n const res = await this.sqlite.echo({ value });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isSecretStored() {\n try {\n const res = await this.sqlite.isSecretStored();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setEncryptionSecret(passphrase) {\n try {\n await this.sqlite.setEncryptionSecret({ passphrase: passphrase });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async changeEncryptionSecret(passphrase, oldpassphrase) {\n try {\n await this.sqlite.changeEncryptionSecret({\n passphrase: passphrase,\n oldpassphrase: oldpassphrase,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async clearEncryptionSecret() {\n try {\n await this.sqlite.clearEncryptionSecret();\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async checkEncryptionSecret(passphrase) {\n try {\n const res = await this.sqlite.checkEncryptionSecret({\n passphrase: passphrase,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async addUpgradeStatement(database, toVersion, statements) {\n const upgrade = {\n toVersion,\n statements,\n };\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.addUpgradeStatement({\n database,\n upgrade: [upgrade],\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createConnection(database, encrypted, mode, version, readonly) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.createConnection({\n database,\n encrypted,\n mode,\n version,\n readonly,\n });\n const conn = new SQLiteDBConnection(database, readonly, this.sqlite);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n this._connectionDict.set(connName, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeConnection(database, readonly) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.closeConnection({ database, readonly });\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n this._connectionDict.delete(connName);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isConnection(database, readonly) {\n const res = {};\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n res.result = this._connectionDict.has(connName);\n return Promise.resolve(res);\n }\n async retrieveConnection(database, readonly) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n if (this._connectionDict.has(connName)) {\n const conn = this._connectionDict.get(connName);\n if (typeof conn != 'undefined')\n return Promise.resolve(conn);\n else {\n return Promise.reject(`Connection ${database} is undefined`);\n }\n }\n else {\n return Promise.reject(`Connection ${database} does not exist`);\n }\n }\n async getNCDatabasePath(path, database) {\n try {\n const databasePath = await this.sqlite.getNCDatabasePath({\n path,\n database,\n });\n return Promise.resolve(databasePath);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createNCConnection(databasePath, version) {\n try {\n await this.sqlite.createNCConnection({\n databasePath,\n version,\n });\n const conn = new SQLiteDBConnection(databasePath, true, this.sqlite);\n const connName = `RO_${databasePath})`;\n this._connectionDict.set(connName, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeNCConnection(databasePath) {\n try {\n await this.sqlite.closeNCConnection({ databasePath });\n const connName = `RO_${databasePath})`;\n this._connectionDict.delete(connName);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isNCConnection(databasePath) {\n const res = {};\n const connName = `RO_${databasePath})`;\n res.result = this._connectionDict.has(connName);\n return Promise.resolve(res);\n }\n async retrieveNCConnection(databasePath) {\n if (this._connectionDict.has(databasePath)) {\n const connName = `RO_${databasePath})`;\n const conn = this._connectionDict.get(connName);\n if (typeof conn != 'undefined')\n return Promise.resolve(conn);\n else {\n return Promise.reject(`Connection ${databasePath} is undefined`);\n }\n }\n else {\n return Promise.reject(`Connection ${databasePath} does not exist`);\n }\n }\n async isNCDatabase(databasePath) {\n try {\n const res = await this.sqlite.isNCDatabase({ databasePath });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async retrieveAllConnections() {\n return this._connectionDict;\n }\n async closeAllConnections() {\n const delDict = new Map();\n try {\n for (const key of this._connectionDict.keys()) {\n const database = key.substring(3);\n const readonly = key.substring(0, 3) === 'RO_' ? true : false;\n await this.sqlite.closeConnection({ database, readonly });\n delDict.set(key, null);\n }\n for (const key of delDict.keys()) {\n this._connectionDict.delete(key);\n }\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async checkConnectionsConsistency() {\n try {\n const keys = [...this._connectionDict.keys()];\n const openModes = [];\n const dbNames = [];\n for (const key of keys) {\n openModes.push(key.substring(0, 2));\n dbNames.push(key.substring(3));\n }\n const res = await this.sqlite.checkConnectionsConsistency({\n dbNames: dbNames,\n openModes: openModes,\n });\n if (!res.result)\n this._connectionDict = new Map();\n return Promise.resolve(res);\n }\n catch (err) {\n this._connectionDict = new Map();\n return Promise.reject(err);\n }\n }\n async importFromJson(jsonstring) {\n try {\n const ret = await this.sqlite.importFromJson({ jsonstring: jsonstring });\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isJsonValid(jsonstring) {\n try {\n const ret = await this.sqlite.isJsonValid({ jsonstring: jsonstring });\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async copyFromAssets(overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.copyFromAssets({ overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getFromHTTPRequest(url, overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.getFromHTTPRequest({ url, overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDatabaseEncrypted(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n try {\n const res = await this.sqlite.isDatabaseEncrypted({ database: database });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isInConfigEncryption() {\n try {\n const res = await this.sqlite.isInConfigEncryption();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isInConfigBiometricAuth() {\n try {\n const res = await this.sqlite.isInConfigBiometricAuth();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDatabase(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n try {\n const res = await this.sqlite.isDatabase({ database: database });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getDatabaseList() {\n try {\n const res = await this.sqlite.getDatabaseList();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getMigratableDbList(folderPath) {\n if (!folderPath || folderPath.length === 0) {\n return Promise.reject('You must provide a folder path');\n }\n try {\n const res = await this.sqlite.getMigratableDbList({\n folderPath: folderPath,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async addSQLiteSuffix(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n try {\n const res = await this.sqlite.addSQLiteSuffix({\n folderPath: path,\n dbNameList: dbList,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async deleteOldDatabases(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n try {\n const res = await this.sqlite.deleteOldDatabases({\n folderPath: path,\n dbNameList: dbList,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async moveDatabasesAndAddSuffix(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n return this.sqlite.moveDatabasesAndAddSuffix({\n folderPath: path,\n dbNameList: dbList,\n });\n }\n}\n/**\n * SQLiteDBConnection Class\n */\nexport class SQLiteDBConnection {\n constructor(dbName, readonly, sqlite) {\n this.dbName = dbName;\n this.readonly = readonly;\n this.sqlite = sqlite;\n }\n getConnectionDBName() {\n return this.dbName;\n }\n getConnectionReadOnly() {\n return this.readonly;\n }\n async open() {\n try {\n await this.sqlite.open({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async close() {\n try {\n await this.sqlite.close({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getUrl() {\n try {\n const res = await this.sqlite.getUrl({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getVersion() {\n try {\n const version = await this.sqlite.getVersion({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(version);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getTableList() {\n try {\n const res = await this.sqlite.getTableList({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async execute(statements, transaction = true) {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.execute({\n database: this.dbName,\n statements: statements,\n transaction: transaction,\n readonly: false,\n });\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async query(statement, values) {\n let res;\n try {\n if (values && values.length > 0) {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: values,\n readonly: this.readonly,\n });\n }\n else {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: [],\n readonly: this.readonly,\n });\n }\n if (res && typeof res.values[0] === 'object') {\n if (Object.keys(res.values[0]).includes('ios_columns')) {\n const columnList = res.values[0]['ios_columns'];\n const iosRes = [];\n for (let i = 1; i < res.values.length; i++) {\n const rowJson = res.values[i];\n const resRowJson = {};\n for (const item of columnList) {\n resRowJson[item] = rowJson[item];\n }\n iosRes.push(resRowJson);\n }\n res = {};\n res['values'] = iosRes;\n }\n }\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async run(statement, values, transaction = true) {\n let res;\n try {\n if (!this.readonly) {\n if (values && values.length > 0) {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: values,\n transaction: transaction,\n readonly: false,\n });\n // }\n }\n else {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: [],\n transaction: transaction,\n readonly: false,\n });\n }\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeSet(set, transaction = true) {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.executeSet({\n database: this.dbName,\n set: set,\n transaction: transaction,\n readonly: false,\n });\n // }\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isExists() {\n try {\n const res = await this.sqlite.isDBExists({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isTable(table) {\n try {\n const res = await this.sqlite.isTableExists({\n database: this.dbName,\n table: table,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDBOpen() {\n try {\n const res = await this.sqlite.isDBOpen({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async delete() {\n try {\n if (!this.readonly) {\n await this.sqlite.deleteDatabase({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createSyncTable() {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.createSyncTable({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setSyncDate(syncdate) {\n try {\n if (!this.readonly) {\n await this.sqlite.setSyncDate({\n database: this.dbName,\n syncdate: syncdate,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getSyncDate() {\n try {\n const res = await this.sqlite.getSyncDate({\n database: this.dbName,\n readonly: this.readonly,\n });\n let retDate = '';\n if (res.syncDate > 0)\n retDate = new Date(res.syncDate * 1000).toISOString();\n return Promise.resolve(retDate);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async exportToJson(mode) {\n try {\n const res = await this.sqlite.exportToJson({\n database: this.dbName,\n jsonexportmode: mode,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async deleteExportedRows() {\n try {\n if (!this.readonly) {\n await this.sqlite.deleteExportedRows({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeTransaction(txn) {\n try {\n if (!this.readonly) {\n const ret = await this.sqlite.execute({\n database: this.dbName,\n statements: 'BEGIN TRANSACTION;',\n transaction: false,\n });\n if (ret.changes.changes < 0) {\n return Promise.reject('Error in BEGIN TRANSACTION');\n }\n for (const task of txn) {\n if (task.values && task.values.length > 0) {\n const ret = await this.sqlite.run({\n database: this.dbName,\n statement: task.statement,\n values: task.values,\n transaction: false,\n readonly: false,\n });\n if (ret.changes.lastId === -1) {\n await this.execute('ROLLBACK;', false);\n return Promise.reject('Error in transaction run ');\n }\n }\n else {\n const ret = await this.sqlite.execute({\n database: this.dbName,\n statements: task.statement,\n transaction: false,\n readonly: false,\n });\n if (ret.changes.changes < 0) {\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'ROLLBACK;',\n transaction: false,\n readonly: false,\n });\n return Promise.reject('Error in transaction execute ');\n }\n }\n }\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'COMMIT;',\n transaction: false,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'ROLLBACK;',\n transaction: false,\n readonly: false,\n });\n return Promise.reject(err);\n }\n }\n}\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst CapacitorSQLite = registerPlugin('CapacitorSQLite', {\n web: () => import('./web').then(m => new m.CapacitorSQLiteWeb()),\n electron: () => window.CapacitorCustomPlatform.plugins.CapacitorSQLite,\n});\nexport { CapacitorSQLite };\nexport * from './definitions';\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class CapacitorSQLiteWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.jeepSqliteElement = null;\n this.isWebStoreOpen = false;\n }\n async initWebStore() {\n await customElements.whenDefined('jeep-sqlite');\n this.jeepSqliteElement = document.querySelector('jeep-sqlite');\n this.ensureJeepSqliteIsAvailable();\n this.jeepSqliteElement.addEventListener('jeepSqliteImportProgress', (event) => {\n this.notifyListeners('sqliteImportProgressEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteExportProgress', (event) => {\n this.notifyListeners('sqliteExportProgressEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteHTTPRequestEnded', (event) => {\n this.notifyListeners('sqliteHTTPRequestEndedEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqlitePickDatabaseEnded', (event) => {\n this.notifyListeners('sqlitePickDatabaseEndedEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteSaveDatabaseToDisk', (event) => {\n this.notifyListeners('sqliteSaveDatabaseToDiskEvent', event.detail);\n });\n if (!this.isWebStoreOpen) {\n this.isWebStoreOpen = await this.jeepSqliteElement.isStoreOpen();\n }\n return;\n }\n async saveToStore(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.saveToStore(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getFromLocalDiskToStore(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.getFromLocalDiskToStore(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async saveToLocalDisk(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.saveToLocalDisk(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async echo(options) {\n this.ensureJeepSqliteIsAvailable();\n const echoResult = await this.jeepSqliteElement.echo(options);\n return echoResult;\n }\n async createConnection(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.createConnection(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async open(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.open(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async closeConnection(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.closeConnection(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getVersion(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const versionResult = await this.jeepSqliteElement.getVersion(options);\n return versionResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async checkConnectionsConsistency(options) {\n this.ensureJeepSqliteIsAvailable();\n try {\n const consistencyResult = await this.jeepSqliteElement.checkConnectionsConsistency(options);\n return consistencyResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async close(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.close(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getTableList(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const tableListResult = await this.jeepSqliteElement.getTableList(options);\n return tableListResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async execute(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const executeResult = await this.jeepSqliteElement.execute(options);\n return executeResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async executeSet(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const executeResult = await this.jeepSqliteElement.executeSet(options);\n return executeResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async run(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const runResult = await this.jeepSqliteElement.run(options);\n return runResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async query(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const queryResult = await this.jeepSqliteElement.query(options);\n return queryResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDBExists(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const dbExistsResult = await this.jeepSqliteElement.isDBExists(options);\n return dbExistsResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDBOpen(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isDBOpenResult = await this.jeepSqliteElement.isDBOpen(options);\n return isDBOpenResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDatabase(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isDatabaseResult = await this.jeepSqliteElement.isDatabase(options);\n return isDatabaseResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isTableExists(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const tableExistsResult = await this.jeepSqliteElement.isTableExists(options);\n return tableExistsResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async deleteDatabase(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.deleteDatabase(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isJsonValid(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isJsonValidResult = await this.jeepSqliteElement.isJsonValid(options);\n return isJsonValidResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async importFromJson(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const importFromJsonResult = await this.jeepSqliteElement.importFromJson(options);\n return importFromJsonResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async exportToJson(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const exportToJsonResult = await this.jeepSqliteElement.exportToJson(options);\n return exportToJsonResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async createSyncTable(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const createSyncTableResult = await this.jeepSqliteElement.createSyncTable(options);\n return createSyncTableResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async setSyncDate(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.setSyncDate(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getSyncDate(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const getSyncDateResult = await this.jeepSqliteElement.getSyncDate(options);\n return getSyncDateResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async deleteExportedRows(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.deleteExportedRows(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async addUpgradeStatement(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.addUpgradeStatement(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async copyFromAssets(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.copyFromAssets(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getFromHTTPRequest(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.getFromHTTPRequest(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getDatabaseList() {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const databaseListResult = await this.jeepSqliteElement.getDatabaseList();\n return databaseListResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n /**\n * Checks if the `jeep-sqlite` element is present in the DOM.\n * If it's not in the DOM, this method throws an Error.\n *\n * Attention: This will always fail, if the `intWebStore()` method wasn't called before.\n */\n ensureJeepSqliteIsAvailable() {\n if (this.jeepSqliteElement === null) {\n throw new Error(`The jeep-sqlite element is not present in the DOM! Please check the @capacitor-community/sqlite documentation for instructions regarding the web platform.`);\n }\n }\n ensureWebstoreIsOpen() {\n if (!this.isWebStoreOpen) {\n /**\n * if (!this.isWebStoreOpen)\n this.isWebStoreOpen = await this.jeepSqliteElement.isStoreOpen();\n */\n throw new Error('WebStore is not open yet. You have to call \"initWebStore()\" first.');\n }\n }\n ////////////////////////////////////\n ////// UNIMPLEMENTED METHODS\n ////////////////////////////////////\n async getUrl() {\n throw this.unimplemented('Not implemented on web.');\n }\n async getMigratableDbList(options) {\n console.log('getMigratableDbList', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async addSQLiteSuffix(options) {\n console.log('addSQLiteSuffix', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async deleteOldDatabases(options) {\n console.log('deleteOldDatabases', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async moveDatabasesAndAddSuffix(options) {\n console.log('moveDatabasesAndAddSuffix', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isSecretStored() {\n throw this.unimplemented('Not implemented on web.');\n }\n async setEncryptionSecret(options) {\n console.log('setEncryptionSecret', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async changeEncryptionSecret(options) {\n console.log('changeEncryptionSecret', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async clearEncryptionSecret() {\n console.log('clearEncryptionSecret');\n throw this.unimplemented('Not implemented on web.');\n }\n async checkEncryptionSecret(options) {\n console.log('checkEncryptionPassPhrase', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async getNCDatabasePath(options) {\n console.log('getNCDatabasePath', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async createNCConnection(options) {\n console.log('createNCConnection', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async closeNCConnection(options) {\n console.log('closeNCConnection', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isNCDatabase(options) {\n console.log('isNCDatabase', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isDatabaseEncrypted(options) {\n console.log('isDatabaseEncrypted', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isInConfigEncryption() {\n throw this.unimplemented('Not implemented on web.');\n }\n async isInConfigBiometricAuth() {\n throw this.unimplemented('Not implemented on web.');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin.js","sources":["esm/definitions.js","esm/index.js","esm/web.js"],"sourcesContent":["//import { Capacitor } from '@capacitor/core';\n/**\n * SQLiteConnection Class\n */\nexport class SQLiteConnection {\n constructor(sqlite) {\n this.sqlite = sqlite;\n this._connectionDict = new Map();\n }\n async initWebStore() {\n try {\n await this.sqlite.initWebStore();\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async saveToStore(database) {\n try {\n await this.sqlite.saveToStore({ database });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async saveToLocalDisk(database) {\n try {\n await this.sqlite.saveToLocalDisk({ database });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getFromLocalDiskToStore(overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.getFromLocalDiskToStore({ overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async echo(value) {\n try {\n const res = await this.sqlite.echo({ value });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isSecretStored() {\n try {\n const res = await this.sqlite.isSecretStored();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setEncryptionSecret(passphrase) {\n try {\n await this.sqlite.setEncryptionSecret({ passphrase: passphrase });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async changeEncryptionSecret(passphrase, oldpassphrase) {\n try {\n await this.sqlite.changeEncryptionSecret({\n passphrase: passphrase,\n oldpassphrase: oldpassphrase,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async clearEncryptionSecret() {\n try {\n await this.sqlite.clearEncryptionSecret();\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async checkEncryptionSecret(passphrase) {\n try {\n const res = await this.sqlite.checkEncryptionSecret({\n passphrase: passphrase,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async addUpgradeStatement(database, toVersion, statements) {\n const upgrade = {\n toVersion,\n statements,\n };\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.addUpgradeStatement({\n database,\n upgrade: [upgrade],\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createConnection(database, encrypted, mode, version, readonly) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.createConnection({\n database,\n encrypted,\n mode,\n version,\n readonly,\n });\n const conn = new SQLiteDBConnection(database, readonly, this.sqlite);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n this._connectionDict.set(connName, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeConnection(database, readonly) {\n try {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n await this.sqlite.closeConnection({ database, readonly });\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n this._connectionDict.delete(connName);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isConnection(database, readonly) {\n const res = {};\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n res.result = this._connectionDict.has(connName);\n return Promise.resolve(res);\n }\n async retrieveConnection(database, readonly) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n const connName = readonly ? `RO_${database}` : `RW_${database}`;\n if (this._connectionDict.has(connName)) {\n const conn = this._connectionDict.get(connName);\n if (typeof conn != 'undefined')\n return Promise.resolve(conn);\n else {\n return Promise.reject(`Connection ${database} is undefined`);\n }\n }\n else {\n return Promise.reject(`Connection ${database} does not exist`);\n }\n }\n async getNCDatabasePath(path, database) {\n try {\n const databasePath = await this.sqlite.getNCDatabasePath({\n path,\n database,\n });\n return Promise.resolve(databasePath);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createNCConnection(databasePath, version) {\n try {\n await this.sqlite.createNCConnection({\n databasePath,\n version,\n });\n const conn = new SQLiteDBConnection(databasePath, true, this.sqlite);\n const connName = `RO_${databasePath})`;\n this._connectionDict.set(connName, conn);\n return Promise.resolve(conn);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async closeNCConnection(databasePath) {\n try {\n await this.sqlite.closeNCConnection({ databasePath });\n const connName = `RO_${databasePath})`;\n this._connectionDict.delete(connName);\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isNCConnection(databasePath) {\n const res = {};\n const connName = `RO_${databasePath})`;\n res.result = this._connectionDict.has(connName);\n return Promise.resolve(res);\n }\n async retrieveNCConnection(databasePath) {\n if (this._connectionDict.has(databasePath)) {\n const connName = `RO_${databasePath})`;\n const conn = this._connectionDict.get(connName);\n if (typeof conn != 'undefined')\n return Promise.resolve(conn);\n else {\n return Promise.reject(`Connection ${databasePath} is undefined`);\n }\n }\n else {\n return Promise.reject(`Connection ${databasePath} does not exist`);\n }\n }\n async isNCDatabase(databasePath) {\n try {\n const res = await this.sqlite.isNCDatabase({ databasePath });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async retrieveAllConnections() {\n return this._connectionDict;\n }\n async closeAllConnections() {\n const delDict = new Map();\n try {\n for (const key of this._connectionDict.keys()) {\n const database = key.substring(3);\n const readonly = key.substring(0, 3) === 'RO_' ? true : false;\n await this.sqlite.closeConnection({ database, readonly });\n delDict.set(key, null);\n }\n for (const key of delDict.keys()) {\n this._connectionDict.delete(key);\n }\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async checkConnectionsConsistency() {\n try {\n const keys = [...this._connectionDict.keys()];\n const openModes = [];\n const dbNames = [];\n for (const key of keys) {\n openModes.push(key.substring(0, 2));\n dbNames.push(key.substring(3));\n }\n const res = await this.sqlite.checkConnectionsConsistency({\n dbNames: dbNames,\n openModes: openModes,\n });\n if (!res.result)\n this._connectionDict = new Map();\n return Promise.resolve(res);\n }\n catch (err) {\n this._connectionDict = new Map();\n return Promise.reject(err);\n }\n }\n async importFromJson(jsonstring) {\n try {\n const ret = await this.sqlite.importFromJson({ jsonstring: jsonstring });\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isJsonValid(jsonstring) {\n try {\n const ret = await this.sqlite.isJsonValid({ jsonstring: jsonstring });\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async copyFromAssets(overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.copyFromAssets({ overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getFromHTTPRequest(url, overwrite) {\n const mOverwrite = overwrite != null ? overwrite : true;\n try {\n await this.sqlite.getFromHTTPRequest({ url, overwrite: mOverwrite });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDatabaseEncrypted(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n try {\n const res = await this.sqlite.isDatabaseEncrypted({ database: database });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isInConfigEncryption() {\n try {\n const res = await this.sqlite.isInConfigEncryption();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isInConfigBiometricAuth() {\n try {\n const res = await this.sqlite.isInConfigBiometricAuth();\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDatabase(database) {\n if (database.endsWith('.db'))\n database = database.slice(0, -3);\n try {\n const res = await this.sqlite.isDatabase({ database: database });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getDatabaseList() {\n try {\n const res = await this.sqlite.getDatabaseList();\n const values = res.values;\n values.sort();\n const ret = { values: values };\n return Promise.resolve(ret);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getMigratableDbList(folderPath) {\n if (!folderPath || folderPath.length === 0) {\n return Promise.reject('You must provide a folder path');\n }\n try {\n const res = await this.sqlite.getMigratableDbList({\n folderPath: folderPath,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async addSQLiteSuffix(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n try {\n const res = await this.sqlite.addSQLiteSuffix({\n folderPath: path,\n dbNameList: dbList,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async deleteOldDatabases(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n try {\n const res = await this.sqlite.deleteOldDatabases({\n folderPath: path,\n dbNameList: dbList,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async moveDatabasesAndAddSuffix(folderPath, dbNameList) {\n const path = folderPath ? folderPath : 'default';\n const dbList = dbNameList ? dbNameList : [];\n return this.sqlite.moveDatabasesAndAddSuffix({\n folderPath: path,\n dbNameList: dbList,\n });\n }\n}\n/**\n * SQLiteDBConnection Class\n */\nexport class SQLiteDBConnection {\n constructor(dbName, readonly, sqlite) {\n this.dbName = dbName;\n this.readonly = readonly;\n this.sqlite = sqlite;\n }\n getConnectionDBName() {\n return this.dbName;\n }\n getConnectionReadOnly() {\n return this.readonly;\n }\n async open() {\n try {\n await this.sqlite.open({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async close() {\n try {\n await this.sqlite.close({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve();\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getUrl() {\n try {\n const res = await this.sqlite.getUrl({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getVersion() {\n try {\n const version = await this.sqlite.getVersion({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(version);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getTableList() {\n try {\n const res = await this.sqlite.getTableList({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async execute(statements, transaction = true) {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.execute({\n database: this.dbName,\n statements: statements,\n transaction: transaction,\n readonly: false,\n });\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async query(statement, values) {\n let res;\n try {\n if (values && values.length > 0) {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: values,\n readonly: this.readonly,\n });\n }\n else {\n res = await this.sqlite.query({\n database: this.dbName,\n statement: statement,\n values: [],\n readonly: this.readonly,\n });\n }\n if (res && typeof res.values[0] === 'object') {\n if (Object.keys(res.values[0]).includes('ios_columns')) {\n const columnList = res.values[0]['ios_columns'];\n const iosRes = [];\n for (let i = 1; i < res.values.length; i++) {\n const rowJson = res.values[i];\n const resRowJson = {};\n for (const item of columnList) {\n resRowJson[item] = rowJson[item];\n }\n iosRes.push(resRowJson);\n }\n res = {};\n res['values'] = iosRes;\n }\n }\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async run(statement, values, transaction = true) {\n let res;\n try {\n if (!this.readonly) {\n if (values && values.length > 0) {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: values,\n transaction: transaction,\n readonly: false,\n });\n // }\n }\n else {\n res = await this.sqlite.run({\n database: this.dbName,\n statement: statement,\n values: [],\n transaction: transaction,\n readonly: false,\n });\n }\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeSet(set, transaction = true) {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.executeSet({\n database: this.dbName,\n set: set,\n transaction: transaction,\n readonly: false,\n });\n // }\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isExists() {\n try {\n const res = await this.sqlite.isDBExists({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isTable(table) {\n try {\n const res = await this.sqlite.isTableExists({\n database: this.dbName,\n table: table,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async isDBOpen() {\n try {\n const res = await this.sqlite.isDBOpen({\n database: this.dbName,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async delete() {\n try {\n if (!this.readonly) {\n await this.sqlite.deleteDatabase({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async createSyncTable() {\n try {\n if (!this.readonly) {\n const res = await this.sqlite.createSyncTable({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve(res);\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async setSyncDate(syncdate) {\n try {\n if (!this.readonly) {\n await this.sqlite.setSyncDate({\n database: this.dbName,\n syncdate: syncdate,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async getSyncDate() {\n try {\n const res = await this.sqlite.getSyncDate({\n database: this.dbName,\n readonly: this.readonly,\n });\n let retDate = '';\n if (res.syncDate > 0)\n retDate = new Date(res.syncDate * 1000).toISOString();\n return Promise.resolve(retDate);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async exportToJson(mode) {\n try {\n const res = await this.sqlite.exportToJson({\n database: this.dbName,\n jsonexportmode: mode,\n readonly: this.readonly,\n });\n return Promise.resolve(res);\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async deleteExportedRows() {\n try {\n if (!this.readonly) {\n await this.sqlite.deleteExportedRows({\n database: this.dbName,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n return Promise.reject(err);\n }\n }\n async executeTransaction(txn) {\n try {\n if (!this.readonly) {\n const ret = await this.sqlite.execute({\n database: this.dbName,\n statements: 'BEGIN TRANSACTION;',\n transaction: false,\n });\n if (ret.changes.changes < 0) {\n return Promise.reject('Error in BEGIN TRANSACTION');\n }\n for (const task of txn) {\n if (task.values && task.values.length > 0) {\n const ret = await this.sqlite.run({\n database: this.dbName,\n statement: task.statement,\n values: task.values,\n transaction: false,\n readonly: false,\n });\n if (ret.changes.lastId === -1) {\n await this.execute('ROLLBACK;', false);\n return Promise.reject('Error in transaction run ');\n }\n }\n else {\n const ret = await this.sqlite.execute({\n database: this.dbName,\n statements: task.statement,\n transaction: false,\n readonly: false,\n });\n if (ret.changes.changes < 0) {\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'ROLLBACK;',\n transaction: false,\n readonly: false,\n });\n return Promise.reject('Error in transaction execute ');\n }\n }\n }\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'COMMIT;',\n transaction: false,\n readonly: false,\n });\n return Promise.resolve();\n }\n else {\n return Promise.reject('not allowed in read-only mode');\n }\n }\n catch (err) {\n await this.sqlite.execute({\n database: this.dbName,\n statements: 'ROLLBACK;',\n transaction: false,\n readonly: false,\n });\n return Promise.reject(err);\n }\n }\n}\n//# sourceMappingURL=definitions.js.map","import { registerPlugin } from '@capacitor/core';\nconst CapacitorSQLite = registerPlugin('CapacitorSQLite', {\n web: () => import('./web').then(m => new m.CapacitorSQLiteWeb()),\n electron: () => window.CapacitorCustomPlatform.plugins.CapacitorSQLite,\n});\nexport { CapacitorSQLite };\nexport * from './definitions';\n//# sourceMappingURL=index.js.map","import { WebPlugin } from '@capacitor/core';\nexport class CapacitorSQLiteWeb extends WebPlugin {\n constructor() {\n super(...arguments);\n this.jeepSqliteElement = null;\n this.isWebStoreOpen = false;\n }\n async initWebStore() {\n await customElements.whenDefined('jeep-sqlite');\n this.jeepSqliteElement = document.querySelector('jeep-sqlite');\n this.ensureJeepSqliteIsAvailable();\n this.jeepSqliteElement.addEventListener('jeepSqliteImportProgress', (event) => {\n this.notifyListeners('sqliteImportProgressEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteExportProgress', (event) => {\n this.notifyListeners('sqliteExportProgressEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteHTTPRequestEnded', (event) => {\n this.notifyListeners('sqliteHTTPRequestEndedEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqlitePickDatabaseEnded', (event) => {\n this.notifyListeners('sqlitePickDatabaseEndedEvent', event.detail);\n });\n this.jeepSqliteElement.addEventListener('jeepSqliteSaveDatabaseToDisk', (event) => {\n this.notifyListeners('sqliteSaveDatabaseToDiskEvent', event.detail);\n });\n if (!this.isWebStoreOpen) {\n this.isWebStoreOpen = await this.jeepSqliteElement.isStoreOpen();\n }\n return;\n }\n async saveToStore(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.saveToStore(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getFromLocalDiskToStore(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.getFromLocalDiskToStore(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async saveToLocalDisk(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.saveToLocalDisk(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async echo(options) {\n this.ensureJeepSqliteIsAvailable();\n const echoResult = await this.jeepSqliteElement.echo(options);\n return echoResult;\n }\n async createConnection(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.createConnection(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async open(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.open(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async closeConnection(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.closeConnection(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getVersion(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const versionResult = await this.jeepSqliteElement.getVersion(options);\n return versionResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async checkConnectionsConsistency(options) {\n this.ensureJeepSqliteIsAvailable();\n try {\n const consistencyResult = await this.jeepSqliteElement.checkConnectionsConsistency(options);\n return consistencyResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async close(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.close(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getTableList(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const tableListResult = await this.jeepSqliteElement.getTableList(options);\n return tableListResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async execute(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const executeResult = await this.jeepSqliteElement.execute(options);\n return executeResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async executeSet(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const executeResult = await this.jeepSqliteElement.executeSet(options);\n return executeResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async run(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const runResult = await this.jeepSqliteElement.run(options);\n return runResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async query(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const queryResult = await this.jeepSqliteElement.query(options);\n return queryResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDBExists(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const dbExistsResult = await this.jeepSqliteElement.isDBExists(options);\n return dbExistsResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDBOpen(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isDBOpenResult = await this.jeepSqliteElement.isDBOpen(options);\n return isDBOpenResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isDatabase(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isDatabaseResult = await this.jeepSqliteElement.isDatabase(options);\n return isDatabaseResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isTableExists(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const tableExistsResult = await this.jeepSqliteElement.isTableExists(options);\n return tableExistsResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async deleteDatabase(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.deleteDatabase(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async isJsonValid(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const isJsonValidResult = await this.jeepSqliteElement.isJsonValid(options);\n return isJsonValidResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async importFromJson(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const importFromJsonResult = await this.jeepSqliteElement.importFromJson(options);\n return importFromJsonResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async exportToJson(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const exportToJsonResult = await this.jeepSqliteElement.exportToJson(options);\n return exportToJsonResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async createSyncTable(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const createSyncTableResult = await this.jeepSqliteElement.createSyncTable(options);\n return createSyncTableResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async setSyncDate(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.setSyncDate(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getSyncDate(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const getSyncDateResult = await this.jeepSqliteElement.getSyncDate(options);\n return getSyncDateResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async deleteExportedRows(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.deleteExportedRows(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async addUpgradeStatement(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.addUpgradeStatement(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async copyFromAssets(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.copyFromAssets(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getFromHTTPRequest(options) {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n await this.jeepSqliteElement.getFromHTTPRequest(options);\n return;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n async getDatabaseList() {\n this.ensureJeepSqliteIsAvailable();\n this.ensureWebstoreIsOpen();\n try {\n const databaseListResult = await this.jeepSqliteElement.getDatabaseList();\n return databaseListResult;\n }\n catch (err) {\n throw new Error(`${err}`);\n }\n }\n /**\n * Checks if the `jeep-sqlite` element is present in the DOM.\n * If it's not in the DOM, this method throws an Error.\n *\n * Attention: This will always fail, if the `intWebStore()` method wasn't called before.\n */\n ensureJeepSqliteIsAvailable() {\n if (this.jeepSqliteElement === null) {\n throw new Error(`The jeep-sqlite element is not present in the DOM! Please check the @capacitor-community/sqlite documentation for instructions regarding the web platform.`);\n }\n }\n ensureWebstoreIsOpen() {\n if (!this.isWebStoreOpen) {\n /**\n * if (!this.isWebStoreOpen)\n this.isWebStoreOpen = await this.jeepSqliteElement.isStoreOpen();\n */\n throw new Error('WebStore is not open yet. You have to call \"initWebStore()\" first.');\n }\n }\n ////////////////////////////////////\n ////// UNIMPLEMENTED METHODS\n ////////////////////////////////////\n async getUrl() {\n throw this.unimplemented('Not implemented on web.');\n }\n async getMigratableDbList(options) {\n console.log('getMigratableDbList', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async addSQLiteSuffix(options) {\n console.log('addSQLiteSuffix', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async deleteOldDatabases(options) {\n console.log('deleteOldDatabases', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async moveDatabasesAndAddSuffix(options) {\n console.log('moveDatabasesAndAddSuffix', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isSecretStored() {\n throw this.unimplemented('Not implemented on web.');\n }\n async setEncryptionSecret(options) {\n console.log('setEncryptionSecret', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async changeEncryptionSecret(options) {\n console.log('changeEncryptionSecret', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async clearEncryptionSecret() {\n console.log('clearEncryptionSecret');\n throw this.unimplemented('Not implemented on web.');\n }\n async checkEncryptionSecret(options) {\n console.log('checkEncryptionPassPhrase', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async getNCDatabasePath(options) {\n console.log('getNCDatabasePath', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async createNCConnection(options) {\n console.log('createNCConnection', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async closeNCConnection(options) {\n console.log('closeNCConnection', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isNCDatabase(options) {\n console.log('isNCDatabase', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isDatabaseEncrypted(options) {\n console.log('isDatabaseEncrypted', options);\n throw this.unimplemented('Not implemented on web.');\n }\n async isInConfigEncryption() {\n throw this.unimplemented('Not implemented on web.');\n }\n async isInConfigBiometricAuth() {\n throw this.unimplemented('Not implemented on web.');\n }\n}\n//# sourceMappingURL=web.js.map"],"names":["registerPlugin","WebPlugin"],"mappings":"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"}
|
package/electron/dist/plugin.js
CHANGED
|
@@ -87,7 +87,6 @@ class UtilsFile {
|
|
|
87
87
|
this.isEncryption = this.capConfig.plugins.CapacitorSQLite.electronIsEncryption
|
|
88
88
|
? this.capConfig.plugins.CapacitorSQLite.electronIsEncryption
|
|
89
89
|
: false;
|
|
90
|
-
console.log(`$$$$$$ this.isEncryption: ${this.isEncryption} $$$$$$`);
|
|
91
90
|
this.osType = this.Os.type();
|
|
92
91
|
switch (this.osType) {
|
|
93
92
|
case 'Darwin':
|
|
@@ -118,7 +117,6 @@ class UtilsFile {
|
|
|
118
117
|
* @returns
|
|
119
118
|
*/
|
|
120
119
|
getIsEncryption() {
|
|
121
|
-
console.log(`>>>>>> getIsEncryption this.isEncryption: ${this.isEncryption} >>>>>>`);
|
|
122
120
|
return this.isEncryption;
|
|
123
121
|
}
|
|
124
122
|
/**
|
|
@@ -598,6 +596,22 @@ class UtilsFile {
|
|
|
598
596
|
fileStream.on('finish', resolve);
|
|
599
597
|
});
|
|
600
598
|
}
|
|
599
|
+
readFileAsPromise(path, options) {
|
|
600
|
+
return new Promise((resolve, reject) => {
|
|
601
|
+
const fileStream = this.NodeFs.createReadStream(path, options);
|
|
602
|
+
const chunks = [];
|
|
603
|
+
fileStream.on('data', (data) => {
|
|
604
|
+
chunks.push(data);
|
|
605
|
+
});
|
|
606
|
+
fileStream.on('close', () => {
|
|
607
|
+
resolve(chunks.toString());
|
|
608
|
+
});
|
|
609
|
+
fileStream.on('error', (err) => {
|
|
610
|
+
const msg = err.message ? err.message : err;
|
|
611
|
+
reject(msg);
|
|
612
|
+
});
|
|
613
|
+
});
|
|
614
|
+
}
|
|
601
615
|
/**
|
|
602
616
|
* CreateFolderIfNotExists
|
|
603
617
|
* Create directory
|
|
@@ -1532,13 +1546,13 @@ class UtilsSQLite {
|
|
|
1532
1546
|
throw new Error(`${msg} ${errmsg}`);
|
|
1533
1547
|
}
|
|
1534
1548
|
}
|
|
1535
|
-
isDatabaseEncrypted(dbName) {
|
|
1549
|
+
async isDatabaseEncrypted(dbName) {
|
|
1536
1550
|
const msg = "isDatabaseEncrypted";
|
|
1537
1551
|
try {
|
|
1538
1552
|
const isExists = this.fileUtil.isFileExists(dbName);
|
|
1539
1553
|
if (isExists) {
|
|
1540
|
-
const filePath = this.fileUtil.getFilePath(dbName
|
|
1541
|
-
return this.isDBEncrypted(filePath);
|
|
1554
|
+
const filePath = this.fileUtil.getFilePath(dbName);
|
|
1555
|
+
return await this.isDBEncrypted(filePath);
|
|
1542
1556
|
}
|
|
1543
1557
|
else {
|
|
1544
1558
|
throw new Error(`${msg}: Database ${dbName} does not exist`);
|
|
@@ -1549,12 +1563,13 @@ class UtilsSQLite {
|
|
|
1549
1563
|
throw new Error(`${msg} ${errmsg}`);
|
|
1550
1564
|
}
|
|
1551
1565
|
}
|
|
1552
|
-
isDBEncrypted(filePath) {
|
|
1566
|
+
async isDBEncrypted(filePath) {
|
|
1553
1567
|
try {
|
|
1554
|
-
const
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1568
|
+
const retStr = await this.fileUtil.readFileAsPromise(filePath, { start: 0, end: 12 });
|
|
1569
|
+
if (retStr === 'SQLite format')
|
|
1570
|
+
return false;
|
|
1571
|
+
else
|
|
1572
|
+
return true;
|
|
1558
1573
|
}
|
|
1559
1574
|
catch (error) {
|
|
1560
1575
|
return true;
|
|
@@ -3520,7 +3535,6 @@ class UtilsSecret {
|
|
|
3520
3535
|
setEncryptSecret(passphrase) {
|
|
3521
3536
|
try {
|
|
3522
3537
|
let oldpassphrase = this.getPassphrase();
|
|
3523
|
-
console.log(`>>>> setEncryptSecret oldpassphrase: ${oldpassphrase}`);
|
|
3524
3538
|
if (oldpassphrase.length > 0) {
|
|
3525
3539
|
throw new Error(`setEncryptSecret: passphrase already stored`);
|
|
3526
3540
|
}
|
|
@@ -3529,7 +3543,6 @@ class UtilsSecret {
|
|
|
3529
3543
|
if (oldpassphrase.length <= 0) {
|
|
3530
3544
|
throw new Error(`setEncryptSecret: globalUtil is null`);
|
|
3531
3545
|
}
|
|
3532
|
-
console.log(`>>>> setEncryptSecret oldpassphrase: ${oldpassphrase}, passphrase ${passphrase}`);
|
|
3533
3546
|
// check if some databases were encrypted with the initial secret 'sqlite secret'
|
|
3534
3547
|
this.changeDatabaseSecret(oldpassphrase, passphrase).then(() => {
|
|
3535
3548
|
this.storage.set('userData', { passphrase: passphrase }, function (error) {
|
|
@@ -3583,20 +3596,13 @@ class UtilsSecret {
|
|
|
3583
3596
|
}
|
|
3584
3597
|
async changeDatabaseSecret(oldpassphrase, newpassphrase) {
|
|
3585
3598
|
try {
|
|
3586
|
-
console.log(`>>> changeDatabaseSecret oldpassphrase: ${oldpassphrase}`);
|
|
3587
|
-
console.log(`>>> changeDatabaseSecret newpassphrase: ${newpassphrase}`);
|
|
3588
3599
|
// get the database folder
|
|
3589
3600
|
const pathDatabase = this.fileUtil.getDatabasesPath();
|
|
3590
|
-
console.log(`>>> changeDatabaseSecret pathDatabase: ${pathDatabase}`);
|
|
3591
3601
|
// get the list of databases
|
|
3592
3602
|
const files = await this.fileUtil.getFileList(pathDatabase);
|
|
3593
|
-
|
|
3594
|
-
files.forEach(dbName => {
|
|
3595
|
-
console.log(`>>> changeDatabaseSecret dbName: ${dbName}`);
|
|
3603
|
+
files.forEach(async (dbName) => {
|
|
3596
3604
|
const filePath = this.fileUtil.getFilePath(dbName);
|
|
3597
|
-
|
|
3598
|
-
const isEncrypt = this.sqliteUtil.isDBEncrypted(filePath);
|
|
3599
|
-
console.log(`>>> changeDatabaseSecret isEncrypt: ${isEncrypt}`);
|
|
3605
|
+
const isEncrypt = await this.sqliteUtil.isDBEncrypted(filePath);
|
|
3600
3606
|
if (isEncrypt) {
|
|
3601
3607
|
this.sqliteUtil.changePassword(filePath, oldpassphrase, newpassphrase);
|
|
3602
3608
|
}
|
|
@@ -3609,7 +3615,6 @@ class UtilsSecret {
|
|
|
3609
3615
|
}
|
|
3610
3616
|
getPassphrase() {
|
|
3611
3617
|
const data = this.storage.getSync('userData');
|
|
3612
|
-
console.log(`>>>>>> data: `, data);
|
|
3613
3618
|
const keys = Object.keys(data);
|
|
3614
3619
|
if (data == null || keys.length <= 0)
|
|
3615
3620
|
return "";
|
|
@@ -3623,7 +3628,6 @@ class UtilsSecret {
|
|
|
3623
3628
|
setPassphrase(passphrase) {
|
|
3624
3629
|
const data = this.storage.getSync('userData');
|
|
3625
3630
|
data.passphrase = passphrase;
|
|
3626
|
-
console.log(`>>>>>> set data: `, data);
|
|
3627
3631
|
this.storage.set('userData', data, function (error) {
|
|
3628
3632
|
if (error)
|
|
3629
3633
|
throw new Error(`setPassphrase: ${error.message}`);
|
|
@@ -3632,7 +3636,6 @@ class UtilsSecret {
|
|
|
3632
3636
|
removePassphrase() {
|
|
3633
3637
|
const data = this.storage.getSync('userData');
|
|
3634
3638
|
delete data.passphrase;
|
|
3635
|
-
console.log(`>>>>>> set data: `, data);
|
|
3636
3639
|
this.storage.set('userData', data, function (error) {
|
|
3637
3640
|
if (error)
|
|
3638
3641
|
throw new Error(`removePassphrase: ${error.message}`);
|
|
@@ -4283,12 +4286,10 @@ class CapacitorSQLite {
|
|
|
4283
4286
|
const readonly = options.readonly ? options.readonly : false;
|
|
4284
4287
|
const connName = readonly ? 'RO_' + dbName : 'RW_' + dbName;
|
|
4285
4288
|
const database = this.getDatabaseConnectionOrThrowError(connName);
|
|
4286
|
-
console.log(`@@@@@ connName: ${connName}`);
|
|
4287
4289
|
try {
|
|
4288
4290
|
if (database.isDBOpen()) {
|
|
4289
4291
|
// close the database
|
|
4290
4292
|
database.dbClose();
|
|
4291
|
-
console.log(`@@@@@ after database.dbClose()`);
|
|
4292
4293
|
}
|
|
4293
4294
|
}
|
|
4294
4295
|
catch (err) {
|
|
@@ -4393,7 +4394,6 @@ class CapacitorSQLite {
|
|
|
4393
4394
|
throw new Error(`Execute: ${msg}`);
|
|
4394
4395
|
}
|
|
4395
4396
|
try {
|
|
4396
|
-
console.log(`in index.ts statements`);
|
|
4397
4397
|
const executeResult = database.executeSQL(statements, transaction);
|
|
4398
4398
|
if (executeResult < 0) {
|
|
4399
4399
|
throw new Error('Execute changes < 0');
|
|
@@ -4897,7 +4897,6 @@ class CapacitorSQLite {
|
|
|
4897
4897
|
throw new Error(`setEncryptionSecret: passphrase already in store`);
|
|
4898
4898
|
}
|
|
4899
4899
|
await this.closeAllConnections();
|
|
4900
|
-
console.log(`setEncryptionSecret after closeAllConnections`);
|
|
4901
4900
|
this.secretUtil.setEncryptSecret(passphrase);
|
|
4902
4901
|
return;
|
|
4903
4902
|
}
|
|
@@ -4915,8 +4914,6 @@ class CapacitorSQLite {
|
|
|
4915
4914
|
if (oldpassphrase.length <= 0) {
|
|
4916
4915
|
throw new Error(`changeEncryptionSecret: You must give the oldpassphrase`);
|
|
4917
4916
|
}
|
|
4918
|
-
console.log(`##### oldsecret: ${oldsecret}`);
|
|
4919
|
-
console.log(`##### oldpassphrase: ${oldpassphrase}`);
|
|
4920
4917
|
if (oldpassphrase !== oldsecret) {
|
|
4921
4918
|
throw new Error(`changeEncryptionSecret: the given oldpassphrase is wrong`);
|
|
4922
4919
|
}
|
|
@@ -4956,7 +4953,7 @@ class CapacitorSQLite {
|
|
|
4956
4953
|
async isDatabaseEncrypted(options) {
|
|
4957
4954
|
const dbName = this.getOptionValue(options, 'database');
|
|
4958
4955
|
try {
|
|
4959
|
-
const isEncrypt = this.sqliteUtil.isDatabaseEncrypted(dbName + 'SQLite.db');
|
|
4956
|
+
const isEncrypt = await this.sqliteUtil.isDatabaseEncrypted(dbName + 'SQLite.db');
|
|
4960
4957
|
return { result: isEncrypt };
|
|
4961
4958
|
}
|
|
4962
4959
|
catch (err) {
|