refactor: replace client deletion with user detachment and update client schema to support optional user association
This commit is contained in:
@@ -284,7 +284,7 @@ class UsersManager implements IUsersManager {
|
||||
userId: data.sessionUser,
|
||||
});
|
||||
|
||||
//Eliminar los clientes creados con el usuario.
|
||||
//Desvincular los clientes creados con el usuario sin borrar el historial de la organizacion.
|
||||
const clients = await ClientsList.clients.find({
|
||||
userId: data.sessionUser,
|
||||
});
|
||||
@@ -294,21 +294,7 @@ class UsersManager implements IUsersManager {
|
||||
continue;
|
||||
}
|
||||
|
||||
//Tengo que pasarlo como sesionUSer al duenio de la organizacion. para que pueda eliminar.
|
||||
const orgClient = await CompaniesList.companies.findOne({
|
||||
_id: String(client.companyId),
|
||||
});
|
||||
|
||||
if (!orgClient) {
|
||||
continue;
|
||||
}
|
||||
|
||||
//En este caso borra el cliente pero no chequea el saldo de la cuenta.
|
||||
await ClientsList.deleteClient({
|
||||
clientId: String(client.id),
|
||||
checkCashOnAccount: false,
|
||||
sessionUser: String(orgClient.ownerId),
|
||||
});
|
||||
await ClientsList.clients.detachUser({ clientId: String(client.id) });
|
||||
}
|
||||
|
||||
//Eliminar las conversaciones
|
||||
@@ -1279,14 +1265,7 @@ class UsersManager implements IUsersManager {
|
||||
for (const client of clients) {
|
||||
if (!client.id) continue;
|
||||
|
||||
const orgClient = await CompaniesList.companies.findOne({ _id: String(client.companyId) });
|
||||
if (!orgClient) continue;
|
||||
|
||||
await ClientsList.deleteClient({
|
||||
clientId: String(client.id),
|
||||
checkCashOnAccount: false,
|
||||
sessionUser: String(orgClient.ownerId),
|
||||
});
|
||||
await ClientsList.clients.detachUser({ clientId: String(client.id) });
|
||||
}
|
||||
|
||||
await MessageConversationList.deleteConversationsByUser({ userId: data.userId });
|
||||
|
||||
Reference in New Issue
Block a user