Улучшение безопасности и обработки ошибок. Этап 1. #8

This commit is contained in:
2026-04-29 11:00:14 +03:00
parent 3da4ee28d4
commit cfd2e38952
10 changed files with 219 additions and 116 deletions
+9
View File
@@ -5,6 +5,7 @@
update/2, delete/1, materialize_occurrence/3]).
-export([generate_id/0]).
-export([count_events/0, count_events_by_date/2]).
-export([freeze/2, unfreeze/2]).
%% Создание одиночного события
create(CalendarId, Title, StartTime, Duration) ->
@@ -197,6 +198,13 @@ apply_updates(Event, Updates) ->
end, Event, Updates),
Updated#event{updated_at = calendar:universal_time()}.
freeze(Id, Reason) ->
update(Id, [{status, frozen}, {reason, Reason}]).
unfreeze(Id, Reason) ->
update(Id, [{status, active}, {reason, Reason}]).
%% ── ОБНОВЛЁННАЯ set_field ──────────────────────────────────
set_field(title, Value, E) -> E#event{title = Value};
set_field(description, Value, E) -> E#event{description = Value};
set_field(start_time, Value, E) -> E#event{start_time = Value};
@@ -207,6 +215,7 @@ set_field(tags, Value, E) -> E#event{tags = Value};
set_field(capacity, Value, E) -> E#event{capacity = Value};
set_field(online_link, Value, E) -> E#event{online_link = Value};
set_field(status, Value, E) -> E#event{status = Value};
set_field(reason, Value, E) -> E#event{reason = Value};
set_field(rating_avg, Value, E) -> E#event{rating_avg = Value};
set_field(rating_count, Value, E) -> E#event{rating_count = Value};
set_field(_, _, E) -> E.