Skip to content

Latest commit

 

History

History
82 lines (64 loc) · 6 KB

Readme.md

File metadata and controls

82 lines (64 loc) · 6 KB

PUSH-SERVICE

PUSH-SERVICE является микросервисом рассылки push-уведомлений на мобильные устройства и браузеры пользователей golos.io. Также хранит настройки пользователя, указывающие на необходимость рассылки конкретных типов уведомлений и их язык.

API JSON-RPC:

transfer:                                      // Передача сообщения, отправляется с сервиса нотификаций
    user:       <string>                       // Имя пользователя
    data:       <{notifyType->[notifyEvent]}>  // Нотификации в виде объекта тип->массив_событий

getOptions:                                    // Получение настроек
    key:        <string>                       // Уникальный ключ устройства

setOptions:                                    // Установка настроек
    key:        <string>                       // Уникальный ключ устройства
    lang:       <'ru'|'en'|'by'>               // Язык сообщений
    show:       <{notifyType->boolean}>        // Настройки отображения в виде тип->нужно_отображать
   
notifyOn:              // Подписаться на рассылку нотификаций
    user <string>      // Имя пользователя
    profile <profile>  // Профиль пользователя
   
notifyOff:             // Отписаться от рассылки нотификаций
    user <string>      // Имя пользователя
    profile <profile>  // Профиль пользователя
   
history:
    user <string>                      // Имя пользователя
    profile <profile>                  // Профиль пользователя
    afterId <string|null>(null)        // ID после которого нужно начать показывать историю, опционально
    limit <number>(10)                 // Необходимое количество строк истории
    markAsViewed <boolean>(true)       // Пометить ли все выгруженные записи как прочитанные
    freshOnly <boolean>(false)         // Возвратить только непрочитанные данные
    types <string[]|'all'|null>(null)  // Массив необходимых типов нотификаций из которого будут вычтены те типы,
                                       // которые пользователь отключил в своих настройках.
                                       // Отсутствие параметра эквивалентно запросу 'all', который возвращает
                                       // все доступные типы согласно настройкам пользователя.
        [
          vote                         // лайк (голос)
        | flag                         // флаг (дизлайк, жалоба)
        | transfer                     // перевод средств
        | reply                        // ответ на пост или комментарий
        | subscribe                    // подписка на блог
        | unsubscribe                  // отписка от блога
        | mention                      // упоминание в посте, заголовке поста или в комменте (через @)
        | repost                       // репост
        | reward                       // награда пользователю 
        | curatorReward                // награда куратору     
        | message                      // личное сообщение (не реализованно в данной версии)
        | witnessVote                  // голос за делегата
        | witnessCancelVote            // отмена голоса за делегата
        ]                                                    

historyFresh:
    user <string>      // Имя пользователя
    profile <profile>  // Профиль пользователя   
   

Возможные переменные окружения ENV:

  • GLS_NOTIFY_CONNECT (обязательно) - адрес подключения к микросервису нотификаций.

  • GLS_CONNECTOR_HOST (обязательно) - адрес, который будет использован для входящих подключений связи микросервисов. Дефолтное значение при запуске без докера - 127.0.0.1

  • GLS_CONNECTOR_PORT (обязательно) - адрес порта, который будет использован для входящих подключений связи микросервисов. Дефолтное значение при запуске без докера - 8080

  • GLS_METRICS_HOST (обязательно) - адрес хоста для метрик StatsD. Дефолтное значение при запуске без докера - 127.0.0.1

  • GLS_METRICS_PORT (обязательно) - адрес порта для метрик StatsD. Дефолтное значение при запуске без докера - 8125

  • GLS_MONGO_CONNECT - строка подключения к базе MongoDB. Дефолтное значение - mongodb://mongo/admin

  • GLS_DAY_START - время начала нового дня в часах относительно UTC. Дефолтное значение - 3 (день начинается в 00:00 по Москве).