Lines Matching defs:executeHelper
153 bool GetDataShareHelper(napi_env env, napi_callback_info info, ExecuteHelper *executeHelper)
159 if (executeHelper->abilityContext != nullptr) {
162 abilityContext = executeHelper->abilityContext;
192 executeHelper->dataShareHelper = DataShare::DataShareHelper::Creator(context->GetToken(), CONTACTS_DATA_URI);
200 executeHelper->dataShareHelper = DataShare::DataShareHelper::Creator(context->GetToken(), CONTACTS_DATA_URI);
281 DataShare::DataSharePredicates BuildDeleteContactPredicates(napi_env env, ExecuteHelper *executeHelper)
285 std::string keyValue = contactsBuild.NapiGetValueString(env, executeHelper->argv[0]);
551 napi_value &attr, ExecuteHelper *executeHelper)
553 executeHelper->valueContactData.clear();
555 BuildQueryContactData(env, contact, attr, executeHelper->valueContactData);
556 executeHelper->columns = BuildUpdateContactColumns();
557 executeHelper->deletePredicates = BuildDeleteContactDataPredicates(env, attr);
616 ExecuteHelper *executeHelper = reinterpret_cast<ExecuteHelper *>(data);
617 HILOG_INFO("ExecuteDone workName: %{public}d", executeHelper->actionCode);
619 napi_deferred deferred = executeHelper->deferred;
620 HandleExecuteResult(env, executeHelper, result);
621 if (executeHelper->abilityContext != nullptr) {
622 HILOG_INFO("executeHelper->abilityContext != nullptr");
624 HandleExecuteErrorCode(env, executeHelper, errorCode);
631 HILOG_INFO("executeHelper->abilityContext = nullptr");
634 executeHelper->deferred = nullptr;
635 if (executeHelper->valueUpdateContact.capacity() != 0) {
636 std::vector<DataShare::DataShareValuesBucket>().swap(executeHelper->valueUpdateContact);
638 if (executeHelper->valueContact.capacity() != 0) {
639 std::vector<DataShare::DataShareValuesBucket>().swap(executeHelper->valueUpdateContact);
641 if (executeHelper->valueContactData.capacity() != 0) {
642 std::vector<DataShare::DataShareValuesBucket>().swap(executeHelper->valueUpdateContact);
645 NAPI_CALL_RETURN_VOID(env, napi_delete_async_work(env, executeHelper->work));
646 if (executeHelper->dataShareHelper != nullptr) {
647 executeHelper->dataShareHelper->Release();
648 executeHelper->dataShareHelper = nullptr;
650 delete executeHelper;
651 executeHelper = nullptr;
662 ExecuteHelper *executeHelper = reinterpret_cast<ExecuteHelper *>(data);
663 HILOG_INFO("ExecuteSyncDone workName: %{public}d", executeHelper->actionCode);
667 if (executeHelper->abilityContext != nullptr) {
668 HandleExecuteErrorCode(env, executeHelper, resultData[0]);
669 HandleExecuteResult(env, executeHelper, resultData[1]);
671 if (executeHelper->resultData < 0) {
672 HandleExecuteErrorCode(env, executeHelper, resultData[0]);
673 HandleExecuteResult(env, executeHelper, resultData[1]);
676 HandleExecuteResult(env, executeHelper, resultData[1]);
682 napi_get_reference_value(env, executeHelper->callBack, &callBack);
690 if (executeHelper->work != nullptr) {
691 napi_delete_async_work(env, executeHelper->work);
693 executeHelper->work = nullptr;
694 executeHelper->deferred = nullptr;
695 if (executeHelper->valueUpdateContact.capacity() != 0) {
696 std::vector<DataShare::DataShareValuesBucket>().swap(executeHelper->valueUpdateContact);
698 if (executeHelper->valueContact.capacity() != 0) {
699 std::vector<DataShare::DataShareValuesBucket>().swap(executeHelper->valueUpdateContact);
701 if (executeHelper->valueContactData.capacity() != 0) {
702 std::vector<DataShare::DataShareValuesBucket>().swap(executeHelper->valueUpdateContact);
704 if (executeHelper->dataShareHelper != nullptr) {
705 executeHelper->dataShareHelper->Release();
706 executeHelper->dataShareHelper = nullptr;
708 delete executeHelper;
709 executeHelper = nullptr;
714 void HandleExecuteErrorCode(napi_env env, ExecuteHelper *executeHelper, napi_value &result)
718 switch (executeHelper->actionCode) {
734 if (executeHelper->resultData == RDB_PARAMETER_ERROR || executeHelper->resultData == ERROR) {
737 } else if (executeHelper->resultData == VERIFICATION_PERMISSION_ERROR) {
740 } else if (executeHelper->resultData == RDB_PERMISSION_ERROR) {
750 void HandleExecuteResult(napi_env env, ExecuteHelper *executeHelper, napi_value &result)
754 switch (executeHelper->actionCode) {
759 if (executeHelper->resultData == RDB_PERMISSION_ERROR) {
762 napi_create_int64(env, executeHelper->resultData, &result);
767 napi_get_boolean(env, executeHelper->resultData != 0, &result);
771 results = resultConvert.ResultSetToObject(env, executeHelper->resultSet);
777 results = resultConvert.ResultSetToObject(env, executeHelper->resultSet);
786 result = resultConvert.ResultSetToObject(env, executeHelper->resultSet);
789 result = resultConvert.ResultSetToGroup(env, executeHelper->resultSet);
792 result = resultConvert.ResultSetToHolder(env, executeHelper->resultSet);
799 void LocalExecuteAddContact(napi_env env, ExecuteHelper *executeHelper)
801 if (executeHelper->valueContactData.empty()) {
803 executeHelper->resultData = ERROR;
808 executeHelper->dataShareHelper, (executeHelper->valueContact)[0]);
809 std::vector<DataShare::DataShareValuesBucket> value = executeHelper->valueContactData;
812 (executeHelper->valueContactData)[i].Put("raw_contact_id", rawId);
814 int code = contactsControl.ContactDataInsert(executeHelper->dataShareHelper, executeHelper->valueContactData);
816 executeHelper->resultData = rawId;
818 executeHelper->resultData = code;
822 void LocalExecuteDeleteContact(napi_env env, ExecuteHelper *executeHelper)
825 int ret = contactsControl.ContactDelete(executeHelper->dataShareHelper, executeHelper->predicates);
827 executeHelper->resultData = ret;
830 void LocalExecuteQueryContact(napi_env env, ExecuteHelper *executeHelper)
833 executeHelper->resultSet = contactsControl.ContactQuery(
834 executeHelper->dataShareHelper, executeHelper->columns, executeHelper->predicates);
835 executeHelper->resultData = SUCCESS;
838 void LocalExecuteQueryContactsOrKey(napi_env env, ExecuteHelper *executeHelper)
841 executeHelper->resultSet = contactsControl.ContactQuery(
842 executeHelper->dataShareHelper, executeHelper->columns, executeHelper->predicates);
843 executeHelper->resultData = SUCCESS;
846 void LocalExecuteQueryContactsByData(napi_env env, ExecuteHelper *executeHelper)
849 executeHelper->resultSet = contactsControl.ContactDataQuery(
850 executeHelper->dataShareHelper, executeHelper->columns, executeHelper->predicates);
851 std::shared_ptr<DataShare::DataShareResultSet> resultSet = executeHelper->resultSet;
855 executeHelper->resultData = RDB_PARAMETER_ERROR;
858 executeHelper->resultData = SUCCESS;
862 void LocalExecuteQueryGroup(napi_env env, ExecuteHelper *executeHelper)
865 executeHelper->resultSet = contactsControl.GroupsQuery(
866 executeHelper->dataShareHelper, executeHelper->columns, executeHelper->predicates);
867 executeHelper->resultData = SUCCESS;
870 void LocalExecuteQueryHolders(napi_env env, ExecuteHelper *executeHelper)
873 executeHelper->resultSet = contactsControl.HolderQuery(
874 executeHelper->dataShareHelper, executeHelper->columns, executeHelper->predicates);
875 executeHelper->resultData = SUCCESS;
878 void LocalExecuteQueryMyCard(napi_env env, ExecuteHelper *executeHelper)
881 executeHelper->resultSet = contactsControl.MyCardQuery(
882 executeHelper->dataShareHelper, executeHelper->columns, executeHelper->predicates);
883 executeHelper->resultData = SUCCESS;
886 void LocalExecuteUpdateContact(napi_env env, ExecuteHelper *executeHelper)
891 executeHelper->dataShareHelper, executeHelper->columns, executeHelper->predicates);
895 executeHelper->resultData = ERROR;
898 std::vector<DataShare::DataShareValuesBucket> value = executeHelper->valueContactData;
901 (executeHelper->valueContactData)[i].Put("raw_contact_id", rawId);
903 executeHelper->deletePredicates.And();
904 executeHelper->deletePredicates.EqualTo("raw_contact_id", std::to_string(rawId));
906 executeHelper->dataShareHelper, executeHelper->deletePredicates);
909 executeHelper->dataShareHelper, executeHelper->valueContactData);
911 executeHelper->resultData = resultCode;
914 void LocalExecuteIsLocalContact(napi_env env, ExecuteHelper *executeHelper)
919 executeHelper->dataShareHelper, executeHelper->columns, executeHelper->predicates);
921 executeHelper->resultData = isLocal;
928 executeHelper->resultData = isLocal;
932 void LocalExecuteIsMyCard(napi_env env, ExecuteHelper *executeHelper)
937 executeHelper->dataShareHelper, executeHelper->columns, executeHelper->predicates);
939 executeHelper->resultData = isMyCard;
948 executeHelper->resultData = isMyCard;
952 void LocalExecute(napi_env env, ExecuteHelper *executeHelper)
954 if (executeHelper->dataShareHelper == nullptr) {
956 executeHelper->resultData = RDB_PERMISSION_ERROR;
959 switch (executeHelper->actionCode) {
961 LocalExecuteAddContact(env, executeHelper);
964 LocalExecuteDeleteContact(env, executeHelper);
967 LocalExecuteUpdateContact(env, executeHelper);
970 LocalExecuteSplit(env, executeHelper);
976 void LocalExecuteSplit(napi_env env, ExecuteHelper *executeHelper)
981 executeHelper->resultData = RDB_PERMISSION_ERROR;
983 } else if (executeHelper->resultData == VERIFICATION_PERMISSION_ERROR) {
987 switch (executeHelper->actionCode) {
989 LocalExecuteQueryContact(env, executeHelper);
992 LocalExecuteQueryContactsOrKey(env, executeHelper);
996 LocalExecuteQueryContactsByData(env, executeHelper);
999 LocalExecuteQueryGroup(env, executeHelper);
1002 LocalExecuteQueryHolders(env, executeHelper);
1005 LocalExecuteQueryContactsOrKey(env, executeHelper);
1008 LocalExecuteQueryMyCard(env, executeHelper);
1011 LocalExecuteIsLocalContact(env, executeHelper);
1014 LocalExecuteIsMyCard(env, executeHelper);
1024 ExecuteHelper *executeHelper = static_cast<ExecuteHelper *>(data);
1025 HILOG_INFO("Execute start workName: %{public}d", executeHelper->actionCode);
1026 LocalExecute(env, executeHelper);
1029 napi_value CreateAsyncWork(napi_env env, ExecuteHelper *executeHelper)
1033 if (executeHelper->sync == NAPI_CALL_TYPE_CALLBACK) {
1035 napi_create_reference(env, executeHelper->argv[executeHelper->argc - 1], 1, &executeHelper->callBack);
1037 reinterpret_cast<void *>(executeHelper), &(executeHelper->work));
1041 napi_create_promise(env, &(executeHelper->deferred), &result);
1043 reinterpret_cast<void *>(executeHelper), &(executeHelper->work));
1045 napi_queue_async_work(env, executeHelper->work);
1046 executeHelper->promise = result;
1051 const napi_value &hold, const napi_value &attr, ExecuteHelper *executeHelper)
1056 VerificationParameterHolderId(env, executeHelper, hold);
1060 VerificationParameterHolderId(env, executeHelper, hold);
1064 VerificationParameterHolderId(env, executeHelper, hold);
1068 VerificationParameterHolderId(env, executeHelper, hold);
1072 VerificationParameterHolderId(env, executeHelper, hold);
1087 void SetChildActionCodeAndConvertParams(napi_env env, ExecuteHelper *executeHelper)
1094 unsigned int size = executeHelper->argc;
1096 ObjectInitId(env, executeHelper->argv[i], id);
1097 ObjectInitString(env, executeHelper->argv[i], key);
1098 ObjectInit(env, executeHelper->argv[i], hold, attr, contact);
1101 switch (executeHelper->actionCode) {
1104 env, executeHelper->argv[0], executeHelper->valueContact, executeHelper->valueContactData);
1107 executeHelper->predicates = BuildDeleteContactPredicates(env, executeHelper);
1110 executeHelper->predicates = BuildUpdateContactConvertParams(env, contact, attr, executeHelper);
1113 VerificationParameterId(env, id, executeHelper, hold);
1114 executeHelper->predicates = BuildIsLocalContactPredicates(env, id);
1117 VerificationParameterId(env, id, executeHelper, hold);
1118 executeHelper->predicates = BuildIsMyCardPredicates(env, id);
1121 VerificationParameterId(env, id, executeHelper, hold);
1122 executeHelper->predicates = BuildQueryKeyPredicates(env, id, hold);
1125 executeHelper->predicates = ConvertParamsSwitchSplit(executeHelper->actionCode, env, key, hold,
1126 attr, executeHelper);
1131 void VerificationParameterId(napi_env env, napi_value id, ExecuteHelper *executeHelper, napi_value hold)
1138 executeHelper->resultData = VERIFICATION_PERMISSION_ERROR;
1141 executeHelper->resultData = VERIFICATION_PERMISSION_ERROR;
1146 void VerificationParameterHolderId(napi_env env, ExecuteHelper *executeHelper, napi_value hold)
1152 executeHelper->resultData = VERIFICATION_PERMISSION_ERROR;
1157 napi_value Scheduling(napi_env env, napi_callback_info info, ExecuteHelper *executeHelper, int actionCode)
1162 executeHelper->argc = argc;
1163 executeHelper->actionCode = actionCode;
1170 executeHelper->sync = NAPI_CALL_TYPE_CALLBACK;
1172 executeHelper->sync = NAPI_CALL_TYPE_PROMISE;
1180 executeHelper->argv[i - 1] = argv[i];
1182 executeHelper->abilityContext = argv[0];
1183 executeHelper->argc -= 1;
1187 executeHelper->argv[i] = argv[i];
1191 SetChildActionCodeAndConvertParams(env, executeHelper);
1192 GetDataShareHelper(env, info, executeHelper);
1194 napi_value result = CreateAsyncWork(env, executeHelper);
1233 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1235 if (executeHelper != nullptr) {
1236 result = Scheduling(env, info, executeHelper, ADD_CONTACT);
1278 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1280 if (executeHelper != nullptr) {
1281 result = Scheduling(env, info, executeHelper, DELETE_CONTACT);
1330 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1332 if (executeHelper != nullptr) {
1333 result = Scheduling(env, info, executeHelper, UPDATE_CONTACT);
1391 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1393 if (executeHelper != nullptr) {
1394 result = Scheduling(env, info, executeHelper, QUERY_CONTACT);
1449 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1451 if (executeHelper != nullptr) {
1452 result = Scheduling(env, info, executeHelper, QUERY_CONTACTS);
1512 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1514 if (executeHelper != nullptr) {
1515 result = Scheduling(env, info, executeHelper, QUERY_CONTACTS_BY_EMAIL);
1573 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1575 if (executeHelper != nullptr) {
1576 result = Scheduling(env, info, executeHelper, QUERY_CONTACTS_BY_PHONE_NUMBER);
1624 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1626 if (executeHelper != nullptr) {
1627 result = Scheduling(env, info, executeHelper, QUERY_GROUPS);
1669 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1671 if (executeHelper != nullptr) {
1672 result = Scheduling(env, info, executeHelper, QUERY_HOLDERS);
1727 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1729 if (executeHelper != nullptr) {
1730 result = Scheduling(env, info, executeHelper, QUERY_KEY);
1778 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1780 if (executeHelper != nullptr) {
1781 result = Scheduling(env, info, executeHelper, QUERY_MY_CARD);
1823 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1825 if (executeHelper != nullptr) {
1826 result = Scheduling(env, info, executeHelper, IS_MY_CARD);
1868 ExecuteHelper *executeHelper = new (std::nothrow) ExecuteHelper();
1870 if (executeHelper != nullptr) {
1871 result = Scheduling(env, info, executeHelper, IS_LOCAL_CONTACT);