Baza danych: Użytkownicy

Z DrRobert DOCS
Przejdź do nawigacji Przejdź do wyszukiwania

Tabela użytkowników: sg_users

Tabela z podstawowymi danymi użytkowników.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
status_id int 0 id statusu użytkownika
type_id int 1 id typu użytkownika
uuid char(36) UUID() wygenerowany identyfikator UUID
name varchar(200) NULL nazwa służąca wyświetlaniu w widokach administracyjnych
data json NULL json z danymi niezaszyfrowanymi
data_encrypted longtext NULL zaszyfrowana tablica z danymi niejawnymi
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia
Statusy użytkowników:
id nazwa klucz
0 nowy STATUS_NEW
1 aktywny STATUS_ACTIVE
91 nieaktywny STATUS_INACTIVE
92 zawieszony STATUS_SUSPENDED
99 usunięty STATUS_DELETED
Typy użytkowników:
id nazwa klucz
0 brak TYPE_NONE
1 zwykły TYPE_ORDINARY
2 koordynator TYPE_COORDINATOR
99 admin TYPE_ADMIN

Tabela autoryzacji: sg_user_auth

Tabela z metodami autoryzacji użytkownika, możliwość przechowywania loginów, haseł i tokenów.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
user_id int 0 id użytkownika
type_id int 0 id typu
auth_login text NULL login w plaintext
auth_hash text NULL hash (np hasła)
auth_token text NULL token logowania
dt_expire datetime NULL data i czas utraty ważności w przypadku czasowego sposobu logowania, lub historycznej pary login/hasło
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia
Typy autoryzacji:
id nazwa klucz opis
0 login i hasło TYPE_LOGIN_PASSWORD domyślny sposób logowania przy pomocy loginu i hasła
1 token url TYPE_URL_TOKEN token w adresie url, wysyłany przy pomocy emaila
2 token api TYPE_API_TOKEN token do autoryzacji przy pomocy api, przechowywany w aplikacji

Możliwe dodanie kolejnych typów autoryzacji wraz z rozwojem.

Tabela wydarzeń: sg_user_events

Tabela z wydarzeniami kalendarza użytkowników.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
user_id int 0 id użytkownika
type_id int 0 id typu
name text NULL nazwa do wyświetlania na listach
date_start date NULL data wydarzenia
date_stop date NULL data zakończenia gdy trwa więcej niż jeden dzień, w innym przypadku NULL
time_start time NULL czas wydarzenia gdy planowane na konkretną godzinę, w innym przypadku NULL
time_stop time NULL czas zakończenia gdy planowane, w innym przypadku NULL
data json NULL json z danymi dodatkowymi
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia

Tabela relacji między użytkownikami: sg_user_relationships

Tabela z relacjami między użytkownikami, czyli które konto ma przypisanych wiele profili do zarządzania.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
parent_user_id int 0 id użytkownika rodzica
children_user_id int 0 id użytkownika dziecka
type_id int 0 id typu relacji
date_start date NULL data rozpoczęcia relacji
date_stop date NULL data zakończenia lub NULL w przypadku dostępu ciągłego
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia

Tabela ankiet użytkowników: sg_user_surveys

Tabela z przypisanymi do wypełnienia i wypełnionymi ankietami.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
user_id int 0 id użytkownika
survey_id int 0 id ankiety
date_start date NULL data planowanego rozpoczęcia
date_stop date NULL data zakończenia gdy trwa więcej niż jeden dzień, w innym przypadku NULL
time_start time NULL czas planowanego rozpoczęcia gdy na konkretną godzinę, w innym przypadku NULL
time_stop time NULL czas zakończenia gdy planowane, w innym przypadku NULL
responded bool 0 flaga stanu 0-planowana 1-wypełniona
responses json NULL json z odpowiedziami
dt_responded datetime CURRENT_TIMESTAMP data i czas wypełnienia
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia

Tabela organizacji użytkowników: sg_user_organisations

Tabela organizacji grupujących użytkowników.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
user_id int 0 id użytkownika
type_id int 0 id typu
name text NULL nazwa organizacji
data json NULL json z danymi dodatkowymi
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia

Tabela przypisań użytkowników do organizacji: sg_user_organisations_membership

Tabela z przypisaniem do organizacji, w danym okresie i danego typu roli.

nazwa typ domyślnie klucz lub właściwości opis
id int $auto_increment primary_key
user_id int 0 id użytkownika
organization_id int 0 id organizacji
type_id int 0 id typu członkostwa
date_start date NULL data rozpoczęcia członkostwa
date_stop date NULL data zakończenia lub NULL w przypadku dostępu ciągłego
dt_created datetime CURRENT_TIMESTAMP data i czas utworzenia
dt_updated datetime NULL on update CURRENT_TIMESTAMP data i czas modyfikacji
deleted bool 0 flaga usunięcia
dt_deleted datetime NULL data i czas usunięcia