tango-app-api-trax 3.3.1-beta-56 → 3.3.1-beta-58

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tango-app-api-trax",
3
- "version": "3.3.1-beta-56",
3
+ "version": "3.3.1-beta-58",
4
4
  "description": "Trax",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -1010,10 +1010,10 @@ export const assignedUserDetailsv1 = async ( req, res ) => {
1010
1010
  let storeDetails = await storeService.find( { _id: { $in: clusterDetails.stores.map( ( item ) => item.store ) }, status: 'active' } );
1011
1011
  storeDetails.forEach( ( item ) => {
1012
1012
  userDetails.push( {
1013
- id: ele.assignId,
1013
+ _id: ele.assignId,
1014
1014
  userName: item.spocDetails?.[0]?.name,
1015
1015
  userEmail: item.spocDetails?.[0]?.email,
1016
- store_id: item?.storeId,
1016
+ storeId: item?.storeId,
1017
1017
  storeName: item?.storeName,
1018
1018
  userPhone: item.spocDetails?.[0]?.phone,
1019
1019
  city: ele?.city,
@@ -1029,10 +1029,10 @@ export const assignedUserDetailsv1 = async ( req, res ) => {
1029
1029
  let teamUserDetails = await userService.find( { _id: { $in: teamDetails.users.map( ( item ) => item.userId ) } } );
1030
1030
  teamUserDetails.forEach( ( item ) => {
1031
1031
  userDetails.push( {
1032
- id: ele.assignId,
1032
+ _id: ele.assignId,
1033
1033
  userName: item.userName,
1034
1034
  userEmail: item.email,
1035
- store_id: ele?.storeId,
1035
+ storeId: ele?.storeId,
1036
1036
  storeName: ele?.storeName,
1037
1037
  userPhone: item?.mobileNumber,
1038
1038
  city: ele?.city,
@@ -1044,10 +1044,10 @@ export const assignedUserDetailsv1 = async ( req, res ) => {
1044
1044
  }
1045
1045
  } else {
1046
1046
  userDetails.push( {
1047
- id: ele.assignId,
1047
+ _id: ele.assignId,
1048
1048
  userName: ele.userName,
1049
1049
  userEmail: ele.userEmail,
1050
- store_id: ele?.store_id,
1050
+ storeId: ele?.store_id,
1051
1051
  storeName: ele?.storeName,
1052
1052
  userPhone: ele.userPhone,
1053
1053
  city: ele.city,
@@ -2068,8 +2068,10 @@ export const validateUserv1 = async ( req, res ) => {
2068
2068
  ] );
2069
2069
 
2070
2070
 
2071
+ existEmail = existEmail.map( ( ele ) => ele.newEmail );
2071
2072
  let existUserEmail = userDetails.map( ( ele ) => ele.newEmail );
2072
- let newUserList = userEmailList.filter( ( ele ) => !existUserEmail.includes( ele ) );
2073
+ let newUserList = userEmailList.filter( ( ele ) => !existUserEmail.includes( ele ) && !existEmail.includes( ele ) );
2074
+ let inActiveStores = storeDetails.filter( ( ele ) => ele.status == 'deactive' ).map( ( ele ) => ele.storeName );
2073
2075
 
2074
2076
  let existsStore = storeDetails.map( ( ele ) => ele?.storeName );
2075
2077
  let newStoreList = storeList.filter( ( ele ) => ele != null && !existsStore.includes( ele.toLowerCase() ) );
@@ -2090,21 +2092,21 @@ export const validateUserv1 = async ( req, res ) => {
2090
2092
  } );
2091
2093
  }
2092
2094
 
2093
- if ( ( newUserList.length || newStoreList.length || existEmail.length ) && !req.body?.addUser ) {
2094
- return res.sendError( { validate: false, user: newUserList, store: newStoreList, existEmail, data: assignDetails }, 400 );
2095
+ if ( ( newUserList.length || newStoreList.length || existEmail.length || inActiveStores.length ) && !req.body?.addUser ) {
2096
+ return res.sendError( { validate: false, user: newUserList, store: newStoreList, existEmail, inActiveStores, data: assignDetails }, 400 );
2095
2097
  }
2096
2098
  if ( req.body.coverage == 'user' ) {
2097
2099
  await Promise.all( newUserList.map( async ( ele ) => {
2098
- let findUser = assignDetails.findIndex( ( item ) => item?.userEmail?.toLowerCase() == ele?.toLowerCase() );
2099
- if ( findUser != -1 ) {
2100
+ let findUserIndex = assignDetails.findIndex( ( item ) => item?.userEmail?.toLowerCase() == ele?.toLowerCase() );
2101
+ if ( findUserIndex != -1 ) {
2100
2102
  let data = {
2101
- userName: findUser.userName,
2103
+ userName: assignDetails[findUserIndex]?.userName,
2102
2104
  email: ele,
2103
- mobileNumber: findUser?.mobileNumber,
2105
+ mobileNumber: assignDetails[findUserIndex]?.mobileNumber,
2104
2106
  clientId: req.body.clientId,
2105
2107
  };
2106
2108
  let response = await createUser( data );
2107
- findUser._id = response._id;
2109
+ assignDetails[findUserIndex]._id = response._id;
2108
2110
  }
2109
2111
  } ) );
2110
2112
  }
@@ -3653,9 +3655,36 @@ export async function checklistAssign( req, res ) {
3653
3655
  clientId: req.body.clientId,
3654
3656
  };
3655
3657
  let uploadData = await assignUsers( assignedData );
3656
- uniqueArr.push( ...uploadData );
3658
+ if ( uploadData.length ) {
3659
+ uniqueArr.push( ...uploadData );
3660
+ }
3657
3661
  } ) );
3658
3662
 
3663
+ if ( uniqueArr.length ) {
3664
+ if ( req.body.coverage == 'store' ) {
3665
+ uniqueArr = uniqueArr.reduce( ( acc, obj ) => {
3666
+ if ( acc[obj.storeName] ) {
3667
+ acc[obj.storeName].clusterName += ',' + obj.clusterName;
3668
+ } else {
3669
+ acc[obj.storeName] = { ...obj };
3670
+ }
3671
+ return acc;
3672
+ }, {} );
3673
+
3674
+ uniqueArr= Object.values( uniqueArr );
3675
+ } else {
3676
+ uniqueArr = uniqueArr.reduce( ( acc, obj ) => {
3677
+ if ( acc[obj.userEmail] ) {
3678
+ acc[obj.userEmail].teamName += ','+ obj.teamName;
3679
+ } else {
3680
+ acc[obj.userEmail] = { ...obj };
3681
+ }
3682
+ return acc;
3683
+ }, {} );
3684
+ uniqueArr = Object.values( uniqueArr );
3685
+ }
3686
+ }
3687
+
3659
3688
  return res.sendSuccess( { count: uniqueArr.length, uniqueArr } );
3660
3689
  } catch ( e ) {
3661
3690
  logger.error( { functionName: 'checklistAssign', error: e } );