feat(scripts): deletar roles sem nenhuma permissão - #500
Merged
Conversation
Adiciona scripts/delete-roles-without-permissions.ts (npm run roles:cleanup:permissions), espelhando o padrão de create-admin-user.ts: lê config de .env ou env vars, reusa as entities do TypeORM. Deleta roles em que todas as 28 colunas de permissão são false, com salvaguardas obrigatórias (nunca apaga aluno/admin, base, roles de cursinho, roleBase com filhas, nem roles com usuários) — o dry-run em homologação mostrou que a role "aluno" tem todas as permissões false e 1548 usuários, então o critério puro seria destrutivo. Dry-run por padrão; exige --apply + confirmação. Gera backup .json e usa transação no delete. Refs #499 Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #499
O que faz
Adiciona
scripts/delete-roles-without-permissions.ts(npm runroles:cleanup:permissions), espelhando o precedentescripts/create-admin-user.ts: script standalone emts-nodeque reusa oDataSource/entities do TypeORM e lê config de.envou de variáveis de ambiente (MY_HOST/MY_PORT/MY_USER/MY_PASSWORD/MY_DB_NAME) — funciona local, HML e prod.Deleta roles em que todas as 28 colunas de permissão são
false(equivalentes àaluno), que são as roles de teste da fase beta.Salvaguardas⚠️
O dry-run em homologação mostrou que o critério puro é destrutivo: a role
alunotem todas as permissões false e 1548 usuários. Por isso o script nunca deleta roles que:nameem('aluno','admin')oubase = true;partnerPrepCourseId);roleBasede outra role (childrennão vazio);users.roleId).Mais: dry-run por padrão (só lista),
--apply+ confirmação[s/N]para deletar (--yespula o prompt), backup.jsonantes de apagar e transação no DELETE.Uso
Validação
tsc --noEmiteeslintlimpos.🤖 Generated with Claude Code