feat: remove a skill category empty
This commit is contained in:
@@ -221,6 +221,41 @@ export class AdminService {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Supprime une catégorie de skills vide
|
||||
*/
|
||||
static async deleteSkillCategory(categoryId: string): Promise<void> {
|
||||
const pool = getPool();
|
||||
const client = await pool.connect();
|
||||
|
||||
try {
|
||||
await client.query("BEGIN");
|
||||
|
||||
// Vérifier que la catégorie n'a pas de skills
|
||||
const skillsCheck = await client.query(
|
||||
"SELECT COUNT(*) FROM skills WHERE category_id = $1",
|
||||
[categoryId]
|
||||
);
|
||||
|
||||
if (parseInt(skillsCheck.rows[0].count) > 0) {
|
||||
throw new Error("Impossible de supprimer une catégorie qui contient des skills");
|
||||
}
|
||||
|
||||
// Supprimer la catégorie
|
||||
await client.query(
|
||||
"DELETE FROM skill_categories WHERE id = $1",
|
||||
[categoryId]
|
||||
);
|
||||
|
||||
await client.query("COMMIT");
|
||||
} catch (error) {
|
||||
await client.query("ROLLBACK");
|
||||
throw error;
|
||||
} finally {
|
||||
client.release();
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère les données nécessaires pour la page de gestion des utilisateurs
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user