@fivenet-app/gen 2025.9.1 → 2026.4.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 (134) hide show
  1. package/README.md +1 -1
  2. package/clients.ts +36 -0
  3. package/codegen/perms/perms.ts +186 -15
  4. package/codegen/sanitizer/sanitizer.ts +34 -1
  5. package/package.json +2 -2
  6. package/perms.ts +140 -8
  7. package/resources/accounts/accounts.ts +98 -31
  8. package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +20 -20
  9. package/resources/audit/audit.ts +156 -38
  10. package/resources/calendar/{access.ts → access/access.ts} +30 -30
  11. package/resources/calendar/calendar.ts +17 -477
  12. package/resources/calendar/entries/entries.ts +474 -0
  13. package/resources/centrum/{access.ts → access/access.ts} +22 -22
  14. package/resources/centrum/{dispatchers.ts → dispatchers/dispatchers.ts} +14 -14
  15. package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +151 -185
  16. package/resources/centrum/joblist.ts +136 -0
  17. package/resources/centrum/{settings.ts → settings/settings.ts} +70 -70
  18. package/resources/centrum/{units_access.ts → units/access/access.ts} +30 -30
  19. package/resources/centrum/{units.ts → units/units.ts} +131 -51
  20. package/resources/citizens/labels/labels.ts +526 -0
  21. package/resources/{users → citizens/licenses}/licenses.ts +17 -17
  22. package/resources/clientconfig/clientconfig.ts +126 -258
  23. package/resources/collab/collab.ts +4 -16
  24. package/resources/common/content/content.ts +108 -85
  25. package/resources/common/content/diff_activity.ts +267 -0
  26. package/resources/common/i18n.ts +2 -2
  27. package/resources/{common/cron → cron}/cron.ts +43 -43
  28. package/resources/documents/{access.ts → access/access.ts} +29 -52
  29. package/resources/documents/{activity.ts → activity/activity.ts} +171 -123
  30. package/resources/documents/approval/approval.ts +945 -0
  31. package/resources/documents/{category.ts → category/category.ts} +7 -7
  32. package/resources/documents/{comment.ts → comment/comment.ts} +10 -10
  33. package/resources/documents/data/data.ts +303 -0
  34. package/resources/documents/documents.ts +282 -667
  35. package/resources/{common/uuid.ts → documents/forms/forms.ts} +20 -20
  36. package/resources/documents/{pins.ts → pins/pins.ts} +5 -5
  37. package/resources/documents/references/references.ts +187 -0
  38. package/resources/documents/relations/relations.ts +184 -0
  39. package/resources/documents/{requests.ts → requests/requests.ts} +18 -18
  40. package/resources/documents/stamps/stamp.ts +355 -0
  41. package/resources/documents/{templates.ts → templates/templates.ts} +426 -84
  42. package/resources/documents/{workflow.ts → workflow/workflow.ts} +264 -26
  43. package/resources/file/filestore.ts +1 -1
  44. package/resources/{common/grpcws → grpcws}/grpcws.ts +52 -52
  45. package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +54 -54
  46. package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +17 -28
  47. package/resources/jobs/{conduct.ts → conduct/conduct.ts} +70 -45
  48. package/resources/jobs/{labels.ts → labels/labels.ts} +34 -23
  49. package/resources/jobs/{job_props.ts → props/props.ts} +26 -38
  50. package/resources/jobs/{job_settings.ts → settings/settings.ts} +53 -53
  51. package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +17 -17
  52. package/resources/livemap/{heatmap.ts → heatmap/heatmap.ts} +4 -4
  53. package/resources/livemap/{marker_marker.ts → markers/marker_marker.ts} +35 -35
  54. package/resources/livemap/{user_marker.ts → markers/user_marker.ts} +115 -36
  55. package/resources/mailer/{access.ts → access/access.ts} +67 -67
  56. package/resources/mailer/{email.ts → emails/email.ts} +19 -19
  57. package/resources/mailer/{events.ts → events/events.ts} +24 -24
  58. package/resources/mailer/{message.ts → messages/message.ts} +29 -29
  59. package/resources/mailer/{settings.ts → settings/settings.ts} +14 -13
  60. package/resources/mailer/{template.ts → templates/template.ts} +15 -15
  61. package/resources/mailer/{thread.ts → threads/thread.ts} +29 -29
  62. package/resources/notifications/{client_view.ts → clientview/clientview.ts} +22 -22
  63. package/resources/notifications/{events.ts → events/events.ts} +20 -20
  64. package/resources/notifications/notifications.ts +4 -4
  65. package/resources/permissions/{attributes.ts → attributes/attributes.ts} +42 -42
  66. package/resources/permissions/{events.ts → events/events.ts} +7 -7
  67. package/resources/permissions/{permissions.ts → permissions/permissions.ts} +30 -19
  68. package/resources/qualifications/{access.ts → access/access.ts} +19 -19
  69. package/resources/qualifications/{exam.ts → exam/exam.ts} +269 -141
  70. package/resources/qualifications/qualifications.ts +51 -179
  71. package/resources/settings/banner.ts +3 -3
  72. package/resources/settings/config.ts +527 -25
  73. package/resources/{documents/state.ts → settings/data.ts} +41 -20
  74. package/resources/settings/perms.ts +14 -14
  75. package/resources/stats/stats.ts +379 -0
  76. package/resources/sync/{activity.ts → activity/activity.ts} +104 -25
  77. package/resources/sync/{data.ts → data/data.ts} +405 -59
  78. package/resources/userinfo/{user_info.ts → userinfo.ts} +71 -93
  79. package/resources/users/{activity.ts → activity/activity.ts} +242 -101
  80. package/resources/users/{props.ts → props/props.ts} +91 -69
  81. package/resources/users/short/user.ts +184 -0
  82. package/resources/users/{users.ts → user.ts} +266 -195
  83. package/resources/vehicles/{activity.ts → activity/activity.ts} +20 -20
  84. package/resources/vehicles/{props.ts → props/props.ts} +28 -6
  85. package/resources/vehicles/vehicles.ts +20 -8
  86. package/resources/wiki/{access.ts → access/access.ts} +30 -30
  87. package/resources/wiki/{activity.ts → activity/activity.ts} +104 -70
  88. package/resources/wiki/page.ts +39 -15
  89. package/services/auth/auth.client.ts +23 -10
  90. package/services/auth/auth.ts +445 -262
  91. package/services/calendar/calendar.ts +56 -34
  92. package/services/centrum/centrum.ts +127 -127
  93. package/services/citizens/citizens.client.ts +0 -13
  94. package/services/citizens/citizens.ts +44 -134
  95. package/services/citizens/labels.client.ts +77 -0
  96. package/services/citizens/labels.ts +455 -0
  97. package/services/completor/completor.ts +36 -16
  98. package/services/documents/approval.client.ts +188 -0
  99. package/services/documents/approval.ts +1776 -0
  100. package/services/documents/documents.ts +164 -186
  101. package/services/documents/forms.client.ts +51 -0
  102. package/services/documents/forms.ts +232 -0
  103. package/services/documents/stamps.client.ts +77 -0
  104. package/services/documents/stamps.ts +481 -0
  105. package/services/documents/stats.client.ts +38 -0
  106. package/services/documents/stats.ts +245 -0
  107. package/services/jobs/conduct.client.ts +30 -3
  108. package/services/jobs/conduct.ts +159 -33
  109. package/services/jobs/jobs.ts +43 -43
  110. package/services/jobs/stats.client.ts +38 -0
  111. package/services/jobs/stats.ts +207 -0
  112. package/services/jobs/timeclock.ts +39 -39
  113. package/services/livemap/livemap.ts +18 -18
  114. package/services/mailer/mailer.ts +78 -78
  115. package/services/notifications/notifications.ts +35 -35
  116. package/services/qualifications/qualifications.ts +81 -46
  117. package/services/settings/accounts.client.ts +23 -10
  118. package/services/settings/accounts.ts +191 -30
  119. package/services/settings/cron.client.ts +13 -0
  120. package/services/settings/cron.ts +118 -5
  121. package/services/settings/laws.ts +1 -1
  122. package/services/settings/settings.ts +73 -52
  123. package/services/settings/system.client.ts +13 -0
  124. package/services/settings/system.ts +115 -15
  125. package/services/stats/stats.client.ts +7 -7
  126. package/services/stats/stats.ts +24 -24
  127. package/services/sync/sync.client.ts +271 -37
  128. package/services/sync/sync.ts +1525 -421
  129. package/services/vehicles/vehicles.ts +8 -8
  130. package/services/wiki/wiki.ts +8 -8
  131. package/svcs.ts +100 -6
  132. package/resources/centrum/attributes.ts +0 -183
  133. package/resources/documents/signoff.ts +0 -55
  134. package/resources/users/labels.ts +0 -160
