Baza danych: Użytkownicy: Różnice pomiędzy wersjami

Z DrRobert DOCS
Przejdź do nawigacji Przejdź do wyszukiwania
Nie podano opisu zmian
Nie podano opisu zmian
Linia 20: Linia 20:
|
|
|id statusu użytkownika
|id statusu użytkownika
|-
|type_id
|int
|1
|
|id typu użytkownika
|-
|-
|uuid
|uuid
Linia 102: Linia 96:
|STATUS_DELETED
|STATUS_DELETED
|}
|}
{| class="wikitable"
|+
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 autoryzacji: `sg_user_auth` ==
Tabela z metodami autoryzacji użytkownika, możliwość przechowywania loginów, haseł i tokenów.
Tabela z metodami autoryzacji użytkownika, możliwość przechowywania loginów, haseł i tokenów.
Linia 610: Linia 580:
|
|
|data i czas usunięcia
|data i czas usunięcia
|}
{| class="wikitable"
|+
Typy członkostwa:
!id
!nazwa
!klucz
|-
|0
|brak
|TYPE_NONE
|-
|1
|zwykły
|TYPE_ORDINARY
|-
|2
|koordynator
|TYPE_COORDINATOR
|-
|99
|admin
|TYPE_ADMIN
|}
|}

Wersja z 10:27, 8 gru 2023

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
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

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
Typy członkostwa:
id nazwa klucz
0 brak TYPE_NONE
1 zwykły TYPE_ORDINARY
2 koordynator TYPE_COORDINATOR
99 admin TYPE_ADMIN