Files
portal-common/go.mod
Grendgi 56bfdb081a add eventbus + redisx
eventbus: pub/sub поверх Redis с типизированным Event-конвертом
(id/type/service/occurred_at/actor/payload). At-most-once семантика
(Redis pub/sub без offset'ов). Конвенция топиков: "{service}.{event}".
Publisher autopopulate'ит id (UUID4), service и occurred_at.
PublishTyped[T] — helper для маршалинга typed payload-структуры.

redisx: shared go-redis клиент с едиными pool/timeout-опциями
(заменяет дубли в booking/deals/hhru/webhooks-apps).
2026-05-20 14:22:01 +03:00

28 lines
1.1 KiB
Modula-2

// Shared библиотека для микросервисов портала.
// Содержит: db (pgxpool init + slow-query tracer), middleware (InternalAuth),
// portal (HTTP-клиент portal-сервиса), audit (общий event log).
//
// Используется из tasks/, candidates/, booking/, meet/, leaders-reports/,
// telephony/, hhru/, webhooks-apps/, deals/. Каждый сервис ссылается на
// `gitea.estateliga.work/admin/portal-common` через go.mod replace
// в dev-сборке (см. README.md в репозитории).
module gitea.estateliga.work/admin/portal-common
go 1.25.7
require (
github.com/google/uuid v1.6.0
github.com/jackc/pgx/v5 v5.9.1
github.com/redis/go-redis/v9 v9.16.0
)
require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect
github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f // indirect
github.com/jackc/pgpassfile v1.0.0 // indirect
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
github.com/jackc/puddle/v2 v2.2.2 // indirect
golang.org/x/sync v0.17.0 // indirect
golang.org/x/text v0.29.0 // indirect
)