@mybuildex/pkg 0.7.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -51,6 +51,23 @@ createAuthMiddleware({
51
51
  createTenantMiddleware({getTenantClient, defaultClient, strictTenant: true});
52
52
  ```
53
53
 
54
+ ## 0.9.0 — cold start e tamanho do bundle
55
+
56
+ **Muda a instalação** (⚠️): a CLI `prisma` saiu das `dependencies` do pacote.
57
+
58
+ - ⚠️ `prisma` (CLI) não vem mais junto. Ela só serve para `prisma generate`/`db pull`, mas como dependência de produção arrastava `@prisma/studio-core`, `@prisma/dev`, `pglite`, `effect` e `@prisma/engines` para a imagem de toda API (~250 MB). A API que roda `prisma generate` declara a CLI nela, na MESMA versão do `@prisma/client` deste pacote: `npm i -D prisma@7.10.0`. `@prisma/client`, `@prisma/adapter-mariadb` e `mariadb` continuam vindo daqui.
59
+ - `createRedisClient()` só carrega o `redis` quando há o que conectar (env `REDIS` ou `options`). API sem Redis deixa de carregar ~480 módulos no cold start. Nada muda para quem usa.
60
+ - `createPermissionsResolver({memoryCacheTtlMs})` — cache em memória da instância, por `idSchool:uid`, **opt-in** (default desligado) e só usado **sem** `redis`. Sem Redis a consulta de permissões rodava em toda request autenticada. Não há invalidação entre instâncias: mudança de permissão leva até o TTL para valer, então mantenha curto (o cache de token e o de vínculo usam 120 s). Erro de consulta nunca é guardado; `resolver.clearCache()` esvazia.
61
+
62
+ ## 0.8.0 — API single-tenant só aceita token do tenant default
63
+
64
+ **Muda comportamento por padrão** (⚠️) em quem usa `tenantAware: false` — hoje só o `v1_core`.
65
+
66
+ - ⚠️ `createAuthMiddleware({tenantAware: false})` recusa com **403** (`Token de escola não é aceito nesta API`) todo token que carrega o claim `firebase.tenant`, antes de chamar o `verifyIdToken`; a regra é reconferida no token verificado e no cache. O Auth default do firebase-admin valida a assinatura de token de qualquer tenant do projeto (só o `TenantAwareAuth` confere o claim) — o que barrava o usuário de escola era, por acaso, a busca do usuário na checagem de revogação (401). Rotas públicas e `internalAuth` não mudam.
67
+ - Efeito no core: toda chamada com token de escola responde 403, inclusive o `GET /v1/convert` que o front da plataforma faz com o token do usuário da escola.
68
+ - `aclAllows(request, "recurso.acao" | lista | {anyOf, allOf})` — a regra da ACL dentro do service, para decidir o **escopo**: quem tem a permissão de gestão do recurso vê tudo (mesmo sem `full`); quem entrou por uma entrada de papel (professor, aluno, responsável, membro) vê só o que é seu. Serviço interno passa; sem usuário ou com `permissions_error` nega; entrada inexistente no mapa lança `AclConfigError`. Substitui o uso de `is_full` como "é gestão".
69
+ - `ACL_MAP` regerado do `src/utils/permissions.js` do front, agora com `onboarding_queue` (fila da matrícula online) e as entradas de papel novas.
70
+
54
71
  ## 0.7.0 — ACL por endpoint, auditoria de escrita e permissões
55
72
 
56
73
  Módulos novos, todos opt-in (API que não os registra não muda nada). Nova dependência: `redis`.
@@ -0,0 +1,3 @@
1
+ import { AclMap, AclRule } from "./check";
2
+ /** O usuário do request passa na regra (`recurso.acao`, lista, {anyOf, allOf})? */
3
+ export declare function aclAllows(request: any, rule: AclRule, map?: AclMap): boolean;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.aclAllows = aclAllows;
4
+ // Checagem de ACL DENTRO do service, com a mesma regra do guard da rota.
5
+ //
6
+ // A ACL da rota decide quem entra no endpoint. Dentro dele, o service ainda
7
+ // precisa decidir o ESCOPO: quem tem a permissão de gestão do recurso
8
+ // (ex.: `classes.list`) vê tudo; quem entrou por uma entrada de papel
9
+ // (professor, aluno, responsável, membro) vê só o que é seu. Antes os
10
+ // services usavam `is_full` para isso — o que deixava a equipe da escola sem
11
+ // `full` presa no recorte de professor. `aclAllows` responde com o mapa do
12
+ // front e as permissões do request, igual ao guard:
13
+ //
14
+ // if (!aclAllows(request, "pay_checkouts.list")) where.id_people = minhaPessoa;
15
+ //
16
+ // Regras: serviço interno (auth internalAuth) passa; sem usuário ou com
17
+ // permissions_error nega; `full` libera tudo; entrada inexistente no mapa
18
+ // lança AclConfigError (erro de programação, não de permissão).
19
+ const map_generated_1 = require("./map.generated");
20
+ const check_1 = require("./check");
21
+ const cache = new WeakMap();
22
+ function resolved(rule, map) {
23
+ let byMap = cache.get(map);
24
+ if (!byMap) {
25
+ byMap = new Map();
26
+ cache.set(map, byMap);
27
+ }
28
+ const key = JSON.stringify(rule);
29
+ let r = byMap.get(key);
30
+ if (!r) {
31
+ r = (0, check_1.resolveAclRule)(rule, map);
32
+ byMap.set(key, r);
33
+ }
34
+ return r;
35
+ }
36
+ /** O usuário do request passa na regra (`recurso.acao`, lista, {anyOf, allOf})? */
37
+ function aclAllows(request, rule, map = map_generated_1.ACL_MAP) {
38
+ const r = resolved(rule, map);
39
+ if (request?.internal === true)
40
+ return true;
41
+ if (r.kind === "public")
42
+ return true;
43
+ const uid = request?.user_id ?? request?.user?.uid;
44
+ if (!uid)
45
+ return false;
46
+ if (r.kind === "authenticated")
47
+ return true;
48
+ if (request.permissions_error)
49
+ return false;
50
+ const permissions = Array.isArray(request.permissions) ? request.permissions : [];
51
+ return (0, check_1.evaluateAclRule)(permissions, r);
52
+ }
53
+ //# sourceMappingURL=allows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allows.js","sourceRoot":"","sources":["../../src/acl/allows.ts"],"names":[],"mappings":";;AAoCA,8BAUC;AA9CD,yEAAyE;AACzE,EAAE;AACF,4EAA4E;AAC5E,sEAAsE;AACtE,sEAAsE;AACtE,sEAAsE;AACtE,6EAA6E;AAC7E,2EAA2E;AAC3E,oDAAoD;AACpD,EAAE;AACF,kFAAkF;AAClF,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,gEAAgE;AAChE,mDAAwC;AACxC,mCAA0F;AAE1F,MAAM,KAAK,GAAG,IAAI,OAAO,EAAwC,CAAC;AAElE,SAAS,QAAQ,CAAC,IAAa,EAAE,GAAW;IACxC,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,KAAK,GAAG,IAAI,GAAG,EAAE,CAAC;QAClB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC,CAAC,EAAE,CAAC;QACL,CAAC,GAAG,IAAA,sBAAc,EAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,CAAC;AACb,CAAC;AAED,mFAAmF;AACnF,SAAgB,SAAS,CAAC,OAAY,EAAE,IAAa,EAAE,MAAc,uBAAO;IACxE,MAAM,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC9B,IAAI,OAAO,EAAE,QAAQ,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACrC,MAAM,GAAG,GAAG,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC;IACnD,IAAI,CAAC,GAAG;QAAE,OAAO,KAAK,CAAC;IACvB,IAAI,CAAC,CAAC,IAAI,KAAK,eAAe;QAAE,OAAO,IAAI,CAAC;IAC5C,IAAI,OAAO,CAAC,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,WAAW,GAAa,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5F,OAAO,IAAA,uBAAe,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC;AAC3C,CAAC"}
@@ -95,6 +95,7 @@ exports.ACL_MAP = {
95
95
  "find": ["full", "assessments_schedule.find", "cronograma_avaliacoes.detalha"],
96
96
  "list": ["full", "assessments_schedule.list", "cronograma_avaliacoes.lista"],
97
97
  "menu": ["full", "assessments_schedule.menu", "cronograma_avaliacoes.menu"],
98
+ "my_schedule": ["full", "assessments_schedule.my_schedule", "cronograma_avaliacoes.minha_agenda", "aluno"],
98
99
  "paginate": ["full", "assessments_schedule.paginate", "cronograma_avaliacoes.pagina"],
99
100
  "remover": ["full", "assessments_schedule.remove", "cronograma_avaliacoes.remove"],
100
101
  "report": ["full", "assessments_schedule.report", "cronograma_avaliacoes.relatorio"],
@@ -123,6 +124,7 @@ exports.ACL_MAP = {
123
124
  "paginate": ["full", "calendars.paginate", "calendarios.pagina"],
124
125
  "remover": ["full", "calendars.remove", "calendarios.remove"],
125
126
  "restore": ["full", "calendars.restore", "calendarios.restaura"],
127
+ "school_calendar": ["full", "calendars.school_calendar", "calendarios.calendario_escolar", "teacher", "aluno", "responsible", "responsavel"],
126
128
  "trash": ["full", "calendars.trash", "calendarios.lixeira"],
127
129
  },
128
130
  "calendars_times": {
@@ -204,19 +206,27 @@ exports.ACL_MAP = {
204
206
  },
205
207
  "classes": {
206
208
  "add": ["full", "classes.add", "turmas.adiciona"],
209
+ "bulletin": ["full", "classes.bulletin", "turmas.boletim", "teacher"],
210
+ "classes": ["full", "classes.classes", "turmas.aulas", "teacher"],
207
211
  "confirm": ["full", "classes.confirm", "turmas.confirma", "schools_enrollments.menu"],
212
+ "daily": ["full", "classes.daily", "turmas.diario", "teacher"],
208
213
  "delete": ["full", "classes.delete", "turmas.exclui"],
209
214
  "duplicate": ["full", "classes.duplicate", "turmas.duplica"],
210
215
  "edit": ["full", "classes.edit", "turmas.edita"],
211
216
  "find": ["full", "classes.find", "turmas.detalha"],
212
217
  "list": ["full", "classes.list", "turmas.lista"],
213
218
  "menu": ["full", "classes.menu", "turmas.menu"],
219
+ "my_classes": ["full", "classes.my_classes", "turmas.minhas_turmas", "teacher"],
214
220
  "paginate": ["full", "classes.paginate", "turmas.pagina"],
221
+ "partialbulletin": ["full", "classes.partialbulletin", "turmas.boletim_parcial", "teacher"],
215
222
  "remover": ["full", "classes.remove", "turmas.remove"],
216
223
  "reorder": ["full", "classes.reorder", "turmas.ordena", "classes.edit", "schools_enrollments.menu"],
224
+ "report": ["full", "classes.report", "turmas.relatorios", "classes.daily", "teacher"],
217
225
  "reports_cars_edit": ["full", "classes.reports_cars_edit", "turmas.boletins_edita"],
218
226
  "reports_cars_list": ["full", "classes.reports_cars_list", "turmas.boletins_lista"],
219
227
  "restore": ["full", "classes.restore", "turmas.restaura"],
228
+ "reviews": ["full", "classes.reviews", "turmas.avaliacoes", "teacher"],
229
+ "students": ["full", "classes.students", "turmas.alunos", "teacher"],
220
230
  "trash": ["full", "classes.trash", "turmas.lixeira"],
221
231
  "unconfirm": ["full", "classes.unconfirm", "turmas.desconfirma"],
222
232
  },
@@ -228,6 +238,7 @@ exports.ACL_MAP = {
228
238
  "list": ["full", "classes_dailys.list", "aulas_diarias.lista"],
229
239
  "menu": ["full", "classes_dailys.menu", "aulas_diarias.menu"],
230
240
  "paginate": ["full", "classes_dailys.paginate", "aulas_diarias.pagina"],
241
+ "pending_content": ["full", "classes_dailys.pending_content", "aulas_diarias.pendentes_conteudo", "teacher"],
231
242
  "remover": ["full", "classes_dailys.remove", "aulas_diarias.remove"],
232
243
  "restore": ["full", "classes_dailys.restore", "aulas_diarias.restaura"],
233
244
  "trash": ["full", "classes_dailys.trash", "aulas_diarias.lixeira"],
@@ -270,6 +281,7 @@ exports.ACL_MAP = {
270
281
  "menu": ["full", "content_reports.menu", "denuncias_conteudo.menu"],
271
282
  "paginate": ["full", "content_reports.paginate", "denuncias_conteudo.pagina"],
272
283
  "remover": ["full", "content_reports.remove", "denuncias_conteudo.remove"],
284
+ "report": ["full", "content_reports.report", "denuncias_conteudo.denuncia", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
273
285
  "restore": ["full", "content_reports.restore", "denuncias_conteudo.restaura"],
274
286
  "trash": ["full", "content_reports.trash", "denuncias_conteudo.lixeira"],
275
287
  },
@@ -469,12 +481,17 @@ exports.ACL_MAP = {
469
481
  },
470
482
  "eads": {
471
483
  "add": ["full", "eads.add", "conteudos_ead.adiciona"],
484
+ "ai_tutor": ["full", "eads.ai_tutor", "conteudos_ead.tutor_ia", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
472
485
  "clone": ["full", "eads.clone", "conteudos_ead.clona"],
486
+ "consume": ["full", "eads.consume", "conteudos_ead.consome", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
473
487
  "delete": ["full", "eads.delete", "conteudos_ead.exclui"],
474
488
  "edit": ["full", "eads.edit", "conteudos_ead.edita"],
475
489
  "find": ["full", "eads.find", "conteudos_ead.detalha"],
490
+ "generate_lesson": ["full", "eads.generate_lesson", "conteudos_ead.gera_aula", "teacher", "professor"],
476
491
  "list": ["full", "eads.list", "conteudos_ead.lista"],
477
492
  "list_paid": ["full", "eads.list_paid", "conteudos_ead.lista_pago"],
493
+ "live_join": ["full", "eads.live_join", "conteudos_ead.aula_ao_vivo", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
494
+ "manage_all": ["full", "eads.manage_all", "conteudos_ead.gerencia_todos"],
478
495
  "menu": ["full", "eads.menu", "conteudos_ead.menu"],
479
496
  "paginate": ["full", "eads.paginate", "conteudos_ead.pagina"],
480
497
  "remover": ["full", "eads.remove", "conteudos_ead.remove"],
@@ -485,6 +502,7 @@ exports.ACL_MAP = {
485
502
  },
486
503
  "eads_answers": {
487
504
  "add": ["full", "eads_answers.add", "respostas_ead.adiciona"],
505
+ "answer": ["full", "eads_answers.answer", "respostas_ead.responde", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
488
506
  "correct": ["full", "eads_answers.correct", "respostas_ead.corrige_manual"],
489
507
  "delete": ["full", "eads_answers.delete", "respostas_ead.exclui"],
490
508
  "edit": ["full", "eads_answers.edit", "respostas_ead.edita"],
@@ -521,6 +539,7 @@ exports.ACL_MAP = {
521
539
  "layouts_list": ["full", "eads_certificates.layouts_list", "certificados.layouts_lista"],
522
540
  "menu": ["full", "eads_certificates.menu", "certificados.menu"],
523
541
  "mine": ["full", "eads_certificates.mine", "certificados.meus"],
542
+ "own": ["full", "eads_certificates.own", "certificados.proprios", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
524
543
  "paginate": ["full", "eads_certificates.paginate", "certificados.pagina"],
525
544
  "privacy": ["full", "eads_certificates.privacy", "certificados.privacidade"],
526
545
  "reissue": ["full", "eads_certificates.reissue", "certificados.reemite"],
@@ -551,6 +570,7 @@ exports.ACL_MAP = {
551
570
  "remover": ["full", "eads_evidence.remove", "evidencias_ead.remove"],
552
571
  "restore": ["full", "eads_evidence.restore", "evidencias_ead.restaura"],
553
572
  "trash": ["full", "eads_evidence.trash", "evidencias_ead.lixeira"],
573
+ "view": ["full", "eads_evidence.view", "evidencias_ead.visualiza", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
554
574
  },
555
575
  "eads_observations": {
556
576
  "add": ["full", "eads_observations.add", "observacoes_ead.adiciona"],
@@ -559,6 +579,7 @@ exports.ACL_MAP = {
559
579
  "find": ["full", "eads_observations.find", "observacoes_ead.detalha"],
560
580
  "list": ["full", "eads_observations.list", "observacoes_ead.lista"],
561
581
  "menu": ["full", "eads_observations.menu", "observacoes_ead.menu"],
582
+ "own": ["full", "eads_observations.own", "observacoes_ead.proprias", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
562
583
  "paginate": ["full", "eads_observations.paginate", "observacoes_ead.pagina"],
563
584
  "remover": ["full", "eads_observations.remove", "observacoes_ead.remove"],
564
585
  "restore": ["full", "eads_observations.restore", "observacoes_ead.restaura"],
@@ -566,6 +587,7 @@ exports.ACL_MAP = {
566
587
  },
567
588
  "eads_questions": {
568
589
  "add": ["full", "eads_questions.add", "duvidas_ead.adiciona"],
590
+ "ask": ["full", "eads_questions.ask", "duvidas_ead.pergunta", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
569
591
  "delete": ["full", "eads_questions.delete", "duvidas_ead.exclui"],
570
592
  "edit": ["full", "eads_questions.edit", "duvidas_ead.edita"],
571
593
  "find": ["full", "eads_questions.find", "duvidas_ead.detalha"],
@@ -584,6 +606,7 @@ exports.ACL_MAP = {
584
606
  "list": ["full", "eads_reviews.list", "avaliacoes_curso.lista"],
585
607
  "menu": ["full", "eads_reviews.menu", "avaliacoes_curso.menu"],
586
608
  "paginate": ["full", "eads_reviews.paginate", "avaliacoes_curso.pagina"],
609
+ "rate": ["full", "eads_reviews.rate", "avaliacoes_curso.avalia", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
587
610
  "remover": ["full", "eads_reviews.remove", "avaliacoes_curso.remove"],
588
611
  "restore": ["full", "eads_reviews.restore", "avaliacoes_curso.restaura"],
589
612
  "trash": ["full", "eads_reviews.trash", "avaliacoes_curso.lixeira"],
@@ -613,12 +636,14 @@ exports.ACL_MAP = {
613
636
  "restore": ["full", "eads_tracks.restore", "progresso_ead.restaura"],
614
637
  "risk": ["full", "eads_tracks.risk", "progresso_ead.risco"],
615
638
  "status": ["full", "eads_tracks.status", "progresso_ead.status"],
639
+ "track": ["full", "eads_tracks.track", "progresso_ead.registra", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
616
640
  "trash": ["full", "eads_tracks.trash", "progresso_ead.lixeira"],
617
641
  },
618
642
  "eads_trails": {
619
643
  "add": ["full", "eads_trails.add", "trilhas.adiciona"],
620
644
  "delete": ["full", "eads_trails.delete", "trilhas.exclui"],
621
645
  "edit": ["full", "eads_trails.edit", "trilhas.edita"],
646
+ "enroll": ["full", "eads_trails.enroll", "trilhas.matricula", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
622
647
  "find": ["full", "eads_trails.find", "trilhas.detalha"],
623
648
  "list": ["full", "eads_trails.list", "trilhas.lista"],
624
649
  "menu": ["full", "eads_trails.menu", "trilhas.menu"],
@@ -628,6 +653,7 @@ exports.ACL_MAP = {
628
653
  "restore": ["full", "eads_trails.restore", "trilhas.restaura"],
629
654
  "sync_totals": ["full", "eads_trails.sync_totals", "trilhas.sincroniza_totais"],
630
655
  "trash": ["full", "eads_trails.trash", "trilhas.lixeira"],
656
+ "view": ["full", "eads_trails.view", "trilhas.visualiza", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
631
657
  },
632
658
  "eads_warnings": {
633
659
  "add": ["full", "eads_warnings.add", "avisos_ead.adiciona"],
@@ -640,9 +666,11 @@ exports.ACL_MAP = {
640
666
  "remover": ["full", "eads_warnings.remove", "avisos_ead.remove"],
641
667
  "restore": ["full", "eads_warnings.restore", "avisos_ead.restaura"],
642
668
  "trash": ["full", "eads_warnings.trash", "avisos_ead.lixeira"],
669
+ "view": ["full", "eads_warnings.view", "avisos_ead.visualiza", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
643
670
  },
644
671
  "feed_comments": {
645
672
  "add": ["full", "feed_comments.add", "comentarios_feed.adiciona"],
673
+ "comment": ["full", "feed_comments.comment", "comentarios_feed.comenta", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
646
674
  "delete": ["full", "feed_comments.delete", "comentarios_feed.exclui"],
647
675
  "edit": ["full", "feed_comments.edit", "comentarios_feed.edita"],
648
676
  "find": ["full", "feed_comments.find", "comentarios_feed.detalha"],
@@ -661,16 +689,20 @@ exports.ACL_MAP = {
661
689
  "find_by_group": ["full", "feed_events.find_by_group", "eventos.lista_por_grupo"],
662
690
  "list": ["full", "feed_events.list", "eventos.lista"],
663
691
  "menu": ["full", "feed_events.menu", "eventos.menu"],
692
+ "organize": ["full", "feed_events.organize", "eventos.organiza", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
664
693
  "paginate": ["full", "feed_events.paginate", "eventos.pagina"],
665
694
  "remover": ["full", "feed_events.remove", "eventos.remove"],
666
695
  "restore": ["full", "feed_events.restore", "eventos.restaura"],
696
+ "rsvp": ["full", "feed_events.rsvp", "eventos.confirma_presenca", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
667
697
  "trash": ["full", "feed_events.trash", "eventos.lixeira"],
698
+ "view": ["full", "feed_events.view", "eventos.visualiza", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
668
699
  },
669
700
  "feed_group_invitations": {
670
701
  "add": ["full", "feed_group_invitations.add", "convites_grupo.adiciona"],
671
702
  "delete": ["full", "feed_group_invitations.delete", "convites_grupo.exclui"],
672
703
  "edit": ["full", "feed_group_invitations.edit", "convites_grupo.edita"],
673
704
  "find": ["full", "feed_group_invitations.find", "convites_grupo.detalha"],
705
+ "invite": ["full", "feed_group_invitations.invite", "convites_grupo.convida", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
674
706
  "list": ["full", "feed_group_invitations.list", "convites_grupo.lista"],
675
707
  "menu": ["full", "feed_group_invitations.menu", "convites_grupo.menu"],
676
708
  "paginate": ["full", "feed_group_invitations.paginate", "convites_grupo.pagina"],
@@ -695,12 +727,15 @@ exports.ACL_MAP = {
695
727
  "delete": ["full", "feed_groups.delete", "grupos_feed.exclui"],
696
728
  "edit": ["full", "feed_groups.edit", "grupos_feed.edita"],
697
729
  "find": ["full", "feed_groups.find", "grupos_feed.detalha"],
730
+ "join": ["full", "feed_groups.join", "grupos_feed.participa", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
731
+ "lead": ["full", "feed_groups.lead", "grupos_feed.lidera", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
698
732
  "list": ["full", "feed_groups.list", "grupos_feed.lista"],
699
733
  "menu": ["full", "feed_groups.menu", "grupos_feed.menu"],
700
734
  "paginate": ["full", "feed_groups.paginate", "grupos_feed.pagina"],
701
735
  "remover": ["full", "feed_groups.remove", "grupos_feed.remove"],
702
736
  "restore": ["full", "feed_groups.restore", "grupos_feed.restaura"],
703
737
  "trash": ["full", "feed_groups.trash", "grupos_feed.lixeira"],
738
+ "view": ["full", "feed_groups.view", "grupos_feed.visualiza", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
704
739
  },
705
740
  "feed_media": {
706
741
  "add": ["full", "feed_media.add", "midias_feed.adiciona"],
@@ -731,12 +766,16 @@ exports.ACL_MAP = {
731
766
  "delete": ["full", "feed_posts.delete", "posts_feed.exclui"],
732
767
  "edit": ["full", "feed_posts.edit", "posts_feed.edita"],
733
768
  "find": ["full", "feed_posts.find", "posts_feed.detalha"],
769
+ "follow": ["full", "feed_posts.follow", "posts_feed.segue", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
734
770
  "list": ["full", "feed_posts.list", "posts_feed.lista"],
735
771
  "menu": ["full", "feed_posts.menu", "posts_feed.menu"],
736
772
  "paginate": ["full", "feed_posts.paginate", "posts_feed.pagina"],
773
+ "publish": ["full", "feed_posts.publish", "posts_feed.publica", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
737
774
  "remover": ["full", "feed_posts.remove", "posts_feed.remove"],
738
775
  "restore": ["full", "feed_posts.restore", "posts_feed.restaura"],
739
776
  "trash": ["full", "feed_posts.trash", "posts_feed.lixeira"],
777
+ "view": ["full", "feed_posts.view", "posts_feed.visualiza", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
778
+ "vote": ["full", "feed_posts.vote", "posts_feed.vota", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
740
779
  },
741
780
  "feed_reaction_types": {
742
781
  "add": ["full", "feed_reaction_types.add", "tipos_reacao.adiciona"],
@@ -758,6 +797,7 @@ exports.ACL_MAP = {
758
797
  "list": ["full", "feed_reactions.list", "reacoes_feed.lista"],
759
798
  "menu": ["full", "feed_reactions.menu", "reacoes_feed.menu"],
760
799
  "paginate": ["full", "feed_reactions.paginate", "reacoes_feed.pagina"],
800
+ "react": ["full", "feed_reactions.react", "reacoes_feed.reage", "aluno", "student", "teacher", "professor", "responsible", "responsavel", "community_moderator"],
761
801
  "remover": ["full", "feed_reactions.remove", "reacoes_feed.remove"],
762
802
  "restore": ["full", "feed_reactions.restore", "reacoes_feed.restaura"],
763
803
  "trash": ["full", "feed_reactions.trash", "reacoes_feed.lixeira"],
@@ -890,6 +930,7 @@ exports.ACL_MAP = {
890
930
  "list": ["full", "magazines.list", "revistas.lista"],
891
931
  "menu": ["full", "magazines.menu", "revistas.menu"],
892
932
  "paginate": ["full", "magazines.paginate", "revistas.pagina"],
933
+ "read": ["full", "magazines.read", "revistas.leitura", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
893
934
  "remover": ["full", "magazines.remove", "revistas.remove"],
894
935
  "restore": ["full", "magazines.restore", "revistas.restaura"],
895
936
  "trash": ["full", "magazines.trash", "revistas.lixeira"],
@@ -1014,6 +1055,18 @@ exports.ACL_MAP = {
1014
1055
  "remover": ["full", "onboarding_campaigns.remove", "matricula_online.remove"],
1015
1056
  "staff_code": ["full", "onboarding_campaigns.staff_code", "matricula_online.codigo_secretaria"],
1016
1057
  },
1058
+ "onboarding_queue": {
1059
+ "approve": ["full", "onboarding_queue.approve", "matriculas_online.aprovar"],
1060
+ "cancel": ["full", "onboarding_queue.cancel", "matriculas_online.cancelar"],
1061
+ "contract": ["full", "onboarding_queue.contract", "matriculas_online.contrato"],
1062
+ "correction": ["full", "onboarding_queue.correction", "matriculas_online.correcao"],
1063
+ "detail": ["full", "onboarding_queue.detail", "matriculas_online.dossie"],
1064
+ "director_review": ["full", "onboarding_queue.director_review", "matriculas_online.revisao_direcao"],
1065
+ "list": ["full", "onboarding_queue.list", "matriculas_online.lista"],
1066
+ "menu": ["full", "onboarding_queue.menu", "matriculas_online.menu", "secretary.menu"],
1067
+ "reject": ["full", "onboarding_queue.reject", "matriculas_online.recusar"],
1068
+ "unblock": ["full", "onboarding_queue.unblock", "matriculas_online.destravar"],
1069
+ },
1017
1070
  "opening_hours": {
1018
1071
  "add": ["full", "opening_hours.add", "horarios_funcionamento.adiciona"],
1019
1072
  "delete": ["full", "opening_hours.delete", "horarios_funcionamento.exclui"],
@@ -1033,6 +1086,7 @@ exports.ACL_MAP = {
1033
1086
  "find": ["full", "pay.find", "pagamentos.detalha"],
1034
1087
  "list": ["full", "pay.list", "pagamentos.lista"],
1035
1088
  "menu": ["full", "pay.menu", "pagamentos.menu"],
1089
+ "my_ir": ["full", "pay.my_ir", "pagamentos.meu_ir", "aluno", "student", "responsible", "responsavel"],
1036
1090
  "paginate": ["full", "pay.paginate", "pagamentos.pagina"],
1037
1091
  "remover": ["full", "pay.remove", "pagamentos.remove"],
1038
1092
  "restore": ["full", "pay.restore", "pagamentos.restaura"],
@@ -1057,6 +1111,8 @@ exports.ACL_MAP = {
1057
1111
  "find": ["full", "pay_checkouts.find", "pedidos.detalha"],
1058
1112
  "list": ["full", "pay_checkouts.list", "pedidos.lista"],
1059
1113
  "menu": ["full", "pay_checkouts.menu", "pedidos.menu"],
1114
+ "mine": ["full", "pay_checkouts.mine", "pedidos.minhas_compras", "aluno", "student", "responsible", "responsavel", "teacher", "professor"],
1115
+ "my_bills": ["full", "pay_checkouts.my_bills", "pedidos.meus_boletos", "aluno", "student", "responsible", "responsavel"],
1060
1116
  "paginate": ["full", "pay_checkouts.paginate", "pedidos.pagina"],
1061
1117
  "remover": ["full", "pay_checkouts.remove", "pedidos.remove"],
1062
1118
  "restore": ["full", "pay_checkouts.restore", "pedidos.restaura"],
@@ -1117,6 +1173,7 @@ exports.ACL_MAP = {
1117
1173
  "find": ["full", "pay_events.find", "eventos_ingressos.detalha"],
1118
1174
  "list": ["full", "pay_events.list", "eventos_ingressos.lista"],
1119
1175
  "menu": ["full", "pay_events.menu", "eventos_ingressos.menu"],
1176
+ "my_tickets": ["full", "pay_events.my_tickets", "eventos_ingressos.meus_ingressos", "aluno", "student", "responsible", "responsavel", "teacher", "professor"],
1120
1177
  "paginate": ["full", "pay_events.paginate", "eventos_ingressos.pagina"],
1121
1178
  "remover": ["full", "pay_events.remove", "eventos_ingressos.remove"],
1122
1179
  "restore": ["full", "pay_events.restore", "eventos_ingressos.restaura"],
@@ -1232,6 +1289,7 @@ exports.ACL_MAP = {
1232
1289
  },
1233
1290
  "pay_products": {
1234
1291
  "add": ["full", "pay_products.add", "produtos.adiciona"],
1292
+ "catalog": ["full", "pay_products.catalog", "produtos.catalogo", "aluno", "student", "responsible", "responsavel", "teacher", "professor"],
1235
1293
  "delete": ["full", "pay_products.delete", "produtos.exclui"],
1236
1294
  "edit": ["full", "pay_products.edit", "produtos.edita"],
1237
1295
  "find": ["full", "pay_products.find", "produtos.detalha"],
@@ -1316,7 +1374,9 @@ exports.ACL_MAP = {
1316
1374
  },
1317
1375
  "peoples": {
1318
1376
  "add": ["full", "peoples.add", "pessoas.adiciona"],
1377
+ "class_student": ["full", "peoples.class_student", "pessoas.aluno_turma", "teacher"],
1319
1378
  "delete": ["full", "peoples.delete", "pessoas.exclui"],
1379
+ "directory": ["full", "peoples.directory", "pessoas.diretorio", "teacher", "aluno", "responsible", "responsavel", "community_moderator"],
1320
1380
  "edit": ["full", "peoples.edit", "pessoas.edita"],
1321
1381
  "export": ["full", "peoples.export", "pessoas.exporta"],
1322
1382
  "find": ["full", "peoples.find", "pessoas.detalha"],
@@ -1641,6 +1701,7 @@ exports.ACL_MAP = {
1641
1701
  },
1642
1702
  "periodic_models": {
1643
1703
  "add": ["full", "periodic_models.add", "periodos_do_dia.adiciona"],
1704
+ "class_tabs": ["full", "periodic_models.class_tabs", "periodos_do_dia.abas_turma", "classes.menu", "classes.classes", "classes.daily", "classes.bulletin", "classes.partialbulletin", "classes.reviews", "classes.report", "class_council.menu", "class_council.list", "classes_teachers.list", "teacher", "professor"],
1644
1705
  "delete": ["full", "periodic_models.delete", "periodos_do_dia.exclui"],
1645
1706
  "edit": ["full", "periodic_models.edit", "periodos_do_dia.edita"],
1646
1707
  "find": ["full", "periodic_models.find", "periodos_do_dia.detalha"],
@@ -1800,6 +1861,7 @@ exports.ACL_MAP = {
1800
1861
  "delete": ["full", "posts.delete", "publicacoes.exclui"],
1801
1862
  "edit": ["full", "posts.edit", "publicacoes.edita"],
1802
1863
  "find": ["full", "posts.find", "publicacoes.detalha"],
1864
+ "lessons": ["full", "posts.lessons", "publicacoes.aulas", "classes.menu", "classes.classes", "teacher", "professor"],
1803
1865
  "list": ["full", "posts.list", "publicacoes.lista"],
1804
1866
  "menu": ["full", "posts.menu", "publicacoes.menu"],
1805
1867
  "paginate": ["full", "posts.paginate", "publicacoes.pagina"],
@@ -2115,6 +2177,7 @@ exports.ACL_MAP = {
2115
2177
  "find": ["full", "schools_enrollments.find", "matriculas.detalha"],
2116
2178
  "list": ["full", "schools_enrollments.list", "matriculas.lista"],
2117
2179
  "menu": ["full", "schools_enrollments.menu", "matriculas.menu"],
2180
+ "my_enrollments": ["full", "schools_enrollments.my_enrollments", "matriculas.minhas_matriculas", "aluno"],
2118
2181
  "paginate": ["full", "schools_enrollments.paginate", "matriculas.pagina"],
2119
2182
  "remover": ["full", "schools_enrollments.remove", "matriculas.remove"],
2120
2183
  "restore": ["full", "schools_enrollments.restore", "matriculas.restaura"],
@@ -2156,6 +2219,9 @@ exports.ACL_MAP = {
2156
2219
  "restore": ["full", "schools_types.restore", "tipos_escola.restaura"],
2157
2220
  "trash": ["full", "schools_types.trash", "tipos_escola.lixeira"],
2158
2221
  },
2222
+ "search": {
2223
+ "global": ["full", "search.global", "busca.global"],
2224
+ },
2159
2225
  "settings": {
2160
2226
  "add": ["full", "settings.add", "configuracoes.adiciona"],
2161
2227
  "add_file": ["full", "settings.add_file", "configuracoes.adiciona_arquivo"],
@@ -2165,6 +2231,8 @@ exports.ACL_MAP = {
2165
2231
  "find": ["full", "settings.find", "configuracoes.detalha"],
2166
2232
  "list": ["full", "settings.list", "configuracoes.lista"],
2167
2233
  "menu": ["full", "settings.menu", "configuracoes.menu"],
2234
+ "options": ["full", "settings.options", "configuracoes.opcoes", "teacher", "professor", "aluno", "student", "responsible", "responsavel", "director", "deputy_director", "coordinator", "pedagogical", "secretary", "assistant_secretary", "financial", "cashier", "doorman", "counselor", "teaching_assistant", "admissions", "reception"],
2235
+ "options_all": ["full", "settings.options_all", "configuracoes.opcoes_todas"],
2168
2236
  "paginate": ["full", "settings.paginate", "configuracoes.pagina"],
2169
2237
  "remover": ["full", "settings.remove", "configuracoes.remove"],
2170
2238
  "restore": ["full", "settings.restore", "configuracoes.restaura"],
@@ -2249,6 +2317,7 @@ exports.ACL_MAP = {
2249
2317
  "find": ["full", "warnings.find", "avisos.detalha"],
2250
2318
  "list": ["full", "warnings.list", "avisos.lista"],
2251
2319
  "menu": ["full", "warnings.menu", "avisos.menu"],
2320
+ "mine": ["full", "warnings.mine", "avisos.meus", "teacher", "professor", "aluno", "student", "responsible", "responsavel"],
2252
2321
  "paginate": ["full", "warnings.paginate", "avisos.pagina"],
2253
2322
  "remover": ["full", "warnings.remove", "avisos.remove"],
2254
2323
  "restore": ["full", "warnings.restore", "avisos.restaura"],
@@ -2292,6 +2361,7 @@ exports.ACL_MAP = {
2292
2361
  "sync": ["full", "yt_channels.sync", "canais_youtube.sincroniza"],
2293
2362
  "trash": ["full", "yt_channels.trash", "canais_youtube.lixeira"],
2294
2363
  "videos": ["full", "yt_channels.videos", "canais_youtube.videos"],
2364
+ "watch": ["full", "yt_channels.watch", "canais_youtube.assiste", "aluno", "student", "teacher", "professor", "responsible", "responsavel"],
2295
2365
  },
2296
2366
  };
2297
2367
  //# sourceMappingURL=map.generated.js.map