@@ -0,0 +1,455 @@
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/citizens/labels.proto" (package "services.citizens", 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 { WireType } from "@protobuf-ts/runtime";
9
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
10
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
11
+ import { UnknownFieldHandler } 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 { Label } from "../../resources/citizens/labels/labels";
16
+ /**
17
+ * @generated from protobuf message services.citizens.ListLabelsRequest
18
+ */
19
+ export interface ListLabelsRequest {
20
+ /**
21
+ * @generated from protobuf field: optional string search = 1
22
+ */
23
+ search?: string;
24
+ }
25
+ /**
26
+ * @generated from protobuf message services.citizens.ListLabelsResponse
27
+ */
28
+ export interface ListLabelsResponse {
29
+ /**
30
+ * @generated from protobuf field: repeated resources.citizens.labels.Label labels = 1
31
+ */
32
+ labels: Label[];
33
+ }
34
+ /**
35
+ * @generated from protobuf message services.citizens.GetLabelRequest
36
+ */
37
+ export interface GetLabelRequest {
38
+ /**
39
+ * @generated from protobuf field: int64 id = 1
40
+ */
41
+ id: number;
42
+ }
43
+ /**
44
+ * @generated from protobuf message services.citizens.GetLabelResponse
45
+ */
46
+ export interface GetLabelResponse {
47
+ /**
48
+ * @generated from protobuf field: resources.citizens.labels.Label label = 1
49
+ */
50
+ label?: Label;
51
+ }
52
+ /**
53
+ * @generated from protobuf message services.citizens.CreateOrUpdateLabelRequest
54
+ */
55
+ export interface CreateOrUpdateLabelRequest {
56
+ /**
57
+ * @generated from protobuf field: resources.citizens.labels.Label label = 1
58
+ */
59
+ label?: Label;
60
+ }
61
+ /**
62
+ * @generated from protobuf message services.citizens.CreateOrUpdateLabelResponse
63
+ */
64
+ export interface CreateOrUpdateLabelResponse {
65
+ /**
66
+ * @generated from protobuf field: resources.citizens.labels.Label label = 1
67
+ */
68
+ label?: Label;
69
+ }
70
+ /**
71
+ * @generated from protobuf message services.citizens.DeleteLabelRequest
72
+ */
73
+ export interface DeleteLabelRequest {
74
+ /**
75
+ * @generated from protobuf field: int64 id = 1
76
+ */
77
+ id: number;
78
+ }
79
+ /**
80
+ * @generated from protobuf message services.citizens.DeleteLabelResponse
81
+ */
82
+ export interface DeleteLabelResponse {
83
+ }
84
+ // @generated message type with reflection information, may provide speed optimized methods
85
+ class ListLabelsRequest$Type extends MessageType<ListLabelsRequest> {
86
+ constructor() {
87
+ super("services.citizens.ListLabelsRequest", [
88
+ { no: 1, name: "search", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
89
+ ]);
90
+ }
91
+ create(value?: PartialMessage<ListLabelsRequest>): ListLabelsRequest {
92
+ const message = globalThis.Object.create((this.messagePrototype!));
93
+ if (value !== undefined)
94
+ reflectionMergePartial<ListLabelsRequest>(this, message, value);
95
+ return message;
96
+ }
97
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListLabelsRequest): ListLabelsRequest {
98
+ let message = target ?? this.create(), end = reader.pos + length;
99
+ while (reader.pos < end) {
100
+ let [fieldNo, wireType] = reader.tag();
101
+ switch (fieldNo) {
102
+ case /* optional string search */ 1:
103
+ message.search = reader.string();
104
+ break;
105
+ default:
106
+ let u = options.readUnknownField;
107
+ if (u === "throw")
108
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
109
+ let d = reader.skip(wireType);
110
+ if (u !== false)
111
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
112
+ }
113
+ }
114
+ return message;
115
+ }
116
+ internalBinaryWrite(message: ListLabelsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
117
+ /* optional string search = 1; */
118
+ if (message.search !== undefined)
119
+ writer.tag(1, WireType.LengthDelimited).string(message.search);
120
+ let u = options.writeUnknownFields;
121
+ if (u !== false)
122
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
123
+ return writer;
124
+ }
125
+ }
126
+ /**
127
+ * @generated MessageType for protobuf message services.citizens.ListLabelsRequest
128
+ */
129
+ export const ListLabelsRequest = new ListLabelsRequest$Type();
130
+ // @generated message type with reflection information, may provide speed optimized methods
131
+ class ListLabelsResponse$Type extends MessageType<ListLabelsResponse> {
132
+ constructor() {
133
+ super("services.citizens.ListLabelsResponse", [
134
+ { no: 1, name: "labels", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Label }
135
+ ]);
136
+ }
137
+ create(value?: PartialMessage<ListLabelsResponse>): ListLabelsResponse {
138
+ const message = globalThis.Object.create((this.messagePrototype!));
139
+ message.labels = [];
140
+ if (value !== undefined)
141
+ reflectionMergePartial<ListLabelsResponse>(this, message, value);
142
+ return message;
143
+ }
144
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListLabelsResponse): ListLabelsResponse {
145
+ let message = target ?? this.create(), end = reader.pos + length;
146
+ while (reader.pos < end) {
147
+ let [fieldNo, wireType] = reader.tag();
148
+ switch (fieldNo) {
149
+ case /* repeated resources.citizens.labels.Label labels */ 1:
150
+ message.labels.push(Label.internalBinaryRead(reader, reader.uint32(), options));
151
+ break;
152
+ default:
153
+ let u = options.readUnknownField;
154
+ if (u === "throw")
155
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
156
+ let d = reader.skip(wireType);
157
+ if (u !== false)
158
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
159
+ }
160
+ }
161
+ return message;
162
+ }
163
+ internalBinaryWrite(message: ListLabelsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
164
+ /* repeated resources.citizens.labels.Label labels = 1; */
165
+ for (let i = 0; i < message.labels.length; i++)
166
+ Label.internalBinaryWrite(message.labels[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
167
+ let u = options.writeUnknownFields;
168
+ if (u !== false)
169
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
170
+ return writer;
171
+ }
172
+ }
173
+ /**
174
+ * @generated MessageType for protobuf message services.citizens.ListLabelsResponse
175
+ */
176
+ export const ListLabelsResponse = new ListLabelsResponse$Type();
177
+ // @generated message type with reflection information, may provide speed optimized methods
178
+ class GetLabelRequest$Type extends MessageType<GetLabelRequest> {
179
+ constructor() {
180
+ super("services.citizens.GetLabelRequest", [
181
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } }
182
+ ]);
183
+ }
184
+ create(value?: PartialMessage<GetLabelRequest>): GetLabelRequest {
185
+ const message = globalThis.Object.create((this.messagePrototype!));
186
+ message.id = 0;
187
+ if (value !== undefined)
188
+ reflectionMergePartial<GetLabelRequest>(this, message, value);
189
+ return message;
190
+ }
191
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetLabelRequest): GetLabelRequest {
192
+ let message = target ?? this.create(), end = reader.pos + length;
193
+ while (reader.pos < end) {
194
+ let [fieldNo, wireType] = reader.tag();
195
+ switch (fieldNo) {
196
+ case /* int64 id */ 1:
197
+ message.id = reader.int64().toNumber();
198
+ break;
199
+ default:
200
+ let u = options.readUnknownField;
201
+ if (u === "throw")
202
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
203
+ let d = reader.skip(wireType);
204
+ if (u !== false)
205
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
206
+ }
207
+ }
208
+ return message;
209
+ }
210
+ internalBinaryWrite(message: GetLabelRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
211
+ /* int64 id = 1; */
212
+ if (message.id !== 0)
213
+ writer.tag(1, WireType.Varint).int64(message.id);
214
+ let u = options.writeUnknownFields;
215
+ if (u !== false)
216
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
217
+ return writer;
218
+ }
219
+ }
220
+ /**
221
+ * @generated MessageType for protobuf message services.citizens.GetLabelRequest
222
+ */
223
+ export const GetLabelRequest = new GetLabelRequest$Type();
224
+ // @generated message type with reflection information, may provide speed optimized methods
225
+ class GetLabelResponse$Type extends MessageType<GetLabelResponse> {
226
+ constructor() {
227
+ super("services.citizens.GetLabelResponse", [
228
+ { no: 1, name: "label", kind: "message", T: () => Label }
229
+ ]);
230
+ }
231
+ create(value?: PartialMessage<GetLabelResponse>): GetLabelResponse {
232
+ const message = globalThis.Object.create((this.messagePrototype!));
233
+ if (value !== undefined)
234
+ reflectionMergePartial<GetLabelResponse>(this, message, value);
235
+ return message;
236
+ }
237
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetLabelResponse): GetLabelResponse {
238
+ let message = target ?? this.create(), end = reader.pos + length;
239
+ while (reader.pos < end) {
240
+ let [fieldNo, wireType] = reader.tag();
241
+ switch (fieldNo) {
242
+ case /* resources.citizens.labels.Label label */ 1:
243
+ message.label = Label.internalBinaryRead(reader, reader.uint32(), options, message.label);
244
+ break;
245
+ default:
246
+ let u = options.readUnknownField;
247
+ if (u === "throw")
248
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
249
+ let d = reader.skip(wireType);
250
+ if (u !== false)
251
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
252
+ }
253
+ }
254
+ return message;
255
+ }
256
+ internalBinaryWrite(message: GetLabelResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
257
+ /* resources.citizens.labels.Label label = 1; */
258
+ if (message.label)
259
+ Label.internalBinaryWrite(message.label, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
260
+ let u = options.writeUnknownFields;
261
+ if (u !== false)
262
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
263
+ return writer;
264
+ }
265
+ }
266
+ /**
267
+ * @generated MessageType for protobuf message services.citizens.GetLabelResponse
268
+ */
269
+ export const GetLabelResponse = new GetLabelResponse$Type();
270
+ // @generated message type with reflection information, may provide speed optimized methods
271
+ class CreateOrUpdateLabelRequest$Type extends MessageType<CreateOrUpdateLabelRequest> {
272
+ constructor() {
273
+ super("services.citizens.CreateOrUpdateLabelRequest", [
274
+ { no: 1, name: "label", kind: "message", T: () => Label, options: { "buf.validate.field": { required: true } } }
275
+ ]);
276
+ }
277
+ create(value?: PartialMessage<CreateOrUpdateLabelRequest>): CreateOrUpdateLabelRequest {
278
+ const message = globalThis.Object.create((this.messagePrototype!));
279
+ if (value !== undefined)
280
+ reflectionMergePartial<CreateOrUpdateLabelRequest>(this, message, value);
281
+ return message;
282
+ }
283
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOrUpdateLabelRequest): CreateOrUpdateLabelRequest {
284
+ let message = target ?? this.create(), end = reader.pos + length;
285
+ while (reader.pos < end) {
286
+ let [fieldNo, wireType] = reader.tag();
287
+ switch (fieldNo) {
288
+ case /* resources.citizens.labels.Label label */ 1:
289
+ message.label = Label.internalBinaryRead(reader, reader.uint32(), options, message.label);
290
+ break;
291
+ default:
292
+ let u = options.readUnknownField;
293
+ if (u === "throw")
294
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
295
+ let d = reader.skip(wireType);
296
+ if (u !== false)
297
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
298
+ }
299
+ }
300
+ return message;
301
+ }
302
+ internalBinaryWrite(message: CreateOrUpdateLabelRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
303
+ /* resources.citizens.labels.Label label = 1; */
304
+ if (message.label)
305
+ Label.internalBinaryWrite(message.label, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
306
+ let u = options.writeUnknownFields;
307
+ if (u !== false)
308
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
309
+ return writer;
310
+ }
311
+ }
312
+ /**
313
+ * @generated MessageType for protobuf message services.citizens.CreateOrUpdateLabelRequest
314
+ */
315
+ export const CreateOrUpdateLabelRequest = new CreateOrUpdateLabelRequest$Type();
316
+ // @generated message type with reflection information, may provide speed optimized methods
317
+ class CreateOrUpdateLabelResponse$Type extends MessageType<CreateOrUpdateLabelResponse> {
318
+ constructor() {
319
+ super("services.citizens.CreateOrUpdateLabelResponse", [
320
+ { no: 1, name: "label", kind: "message", T: () => Label }
321
+ ]);
322
+ }
323
+ create(value?: PartialMessage<CreateOrUpdateLabelResponse>): CreateOrUpdateLabelResponse {
324
+ const message = globalThis.Object.create((this.messagePrototype!));
325
+ if (value !== undefined)
326
+ reflectionMergePartial<CreateOrUpdateLabelResponse>(this, message, value);
327
+ return message;
328
+ }
329
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOrUpdateLabelResponse): CreateOrUpdateLabelResponse {
330
+ let message = target ?? this.create(), end = reader.pos + length;
331
+ while (reader.pos < end) {
332
+ let [fieldNo, wireType] = reader.tag();
333
+ switch (fieldNo) {
334
+ case /* resources.citizens.labels.Label label */ 1:
335
+ message.label = Label.internalBinaryRead(reader, reader.uint32(), options, message.label);
336
+ break;
337
+ default:
338
+ let u = options.readUnknownField;
339
+ if (u === "throw")
340
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
341
+ let d = reader.skip(wireType);
342
+ if (u !== false)
343
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
344
+ }
345
+ }
346
+ return message;
347
+ }
348
+ internalBinaryWrite(message: CreateOrUpdateLabelResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
349
+ /* resources.citizens.labels.Label label = 1; */
350
+ if (message.label)
351
+ Label.internalBinaryWrite(message.label, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
352
+ let u = options.writeUnknownFields;
353
+ if (u !== false)
354
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
355
+ return writer;
356
+ }
357
+ }
358
+ /**
359
+ * @generated MessageType for protobuf message services.citizens.CreateOrUpdateLabelResponse
360
+ */
361
+ export const CreateOrUpdateLabelResponse = new CreateOrUpdateLabelResponse$Type();
362
+ // @generated message type with reflection information, may provide speed optimized methods
363
+ class DeleteLabelRequest$Type extends MessageType<DeleteLabelRequest> {
364
+ constructor() {
365
+ super("services.citizens.DeleteLabelRequest", [
366
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } }
367
+ ]);
368
+ }
369
+ create(value?: PartialMessage<DeleteLabelRequest>): DeleteLabelRequest {
370
+ const message = globalThis.Object.create((this.messagePrototype!));
371
+ message.id = 0;
372
+ if (value !== undefined)
373
+ reflectionMergePartial<DeleteLabelRequest>(this, message, value);
374
+ return message;
375
+ }
376
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteLabelRequest): DeleteLabelRequest {
377
+ let message = target ?? this.create(), end = reader.pos + length;
378
+ while (reader.pos < end) {
379
+ let [fieldNo, wireType] = reader.tag();
380
+ switch (fieldNo) {
381
+ case /* int64 id */ 1:
382
+ message.id = reader.int64().toNumber();
383
+ break;
384
+ default:
385
+ let u = options.readUnknownField;
386
+ if (u === "throw")
387
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
388
+ let d = reader.skip(wireType);
389
+ if (u !== false)
390
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
391
+ }
392
+ }
393
+ return message;
394
+ }
395
+ internalBinaryWrite(message: DeleteLabelRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
396
+ /* int64 id = 1; */
397
+ if (message.id !== 0)
398
+ writer.tag(1, WireType.Varint).int64(message.id);
399
+ let u = options.writeUnknownFields;
400
+ if (u !== false)
401
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
402
+ return writer;
403
+ }
404
+ }
405
+ /**
406
+ * @generated MessageType for protobuf message services.citizens.DeleteLabelRequest
407
+ */
408
+ export const DeleteLabelRequest = new DeleteLabelRequest$Type();
409
+ // @generated message type with reflection information, may provide speed optimized methods
410
+ class DeleteLabelResponse$Type extends MessageType<DeleteLabelResponse> {
411
+ constructor() {
412
+ super("services.citizens.DeleteLabelResponse", []);
413
+ }
414
+ create(value?: PartialMessage<DeleteLabelResponse>): DeleteLabelResponse {
415
+ const message = globalThis.Object.create((this.messagePrototype!));
416
+ if (value !== undefined)
417
+ reflectionMergePartial<DeleteLabelResponse>(this, message, value);
418
+ return message;
419
+ }
420
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteLabelResponse): DeleteLabelResponse {
421
+ let message = target ?? this.create(), end = reader.pos + length;
422
+ while (reader.pos < end) {
423
+ let [fieldNo, wireType] = reader.tag();
424
+ switch (fieldNo) {
425
+ default:
426
+ let u = options.readUnknownField;
427
+ if (u === "throw")
428
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
429
+ let d = reader.skip(wireType);
430
+ if (u !== false)
431
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
432
+ }
433
+ }
434
+ return message;
435
+ }
436
+ internalBinaryWrite(message: DeleteLabelResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
437
+ let u = options.writeUnknownFields;
438
+ if (u !== false)
439
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
440
+ return writer;
441
+ }
442
+ }
443
+ /**
444
+ * @generated MessageType for protobuf message services.citizens.DeleteLabelResponse
445
+ */
446
+ export const DeleteLabelResponse = new DeleteLabelResponse$Type();
447
+ /**
448
+ * @generated ServiceType for protobuf service services.citizens.LabelsService
449
+ */
450
+ export const LabelsService = new ServiceType("services.citizens.LabelsService", [
451
+ { name: "ListLabels", options: { "codegen.perms.perms": { enabled: true, service: "completor.CompletorService", name: "CompleteCitizenLabels" } }, I: ListLabelsRequest, O: ListLabelsResponse },
452
+ { name: "GetLabel", options: { "codegen.perms.perms": { enabled: true, service: "completor.CompletorService", name: "CompleteCitizenLabels" } }, I: GetLabelRequest, O: GetLabelResponse },
453
+ { name: "CreateOrUpdateLabel", options: { "codegen.perms.perms": { enabled: true } }, I: CreateOrUpdateLabelRequest, O: CreateOrUpdateLabelResponse },
454
+ { name: "DeleteLabel", options: { "codegen.perms.perms": { enabled: true } }, I: DeleteLabelRequest, O: DeleteLabelResponse }
455
+ ], { "codegen.perms.perms_svc": { order: 32, icon: "i-mdi-label-multiple" } });
@@ -12,11 +12,11 @@ import { WireType } from "@protobuf-ts/runtime";
12
12
  import type { PartialMessage } from "@protobuf-ts/runtime";
