import type { Sequelize } from "sequelize"; /** Retira el vínculo compartido de instantáneas y proyecciones, sin borrar activos ni revisiones. */ export async function removeSharedWorkstationAssets(database: Sequelize) { await database.transaction(async (transaction) => { await database.query("DELETE FROM workstation_members WHERE kind='shared'", { transaction }); await database.query("DELETE FROM workstation_revision_members WHERE kind='shared'", { transaction, }); await database.query( `DELETE reference FROM workstation_assets AS reference WHERE NOT EXISTS ( SELECT 1 FROM workstation_revision_members AS member INNER JOIN workstation_revisions AS revision ON revision.id=member.revisionId WHERE revision.workstationId=reference.workstationId AND member.assetId=reference.assetId )`, { transaction } ); }); }