Dados

Templates e duplicar apps

Templates e duplicar apps

Templates são apps curados que outros usuários podem duplicar pro próprio workspace.

Como marcar um app como template

No app → menu → "Marcar como template" (ícone LayoutTemplate).

  • App aparece na galeria /templates pra todos os users logados
  • Admin pode marcar como Oficial (selo dourado + ranking maior)

Duplicar um template

/templates → "Usar template" no card → cópia aparece no seu workspace com:

  • Slug único (ex: crm-copia ou crm-copia-1)
  • Tabelas novas vazias (prefixo regenerado — não compartilha dados com o original)
  • Schema espelhado via CREATE TABLE LIKE INCLUDING ALL
  • Visibility = private (você muda depois se quiser)

Templates de sistema modular

Apps com sub-apps + schema declarado viram templates de sistema — aparecem como 1 card na galeria com badge "Sistema modular · N sub-apps".

Quando alguém duplica:

  1. Plataforma cria o pai no workspace do user (slug único + dataSchema atualizado)
  2. Cria todos os sub-apps linkados ao novo pai
  3. Roda CREATE TABLE pras shared tables no novo prefix (app_<novo-pai>_shared_*)
  4. Reescreve refs no código de cada sub-app pra apontar pras tabelas novas
  5. Hashes de tabelas internas (não-shared) também regenerados

Tudo em uma transação — rollback se falhar. Resultado: 1 click, sistema completo no workspace.

Diferença: galeria mostra só raízes

Sub-apps marcados individualmente como template não aparecem como card separado — eles fazem parte do template do pai. Pra desmarcar um sistema, desmarca o template no pai.

Quem pode duplicar

  • Templates públicos: qualquer user logado
  • Templates de negócio (private): membros do negócio
  • Templates privados sem negócio: só o owner (e admin global)

Notificação

Quando alguém duplica seu template público, você recebe notificação:

"<user> duplicou seu app <título>"

Limites

  • Templates não duplicam segredos (/secrets) — usuário precisa cadastrar os próprios
  • Não duplicam GitHub sync config
  • Apps deployed continuam apontando pro original — duplicate cria nova versão private