Refactor UserStatusController and related services for improved status handling and repository paths
This commit is contained in:
parent
f68f16fd11
commit
c3461c2dd9
@ -1,5 +1,5 @@
|
||||
const UnitOfWork = require('../../database/UnitOfWork');
|
||||
const UserStatusRepository = require('../../repositories/user/UserRepository');
|
||||
const UserStatusRepository = require('../../repositories/status/UserStatusRepository');
|
||||
const UserStatusService = require('../../services/status/UserStatusService');
|
||||
const { logger } = require('../../middleware/logger');
|
||||
|
||||
@ -12,13 +12,23 @@ class UserStatusController {
|
||||
unitOfWork.registerRepository('userStatus', new UserStatusRepository(unitOfWork));
|
||||
try {
|
||||
const userStatusRepo = unitOfWork.getRepository('userStatus');
|
||||
const status = await userStatusRepo.getStatusByUserId(userId);
|
||||
await unitOfWork.commit();
|
||||
let status = await userStatusRepo.getStatusByUserId(userId);
|
||||
|
||||
// If no status exists, create one with default values
|
||||
if (!status) {
|
||||
logger.warn(`[UserStatusController] No status found for userId: ${userId}`);
|
||||
return res.status(404).json({ success: false, message: 'User status not found' });
|
||||
logger.info(`[UserStatusController] No status found for userId: ${userId}, creating default status`);
|
||||
await userStatusRepo.initializeUserStatus(userId, 'inactive');
|
||||
status = await userStatusRepo.getStatusByUserId(userId);
|
||||
}
|
||||
logger.info(`[UserStatusController] getStatus success for userId: ${userId}`);
|
||||
|
||||
await unitOfWork.commit();
|
||||
|
||||
if (!status) {
|
||||
logger.warn(`[UserStatusController] Failed to create status for userId: ${userId}`);
|
||||
return res.status(500).json({ success: false, message: 'Failed to initialize user status' });
|
||||
}
|
||||
|
||||
logger.info(`[UserStatusController] getStatus success for userId: ${userId}`, { status });
|
||||
return res.json({ success: true, status });
|
||||
} catch (error) {
|
||||
logger.error(`[UserStatusController] getStatus error for userId: ${userId}`, { error });
|
||||
|
||||
@ -192,6 +192,8 @@ class CompanyUserRepository {
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
module.exports = CompanyUserRepository;
|
||||
@ -3,7 +3,8 @@ const UnitOfWork = require('../database/UnitOfWork');
|
||||
const argon2 = require('argon2');
|
||||
|
||||
async function createAdminUser() {
|
||||
const adminEmail = process.env.ADMIN_EMAIL || 'office@profit-planet.com';
|
||||
// const adminEmail = process.env.ADMIN_EMAIL || 'office@profit-planet.com';
|
||||
const adminEmail = process.env.ADMIN_EMAIL || 'loki.aahi@gmail.com';
|
||||
const adminPassword = process.env.ADMIN_PASSWORD || 'W.profit-planet.com.2025'; // Set a secure password in production!
|
||||
const firstName = process.env.ADMIN_FIRST_NAME || 'Admin';
|
||||
const lastName = process.env.ADMIN_LAST_NAME || 'User';
|
||||
|
||||
@ -183,7 +183,7 @@ class ContractUploadService {
|
||||
logger.info('ContractUploadService.uploadContract:user_status_updated', { userId });
|
||||
|
||||
// Check if all steps are complete and set status to 'pending' if so
|
||||
const UserStatusService = require('./UserStatusService');
|
||||
const UserStatusService = require('../status/UserStatusService');
|
||||
await UserStatusService.checkAndSetPendingIfComplete(userId, unitOfWork);
|
||||
logger.info('ContractUploadService.uploadContract:pending_check_complete', { userId });
|
||||
|
||||
|
||||
@ -67,7 +67,7 @@ class PersonalDocumentService {
|
||||
logger.info('PersonalDocumentService.uploadPersonalId:user_status_updated', { userId });
|
||||
|
||||
// Check if all steps are complete and set status to 'pending' if so
|
||||
const UserStatusService = require('./UserStatusService');
|
||||
const UserStatusService = require('../../status/UserStatusService');
|
||||
await UserStatusService.checkAndSetPendingIfComplete(userId, unitOfWork);
|
||||
logger.info('PersonalDocumentService.uploadPersonalId:pending_check_complete', { userId });
|
||||
|
||||
|
||||
@ -11,7 +11,7 @@ class CompanyProfileService {
|
||||
logger.info('CompanyProfileService.completeProfile:profile_completed', { userId });
|
||||
|
||||
// Check if all steps are complete and set status to 'pending' if so
|
||||
const UserStatusService = require('./UserStatusService');
|
||||
const UserStatusService = require('../../status/UserStatusService');
|
||||
await UserStatusService.checkAndSetPendingIfComplete(userId, unitOfWork);
|
||||
logger.info('CompanyProfileService.completeProfile:pending_check_complete', { userId });
|
||||
logger.info('CompanyProfileService.completeProfile:success', { userId });
|
||||
|
||||
@ -6,7 +6,7 @@ class PersonalProfileService {
|
||||
logger.info('PersonalProfileService.completeProfile:start', { userId });
|
||||
try {
|
||||
const repo = new PersonalUserRepository(unitOfWork);
|
||||
await repo.updateAdditionalProfileAndMarkCompleted(userId, profileData);
|
||||
await repo.updateProfileAndMarkCompleted(userId, profileData);
|
||||
logger.info('PersonalProfileService.completeProfile:profile_completed', { userId });
|
||||
|
||||
// Check if all steps are complete and set status to 'pending' if so
|
||||
|
||||
Loading…
Reference in New Issue
Block a user