msg_sub.go 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. // package msg_sub -- сообщения для подписки.
  2. package msg_sub
  3. import (
  4. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/handler_name"
  5. "gitp78su.ipnodns.ru/svi/kern/v4/lev0/defs/topic"
  6. mKh "gitp78su.ipnodns.ru/svi/kern/v4/lev0/helpers"
  7. )
  8. // SubscribeReq -- входящий запрос на подписку.
  9. type SubscribeReq struct {
  10. Topic_ *topic.ATopic `json:"topic"` // Топик, на который надо подписаться
  11. Uuid_ string `json:"uuid"`
  12. WebHook_ string `json:"web_hook"` // Веб-хук для обратного вызова
  13. }
  14. // SelfCheck -- проверяет поля на правильность.
  15. func (sf *SubscribeReq) SelfCheck() {
  16. mKh.Hassert(sf.Topic_.Get() != "", "SubscribeReq.SelfCheck(): topic is empty")
  17. mKh.Hassert(sf.Uuid_ != "", "SubscribeReq.SelfCheck(): uuid is empty")
  18. mKh.Hassert(sf.WebHook_ != "", "SubscribeReq.SelfCheck(): WebHook_ is empty")
  19. }
  20. // SubscribeResp -- ответ на запрос подписки.
  21. type SubscribeResp struct {
  22. Status_ string `json:"status"`
  23. Uuid_ string `json:"uuid"`
  24. Name_ *handler_name.AHandlerName `json:"name"` // Уникальное имя подписки
  25. }
  26. // SelfCheck -- проверяет правильность своих полей.
  27. func (sf *SubscribeResp) SelfCheck() {
  28. mKh.Hassert(sf.Status_ != "", "SubscribeResp.SelfCheck(): status is empty")
  29. mKh.Hassert(sf.Name_ != nil, "SubscribeResp.SelfCheck(): name is empty")
  30. }