tango-app-api-task 3.2.1-beta-42 → 3.2.1-beta-44

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-task",
3
- "version": "3.2.1-beta-42",
3
+ "version": "3.2.1-beta-44",
4
4
  "description": "Task",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -297,7 +297,7 @@ export async function taskDetails( req, res ) {
297
297
 
298
298
  export async function validateUser( req, res ) {
299
299
  try {
300
- if ( !req.body.assignedUsers.length ) {
300
+ if ( !req.body.assignedUsers?.length ) {
301
301
  return res.sendError( 'Please Enter User Details', 400 );
302
302
  }
303
303
 
@@ -495,11 +495,8 @@ export const validateUserv1 = async ( req, res ) => {
495
495
  };
496
496
  } else {
497
497
  if ( acc[obj.userEmail.toLowerCase()] ) {
498
- if ( acc[obj.userEmail.toLowerCase()].name.includes( obj.userName.toLowerCase() ) ) {
499
- acc[obj.userEmail.toLowerCase()].count++;
500
- } else {
501
- acc[obj.userEmail.toLowerCase()].name.push( obj.userEmail.toLowerCase() );
502
- }
498
+ acc[obj.userEmail.toLowerCase()].name.push( obj.userName.toLowerCase() );
499
+ acc[obj.userEmail.toLowerCase()].count++;
503
500
  }
504
501
  }
505
502
  return acc;
@@ -801,9 +798,10 @@ export async function userDetails( req, res ) {
801
798
  } );
802
799
  }
803
800
  } else if ( ele?.teamName ) {
804
- let teamDetails = await teamsServices.findOneTeams( { _id: ele.assignId }, { users: 1, teamName: 1 } );
801
+ let teamDetails = await teamsServices.findOneTeams( { _id: ele.assignId }, { users: 1, teamName: 1, Teamlead: 1 } );
805
802
  if ( teamDetails ) {
806
- let teamUserDetails = await userService.find( { _id: { $in: teamDetails.users.map( ( item ) => item.userId ) } } );
803
+ let idList = [ ...teamDetails.users.map( ( ele ) => ele.userId ), ...teamDetails.Teamlead.map( ( ele ) => ele.userId ) ];
804
+ let teamUserDetails = await userService.find( { _id: { $in: idList } } );
807
805
  teamUserDetails.forEach( ( item ) => {
808
806
  userDetails.push( {
809
807
  id: ele.assignId,
@@ -820,18 +818,24 @@ export async function userDetails( req, res ) {
820
818
  } );
821
819
  }
822
820
  } else {
823
- userDetails.push( {
824
- _id: ele.assignId,
825
- userName: ele.userName,
826
- userEmail: ele.userEmail,
827
- storeId: ele?.store_id,
828
- storeName: ele?.storeName,
829
- userPhone: ele.userPhone,
830
- city: ele.city,
831
- checkFlag: ele.checkFlag,
832
- clusterName: ele?.clusterName || '',
833
- teamName: ele?.teamName || '',
834
- } );
821
+ let checkActiveUsers;
822
+ if ( ele?.coverage == 'user' ) {
823
+ checkActiveUsers = await userService.findOne( { _id: ele.userId, isActive: true } );
824
+ }
825
+ if ( checkActiveUsers || ele?.coverage == 'store' ) {
826
+ userDetails.push( {
827
+ _id: ele.assignId,
828
+ userName: ele.userName,
829
+ userEmail: ele.userEmail,
830
+ storeId: ele?.store_id,
831
+ storeName: ele?.storeName,
832
+ userPhone: ele.userPhone,
833
+ city: ele.city,
834
+ checkFlag: ele.checkFlag,
835
+ clusterName: ele?.clusterName || '',
836
+ teamName: ele?.teamName || '',
837
+ } );
838
+ }
835
839
  }
836
840
  } ) );
837
841
 
@@ -1650,6 +1654,8 @@ export async function createChecklistTask( req, res ) {
1650
1654
  checkListName: data.checkListName,
1651
1655
  client_id: inputBody.clientId,
1652
1656
  userId: userId,
1657
+ assignId: storeDetails?._id,
1658
+ coverage: response?.coverage || 'store',
1653
1659
  };
1654
1660
  await taskAssignService.create( userDetails );
1655
1661
 
