@aws-amplify/datastore-storage-adapter 2.1.1-unstable.cfbde4c.0 → 2.1.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/{lib → dist/cjs}/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js +3 -2
- package/dist/cjs/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +1 -0
- package/{lib → dist/cjs}/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js +5 -4
- package/dist/cjs/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +1 -0
- package/{lib → dist/cjs}/SQLiteAdapter/SQLiteAdapter.js +3 -2
- package/dist/cjs/SQLiteAdapter/SQLiteAdapter.js.map +1 -0
- package/{lib → dist/cjs}/SQLiteAdapter/SQLiteDatabase.js +3 -2
- package/dist/cjs/SQLiteAdapter/SQLiteDatabase.js.map +1 -0
- package/{lib → dist/cjs}/common/CommonSQLiteAdapter.js +22 -20
- package/dist/cjs/common/CommonSQLiteAdapter.js.map +1 -0
- package/{lib → dist/cjs}/common/SQLiteUtils.js +15 -14
- package/dist/cjs/common/SQLiteUtils.js.map +1 -0
- package/{lib → dist/cjs}/common/constants.js +4 -2
- package/dist/cjs/common/constants.js.map +1 -0
- package/{lib → dist/cjs}/common/types.js +3 -2
- package/dist/cjs/common/types.js.map +1 -0
- package/{lib → dist/cjs}/index.js +4 -2
- package/dist/cjs/index.js.map +1 -0
- package/{lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js → dist/esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.mjs} +6 -4
- package/dist/esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.mjs.map +1 -0
- package/{lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js → dist/esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.mjs} +7 -5
- package/dist/esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.mjs.map +1 -0
- package/{lib-esm/SQLiteAdapter/SQLiteAdapter.js → dist/esm/SQLiteAdapter/SQLiteAdapter.mjs} +6 -4
- package/dist/esm/SQLiteAdapter/SQLiteAdapter.mjs.map +1 -0
- package/{lib-esm/SQLiteAdapter/SQLiteDatabase.js → dist/esm/SQLiteAdapter/SQLiteDatabase.mjs} +7 -5
- package/dist/esm/SQLiteAdapter/SQLiteDatabase.mjs.map +1 -0
- package/{lib-esm/common/CommonSQLiteAdapter.js → dist/esm/common/CommonSQLiteAdapter.mjs} +8 -5
- package/dist/esm/common/CommonSQLiteAdapter.mjs.map +1 -0
- package/{lib-esm → dist/esm}/common/SQLiteUtils.d.ts +16 -1
- package/{lib-esm/common/SQLiteUtils.js → dist/esm/common/SQLiteUtils.mjs} +20 -20
- package/dist/esm/common/SQLiteUtils.mjs.map +1 -0
- package/{lib-esm/common/constants.js → dist/esm/common/constants.mjs} +4 -2
- package/dist/esm/common/constants.mjs.map +1 -0
- package/{lib → dist/esm}/common/types.d.ts +2 -2
- package/dist/esm/common/types.mjs +2 -0
- package/dist/esm/common/types.mjs.map +1 -0
- package/dist/esm/index.mjs +2 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/umd/aws-amplify-datastore-sqlite-adapter-expo.js +991 -0
- package/dist/umd/aws-amplify-datastore-sqlite-adapter-expo.js.map +1 -0
- package/dist/umd/aws-amplify-datastore-sqlite-adapter-expo.min.js +2 -0
- package/dist/umd/aws-amplify-datastore-sqlite-adapter-expo.min.js.map +1 -0
- package/dist/umd/aws-amplify-datastore-storage-adapter.js +915 -0
- package/dist/umd/aws-amplify-datastore-storage-adapter.js.map +1 -0
- package/dist/umd/aws-amplify-datastore-storage-adapter.min.js +2 -0
- package/dist/umd/aws-amplify-datastore-storage-adapter.min.js.map +1 -0
- package/package.json +102 -103
- package/rollup.config.mjs +31 -0
- package/webpack.config.dev.js +2 -2
- package/dist/aws-amplify-datastore-sqlite-adapter-expo.js +0 -2680
- package/dist/aws-amplify-datastore-sqlite-adapter-expo.js.map +0 -1
- package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js +0 -3
- package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js.LICENSE.txt +0 -1
- package/dist/aws-amplify-datastore-sqlite-adapter-expo.min.js.map +0 -1
- package/dist/aws-amplify-datastore-storage-adapter.js +0 -2699
- package/dist/aws-amplify-datastore-storage-adapter.js.map +0 -1
- package/dist/aws-amplify-datastore-storage-adapter.min.js +0 -3
- package/dist/aws-amplify-datastore-storage-adapter.min.js.LICENSE.txt +0 -1
- package/dist/aws-amplify-datastore-storage-adapter.min.js.map +0 -1
- package/lib/.tsbuildinfo +0 -3
- package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +0 -3
- package/lib/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +0 -1
- package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +0 -17
- package/lib/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +0 -1
- package/lib/SQLiteAdapter/SQLiteAdapter.d.ts +0 -3
- package/lib/SQLiteAdapter/SQLiteAdapter.js.map +0 -1
- package/lib/SQLiteAdapter/SQLiteDatabase.d.ts +0 -17
- package/lib/SQLiteAdapter/SQLiteDatabase.js.map +0 -1
- package/lib/common/CommonSQLiteAdapter.d.ts +0 -23
- package/lib/common/CommonSQLiteAdapter.js.map +0 -1
- package/lib/common/SQLiteUtils.d.ts +0 -21
- package/lib/common/SQLiteUtils.js.map +0 -1
- package/lib/common/constants.d.ts +0 -1
- package/lib/common/constants.js.map +0 -1
- package/lib/common/types.js.map +0 -1
- package/lib/index.d.ts +0 -2
- package/lib/index.js.map +0 -1
- package/lib-esm/.tsbuildinfo +0 -3
- package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteAdapter.js.map +0 -1
- package/lib-esm/ExpoSQLiteAdapter/ExpoSQLiteDatabase.js.map +0 -1
- package/lib-esm/SQLiteAdapter/SQLiteAdapter.js.map +0 -1
- package/lib-esm/SQLiteAdapter/SQLiteDatabase.js.map +0 -1
- package/lib-esm/common/CommonSQLiteAdapter.js.map +0 -1
- package/lib-esm/common/SQLiteUtils.js.map +0 -1
- package/lib-esm/common/constants.js.map +0 -1
- package/lib-esm/common/types.d.ts +0 -16
- package/lib-esm/common/types.js +0 -1
- package/lib-esm/common/types.js.map +0 -1
- package/lib-esm/index.js +0 -5
- package/lib-esm/index.js.map +0 -1
- package/tsconfig.build.json +0 -5
- /package/{lib-esm → dist/esm}/ExpoSQLiteAdapter/ExpoSQLiteAdapter.d.ts +0 -0
- /package/{lib-esm → dist/esm}/ExpoSQLiteAdapter/ExpoSQLiteDatabase.d.ts +0 -0
- /package/{lib-esm → dist/esm}/SQLiteAdapter/SQLiteAdapter.d.ts +0 -0
- /package/{lib-esm → dist/esm}/SQLiteAdapter/SQLiteDatabase.d.ts +0 -0
- /package/{lib-esm → dist/esm}/common/CommonSQLiteAdapter.d.ts +0 -0
- /package/{lib-esm → dist/esm}/common/constants.d.ts +0 -0
- /package/{lib-esm → dist/esm}/index.d.ts +0 -0
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -7,4 +8,4 @@ const CommonSQLiteAdapter_1 = require("../common/CommonSQLiteAdapter");
|
|
|
7
8
|
const ExpoSQLiteDatabase_1 = tslib_1.__importDefault(require("./ExpoSQLiteDatabase"));
|
|
8
9
|
const ExpoSQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new ExpoSQLiteDatabase_1.default());
|
|
9
10
|
exports.default = ExpoSQLiteAdapter;
|
|
10
|
-
//# sourceMappingURL=ExpoSQLiteAdapter.js.map
|
|
11
|
+
//# sourceMappingURL=ExpoSQLiteAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpoSQLiteAdapter.js","sources":["../../../src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst CommonSQLiteAdapter_1 = require(\"../common/CommonSQLiteAdapter\");\nconst ExpoSQLiteDatabase_1 = tslib_1.__importDefault(require(\"./ExpoSQLiteDatabase\"));\nconst ExpoSQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new ExpoSQLiteDatabase_1.default());\nexports.default = ExpoSQLiteAdapter;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACjC;AACA;AACA,MAAM,qBAAqB,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AACvE,MAAM,oBAAoB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;AACtF,MAAM,iBAAiB,GAAG,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,oBAAoB,CAAC,OAAO,EAAE,CAAC,CAAC;AAC5G,OAAO,CAAC,OAAO,GAAG,iBAAiB;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
5
|
// SPDX-License-Identifier: Apache-2.0
|
|
@@ -22,7 +23,7 @@ class ExpoSQLiteDatabase {
|
|
|
22
23
|
// As per expo docs version, description and size arguments are ignored,
|
|
23
24
|
// but are accepted by the function for compatibility with the WebSQL specification.
|
|
24
25
|
// Hence, we do not need those arguments.
|
|
25
|
-
this.db = expo_sqlite_1.openDatabase(constants_1.DB_NAME);
|
|
26
|
+
this.db = (0, expo_sqlite_1.openDatabase)(constants_1.DB_NAME);
|
|
26
27
|
}
|
|
27
28
|
}
|
|
28
29
|
createSchema(statements) {
|
|
@@ -34,7 +35,7 @@ class ExpoSQLiteDatabase {
|
|
|
34
35
|
await this.closeDB();
|
|
35
36
|
// delete database is not supported by expo-sqlite.
|
|
36
37
|
// Database file needs to be deleted using deleteAsync from expo-file-system
|
|
37
|
-
await expo_file_system_1.deleteAsync(`${expo_file_system_1.documentDirectory}SQLite/${constants_1.DB_NAME}`);
|
|
38
|
+
await (0, expo_file_system_1.deleteAsync)(`${expo_file_system_1.documentDirectory}SQLite/${constants_1.DB_NAME}`);
|
|
38
39
|
logger.debug('Database cleared');
|
|
39
40
|
}
|
|
40
41
|
catch (error) {
|
|
@@ -193,4 +194,4 @@ class ExpoSQLiteDatabase {
|
|
|
193
194
|
}
|
|
194
195
|
}
|
|
195
196
|
exports.default = ExpoSQLiteDatabase;
|
|
196
|
-
//# sourceMappingURL=ExpoSQLiteDatabase.js.map
|
|
197
|
+
//# sourceMappingURL=ExpoSQLiteDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpoSQLiteDatabase.js","sources":["../../../src/ExpoSQLiteAdapter/ExpoSQLiteDatabase.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst core_1 = require(\"@aws-amplify/core\");\nconst expo_file_system_1 = require(\"expo-file-system\");\nconst expo_sqlite_1 = require(\"expo-sqlite\");\nconst constants_1 = require(\"../common/constants\");\nconst logger = new core_1.ConsoleLogger('ExpoSQLiteDatabase');\n/*\n\nNote:\nExpoSQLite transaction error callbacks require returning a boolean value to indicate whether the\nerror was handled or not. Returning a true value indicates the error was handled and does not\nrollback the whole transaction.\n\n*/\nclass ExpoSQLiteDatabase {\n async init() {\n // only open database once.\n if (!this.db) {\n // As per expo docs version, description and size arguments are ignored,\n // but are accepted by the function for compatibility with the WebSQL specification.\n // Hence, we do not need those arguments.\n this.db = (0, expo_sqlite_1.openDatabase)(constants_1.DB_NAME);\n }\n }\n createSchema(statements) {\n return this.executeStatements(statements);\n }\n async clear() {\n try {\n logger.debug('Clearing database');\n await this.closeDB();\n // delete database is not supported by expo-sqlite.\n // Database file needs to be deleted using deleteAsync from expo-file-system\n await (0, expo_file_system_1.deleteAsync)(`${expo_file_system_1.documentDirectory}SQLite/${constants_1.DB_NAME}`);\n logger.debug('Database cleared');\n }\n catch (error) {\n logger.warn('Error clearing the database.', error);\n // open database if it was closed earlier and this.db was set to undefined.\n this.init();\n }\n }\n async get(statement, params) {\n const results = await this.getAll(statement, params);\n return results[0];\n }\n getAll(statement, params) {\n return new Promise((resolve, reject) => {\n this.db.readTransaction(transaction => {\n transaction.executeSql(statement, params, (_, result) => {\n resolve(result.rows._array || []);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n });\n });\n }\n save(statement, params) {\n return new Promise((resolve, reject) => {\n this.db.transaction(transaction => {\n transaction.executeSql(statement, params, () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n });\n });\n }\n batchQuery(queryParameterizedStatements = new Set()) {\n return new Promise((resolveTransaction, rejectTransaction) => {\n this.db.transaction(async (transaction) => {\n try {\n const results = await Promise.all([...queryParameterizedStatements].map(([statement, params]) => new Promise((resolve, reject) => {\n transaction.executeSql(statement, params, (_, result) => {\n resolve(result.rows._array[0]);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n })));\n resolveTransaction(results);\n }\n catch (error) {\n rejectTransaction(error);\n logger.warn(error);\n }\n });\n });\n }\n batchSave(saveParameterizedStatements = new Set(), deleteParameterizedStatements) {\n return new Promise((resolveTransaction, rejectTransaction) => {\n this.db.transaction(async (transaction) => {\n try {\n // await for all sql statements promises to resolve\n await Promise.all([...saveParameterizedStatements].map(([statement, params]) => new Promise((resolve, reject) => {\n transaction.executeSql(statement, params, () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n })));\n if (deleteParameterizedStatements) {\n await Promise.all([...deleteParameterizedStatements].map(([statement, params]) => new Promise((resolve, reject) => transaction.executeSql(statement, params, () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n }))));\n }\n resolveTransaction(null);\n }\n catch (error) {\n rejectTransaction(error);\n logger.warn(error);\n }\n });\n });\n }\n selectAndDelete(queryParameterizedStatement, deleteParameterizedStatement) {\n const [queryStatement, queryParams] = queryParameterizedStatement;\n const [deleteStatement, deleteParams] = deleteParameterizedStatement;\n return new Promise((resolveTransaction, rejectTransaction) => {\n this.db.transaction(async (transaction) => {\n try {\n const result = await new Promise((resolve, reject) => {\n transaction.executeSql(queryStatement, queryParams, (_, result) => {\n resolve(result.rows._array || []);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n });\n await new Promise((resolve, reject) => {\n transaction.executeSql(deleteStatement, deleteParams, () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n logger.warn(error);\n return true;\n });\n });\n resolveTransaction(result);\n }\n catch (error) {\n rejectTransaction(error);\n logger.warn(error);\n }\n });\n });\n }\n executeStatements(statements) {\n return new Promise((resolveTransaction, rejectTransaction) => {\n this.db.transaction(async (transaction) => {\n try {\n await Promise.all(statements.map(statement => new Promise((resolve, reject) => {\n transaction.executeSql(statement, [], () => {\n resolve(null);\n }, (_, error) => {\n reject(error);\n return true;\n });\n })));\n resolveTransaction(null);\n }\n catch (error) {\n rejectTransaction(error);\n logger.warn(error);\n }\n });\n });\n }\n async closeDB() {\n if (this.db) {\n logger.debug('Closing Database');\n // closing database is not supported by expo-sqlite.\n // Workaround is to access the private db variable and call the close() method.\n await this.db._db.close();\n logger.debug('Database closed');\n this.db = undefined;\n }\n }\n}\nexports.default = ExpoSQLiteDatabase;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D;AACA;AACA,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAC5C,MAAM,kBAAkB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;AACvD,MAAM,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAC7C,MAAM,WAAW,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;AACnD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM,kBAAkB,CAAC;AACzB,IAAI,MAAM,IAAI,GAAG;AACjB;AACA,QAAQ,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;AACtB;AACA;AACA;AACA,YAAY,IAAI,CAAC,EAAE,GAAG,IAAI,aAAa,CAAC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;AAC3E,SAAS;AACT,KAAK;AACL,IAAI,YAAY,CAAC,UAAU,EAAE;AAC7B,QAAQ,OAAO,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAClD,KAAK;AACL,IAAI,MAAM,KAAK,GAAG;AAClB,QAAQ,IAAI;AACZ,YAAY,MAAM,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;AAC9C,YAAY,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;AACjC;AACA;AACA,YAAY,MAAM,CAAC,CAAC,EAAE,kBAAkB,CAAC,WAAW,EAAE,CAAC,EAAE,kBAAkB,CAAC,iBAAiB,CAAC,OAAO,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9H,YAAY,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC7C,SAAS;AACT,QAAQ,OAAO,KAAK,EAAE;AACtB,YAAY,MAAM,CAAC,IAAI,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;AAC/D;AACA,YAAY,IAAI,CAAC,IAAI,EAAE,CAAC;AACxB,SAAS;AACT,KAAK;AACL,IAAI,MAAM,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE;AACjC,QAAQ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;AAC7D,QAAQ,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;AAC1B,KAAK;AACL,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE;AAC9B,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,WAAW,IAAI;AACnD,gBAAgB,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;AACzE,oBAAoB,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AACtD,iBAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AACjC,oBAAoB,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,OAAO,IAAI,CAAC;AAChC,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE;AAC5B,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAChD,YAAY,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,WAAW,IAAI;AAC/C,gBAAgB,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM;AAChE,oBAAoB,OAAO,CAAC,IAAI,CAAC,CAAC;AAClC,iBAAiB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AACjC,oBAAoB,MAAM,CAAC,KAAK,CAAC,CAAC;AAClC,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,oBAAoB,OAAO,IAAI,CAAC;AAChC,iBAAiB,CAAC,CAAC;AACnB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,UAAU,CAAC,4BAA4B,GAAG,IAAI,GAAG,EAAE,EAAE;AACzD,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,KAAK;AACtE,YAAY,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,WAAW,KAAK;AACvD,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AACtJ,wBAAwB,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;AACjF,4BAA4B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAC3D,yBAAyB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AACzC,4BAA4B,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1C,4BAA4B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,4BAA4B,OAAO,IAAI,CAAC;AACxC,yBAAyB,CAAC,CAAC;AAC3B,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACzB,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,CAAC;AAChD,iBAAiB;AACjB,gBAAgB,OAAO,KAAK,EAAE;AAC9B,oBAAoB,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,SAAS,CAAC,2BAA2B,GAAG,IAAI,GAAG,EAAE,EAAE,6BAA6B,EAAE;AACtF,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,KAAK;AACtE,YAAY,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,WAAW,KAAK;AACvD,gBAAgB,IAAI;AACpB;AACA,oBAAoB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,2BAA2B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AACrI,wBAAwB,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM;AACxE,4BAA4B,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1C,yBAAyB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AACzC,4BAA4B,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1C,4BAA4B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,4BAA4B,OAAO,IAAI,CAAC;AACxC,yBAAyB,CAAC,CAAC;AAC3B,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACzB,oBAAoB,IAAI,6BAA6B,EAAE;AACvD,wBAAwB,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,6BAA6B,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM;AAC3L,4BAA4B,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1C,yBAAyB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AACzC,4BAA4B,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1C,4BAA4B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,4BAA4B,OAAO,IAAI,CAAC;AACxC,yBAAyB,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9B,qBAAqB;AACrB,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC7C,iBAAiB;AACjB,gBAAgB,OAAO,KAAK,EAAE;AAC9B,oBAAoB,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,eAAe,CAAC,2BAA2B,EAAE,4BAA4B,EAAE;AAC/E,QAAQ,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,GAAG,2BAA2B,CAAC;AAC1E,QAAQ,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,4BAA4B,CAAC;AAC7E,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,KAAK;AACtE,YAAY,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,WAAW,KAAK;AACvD,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,MAAM,GAAG,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC1E,wBAAwB,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK;AAC3F,4BAA4B,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;AAC9D,yBAAyB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AACzC,4BAA4B,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1C,4BAA4B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,4BAA4B,OAAO,IAAI,CAAC;AACxC,yBAAyB,CAAC,CAAC;AAC3B,qBAAqB,CAAC,CAAC;AACvB,oBAAoB,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AAC3D,wBAAwB,WAAW,CAAC,UAAU,CAAC,eAAe,EAAE,YAAY,EAAE,MAAM;AACpF,4BAA4B,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1C,yBAAyB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AACzC,4BAA4B,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1C,4BAA4B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,4BAA4B,OAAO,IAAI,CAAC;AACxC,yBAAyB,CAAC,CAAC;AAC3B,qBAAqB,CAAC,CAAC;AACvB,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC/C,iBAAiB;AACjB,gBAAgB,OAAO,KAAK,EAAE;AAC9B,oBAAoB,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,iBAAiB,CAAC,UAAU,EAAE;AAClC,QAAQ,OAAO,IAAI,OAAO,CAAC,CAAC,kBAAkB,EAAE,iBAAiB,KAAK;AACtE,YAAY,IAAI,CAAC,EAAE,CAAC,WAAW,CAAC,OAAO,WAAW,KAAK;AACvD,gBAAgB,IAAI;AACpB,oBAAoB,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,IAAI,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK;AACnG,wBAAwB,WAAW,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM;AACpE,4BAA4B,OAAO,CAAC,IAAI,CAAC,CAAC;AAC1C,yBAAyB,EAAE,CAAC,CAAC,EAAE,KAAK,KAAK;AACzC,4BAA4B,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1C,4BAA4B,OAAO,IAAI,CAAC;AACxC,yBAAyB,CAAC,CAAC;AAC3B,qBAAqB,CAAC,CAAC,CAAC,CAAC;AACzB,oBAAoB,kBAAkB,CAAC,IAAI,CAAC,CAAC;AAC7C,iBAAiB;AACjB,gBAAgB,OAAO,KAAK,EAAE;AAC9B,oBAAoB,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC7C,oBAAoB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACvC,iBAAiB;AACjB,aAAa,CAAC,CAAC;AACf,SAAS,CAAC,CAAC;AACX,KAAK;AACL,IAAI,MAAM,OAAO,GAAG;AACpB,QAAQ,IAAI,IAAI,CAAC,EAAE,EAAE;AACrB,YAAY,MAAM,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;AAC7C;AACA;AACA,YAAY,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;AACtC,YAAY,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC5C,YAAY,IAAI,CAAC,EAAE,GAAG,SAAS,CAAC;AAChC,SAAS;AACT,KAAK;AACL,CAAC;AACD,OAAO,CAAC,OAAO,GAAG,kBAAkB;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -7,4 +8,4 @@ const CommonSQLiteAdapter_1 = require("../common/CommonSQLiteAdapter");
|
|
|
7
8
|
const SQLiteDatabase_1 = tslib_1.__importDefault(require("./SQLiteDatabase"));
|
|
8
9
|
const SQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new SQLiteDatabase_1.default());
|
|
9
10
|
exports.default = SQLiteAdapter;
|
|
10
|
-
//# sourceMappingURL=SQLiteAdapter.js.map
|
|
11
|
+
//# sourceMappingURL=SQLiteAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLiteAdapter.js","sources":["../../../src/SQLiteAdapter/SQLiteAdapter.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst CommonSQLiteAdapter_1 = require(\"../common/CommonSQLiteAdapter\");\nconst SQLiteDatabase_1 = tslib_1.__importDefault(require(\"./SQLiteDatabase\"));\nconst SQLiteAdapter = new CommonSQLiteAdapter_1.CommonSQLiteAdapter(new SQLiteDatabase_1.default());\nexports.default = SQLiteAdapter;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACjC;AACA;AACA,MAAM,qBAAqB,GAAG,OAAO,CAAC,+BAA+B,CAAC,CAAC;AACvE,MAAM,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC9E,MAAM,aAAa,GAAG,IAAI,qBAAqB,CAAC,mBAAmB,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;AACpG,OAAO,CAAC,OAAO,GAAG,aAAa;;"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
4
|
const tslib_1 = require("tslib");
|
|
4
5
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
@@ -112,4 +113,4 @@ class SQLiteDatabase {
|
|
|
112
113
|
}
|
|
113
114
|
}
|
|
114
115
|
exports.default = SQLiteDatabase;
|
|
115
|
-
//# sourceMappingURL=SQLiteDatabase.js.map
|
|
116
|
+
//# sourceMappingURL=SQLiteDatabase.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLiteDatabase.js","sources":["../../../src/SQLiteAdapter/SQLiteDatabase.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst tslib_1 = require(\"tslib\");\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst react_native_sqlite_storage_1 = tslib_1.__importDefault(require(\"react-native-sqlite-storage\"));\nconst core_1 = require(\"@aws-amplify/core\");\nconst constants_1 = require(\"../common/constants\");\nconst logger = new core_1.ConsoleLogger('SQLiteDatabase');\nreact_native_sqlite_storage_1.default.enablePromise(true);\nif (core_1.ConsoleLogger.LOG_LEVEL === 'DEBUG') {\n react_native_sqlite_storage_1.default.DEBUG(true);\n}\n/*\n\nNote:\nI purposely avoided using arrow functions () => {} in this class,\nBecause I ran into issues with them in some of the SQLite method callbacks\n\nAlso, even though the SQLite library is promisified, certain operations\nonly work correctly with callbacks. Specifically, any time you need to\nget the result of an `executeSql` command inside of a transaction\n(see the batchQuery method below)\n\n*/\nclass SQLiteDatabase {\n async init() {\n // only open database once.\n if (!this.db) {\n this.db = await react_native_sqlite_storage_1.default.openDatabase({\n name: constants_1.DB_NAME,\n location: 'default',\n });\n }\n }\n async createSchema(statements) {\n return await this.executeStatements(statements);\n }\n async clear() {\n await this.closeDB();\n logger.debug('Deleting database');\n await react_native_sqlite_storage_1.default.deleteDatabase({ name: constants_1.DB_NAME, location: 'default' });\n logger.debug('Database deleted');\n }\n async get(statement, params) {\n const results = await this.getAll(statement, params);\n return results[0];\n }\n async getAll(statement, params) {\n const [resultSet] = await this.db.executeSql(statement, params);\n const result = resultSet &&\n resultSet.rows &&\n resultSet.rows.length &&\n resultSet.rows.raw &&\n resultSet.rows.raw();\n return result || [];\n }\n async save(statement, params) {\n await this.db.executeSql(statement, params);\n }\n async batchQuery(queryParameterizedStatements) {\n const results = [];\n await this.db.readTransaction(tx => {\n for (const [statement, params] of queryParameterizedStatements) {\n tx.executeSql(statement, params, (_, res) => {\n results.push(res.rows.raw()[0]);\n }, logger.warn);\n }\n });\n return results;\n }\n async batchSave(saveParameterizedStatements, deleteParameterizedStatements) {\n await this.db.transaction(tx => {\n for (const [statement, params] of saveParameterizedStatements) {\n tx.executeSql(statement, params);\n }\n });\n if (deleteParameterizedStatements) {\n await this.db.transaction(tx => {\n for (const [statement, params] of deleteParameterizedStatements) {\n tx.executeSql(statement, params);\n }\n });\n }\n }\n async selectAndDelete(queryParameterizedStatement, deleteParameterizedStatement) {\n let results = [];\n const [queryStatement, queryParams] = queryParameterizedStatement;\n const [deleteStatement, deleteParams] = deleteParameterizedStatement;\n await this.db.transaction(tx => {\n tx.executeSql(queryStatement, queryParams, (_, res) => {\n results = res.rows.raw();\n }, logger.warn);\n tx.executeSql(deleteStatement, deleteParams, () => { }, logger.warn);\n });\n return results;\n }\n async executeStatements(statements) {\n await this.db.transaction(tx => {\n for (const statement of statements) {\n tx.executeSql(statement);\n }\n });\n }\n async closeDB() {\n if (this.db) {\n logger.debug('Closing Database');\n await this.db.close();\n logger.debug('Database closed');\n this.db = undefined;\n }\n }\n}\nexports.default = SQLiteDatabase;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.CommonSQLiteAdapter = void 0;
|
|
3
5
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
6
|
// SPDX-License-Identifier: Apache-2.0
|
|
5
7
|
const core_1 = require("@aws-amplify/core");
|
|
@@ -32,7 +34,7 @@ class CommonSQLiteAdapter {
|
|
|
32
34
|
logger.error('The SQLite adapter does not support schemas using custom primary key. Set `graphQLTransformer.respectPrimaryKeyAttributesOnConnectionField in `amplify/cli.json` to false to disable custom primary key. To regenerate your API, add or remove an empty newline to your GraphQL schema (to change the computed hash) then run `amplify push`.');
|
|
33
35
|
}
|
|
34
36
|
await this.db.init();
|
|
35
|
-
const statements = SQLiteUtils_1.generateSchemaStatements(this.schema);
|
|
37
|
+
const statements = (0, SQLiteUtils_1.generateSchemaStatements)(this.schema);
|
|
36
38
|
await this.db.createSchema(statements);
|
|
37
39
|
this.resolve();
|
|
38
40
|
}
|
|
@@ -52,7 +54,7 @@ class CommonSQLiteAdapter {
|
|
|
52
54
|
const connectionStoreNames = Object.values(connectedModels).map(({ modelName, item, instance }) => {
|
|
53
55
|
return { modelName, item, instance };
|
|
54
56
|
});
|
|
55
|
-
const [queryStatement, params] = SQLiteUtils_1.queryByIdStatement(model.id, tableName);
|
|
57
|
+
const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(model.id, tableName);
|
|
56
58
|
const fromDB = await this.db.get(queryStatement, params);
|
|
57
59
|
if (condition && fromDB) {
|
|
58
60
|
const predicates = datastore_1.ModelPredicateCreator.getPredicates(condition);
|
|
@@ -69,12 +71,12 @@ class CommonSQLiteAdapter {
|
|
|
69
71
|
for await (const resItem of connectionStoreNames) {
|
|
70
72
|
const { modelName, item, instance } = resItem;
|
|
71
73
|
const { id } = item;
|
|
72
|
-
const [queryStatement, params] = SQLiteUtils_1.queryByIdStatement(id, modelName);
|
|
74
|
+
const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(id, modelName);
|
|
73
75
|
const fromDB = await this.db.get(queryStatement, params);
|
|
74
76
|
const opType = fromDB === undefined ? datastore_1.OpType.INSERT : datastore_1.OpType.UPDATE;
|
|
75
77
|
const saveStatement = fromDB
|
|
76
|
-
? SQLiteUtils_1.modelUpdateStatement(instance, modelName)
|
|
77
|
-
: SQLiteUtils_1.modelInsertStatement(instance, modelName);
|
|
78
|
+
? (0, SQLiteUtils_1.modelUpdateStatement)(instance, modelName)
|
|
79
|
+
: (0, SQLiteUtils_1.modelInsertStatement)(instance, modelName);
|
|
78
80
|
if (id === model.id || opType === datastore_1.OpType.INSERT) {
|
|
79
81
|
saveStatements.add(saveStatement);
|
|
80
82
|
result.push([instance, opType]);
|
|
@@ -118,25 +120,25 @@ class CommonSQLiteAdapter {
|
|
|
118
120
|
const record = await this.getById(tableName, queryById);
|
|
119
121
|
return record ? [record] : [];
|
|
120
122
|
}
|
|
121
|
-
const [queryStatement, params] = SQLiteUtils_1.queryAllStatement(tableName, predicates, sortPredicates, limit, page);
|
|
123
|
+
const [queryStatement, params] = (0, SQLiteUtils_1.queryAllStatement)(tableName, predicates, sortPredicates, limit, page);
|
|
122
124
|
return await this.db.getAll(queryStatement, params);
|
|
123
125
|
})();
|
|
124
126
|
return await this.load(namespaceName, modelConstructor.name, records);
|
|
125
127
|
}
|
|
126
128
|
async getById(tableName, id) {
|
|
127
|
-
const [queryStatement, params] = SQLiteUtils_1.queryByIdStatement(id, tableName);
|
|
129
|
+
const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(id, tableName);
|
|
128
130
|
const record = await this.db.get(queryStatement, params);
|
|
129
131
|
return record;
|
|
130
132
|
}
|
|
131
133
|
idFromPredicate(predicates) {
|
|
132
134
|
const { predicates: predicateObjs } = predicates;
|
|
133
135
|
const idPredicate = predicateObjs.length === 1 &&
|
|
134
|
-
predicateObjs.find(p => datastore_1.isPredicateObj(p) && p.field === 'id' && p.operator === 'eq');
|
|
136
|
+
predicateObjs.find(p => (0, datastore_1.isPredicateObj)(p) && p.field === 'id' && p.operator === 'eq');
|
|
135
137
|
return idPredicate && idPredicate.operand;
|
|
136
138
|
}
|
|
137
139
|
async queryOne(modelConstructor, firstOrLast = datastore_1.QueryOne.FIRST) {
|
|
138
140
|
const { name: tableName } = modelConstructor;
|
|
139
|
-
const [queryStatement, params] = SQLiteUtils_1.queryOneStatement(firstOrLast, tableName);
|
|
141
|
+
const [queryStatement, params] = (0, SQLiteUtils_1.queryOneStatement)(firstOrLast, tableName);
|
|
140
142
|
const result = await this.db.get(queryStatement, params);
|
|
141
143
|
const modelInstance = result && this.modelInstanceCreator(modelConstructor, result);
|
|
142
144
|
return modelInstance;
|
|
@@ -150,8 +152,8 @@ class CommonSQLiteAdapter {
|
|
|
150
152
|
const namespaceName = this.namespaceResolver(modelConstructor);
|
|
151
153
|
const { name: tableName } = modelConstructor;
|
|
152
154
|
const predicates = condition && datastore_1.ModelPredicateCreator.getPredicates(condition);
|
|
153
|
-
const queryStatement = SQLiteUtils_1.queryAllStatement(tableName, predicates);
|
|
154
|
-
const deleteStatement = SQLiteUtils_1.deleteByPredicateStatement(tableName, predicates);
|
|
155
|
+
const queryStatement = (0, SQLiteUtils_1.queryAllStatement)(tableName, predicates);
|
|
156
|
+
const deleteStatement = (0, SQLiteUtils_1.deleteByPredicateStatement)(tableName, predicates);
|
|
155
157
|
const models = await this.db.selectAndDelete(queryStatement, deleteStatement);
|
|
156
158
|
const modelInstances = await this.load(namespaceName, modelConstructor.name, models);
|
|
157
159
|
return [modelInstances, modelInstances];
|
|
@@ -162,7 +164,7 @@ class CommonSQLiteAdapter {
|
|
|
162
164
|
.constructor;
|
|
163
165
|
const { name: tableName } = modelConstructor;
|
|
164
166
|
if (condition) {
|
|
165
|
-
const [queryStatement, params] = SQLiteUtils_1.queryByIdStatement(model.id, tableName);
|
|
167
|
+
const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(model.id, tableName);
|
|
166
168
|
const fromDB = await this.db.get(queryStatement, params);
|
|
167
169
|
if (fromDB === undefined) {
|
|
168
170
|
const msg = 'Model instance not found in storage';
|
|
@@ -177,12 +179,12 @@ class CommonSQLiteAdapter {
|
|
|
177
179
|
logger.error(msg, { model: fromDB, condition: predicateObjs });
|
|
178
180
|
throw new Error(msg);
|
|
179
181
|
}
|
|
180
|
-
const [deleteStatement, deleteParams] = SQLiteUtils_1.deleteByIdStatement(model.id, tableName);
|
|
182
|
+
const [deleteStatement, deleteParams] = (0, SQLiteUtils_1.deleteByIdStatement)(model.id, tableName);
|
|
181
183
|
await this.db.save(deleteStatement, deleteParams);
|
|
182
184
|
return [[model], [model]];
|
|
183
185
|
}
|
|
184
186
|
else {
|
|
185
|
-
const [deleteStatement, params] = SQLiteUtils_1.deleteByIdStatement(model.id, tableName);
|
|
187
|
+
const [deleteStatement, params] = (0, SQLiteUtils_1.deleteByIdStatement)(model.id, tableName);
|
|
186
188
|
await this.db.save(deleteStatement, params);
|
|
187
189
|
return [[model], [model]];
|
|
188
190
|
}
|
|
@@ -205,13 +207,13 @@ class CommonSQLiteAdapter {
|
|
|
205
207
|
const { instance } = connectedModels.find(({ instance }) => instance.id === id);
|
|
206
208
|
if (_deleted) {
|
|
207
209
|
// create the delete statements right away
|
|
208
|
-
const deleteStatement = SQLiteUtils_1.deleteByIdStatement(instance.id, tableName);
|
|
210
|
+
const deleteStatement = (0, SQLiteUtils_1.deleteByIdStatement)(instance.id, tableName);
|
|
209
211
|
deleteStatements.add(deleteStatement);
|
|
210
212
|
result.push([item, datastore_1.OpType.DELETE]);
|
|
211
213
|
}
|
|
212
214
|
else {
|
|
213
215
|
// query statements for the saves at first
|
|
214
|
-
const queryStatement = SQLiteUtils_1.queryByIdStatement(id, tableName);
|
|
216
|
+
const queryStatement = (0, SQLiteUtils_1.queryByIdStatement)(id, tableName);
|
|
215
217
|
queryStatements.add(queryStatement);
|
|
216
218
|
// combination of insert and update items
|
|
217
219
|
itemsToSave.push(instance);
|
|
@@ -221,12 +223,12 @@ class CommonSQLiteAdapter {
|
|
|
221
223
|
const queryResponses = await this.db.batchQuery(queryStatements);
|
|
222
224
|
queryResponses.forEach((response, idx) => {
|
|
223
225
|
if (response === undefined) {
|
|
224
|
-
const insertStatement = SQLiteUtils_1.modelInsertStatement(itemsToSave[idx], tableName);
|
|
226
|
+
const insertStatement = (0, SQLiteUtils_1.modelInsertStatement)(itemsToSave[idx], tableName);
|
|
225
227
|
saveStatements.add(insertStatement);
|
|
226
228
|
result.push([itemsToSave[idx], datastore_1.OpType.INSERT]);
|
|
227
229
|
}
|
|
228
230
|
else {
|
|
229
|
-
const updateStatement = SQLiteUtils_1.modelUpdateStatement(itemsToSave[idx], tableName);
|
|
231
|
+
const updateStatement = (0, SQLiteUtils_1.modelUpdateStatement)(itemsToSave[idx], tableName);
|
|
230
232
|
saveStatements.add(updateStatement);
|
|
231
233
|
result.push([itemsToSave[idx], datastore_1.OpType.UPDATE]);
|
|
232
234
|
}
|
|
@@ -237,4 +239,4 @@ class CommonSQLiteAdapter {
|
|
|
237
239
|
}
|
|
238
240
|
}
|
|
239
241
|
exports.CommonSQLiteAdapter = CommonSQLiteAdapter;
|
|
240
|
-
//# sourceMappingURL=CommonSQLiteAdapter.js.map
|
|
242
|
+
//# sourceMappingURL=CommonSQLiteAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommonSQLiteAdapter.js","sources":["../../../src/common/CommonSQLiteAdapter.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.CommonSQLiteAdapter = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst core_1 = require(\"@aws-amplify/core\");\nconst SQLiteUtils_1 = require(\"../common/SQLiteUtils\");\nconst datastore_1 = require(\"@aws-amplify/datastore\");\nconst { traverseModel, validatePredicate, isModelConstructor } = datastore_1.utils;\nconst logger = new core_1.ConsoleLogger('DataStore');\nclass CommonSQLiteAdapter {\n constructor(db) {\n this.db = db;\n }\n async setUp(theSchema, namespaceResolver, modelInstanceCreator, getModelConstructorByModelName) {\n if (!this.initPromise) {\n this.initPromise = new Promise((res, rej) => {\n this.resolve = res;\n this.reject = rej;\n });\n }\n else {\n await this.initPromise;\n return;\n }\n this.schema = theSchema;\n this.namespaceResolver = namespaceResolver;\n this.modelInstanceCreator = modelInstanceCreator;\n this.getModelConstructorByModelName = getModelConstructorByModelName;\n try {\n const usesCPKCodegen = Object.values(this.schema.namespaces.user.models).some(model => Object.values(model.fields).some(field => field.association?.hasOwnProperty('targetNames')));\n if (usesCPKCodegen) {\n logger.error('The SQLite adapter does not support schemas using custom primary key. Set `graphQLTransformer.respectPrimaryKeyAttributesOnConnectionField in `amplify/cli.json` to false to disable custom primary key. To regenerate your API, add or remove an empty newline to your GraphQL schema (to change the computed hash) then run `amplify push`.');\n }\n await this.db.init();\n const statements = (0, SQLiteUtils_1.generateSchemaStatements)(this.schema);\n await this.db.createSchema(statements);\n this.resolve();\n }\n catch (error) {\n this.reject(error);\n }\n }\n async clear() {\n await this.db.clear();\n this.initPromise = undefined;\n }\n async save(model, condition) {\n const modelConstructor = Object.getPrototypeOf(model)\n .constructor;\n const { name: tableName } = modelConstructor;\n const connectedModels = traverseModel(modelConstructor.name, model, this.schema.namespaces[this.namespaceResolver(modelConstructor)], this.modelInstanceCreator, this.getModelConstructorByModelName);\n const connectionStoreNames = Object.values(connectedModels).map(({ modelName, item, instance }) => {\n return { modelName, item, instance };\n });\n const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(model.id, tableName);\n const fromDB = await this.db.get(queryStatement, params);\n if (condition && fromDB) {\n const predicates = datastore_1.ModelPredicateCreator.getPredicates(condition);\n const { predicates: predicateObjs, type } = predicates;\n const isValid = validatePredicate(fromDB, type, predicateObjs);\n if (!isValid) {\n const msg = 'Conditional update failed';\n logger.error(msg, { model: fromDB, condition: predicateObjs });\n throw new Error(msg);\n }\n }\n const result = [];\n const saveStatements = new Set();\n for await (const resItem of connectionStoreNames) {\n const { modelName, item, instance } = resItem;\n const { id } = item;\n const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(id, modelName);\n const fromDB = await this.db.get(queryStatement, params);\n const opType = fromDB === undefined ? datastore_1.OpType.INSERT : datastore_1.OpType.UPDATE;\n const saveStatement = fromDB\n ? (0, SQLiteUtils_1.modelUpdateStatement)(instance, modelName)\n : (0, SQLiteUtils_1.modelInsertStatement)(instance, modelName);\n if (id === model.id || opType === datastore_1.OpType.INSERT) {\n saveStatements.add(saveStatement);\n result.push([instance, opType]);\n }\n }\n await this.db.batchSave(saveStatements);\n return result;\n }\n async load(namespaceName, srcModelName, records) {\n const namespace = this.schema.namespaces[namespaceName];\n const relations = namespace.relationships[srcModelName].relationTypes;\n const connectionTableNames = relations.map(({ modelName }) => modelName);\n const modelConstructor = this.getModelConstructorByModelName(namespaceName, srcModelName);\n if (connectionTableNames.length === 0) {\n return records.map(record => this.modelInstanceCreator(modelConstructor, record));\n }\n // Remove related-model fields. They're all `null` in the database,\n // and any that happen to be required will result in a false validation\n // error when DataStore attempts to initialize with `null`.\n // These fields aren't actually needed here. DataStore will use the FK's\n // from the schema model.\n return records.map(record => {\n for (const r of relations) {\n delete record[r.fieldName];\n }\n return this.modelInstanceCreator(modelConstructor, record);\n });\n }\n async query(modelConstructor, predicate, pagination) {\n const { name: tableName } = modelConstructor;\n const namespaceName = this.namespaceResolver(modelConstructor);\n const predicates = predicate && datastore_1.ModelPredicateCreator.getPredicates(predicate);\n const sortPredicates = pagination &&\n pagination.sort &&\n datastore_1.ModelSortPredicateCreator.getPredicates(pagination.sort);\n const limit = pagination && pagination.limit;\n const page = limit && pagination.page;\n const queryById = predicates && this.idFromPredicate(predicates);\n const records = await (async () => {\n if (queryById) {\n const record = await this.getById(tableName, queryById);\n return record ? [record] : [];\n }\n const [queryStatement, params] = (0, SQLiteUtils_1.queryAllStatement)(tableName, predicates, sortPredicates, limit, page);\n return await this.db.getAll(queryStatement, params);\n })();\n return await this.load(namespaceName, modelConstructor.name, records);\n }\n async getById(tableName, id) {\n const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(id, tableName);\n const record = await this.db.get(queryStatement, params);\n return record;\n }\n idFromPredicate(predicates) {\n const { predicates: predicateObjs } = predicates;\n const idPredicate = predicateObjs.length === 1 &&\n predicateObjs.find(p => (0, datastore_1.isPredicateObj)(p) && p.field === 'id' && p.operator === 'eq');\n return idPredicate && idPredicate.operand;\n }\n async queryOne(modelConstructor, firstOrLast = datastore_1.QueryOne.FIRST) {\n const { name: tableName } = modelConstructor;\n const [queryStatement, params] = (0, SQLiteUtils_1.queryOneStatement)(firstOrLast, tableName);\n const result = await this.db.get(queryStatement, params);\n const modelInstance = result && this.modelInstanceCreator(modelConstructor, result);\n return modelInstance;\n }\n // Currently does not cascade\n // TODO: use FKs in relations and have `ON DELETE CASCADE` set\n // For Has Many and Has One relations to have SQL handle cascades automatically\n async delete(modelOrModelConstructor, condition) {\n if (isModelConstructor(modelOrModelConstructor)) {\n const modelConstructor = modelOrModelConstructor;\n const namespaceName = this.namespaceResolver(modelConstructor);\n const { name: tableName } = modelConstructor;\n const predicates = condition && datastore_1.ModelPredicateCreator.getPredicates(condition);\n const queryStatement = (0, SQLiteUtils_1.queryAllStatement)(tableName, predicates);\n const deleteStatement = (0, SQLiteUtils_1.deleteByPredicateStatement)(tableName, predicates);\n const models = await this.db.selectAndDelete(queryStatement, deleteStatement);\n const modelInstances = await this.load(namespaceName, modelConstructor.name, models);\n return [modelInstances, modelInstances];\n }\n else {\n const model = modelOrModelConstructor;\n const modelConstructor = Object.getPrototypeOf(model)\n .constructor;\n const { name: tableName } = modelConstructor;\n if (condition) {\n const [queryStatement, params] = (0, SQLiteUtils_1.queryByIdStatement)(model.id, tableName);\n const fromDB = await this.db.get(queryStatement, params);\n if (fromDB === undefined) {\n const msg = 'Model instance not found in storage';\n logger.warn(msg, { model });\n return [[model], []];\n }\n const predicates = datastore_1.ModelPredicateCreator.getPredicates(condition);\n const { predicates: predicateObjs, type } = predicates;\n const isValid = validatePredicate(fromDB, type, predicateObjs);\n if (!isValid) {\n const msg = 'Conditional update failed';\n logger.error(msg, { model: fromDB, condition: predicateObjs });\n throw new Error(msg);\n }\n const [deleteStatement, deleteParams] = (0, SQLiteUtils_1.deleteByIdStatement)(model.id, tableName);\n await this.db.save(deleteStatement, deleteParams);\n return [[model], [model]];\n }\n else {\n const [deleteStatement, params] = (0, SQLiteUtils_1.deleteByIdStatement)(model.id, tableName);\n await this.db.save(deleteStatement, params);\n return [[model], [model]];\n }\n }\n }\n async batchSave(modelConstructor, items) {\n const { name: tableName } = modelConstructor;\n const result = [];\n const itemsToSave = [];\n // To determine whether an item should result in an insert or update operation\n // We first need to query the local DB on the item id\n const queryStatements = new Set();\n // Deletes don't need to be queried first, because if the item doesn't exist,\n // the delete operation will be a no-op\n const deleteStatements = new Set();\n const saveStatements = new Set();\n for (const item of items) {\n const connectedModels = traverseModel(modelConstructor.name, this.modelInstanceCreator(modelConstructor, item), this.schema.namespaces[this.namespaceResolver(modelConstructor)], this.modelInstanceCreator, this.getModelConstructorByModelName);\n const { id, _deleted } = item;\n const { instance } = connectedModels.find(({ instance }) => instance.id === id);\n if (_deleted) {\n // create the delete statements right away\n const deleteStatement = (0, SQLiteUtils_1.deleteByIdStatement)(instance.id, tableName);\n deleteStatements.add(deleteStatement);\n result.push([item, datastore_1.OpType.DELETE]);\n }\n else {\n // query statements for the saves at first\n const queryStatement = (0, SQLiteUtils_1.queryByIdStatement)(id, tableName);\n queryStatements.add(queryStatement);\n // combination of insert and update items\n itemsToSave.push(instance);\n }\n }\n // returns the query results for each of the save items\n const queryResponses = await this.db.batchQuery(queryStatements);\n queryResponses.forEach((response, idx) => {\n if (response === undefined) {\n const insertStatement = (0, SQLiteUtils_1.modelInsertStatement)(itemsToSave[idx], tableName);\n saveStatements.add(insertStatement);\n result.push([itemsToSave[idx], datastore_1.OpType.INSERT]);\n }\n else {\n const updateStatement = (0, SQLiteUtils_1.modelUpdateStatement)(itemsToSave[idx], tableName);\n saveStatements.add(updateStatement);\n result.push([itemsToSave[idx], datastore_1.OpType.UPDATE]);\n }\n });\n // perform all of the insert/update/delete operations in a single transaction\n await this.db.batchSave(saveStatements, deleteStatements);\n return result;\n }\n}\nexports.CommonSQLiteAdapter = CommonSQLiteAdapter;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.deleteByPredicateStatement = exports.deleteByIdStatement = exports.queryOneStatement = exports.queryAllStatement = exports.limitClauseFromPagination = exports.orderByClauseFromSort = exports.whereClauseFromPredicate = exports.whereConditionFromPredicateObject = exports.queryByIdStatement = exports.modelUpdateStatement = exports.modelInsertStatement = exports.modelCreateTableStatement = exports.implicitAuthFieldsForModel = exports.generateSchemaStatements = exports.getSQLiteType = void 0;
|
|
3
5
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
6
|
// SPDX-License-Identifier: Apache-2.0
|
|
5
7
|
const datastore_1 = require("@aws-amplify/datastore");
|
|
@@ -58,7 +60,6 @@ function getSQLiteType(scalar) {
|
|
|
58
60
|
case 'Float':
|
|
59
61
|
return 'REAL';
|
|
60
62
|
default:
|
|
61
|
-
const _ = scalar;
|
|
62
63
|
throw new Error(`unknown type ${scalar}`);
|
|
63
64
|
}
|
|
64
65
|
}
|
|
@@ -71,7 +72,7 @@ function generateSchemaStatements(schema) {
|
|
|
71
72
|
});
|
|
72
73
|
}
|
|
73
74
|
exports.generateSchemaStatements = generateSchemaStatements;
|
|
74
|
-
|
|
75
|
+
const implicitAuthFieldsForModel = (model) => {
|
|
75
76
|
if (!model.attributes || !model.attributes.length) {
|
|
76
77
|
return [];
|
|
77
78
|
}
|
|
@@ -87,11 +88,12 @@ exports.implicitAuthFieldsForModel = (model) => {
|
|
|
87
88
|
return !authFieldExplicitlyDefined;
|
|
88
89
|
});
|
|
89
90
|
};
|
|
91
|
+
exports.implicitAuthFieldsForModel = implicitAuthFieldsForModel;
|
|
90
92
|
function modelCreateTableStatement(model, userModel = false) {
|
|
91
93
|
// implicitly defined auth fields, e.g., `owner`, `groupsField`, etc.
|
|
92
|
-
const implicitAuthFields = exports.implicitAuthFieldsForModel(model);
|
|
94
|
+
const implicitAuthFields = (0, exports.implicitAuthFieldsForModel)(model);
|
|
93
95
|
let fields = Object.values(model.fields).reduce((acc, field) => {
|
|
94
|
-
if (datastore_1.isGraphQLScalarType(field.type)) {
|
|
96
|
+
if ((0, datastore_1.isGraphQLScalarType)(field.type)) {
|
|
95
97
|
if (field.name === 'id') {
|
|
96
98
|
return [...acc, '"id" PRIMARY KEY NOT NULL'];
|
|
97
99
|
}
|
|
@@ -101,10 +103,10 @@ function modelCreateTableStatement(model, userModel = false) {
|
|
|
101
103
|
}
|
|
102
104
|
return [...acc, `${columnParam}`];
|
|
103
105
|
}
|
|
104
|
-
if (datastore_1.isModelFieldType(field.type)) {
|
|
106
|
+
if ((0, datastore_1.isModelFieldType)(field.type)) {
|
|
105
107
|
let columnParam = `"${field.name}" TEXT`;
|
|
106
108
|
// add targetName as well as field name for BELONGS_TO relations
|
|
107
|
-
if (datastore_1.isTargetNameAssociation(field.association)) {
|
|
109
|
+
if ((0, datastore_1.isTargetNameAssociation)(field.association)) {
|
|
108
110
|
// check if this field has been explicitly defined in the model
|
|
109
111
|
const fkDefinedInModel = Object.values(model.fields).find((f) => f.name === field?.association?.targetName);
|
|
110
112
|
// if the FK is not explicitly defined in the model, we have to add it here
|
|
@@ -200,7 +202,7 @@ function buildSpecialNullComparison(field, operator, operand) {
|
|
|
200
202
|
// no special null handling required
|
|
201
203
|
return null;
|
|
202
204
|
}
|
|
203
|
-
|
|
205
|
+
const whereConditionFromPredicateObject = ({ field, operator, operand, }) => {
|
|
204
206
|
const specialNullClause = buildSpecialNullComparison(field, operator, operand);
|
|
205
207
|
if (specialNullClause) {
|
|
206
208
|
return [specialNullClause, []];
|
|
@@ -230,13 +232,13 @@ exports.whereConditionFromPredicateObject = ({ field, operator, operand, }) => {
|
|
|
230
232
|
statement = [`instr("${field}", ?) ${logicalOperator}`, [operand]];
|
|
231
233
|
break;
|
|
232
234
|
default:
|
|
233
|
-
const _ = logicalOperatorKey;
|
|
234
235
|
// Incorrect WHERE clause can result in data loss
|
|
235
236
|
throw new Error('Cannot map predicate to a valid WHERE clause');
|
|
236
237
|
}
|
|
237
238
|
return statement;
|
|
238
239
|
}
|
|
239
240
|
};
|
|
241
|
+
exports.whereConditionFromPredicateObject = whereConditionFromPredicateObject;
|
|
240
242
|
function whereClauseFromPredicate(predicate) {
|
|
241
243
|
const result = [];
|
|
242
244
|
const params = [];
|
|
@@ -244,7 +246,7 @@ function whereClauseFromPredicate(predicate) {
|
|
|
244
246
|
const whereClause = `WHERE ${result.join(' ')}`;
|
|
245
247
|
return [whereClause, params];
|
|
246
248
|
function recurse(predicate, result = [], params = []) {
|
|
247
|
-
if (datastore_1.isPredicateGroup(predicate)) {
|
|
249
|
+
if ((0, datastore_1.isPredicateGroup)(predicate)) {
|
|
248
250
|
const { type: groupType, predicates: groupPredicates } = predicate;
|
|
249
251
|
let filterType = '';
|
|
250
252
|
let isNegation = false;
|
|
@@ -259,7 +261,6 @@ function whereClauseFromPredicate(predicate) {
|
|
|
259
261
|
filterType = 'OR';
|
|
260
262
|
break;
|
|
261
263
|
default:
|
|
262
|
-
const _ = groupType;
|
|
263
264
|
throw new Error(`Invalid ${groupType}`);
|
|
264
265
|
}
|
|
265
266
|
const groupResult = [];
|
|
@@ -268,8 +269,8 @@ function whereClauseFromPredicate(predicate) {
|
|
|
268
269
|
}
|
|
269
270
|
result.push(`${isNegation ? 'NOT' : ''}(${groupResult.join(` ${filterType} `)})`);
|
|
270
271
|
}
|
|
271
|
-
else if (datastore_1.isPredicateObj(predicate)) {
|
|
272
|
-
const [condition, conditionParams] = exports.whereConditionFromPredicateObject(predicate);
|
|
272
|
+
else if ((0, datastore_1.isPredicateObj)(predicate)) {
|
|
273
|
+
const [condition, conditionParams] = (0, exports.whereConditionFromPredicateObject)(predicate);
|
|
273
274
|
result.push(condition);
|
|
274
275
|
params.push(...conditionParams);
|
|
275
276
|
}
|
|
@@ -344,4 +345,4 @@ function deleteByPredicateStatement(tableName, predicate) {
|
|
|
344
345
|
return [statement, params];
|
|
345
346
|
}
|
|
346
347
|
exports.deleteByPredicateStatement = deleteByPredicateStatement;
|
|
347
|
-
//# sourceMappingURL=SQLiteUtils.js.map
|
|
348
|
+
//# sourceMappingURL=SQLiteUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SQLiteUtils.js","sources":["../../../src/common/SQLiteUtils.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.deleteByPredicateStatement = exports.deleteByIdStatement = exports.queryOneStatement = exports.queryAllStatement = exports.limitClauseFromPagination = exports.orderByClauseFromSort = exports.whereClauseFromPredicate = exports.whereConditionFromPredicateObject = exports.queryByIdStatement = exports.modelUpdateStatement = exports.modelInsertStatement = exports.modelCreateTableStatement = exports.implicitAuthFieldsForModel = exports.generateSchemaStatements = exports.getSQLiteType = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst datastore_1 = require(\"@aws-amplify/datastore\");\nconst { USER, isNonModelConstructor, isModelConstructor } = datastore_1.utils;\nconst keysFromModel = model => Object.keys(model)\n .map(k => `\"${k}\"`)\n .join(', ');\nconst valuesFromModel = (model) => {\n const values = Object.values(model).map(prepareValueForDML);\n const paramaterized = values.map(() => '?').join(', ');\n return [paramaterized, values];\n};\nconst updateSet = model => {\n const values = [];\n const paramaterized = Object.entries(model)\n .filter(([k]) => k !== 'id')\n .map(([k, v]) => {\n values.push(prepareValueForDML(v));\n return `\"${k}\"=?`;\n })\n .join(', ');\n return [paramaterized, values];\n};\nfunction prepareValueForDML(value) {\n const scalarTypes = ['string', 'number', 'boolean'];\n const isScalarType = value === null || value === undefined || scalarTypes.includes(typeof value);\n if (isScalarType) {\n return value;\n }\n const isObjectType = typeof value === 'object' &&\n (Object.getPrototypeOf(value).constructor === Object ||\n isNonModelConstructor(Object.getPrototypeOf(value).constructor) ||\n isModelConstructor(Object.getPrototypeOf(value).constructor));\n if (Array.isArray(value) || isObjectType) {\n return JSON.stringify(value);\n }\n return `${value}`;\n}\nfunction getSQLiteType(scalar) {\n switch (scalar) {\n case 'Boolean':\n case 'Int':\n case 'AWSTimestamp':\n return 'INTEGER';\n case 'ID':\n case 'String':\n case 'AWSDate':\n case 'AWSTime':\n case 'AWSDateTime':\n case 'AWSEmail':\n case 'AWSJSON':\n case 'AWSURL':\n case 'AWSPhone':\n case 'AWSIPAddress':\n return 'TEXT';\n case 'Float':\n return 'REAL';\n default:\n const _ = scalar;\n throw new Error(`unknown type ${scalar}`);\n }\n}\nexports.getSQLiteType = getSQLiteType;\nfunction generateSchemaStatements(schema) {\n return Object.keys(schema.namespaces).flatMap(namespaceName => {\n const namespace = schema.namespaces[namespaceName];\n const isUserModel = namespaceName === USER;\n return Object.values(namespace.models).map(model => modelCreateTableStatement(model, isUserModel));\n });\n}\nexports.generateSchemaStatements = generateSchemaStatements;\nconst implicitAuthFieldsForModel = (model) => {\n if (!model.attributes || !model.attributes.length) {\n return [];\n }\n const authRules = model.attributes.find(datastore_1.isModelAttributeAuth);\n if (!authRules) {\n return [];\n }\n const authFieldsForModel = authRules.properties.rules\n .filter((rule) => rule.ownerField || rule.groupsField)\n .map((rule) => rule.ownerField || rule.groupsField);\n return authFieldsForModel.filter((authField) => {\n const authFieldExplicitlyDefined = Object.values(model.fields).find((f) => f.name === authField);\n return !authFieldExplicitlyDefined;\n });\n};\nexports.implicitAuthFieldsForModel = implicitAuthFieldsForModel;\nfunction modelCreateTableStatement(model, userModel = false) {\n // implicitly defined auth fields, e.g., `owner`, `groupsField`, etc.\n const implicitAuthFields = (0, exports.implicitAuthFieldsForModel)(model);\n let fields = Object.values(model.fields).reduce((acc, field) => {\n if ((0, datastore_1.isGraphQLScalarType)(field.type)) {\n if (field.name === 'id') {\n return [...acc, '\"id\" PRIMARY KEY NOT NULL'];\n }\n let columnParam = `\"${field.name}\" ${getSQLiteType(field.type)}`;\n if (field.isRequired) {\n columnParam += ' NOT NULL';\n }\n return [...acc, `${columnParam}`];\n }\n if ((0, datastore_1.isModelFieldType)(field.type)) {\n let columnParam = `\"${field.name}\" TEXT`;\n // add targetName as well as field name for BELONGS_TO relations\n if ((0, datastore_1.isTargetNameAssociation)(field.association)) {\n // check if this field has been explicitly defined in the model\n const fkDefinedInModel = Object.values(model.fields).find((f) => f.name === field?.association?.targetName);\n // if the FK is not explicitly defined in the model, we have to add it here\n if (!fkDefinedInModel) {\n const required = field.isRequired ? ' NOT NULL' : '';\n columnParam += `, \"${field.association.targetName}\" TEXT${required}`;\n }\n }\n // ignore isRequired param for model fields, since they will not contain\n // the related data locally\n return [...acc, `${columnParam}`];\n }\n // default to TEXT\n let columnParam = `\"${field.name}\" TEXT`;\n if (field.isRequired) {\n columnParam += ' NOT NULL';\n }\n return [...acc, `${columnParam}`];\n }, []);\n implicitAuthFields.forEach((authField) => {\n fields.push(`${authField} TEXT`);\n });\n if (userModel) {\n fields = [\n ...fields,\n `\"_version\" INTEGER`,\n `\"_lastChangedAt\" INTEGER`,\n `\"_deleted\" INTEGER`,\n ];\n }\n const createTableStatement = `CREATE TABLE IF NOT EXISTS \"${model.name}\" (${fields.join(', ')});`;\n return createTableStatement;\n}\nexports.modelCreateTableStatement = modelCreateTableStatement;\nfunction modelInsertStatement(model, tableName) {\n const keys = keysFromModel(model);\n const [paramaterized, values] = valuesFromModel(model);\n const insertStatement = `INSERT INTO \"${tableName}\" (${keys}) VALUES (${paramaterized})`;\n return [insertStatement, values];\n}\nexports.modelInsertStatement = modelInsertStatement;\nfunction modelUpdateStatement(model, tableName) {\n const [paramaterized, values] = updateSet(model);\n const updateStatement = `UPDATE \"${tableName}\" SET ${paramaterized} WHERE id=?`;\n return [updateStatement, [...values, model.id]];\n}\nexports.modelUpdateStatement = modelUpdateStatement;\nfunction queryByIdStatement(id, tableName) {\n return [`SELECT * FROM \"${tableName}\" WHERE \"id\" = ?`, [id]];\n}\nexports.queryByIdStatement = queryByIdStatement;\n/*\n Predicates supported by DataStore:\n\n Strings: eq | ne | le | lt | ge | gt | contains | notContains | beginsWith | between\n Numbers: eq | ne | le | lt | ge | gt | between\n Lists: contains | notContains\n*/\nconst comparisonOperatorMap = {\n eq: '=',\n ne: '!=',\n le: '<=',\n lt: '<',\n ge: '>=',\n gt: '>',\n};\nconst logicalOperatorMap = {\n beginsWith: '= 1',\n contains: '> 0',\n notContains: '= 0',\n between: 'BETWEEN',\n};\n/**\n * If the given (operator, operand) indicate the need for a special `NULL` comparison,\n * that `WHERE` clause condition will be returned. If not special `NULL` handling is\n * needed, `null` will be returned, and the caller should construct the `WHERE`\n * clause component using the normal operator map(s) and parameterization.\n *\n * @param operator \"beginsWith\" | \"contains\" | \"notContains\" | \"between\"\n * | \"eq\" | \"ne\" | \"le\" | \"lt\" | \"ge\" | \"gt\"\n * @param operand any\n * @returns (string | null) The `WHERE` clause component or `null` if N/A.\n */\nfunction buildSpecialNullComparison(field, operator, operand) {\n if (operand === null || operand === undefined) {\n if (operator === 'eq') {\n return `\"${field}\" IS NULL`;\n }\n else if (operator === 'ne') {\n return `\"${field}\" IS NOT NULL`;\n }\n }\n // no special null handling required\n return null;\n}\nconst whereConditionFromPredicateObject = ({ field, operator, operand, }) => {\n const specialNullClause = buildSpecialNullComparison(field, operator, operand);\n if (specialNullClause) {\n return [specialNullClause, []];\n }\n const comparisonOperator = comparisonOperatorMap[operator];\n if (comparisonOperator) {\n return [`\"${field}\" ${comparisonOperator} ?`, [operand]];\n }\n const logicalOperatorKey = operator;\n const logicalOperator = logicalOperatorMap[logicalOperatorKey];\n let statement;\n if (logicalOperator) {\n let rightExp = [];\n switch (logicalOperatorKey) {\n case 'between':\n rightExp = operand; // operand is a 2-tuple\n statement = [\n `\"${field}\" ${logicalOperator} ${rightExp\n .map(_ => '?')\n .join(' AND ')}`,\n rightExp,\n ];\n break;\n case 'beginsWith':\n case 'contains':\n case 'notContains':\n statement = [`instr(\"${field}\", ?) ${logicalOperator}`, [operand]];\n break;\n default:\n const _ = logicalOperatorKey;\n // Incorrect WHERE clause can result in data loss\n throw new Error('Cannot map predicate to a valid WHERE clause');\n }\n return statement;\n }\n};\nexports.whereConditionFromPredicateObject = whereConditionFromPredicateObject;\nfunction whereClauseFromPredicate(predicate) {\n const result = [];\n const params = [];\n recurse(predicate, result, params);\n const whereClause = `WHERE ${result.join(' ')}`;\n return [whereClause, params];\n function recurse(predicate, result = [], params = []) {\n if ((0, datastore_1.isPredicateGroup)(predicate)) {\n const { type: groupType, predicates: groupPredicates } = predicate;\n let filterType = '';\n let isNegation = false;\n switch (groupType) {\n case 'not':\n isNegation = true;\n break;\n case 'and':\n filterType = 'AND';\n break;\n case 'or':\n filterType = 'OR';\n break;\n default:\n const _ = groupType;\n throw new Error(`Invalid ${groupType}`);\n }\n const groupResult = [];\n for (const p of groupPredicates) {\n recurse(p, groupResult, params);\n }\n result.push(`${isNegation ? 'NOT' : ''}(${groupResult.join(` ${filterType} `)})`);\n }\n else if ((0, datastore_1.isPredicateObj)(predicate)) {\n const [condition, conditionParams] = (0, exports.whereConditionFromPredicateObject)(predicate);\n result.push(condition);\n params.push(...conditionParams);\n }\n }\n}\nexports.whereClauseFromPredicate = whereClauseFromPredicate;\nconst sortDirectionMap = {\n ASCENDING: 'ASC',\n DESCENDING: 'DESC',\n};\nfunction orderByClauseFromSort(sortPredicate = []) {\n const orderByParts = sortPredicate.map(({ field, sortDirection }) => `\"${field}\" ${sortDirectionMap[sortDirection]}`);\n // We always sort by _rowid_ last\n orderByParts.push(`_rowid_ ${sortDirectionMap.ASCENDING}`);\n return `ORDER BY ${orderByParts.join(', ')}`;\n}\nexports.orderByClauseFromSort = orderByClauseFromSort;\nfunction limitClauseFromPagination(limit, page = 0) {\n const params = [limit];\n let clause = 'LIMIT ?';\n if (page) {\n const offset = limit * page;\n params.push(offset);\n clause += ' OFFSET ?';\n }\n return [clause, params];\n}\nexports.limitClauseFromPagination = limitClauseFromPagination;\nfunction queryAllStatement(tableName, predicate, sort, limit, page) {\n let statement = `SELECT * FROM \"${tableName}\"`;\n const params = [];\n if (predicate && predicate.predicates.length) {\n const [whereClause, whereParams] = whereClauseFromPredicate(predicate);\n statement += ` ${whereClause}`;\n params.push(...whereParams);\n }\n const orderByClause = orderByClauseFromSort(sort);\n statement += ` ${orderByClause}`;\n if (limit) {\n const [limitClause, limitParams] = limitClauseFromPagination(limit, page);\n statement += ` ${limitClause}`;\n params.push(...limitParams);\n }\n return [statement, params];\n}\nexports.queryAllStatement = queryAllStatement;\nfunction queryOneStatement(firstOrLast, tableName) {\n if (firstOrLast === datastore_1.QueryOne.FIRST) {\n // ORDER BY rowid will no longer work as expected if a customer has\n // a field by that name in their schema. We may want to enforce it\n // as a reserved keyword in Codegen\n return [`SELECT * FROM ${tableName} ORDER BY _rowid_ LIMIT 1`, []];\n }\n else {\n return [`SELECT * FROM ${tableName} ORDER BY _rowid_ DESC LIMIT 1`, []];\n }\n}\nexports.queryOneStatement = queryOneStatement;\nfunction deleteByIdStatement(id, tableName) {\n const deleteStatement = `DELETE FROM \"${tableName}\" WHERE \"id\"=?`;\n return [deleteStatement, [id]];\n}\nexports.deleteByIdStatement = deleteByIdStatement;\nfunction deleteByPredicateStatement(tableName, predicate) {\n let statement = `DELETE FROM \"${tableName}\"`;\n const params = [];\n if (predicate && predicate.predicates.length) {\n const [whereClause, whereParams] = whereClauseFromPredicate(predicate);\n statement += ` ${whereClause}`;\n params.push(...whereParams);\n }\n return [statement, params];\n}\nexports.deleteByPredicateStatement = deleteByPredicateStatement;\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.DB_NAME = void 0;
|
|
3
5
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
4
6
|
// SPDX-License-Identifier: Apache-2.0
|
|
5
7
|
exports.DB_NAME = 'AmplifyDatastore';
|
|
6
|
-
//# sourceMappingURL=constants.js.map
|
|
8
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sources":["../../../src/common/constants.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.DB_NAME = void 0;\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexports.DB_NAME = 'AmplifyDatastore';\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,OAAO,GAAG,KAAK,CAAC,CAAC;AACzB;AACA;AACA,OAAO,CAAC,OAAO,GAAG,kBAAkB;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../../../src/common/types.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;;"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
2
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.SQLiteAdapter = void 0;
|
|
3
5
|
const tslib_1 = require("tslib");
|
|
4
6
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
5
7
|
// SPDX-License-Identifier: Apache-2.0
|
|
6
8
|
const SQLiteAdapter_1 = tslib_1.__importDefault(require("./SQLiteAdapter/SQLiteAdapter"));
|
|
7
9
|
exports.SQLiteAdapter = SQLiteAdapter_1.default;
|
|
8
|
-
//# sourceMappingURL=index.js.map
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../src/index.ts"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.SQLiteAdapter = void 0;\nconst tslib_1 = require(\"tslib\");\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nconst SQLiteAdapter_1 = tslib_1.__importDefault(require(\"./SQLiteAdapter/SQLiteAdapter\"));\nexports.SQLiteAdapter = SQLiteAdapter_1.default;\n"],"names":[],"mappings":";;AACA,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,OAAO,CAAC,aAAa,GAAG,KAAK,CAAC,CAAC;AAC/B,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;AACjC;AACA;AACA,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC;AAC1F,OAAO,CAAC,aAAa,GAAG,eAAe,CAAC,OAAO;;"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter.mjs';
|
|
2
|
+
import ExpoSQLiteDatabase from './ExpoSQLiteDatabase.mjs';
|
|
3
|
+
|
|
1
4
|
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
5
|
// SPDX-License-Identifier: Apache-2.0
|
|
3
|
-
import { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter';
|
|
4
|
-
import ExpoSQLiteDatabase from './ExpoSQLiteDatabase';
|
|
5
6
|
const ExpoSQLiteAdapter = new CommonSQLiteAdapter(new ExpoSQLiteDatabase());
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
export { ExpoSQLiteAdapter as default };
|
|
9
|
+
//# sourceMappingURL=ExpoSQLiteAdapter.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpoSQLiteAdapter.mjs","sources":["../../../src/ExpoSQLiteAdapter/ExpoSQLiteAdapter.ts"],"sourcesContent":["// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { CommonSQLiteAdapter } from '../common/CommonSQLiteAdapter';\nimport ExpoSQLiteDatabase from './ExpoSQLiteDatabase';\nconst ExpoSQLiteAdapter = new CommonSQLiteAdapter(new ExpoSQLiteDatabase());\nexport default ExpoSQLiteAdapter;\n"],"names":[],"mappings":";;;AAAA;AACA;AAGK,MAAC,iBAAiB,GAAG,IAAI,mBAAmB,CAAC,IAAI,kBAAkB,EAAE;;;;"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
2
|
-
// SPDX-License-Identifier: Apache-2.0
|
|
3
1
|
import { ConsoleLogger } from '@aws-amplify/core';
|
|
4
2
|
import { deleteAsync, documentDirectory } from 'expo-file-system';
|
|
5
3
|
import { openDatabase } from 'expo-sqlite';
|
|
6
|
-
import { DB_NAME } from '../common/constants';
|
|
4
|
+
import { DB_NAME } from '../common/constants.mjs';
|
|
5
|
+
|
|
6
|
+
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
|
7
|
+
// SPDX-License-Identifier: Apache-2.0
|
|
7
8
|
const logger = new ConsoleLogger('ExpoSQLiteDatabase');
|
|
8
9
|
/*
|
|
9
10
|
|
|
@@ -190,5 +191,6 @@ class ExpoSQLiteDatabase {
|
|
|
190
191
|
}
|
|
191
192
|
}
|
|
192
193
|
}
|
|
193
|
-
|
|
194
|
-
|
|
194
|
+
|
|
195
|
+
export { ExpoSQLiteDatabase as default };
|
|
196
|
+
//# sourceMappingURL=ExpoSQLiteDatabase.mjs.map
|