Добавлена ручка /event/ical для получения событий из 3'd party источников - #134
Open
CaseAsLimbo wants to merge 5 commits into
Open
Добавлена ручка /event/ical для получения событий из 3'd party источников#134CaseAsLimbo wants to merge 5 commits into
CaseAsLimbo wants to merge 5 commits into
Conversation
|
💩 Code linting failed, use |
Coverage Report
Summary
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
…а ручки create_events
…_repeating_event.
CaseAsLimbo
force-pushed
the
feat/add-3d-party-import-route
branch
from
September 9, 2026 19:41
ca1602f to
b777d4e
Compare
|
💩 Code linting failed, use |
…й полученных из 3'd party
CaseAsLimbo
force-pushed
the
feat/add-3d-party-import-route
branch
from
September 9, 2026 19:44
b777d4e to
66c18a0
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Изменения
/event/ical, парсящая полученный черезmultipart/form-data.icalили.icsфайл и создающая на его основе события/событие в БД.calendar_backend/utils/services.py; в него вынесена логика двух эндпоинтов:POST /event/repeatingиPOST /event/bulk, это сделано для переиспользования их логики в ручке получения событий из 3'd party.Детали реализации
group_idобязательный параметр, иначе поднимаем403 Forbidden(пока не менял логику в соответствии с этим в/event/bulkи/event/repeating-- исключение поднимается только в/event/ical)Для полей group_id, room_id и lecturer_id предполагается создание кастомных полей в формате Icalendar(отдающая сторона должна о них знать и передавать). На данный момент названия кастомных полей зашиты в логике ручке следующим образом
ручка `/event/ical' может парсить обычные и повторяющееся события
На данный момент из
.icalфайла берется полеRRULE, а из негоINTERVALдляrepeat_timedelta_daysиUNTILдляrepeat_until_ts. Однако форматRRULEпозволяет очень гибко настраивать даты проведения событий. Возможно имеет смысл переработать способ создания повторяющихся событий, делая их не только интервальными, но и, например, в конкретные дни недели в течении месяца(ical позволяет это описать).Cсылки на доку
В планах
event/icaltry-except.Check-List
blackиisortдля Back-End илиPrettierдля Front-End?