Files
SerpentRace/SerpentRace_Backend/dist/Application/Organization/queries/GetOrganizationLoginUrlQueryHandler.js
T

48 lines
2.0 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.GetOrganizationLoginUrlQueryHandler = void 0;
const Logger_1 = require("../../Services/Logger");
class GetOrganizationLoginUrlQueryHandler {
constructor(orgRepo) {
this.orgRepo = orgRepo;
}
async execute(query) {
const startTime = Date.now();
try {
(0, Logger_1.logDatabase)('Getting organization login URL', `organizationId: ${query.organizationId}`, 0, {
organizationId: query.organizationId
});
const organization = await this.orgRepo.findById(query.organizationId);
if (!organization) {
(0, Logger_1.logWarning)('Organization not found for login URL request', {
organizationId: query.organizationId
});
return null;
}
if (!organization.url) {
(0, Logger_1.logWarning)('Organization has no configured login URL', {
organizationId: query.organizationId,
organizationName: organization.name
});
return null;
}
const result = {
organizationId: organization.id,
organizationName: organization.name,
loginUrl: organization.url
};
(0, Logger_1.logDatabase)('Organization login URL retrieved successfully', `organizationId: ${query.organizationId}`, Date.now() - startTime, {
organizationId: organization.id,
organizationName: organization.name,
hasUrl: !!organization.url
});
return result;
}
catch (error) {
(0, Logger_1.logError)('GetOrganizationLoginUrlQueryHandler error', error);
throw new Error('Failed to retrieve organization login URL');
}
}
}
exports.GetOrganizationLoginUrlQueryHandler = GetOrganizationLoginUrlQueryHandler;
//# sourceMappingURL=GetOrganizationLoginUrlQueryHandler.js.map