PeopleContext
PeopleContext è l’elenco HR: dipendenti, a chi riportano, retribuzione, dati personali e note riservate. Ogni persona che ha effettuato l’accesso vede una porzione diversa. La stessa applicazione è il modo in cui PocketContext verifica che le istantanee filtrate nascondano davvero le righe che devono nascondere.
L’app include un lettore nel browser in sola lettura. Il reindirizzamento di accesso da riga di comando è quello configurato per l’uso attuale. Il reindirizzamento Google del browser non è ancora pronto.
Chi vede quale porzione
flowchart TD
emp[Record del dipendente]
emp --> dir[Elenco<br/>qualsiasi dipendente con accesso]
emp --> pay[Retribuzione<br/>sé, HR, responsabili sopra]
emp --> personal[Dati personali<br/>sé e HR]
emp --> notes[Note riservate<br/>solo HR]
L’accesso ai propri dati richiede un collegamento all’account. Un operatore imposta quel collegamento, oppure un accesso Google convalidato lo crea quando l’email di lavoro coincide. Gli amministratori gestiscono i collegamenti, i ruoli HR e le linee gerarchiche. Quelle tre tabelle di politica restano fuori dall’istantanea SQL. Decidono il filtro. Non sono righe che un assistente può sfogliare.
Le persone leggono tramite quell’SQL filtrato, HR compreso. L’API ordinaria di elenco dei record è chiusa, così una chiamata di elenco non può allargare ciò che l’istantanea ha nascosto. HR scrive i record di dipendente, retribuzione, dati personali e note tramite l’API dei record. Dipendenti e responsabili usano il lettore e SQL.
sequenceDiagram
participant Alice as Alice, una responsabile
participant PC as Istantanea di PeopleContext
participant Helen as Helen, HR
Alice->>PC: mostra con SQL
PC-->>Alice: elenco, la propria retribuzione e quella di chi le riporta
Helen->>PC: mostra con SQL
PC-->>Helen: elenco, tutte le retribuzioni, i dettagli e le note
Trasferire qualcuno a un altro responsabile sposta di chi puoi vedere la retribuzione. Il responsabile precedente conserva la propria retribuzione e perde quella della persona trasferita.
Un’istantanea filtrata viene ricostruita dai filtri dell’app per l’account che ha effettuato l’accesso. I responsabili non ricevono un dialetto SQL speciale. Ricevono un database più piccolo.