@@ -3780,7 +3786,7 @@ async function assignUsers( data ) {
3780
3786
  } else {
3781
3787
  let teamDetails = await teamsServices.findteams( { clientId: data.clientId, _id: new mongoose.Types.ObjectId( data.id ) } );
3782
3788
  if ( teamDetails.length ) {
3783
- let userIdList = teamDetails[0].users.map( ( ele ) => ele.userId );
3789
+ let userIdList = [ ...teamDetails[0].users.map( ( ele ) => ele.userId ), ...teamDetails[0].Teamlead.map( ( ele ) => ele.userId ) ];
3784
3790
  let userDetails = await userService.find( { _id: userIdList } );
3785
3791
  assignedData = userDetails.map( ( user ) => {
3786
3792
  let userData = {
@@ -3892,27 +3898,29 @@ export async function updateAssign( req, res ) {
3892
3898
  return res.sendError( 'No data found', 204 );
3893
3899
  }
3894
3900
  req.body.assignedGroup = [ ...new Set( req.body.assignedGroup.map( ( item ) => item.id ) ) ];
3895
- req.body.assignedGroup = req.body.assignedGroup.map( ( ele ) => {
3896
- return { id: ele };
3897
- } );
3901
+ // req.body.assignedGroup = req.body.assignedGroup.map( ( ele ) => {
3902
+ // return { id: ele };
3903
+ // } );
3898
3904
  await taskAssignService.deleteMany( { checkListId: req.body.taskId } );
3899
3905
  let assignedUserList = [];
3900
- await Promise.all( req.body.assignedList.map( async ( assign ) => {
3901
- let query = [
3902
- {
3903
- $addFields: {
3904
- emailToLower: { $toLower: '$email' },
3905
- },
3906
+ let userEmailList = req.body.assignedList.map( ( ele ) => ele.userEmail.toLowerCase() );
3907
+ let query = [
3908
+ {
3909
+ $addFields: {
3910
+ emailToLower: { $toLower: '$email' },
3906
3911
  },
3907
- {
3908
- $match: {
3909
- clientId: req.body.clientId,
3910
- emailToLower: assign.userEmail.toLowerCase(),
3911
- },
3912
+ },
3913
+ {
3914
+ $match: {
3915
+ clientId: req.body.clientId,
3916
+ emailToLower: { $in: userEmailList },
3912
3917
  },
3913
- ];
3914
- let userDetails = await userService.aggregate( query );
3915
- if ( !userDetails.length ) {
3918
+ },
3919
+ ];
3920
+ let assignUserDetails = await userService.aggregate( query );
3921
+ await Promise.all( req.body.assignedList.map( async ( assign ) => {
3922
+ let userDetails = assignUserDetails.find( ( ele ) => ele.email.toLowerCase() == assign.userEmail.toLowerCase() );
3923
+ if ( !userDetails ) {
3916
3924
  let userData = {
3917
3925
  userName: assign.userName,
3918
3926
  email: assign.userEmail,
@@ -3920,7 +3928,6 @@ export async function updateAssign( req, res ) {
3920
3928
  clientId: req.body.clientId,
3921
3929
  };
3922
3930
  userDetails = await createUser( userData );
3923
- userDetails = [ userDetails ];
3924
3931
  }
3925
3932
  let data = {
3926
3933
  ...assign,
@@ -3929,25 +3936,26 @@ export async function updateAssign( req, res ) {
3929
3936
  checkListId: req.body.taskId,
3930
3937
  coverage: req.body.coverage,
3931
3938
  assignId: assign._id,
3932
- userId: userDetails?.[0]?._id,
3939
+ userId: userDetails?._id,
3933
3940
  checkListName: taskDetails.checkListName,
3934
3941
  };
3935
3942
  delete data._id;
3936
3943
  assignedUserList.push( data );
3937
3944
  } ) );
3945
+ let assignGroupDetails = [];
3946
+ if ( req.body.coverage == 'store' ) {
3947
+ assignGroupDetails = await clusterServices.findcluster( { _id: { $in: req.body.assignedGroup } } );
3948
+ } else {
3949
+ assignGroupDetails = await teamsServices.findteams( { _id: { $in: req.body.assignedGroup } } );
3950
+ }
3938
3951
  await Promise.all( req.body.assignedGroup.map( async ( assign ) => {
3939
- let groupDetails;
3940
- if ( req.body.coverage == 'store' ) {
3941
- groupDetails = await clusterServices.findOneCluster( { _id: assign.id } );
3942
- } else {
3943
- groupDetails = await teamsServices.findOneTeams( { _id: assign.id } );
3944
- }
3952
+ let groupDetails = assignGroupDetails.find( ( ele ) => ele._id.toString() == assign );
3945
3953
  if ( groupDetails ) {
3946
3954
  let groupData = {
3947
3955
  client_id: req.body.clientId,
3948
3956
  checkListId: req.body.taskId,
3949
3957
  coverage: req.body.coverage,
3950
- assignId: assign.id,
3958
+ assignId: assign,
3951
3959
  checkListName: taskDetails.checkListName,
3952
3960
  ...( req.body.coverage == 'store' ) ? { clusterName: groupDetails?.clusterName } : { teamName: groupDetails?.teamName },
3953
3961
  };