awaitdatabase.query("DELETE FROM access_local_identity_environments WHERE companyId=:id",{
replacements:{id},
});
awaitdatabase.query(
"UPDATE asset_network_share_publications SET predecessorId=NULL WHERE companyId=:id",
{replacements:{id}}
);
awaitdatabase.query("DELETE FROM asset_network_share_publications WHERE companyId=:id",{
replacements:{id},
});
awaitdatabase.query("DELETE FROM resource_network_shares WHERE companyId=:id",{
replacements:{id},
});
for(constkindof["resource","resource_type"]){
awaitdatabase.query(
`DELETE v FROM access_${kind}_revision_values v JOIN access_revisions r ON r.id=v.ownerId JOIN access_items i ON i.id=r.itemId JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:id`,
{replacements:{id}}
);
awaitdatabase.query(
`DELETE v FROM access_${kind}_values v JOIN access_items i ON i.id=v.ownerId JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:id`,
"DELETE v FROM asset_directory_membership_revisions v JOIN asset_directory_memberships m ON m.id=v.membershipId WHERE m.companyId=:id",
{replacements:{id}}
);
awaitdatabase.query(
"UPDATE asset_directory_memberships SET predecessorId=NULL WHERE companyId=:id",
{replacements:{id}}
);
awaitdatabase.query("DELETE FROM asset_directory_memberships WHERE companyId=:id",{
replacements:{id},
});
for(constentityof["asset","resource"]){
constroot=entity==="asset"?"assets":"resources";
consttables=[
`${entity}_revision_characteristics`,
`${entity}_revision_specification_choices`,
`${entity}_revision_specification_fields`,
`${entity}_revision_specification_sections`,
`${entity}_revision_specifications`,
`${entity}_characteristics`,
`${entity}_specification_field_choices`,
`${entity}_specification_fields`,
`${entity}_specification_sections`,
`${entity}_revisions`,
];
for(consttableoftables){
awaitdatabase.query(
`DELETE FROM ${table} WHERE ${entity}Id IN (SELECT id FROM ${root} WHERE companyId=:id)`,
{replacements:{id}}
);
}
}
awaitdatabase.query("DELETE FROM assets WHERE companyId=:id",{replacements:{id}});
awaitdatabase.query("DELETE FROM resource_directory_domains WHERE companyId=:id",{
replacements:{id},
});
awaitdatabase.query("DELETE FROM resources WHERE companyId=:id",{replacements:{id}});
awaitdatabase.query("DELETE FROM access_directory_environments WHERE companyId=:id",{
replacements:{id},
});
awaitdatabase.query("DELETE FROM access_directory_systems WHERE companyId=:id",{
replacements:{id},
});
awaitdatabase.query(
"DELETE FROM access_references WHERE itemId IN (SELECT i.id FROM access_items i JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:id)",
{replacements:{id}}
);
awaitdatabase.query(
"DELETE r FROM access_revisions r JOIN access_items i ON i.id=r.itemId JOIN access_workspaces w ON w.id=i.workspaceId WHERE w.companyId=:id",