Files
IdP/shared/proto/notifications.proto
2026-07-07 13:58:01 +03:00

65 lines
1.5 KiB
Protocol Buffer

syntax = "proto3";
package notifications;
service NotificationsService {
rpc ListNotifications (ListNotificationsRequest) returns (ListNotificationsResponse);
rpc GetUnreadCount (UserIdRequest) returns (UnreadCountResponse);
rpc DeleteNotification (MarkNotificationReadRequest) returns (MutationResponse);
rpc DeleteAllNotifications (UserIdRequest) returns (MutationResponse);
rpc MarkNotificationRead (MarkNotificationReadRequest) returns (MutationResponse);
rpc MarkAllNotificationsRead (UserIdRequest) returns (MutationResponse);
rpc RegisterPushToken (RegisterPushTokenRequest) returns (MutationResponse);
rpc UnregisterPushToken (UnregisterPushTokenRequest) returns (MutationResponse);
}
message UserIdRequest {
string userId = 1;
}
message ListNotificationsRequest {
string userId = 1;
int32 limit = 2;
optional bool unreadOnly = 3;
}
message NotificationResponse {
string id = 1;
string userId = 2;
string type = 3;
string title = 4;
string message = 5;
string payloadJson = 6;
bool isRead = 7;
string createdAt = 8;
}
message ListNotificationsResponse {
repeated NotificationResponse notifications = 1;
}
message UnreadCountResponse {
int32 count = 1;
}
message MarkNotificationReadRequest {
string userId = 1;
string notificationId = 2;
}
message MutationResponse {
int32 count = 1;
}
message RegisterPushTokenRequest {
string userId = 1;
string token = 2;
string platform = 3;
optional string deviceLabel = 4;
}
message UnregisterPushTokenRequest {
string userId = 1;
string token = 2;
}