feat/qg-253: реализована интеграция с Google Calendar#288
Merged
Conversation
74b3d1f to
4a1f209
Compare
4a1f209 to
d470229
Compare
Для того чтобы его можно было использовать вне контекста базового класса теста
…RestAssured Для того чтобы в одном тесте можно было использовать и новые методы на базе WebTestClient и старые ещё не переведённые с RestAssured
Для того, чтобы работу через него можно было совмещать с работой через RestAssured. Плюс пока основной контекст поднимает Томкэт эффекта от MockMvc не много
Потому что Котлин DSL сильно урезанный и его недопиливают - wiremock/kotlin-wiremock#37 Плюс попутно выяснилось, что Kotlin DSL подменял \r\n на \n в ответе, поэтому так же был удалён костыль с обратной заменой в методе париснга ics-строк
…алендарей при возврате после авторизации в гугле Попутно добавлено кэширование календарей и эвентов, чтобы повысить UX возврата в приложение и навешан констрейнт уникальности на гугл аккаунт терапевта
…ендаря в расписании
Чтобы при фетче событий можно было из БД доставать только включенные календари и аккаунты, нужные для их чтения
…рке событий гугл календарей
…ogleCalendarClient
…к таймзоне терапевта
Чтобы он не светился в логах через toString
…по черновику и по дефолту приёмы создаются в таймзоне пользователя
Триггер - метод findById( therapistRef: TherapistRef, eventId: UUID ), который реализовать, конечно, не сложно, но он не используется. Это навело меня на мысль, что приём это не is a CalendarItem, а у него есть компонент Событие. На самом деле у меня изначально была идея вытащить календарные даты в отдельную сущность. В том числе потому что это позволило бы связывать приёмы с событиями разных календарей (а не костылить как сейчас, что в расписании приём просто перекрывает события из других календарей с такими же датами). Но тогда я решил, что это слишком трудоёмко.
…псулирован в CalendarItemsResolver
Для повышения надёжности. В частности для матчинга урлов с вложенными uri с query-параметрами в качестве значений query-параметров url
Чтобы не переизобретать велосипед для строкового представления универсальных идентификаторов ресурсов, чем SourceItem собственно и был
…ции ICalCalendarItem
d470229 to
16af6e5
Compare
Чтобы пройти верификацию в гугле, чтобы токены не протухали за неделю
d2f7492 to
0b9aca4
Compare
Чтобы пройти верификацию в гугле, чтобы токены не протухали за неделю
…arsService.findCalendarItemsInInterval перенесена в DAO
…унтов Т.к. без верификации приложени в Гугле refresh-токены живут всего неделю, обновить их программно невозможно, а верификация - этот тот ещё челлендж, который сейчас проходить не целесообразно. Поэтому в качестве костыля будем слать напоминания внести приёмы на следующуюю неделю если их там нет и пользователь по напоминанию будет заходить в календарь, видеть предупреждение и заново добавлять свой аккаунт.
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.
No description provided.