@fivenet-app/gen 2026.3.0 → 2026.5.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.
Files changed (68) hide show
  1. package/clients.ts +66 -6
  2. package/codegen/perms/perms.ts +104 -1
  3. package/package.json +1 -1
  4. package/perms.ts +16 -5
  5. package/resources/centrum/settings/settings.ts +1 -1
  6. package/resources/centrum/units/units.ts +1 -1
  7. package/resources/citizens/labels/access.ts +216 -0
  8. package/resources/citizens/labels/labels.ts +320 -0
  9. package/resources/{users → citizens}/licenses/licenses.ts +17 -17
  10. package/resources/clientconfig/clientconfig.ts +32 -289
  11. package/resources/cron/cron.ts +2 -2
  12. package/resources/documents/access/access.ts +0 -23
  13. package/resources/documents/category/category.ts +1 -1
  14. package/resources/documents/templates/templates.ts +2 -2
  15. package/resources/jobs/labels/labels.ts +16 -5
  16. package/resources/livemap/markers/marker_marker.ts +1 -1
  17. package/resources/settings/banner.ts +1 -1
  18. package/resources/settings/config.ts +16 -14
  19. package/resources/sync/data/data.ts +9 -9
  20. package/resources/users/activity/activity.ts +132 -12
  21. package/resources/users/props/props.ts +4 -4
  22. package/resources/users/user.ts +4 -4
  23. package/services/calendar/calendar.client.ts +2 -106
  24. package/services/calendar/calendar.ts +0 -1018
  25. package/services/calendar/entries.client.ts +129 -0
  26. package/services/calendar/entries.ts +1040 -0
  27. package/services/centrum/centrum.client.ts +23 -244
  28. package/services/centrum/centrum.ts +246 -2383
  29. package/services/centrum/dispatches.client.ts +155 -0
  30. package/services/centrum/dispatches.ts +1305 -0
  31. package/services/centrum/units.client.ts +116 -0
  32. package/services/centrum/units.ts +876 -0
  33. package/services/citizens/citizens.client.ts +0 -13
  34. package/services/citizens/citizens.ts +1 -115
  35. package/services/citizens/labels.client.ts +77 -0
  36. package/services/citizens/labels.ts +455 -0
  37. package/services/completor/completor.ts +5 -5
  38. package/services/documents/categories.client.ts +64 -0
  39. package/services/documents/categories.ts +331 -0
  40. package/services/documents/comments.client.ts +77 -0
  41. package/services/documents/comments.ts +479 -0
  42. package/services/documents/documents.client.ts +26 -182
  43. package/services/documents/documents.ts +335 -1682
  44. package/services/documents/templates.client.ts +90 -0
  45. package/services/documents/templates.ts +591 -0
  46. package/services/jobs/colleagues.client.ts +129 -0
  47. package/services/jobs/colleagues.ts +1129 -0
  48. package/services/jobs/jobs.client.ts +3 -107
  49. package/services/jobs/jobs.ts +1 -1113
  50. package/services/mailer/mailer.client.ts +0 -208
  51. package/services/mailer/mailer.ts +1 -2010
  52. package/services/mailer/settings.client.ts +103 -0
  53. package/services/mailer/settings.ts +708 -0
  54. package/services/mailer/thread.client.ts +155 -0
  55. package/services/mailer/thread.ts +1343 -0
  56. package/services/qualifications/exam.client.ts +77 -0
  57. package/services/qualifications/exam.ts +609 -0
  58. package/services/qualifications/qualifications.client.ts +1 -53
  59. package/services/qualifications/qualifications.ts +0 -591
  60. package/services/settings/cron.client.ts +13 -0
  61. package/services/settings/cron.ts +114 -1
  62. package/services/sync/sync.client.ts +271 -37
  63. package/services/sync/sync.ts +1463 -383
  64. package/svcs.ts +182 -94
  65. package/resources/sync/data/v2/data.ts +0 -220
  66. package/resources/users/labels/labels.ts +0 -160
  67. package/services/sync/v2/sync.client.ts +0 -331
  68. package/services/sync/v2/sync.ts +0 -1766
