Анализ и расширение структуры таблиц #12
This commit is contained in:
@@ -10,6 +10,13 @@
|
|||||||
role :: user | bot,
|
role :: user | bot,
|
||||||
status :: active | frozen | deleted,
|
status :: active | frozen | deleted,
|
||||||
reason :: binary() | undefined,
|
reason :: binary() | undefined,
|
||||||
|
nickname :: binary() | undefined,
|
||||||
|
avatar_url :: binary() | undefined,
|
||||||
|
timezone :: binary() | undefined,
|
||||||
|
language :: binary() | undefined,
|
||||||
|
social_links :: [binary()] | undefined,
|
||||||
|
phone :: binary() | undefined,
|
||||||
|
preferences :: map() | undefined,
|
||||||
created_at :: calendar:datetime(),
|
created_at :: calendar:datetime(),
|
||||||
updated_at :: calendar:datetime()
|
updated_at :: calendar:datetime()
|
||||||
}).
|
}).
|
||||||
@@ -28,6 +35,12 @@
|
|||||||
password_hash :: binary(),
|
password_hash :: binary(),
|
||||||
role :: superadmin | admin | moderator | support,
|
role :: superadmin | admin | moderator | support,
|
||||||
status :: active | blocked,
|
status :: active | blocked,
|
||||||
|
nickname :: binary() | undefined,
|
||||||
|
avatar_url :: binary() | undefined,
|
||||||
|
timezone :: binary() | undefined,
|
||||||
|
language :: binary() | undefined,
|
||||||
|
phone :: binary() | undefined,
|
||||||
|
preferences :: map() | undefined,
|
||||||
created_at :: calendar:datetime(),
|
created_at :: calendar:datetime(),
|
||||||
updated_at :: calendar:datetime()
|
updated_at :: calendar:datetime()
|
||||||
}).
|
}).
|
||||||
@@ -46,6 +59,11 @@
|
|||||||
owner_id :: binary(),
|
owner_id :: binary(),
|
||||||
title :: binary(),
|
title :: binary(),
|
||||||
description :: binary(),
|
description :: binary(),
|
||||||
|
short_name :: binary() | undefined,
|
||||||
|
category :: binary() | undefined,
|
||||||
|
color :: binary() | undefined,
|
||||||
|
image_url :: binary() | undefined,
|
||||||
|
settings :: map() | undefined,
|
||||||
tags :: [binary()],
|
tags :: [binary()],
|
||||||
type :: personal | commercial,
|
type :: personal | commercial,
|
||||||
confirmation :: auto | manual | {timeout, integer()}, % секунд
|
confirmation :: auto | manual | {timeout, integer()}, % секунд
|
||||||
@@ -63,6 +81,17 @@
|
|||||||
rights :: read | write | admin
|
rights :: read | write | admin
|
||||||
}).
|
}).
|
||||||
|
|
||||||
|
%% ------------------- Специалисты календаря ---------------------------
|
||||||
|
-record(calendar_specialist, {
|
||||||
|
calendar_id :: binary(),
|
||||||
|
user_id :: binary(), % id пользователя-специалиста
|
||||||
|
name :: binary(), % отображаемое имя в этом календаре
|
||||||
|
specialization :: [binary()] | undefined, % список специализаций (услуг)
|
||||||
|
status :: active | inactive,
|
||||||
|
added_at :: calendar:datetime(),
|
||||||
|
updated_at :: calendar:datetime()
|
||||||
|
}).
|
||||||
|
|
||||||
-record(location, {
|
-record(location, {
|
||||||
address :: binary(),
|
address :: binary(),
|
||||||
lat :: float(),
|
lat :: float(),
|
||||||
@@ -90,6 +119,8 @@
|
|||||||
reason :: binary() | undefined,
|
reason :: binary() | undefined,
|
||||||
rating_avg :: float(),
|
rating_avg :: float(),
|
||||||
rating_count :: non_neg_integer(),
|
rating_count :: non_neg_integer(),
|
||||||
|
attachments :: [binary()] | undefined,
|
||||||
|
edit_history :: [map()] | undefined,
|
||||||
created_at :: calendar:datetime(),
|
created_at :: calendar:datetime(),
|
||||||
updated_at :: calendar:datetime()
|
updated_at :: calendar:datetime()
|
||||||
}).
|
}).
|
||||||
@@ -107,6 +138,8 @@
|
|||||||
event_id :: binary(), % ссылка на конкретный экземпляр события
|
event_id :: binary(), % ссылка на конкретный экземпляр события
|
||||||
user_id :: binary(),
|
user_id :: binary(),
|
||||||
status :: pending | confirmed | cancelled,
|
status :: pending | confirmed | cancelled,
|
||||||
|
notes :: binary() | undefined,
|
||||||
|
reminder_sent :: boolean(),
|
||||||
confirmed_at :: calendar:datetime() | undefined,
|
confirmed_at :: calendar:datetime() | undefined,
|
||||||
created_at :: calendar:datetime(),
|
created_at :: calendar:datetime(),
|
||||||
updated_at :: calendar:datetime()
|
updated_at :: calendar:datetime()
|
||||||
@@ -122,6 +155,8 @@
|
|||||||
comment :: binary(),
|
comment :: binary(),
|
||||||
status :: visible | hidden | deleted,
|
status :: visible | hidden | deleted,
|
||||||
reason :: binary() | undefined,
|
reason :: binary() | undefined,
|
||||||
|
likes :: non_neg_integer(),
|
||||||
|
dislikes :: non_neg_integer(),
|
||||||
created_at :: calendar:datetime(),
|
created_at :: calendar:datetime(),
|
||||||
updated_at :: calendar:datetime()
|
updated_at :: calendar:datetime()
|
||||||
}).
|
}).
|
||||||
@@ -188,3 +223,14 @@
|
|||||||
ip :: binary(),
|
ip :: binary(),
|
||||||
reason :: binary() | undefined
|
reason :: binary() | undefined
|
||||||
}).
|
}).
|
||||||
|
|
||||||
|
%% ------------------- Уведомления (задача #12) ------------------------
|
||||||
|
-record(notification, {
|
||||||
|
id :: binary(),
|
||||||
|
user_id :: binary(),
|
||||||
|
type :: booking_confirmed | event_reminder | event_cancelled | custom,
|
||||||
|
title :: binary(),
|
||||||
|
body :: binary(),
|
||||||
|
is_read :: boolean(),
|
||||||
|
created_at :: calendar:datetime()
|
||||||
|
}).
|
||||||
Reference in New Issue
Block a user