abmp-npm 1.1.94 → 1.1.96

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.
@@ -11,7 +11,7 @@ const elevatedCreateContact = auth.elevate(contacts.createContact);
11
11
  * @param {boolean} allowDuplicates - Allow duplicates if contact with same email already exists, will be true only when handling existing members, after that should be removed
12
12
  * @returns {Promise<Object>} - Contact data
13
13
  */
14
- async function createSiteContact(contactData, allowDuplicates = false) {
14
+ async function createContact(contactData, allowDuplicates = false) {
15
15
  if (!contactData || !(contactData.contactFormEmail || contactData.email)) {
16
16
  throw new Error('Contact data is required');
17
17
  }
@@ -22,10 +22,10 @@ async function createSiteContact(contactData, allowDuplicates = false) {
22
22
  first: contactData.firstName,
23
23
  last: contactData.lastName,
24
24
  },
25
- emails: {
26
- items: [{ email: contactData.contactFormEmail || contactData.email, primary: true }],
27
- },
28
- phones: { items: phones.map(phone => ({ phone })) },
25
+ emails: [
26
+ { items: [{ email: contactData.contactFormEmail || contactData.email, primary: true }] },
27
+ ],
28
+ phones: [{ items: phones.map(phone => ({ phone })) }],
29
29
  };
30
30
  const createContactResponse = await elevatedCreateContact(contactInfo, { allowDuplicates });
31
31
  return createContactResponse.contact._id;
@@ -157,5 +157,5 @@ const updateMemberContactInfo = async (data, existingMemberData) => {
157
157
 
158
158
  module.exports = {
159
159
  updateMemberContactInfo,
160
- createSiteContact,
160
+ createContact,
161
161
  };
@@ -5,7 +5,7 @@ const { decode } = require('jwt-js-decode');
5
5
  const { CONFIG_KEYS, SSO_TOKEN_AUTH_API_URL } = require('../consts');
6
6
  const { MEMBER_ACTIONS } = require('../daily-pull/consts');
7
7
  const { getCurrentMember } = require('../members-area-methods');
8
- const { getCMSMemberByWixMemberId, prepareMemberForSSOLogin } = require('../members-data-methods');
8
+ const { getMemberByContactId, prepareMemberForSSOLogin } = require('../members-data-methods');
9
9
  const {
10
10
  formatDateToMonthYear,
11
11
  getAddressDisplayOptions,
@@ -37,12 +37,12 @@ async function validateMemberToken(memberIdInput) {
37
37
  }
38
38
 
39
39
  const [dbMember, siteConfigs] = await Promise.all([
40
- getCMSMemberByWixMemberId(member._id),
40
+ getMemberByContactId(member._id),
41
41
  getSiteConfigs(),
42
42
  ]);
43
43
  const siteAssociation = siteConfigs[CONFIG_KEYS.SITE_ASSOCIATION];
44
44
  const membersExternalPortalUrl = siteConfigs[CONFIG_KEYS.MEMBERS_EXTERNAL_PORTAL_URL];
45
- console.log('dbMember by wix member id is:', dbMember);
45
+ console.log('dbMember by contact id is:', dbMember);
46
46
  console.log('member._id', member._id);
47
47
 
48
48
  if (!dbMember?._id) {
@@ -1,7 +1,7 @@
1
1
  const { COLLECTIONS } = require('../public/consts');
2
2
 
3
3
  const { MEMBERSHIPS_TYPES } = require('./consts');
4
- const { updateMemberContactInfo, createSiteContact } = require('./contacts-methods');
4
+ const { updateMemberContactInfo, createContact } = require('./contacts-methods');
5
5
  const { MEMBER_ACTIONS } = require('./daily-pull/consts');
6
6
  const { wixData } = require('./elevated-modules');
7
7
  const { createSiteMember, getCurrentMember } = require('./members-area-methods');
@@ -42,17 +42,14 @@ async function createContactAndMemberIfNew(memberData) {
42
42
  phones: memberData.phones,
43
43
  contactFormEmail: memberData.contactFormEmail || memberData.email,
44
44
  };
45
- const needsWixMember = !memberData.wixMemberId;
46
- const needsWixContact = !memberData.wixContactId;
47
- const createPromises = [
48
- needsWixMember && createSiteMember(toCreateMemberData),
49
- needsWixContact && createSiteContact(toCreateMemberData),
50
- ].filter(Boolean);
51
- const [newWixMemberId, newWixContactId] = await Promise.all(createPromises);
45
+ const [wixMemberId, wixContactId] = await Promise.all([
46
+ createSiteMember(toCreateMemberData),
47
+ createContact(toCreateMemberData),
48
+ ]);
52
49
  let memberDataWithContactId = {
53
50
  ...memberData,
54
- wixMemberId: newWixMemberId || memberData.wixMemberId,
55
- wixContactId: newWixContactId || memberData.wixContactId,
51
+ wixMemberId,
52
+ wixContactId,
56
53
  };
57
54
  const updatedResult = await updateMember(memberDataWithContactId);
58
55
  memberDataWithContactId = {
@@ -176,26 +173,26 @@ async function getMemberBySlug({
176
173
  }
177
174
  }
178
175
 
179
- async function getCMSMemberByWixMemberId(wixMemberId) {
180
- if (!wixMemberId) {
181
- throw new Error('Wix Member ID is required');
176
+ async function getMemberByContactId(contactId) {
177
+ if (!contactId) {
178
+ throw new Error('Contact ID is required');
182
179
  }
183
180
  try {
184
181
  const members = await wixData
185
182
  .query(COLLECTIONS.MEMBERS_DATA)
186
- .eq('wixMemberId', wixMemberId)
183
+ .eq('contactId', contactId)
187
184
  .limit(2)
188
185
  .find()
189
186
  .then(res => res.items);
190
187
  if (members.length > 1) {
191
188
  throw new Error(
192
- `[getCMSMemberByWixMemberId] Multiple members found with wixMemberId ${wixMemberId} membersIds are : [${members.map(member => member.memberId).join(', ')}]`
189
+ `[getMemberByContactId] Multiple members found with contactId ${contactId} membersIds are : [${members.map(member => member.memberId).join(', ')}]`
193
190
  );
194
191
  }
195
192
  return members[0] || null;
196
193
  } catch (error) {
197
194
  throw new Error(
198
- `[getCMSMemberByWixMemberId] Failed to retrieve member by wixMemberId ${wixMemberId} data: ${error.message}`
195
+ `[getMemberByContactId] Failed to retrieve member by contactId ${contactId} data: ${error.message}`
199
196
  );
200
197
  }
201
198
  }
@@ -459,11 +456,11 @@ const getQAUsers = async () => {
459
456
  * @param {Object} memberData - Member data from DB
460
457
  * @returns {Promise<Object>} - Member data with contactId
461
458
  */
462
- async function ensureWixMemberAndContactExist(memberData) {
459
+ async function ensureMemberHasContact(memberData) {
463
460
  if (!memberData) {
464
461
  throw new Error('Member data is required');
465
462
  }
466
- if (!memberData.wixContactId || !memberData.wixMemberId) {
463
+ if (!memberData.contactId) {
467
464
  const memberDataWithContactId = await createContactAndMemberIfNew(memberData);
468
465
  return memberDataWithContactId;
469
466
  }
@@ -481,7 +478,7 @@ async function prepareMemberForSSOLogin(data) {
481
478
  throw new Error(`Member data not found for memberId ${memberId}`);
482
479
  }
483
480
  console.log('memberData', memberData);
484
- return await ensureWixMemberAndContactExist(memberData);
481
+ return await ensureMemberHasContact(memberData);
485
482
  } catch (error) {
486
483
  console.error('Error in prepareMemberForSSOLogin', error.message);
487
484
  throw error;
@@ -498,7 +495,7 @@ async function prepareMemberForQALogin(email) {
498
495
  throw new Error(`Member data not found for email ${email}`);
499
496
  }
500
497
  console.log('memberData', memberData);
501
- return await ensureWixMemberAndContactExist(memberData);
498
+ return await ensureMemberHasContact(memberData);
502
499
  } catch (error) {
503
500
  console.error('Error in prepareMemberForQALogin', error.message);
504
501
  throw error;
@@ -520,7 +517,7 @@ async function trackButtonClick({ pageName, buttonName }) {
520
517
  return null;
521
518
  }
522
519
 
523
- const dbMember = await getCMSMemberByWixMemberId(wixMember._id);
520
+ const dbMember = await getMemberByContactId(wixMember._id);
524
521
 
525
522
  if (!dbMember) {
526
523
  console.warn(
@@ -557,7 +554,7 @@ module.exports = {
557
554
  bulkSaveMembers,
558
555
  findMemberById,
559
556
  getMemberBySlug,
560
- getCMSMemberByWixMemberId,
557
+ getMemberByContactId,
561
558
  getAllEmptyAboutYouMembers,
562
559
  updateMember,
563
560
  getAllMembersWithExternalImages,
@@ -151,7 +151,10 @@ async function updateMemberProfileImage(memberId) {
151
151
  return { success: true, message: 'Invalid image URL format - skipped' };
152
152
  }
153
153
 
154
- const response = await axios.get(member.profileImage, {
154
+ // Encode URL to handle spaces and special characters in the path
155
+ const encodedImageUrl = encodeURI(member.profileImage);
156
+
157
+ const response = await axios.get(encodedImageUrl, {
155
158
  responseType: 'arraybuffer',
156
159
  headers: {
157
160
  'User-Agent':
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "abmp-npm",
3
- "version": "1.1.94",
3
+ "version": "1.1.96",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "check-cycles": "madge --circular .",
package/pages/Profile.js CHANGED
@@ -111,11 +111,11 @@ async function profileOnReady({ $w: _$w }) {
111
111
  }
112
112
 
113
113
  function bindProfileImages() {
114
- // if (profileData.logoImage) {
115
- // _$w('#logoImage').src = profileData.logoImage;
116
- // } else {
117
- // _$w('#logoImage').delete();
118
- // }
114
+ if (profileData.logoImage) {
115
+ _$w('#logoImage').src = profileData.logoImage;
116
+ } else {
117
+ _$w('#logoImage').delete();
118
+ }
119
119
 
120
120
  if (profileData.profileImage) {
121
121
  _$w('#profileImage').src = profileData.profileImage;