Skip to content

Event driven refactor#80

Merged
vaniog merged 22 commits into
mainfrom
event-driven-refactor
Jan 21, 2025
Merged

Event driven refactor#80
vaniog merged 22 commits into
mainfrom
event-driven-refactor

Conversation

@vaniog

@vaniog vaniog commented Jan 18, 2025

Copy link
Copy Markdown
Member

Что я тут сделал:


state.Context[State]

  • Обёртка над неким двусторонним соединением (у нас socket.io).
  • Утверждается, что соединение ассоциируется с пользователем и неким стейтом (в нашем случае *usecase.Room).
  • Не стыдно передавать в бизнес логику.

type state.HanderFunc[State WithID] func(c *Context[State], arg interface{}) error

  • Виденье функции обработчика события.
  • Удобный каст в обработчик функции с типизированным arg, или даже метода State.

Пакет event

  • Пакет событий пересмотрен.
  • Теперь usecase зависит от event, эти же сущности используются бизнес логикой.
  • event самодостаточный, (зависит только от domain). Я его воспринимаю как (к сожалению грустненькое) подобие протоспеки.
  • SDK клиента (например в e2e) соответственно пишется прямо поверх event

Задача сервера предоставляющего двустороннее соединение:

  • Желательно в .On принимать state.HandlerFunc[State]
  • Запаковывать контекст в state.Context[State] (User, Room, Log, ...)
  • Вызывать обработчик

P.s: Очень много вдохновлено gin, хотел добавить middleware, но пока хочется испытать концепцию, а миддлвары ещё одна очень нетривиальная задача

mikedegeofroy and others added 15 commits November 29, 2024 02:58
…aces in AnounceVote events. (#65)

* hotfix(seralization): Interfaces don't serialize properly

* fix(empty-room): Fixed error on empty result.

* updated golden files
* Tag: visible, order

* Update golden
all 2gis functionality has been removed
* Fix tags save (#71)

* Updated SQL requests, TODO: fix error in `RecommendPlaces`

* fixes

* fix db recommend request

---------

Co-authored-by: Vaniog <79862574+Vaniog@users.noreply.github.com>
Co-authored-by: Vaniog <forvantar@gmail.com>
@huly-for-github

Copy link
Copy Markdown

Connected to Huly®: DD-218

@mikedegeofroy

Copy link
Copy Markdown
Member

Можем в дев сначала мерджать?

@AlexDyakonov AlexDyakonov self-requested a review January 21, 2025 15:17

@AlexDyakonov AlexDyakonov left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

добро.

@vaniog vaniog merged commit 9b8527c into main Jan 21, 2025
@vaniog vaniog deleted the event-driven-refactor branch January 24, 2025 23:44
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants