For AI agents: fetch the complete documentation index at /llms.txt, the full documentation corpus at /llms-full.txt, the agent skill at /skill.md, or this page as Markdown at /it/docs/web/organizations.md (or send Accept: text/markdown).
Organizzazioni e inviti
Consegna il ciclo org dimostrativo: creare, cambiare, invitare, ruoli, uscire ed eliminazione in zona di pericolo.
Installazione e configurazione
Prima di qualsiasi passaggio, leggere Prima di iniziare e Nozioni di base sui terminali. Queste istruzioni presuppongono che tu abbia aperto l'intero supastack monorepo in VS Code; la sua radice package.json contrassegna la radice del repository. Nei comandi pnpm, un pacchetto dell'area di lavoro è un'app o una cartella di codice condiviso; nel prodotto, uno spazio di lavoro è il contenitore dei dati di un team e il limite di sicurezza. corepack pnpm --filter ... seleziona un pacchetto dal monorepo mentre i comandi vengono eseguiti dalla sua radice. Se hai aperto solo una cartella mobile o desktop sincronizzata, non contiene il backend Web, la configurazione di Docker o gli script root: esegui il backend da questo monorepo o da un server ospitato raggiungibile e utilizza gli script della cartella della piattaforma. Una variabile di ambiente è un'impostazione denominata memorizzata in un file .env locale o nel dashboard dell'hosting; riavvia l'app pertinente dopo averla modificata e mantieni i segreti del server fuori dai valori NEXT_PUBLIC_ e EXPO_PUBLIC_.
1. Avviare l'app Web dalla root del repository con corepack pnpm --filter @supastack/web dev e creare un account di prova.
2. Apri la schermata di configurazione dell'organizzazione, crea uno spazio di lavoro di prova, quindi invita una seconda email di prova da Impostazioni → Membri. Un'area di lavoro è il confine del team che possiede membri e record.
3. Accetta l'invito dopo aver effettuato l'accesso con la stessa email. Previsto: il secondo account può accedere all'area di lavoro invitata con il ruolo assegnato, ma non può gestire le azioni riservate al solo proprietario.
I workspace organizzazione sono distinti da quelli personali in packages/db. Dopo la registrazione, i cancelli di onboarding (/onboarding, /new-organization, /select-organization, /choose-plan) spingono l'utente in una org attiva prima della fatturazione e delle impostazioni di prodotto.
Gli inviti creano una riga workspace_invitation in sospeso e inviano un'email transazionale con un URL di accettazione /invite/[token]. Accettare richiede un'email di sessione corrispondente. Lista membri, ruoli e uscita vivono sotto /settings/members; rinominare/eliminare e uscire compaiono anche su /organization/settings.
Routes
/new-organization
/select-organization
/invite/[token]
/settings/members
/organization/settings
Server actions
createOrganizationAction
createWorkspaceInviteAction
acceptWorkspaceInviteAction
updateMemberRoleAction
leaveOrganizationAction
renameOrganizationAction
deleteOrganizationActionComandi da copiare
Segui i commenti per vedere in quale cartella viene eseguito un comando. Se due terminali sono etichettati, apri due finestre di terminale e mantieni il primo comando in esecuzione mentre usi il secondo.
corepack pnpm --filter @supastack/web devFlusso di implementazione
Risolvi il workspace attivo da cookie → preferenza utente → appartenenza, poi verifica l'appartenenza a ogni scrittura. Owner e admin gestiscono inviti/ruoli; un owner unico non può uscire né degradare sé stesso.
Preferisci evaluateLeaveOrganization e evaluateMemberRoleUpdate da @supastack/db prima di mutare le appartenenze. Emetti notifiche in-app member.left / member.role_changed dopo mutazioni riuscite quando inAppProduct è abilitato.
L'amministrazione della piattaforma è un confine separato: solo gli amministratori della piattaforma possono gestire utenti, ban e impersonificazione. Un ruolo di proprietario/amministratore dell'area di lavoro non concede l'accesso alla piattaforma. I ruoli dell'organizzazione documentati sono proprietario, amministratore e membro.
Verifica e risoluzione dei problemi
Se un collegamento di invito indica che l'e-mail non corrisponde, accedi utilizzando l'indirizzo esatto che l'ha ricevuto. Se manca l'e-mail di invito, controlla il risultato dell'e-mail locale prima di inviarla nuovamente. Se un membro non riesce a visualizzare un'organizzazione, passa all'area di lavoro corretta e verifica l'appartenenza; non risolvere mai questo problema passando un altro workspaceId dal browser.
Vitest mirato: helper uscita/ruolo workspace, accettazione invito, cancelli di onboarding org. Manuale: creare una org → invitare → accettare su un secondo account → cambiare ruolo → uscire come non-owner → eliminare come owner con conferma digitata.