https://project.mdnd-it.cc/work_packages/94
This commit is contained in:
2025-08-23 04:25:28 +02:00
parent 725516ad6c
commit 19cfa031d0
25823 changed files with 1095587 additions and 2801760 deletions
@@ -0,0 +1,103 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ProcessOrgAuthCallbackCommandHandler = void 0;
const Logger_1 = require("../../Services/Logger");
class ProcessOrgAuthCallbackCommandHandler {
constructor(userRepo, orgRepo) {
this.userRepo = userRepo;
this.orgRepo = orgRepo;
}
async execute(cmd) {
const startTime = Date.now();
try {
(0, Logger_1.logAuth)('Processing organization authentication callback', cmd.userId, {
organizationId: cmd.organizationId,
status: cmd.status,
hasAuthToken: !!cmd.authToken
});
// Verify organization exists
const organization = await this.orgRepo.findById(cmd.organizationId);
if (!organization) {
(0, Logger_1.logWarning)('Organization not found for auth callback', {
organizationId: cmd.organizationId,
userId: cmd.userId
});
return {
success: false,
message: 'Organization not found'
};
}
// Verify user exists
const user = await this.userRepo.findById(cmd.userId);
if (!user) {
(0, Logger_1.logWarning)('User not found for auth callback', {
organizationId: cmd.organizationId,
userId: cmd.userId
});
return {
success: false,
message: 'User not found'
};
}
// Verify user belongs to the organization
if (user.orgid !== cmd.organizationId) {
(0, Logger_1.logWarning)('User does not belong to organization for auth callback', {
organizationId: cmd.organizationId,
userId: cmd.userId,
userOrgId: user.orgid
});
return {
success: false,
message: 'User does not belong to this organization'
};
}
if (cmd.status === 'not_ok') {
(0, Logger_1.logAuth)('Organization authentication failed', cmd.userId, {
organizationId: cmd.organizationId,
organizationName: organization.name
});
return {
success: false,
message: 'Organization authentication failed'
};
}
// Update user's organization login date
const now = new Date();
const updatedUser = await this.userRepo.update(cmd.userId, {
Orglogindate: now
});
if (!updatedUser) {
(0, Logger_1.logError)('Failed to update user organization login date', new Error('User update returned null'));
return {
success: false,
message: 'Failed to update user login information'
};
}
(0, Logger_1.logAuth)('Organization authentication successful', cmd.userId, {
organizationId: cmd.organizationId,
organizationName: organization.name,
orgLoginDate: now.toISOString(),
executionTime: Date.now() - startTime
});
(0, Logger_1.logDatabase)('User organization login date updated', `userId: ${cmd.userId}, orgId: ${cmd.organizationId}`, Date.now() - startTime, {
userId: cmd.userId,
organizationId: cmd.organizationId,
newOrgLoginDate: now.toISOString()
});
return {
success: true,
message: 'Organization authentication successful',
updatedFields: ['Orglogindate']
};
}
catch (error) {
(0, Logger_1.logError)('ProcessOrgAuthCallbackCommandHandler error', error);
return {
success: false,
message: 'Internal error processing authentication callback'
};
}
}
}
exports.ProcessOrgAuthCallbackCommandHandler = ProcessOrgAuthCallbackCommandHandler;
//# sourceMappingURL=ProcessOrgAuthCallbackCommandHandler.js.map