"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.userIdDefaults = void 0;
exports.resolveUserIds = resolveUserIds;
require("./env-bootstrap");
const env_validator_1 = require("../utils/env-validator");
const role_env_1 = require("./role-env");
/**
 * Дефолтные идентификаторы тестовых пользователей по стенду (`FEATURE`).
 * Переопределяются через env (`ADMIN_USER_ID`, `CLIENT_ORGANIZATION_ID`, …).
 */
const isFeature6 = process.env.FEATURE === 'feature6';
const adminIds = isFeature6
    ? { UserID: '684', PersonID: '697', OrganizationID: '1' }
    : { UserID: '858', PersonID: '925', OrganizationID: '1' };
const clientIds = isFeature6
    ? { UserID: '685', PersonID: '698', OrganizationID: '101526' }
    : { UserID: '855', PersonID: '923', OrganizationID: '163336' };
const bankIds = { UserID: '1046', PersonID: '1113', OrganizationID: '92490' };
const agentIds = isFeature6
    ? { UserID: '686', PersonID: '699', OrganizationID: '101528' }
    : { UserID: '856', PersonID: '924', OrganizationID: '163338' };
const debtorIds = {
    UserID: 'Заглушка',
    PersonID: 'Заглушка',
    OrganizationID: 'Заглушка',
};
/**
 * Дефолтные ID по ролям для текущего стенда.
 */
exports.userIdDefaults = {
    admin: adminIds,
    client: clientIds,
    agent: agentIds,
    bank: bankIds,
    debtor: debtorIds,
};
/**
 * Собирает идентификаторы роли: env-override поверх дефолтов стенда.
 * @param role — ключ роли в test-data
 * @returns UserID / PersonID / OrganizationID
 */
function resolveUserIds(role) {
    const defaults = exports.userIdDefaults[role];
    const prefix = role_env_1.envPrefixByRole[role];
    if (role === 'debtor') {
        return { ...defaults };
    }
    return {
        UserID: (0, env_validator_1.getEnvVar)(`${prefix}_USER_ID`, process.env[`${prefix}_USER_ID`], defaults.UserID),
        PersonID: (0, env_validator_1.getEnvVar)(`${prefix}_PERSON_ID`, process.env[`${prefix}_PERSON_ID`], defaults.PersonID),
        OrganizationID: (0, env_validator_1.getEnvVar)(`${prefix}_ORGANIZATION_ID`, process.env[`${prefix}_ORGANIZATION_ID`], defaults.OrganizationID),
    };
}
