Page MenuHomePhabricator

D4794.id15803.diff
No OneTemporary

D4794.id15803.diff

diff --git a/native/cpp/CommonCpp/NativeModules/CommCoreModule.h b/native/cpp/CommonCpp/NativeModules/CommCoreModule.h
--- a/native/cpp/CommonCpp/NativeModules/CommCoreModule.h
+++ b/native/cpp/CommonCpp/NativeModules/CommCoreModule.h
@@ -58,6 +58,8 @@
jsi::Value
setNotifyToken(jsi::Runtime &rt, const jsi::String &token) override;
jsi::Value clearNotifyToken(jsi::Runtime &rt) override;
+ void setCurrentUserID(jsi::Runtime &rt, const jsi::String &userID) override;
+ jsi::String getCurrentUserID(jsi::Runtime &rt) override;
void clearSensitiveData(jsi::Runtime &rt) override;
public:
diff --git a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp
--- a/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp
+++ b/native/cpp/CommonCpp/NativeModules/CommCoreModule.cpp
@@ -955,6 +955,46 @@
});
};
+void CommCoreModule::setCurrentUserID(
+ jsi::Runtime &rt,
+ const jsi::String &userID) {
+ std::string error;
+ std::promise<void> setCurrentUserIDResult;
+ auto currentUserID{userID.utf8(rt)};
+ this->databaseThread->scheduleTask(
+ [&setCurrentUserIDResult, &currentUserID, &error]() {
+ try {
+ DatabaseManager::getQueryExecutor().setCurrentUserID(currentUserID);
+ } catch (const std::exception &e) {
+ error = e.what();
+ }
+ setCurrentUserIDResult.set_value();
+ });
+ setCurrentUserIDResult.get_future().get();
+ if (error.size()) {
+ throw jsi::JSError(rt, error);
+ }
+}
+
+jsi::String CommCoreModule::getCurrentUserID(jsi::Runtime &rt) {
+ std::string error;
+ std::promise<std::string> getCurrentUserIDResult;
+ this->databaseThread->scheduleTask([&getCurrentUserIDResult, &error]() {
+ std::string currentUserID;
+ try {
+ currentUserID = DatabaseManager::getQueryExecutor().getCurrentUserID();
+ } catch (const std::exception &e) {
+ error = e.what();
+ }
+ getCurrentUserIDResult.set_value(currentUserID);
+ });
+ std::string currentUserID = getCurrentUserIDResult.get_future().get();
+ if (error.size()) {
+ throw jsi::JSError(rt, error);
+ }
+ return jsi::String::createFromUtf8(rt, currentUserID);
+}
+
void CommCoreModule::clearSensitiveData(jsi::Runtime &rt) {
try {
DatabaseManager::getQueryExecutor().clearSensitiveData();
diff --git a/native/cpp/CommonCpp/_generated/NativeModules.h b/native/cpp/CommonCpp/_generated/NativeModules.h
--- a/native/cpp/CommonCpp/_generated/NativeModules.h
+++ b/native/cpp/CommonCpp/_generated/NativeModules.h
@@ -38,6 +38,8 @@
virtual double getCodeVersion(jsi::Runtime &rt) = 0;
virtual jsi::Value setNotifyToken(jsi::Runtime &rt, const jsi::String &token) = 0;
virtual jsi::Value clearNotifyToken(jsi::Runtime &rt) = 0;
+virtual void setCurrentUserID(jsi::Runtime &rt, const jsi::String &userID) = 0;
+virtual jsi::String getCurrentUserID(jsi::Runtime &rt) = 0;
virtual void clearSensitiveData(jsi::Runtime &rt) = 0;
};
diff --git a/native/cpp/CommonCpp/_generated/NativeModules.cpp b/native/cpp/CommonCpp/_generated/NativeModules.cpp
--- a/native/cpp/CommonCpp/_generated/NativeModules.cpp
+++ b/native/cpp/CommonCpp/_generated/NativeModules.cpp
@@ -72,6 +72,13 @@
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_clearNotifyToken(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->clearNotifyToken(rt);
}
+static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_setCurrentUserID(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
+ static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->setCurrentUserID(rt, args[0].getString(rt));
+ return jsi::Value::undefined();
+}
+static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_getCurrentUserID(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
+ return static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->getCurrentUserID(rt);
+}
static jsi::Value __hostFunction_CommCoreModuleSchemaCxxSpecJSI_clearSensitiveData(jsi::Runtime &rt, TurboModule &turboModule, const jsi::Value* args, size_t count) {
static_cast<CommCoreModuleSchemaCxxSpecJSI *>(&turboModule)->clearSensitiveData(rt);
return jsi::Value::undefined();
@@ -99,6 +106,8 @@
methodMap_["getCodeVersion"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_getCodeVersion};
methodMap_["setNotifyToken"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_setNotifyToken};
methodMap_["clearNotifyToken"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_clearNotifyToken};
+ methodMap_["setCurrentUserID"] = MethodMetadata {1, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_setCurrentUserID};
+ methodMap_["getCurrentUserID"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_getCurrentUserID};
methodMap_["clearSensitiveData"] = MethodMetadata {0, __hostFunction_CommCoreModuleSchemaCxxSpecJSI_clearSensitiveData};
}
diff --git a/native/schema/CommCoreModuleSchema.js b/native/schema/CommCoreModuleSchema.js
--- a/native/schema/CommCoreModuleSchema.js
+++ b/native/schema/CommCoreModuleSchema.js
@@ -48,6 +48,8 @@
+getCodeVersion: () => number;
+setNotifyToken: (token: string) => Promise<void>;
+clearNotifyToken: () => Promise<void>;
+ +setCurrentUserID: (userID: string) => void;
+ +getCurrentUserID: () => string;
+clearSensitiveData: () => void;
}

File Metadata

Mime Type
text/plain
Expires
Wed, Dec 25, 9:16 AM (45 m, 46 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2702232
Default Alt Text
D4794.id15803.diff (5 KB)

Event Timeline