Definir permissões
A segurança da AI-School funciona com base em roles (funções) e permissões.
Contas e papéis
As contas são criadas automaticamente após a primeira tentativa de login bem-sucedida. Durante a criação das contas, tokens são adicionados no servidor:
- aluno (sim/não): definido como "sim" se o endereço de email corresponder a um email na lista de alunos
- funcionário (sim/não): definido como "sim" se o endereço de email corresponder a um email na lista de funcionários
- admin (sim/não): sempre definido como "não" na primeira criação da conta
- admin do conselho (sim/não): sempre definido como "não" na primeira criação da conta
- super admin (sim/não): sempre definido como "não" na primeira criação da conta
Alterar papel
Um admin, admin do conselho ou super admin pode atribuir papéis, desde que esse papel admin tenha permissão para atribuir o papel.
Por exemplo, um funcionário pode receber o papel admin se o admin do conselho ou o super admin atribuí-lo. No entanto, um admin nunca pode atribuir os papéis admin do conselho ou super admin.
Uma alteração de papel envolve a atribuição de novos tokens no servidor.
Papéis de permissão
Na seção de admin, o super admin ou admin do conselho pode ajustar permissões por papel.

Aqui, há ainda um papel adicional visível: o de convidado. Estas são permissões que são concedidas a usuários não logados.
Usuários não logados devem, no mínimo, poder ler as informações básicas dos ambientes, caso contrário não seria possível tomar uma decisão na tela de login.
Seja muito contido ao conceder permissões adicionais a esse papel!
Coleções
Permissões são concedidas por coleção. Uma coleção é um conjunto de dados semelhantes. Por exemplo, uma coleção "Escolas" e uma coleção "Chats".
Definir permissões na database padrão
Apenas super admins podem definir permissões na database padrão.
Definir permissões na database da tenant
Após selecionar um papel, o administrador pode ajustar as permissões por coleção na database da tenant.

Permissões de Leitura
Permissões de leitura dizem respeito a poder ler dados do banco de dados.
Os direitos são configuráveis de forma crescente:
-
Registro único: para isso o usuário deve conhecer o UUID único do registro
-
Seus próprios registros: apenas registros que o usuário criou
-
Registros compartilhados: registros compartilhados com o usuário
-
Registros sob controle: registros sob o controle do docente, por exemplo chats criados durante uma aula ou relacionados a um assistente
-
Registros da tenant: todos os registros de uma tenant na AI-School
-
Todos os registros: todos os registros da AI-School
Como a estrutura do banco de dados é configurada de modo que cada tenant (cliente) da AI-School possui seu próprio banco de dados, a configuração "Registros da tenant" fica desativada ao definir permissões em bancos de dados da tenant.
Permissões de Visualização
Aqui o administrador pode definir se a respectiva função pode ver o painel (tile) na seção de admin.
Permissões de Criar, Atualizar, Excluir
Essas permissões são para criar, atualizar ou excluir registros e podem ser definidas por coleção. Os direitos são configuráveis de forma crescente:
-
Seus próprios registros: apenas os registros que o usuário criou ou criou
-
Registros da tenant: todos os registros de uma tenant na AI-School
-
Todos os registros: todos os registros da AI-School
Como a estrutura do banco de dados é configurada de modo que cada tenant (cliente) da AI-School possui seu próprio banco de dados, a configuração "Registros da tenant" fica desativada ao definir permissões em bancos de dados da tenant.