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
|
@@ -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
|
-
|
|
1013
|
+
_id: ele.assignId,
|
|
1014
1014
|
userName: item.spocDetails?.[0]?.name,
|
|
1015
1015
|
userEmail: item.spocDetails?.[0]?.email,
|
|
1016
|
-
|
|
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
|
-
|
|
1032
|
+
_id: ele.assignId,
|
|
1033
1033
|
userName: item.userName,
|
|
1034
1034
|
userEmail: item.email,
|
|
1035
|
-
|
|
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
|
-
|
|
1047
|
+
_id: ele.assignId,
|
|
1048
1048
|
userName: ele.userName,
|
|
1049
1049
|
userEmail: ele.userEmail,
|
|
1050
|
-
|
|
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
|
|
2099
|
-
if (
|
|
2100
|
+
let findUserIndex = assignDetails.findIndex( ( item ) => item?.userEmail?.toLowerCase() == ele?.toLowerCase() );
|
|
2101
|
+
if ( findUserIndex != -1 ) {
|
|
2100
2102
|
let data = {
|
|
2101
|
-
userName:
|
|
2103
|
+
userName: assignDetails[findUserIndex]?.userName,
|
|
2102
2104
|
email: ele,
|
|
2103
|
-
mobileNumber:
|
|
2105
|
+
mobileNumber: assignDetails[findUserIndex]?.mobileNumber,
|
|
2104
2106
|
clientId: req.body.clientId,
|
|
2105
2107
|
};
|
|
2106
2108
|
let response = await createUser( data );
|
|
2107
|
-
|
|
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
|
-
|
|
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 } );
|