wf-team-invite
Objetivo
Transforma uma lista colada de pessoas — "nome + endereço", em qualquer formato que um ser
humano tenha escrito — em contas de usuário, funções, cartões de equipe e convites, e envia
a cada pessoa o link que permite fazer login.
Isso existe porque quatro serviços precisam avançar juntos para uma linha dessa lista
(, rp-identity, rp-access, rp-staff, além de uma lambda de e-mail) erp-auth
os microsserviços não chamam uns aos outros.
Por que também é o limite de privilégios
recusa diretamente um JWT de usuário (rp-access), então nenhuma superfície@Access("internal")
pode conceder uma função. centimanus executa este script com , e quemSERVICE_TOKEN
pode executá-lo recebe uma concessão comum — — verificadawf/workflows/wf-team-invite.js(x)
na borda () e registrada em um único arquivo de predefinições. É por isso quesignal_provider.zig:146
o produto não tem o conceito de "administrador".
O script não consegue ver quem o chamou, então a proteção contra escalação é uma lista fixa:, manager, operator. viewer e owner não podem ser concedidos aqui.root
Estrutura
- fontes de texto —
+files.materialize, além defiles.extractText;rawText - pessoas — primeiro
, e uma expressão regular linha a linha como alternativa;rt.llm - um
por pessoa — usuário, predefinição base + função, tags de grupo, cartão,rt.attempt
convite; - a mensagem — sua própria tentativa, para que um relay recusado seja um ramo e não uma conta
perdida; - o relatório, cujos
a superfície transforma em uma tabela aberta exatamentestaffIds
com essas pessoas.
Executar novamente a mesma lista é inofensivo: um endereço conhecido é , nunca umaupdated
segunda conta.
Dependências diretas do módulo
,g-access,g-auth,g-files,g-identity,g-notify,g-ses,g-smtpg-staff
Participação na solução
production
Fonte
modules/workflows/wf-team-invite