185 lines
7.5 KiB
TypeScript
185 lines
7.5 KiB
TypeScript
// Module ID: 11707
|
|
// Function ID: 90877
|
|
// Name: isContactSyncAvailable
|
|
// Dependencies: [5, 27, 4813, 11706, 11705, 653, 478, 4943, 480, 686, 11708, 3804, 1184, 566, 1360, 1921, 3828, 4338, 2]
|
|
// Exports: adminDeleteContactSync, bulkAddFriends, checkContactPermissions, getContacts, getImageForContactId, getStoredContacts, handleOpenLearnMoreLink, transitionToAddFriendsLandingPage, uploadContacts, useContactSyncAccount, useContactSyncEnabled, useContactSyncUserIsDiscoverable
|
|
|
|
// Module 11707 (isContactSyncAvailable)
|
|
import closure_3 from "ME";
|
|
import { NativeModules } from "get ActivityIndicator";
|
|
import _isNativeReflectConstruct from "_isNativeReflectConstruct";
|
|
import setStoredContacts from "setStoredContacts";
|
|
import ContactSyncLandingPage from "ContactSyncLandingPage";
|
|
import ME from "ME";
|
|
|
|
let closure_10;
|
|
let closure_11;
|
|
let closure_12;
|
|
let closure_13;
|
|
let closure_14;
|
|
let closure_15;
|
|
let closure_6;
|
|
let closure_7;
|
|
let closure_8;
|
|
let closure_9;
|
|
const require = arg1;
|
|
function isContactSyncAvailable() {
|
|
const tmp = !require(478) /* isWindows */.isIOS();
|
|
let tmp2 = !tmp;
|
|
if (tmp) {
|
|
const DCDContactSyncManager = NativeModules.DCDContactSyncManager;
|
|
let prop;
|
|
if (null != DCDContactSyncManager) {
|
|
prop = DCDContactSyncManager.isContactSyncSupported;
|
|
}
|
|
tmp2 = null != prop && prop;
|
|
const tmp6 = null != prop && prop;
|
|
}
|
|
return tmp2;
|
|
}
|
|
function _uploadContacts() {
|
|
// CreateGeneratorClosureLongIndex (0x67)
|
|
const obj = callback(tmp);
|
|
return obj(...arguments);
|
|
}
|
|
function isContactSyncEnabled(contactSyncAccount) {
|
|
let tmp = null != contactSyncAccount && contactSyncAccount.friendSync;
|
|
if (tmp) {
|
|
tmp = contactSyncAccount.type === constants2.CONTACTS;
|
|
}
|
|
return tmp;
|
|
}
|
|
function getOpenLearnMoreUrl() {
|
|
return importDefault(1921).getArticleURL(constants4.CONTACT_SYNC);
|
|
}
|
|
({ useContactSyncStore: closure_6, clearDismissState: closure_7, deleteStoredContacts: closure_8 } = setStoredContacts);
|
|
({ CONTACT_SYNC_MODAL_KEY: closure_9, ContactPermissions: closure_10, ContactSyncSuggestionsSetting: closure_11 } = ContactSyncLandingPage);
|
|
({ Endpoints: closure_12, PlatformTypes: closure_13, FriendDiscoveryFlags: closure_14, HelpdeskArticles: closure_15 } = ME);
|
|
const error = new Error("No contact permissions");
|
|
const error1 = new Error("No phone number");
|
|
const error2 = new Error("Failed to fetch contact image");
|
|
let result = require("_isNativeReflectConstruct").fileFinishedImporting("modules/contact_sync/native/ContactSyncUtils.tsx");
|
|
|
|
export const ContactSyncPermissionDenied = error;
|
|
export const ContactSyncFailedUserHasNoPhone = error1;
|
|
export const ContactImageFetchFailed = error2;
|
|
export { isContactSyncAvailable };
|
|
export const checkContactPermissions = function checkContactPermissions() {
|
|
if (isContactSyncAvailable()) {
|
|
const DCDContactSyncManager = NativeModules.DCDContactSyncManager;
|
|
let result = DCDContactSyncManager.hasContactsPermissions();
|
|
} else {
|
|
result = Promise.resolve(constants.UNAUTHORIZED);
|
|
}
|
|
return result;
|
|
};
|
|
export const uploadContacts = function uploadContacts(payload, arg1) {
|
|
return _uploadContacts(...arguments);
|
|
};
|
|
export const bulkAddFriends = function bulkAddFriends(arr, bulkAddToken) {
|
|
let obj = importDefault(4943);
|
|
obj = { url: closure_12.USER_BULK_RELATIONSHIPS, body: obj };
|
|
obj = { user_ids: arr, token: bulkAddToken, trackedActionData: { event: require(480) /* isThrottled */.NetworkActionNames.USER_BULK_RELATIONSHIPS_UPDATE }, rejectWithError: false };
|
|
const obj1 = { event: require(480) /* isThrottled */.NetworkActionNames.USER_BULK_RELATIONSHIPS_UPDATE };
|
|
return obj.post(obj).then((body) => body.body);
|
|
};
|
|
export const adminDeleteContactSync = function adminDeleteContactSync() {
|
|
callback2();
|
|
callback3();
|
|
let obj = require(11708) /* _isNativeReflectConstruct */;
|
|
const result = obj.removeLastUserContactsUpload();
|
|
const ContactSyncEnabled = require(3804) /* explicitContentFromProto */.ContactSyncEnabled;
|
|
ContactSyncEnabled.updateSetting(false);
|
|
obj = { url: closure_12.CONNECTION(constants2.CONTACTS, "@me"), oldFormErrors: true };
|
|
obj = { event: require(480) /* isThrottled */.NetworkActionNames.USER_CONNECTIONS_UPDATE };
|
|
obj.trackedActionData = obj;
|
|
obj.rejectWithError = false;
|
|
return importDefault(4943).delete(obj);
|
|
};
|
|
export const getImageForContactId = function getImageForContactId(closure_0, arg1) {
|
|
let DCDContactSyncManager = NativeModules.DCDContactSyncManager;
|
|
return new Promise((closure_0) => {
|
|
const DCDContactSyncManager = arg1;
|
|
const imageForContactId = DCDContactSyncManager.getImageForContactId(closure_0, (arg0, str) => {
|
|
if (null == arg0) {
|
|
callback(str.replace(/(\r\n|\n|\r)/gm, ""));
|
|
} else {
|
|
callback2(outer2_17);
|
|
}
|
|
});
|
|
});
|
|
};
|
|
export const getContacts = function getContacts(arg0, storedContacts) {
|
|
let str = storedContacts;
|
|
let closure_0 = arg0;
|
|
if (storedContacts === undefined) {
|
|
str = "";
|
|
}
|
|
let DCDContactSyncManager;
|
|
DCDContactSyncManager = NativeModules.DCDContactSyncManager;
|
|
return new Promise((closure_0, closure_1) => {
|
|
DCDContactSyncManager.syncContacts(closure_1, closure_0, (arg0, names, payload) => {
|
|
if (null == arg0) {
|
|
const _JSON = JSON;
|
|
while (true) {
|
|
let tmp7 = globalThis;
|
|
let _Object = Object;
|
|
let values = Object.values(tmp6);
|
|
let found = values.find((phone) => phone.phone === closure_0);
|
|
let tmp9 = found;
|
|
let unencryptedName;
|
|
if (null == found) {
|
|
break;
|
|
} else {
|
|
unencryptedName = found.unencryptedName;
|
|
break;
|
|
}
|
|
let tmp11 = unencryptedName;
|
|
let obj = { names };
|
|
let tmp13 = null;
|
|
let tmp12 = closure_0;
|
|
if (null != unencryptedName) {
|
|
tmp13 = unencryptedName;
|
|
}
|
|
obj.ownName = tmp13;
|
|
obj.payload = payload;
|
|
let tmp12Result = tmp12(obj);
|
|
}
|
|
} else {
|
|
callback(outer2_16);
|
|
}
|
|
});
|
|
});
|
|
};
|
|
export const getStoredContacts = function getStoredContacts() {
|
|
const parsed = JSON.parse(state.getState().storedContacts);
|
|
};
|
|
export const useContactSyncAccount = function useContactSyncAccount() {
|
|
const items = [_isNativeReflectConstruct];
|
|
return require(566) /* initialize */.useStateFromStores(items, () => outer1_5.getLocalAccount(outer1_13.CONTACTS));
|
|
};
|
|
export const useContactSyncEnabled = function useContactSyncEnabled() {
|
|
const items = [_isNativeReflectConstruct];
|
|
return require(566) /* initialize */.useStateFromStores(items, () => outer1_20(outer1_5.getLocalAccount(outer1_13.CONTACTS)));
|
|
};
|
|
export const useContactSyncUserIsDiscoverable = function useContactSyncUserIsDiscoverable() {
|
|
const FriendDiscoverySettings = require(3804) /* explicitContentFromProto */.FriendDiscoverySettings;
|
|
const setting = FriendDiscoverySettings.useSetting();
|
|
let obj = require(1360) /* hasFlag */;
|
|
let hasFlagResult = obj.hasFlag(setting, constants3.FIND_BY_PHONE);
|
|
const hasFlagResult1 = require(1360) /* hasFlag */.hasFlag(setting, constants3.FIND_BY_EMAIL);
|
|
obj = { phone: hasFlagResult, email: hasFlagResult1 };
|
|
if (!hasFlagResult) {
|
|
hasFlagResult = hasFlagResult1;
|
|
}
|
|
obj.any = hasFlagResult;
|
|
return obj;
|
|
};
|
|
export { isContactSyncEnabled };
|
|
export { getOpenLearnMoreUrl };
|
|
export const handleOpenLearnMoreLink = function handleOpenLearnMoreLink() {
|
|
importDefault(3828).openURL(getOpenLearnMoreUrl());
|
|
};
|
|
export const transitionToAddFriendsLandingPage = function transitionToAddFriendsLandingPage() {
|
|
importDefault(4338).popWithKey(closure_9);
|
|
};
|