13
13
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
14
14
  import { MessageType } from "@protobuf-ts/runtime";
15
- import { Label } from "../../resources/users/labels";
15
+ import { Label } from "../../resources/citizens/labels/labels";
16
16
  import { LawBook } from "../../resources/laws/laws";
17
- import { Category } from "../../resources/documents/category";
17
+ import { Category } from "../../resources/documents/category/category";
18
18
  import { Job } from "../../resources/jobs/jobs";
19
- import { UserShort } from "../../resources/users/users";
19
+ import { UserShort } from "../../resources/users/short/user";
20
20
  /**
21
21
  * @generated from protobuf message services.completor.CompleteCitizensRequest
22
22
  */
@@ -47,7 +47,7 @@ export interface CompleteCitizensRequest {
47
47
  */
48
48
  export interface CompleteCitizensResponse {
49
49
  /**
50
- * @generated from protobuf field: repeated resources.users.UserShort users = 1
50
+ * @generated from protobuf field: repeated resources.users.short.UserShort users = 1
51
51
  */
52
52
  users: UserShort[];
53
53
  }
@@ -85,13 +85,17 @@ export interface CompleteDocumentCategoriesRequest {
85
85
  * @generated from protobuf field: string search = 1
86
86
  */
87
87
  search: string;
88
+ /**
89
+ * @generated from protobuf field: repeated int64 category_ids = 2
90
+ */
91
+ categoryIds: number[];
88
92
  }
89
93
  /**
90
94
  * @generated from protobuf message services.completor.CompleteDocumentCategoriesResponse
91
95
  */
92
96
  export interface CompleteDocumentCategoriesResponse {
93
97
  /**
94
- * @generated from protobuf field: repeated resources.documents.Category categories = 1
98
+ * @generated from protobuf field: repeated resources.documents.category.Category categories = 1
95
99
  */
96
100
  categories: Category[];
97
101
  }
@@ -123,7 +127,7 @@ export interface CompleteCitizenLabelsRequest {
123
127
  */
124
128
  export interface CompleteCitizenLabelsResponse {
125
129
  /**
126
- * @generated from protobuf field: repeated resources.users.Label labels = 1
130
+ * @generated from protobuf field: repeated resources.citizens.labels.Label labels = 1
127
131
  */
128
132
  labels: Label[];
129
133
  }
@@ -230,7 +234,7 @@ class CompleteCitizensResponse$Type extends MessageType<CompleteCitizensResponse
230
234
  while (reader.pos < end) {
231
235
  let [fieldNo, wireType] = reader.tag();
232
236
  switch (fieldNo) {
233
- case /* repeated resources.users.UserShort users */ 1:
237
+ case /* repeated resources.users.short.UserShort users */ 1:
234
238
  message.users.push(UserShort.internalBinaryRead(reader, reader.uint32(), options));
235
239
  break;
236
240
  default:
@@ -245,7 +249,7 @@ class CompleteCitizensResponse$Type extends MessageType<CompleteCitizensResponse
245
249
  return message;
246
250
  }
247
251
  internalBinaryWrite(message: CompleteCitizensResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
248
- /* repeated resources.users.UserShort users = 1; */
252
+ /* repeated resources.users.short.UserShort users = 1; */
249
253
  for (let i = 0; i < message.users.length; i++)
250
254
  UserShort.internalBinaryWrite(message.users[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
251
255
  let u = options.writeUnknownFields;
@@ -369,12 +373,14 @@ export const CompleteJobsResponse = new CompleteJobsResponse$Type();
369
373
  class CompleteDocumentCategoriesRequest$Type extends MessageType<CompleteDocumentCategoriesRequest> {
370
374
  constructor() {
371
375
  super("services.completor.CompleteDocumentCategoriesRequest", [
372
- { no: 1, name: "search", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } }
376
+ { no: 1, name: "search", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
377
+ { no: 2, name: "category_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { repeated: { items: { int64: { gt: "0" } } } } } }
373
378
  ]);
374
379
  }
375
380
  create(value?: PartialMessage<CompleteDocumentCategoriesRequest>): CompleteDocumentCategoriesRequest {
376
381
  const message = globalThis.Object.create((this.messagePrototype!));
377
382
  message.search = "";
383
+ message.categoryIds = [];
378
384
  if (value !== undefined)
379
385
  reflectionMergePartial<CompleteDocumentCategoriesRequest>(this, message, value);
380
386
  return message;
@@ -387,6 +393,13 @@ class CompleteDocumentCategoriesRequest$Type extends MessageType<CompleteDocumen
387
393
  case /* string search */ 1:
388
394
  message.search = reader.string();
389
395
  break;
396
+ case /* repeated int64 category_ids */ 2:
397
+ if (wireType === WireType.LengthDelimited)
398
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
399
+ message.categoryIds.push(reader.int64().toNumber());
400
+ else
401
+ message.categoryIds.push(reader.int64().toNumber());
402
+ break;
390
403
  default:
391
404
  let u = options.readUnknownField;
392
405
  if (u === "throw")
@@ -402,6 +415,13 @@ class CompleteDocumentCategoriesRequest$Type extends MessageType<CompleteDocumen
402
415
  /* string search = 1; */
403
416
  if (message.search !== "")
404
417
  writer.tag(1, WireType.LengthDelimited).string(message.search);
418
+ /* repeated int64 category_ids = 2; */
419
+ if (message.categoryIds.length) {
420
+ writer.tag(2, WireType.LengthDelimited).fork();
421
+ for (let i = 0; i < message.categoryIds.length; i++)
422
+ writer.int64(message.categoryIds[i]);
423
+ writer.join();
424
+ }
405
425
  let u = options.writeUnknownFields;
406
426
  if (u !== false)
407
427
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -431,7 +451,7 @@ class CompleteDocumentCategoriesResponse$Type extends MessageType<CompleteDocume
431
451
  while (reader.pos < end) {
432
452
  let [fieldNo, wireType] = reader.tag();
433
453
  switch (fieldNo) {
434
- case /* repeated resources.documents.Category categories */ 1:
454
+ case /* repeated resources.documents.category.Category categories */ 1:
435
455
  message.categories.push(Category.internalBinaryRead(reader, reader.uint32(), options));
436
456
  break;
437
457
  default:
@@ -446,7 +466,7 @@ class CompleteDocumentCategoriesResponse$Type extends MessageType<CompleteDocume
446
466
  return message;
447
467
  }
448
468
  internalBinaryWrite(message: CompleteDocumentCategoriesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
449
- /* repeated resources.documents.Category categories = 1; */
469
+ /* repeated resources.documents.category.Category categories = 1; */
450
470
  for (let i = 0; i < message.categories.length; i++)
451
471
  Category.internalBinaryWrite(message.categories[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
452
472
  let u = options.writeUnknownFields;
@@ -610,7 +630,7 @@ class CompleteCitizenLabelsResponse$Type extends MessageType<CompleteCitizenLabe
610
630
  while (reader.pos < end) {
611
631
  let [fieldNo, wireType] = reader.tag();
612
632
  switch (fieldNo) {
613
- case /* repeated resources.users.Label labels */ 1:
633
+ case /* repeated resources.citizens.labels.Label labels */ 1:
614
634
  message.labels.push(Label.internalBinaryRead(reader, reader.uint32(), options));
615
635
  break;
616
636
  default:
@@ -625,7 +645,7 @@ class CompleteCitizenLabelsResponse$Type extends MessageType<CompleteCitizenLabe
625
645
  return message;
626
646
  }
627
647
  internalBinaryWrite(message: CompleteCitizenLabelsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
628
- /* repeated resources.users.Label labels = 1; */
648
+ /* repeated resources.citizens.labels.Label labels = 1; */
629
649
  for (let i = 0; i < message.labels.length; i++)
630
650
  Label.internalBinaryWrite(message.labels[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
631
651
  let u = options.writeUnknownFields;
@@ -642,9 +662,9 @@ export const CompleteCitizenLabelsResponse = new CompleteCitizenLabelsResponse$T
642
662
  * @generated ServiceType for protobuf service services.completor.CompletorService
643
663
  */
644
664
  export const CompletorService = new ServiceType("services.completor.CompletorService", [
645
- { name: "CompleteCitizens", options: { "codegen.perms.perms": { enabled: true } }, I: CompleteCitizensRequest, O: CompleteCitizensResponse },
665
+ { name: "CompleteCitizens", options: { "codegen.perms.perms": { enabled: true, name: "Any" } }, I: CompleteCitizensRequest, O: CompleteCitizensResponse },
646
666
  { name: "CompleteJobs", options: { "codegen.perms.perms": { enabled: true, name: "Any" } }, I: CompleteJobsRequest, O: CompleteJobsResponse },
647
- { name: "CompleteDocumentCategories", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Jobs", type: "ATTRIBUTE_TYPE_JOB_LIST" }] } }, I: CompleteDocumentCategoriesRequest, O: CompleteDocumentCategoriesResponse },
667
+ { name: "CompleteDocumentCategories", options: { "codegen.perms.perms": { enabled: true, service: "documents.DocumentsService", name: "ListCategories" } }, I: CompleteDocumentCategoriesRequest, O: CompleteDocumentCategoriesResponse },
648
668
  { name: "ListLawBooks", options: { "codegen.perms.perms": { enabled: true, name: "Any" } }, I: ListLawBooksRequest, O: ListLawBooksResponse },
649
669
  { name: "CompleteCitizenLabels", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Jobs", type: "ATTRIBUTE_TYPE_JOB_LIST" }] } }, I: CompleteCitizenLabelsRequest, O: CompleteCitizenLabelsResponse }
650
- ]);
670
+ ], { "codegen.perms.perms_svc": { order: 10, icon: "i-mdi-keyboard-tab" } });