Compare commits

...

2 Commits

7 changed files with 24 additions and 11 deletions

View File

@ -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 });

View File

@ -192,6 +192,8 @@ class CompanyUserRepository {
throw error;
}
}
}
module.exports = CompanyUserRepository;

View File

@ -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';

View File

@ -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 });

View File

@ -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 });

View File

@ -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 });

View File

@ -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