diff --git a/cpp/DBHostObject.cpp b/cpp/DBHostObject.cpp index a8b0fd2c..94a8eb13 100644 --- a/cpp/DBHostObject.cpp +++ b/cpp/DBHostObject.cpp @@ -142,9 +142,8 @@ void DBHostObject::auto_register_update_hook() { #ifdef OP_SQLITE_USE_LIBSQL // Remote connection constructor DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &url, - std::string &auth_token, - std::shared_ptr invoker) - : db_name(url), invoker(std::move(invoker)), rt(rt) { + std::string &auth_token) + : db_name(url), rt(rt) { _thread_pool = std::make_shared(); db = opsqlite_libsql_open_remote(url, auth_token); @@ -152,14 +151,12 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &url, } // Sync connection constructor -DBHostObject::DBHostObject(jsi::Runtime &rt, - std::shared_ptr invoker, - std::string &db_name, std::string &path, - std::string &url, std::string &auth_token, - int sync_interval, bool offline, - std::string &encryption_key, +DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &db_name, + std::string &path, std::string &url, + std::string &auth_token, int sync_interval, + bool offline, std::string &encryption_key, std::string &remote_encryption_key) - : db_name(db_name), invoker(std::move(invoker)), rt(rt) { + : db_name(db_name), rt(rt) { _thread_pool = std::make_shared(); @@ -173,13 +170,11 @@ DBHostObject::DBHostObject(jsi::Runtime &rt, #endif DBHostObject::DBHostObject(jsi::Runtime &rt, std::string &base_path, - std::shared_ptr invoker, std::string &db_name, std::string &path, std::string &crsqlite_path, std::string &sqlite_vec_path, std::string &encryption_key) - : base_path(base_path), invoker(std::move(invoker)), db_name(db_name), - rt(rt) { + : base_path(base_path), db_name(db_name), rt(rt) { _thread_pool = std::make_shared(); #ifdef OP_SQLITE_USE_SQLCIPHER @@ -617,13 +612,12 @@ void DBHostObject::create_jsi_functions() { return jsi::String::createFromUtf8(rt, result); }); - function_map["flushPendingReactiveQueries"] = - HOSTFN("flushPendingReactiveQueries") { + function_map["flushPendingReactiveQueries"] = HFN(this) { auto promiseCtr = rt.global().getPropertyAsFunction(rt, "Promise"); - auto promise = promiseCtr.callAsConstructor(rt, HOSTFN("executor") { + auto promise = promiseCtr.callAsConstructor(rt, HFN(this) { auto resolve = std::make_shared(rt, args[0]); - auto task = [&rt, this, resolve]() { + auto task = [this, resolve]() { flush_pending_reactive_queries(resolve); }; diff --git a/cpp/DBHostObject.h b/cpp/DBHostObject.h index 0e4da2bf..901cfa1d 100644 --- a/cpp/DBHostObject.h +++ b/cpp/DBHostObject.h @@ -44,22 +44,19 @@ struct ReactiveQuery { class JSI_EXPORT DBHostObject : public jsi::HostObject { public: // Normal constructor shared between all backends - DBHostObject(jsi::Runtime &rt, std::string &base_path, - std::shared_ptr invoker, - std::string &db_name, std::string &path, - std::string &crsqlite_path, std::string &sqlite_vec_path, - std::string &encryption_key); + DBHostObject(jsi::Runtime &rt, std::string &base_path, std::string &db_name, + std::string &path, std::string &crsqlite_path, + std::string &sqlite_vec_path, std::string &encryption_key); #ifdef OP_SQLITE_USE_LIBSQL // Constructor for remoteOpen, purely for remote databases - DBHostObject(jsi::Runtime &rt, std::string &url, std::string &auth_token, - std::shared_ptr invoker); + DBHostObject(jsi::Runtime &rt, std::string &url, std::string &auth_token); // Constructor for a local database with remote sync - DBHostObject(jsi::Runtime &rt, std::shared_ptr invoker, - std::string &db_name, std::string &path, std::string &url, - std::string &auth_token, int sync_interval, bool offline, - std::string &encryption_key, std::string &remote_encryption_key); + DBHostObject(jsi::Runtime &rt, std::string &db_name, std::string &path, + std::string &url, std::string &auth_token, int sync_interval, + bool offline, std::string &encryption_key, + std::string &remote_encryption_key); #endif std::vector getPropertyNames(jsi::Runtime &rt) override; @@ -82,7 +79,6 @@ class JSI_EXPORT DBHostObject : public jsi::HostObject { std::unordered_map function_map; std::string base_path; - std::shared_ptr invoker; std::shared_ptr _thread_pool; std::string db_name; std::shared_ptr update_hook_callback; diff --git a/cpp/OPSqlite.cpp b/cpp/OPSqlite.cpp index e9455c18..eac3bb0e 100644 --- a/cpp/OPSqlite.cpp +++ b/cpp/OPSqlite.cpp @@ -69,12 +69,6 @@ void install(jsi::Runtime &rt, options.getProperty(rt, "encryptionKey").asString(rt).utf8(rt); } -#ifdef OP_SQLITE_USE_SQLCIPHER - if (encryption_key.empty()) { - log_to_console(rt, "Encryption key is missing for SQLCipher"); - } -#endif - if (!location.empty()) { if (location == ":memory:") { path = ":memory:"; @@ -86,8 +80,7 @@ void install(jsi::Runtime &rt, } std::shared_ptr db = std::make_shared( - rt, path, opsqlite::invoker, name, path, _crsqlite_path, - _sqlite_vec_path, encryption_key); + rt, path, name, path, _crsqlite_path, _sqlite_vec_path, encryption_key); dbs.emplace_back(db); return jsi::Object::createFromHostObject(rt, db); }); @@ -126,7 +119,7 @@ void install(jsi::Runtime &rt, options.getProperty(rt, "authToken").asString(rt).utf8(rt); std::shared_ptr db = - std::make_shared(rt, url, auth_token, invoker); + std::make_shared(rt, url, auth_token); return jsi::Object::createFromHostObject(rt, db); }); @@ -177,8 +170,8 @@ void install(jsi::Runtime &rt, } std::shared_ptr db = std::make_shared( - rt, invoker, name, path, url, auth_token, sync_interval, offline, - encryption_key, remote_encryption_key); + rt, name, path, url, auth_token, sync_interval, offline, encryption_key, + remote_encryption_key); return jsi::Object::createFromHostObject(rt, db); }); #endif diff --git a/example/package.json b/example/package.json index cf3d0fde..d7c2f5c2 100644 --- a/example/package.json +++ b/example/package.json @@ -46,7 +46,7 @@ }, "op-sqlite": { "libsql": false, - "sqlcipher": false, + "sqlcipher": true, "iosSqlite": false, "fts5": true, "rtree": true,