Skip to content
Snippets Groups Projects
Commit 9d046a08 authored by Pavel Antonov's avatar Pavel Antonov :asterisk:
Browse files

Merge branch 'feature/2767-MailboxService' into 'master'

API Сервиса Mailbox

See merge request !60
parents 6c19902c 88d4368c
No related branches found
No related tags found
1 merge request!60API Сервиса Mailbox
syntax = "proto3";
import "google/protobuf/empty.proto";
import "common/common.proto";
import "google/protobuf/timestamp.proto";
option go_package = "git.perx.ru/perxis/perxis-go/api/mailbox;mailbox";
package perxis.mailbox;
// Сообщение для уведомления
message Message {
string id = 1; // Уникальный идентификатор уведомления
string object_id = 2; // Идентификатор объекта события
string from = 3; // Идентификатор отправителя пользователя/сервиса/подсистемы
string to = 4; // Идентификатор получателя пользователя/сервиса/подсистемы
string title = 5; // Заголовок уведомления
string message = 6; // Текст уведомления
google.protobuf.Timestamp created_at = 7; // Время создания
bool is_read = 8; // Статус прочтения
}
// Отправить уведомление
message SendMessageRequest {
repeated string to = 1; // список получателей пользователей/сервисов/подсистем
Message message = 2;
}
// Запрос на получение уведомлений
message ListMessageRequest {
string recipient = 1;
FindOptions options = 2; // Дополнительные параметры поиска
}
// Ответ на получение уведомлений
message ListMessageResponse {
repeated Message message = 1;
}
// Пометка уведомлений как прочитанных
message MarkMessagesRequest {
bool unread = 1; // Установить статус сообщения не/прочитано
FindOptions options = 10;
}
message FindOptions {
string recipient = 1;
repeated string message_ids = 3;
google.protobuf.Timestamp after = 4;
google.protobuf.Timestamp before = 5;
optional bool unread = 6;
common.FindOptions options = 10;
}
// Сервис уведомлений
service Mailbox {
// Отправка уведомления
rpc Send(SendMessageRequest) returns(google.protobuf.Empty) {};
// Получение уведомлений, поле to в Message всегда содержит только получателя из запроса
rpc List(ListMessageRequest) returns(ListMessageResponse);
// Пометка уведомлений как прочитанных
rpc MarkAsRead(MarkMessagesRequest) returns(google.protobuf.Empty) {};
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment