tango-app-api-trax 3.3.1-beta-55 → 3.3.1-beta-57

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-55",
3
+ "version": "3.3.1-beta-57",
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,
@@ -2090,9 +2090,24 @@ export const validateUserv1 = async ( req, res ) => {
2090
2090
  } );
2091
2091
  }
2092
2092
 
2093
- if ( newUserList.length || newStoreList.length || existEmail.length ) {
2093
+ if ( ( newUserList.length || newStoreList.length || existEmail.length ) && !req.body?.addUser ) {
2094
2094
  return res.sendError( { validate: false, user: newUserList, store: newStoreList, existEmail, data: assignDetails }, 400 );
2095
2095
  }
2096
+ if ( req.body.coverage == 'user' ) {
2097
+ await Promise.all( newUserList.map( async ( ele ) => {
2098
+ let findUser = assignDetails.findIndex( ( item ) => item?.userEmail?.toLowerCase() == ele?.toLowerCase() );
2099
+ if ( findUser != -1 ) {
2100
+ let data = {
2101
+ userName: findUser.userName,
2102
+ email: ele,
2103
+ mobileNumber: findUser?.mobileNumber,
2104
+ clientId: req.body.clientId,
2105
+ };
2106
+ let response = await createUser( data );
2107
+ findUser._id = response._id;
2108
+ }
2109
+ } ) );
2110
+ }
2096
2111
  return res.sendSuccess( { validate: true, data: assignDetails } );
2097
2112
  } catch ( e ) {
2098
2113
  logger.error( 'validateUser 2=>', e );
@@ -3595,6 +3610,7 @@ async function assignUsers( data ) {
3595
3610
  }
3596
3611
  } else {
3597
3612
  let teamDetails = await teamsServices.findteams( { clientId: data.clientId, _id: new mongoose.Types.ObjectId( data.id ) } );
3613
+ console.log( teamDetails, 'team' );
3598
3614
  if ( teamDetails.length ) {
3599
3615
  let userIdList = teamDetails[0].users.map( ( ele ) => ele.userId );
3600
3616
  let userDetails = await userService.find( { _id: userIdList } );
@@ -3637,9 +3653,36 @@ export async function checklistAssign( req, res ) {
3637
3653
  clientId: req.body.clientId,
3638
3654
  };
3639
3655
  let uploadData = await assignUsers( assignedData );
3640
- uniqueArr.push( ...uploadData );
3656
+ if ( uploadData.length ) {
3657
+ uniqueArr.push( ...uploadData );
3658
+ }
3641
3659
  } ) );
3642
3660
 
3661
+ if ( uniqueArr.length ) {
3662
+ if ( req.body.coverage == 'store' ) {
3663
+ uniqueArr = uniqueArr.reduce( ( acc, obj ) => {
3664
+ if ( acc[obj.storeName] ) {
3665
+ acc[obj.storeName].clusterName += ',' + obj.clusterName;
3666
+ } else {
3667
+ acc[obj.storeName] = { ...obj };
3668
+ }
3669
+ return acc;
3670
+ }, {} );
3671
+
3672
+ uniqueArr= Object.values( uniqueArr );
3673
+ } else {
3674
+ uniqueArr = uniqueArr.reduce( ( acc, obj ) => {
3675
+ if ( acc[obj.userEmail] ) {
3676
+ acc[obj.userEmail].teamName += ','+ obj.teamName;
3677
+ } else {
3678
+ acc[obj.userEmail] = { ...obj };
3679
+ }
3680
+ return acc;
3681
+ }, {} );
3682
+ uniqueArr = Object.values( uniqueArr );
3683
+ }
3684
+ }
3685
+
3643
3686
  return res.sendSuccess( { count: uniqueArr.length, uniqueArr } );
3644
3687
  } catch ( e ) {
3645
3688
  logger.error( { functionName: 'checklistAssign', error: e } );
@@ -3688,7 +3731,7 @@ export async function updateAssign( req, res ) {
3688
3731
  }
3689
3732
  let data = {
3690
3733
  ...assign,
3691
- store_id: assign.storeId,
3734
+ store_id: assign?.storeId,
3692
3735
  client_id: req.body.clientId,
3693
3736
  checkListId: req.body.checkListId,
3694
3737
  coverage: req.body.coverage,