metis-desk/apps/server/src/rename-workstations.ts

30 lines
1.1 KiB
TypeScript
Raw Normal View History

import { QueryTypes } from "sequelize";
import { renameWorkstationsFromPrimaryAssets } from "../../../modules/assets/src/api/infrastructure/persistence/rename-workstations-from-primary-assets";
import { createDatabase, readDatabaseEnvironment } from "./config/database";
if (process.argv.slice(2).join(" ") !== "--apply") {
throw new Error("Corrección explícita de nombres: requiere --apply.");
}
const database = createDatabase(readDatabaseEnvironment(process.env));
try {
const administrators = await database.query<{ id: string }>(
"SELECT id FROM users WHERE isInitialAdmin=1 AND active=1",
{ type: QueryTypes.SELECT }
);
const administrator = administrators.length === 1 ? administrators[0] : undefined;
if (!administrator) {
throw new Error("La corrección requiere un único administrador inicial activo.");
}
const renamed = await renameWorkstationsFromPrimaryAssets(database, administrator.id);
process.stdout.write(
`Puestos renombrados: ${renamed}. Revisiones registradas con el administrador inicial.\n`
);
} finally {
await database.close();
}