keep trying

Signed-off-by: Kenneth Obsequio <k80308392@gmail.com>
This commit is contained in:
2026-07-12 12:53:53 +08:00
parent ea3e82e54c
commit d0a64a8043
8 changed files with 55 additions and 80 deletions
+4 -1
View File
@@ -337,7 +337,10 @@ exports.getUsersNotInGroup = async (req, res) => {
const memberIds = members.map((m) => m.user_id);
const users = await mdl_Users.findAll({
where: { user_id: { [Op.notIn]: memberIds.length ? memberIds : [0] } },
where: {
user_id: { [Op.notIn]: memberIds.length ? memberIds : [0] },
acc_type: 'user', // exclude staff/admin — only regular users can be added to a group
},
attributes: [
'user_id',
[Sequelize.literal(`("User"."personal_info"->'name'->>'full_name')`), 'full_name'],
+15 -1
View File
@@ -186,6 +186,12 @@ exports.deactivateUser = async (req, res) => {
await user.update({ is_active: false, deletedBy: req.user.user_id });
await user.destroy();
await mdl_UserGroupMembers.update(
{ deletedBy: req.user.user_id },
{ where: { user_id: req.params.id } }
);
await mdl_UserGroupMembers.destroy({ where: { user_id: req.params.id } });
await mdl_UserSessions.update(
{ is_active: false, logout_info: { date: new Date().toISOString(), forced_by: req.user.user_id } },
{ where: { user_id: req.params.id } }
@@ -226,6 +232,13 @@ exports.bulkDeactivateUsers = async (req, res) => {
{ where: { user_id: activeIds } }
);
await mdl_Users.destroy({ where: { user_id: activeIds } });
await mdl_UserGroupMembers.update(
{ deletedBy: req.user.user_id },
{ where: { user_id: activeIds } }
);
await mdl_UserGroupMembers.destroy({ where: { user_id: activeIds } });
await mdl_UserSessions.update(
{ is_active: false, logout_info: { date: new Date().toISOString(), forced_by: req.user.user_id } },
{ where: { user_id: activeIds } }
@@ -310,6 +323,7 @@ exports.bulkRestoreUsers = async (req, res) => {
// so a user who has ever banned someone can't be nulled out or hard-deleted —
// getBannerBlockedIds() below identifies those and callers must exclude them.
async function purgeUserDependents(userIds, t) {
await mdl_UserGroupMembers.destroy({ where: { user_id: userIds }, force: true, transaction: t });
await mdl_Achievements.destroy({ where: { user_id: userIds }, transaction: t });
await mdl_QuizAttempt.destroy({ where: { user_id: userIds }, transaction: t });
await mdl_UserTiers.destroy({ where: { user_id: userIds }, transaction: t });
@@ -458,7 +472,7 @@ exports.terminateSession = async (req, res) => {
exports.getUserFieldValues = getFieldValues(mdl_Users, "USER", {
blockedFields: ["password", "otp_code", "otp_expires_at", "personal_info"],
extraDateFields: ["modifiedAt"],
extraDateFields: ["modifiedAt", "ban_expires_at"],
allowJsonb: true,
selfJoin: true,
});