@@ -0,0 +1,1343 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
+ // @generated from protobuf file "services/mailer/thread.proto" (package "services.mailer", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import { ServiceType } from "@protobuf-ts/runtime-rpc";
6
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
7
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
8
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
9
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
10
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
+ import { WireType } from "@protobuf-ts/runtime";
12
+ import type { PartialMessage } from "@protobuf-ts/runtime";
13
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
14
+ import { MessageType } from "@protobuf-ts/runtime";
15
+ import { Timestamp } from "../../resources/timestamp/timestamp";
16
+ import { ThreadState } from "../../resources/mailer/threads/thread";
17
+ import { Message } from "../../resources/mailer/messages/message";
18
+ import { Thread } from "../../resources/mailer/threads/thread";
19
+ import { PaginationResponse } from "../../resources/common/database/database";
20
+ import { PaginationRequest } from "../../resources/common/database/database";
21
+ // Threads
22
+
23
+ /**
24
+ * @generated from protobuf message services.mailer.ListThreadsRequest
25
+ */
26
+ export interface ListThreadsRequest {
27
+ /**
28
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
29
+ */
30
+ pagination?: PaginationRequest;
31
+ /**
32
+ * Search params
33
+ *
34
+ * @generated from protobuf field: repeated int64 email_ids = 2
35
+ */
36
+ emailIds: number[];
37
+ /**
38
+ * @generated from protobuf field: optional bool unread = 4
39
+ */
40
+ unread?: boolean;
41
+ /**
42
+ * @generated from protobuf field: optional bool archived = 5
43
+ */
44
+ archived?: boolean;
45
+ }
46
+ /**
47
+ * @generated from protobuf message services.mailer.ListThreadsResponse
48
+ */
49
+ export interface ListThreadsResponse {
50
+ /**
51
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
52
+ */
53
+ pagination?: PaginationResponse;
54
+ /**
55
+ * @generated from protobuf field: repeated resources.mailer.threads.Thread threads = 2
56
+ */
57
+ threads: Thread[];
58
+ }
59
+ /**
60
+ * @generated from protobuf message services.mailer.GetThreadRequest
61
+ */
62
+ export interface GetThreadRequest {
63
+ /**
64
+ * @generated from protobuf field: int64 email_id = 1
65
+ */
66
+ emailId: number;
67
+ /**
68
+ * @generated from protobuf field: int64 thread_id = 2
69
+ */
70
+ threadId: number;
71
+ }
72
+ /**
73
+ * @generated from protobuf message services.mailer.GetThreadResponse
74
+ */
75
+ export interface GetThreadResponse {
76
+ /**
77
+ * @generated from protobuf field: resources.mailer.threads.Thread thread = 1
78
+ */
79
+ thread?: Thread;
80
+ }
81
+ /**
82
+ * @generated from protobuf message services.mailer.CreateThreadRequest
83
+ */
84
+ export interface CreateThreadRequest {
85
+ /**
86
+ * @generated from protobuf field: resources.mailer.threads.Thread thread = 1
87
+ */
88
+ thread?: Thread;
89
+ /**
90
+ * @generated from protobuf field: resources.mailer.messages.Message message = 2
91
+ */
92
+ message?: Message;
93
+ /**
94
+ * @generated from protobuf field: repeated string recipients = 3
95
+ */
96
+ recipients: string[];
97
+ }
98
+ /**
99
+ * @generated from protobuf message services.mailer.CreateThreadResponse
100
+ */
101
+ export interface CreateThreadResponse {
102
+ /**
103
+ * @generated from protobuf field: resources.mailer.threads.Thread thread = 1
104
+ */
105
+ thread?: Thread;
106
+ }
107
+ /**
108
+ * @generated from protobuf message services.mailer.DeleteThreadRequest
109
+ */
110
+ export interface DeleteThreadRequest {
111
+ /**
112
+ * @generated from protobuf field: int64 email_id = 1
113
+ */
114
+ emailId: number;
115
+ /**
116
+ * @generated from protobuf field: int64 thread_id = 2
117
+ */
118
+ threadId: number;
119
+ }
120
+ /**
121
+ * @generated from protobuf message services.mailer.DeleteThreadResponse
122
+ */
123
+ export interface DeleteThreadResponse {
124
+ }
125
+ /**
126
+ * @generated from protobuf message services.mailer.GetThreadStateRequest
127
+ */
128
+ export interface GetThreadStateRequest {
129
+ /**
130
+ * @generated from protobuf field: int64 email_id = 1
131
+ */
132
+ emailId: number;
133
+ /**
134
+ * @generated from protobuf field: int64 thread_id = 2
135
+ */
136
+ threadId: number;
137
+ }
138
+ /**
139
+ * @generated from protobuf message services.mailer.GetThreadStateResponse
140
+ */
141
+ export interface GetThreadStateResponse {
142
+ /**
143
+ * @generated from protobuf field: resources.mailer.threads.ThreadState state = 1
144
+ */
145
+ state?: ThreadState;
146
+ }
147
+ /**
148
+ * @generated from protobuf message services.mailer.SetThreadStateRequest
149
+ */
150
+ export interface SetThreadStateRequest {
151
+ /**
152
+ * @generated from protobuf field: resources.mailer.threads.ThreadState state = 1
153
+ */
154
+ state?: ThreadState;
155
+ }
156
+ /**
157
+ * @generated from protobuf message services.mailer.SetThreadStateResponse
158
+ */
159
+ export interface SetThreadStateResponse {
160
+ /**
161
+ * @generated from protobuf field: resources.mailer.threads.ThreadState state = 1
162
+ */
163
+ state?: ThreadState;
164
+ }
165
+ // Messages
166
+
167
+ /**
168
+ * @generated from protobuf message services.mailer.SearchThreadsRequest
169
+ */
170
+ export interface SearchThreadsRequest {
171
+ /**
172
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
173
+ */
174
+ pagination?: PaginationRequest;
175
+ /**
176
+ * Search params
177
+ *
178
+ * @generated from protobuf field: string search = 2
179
+ */
180
+ search: string;
181
+ }
182
+ /**
183
+ * @generated from protobuf message services.mailer.SearchThreadsResponse
184
+ */
185
+ export interface SearchThreadsResponse {
186
+ /**
187
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
188
+ */
189
+ pagination?: PaginationResponse;
190
+ /**
191
+ * @generated from protobuf field: repeated resources.mailer.messages.Message messages = 2
192
+ */
193
+ messages: Message[];
194
+ }
195
+ /**
196
+ * @generated from protobuf message services.mailer.ListThreadMessagesRequest
197
+ */
198
+ export interface ListThreadMessagesRequest {
199
+ /**
200
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
201
+ */
202
+ pagination?: PaginationRequest;
203
+ /**
204
+ * @generated from protobuf field: int64 email_id = 2
205
+ */
206
+ emailId: number;
207
+ /**
208
+ * @generated from protobuf field: int64 thread_id = 3
209
+ */
210
+ threadId: number;
211
+ /**
212
+ * @generated from protobuf field: optional resources.timestamp.Timestamp after = 4
213
+ */
214
+ after?: Timestamp;
215
+ }
216
+ /**
217
+ * @generated from protobuf message services.mailer.ListThreadMessagesResponse
218
+ */
219
+ export interface ListThreadMessagesResponse {
220
+ /**
221
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
222
+ */
223
+ pagination?: PaginationResponse;
224
+ /**
225
+ * @generated from protobuf field: repeated resources.mailer.messages.Message messages = 2
226
+ */
227
+ messages: Message[];
228
+ }
229
+ /**
230
+ * @generated from protobuf message services.mailer.PostMessageRequest
231
+ */
232
+ export interface PostMessageRequest {
233
+ /**
234
+ * @generated from protobuf field: resources.mailer.messages.Message message = 1
235
+ */
236
+ message?: Message;
237
+ /**
238
+ * @generated from protobuf field: repeated string recipients = 2
239
+ */
240
+ recipients: string[];
241
+ }
242
+ /**
243
+ * @generated from protobuf message services.mailer.PostMessageResponse
244
+ */
245
+ export interface PostMessageResponse {
246
+ /**
247
+ * @generated from protobuf field: resources.mailer.messages.Message message = 1
248
+ */
249
+ message?: Message;
250
+ }
251
+ /**
252
+ * @generated from protobuf message services.mailer.DeleteMessageRequest
253
+ */
254
+ export interface DeleteMessageRequest {
255
+ /**
256
+ * @generated from protobuf field: int64 email_id = 1
257
+ */
258
+ emailId: number;
259
+ /**
260
+ * @generated from protobuf field: int64 thread_id = 2
261
+ */
262
+ threadId: number;
263
+ /**
264
+ * @generated from protobuf field: int64 message_id = 3
265
+ */
266
+ messageId: number;
267
+ }
268
+ /**
269
+ * @generated from protobuf message services.mailer.DeleteMessageResponse
270
+ */
271
+ export interface DeleteMessageResponse {
272
+ }
273
+ // @generated message type with reflection information, may provide speed optimized methods
274
+ class ListThreadsRequest$Type extends MessageType<ListThreadsRequest> {
275
+ constructor() {
276
+ super("services.mailer.ListThreadsRequest", [
277
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
278
+ { no: 2, name: "email_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { repeated: { minItems: "1", maxItems: "10", items: { int64: { gt: "0" } } } } } },
279
+ { no: 4, name: "unread", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
280
+ { no: 5, name: "archived", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
281
+ ]);
282
+ }
283
+ create(value?: PartialMessage<ListThreadsRequest>): ListThreadsRequest {
284
+ const message = globalThis.Object.create((this.messagePrototype!));
285
+ message.emailIds = [];
286
+ if (value !== undefined)
287
+ reflectionMergePartial<ListThreadsRequest>(this, message, value);
288
+ return message;
289
+ }
290
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListThreadsRequest): ListThreadsRequest {
291
+ let message = target ?? this.create(), end = reader.pos + length;
292
+ while (reader.pos < end) {
293
+ let [fieldNo, wireType] = reader.tag();
294
+ switch (fieldNo) {
295
+ case /* resources.common.database.PaginationRequest pagination */ 1:
296
+ message.pagination = PaginationRequest.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
297
+ break;
298
+ case /* repeated int64 email_ids */ 2:
299
+ if (wireType === WireType.LengthDelimited)
300
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
301
+ message.emailIds.push(reader.int64().toNumber());
302
+ else
303
+ message.emailIds.push(reader.int64().toNumber());
304
+ break;
305
+ case /* optional bool unread */ 4:
306
+ message.unread = reader.bool();
307
+ break;
308
+ case /* optional bool archived */ 5:
309
+ message.archived = reader.bool();
310
+ break;
311
+ default:
312
+ let u = options.readUnknownField;
313
+ if (u === "throw")
314
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
315
+ let d = reader.skip(wireType);
316
+ if (u !== false)
317
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
318
+ }
319
+ }
320
+ return message;
321
+ }
322
+ internalBinaryWrite(message: ListThreadsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
323
+ /* resources.common.database.PaginationRequest pagination = 1; */
324
+ if (message.pagination)
325
+ PaginationRequest.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
326
+ /* repeated int64 email_ids = 2; */
327
+ if (message.emailIds.length) {
328
+ writer.tag(2, WireType.LengthDelimited).fork();
329
+ for (let i = 0; i < message.emailIds.length; i++)
330
+ writer.int64(message.emailIds[i]);
331
+ writer.join();
332
+ }
333
+ /* optional bool unread = 4; */
334
+ if (message.unread !== undefined)
335
+ writer.tag(4, WireType.Varint).bool(message.unread);
336
+ /* optional bool archived = 5; */
337
+ if (message.archived !== undefined)
338
+ writer.tag(5, WireType.Varint).bool(message.archived);
339
+ let u = options.writeUnknownFields;
340
+ if (u !== false)
341
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
342
+ return writer;
343
+ }
344
+ }
345
+ /**
346
+ * @generated MessageType for protobuf message services.mailer.ListThreadsRequest
347
+ */
348
+ export const ListThreadsRequest = new ListThreadsRequest$Type();
349
+ // @generated message type with reflection information, may provide speed optimized methods
350
+ class ListThreadsResponse$Type extends MessageType<ListThreadsResponse> {
351
+ constructor() {
352
+ super("services.mailer.ListThreadsResponse", [
353
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
354
+ { no: 2, name: "threads", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Thread, options: { "codegen.itemslen.enabled": true } }
355
+ ]);
356
+ }
357
+ create(value?: PartialMessage<ListThreadsResponse>): ListThreadsResponse {
358
+ const message = globalThis.Object.create((this.messagePrototype!));
359
+ message.threads = [];
360
+ if (value !== undefined)
361
+ reflectionMergePartial<ListThreadsResponse>(this, message, value);
362
+ return message;
363
+ }
364
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListThreadsResponse): ListThreadsResponse {
365
+ let message = target ?? this.create(), end = reader.pos + length;
366
+ while (reader.pos < end) {
367
+ let [fieldNo, wireType] = reader.tag();
368
+ switch (fieldNo) {
369
+ case /* resources.common.database.PaginationResponse pagination */ 1:
370
+ message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
371
+ break;
372
+ case /* repeated resources.mailer.threads.Thread threads */ 2:
373
+ message.threads.push(Thread.internalBinaryRead(reader, reader.uint32(), options));
374
+ break;
375
+ default:
376
+ let u = options.readUnknownField;
377
+ if (u === "throw")
378
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
379
+ let d = reader.skip(wireType);
380
+ if (u !== false)
381
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
382
+ }
383
+ }
384
+ return message;
385
+ }
386
+ internalBinaryWrite(message: ListThreadsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
387
+ /* resources.common.database.PaginationResponse pagination = 1; */
388
+ if (message.pagination)
389
+ PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
390
+ /* repeated resources.mailer.threads.Thread threads = 2; */
391
+ for (let i = 0; i < message.threads.length; i++)
392
+ Thread.internalBinaryWrite(message.threads[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
393
+ let u = options.writeUnknownFields;
394
+ if (u !== false)
395
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
396
+ return writer;
397
+ }
398
+ }
399
+ /**
400
+ * @generated MessageType for protobuf message services.mailer.ListThreadsResponse
401
+ */
402
+ export const ListThreadsResponse = new ListThreadsResponse$Type();
403
+ // @generated message type with reflection information, may provide speed optimized methods
404
+ class GetThreadRequest$Type extends MessageType<GetThreadRequest> {
405
+ constructor() {
406
+ super("services.mailer.GetThreadRequest", [
407
+ { no: 1, name: "email_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
408
+ { no: 2, name: "thread_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } }
409
+ ]);
410
+ }
411
+ create(value?: PartialMessage<GetThreadRequest>): GetThreadRequest {
412
+ const message = globalThis.Object.create((this.messagePrototype!));
413
+ message.emailId = 0;
414
+ message.threadId = 0;
415
+ if (value !== undefined)
416
+ reflectionMergePartial<GetThreadRequest>(this, message, value);
417
+ return message;
418
+ }
419
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetThreadRequest): GetThreadRequest {
420
+ let message = target ?? this.create(), end = reader.pos + length;
421
+ while (reader.pos < end) {
422
+ let [fieldNo, wireType] = reader.tag();
423
+ switch (fieldNo) {
424
+ case /* int64 email_id */ 1:
425
+ message.emailId = reader.int64().toNumber();
426
+ break;
427
+ case /* int64 thread_id */ 2:
428
+ message.threadId = reader.int64().toNumber();
429
+ break;
430
+ default:
431
+ let u = options.readUnknownField;
432
+ if (u === "throw")
433
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
434
+ let d = reader.skip(wireType);
435
+ if (u !== false)
436
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
437
+ }
438
+ }
439
+ return message;
440
+ }
441
+ internalBinaryWrite(message: GetThreadRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
442
+ /* int64 email_id = 1; */
443
+ if (message.emailId !== 0)
444
+ writer.tag(1, WireType.Varint).int64(message.emailId);
445
+ /* int64 thread_id = 2; */
446
+ if (message.threadId !== 0)
447
+ writer.tag(2, WireType.Varint).int64(message.threadId);
448
+ let u = options.writeUnknownFields;
449
+ if (u !== false)
450
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
451
+ return writer;
452
+ }
453
+ }
454
+ /**
455
+ * @generated MessageType for protobuf message services.mailer.GetThreadRequest
456
+ */
457
+ export const GetThreadRequest = new GetThreadRequest$Type();
458
+ // @generated message type with reflection information, may provide speed optimized methods
459
+ class GetThreadResponse$Type extends MessageType<GetThreadResponse> {
460
+ constructor() {
461
+ super("services.mailer.GetThreadResponse", [
462
+ { no: 1, name: "thread", kind: "message", T: () => Thread }
463
+ ]);
464
+ }
465
+ create(value?: PartialMessage<GetThreadResponse>): GetThreadResponse {
466
+ const message = globalThis.Object.create((this.messagePrototype!));
467
+ if (value !== undefined)
468
+ reflectionMergePartial<GetThreadResponse>(this, message, value);
469
+ return message;
470
+ }
471
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetThreadResponse): GetThreadResponse {
472
+ let message = target ?? this.create(), end = reader.pos + length;
473
+ while (reader.pos < end) {
474
+ let [fieldNo, wireType] = reader.tag();
475
+ switch (fieldNo) {
476
+ case /* resources.mailer.threads.Thread thread */ 1:
477
+ message.thread = Thread.internalBinaryRead(reader, reader.uint32(), options, message.thread);
478
+ break;
479
+ default:
480
+ let u = options.readUnknownField;
481
+ if (u === "throw")
482
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
483
+ let d = reader.skip(wireType);
484
+ if (u !== false)
485
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
486
+ }
487
+ }
488
+ return message;
489
+ }
490
+ internalBinaryWrite(message: GetThreadResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
491
+ /* resources.mailer.threads.Thread thread = 1; */
492
+ if (message.thread)
493
+ Thread.internalBinaryWrite(message.thread, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
494
+ let u = options.writeUnknownFields;
495
+ if (u !== false)
496
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
497
+ return writer;
498
+ }
499
+ }
500
+ /**
501
+ * @generated MessageType for protobuf message services.mailer.GetThreadResponse
502
+ */
503
+ export const GetThreadResponse = new GetThreadResponse$Type();
504
+ // @generated message type with reflection information, may provide speed optimized methods
505
+ class CreateThreadRequest$Type extends MessageType<CreateThreadRequest> {
506
+ constructor() {
507
+ super("services.mailer.CreateThreadRequest", [
508
+ { no: 1, name: "thread", kind: "message", T: () => Thread, options: { "buf.validate.field": { required: true } } },
509
+ { no: 2, name: "message", kind: "message", T: () => Message, options: { "buf.validate.field": { required: true } } },
510
+ { no: 3, name: "recipients", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { minItems: "1", maxItems: "15", items: { string: { minLen: "6", maxLen: "80" } } } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
511
+ ]);
512
+ }
513
+ create(value?: PartialMessage<CreateThreadRequest>): CreateThreadRequest {
514
+ const message = globalThis.Object.create((this.messagePrototype!));
515
+ message.recipients = [];
516
+ if (value !== undefined)
517
+ reflectionMergePartial<CreateThreadRequest>(this, message, value);
518
+ return message;
519
+ }
520
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateThreadRequest): CreateThreadRequest {
521
+ let message = target ?? this.create(), end = reader.pos + length;
522
+ while (reader.pos < end) {
523
+ let [fieldNo, wireType] = reader.tag();
524
+ switch (fieldNo) {
525
+ case /* resources.mailer.threads.Thread thread */ 1:
526
+ message.thread = Thread.internalBinaryRead(reader, reader.uint32(), options, message.thread);
527
+ break;
528
+ case /* resources.mailer.messages.Message message */ 2:
529
+ message.message = Message.internalBinaryRead(reader, reader.uint32(), options, message.message);
530
+ break;
531
+ case /* repeated string recipients */ 3:
532
+ message.recipients.push(reader.string());
533
+ break;
534
+ default:
535
+ let u = options.readUnknownField;
536
+ if (u === "throw")
537
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
538
+ let d = reader.skip(wireType);
539
+ if (u !== false)
540
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
541
+ }
542
+ }
543
+ return message;
544
+ }
545
+ internalBinaryWrite(message: CreateThreadRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
546
+ /* resources.mailer.threads.Thread thread = 1; */
547
+ if (message.thread)
548
+ Thread.internalBinaryWrite(message.thread, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
549
+ /* resources.mailer.messages.Message message = 2; */
550
+ if (message.message)
551
+ Message.internalBinaryWrite(message.message, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
552
+ /* repeated string recipients = 3; */
553
+ for (let i = 0; i < message.recipients.length; i++)
554
+ writer.tag(3, WireType.LengthDelimited).string(message.recipients[i]);
555
+ let u = options.writeUnknownFields;
556
+ if (u !== false)
557
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
558
+ return writer;
559
+ }
560
+ }
561
+ /**
562
+ * @generated MessageType for protobuf message services.mailer.CreateThreadRequest
563
+ */
564
+ export const CreateThreadRequest = new CreateThreadRequest$Type();
565
+ // @generated message type with reflection information, may provide speed optimized methods
566
+ class CreateThreadResponse$Type extends MessageType<CreateThreadResponse> {
567
+ constructor() {
568
+ super("services.mailer.CreateThreadResponse", [
569
+ { no: 1, name: "thread", kind: "message", T: () => Thread }
570
+ ]);
571
+ }
572
+ create(value?: PartialMessage<CreateThreadResponse>): CreateThreadResponse {
573
+ const message = globalThis.Object.create((this.messagePrototype!));
574
+ if (value !== undefined)
575
+ reflectionMergePartial<CreateThreadResponse>(this, message, value);
576
+ return message;
577
+ }
578
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateThreadResponse): CreateThreadResponse {
579
+ let message = target ?? this.create(), end = reader.pos + length;
580
+ while (reader.pos < end) {
581
+ let [fieldNo, wireType] = reader.tag();
582
+ switch (fieldNo) {
583
+ case /* resources.mailer.threads.Thread thread */ 1:
584
+ message.thread = Thread.internalBinaryRead(reader, reader.uint32(), options, message.thread);
585
+ break;
586
+ default:
587
+ let u = options.readUnknownField;
588
+ if (u === "throw")
589
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
590
+ let d = reader.skip(wireType);
591
+ if (u !== false)
592
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
593
+ }
594
+ }
595
+ return message;
596
+ }
597
+ internalBinaryWrite(message: CreateThreadResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
598
+ /* resources.mailer.threads.Thread thread = 1; */
599
+ if (message.thread)
600
+ Thread.internalBinaryWrite(message.thread, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
601
+ let u = options.writeUnknownFields;
602
+ if (u !== false)
603
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
604
+ return writer;
605
+ }
606
+ }
607
+ /**
608
+ * @generated MessageType for protobuf message services.mailer.CreateThreadResponse
609
+ */
610
+ export const CreateThreadResponse = new CreateThreadResponse$Type();
611
+ // @generated message type with reflection information, may provide speed optimized methods
612
+ class DeleteThreadRequest$Type extends MessageType<DeleteThreadRequest> {
613
+ constructor() {
614
+ super("services.mailer.DeleteThreadRequest", [
615
+ { no: 1, name: "email_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
616
+ { no: 2, name: "thread_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } }
617
+ ]);
618
+ }
619
+ create(value?: PartialMessage<DeleteThreadRequest>): DeleteThreadRequest {
620
+ const message = globalThis.Object.create((this.messagePrototype!));
621
+ message.emailId = 0;
622
+ message.threadId = 0;
623
+ if (value !== undefined)
624
+ reflectionMergePartial<DeleteThreadRequest>(this, message, value);
625
+ return message;
626
+ }
627
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteThreadRequest): DeleteThreadRequest {
628
+ let message = target ?? this.create(), end = reader.pos + length;
629
+ while (reader.pos < end) {
630
+ let [fieldNo, wireType] = reader.tag();
631
+ switch (fieldNo) {
632
+ case /* int64 email_id */ 1:
633
+ message.emailId = reader.int64().toNumber();
634
+ break;
635
+ case /* int64 thread_id */ 2:
636
+ message.threadId = reader.int64().toNumber();
637
+ break;
638
+ default:
639
+ let u = options.readUnknownField;
640
+ if (u === "throw")
641
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
642
+ let d = reader.skip(wireType);
643
+ if (u !== false)
644
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
645
+ }
646
+ }
647
+ return message;
648
+ }
649
+ internalBinaryWrite(message: DeleteThreadRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
650
+ /* int64 email_id = 1; */
651
+ if (message.emailId !== 0)
652
+ writer.tag(1, WireType.Varint).int64(message.emailId);
653
+ /* int64 thread_id = 2; */
654
+ if (message.threadId !== 0)
655
+ writer.tag(2, WireType.Varint).int64(message.threadId);
656
+ let u = options.writeUnknownFields;
657
+ if (u !== false)
658
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
659
+ return writer;
660
+ }
661
+ }
662
+ /**
663
+ * @generated MessageType for protobuf message services.mailer.DeleteThreadRequest
664
+ */
665
+ export const DeleteThreadRequest = new DeleteThreadRequest$Type();
666
+ // @generated message type with reflection information, may provide speed optimized methods
667
+ class DeleteThreadResponse$Type extends MessageType<DeleteThreadResponse> {
668
+ constructor() {
669
+ super("services.mailer.DeleteThreadResponse", []);
670
+ }
671
+ create(value?: PartialMessage<DeleteThreadResponse>): DeleteThreadResponse {
672
+ const message = globalThis.Object.create((this.messagePrototype!));
673
+ if (value !== undefined)
674
+ reflectionMergePartial<DeleteThreadResponse>(this, message, value);
675
+ return message;
676
+ }
677
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteThreadResponse): DeleteThreadResponse {
678
+ let message = target ?? this.create(), end = reader.pos + length;
679
+ while (reader.pos < end) {
680
+ let [fieldNo, wireType] = reader.tag();
681
+ switch (fieldNo) {
682
+ default:
683
+ let u = options.readUnknownField;
684
+ if (u === "throw")
685
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
686
+ let d = reader.skip(wireType);
687
+ if (u !== false)
688
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
689
+ }
690
+ }
691
+ return message;
692
+ }
693
+ internalBinaryWrite(message: DeleteThreadResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
694
+ let u = options.writeUnknownFields;
695
+ if (u !== false)
696
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
697
+ return writer;
698
+ }
699
+ }
700
+ /**
701
+ * @generated MessageType for protobuf message services.mailer.DeleteThreadResponse
702
+ */
703
+ export const DeleteThreadResponse = new DeleteThreadResponse$Type();
704
+ // @generated message type with reflection information, may provide speed optimized methods
705
+ class GetThreadStateRequest$Type extends MessageType<GetThreadStateRequest> {
706
+ constructor() {
707
+ super("services.mailer.GetThreadStateRequest", [
708
+ { no: 1, name: "email_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
709
+ { no: 2, name: "thread_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } }
710
+ ]);
711
+ }
712
+ create(value?: PartialMessage<GetThreadStateRequest>): GetThreadStateRequest {
713
+ const message = globalThis.Object.create((this.messagePrototype!));
714
+ message.emailId = 0;
715
+ message.threadId = 0;
716
+ if (value !== undefined)
717
+ reflectionMergePartial<GetThreadStateRequest>(this, message, value);
718
+ return message;
719
+ }
720
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetThreadStateRequest): GetThreadStateRequest {
721
+ let message = target ?? this.create(), end = reader.pos + length;
722
+ while (reader.pos < end) {
723
+ let [fieldNo, wireType] = reader.tag();
724
+ switch (fieldNo) {
725
+ case /* int64 email_id */ 1:
726
+ message.emailId = reader.int64().toNumber();
727
+ break;
728
+ case /* int64 thread_id */ 2:
729
+ message.threadId = reader.int64().toNumber();
730
+ break;
731
+ default:
732
+ let u = options.readUnknownField;
733
+ if (u === "throw")
734
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
735
+ let d = reader.skip(wireType);
736
+ if (u !== false)
737
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
738
+ }
739
+ }
740
+ return message;
741
+ }
742
+ internalBinaryWrite(message: GetThreadStateRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
743
+ /* int64 email_id = 1; */
744
+ if (message.emailId !== 0)
745
+ writer.tag(1, WireType.Varint).int64(message.emailId);
746
+ /* int64 thread_id = 2; */
747
+ if (message.threadId !== 0)
748
+ writer.tag(2, WireType.Varint).int64(message.threadId);
749
+ let u = options.writeUnknownFields;
750
+ if (u !== false)
751
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
752
+ return writer;
753
+ }
754
+ }
755
+ /**
756
+ * @generated MessageType for protobuf message services.mailer.GetThreadStateRequest
757
+ */
758
+ export const GetThreadStateRequest = new GetThreadStateRequest$Type();
759
+ // @generated message type with reflection information, may provide speed optimized methods
760
+ class GetThreadStateResponse$Type extends MessageType<GetThreadStateResponse> {
761
+ constructor() {
762
+ super("services.mailer.GetThreadStateResponse", [
763
+ { no: 1, name: "state", kind: "message", T: () => ThreadState }
764
+ ]);
765
+ }
766
+ create(value?: PartialMessage<GetThreadStateResponse>): GetThreadStateResponse {
767
+ const message = globalThis.Object.create((this.messagePrototype!));
768
+ if (value !== undefined)
769
+ reflectionMergePartial<GetThreadStateResponse>(this, message, value);
770
+ return message;
771
+ }
772
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetThreadStateResponse): GetThreadStateResponse {
773
+ let message = target ?? this.create(), end = reader.pos + length;
774
+ while (reader.pos < end) {
775
+ let [fieldNo, wireType] = reader.tag();
776
+ switch (fieldNo) {
777
+ case /* resources.mailer.threads.ThreadState state */ 1:
778
+ message.state = ThreadState.internalBinaryRead(reader, reader.uint32(), options, message.state);
779
+ break;
780
+ default:
781
+ let u = options.readUnknownField;
782
+ if (u === "throw")
783
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
784
+ let d = reader.skip(wireType);
785
+ if (u !== false)
786
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
787
+ }
788
+ }
789
+ return message;
790
+ }
791
+ internalBinaryWrite(message: GetThreadStateResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
792
+ /* resources.mailer.threads.ThreadState state = 1; */
793
+ if (message.state)
794
+ ThreadState.internalBinaryWrite(message.state, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
795
+ let u = options.writeUnknownFields;
796
+ if (u !== false)
797
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
798
+ return writer;
799
+ }
800
+ }
801
+ /**
802
+ * @generated MessageType for protobuf message services.mailer.GetThreadStateResponse
803
+ */
804
+ export const GetThreadStateResponse = new GetThreadStateResponse$Type();
805
+ // @generated message type with reflection information, may provide speed optimized methods
806
+ class SetThreadStateRequest$Type extends MessageType<SetThreadStateRequest> {
807
+ constructor() {
808
+ super("services.mailer.SetThreadStateRequest", [
809
+ { no: 1, name: "state", kind: "message", T: () => ThreadState, options: { "buf.validate.field": { required: true } } }
810
+ ]);
811
+ }
812
+ create(value?: PartialMessage<SetThreadStateRequest>): SetThreadStateRequest {
813
+ const message = globalThis.Object.create((this.messagePrototype!));
814
+ if (value !== undefined)
815
+ reflectionMergePartial<SetThreadStateRequest>(this, message, value);
816
+ return message;
817
+ }
818
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetThreadStateRequest): SetThreadStateRequest {
819
+ let message = target ?? this.create(), end = reader.pos + length;
820
+ while (reader.pos < end) {
821
+ let [fieldNo, wireType] = reader.tag();
822
+ switch (fieldNo) {
823
+ case /* resources.mailer.threads.ThreadState state */ 1:
824
+ message.state = ThreadState.internalBinaryRead(reader, reader.uint32(), options, message.state);
825
+ break;
826
+ default:
827
+ let u = options.readUnknownField;
828
+ if (u === "throw")
829
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
830
+ let d = reader.skip(wireType);
831
+ if (u !== false)
832
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
833
+ }
834
+ }
835
+ return message;
836
+ }
837
+ internalBinaryWrite(message: SetThreadStateRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
838
+ /* resources.mailer.threads.ThreadState state = 1; */
839
+ if (message.state)
840
+ ThreadState.internalBinaryWrite(message.state, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
841
+ let u = options.writeUnknownFields;
842
+ if (u !== false)
843
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
844
+ return writer;
845
+ }
846
+ }
847
+ /**
848
+ * @generated MessageType for protobuf message services.mailer.SetThreadStateRequest
849
+ */
850
+ export const SetThreadStateRequest = new SetThreadStateRequest$Type();
851
+ // @generated message type with reflection information, may provide speed optimized methods
852
+ class SetThreadStateResponse$Type extends MessageType<SetThreadStateResponse> {
853
+ constructor() {
854
+ super("services.mailer.SetThreadStateResponse", [
855
+ { no: 1, name: "state", kind: "message", T: () => ThreadState }
856
+ ]);
857
+ }
858
+ create(value?: PartialMessage<SetThreadStateResponse>): SetThreadStateResponse {
859
+ const message = globalThis.Object.create((this.messagePrototype!));
860
+ if (value !== undefined)
861
+ reflectionMergePartial<SetThreadStateResponse>(this, message, value);
862
+ return message;
863
+ }
864
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetThreadStateResponse): SetThreadStateResponse {
865
+ let message = target ?? this.create(), end = reader.pos + length;
866
+ while (reader.pos < end) {
867
+ let [fieldNo, wireType] = reader.tag();
868
+ switch (fieldNo) {
869
+ case /* resources.mailer.threads.ThreadState state */ 1:
870
+ message.state = ThreadState.internalBinaryRead(reader, reader.uint32(), options, message.state);
871
+ break;
872
+ default:
873
+ let u = options.readUnknownField;
874
+ if (u === "throw")
875
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
876
+ let d = reader.skip(wireType);
877
+ if (u !== false)
878
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
879
+ }
880
+ }
881
+ return message;
882
+ }
883
+ internalBinaryWrite(message: SetThreadStateResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
884
+ /* resources.mailer.threads.ThreadState state = 1; */
885
+ if (message.state)
886
+ ThreadState.internalBinaryWrite(message.state, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
887
+ let u = options.writeUnknownFields;
888
+ if (u !== false)
889
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
890
+ return writer;
891
+ }
892
+ }
893
+ /**
894
+ * @generated MessageType for protobuf message services.mailer.SetThreadStateResponse
895
+ */
896
+ export const SetThreadStateResponse = new SetThreadStateResponse$Type();
897
+ // @generated message type with reflection information, may provide speed optimized methods
898
+ class SearchThreadsRequest$Type extends MessageType<SearchThreadsRequest> {
899
+ constructor() {
900
+ super("services.mailer.SearchThreadsRequest", [
901
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
902
+ { no: 2, name: "search", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } }
903
+ ]);
904
+ }
905
+ create(value?: PartialMessage<SearchThreadsRequest>): SearchThreadsRequest {
906
+ const message = globalThis.Object.create((this.messagePrototype!));
907
+ message.search = "";
908
+ if (value !== undefined)
909
+ reflectionMergePartial<SearchThreadsRequest>(this, message, value);
910
+ return message;
911
+ }
912
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SearchThreadsRequest): SearchThreadsRequest {
913
+ let message = target ?? this.create(), end = reader.pos + length;
914
+ while (reader.pos < end) {
915
+ let [fieldNo, wireType] = reader.tag();
916
+ switch (fieldNo) {
917
+ case /* resources.common.database.PaginationRequest pagination */ 1:
918
+ message.pagination = PaginationRequest.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
919
+ break;
920
+ case /* string search */ 2:
921
+ message.search = reader.string();
922
+ break;
923
+ default:
924
+ let u = options.readUnknownField;
925
+ if (u === "throw")
926
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
927
+ let d = reader.skip(wireType);
928
+ if (u !== false)
929
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
930
+ }
931
+ }
932
+ return message;
933
+ }
934
+ internalBinaryWrite(message: SearchThreadsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
935
+ /* resources.common.database.PaginationRequest pagination = 1; */
936
+ if (message.pagination)
937
+ PaginationRequest.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
938
+ /* string search = 2; */
939
+ if (message.search !== "")
940
+ writer.tag(2, WireType.LengthDelimited).string(message.search);
941
+ let u = options.writeUnknownFields;
942
+ if (u !== false)
943
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
944
+ return writer;
945
+ }
946
+ }
947
+ /**
948
+ * @generated MessageType for protobuf message services.mailer.SearchThreadsRequest
949
+ */
950
+ export const SearchThreadsRequest = new SearchThreadsRequest$Type();
951
+ // @generated message type with reflection information, may provide speed optimized methods
952
+ class SearchThreadsResponse$Type extends MessageType<SearchThreadsResponse> {
953
+ constructor() {
954
+ super("services.mailer.SearchThreadsResponse", [
955
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
956
+ { no: 2, name: "messages", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Message, options: { "codegen.itemslen.enabled": true } }
957
+ ]);
958
+ }
959
+ create(value?: PartialMessage<SearchThreadsResponse>): SearchThreadsResponse {
960
+ const message = globalThis.Object.create((this.messagePrototype!));
961
+ message.messages = [];
962
+ if (value !== undefined)
963
+ reflectionMergePartial<SearchThreadsResponse>(this, message, value);
964
+ return message;
965
+ }
966
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SearchThreadsResponse): SearchThreadsResponse {
967
+ let message = target ?? this.create(), end = reader.pos + length;
968
+ while (reader.pos < end) {
969
+ let [fieldNo, wireType] = reader.tag();
970
+ switch (fieldNo) {
971
+ case /* resources.common.database.PaginationResponse pagination */ 1:
972
+ message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
973
+ break;
974
+ case /* repeated resources.mailer.messages.Message messages */ 2:
975
+ message.messages.push(Message.internalBinaryRead(reader, reader.uint32(), options));
976
+ break;
977
+ default:
978
+ let u = options.readUnknownField;
979
+ if (u === "throw")
980
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
981
+ let d = reader.skip(wireType);
982
+ if (u !== false)
983
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
984
+ }
985
+ }
986
+ return message;
987
+ }
988
+ internalBinaryWrite(message: SearchThreadsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
989
+ /* resources.common.database.PaginationResponse pagination = 1; */
990
+ if (message.pagination)
991
+ PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
992
+ /* repeated resources.mailer.messages.Message messages = 2; */
993
+ for (let i = 0; i < message.messages.length; i++)
994
+ Message.internalBinaryWrite(message.messages[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
995
+ let u = options.writeUnknownFields;
996
+ if (u !== false)
997
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
998
+ return writer;
999
+ }
1000
+ }
1001
+ /**
1002
+ * @generated MessageType for protobuf message services.mailer.SearchThreadsResponse
1003
+ */
1004
+ export const SearchThreadsResponse = new SearchThreadsResponse$Type();
1005
+ // @generated message type with reflection information, may provide speed optimized methods
1006
+ class ListThreadMessagesRequest$Type extends MessageType<ListThreadMessagesRequest> {
1007
+ constructor() {
1008
+ super("services.mailer.ListThreadMessagesRequest", [
1009
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
1010
+ { no: 2, name: "email_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
1011
+ { no: 3, name: "thread_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
1012
+ { no: 4, name: "after", kind: "message", T: () => Timestamp }
1013
+ ]);
1014
+ }
1015
+ create(value?: PartialMessage<ListThreadMessagesRequest>): ListThreadMessagesRequest {
1016
+ const message = globalThis.Object.create((this.messagePrototype!));
1017
+ message.emailId = 0;
1018
+ message.threadId = 0;
1019
+ if (value !== undefined)
1020
+ reflectionMergePartial<ListThreadMessagesRequest>(this, message, value);
1021
+ return message;
1022
+ }
1023
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListThreadMessagesRequest): ListThreadMessagesRequest {
1024
+ let message = target ?? this.create(), end = reader.pos + length;
1025
+ while (reader.pos < end) {
1026
+ let [fieldNo, wireType] = reader.tag();
1027
+ switch (fieldNo) {
1028
+ case /* resources.common.database.PaginationRequest pagination */ 1:
1029
+ message.pagination = PaginationRequest.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
1030
+ break;
1031
+ case /* int64 email_id */ 2:
1032
+ message.emailId = reader.int64().toNumber();
1033
+ break;
1034
+ case /* int64 thread_id */ 3:
1035
+ message.threadId = reader.int64().toNumber();
1036
+ break;
1037
+ case /* optional resources.timestamp.Timestamp after */ 4:
1038
+ message.after = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.after);
1039
+ break;
1040
+ default:
1041
+ let u = options.readUnknownField;
1042
+ if (u === "throw")
1043
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1044
+ let d = reader.skip(wireType);
1045
+ if (u !== false)
1046
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1047
+ }
1048
+ }
1049
+ return message;
1050
+ }
1051
+ internalBinaryWrite(message: ListThreadMessagesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1052
+ /* resources.common.database.PaginationRequest pagination = 1; */
1053
+ if (message.pagination)
1054
+ PaginationRequest.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1055
+ /* int64 email_id = 2; */
1056
+ if (message.emailId !== 0)
1057
+ writer.tag(2, WireType.Varint).int64(message.emailId);
1058
+ /* int64 thread_id = 3; */
1059
+ if (message.threadId !== 0)
1060
+ writer.tag(3, WireType.Varint).int64(message.threadId);
1061
+ /* optional resources.timestamp.Timestamp after = 4; */
1062
+ if (message.after)
1063
+ Timestamp.internalBinaryWrite(message.after, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
1064
+ let u = options.writeUnknownFields;
1065
+ if (u !== false)
1066
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1067
+ return writer;
1068
+ }
1069
+ }
1070
+ /**
1071
+ * @generated MessageType for protobuf message services.mailer.ListThreadMessagesRequest
1072
+ */
1073
+ export const ListThreadMessagesRequest = new ListThreadMessagesRequest$Type();
1074
+ // @generated message type with reflection information, may provide speed optimized methods
1075
+ class ListThreadMessagesResponse$Type extends MessageType<ListThreadMessagesResponse> {
1076
+ constructor() {
1077
+ super("services.mailer.ListThreadMessagesResponse", [
1078
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
1079
+ { no: 2, name: "messages", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Message, options: { "codegen.itemslen.enabled": true } }
1080
+ ]);
1081
+ }
1082
+ create(value?: PartialMessage<ListThreadMessagesResponse>): ListThreadMessagesResponse {
1083
+ const message = globalThis.Object.create((this.messagePrototype!));
1084
+ message.messages = [];
1085
+ if (value !== undefined)
1086
+ reflectionMergePartial<ListThreadMessagesResponse>(this, message, value);
1087
+ return message;
1088
+ }
1089
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListThreadMessagesResponse): ListThreadMessagesResponse {
1090
+ let message = target ?? this.create(), end = reader.pos + length;
1091
+ while (reader.pos < end) {
1092
+ let [fieldNo, wireType] = reader.tag();
1093
+ switch (fieldNo) {
1094
+ case /* resources.common.database.PaginationResponse pagination */ 1:
1095
+ message.pagination = PaginationResponse.internalBinaryRead(reader, reader.uint32(), options, message.pagination);
1096
+ break;
1097
+ case /* repeated resources.mailer.messages.Message messages */ 2:
1098
+ message.messages.push(Message.internalBinaryRead(reader, reader.uint32(), options));
1099
+ break;
1100
+ default:
1101
+ let u = options.readUnknownField;
1102
+ if (u === "throw")
1103
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1104
+ let d = reader.skip(wireType);
1105
+ if (u !== false)
1106
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1107
+ }
1108
+ }
1109
+ return message;
1110
+ }
1111
+ internalBinaryWrite(message: ListThreadMessagesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1112
+ /* resources.common.database.PaginationResponse pagination = 1; */
1113
+ if (message.pagination)
1114
+ PaginationResponse.internalBinaryWrite(message.pagination, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1115
+ /* repeated resources.mailer.messages.Message messages = 2; */
1116
+ for (let i = 0; i < message.messages.length; i++)
1117
+ Message.internalBinaryWrite(message.messages[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1118
+ let u = options.writeUnknownFields;
1119
+ if (u !== false)
1120
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1121
+ return writer;
1122
+ }
1123
+ }
1124
+ /**
1125
+ * @generated MessageType for protobuf message services.mailer.ListThreadMessagesResponse
1126
+ */
1127
+ export const ListThreadMessagesResponse = new ListThreadMessagesResponse$Type();
1128
+ // @generated message type with reflection information, may provide speed optimized methods
1129
+ class PostMessageRequest$Type extends MessageType<PostMessageRequest> {
1130
+ constructor() {
1131
+ super("services.mailer.PostMessageRequest", [
1132
+ { no: 1, name: "message", kind: "message", T: () => Message, options: { "buf.validate.field": { required: true } } },
1133
+ { no: 2, name: "recipients", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "10", items: { string: { minLen: "6", maxLen: "80" } } } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
1134
+ ]);
1135
+ }
1136
+ create(value?: PartialMessage<PostMessageRequest>): PostMessageRequest {
1137
+ const message = globalThis.Object.create((this.messagePrototype!));
1138
+ message.recipients = [];
1139
+ if (value !== undefined)
1140
+ reflectionMergePartial<PostMessageRequest>(this, message, value);
1141
+ return message;
1142
+ }
1143
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostMessageRequest): PostMessageRequest {
1144
+ let message = target ?? this.create(), end = reader.pos + length;
1145
+ while (reader.pos < end) {
1146
+ let [fieldNo, wireType] = reader.tag();
1147
+ switch (fieldNo) {
1148
+ case /* resources.mailer.messages.Message message */ 1:
1149
+ message.message = Message.internalBinaryRead(reader, reader.uint32(), options, message.message);
1150
+ break;
1151
+ case /* repeated string recipients */ 2:
1152
+ message.recipients.push(reader.string());
1153
+ break;
1154
+ default:
1155
+ let u = options.readUnknownField;
1156
+ if (u === "throw")
1157
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1158
+ let d = reader.skip(wireType);
1159
+ if (u !== false)
1160
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1161
+ }
1162
+ }
1163
+ return message;
1164
+ }
1165
+ internalBinaryWrite(message: PostMessageRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1166
+ /* resources.mailer.messages.Message message = 1; */
1167
+ if (message.message)
1168
+ Message.internalBinaryWrite(message.message, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1169
+ /* repeated string recipients = 2; */
1170
+ for (let i = 0; i < message.recipients.length; i++)
1171
+ writer.tag(2, WireType.LengthDelimited).string(message.recipients[i]);
1172
+ let u = options.writeUnknownFields;
1173
+ if (u !== false)
1174
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1175
+ return writer;
1176
+ }
1177
+ }
1178
+ /**
1179
+ * @generated MessageType for protobuf message services.mailer.PostMessageRequest
1180
+ */
1181
+ export const PostMessageRequest = new PostMessageRequest$Type();
1182
+ // @generated message type with reflection information, may provide speed optimized methods
1183
+ class PostMessageResponse$Type extends MessageType<PostMessageResponse> {
1184
+ constructor() {
1185
+ super("services.mailer.PostMessageResponse", [
1186
+ { no: 1, name: "message", kind: "message", T: () => Message }
1187
+ ]);
1188
+ }
1189
+ create(value?: PartialMessage<PostMessageResponse>): PostMessageResponse {
1190
+ const message = globalThis.Object.create((this.messagePrototype!));
1191
+ if (value !== undefined)
1192
+ reflectionMergePartial<PostMessageResponse>(this, message, value);
1193
+ return message;
1194
+ }
1195
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PostMessageResponse): PostMessageResponse {
1196
+ let message = target ?? this.create(), end = reader.pos + length;
1197
+ while (reader.pos < end) {
1198
+ let [fieldNo, wireType] = reader.tag();
1199
+ switch (fieldNo) {
1200
+ case /* resources.mailer.messages.Message message */ 1:
1201
+ message.message = Message.internalBinaryRead(reader, reader.uint32(), options, message.message);
1202
+ break;
1203
+ default:
1204
+ let u = options.readUnknownField;
1205
+ if (u === "throw")
1206
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1207
+ let d = reader.skip(wireType);
1208
+ if (u !== false)
1209
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1210
+ }
1211
+ }
1212
+ return message;
1213
+ }
1214
+ internalBinaryWrite(message: PostMessageResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1215
+ /* resources.mailer.messages.Message message = 1; */
1216
+ if (message.message)
1217
+ Message.internalBinaryWrite(message.message, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1218
+ let u = options.writeUnknownFields;
1219
+ if (u !== false)
1220
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1221
+ return writer;
1222
+ }
1223
+ }
1224
+ /**
1225
+ * @generated MessageType for protobuf message services.mailer.PostMessageResponse
1226
+ */
1227
+ export const PostMessageResponse = new PostMessageResponse$Type();
1228
+ // @generated message type with reflection information, may provide speed optimized methods
1229
+ class DeleteMessageRequest$Type extends MessageType<DeleteMessageRequest> {
1230
+ constructor() {
1231
+ super("services.mailer.DeleteMessageRequest", [
1232
+ { no: 1, name: "email_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
1233
+ { no: 2, name: "thread_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
1234
+ { no: 3, name: "message_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } }
1235
+ ]);
1236
+ }
1237
+ create(value?: PartialMessage<DeleteMessageRequest>): DeleteMessageRequest {
1238
+ const message = globalThis.Object.create((this.messagePrototype!));
1239
+ message.emailId = 0;
1240
+ message.threadId = 0;
1241
+ message.messageId = 0;
1242
+ if (value !== undefined)
1243
+ reflectionMergePartial<DeleteMessageRequest>(this, message, value);
1244
+ return message;
1245
+ }
1246
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteMessageRequest): DeleteMessageRequest {
1247
+ let message = target ?? this.create(), end = reader.pos + length;
1248
+ while (reader.pos < end) {
1249
+ let [fieldNo, wireType] = reader.tag();
1250
+ switch (fieldNo) {
1251
+ case /* int64 email_id */ 1:
1252
+ message.emailId = reader.int64().toNumber();
1253
+ break;
1254
+ case /* int64 thread_id */ 2:
1255
+ message.threadId = reader.int64().toNumber();
1256
+ break;
1257
+ case /* int64 message_id */ 3:
1258
+ message.messageId = reader.int64().toNumber();
1259
+ break;
1260
+ default:
1261
+ let u = options.readUnknownField;
1262
+ if (u === "throw")
1263
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1264
+ let d = reader.skip(wireType);
1265
+ if (u !== false)
1266
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1267
+ }
1268
+ }
1269
+ return message;
1270
+ }
1271
+ internalBinaryWrite(message: DeleteMessageRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1272
+ /* int64 email_id = 1; */
1273
+ if (message.emailId !== 0)
1274
+ writer.tag(1, WireType.Varint).int64(message.emailId);
1275
+ /* int64 thread_id = 2; */
1276
+ if (message.threadId !== 0)
1277
+ writer.tag(2, WireType.Varint).int64(message.threadId);
1278
+ /* int64 message_id = 3; */
1279
+ if (message.messageId !== 0)
1280
+ writer.tag(3, WireType.Varint).int64(message.messageId);
1281
+ let u = options.writeUnknownFields;
1282
+ if (u !== false)
1283
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1284
+ return writer;
1285
+ }
1286
+ }
1287
+ /**
1288
+ * @generated MessageType for protobuf message services.mailer.DeleteMessageRequest
1289
+ */
1290
+ export const DeleteMessageRequest = new DeleteMessageRequest$Type();
1291
+ // @generated message type with reflection information, may provide speed optimized methods
1292
+ class DeleteMessageResponse$Type extends MessageType<DeleteMessageResponse> {
1293
+ constructor() {
1294
+ super("services.mailer.DeleteMessageResponse", []);
1295
+ }
1296
+ create(value?: PartialMessage<DeleteMessageResponse>): DeleteMessageResponse {
1297
+ const message = globalThis.Object.create((this.messagePrototype!));
1298
+ if (value !== undefined)
1299
+ reflectionMergePartial<DeleteMessageResponse>(this, message, value);
1300
+ return message;
1301
+ }
1302
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteMessageResponse): DeleteMessageResponse {
1303
+ let message = target ?? this.create(), end = reader.pos + length;
1304
+ while (reader.pos < end) {
1305
+ let [fieldNo, wireType] = reader.tag();
1306
+ switch (fieldNo) {
1307
+ default:
1308
+ let u = options.readUnknownField;
1309
+ if (u === "throw")
1310
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1311
+ let d = reader.skip(wireType);
1312
+ if (u !== false)
1313
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1314
+ }
1315
+ }
1316
+ return message;
1317
+ }
1318
+ internalBinaryWrite(message: DeleteMessageResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1319
+ let u = options.writeUnknownFields;
1320
+ if (u !== false)
1321
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1322
+ return writer;
1323
+ }
1324
+ }
1325
+ /**
1326
+ * @generated MessageType for protobuf message services.mailer.DeleteMessageResponse
1327
+ */
1328
+ export const DeleteMessageResponse = new DeleteMessageResponse$Type();
1329
+ /**
1330
+ * @generated ServiceType for protobuf service services.mailer.ThreadService
1331
+ */
1332
+ export const ThreadService = new ServiceType("services.mailer.ThreadService", [
1333
+ { name: "ListThreads", options: { "codegen.perms.perms": { enabled: true, name: "ListEmails" } }, I: ListThreadsRequest, O: ListThreadsResponse },
1334
+ { name: "GetThread", options: { "codegen.perms.perms": { enabled: true, name: "ListEmails" } }, I: GetThreadRequest, O: GetThreadResponse },
1335
+ { name: "CreateThread", options: { "codegen.perms.perms": { enabled: true, name: "ListEmails" } }, I: CreateThreadRequest, O: CreateThreadResponse },
1336
+ { name: "DeleteThread", options: { "codegen.perms.perms": { enabled: true, name: "Superuser" } }, I: DeleteThreadRequest, O: DeleteThreadResponse },
1337
+ { name: "GetThreadState", options: { "codegen.perms.perms": { enabled: true, name: "ListEmails" } }, I: GetThreadStateRequest, O: GetThreadStateResponse },
1338
+ { name: "SetThreadState", options: { "codegen.perms.perms": { enabled: true, name: "ListEmails" } }, I: SetThreadStateRequest, O: SetThreadStateResponse },
1339
+ { name: "SearchThreads", options: { "codegen.perms.perms": { enabled: true, name: "ListEmails" } }, I: SearchThreadsRequest, O: SearchThreadsResponse },
1340
+ { name: "ListThreadMessages", options: { "codegen.perms.perms": { enabled: true, name: "ListEmails" } }, I: ListThreadMessagesRequest, O: ListThreadMessagesResponse },
1341
+ { name: "PostMessage", options: { "codegen.perms.perms": { enabled: true, name: "ListEmails" } }, I: PostMessageRequest, O: PostMessageResponse },
1342
+ { name: "DeleteMessage", options: { "codegen.perms.perms": { enabled: true, name: "Superuser" } }, I: DeleteMessageRequest, O: DeleteMessageResponse }
1343
+ ], { "codegen.perms.perms_svc": { name: "mailer.MailerService" } });