feat: update user status initialization to use 'pending' instead of 'inactive'

This commit is contained in:
seaznCode 2026-01-17 20:22:31 +01:00
parent 964ff2f37e
commit f475242f84
9 changed files with 18 additions and 12 deletions

View File

@ -17,7 +17,7 @@ class UserStatusController {
// If no status exists, create one with default values // If no status exists, create one with default values
if (!status) { if (!status) {
logger.info(`[UserStatusController] No status found for userId: ${userId}, creating default status`); logger.info(`[UserStatusController] No status found for userId: ${userId}, creating default status`);
await userStatusRepo.initializeUserStatus(userId, 'inactive'); await userStatusRepo.initializeUserStatus(userId, 'pending');
status = await userStatusRepo.getStatusByUserId(userId); status = await userStatusRepo.getStatusByUserId(userId);
} }

View File

@ -18,7 +18,7 @@ class UserStatusRepository {
} }
} }
async initializeUserStatus(userId, status = 'inactive') { async initializeUserStatus(userId, status = 'pending') {
logger.info('UserStatusRepository.initializeUserStatus:start', { userId, status }); logger.info('UserStatusRepository.initializeUserStatus:start', { userId, status });
try { try {
const conn = this.unitOfWork.connection; const conn = this.unitOfWork.connection;
@ -57,7 +57,8 @@ class UserStatusRepository {
const conn = this.unitOfWork.connection; const conn = this.unitOfWork.connection;
await conn.query( await conn.query(
`UPDATE user_status `UPDATE user_status
SET registration_completed = TRUE, status = 'active' SET registration_completed = TRUE,
status = CASE WHEN is_admin_verified = 1 THEN 'active' ELSE 'pending' END
WHERE user_id = ?`, WHERE user_id = ?`,
[userId] [userId]
); );

View File

@ -46,7 +46,7 @@ async function createCompanyUser() {
// Initialize user status (defaults: not verified, not completed) // Initialize user status (defaults: not verified, not completed)
await uow.connection.query( await uow.connection.query(
`INSERT INTO user_status (user_id, status, is_admin_verified, email_verified, profile_completed, documents_uploaded, contract_signed) `INSERT INTO user_status (user_id, status, is_admin_verified, email_verified, profile_completed, documents_uploaded, contract_signed)
VALUES (?, 'active', 0, 0, 0, 0, 0)`, VALUES (?, 'pending', 0, 0, 0, 0, 0)`,
[userId] [userId]
); );

View File

@ -45,7 +45,7 @@ async function createPersonalUser() {
// Initialize user status // Initialize user status
await uow.connection.query( await uow.connection.query(
`INSERT INTO user_status (user_id, status, is_admin_verified, email_verified, profile_completed, documents_uploaded, contract_signed) `INSERT INTO user_status (user_id, status, is_admin_verified, email_verified, profile_completed, documents_uploaded, contract_signed)
VALUES (?, 'active', 0, 0, 0, 0, 0)`, VALUES (?, 'pending', 0, 0, 0, 0, 0)`,
[userId] [userId]
); );

View File

@ -428,9 +428,14 @@ class AdminService {
await unitOfWork.connection.query( await unitOfWork.connection.query(
`UPDATE user_status `UPDATE user_status
SET is_admin_verified = ?, SET is_admin_verified = ?,
admin_verified_at = ? admin_verified_at = ?,
status = CASE
WHEN status IN ('suspended','archived') THEN status
WHEN ? = 1 THEN 'active'
ELSE 'pending'
END
WHERE user_id = ?`, WHERE user_id = ?`,
[isAdminVerified, timestamp, userId] [isAdminVerified, timestamp, isAdminVerified, userId]
); );
logger.info('AdminService.updateUserVerification:success', { userId, isAdminVerified }); logger.info('AdminService.updateUserVerification:success', { userId, isAdminVerified });

View File

@ -431,7 +431,7 @@ class ReferralService {
const personalRepo = new PersonalUserRepository(unitOfWork); const personalRepo = new PersonalUserRepository(unitOfWork);
const user = await personalRepo.create(registrationData); const user = await personalRepo.create(registrationData);
await UserStatusService.initializeUserStatus(user.id, 'personal', unitOfWork, 'inactive'); await UserStatusService.initializeUserStatus(user.id, 'personal', unitOfWork, 'pending');
if (UserSettingsRepository) { if (UserSettingsRepository) {
const settingsRepo = new UserSettingsRepository(unitOfWork); const settingsRepo = new UserSettingsRepository(unitOfWork);
@ -479,7 +479,7 @@ class ReferralService {
contactPersonPhone contactPersonPhone
}); });
await UserStatusService.initializeUserStatus(user.id, 'company', unitOfWork, 'inactive'); await UserStatusService.initializeUserStatus(user.id, 'company', unitOfWork, 'pending');
if (UserSettingsRepository) { if (UserSettingsRepository) {
const settingsRepo = new UserSettingsRepository(unitOfWork); const settingsRepo = new UserSettingsRepository(unitOfWork);

View File

@ -2,7 +2,7 @@ const UserStatusRepository = require('../../repositories/status/UserStatusReposi
const { logger } = require('../../middleware/logger'); const { logger } = require('../../middleware/logger');
class UserStatusService { class UserStatusService {
static async initializeUserStatus(userId, userType, unitOfWork, status = 'inactive') { static async initializeUserStatus(userId, userType, unitOfWork, status = 'pending') {
logger.info('UserStatusService.initializeUserStatus:start', { userId, userType, status }); logger.info('UserStatusService.initializeUserStatus:start', { userId, userType, status });
try { try {
const repo = new UserStatusRepository(unitOfWork); const repo = new UserStatusRepository(unitOfWork);

View File

@ -31,7 +31,7 @@ class CompanyUserService {
logger.info('CompanyUserService.createCompanyUser:company_created', { companyId: newCompany.id }); logger.info('CompanyUserService.createCompanyUser:company_created', { companyId: newCompany.id });
// Initialize user status // Initialize user status
await UserStatusService.initializeUserStatus(newCompany.id, 'company', unitOfWork, 'inactive'); await UserStatusService.initializeUserStatus(newCompany.id, 'company', unitOfWork, 'pending');
logger.info('CompanyUserService.createCompanyUser:user_status_initialized', { companyId: newCompany.id }); logger.info('CompanyUserService.createCompanyUser:user_status_initialized', { companyId: newCompany.id });
// Send registration email to the new company user // Send registration email to the new company user

View File

@ -31,7 +31,7 @@ class PersonalUserService {
logger.info('PersonalUserService.createPersonalUser:user_created', { userId: newUser.id }); logger.info('PersonalUserService.createPersonalUser:user_created', { userId: newUser.id });
// Initialize user status // Initialize user status
await UserStatusService.initializeUserStatus(newUser.id, 'personal', unitOfWork, 'inactive'); await UserStatusService.initializeUserStatus(newUser.id, 'personal', unitOfWork, 'pending');
logger.info('PersonalUserService.createPersonalUser:user_status_initialized', { userId: newUser.id }); logger.info('PersonalUserService.createPersonalUser:user_status_initialized', { userId: newUser.id });
// Handle referral if provided // Handle referral if provided