48 lines
2.0 KiB
JavaScript
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
|