feat: update user status initialization to use 'pending' instead of 'inactive'
This commit is contained in:
parent
964ff2f37e
commit
f475242f84
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -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]
|
||||||
);
|
);
|
||||||
|
|||||||
@ -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]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -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]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|||||||
@ -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 });
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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);
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
@ -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
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user