Skip to content

Commit 28ecdbb

Browse files
committed
feat(user): se actualiza fechas limite en job desactivarUsuarios
1 parent 16e4118 commit 28ecdbb

1 file changed

Lines changed: 8 additions & 11 deletions

File tree

core/tm/controller/authUser.ts

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,25 @@
11
/**
22
* Función que verifica la última vez que se actualizó/logueó un usuario.
3-
* Si es mayor o igual a 3 mes se desactiva,
3+
* Si es mayor o igual a 3 meses se desactiva,
44
* cambiando la variable activo que se encuentra en cada organización a false.
55
*/
66
import * as moment from 'moment';
77
import { AuthUsers } from '../../../auth/schemas/authUsers';
88

99
export async function verificarUltimoLogueo(done) {
10-
const usuarios: any = AuthUsers.find({ 'organizaciones.activo': true }).cursor({ batchSize: 100 });
10+
const usuarios = AuthUsers.find({ 'organizaciones.activo': true }).cursor({ batchSize: 100 });
1111
const fLimite = moment().subtract(3, 'months').toDate();
1212
const fSinLogin = moment().subtract(4, 'months').toDate();
13+
const esMenor = (fecha) => (fecha && fecha < fLimite);
1314
for await (const user of usuarios) {
1415
for (const org of user.organizaciones) {
15-
if (!org.lastLogin && !user.lastLogin && !user.updatedAt && !user.createdAt) {
16-
org.lastLogin = fSinLogin;
17-
}
18-
19-
const lastUpdate = [org.lastLogin, user.lastLogin, user.updatedAt, user.createdAt]
20-
.filter(date => date)
21-
.sort((a, b) => moment(b).valueOf() - moment(a).valueOf())[0];
22-
23-
if (moment(lastUpdate).isBefore(fLimite)) {
16+
const lastUpdate = org.updatedAt || org.createdAt || user.updatedAt || user.createdAt;
17+
if (esMenor(lastUpdate) && esMenor(org.lastLogin)) {
2418
org.activo = false;
2519
}
20+
if (!org.lastLogin && org.activo) {
21+
org.lastLogin = user.lastLogin || lastUpdate || fSinLogin;
22+
}
2623
}
2724
await AuthUsers.updateOne(
2825
{ _id: user._id },

0 commit comments

Comments
 (0)