tango-app-api-task 3.2.1-beta-41 → 3.2.1-beta-43

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-41",
3
+ "version": "3.2.1-beta-43",
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
 
@@ -457,7 +457,7 @@ export async function validateUser( req, res ) {
457
457
 
458
458
  export const validateUserv1 = async ( req, res ) => {
459
459
  try {
460
- if ( !req.body.assignedUsers.length ) {
460
+ if ( !req.body.assignedUsers?.length ) {
461
461
  return res.sendError( 'Please Enter user Details', 400 );
462
462
  }
463
463
 
@@ -801,9 +801,10 @@ export async function userDetails( req, res ) {
801
801
  } );
802
802
  }
803
803
  } else if ( ele?.teamName ) {
804
- let teamDetails = await teamsServices.findOneTeams( { _id: ele.assignId }, { users: 1, teamName: 1 } );
804
+ let teamDetails = await teamsServices.findOneTeams( { _id: ele.assignId }, { users: 1, teamName: 1, Teamlead: 1 } );
805
805
  if ( teamDetails ) {
806
- let teamUserDetails = await userService.find( { _id: { $in: teamDetails.users.map( ( item ) => item.userId ) } } );
806
+ let idList = [ ...teamDetails.users.map( ( ele ) => ele.userId ), ...teamDetails.Teamlead.map( ( ele ) => ele.userId ) ];
807
+ let teamUserDetails = await userService.find( { _id: { $in: idList } } );
807
808
  teamUserDetails.forEach( ( item ) => {
808
809
  userDetails.push( {
809
810
  id: ele.assignId,
@@ -820,18 +821,24 @@ export async function userDetails( req, res ) {
820
821
  } );
821
822
  }
822
823
  } 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
- } );
824
+ let checkActiveUsers;
825
+ if ( ele?.coverage == 'user' ) {
826
+ checkActiveUsers = await userService.findOne( { _id: ele.userId, isActive: true } );
827
+ }
828
+ if ( checkActiveUsers || ele?.coverage == 'store' ) {
829
+ userDetails.push( {
830
+ _id: ele.assignId,
831
+ userName: ele.userName,
832
+ userEmail: ele.userEmail,
833
+ storeId: ele?.store_id,
834
+ storeName: ele?.storeName,
835
+ userPhone: ele.userPhone,
836
+ city: ele.city,
837
+ checkFlag: ele.checkFlag,
838
+ clusterName: ele?.clusterName || '',
839
+ teamName: ele?.teamName || '',
840
+ } );
841
+ }
835
842
  }
836
843
  } ) );
837
844
 
@@ -1650,6 +1657,7 @@ export async function createChecklistTask( req, res ) {
1650
1657
  checkListName: data.checkListName,
1651
1658
  client_id: inputBody.clientId,
1652
1659
  userId: userId,
1660
+ assignId: storeDetails?._id,
1653
1661
  };
1654
1662
  await taskAssignService.create( userDetails );
1655
1663
 
@@ -3780,7 +3788,7 @@ async function assignUsers( data ) {
3780
3788
  } else {
3781
3789
  let teamDetails = await teamsServices.findteams( { clientId: data.clientId, _id: new mongoose.Types.ObjectId( data.id ) } );
3782
3790
  if ( teamDetails.length ) {
3783
- let userIdList = teamDetails[0].users.map( ( ele ) => ele.userId );
3791
+ let userIdList = [ ...teamDetails[0].users.map( ( ele ) => ele.userId ), ...teamDetails[0].Teamlead.map( ( ele ) => ele.userId ) ];
3784
3792
  let userDetails = await userService.find( { _id: userIdList } );
3785
3793
  assignedData = userDetails.map( ( user ) => {
3786
3794
  let userData = {
@@ -3892,27 +3900,29 @@ export async function updateAssign( req, res ) {
3892
3900
  return res.sendError( 'No data found', 204 );
3893
3901
  }
3894
3902
  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
- } );
3903
+ // req.body.assignedGroup = req.body.assignedGroup.map( ( ele ) => {
3904
+ // return { id: ele };
3905
+ // } );
3898
3906
  await taskAssignService.deleteMany( { checkListId: req.body.taskId } );
3899
3907
  let assignedUserList = [];
3900
- await Promise.all( req.body.assignedList.map( async ( assign ) => {
3901
- let query = [
3902
- {
3903
- $addFields: {
3904
- emailToLower: { $toLower: '$email' },
3905
- },
3908
+ let userEmailList = req.body.assignedList.map( ( ele ) => ele.userEmail.toLowerCase() );
3909
+ let query = [
3910
+ {
3911
+ $addFields: {
3912
+ emailToLower: { $toLower: '$email' },
3906
3913
  },
3907
- {
3908
- $match: {
3909
- clientId: req.body.clientId,
3910
- emailToLower: assign.userEmail.toLowerCase(),
3911
- },
3914
+ },
3915
+ {
3916
+ $match: {
3917
+ clientId: req.body.clientId,
3918
+ emailToLower: { $in: userEmailList },
3912
3919
  },
3913
- ];
3914
- let userDetails = await userService.aggregate( query );
3915
- if ( !userDetails.length ) {
3920
+ },
3921
+ ];
3922
+ let assignUserDetails = await userService.aggregate( query );
3923
+ await Promise.all( req.body.assignedList.map( async ( assign ) => {
3924
+ let userDetails = assignUserDetails.find( ( ele ) => ele.email.toLowerCase() == assign.userEmail.toLowerCase() );
3925
+ if ( !userDetails ) {
3916
3926
  let userData = {
3917
3927
  userName: assign.userName,
3918
3928
  email: assign.userEmail,
@@ -3920,7 +3930,6 @@ export async function updateAssign( req, res ) {
3920
3930
  clientId: req.body.clientId,
3921
3931
  };
3922
3932
  userDetails = await createUser( userData );
3923
- userDetails = [ userDetails ];
3924
3933
  }
3925
3934
  let data = {
3926
3935
  ...assign,
@@ -3929,25 +3938,26 @@ export async function updateAssign( req, res ) {
3929
3938
  checkListId: req.body.taskId,
3930
3939
  coverage: req.body.coverage,
3931
3940
  assignId: assign._id,
3932
- userId: userDetails?.[0]?._id,
3941
+ userId: userDetails?._id,
3933
3942
  checkListName: taskDetails.checkListName,
3934
3943
  };
3935
3944
  delete data._id;
3936
3945
  assignedUserList.push( data );
3937
3946
  } ) );
3947
+ let assignGroupDetails = [];
3948
+ if ( req.body.coverage == 'store' ) {
3949
+ assignGroupDetails = await clusterServices.findcluster( { _id: { $in: req.body.assignedGroup } } );
3950
+ } else {
3951
+ assignGroupDetails = await teamsServices.findteams( { _id: { $in: req.body.assignedGroup } } );
3952
+ }
3938
3953
  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
- }
3954
+ let groupDetails = assignGroupDetails.find( ( ele ) => ele._id.toString() == assign );
3945
3955
  if ( groupDetails ) {
3946
3956
  let groupData = {
3947
3957
  client_id: req.body.clientId,
3948
3958
  checkListId: req.body.taskId,
3949
3959
  coverage: req.body.coverage,
3950
- assignId: assign.id,
3960
+ assignId: assign,
3951
3961
  checkListName: taskDetails.checkListName,
3952
3962
  ...( req.body.coverage == 'store' ) ? { clusterName: groupDetails?.clusterName } : { teamName: groupDetails?.teamName },
3953
3963
  };