@aepstore-dev/contracts 1.68.0 → 1.69.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aepstore-dev/contracts",
3
- "version": "1.68.0",
3
+ "version": "1.69.0",
4
4
  "description": "Protobuf definitions for aepstore microservices",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -9,11 +9,13 @@ service SupportService {
9
9
 
10
10
  // user
11
11
  rpc CreateTicket(CreateTicketRequest) returns (Ticket);
12
- rpc GetTicket(GetTicketRequest) returns (TicketWithMessages);
12
+ rpc GetTicket(GetTicketRequest) returns (Ticket);
13
+ rpc ListTicketMessages(ListTicketMessagesRequest) returns (TicketMessagesListResponse);
13
14
  rpc ListMyTickets(ListMyTicketsRequest) returns (TicketsListResponse);
14
15
  rpc ReplyTicket(ReplyTicketRequest) returns (TicketMessage);
15
16
  rpc CloseTicket(CloseTicketRequest) returns (Ticket);
16
17
  rpc ReopenTicket(ReopenTicketRequest) returns (ReopenTicketResponse);
18
+ rpc MarkTicketRead(MarkTicketReadRequest) returns (TicketReadState);
17
19
  rpc ReportTicket(ReportTicketRequest) returns (SupportTicketComplaint);
18
20
  rpc RateTicket(RateTicketRequest) returns (SupportTicketRating);
19
21
 
@@ -52,6 +54,9 @@ message Ticket {
52
54
  string deleted_at = 20;
53
55
  int32 rating = 21; // 0 if the current user has not rated it
54
56
  bool has_complaint = 22; // true if the current user has already reported it
57
+ int32 unread_messages_count = 23;
58
+ string last_read_message_id = 24;
59
+ string last_read_at = 25;
55
60
  }
56
61
 
57
62
  message TicketMessage {
@@ -67,8 +72,9 @@ message TicketMessage {
67
72
  string edited_at = 10; // '' если не редактировалось
68
73
  // Отображаемое имя автора: агент — «Имя Ф.» из fullName (фолбэк username),
69
74
  // клиент — username, системное — ''.
70
- string author_name = 11;
71
- }
75
+ string author_name = 11;
76
+ string deleted_at = 12;
77
+ }
72
78
 
73
79
  message TicketAttachment {
74
80
  string file_name = 1;
@@ -112,14 +118,43 @@ message CreateTicketRequest {
112
118
  repeated TicketAttachment attachments = 13; // storage_key+file_name+file_size+mime_type
113
119
  }
114
120
 
115
- message GetTicketRequest {
116
- string id = 1;
117
- string requester_id = 2;
118
- bool is_staff = 3; // staff see internal notes + any ticket
119
- }
120
-
121
- message ListMyTicketsRequest {
122
- string author_id = 1;
121
+ message GetTicketRequest {
122
+ string id = 1;
123
+ string requester_id = 2;
124
+ bool is_staff = 3; // staff see internal notes + any ticket
125
+ }
126
+
127
+ message ListTicketMessagesRequest {
128
+ string ticket_id = 1;
129
+ string requester_id = 2;
130
+ bool is_staff = 3; // staff see internal notes + any ticket
131
+ int32 page = 4; // page=1 returns latest messages
132
+ int32 limit = 5; // default 30, max 100
133
+ }
134
+
135
+ message TicketMessagesListResponse {
136
+ repeated TicketMessage items = 1;
137
+ int32 total = 2;
138
+ int32 page = 3;
139
+ int32 limit = 4;
140
+ }
141
+
142
+ message MarkTicketReadRequest {
143
+ string ticket_id = 1;
144
+ string requester_id = 2;
145
+ string last_read_message_id = 3; // optional; empty means latest visible message
146
+ }
147
+
148
+ message TicketReadState {
149
+ string ticket_id = 1;
150
+ string user_id = 2;
151
+ string last_read_message_id = 3;
152
+ string last_read_at = 4;
153
+ int32 unread_messages_count = 5;
154
+ }
155
+
156
+ message ListMyTicketsRequest {
157
+ string author_id = 1;
123
158
  string status = 2; // single value OR comma-separated (e.g. "OPEN,PENDING,IN_PROGRESS")
124
159
  int32 page = 3;
125
160
  int32 limit = 4;