@fivenet-app/gen 2026.5.0 → 2026.7.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 (87) hide show
  1. package/clients.ts +6 -0
  2. package/codegen/perms/perms.ts +74 -40
  3. package/codegen/sanitizer/sanitizer.ts +6 -0
  4. package/google/protobuf/descriptor.ts +11 -3
  5. package/google/protobuf/timestamp.ts +7 -6
  6. package/package.json +1 -1
  7. package/perms.ts +387 -41
  8. package/resources/access/access.ts +481 -0
  9. package/resources/accounts/accounts.ts +41 -30
  10. package/resources/audit/audit.ts +5 -1
  11. package/resources/calendar/access/access.ts +0 -330
  12. package/resources/calendar/calendar.ts +307 -25
  13. package/resources/calendar/entries/entries.ts +204 -11
  14. package/resources/centrum/units/access/access.ts +0 -373
  15. package/resources/centrum/units/units.ts +20 -8
  16. package/resources/citizens/labels/access.ts +0 -191
  17. package/resources/citizens/labels/labels.ts +20 -8
  18. package/resources/common/content/diff_activity.ts +1 -1
  19. package/resources/cron/cron.ts +1 -1
  20. package/resources/documents/access/access.ts +0 -329
  21. package/resources/documents/activity/activity.ts +49 -45
  22. package/resources/documents/documents.ts +1 -1
  23. package/resources/documents/requests/requests.ts +1 -1
  24. package/resources/documents/stamps/stamp.ts +40 -210
  25. package/resources/documents/templates/templates.ts +158 -318
  26. package/resources/jobs/colleagues/activity/activity.ts +2 -2
  27. package/resources/jobs/conduct/conduct.ts +2 -2
  28. package/resources/jobs/jobs.ts +22 -0
  29. package/resources/jobs/labels/labels.ts +9 -9
  30. package/resources/laws/laws.ts +96 -50
  31. package/resources/livemap/markers/marker_marker.ts +311 -4
  32. package/resources/mailer/access/access.ts +0 -457
  33. package/resources/mailer/emails/email.ts +4 -4
  34. package/resources/notifications/events/events.ts +18 -1
  35. package/resources/permissions/attributes/attributes.ts +51 -39
  36. package/resources/permissions/permissions/permissions.ts +46 -34
  37. package/resources/qualifications/access/access.ts +0 -248
  38. package/resources/qualifications/qualifications.ts +9 -9
  39. package/resources/settings/config.ts +53 -5
  40. package/resources/settings/data.ts +1 -1
  41. package/resources/stats/stats.ts +32 -20
  42. package/resources/sync/data/data.ts +22 -10
  43. package/resources/userinfo/userinfo.ts +202 -51
  44. package/resources/users/activity/activity.ts +70 -77
  45. package/resources/wiki/access/access.ts +0 -330
  46. package/resources/wiki/activity/activity.ts +45 -45
  47. package/resources/wiki/page.ts +9 -9
  48. package/services/auth/auth.ts +1 -1
  49. package/services/calendar/calendar.ts +1 -1
  50. package/services/calendar/entries.ts +13 -2
  51. package/services/centrum/dispatches.ts +32 -12
  52. package/services/centrum/units.client.ts +15 -2
  53. package/services/centrum/units.ts +237 -129
  54. package/services/citizens/citizens.ts +1 -1
  55. package/services/citizens/labels.client.ts +13 -0
  56. package/services/citizens/labels.ts +135 -4
  57. package/services/completor/completor.client.ts +0 -13
  58. package/services/completor/completor.ts +2 -116
  59. package/services/documents/approval.ts +20 -9
  60. package/services/documents/categories.ts +1 -1
  61. package/services/documents/collab.ts +1 -1
  62. package/services/documents/comments.ts +4 -4
  63. package/services/documents/documents.ts +38 -38
  64. package/services/documents/stats.ts +14 -2
  65. package/services/documents/templates.ts +1 -1
  66. package/services/filestore/filestore.ts +4 -4
  67. package/services/jobs/colleagues.ts +4 -4
  68. package/services/jobs/conduct.ts +2 -2
  69. package/services/jobs/groups.client.ts +22 -0
  70. package/services/jobs/groups.ts +9 -0
  71. package/services/jobs/timeclock.ts +2 -2
  72. package/services/mailer/settings.ts +1 -1
  73. package/services/mailer/thread.ts +3 -3
  74. package/services/qualifications/exam.ts +5 -5
  75. package/services/qualifications/qualifications.ts +52 -34
  76. package/services/settings/accounts.ts +19 -6
  77. package/services/settings/config.ts +2 -2
  78. package/services/settings/cron.ts +2 -2
  79. package/services/settings/laws.client.ts +44 -5
  80. package/services/settings/laws.ts +357 -4
  81. package/services/settings/system.ts +6 -6
  82. package/services/sync/sync.client.ts +42 -14
  83. package/services/sync/sync.ts +162 -13
  84. package/services/wiki/collab.ts +1 -1
  85. package/services/wiki/wiki.client.ts +15 -2
  86. package/services/wiki/wiki.ts +122 -0
  87. package/svcs.ts +19 -1
@@ -0,0 +1,481 @@
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 "resources/access/access.proto" (package "resources.access", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
7
+ import { WireType } 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 type { PartialMessage } from "@protobuf-ts/runtime";
12
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
+ import { MessageType } from "@protobuf-ts/runtime";
14
+ import { UserShort } from "../users/short/user";
15
+ /**
16
+ * @generated from protobuf message resources.access.Access
17
+ */
18
+ export interface Access {
19
+ /**
20
+ * @generated from protobuf field: repeated resources.access.JobAccess jobs = 1
21
+ */
22
+ jobs: JobAccess[];
23
+ /**
24
+ * @generated from protobuf field: repeated resources.access.UserAccess users = 2
25
+ */
26
+ users: UserAccess[];
27
+ /**
28
+ * @generated from protobuf field: repeated resources.access.QualificationAccess qualifications = 3
29
+ */
30
+ qualifications: QualificationAccess[];
31
+ }
32
+ /**
33
+ * @generated from protobuf message resources.access.JobAccess
34
+ */
35
+ export interface JobAccess {
36
+ /**
37
+ * @generated from protobuf field: int64 id = 1
38
+ */
39
+ id: number;
40
+ /**
41
+ * @generated from protobuf field: int64 target_id = 3
42
+ */
43
+ targetId: number;
44
+ /**
45
+ * @generated from protobuf field: string job = 4
46
+ */
47
+ job: string;
48
+ /**
49
+ * @generated from protobuf field: optional string job_label = 5
50
+ */
51
+ jobLabel?: string;
52
+ /**
53
+ * @generated from protobuf field: int32 minimum_grade = 6
54
+ */
55
+ minimumGrade: number;
56
+ /**
57
+ * @generated from protobuf field: optional string job_grade_label = 7
58
+ */
59
+ jobGradeLabel?: string;
60
+ /**
61
+ * @generated from protobuf field: int32 access = 8
62
+ */
63
+ access: number;
64
+ /**
65
+ * @generated from protobuf field: optional bool required = 9
66
+ */
67
+ required?: boolean;
68
+ /**
69
+ * @generated from protobuf field: optional int32 required_access = 10
70
+ */
71
+ requiredAccess?: number;
72
+ }
73
+ /**
74
+ * @generated from protobuf message resources.access.UserAccess
75
+ */
76
+ export interface UserAccess {
77
+ /**
78
+ * @generated from protobuf field: int64 id = 1
79
+ */
80
+ id: number;
81
+ /**
82
+ * @generated from protobuf field: int64 target_id = 3
83
+ */
84
+ targetId: number;
85
+ /**
86
+ * @generated from protobuf field: int32 user_id = 4
87
+ */
88
+ userId: number;
89
+ /**
90
+ * @generated from protobuf field: optional resources.users.short.UserShort user = 5
91
+ */
92
+ user?: UserShort;
93
+ /**
94
+ * @generated from protobuf field: int32 access = 6
95
+ */
96
+ access: number;
97
+ /**
98
+ * @generated from protobuf field: optional bool required = 7
99
+ */
100
+ required?: boolean;
101
+ /**
102
+ * @generated from protobuf field: optional int32 required_access = 8
103
+ */
104
+ requiredAccess?: number;
105
+ }
106
+ /**
107
+ * @generated from protobuf message resources.access.QualificationAccess
108
+ */
109
+ export interface QualificationAccess {
110
+ /**
111
+ * @generated from protobuf field: int64 id = 1
112
+ */
113
+ id: number;
114
+ /**
115
+ * @generated from protobuf field: int64 target_id = 3
116
+ */
117
+ targetId: number;
118
+ /**
119
+ * @generated from protobuf field: int64 qualification_id = 4
120
+ */
121
+ qualificationId: number;
122
+ /**
123
+ * @generated from protobuf field: int32 access = 6
124
+ */
125
+ access: number;
126
+ /**
127
+ * @generated from protobuf field: optional bool required = 7
128
+ */
129
+ required?: boolean;
130
+ /**
131
+ * @generated from protobuf field: optional int32 required_access = 8
132
+ */
133
+ requiredAccess?: number;
134
+ }
135
+ // @generated message type with reflection information, may provide speed optimized methods
136
+ class Access$Type extends MessageType<Access> {
137
+ constructor() {
138
+ super("resources.access.Access", [
139
+ { no: 1, name: "jobs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => JobAccess, options: { "buf.validate.field": { repeated: { maxItems: "20" } }, "tagger.tags": "alias:\"job_access\"" } },
140
+ { no: 2, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserAccess, options: { "buf.validate.field": { repeated: { maxItems: "20" } }, "tagger.tags": "alias:\"user_access\"" } },
141
+ { no: 3, name: "qualifications", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => QualificationAccess, options: { "buf.validate.field": { repeated: { maxItems: "20" } }, "tagger.tags": "alias:\"qualification_access\"" } }
142
+ ], { "codegen.dbscanner.dbscanner": { enabled: true } });
143
+ }
144
+ create(value?: PartialMessage<Access>): Access {
145
+ const message = globalThis.Object.create((this.messagePrototype!));
146
+ message.jobs = [];
147
+ message.users = [];
148
+ message.qualifications = [];
149
+ if (value !== undefined)
150
+ reflectionMergePartial<Access>(this, message, value);
151
+ return message;
152
+ }
153
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Access): Access {
154
+ let message = target ?? this.create(), end = reader.pos + length;
155
+ while (reader.pos < end) {
156
+ let [fieldNo, wireType] = reader.tag();
157
+ switch (fieldNo) {
158
+ case /* repeated resources.access.JobAccess jobs */ 1:
159
+ message.jobs.push(JobAccess.internalBinaryRead(reader, reader.uint32(), options));
160
+ break;
161
+ case /* repeated resources.access.UserAccess users */ 2:
162
+ message.users.push(UserAccess.internalBinaryRead(reader, reader.uint32(), options));
163
+ break;
164
+ case /* repeated resources.access.QualificationAccess qualifications */ 3:
165
+ message.qualifications.push(QualificationAccess.internalBinaryRead(reader, reader.uint32(), options));
166
+ break;
167
+ default:
168
+ let u = options.readUnknownField;
169
+ if (u === "throw")
170
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
171
+ let d = reader.skip(wireType);
172
+ if (u !== false)
173
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
174
+ }
175
+ }
176
+ return message;
177
+ }
178
+ internalBinaryWrite(message: Access, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
179
+ /* repeated resources.access.JobAccess jobs = 1; */
180
+ for (let i = 0; i < message.jobs.length; i++)
181
+ JobAccess.internalBinaryWrite(message.jobs[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
182
+ /* repeated resources.access.UserAccess users = 2; */
183
+ for (let i = 0; i < message.users.length; i++)
184
+ UserAccess.internalBinaryWrite(message.users[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
185
+ /* repeated resources.access.QualificationAccess qualifications = 3; */
186
+ for (let i = 0; i < message.qualifications.length; i++)
187
+ QualificationAccess.internalBinaryWrite(message.qualifications[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
188
+ let u = options.writeUnknownFields;
189
+ if (u !== false)
190
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
191
+ return writer;
192
+ }
193
+ }
194
+ /**
195
+ * @generated MessageType for protobuf message resources.access.Access
196
+ */
197
+ export const Access = new Access$Type();
198
+ // @generated message type with reflection information, may provide speed optimized methods
199
+ class JobAccess$Type extends MessageType<JobAccess> {
200
+ constructor() {
201
+ super("resources.access.JobAccess", [
202
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
203
+ { no: 3, name: "target_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
204
+ { no: 4, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
205
+ { no: 5, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
206
+ { no: 6, name: "minimum_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
207
+ { no: 7, name: "job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } } } },
208
+ { no: 8, name: "access", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
209
+ { no: 9, name: "required", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
210
+ { no: 10, name: "required_access", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ }
211
+ ]);
212
+ }
213
+ create(value?: PartialMessage<JobAccess>): JobAccess {
214
+ const message = globalThis.Object.create((this.messagePrototype!));
215
+ message.id = 0;
216
+ message.targetId = 0;
217
+ message.job = "";
218
+ message.minimumGrade = 0;
219
+ message.access = 0;
220
+ if (value !== undefined)
221
+ reflectionMergePartial<JobAccess>(this, message, value);
222
+ return message;
223
+ }
224
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JobAccess): JobAccess {
225
+ let message = target ?? this.create(), end = reader.pos + length;
226
+ while (reader.pos < end) {
227
+ let [fieldNo, wireType] = reader.tag();
228
+ switch (fieldNo) {
229
+ case /* int64 id */ 1:
230
+ message.id = reader.int64().toNumber();
231
+ break;
232
+ case /* int64 target_id */ 3:
233
+ message.targetId = reader.int64().toNumber();
234
+ break;
235
+ case /* string job */ 4:
236
+ message.job = reader.string();
237
+ break;
238
+ case /* optional string job_label */ 5:
239
+ message.jobLabel = reader.string();
240
+ break;
241
+ case /* int32 minimum_grade */ 6:
242
+ message.minimumGrade = reader.int32();
243
+ break;
244
+ case /* optional string job_grade_label */ 7:
245
+ message.jobGradeLabel = reader.string();
246
+ break;
247
+ case /* int32 access */ 8:
248
+ message.access = reader.int32();
249
+ break;
250
+ case /* optional bool required */ 9:
251
+ message.required = reader.bool();
252
+ break;
253
+ case /* optional int32 required_access */ 10:
254
+ message.requiredAccess = reader.int32();
255
+ break;
256
+ default:
257
+ let u = options.readUnknownField;
258
+ if (u === "throw")
259
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
260
+ let d = reader.skip(wireType);
261
+ if (u !== false)
262
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
263
+ }
264
+ }
265
+ return message;
266
+ }
267
+ internalBinaryWrite(message: JobAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
268
+ /* int64 id = 1; */
269
+ if (message.id !== 0)
270
+ writer.tag(1, WireType.Varint).int64(message.id);
271
+ /* int64 target_id = 3; */
272
+ if (message.targetId !== 0)
273
+ writer.tag(3, WireType.Varint).int64(message.targetId);
274
+ /* string job = 4; */
275
+ if (message.job !== "")
276
+ writer.tag(4, WireType.LengthDelimited).string(message.job);
277
+ /* optional string job_label = 5; */
278
+ if (message.jobLabel !== undefined)
279
+ writer.tag(5, WireType.LengthDelimited).string(message.jobLabel);
280
+ /* int32 minimum_grade = 6; */
281
+ if (message.minimumGrade !== 0)
282
+ writer.tag(6, WireType.Varint).int32(message.minimumGrade);
283
+ /* optional string job_grade_label = 7; */
284
+ if (message.jobGradeLabel !== undefined)
285
+ writer.tag(7, WireType.LengthDelimited).string(message.jobGradeLabel);
286
+ /* int32 access = 8; */
287
+ if (message.access !== 0)
288
+ writer.tag(8, WireType.Varint).int32(message.access);
289
+ /* optional bool required = 9; */
290
+ if (message.required !== undefined)
291
+ writer.tag(9, WireType.Varint).bool(message.required);
292
+ /* optional int32 required_access = 10; */
293
+ if (message.requiredAccess !== undefined)
294
+ writer.tag(10, WireType.Varint).int32(message.requiredAccess);
295
+ let u = options.writeUnknownFields;
296
+ if (u !== false)
297
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
298
+ return writer;
299
+ }
300
+ }
301
+ /**
302
+ * @generated MessageType for protobuf message resources.access.JobAccess
303
+ */
304
+ export const JobAccess = new JobAccess$Type();
305
+ // @generated message type with reflection information, may provide speed optimized methods
306
+ class UserAccess$Type extends MessageType<UserAccess> {
307
+ constructor() {
308
+ super("resources.access.UserAccess", [
309
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
310
+ { no: 3, name: "target_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
311
+ { no: 4, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
312
+ { no: 5, name: "user", kind: "message", T: () => UserShort },
313
+ { no: 6, name: "access", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
314
+ { no: 7, name: "required", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
315
+ { no: 8, name: "required_access", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ }
316
+ ]);
317
+ }
318
+ create(value?: PartialMessage<UserAccess>): UserAccess {
319
+ const message = globalThis.Object.create((this.messagePrototype!));
320
+ message.id = 0;
321
+ message.targetId = 0;
322
+ message.userId = 0;
323
+ message.access = 0;
324
+ if (value !== undefined)
325
+ reflectionMergePartial<UserAccess>(this, message, value);
326
+ return message;
327
+ }
328
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserAccess): UserAccess {
329
+ let message = target ?? this.create(), end = reader.pos + length;
330
+ while (reader.pos < end) {
331
+ let [fieldNo, wireType] = reader.tag();
332
+ switch (fieldNo) {
333
+ case /* int64 id */ 1:
334
+ message.id = reader.int64().toNumber();
335
+ break;
336
+ case /* int64 target_id */ 3:
337
+ message.targetId = reader.int64().toNumber();
338
+ break;
339
+ case /* int32 user_id */ 4:
340
+ message.userId = reader.int32();
341
+ break;
342
+ case /* optional resources.users.short.UserShort user */ 5:
343
+ message.user = UserShort.internalBinaryRead(reader, reader.uint32(), options, message.user);
344
+ break;
345
+ case /* int32 access */ 6:
346
+ message.access = reader.int32();
347
+ break;
348
+ case /* optional bool required */ 7:
349
+ message.required = reader.bool();
350
+ break;
351
+ case /* optional int32 required_access */ 8:
352
+ message.requiredAccess = reader.int32();
353
+ break;
354
+ default:
355
+ let u = options.readUnknownField;
356
+ if (u === "throw")
357
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
358
+ let d = reader.skip(wireType);
359
+ if (u !== false)
360
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
361
+ }
362
+ }
363
+ return message;
364
+ }
365
+ internalBinaryWrite(message: UserAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
366
+ /* int64 id = 1; */
367
+ if (message.id !== 0)
368
+ writer.tag(1, WireType.Varint).int64(message.id);
369
+ /* int64 target_id = 3; */
370
+ if (message.targetId !== 0)
371
+ writer.tag(3, WireType.Varint).int64(message.targetId);
372
+ /* int32 user_id = 4; */
373
+ if (message.userId !== 0)
374
+ writer.tag(4, WireType.Varint).int32(message.userId);
375
+ /* optional resources.users.short.UserShort user = 5; */
376
+ if (message.user)
377
+ UserShort.internalBinaryWrite(message.user, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
378
+ /* int32 access = 6; */
379
+ if (message.access !== 0)
380
+ writer.tag(6, WireType.Varint).int32(message.access);
381
+ /* optional bool required = 7; */
382
+ if (message.required !== undefined)
383
+ writer.tag(7, WireType.Varint).bool(message.required);
384
+ /* optional int32 required_access = 8; */
385
+ if (message.requiredAccess !== undefined)
386
+ writer.tag(8, WireType.Varint).int32(message.requiredAccess);
387
+ let u = options.writeUnknownFields;
388
+ if (u !== false)
389
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
390
+ return writer;
391
+ }
392
+ }
393
+ /**
394
+ * @generated MessageType for protobuf message resources.access.UserAccess
395
+ */
396
+ export const UserAccess = new UserAccess$Type();
397
+ // @generated message type with reflection information, may provide speed optimized methods
398
+ class QualificationAccess$Type extends MessageType<QualificationAccess> {
399
+ constructor() {
400
+ super("resources.access.QualificationAccess", [
401
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
402
+ { no: 3, name: "target_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
403
+ { no: 4, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
404
+ { no: 6, name: "access", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
405
+ { no: 7, name: "required", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
406
+ { no: 8, name: "required_access", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ }
407
+ ]);
408
+ }
409
+ create(value?: PartialMessage<QualificationAccess>): QualificationAccess {
410
+ const message = globalThis.Object.create((this.messagePrototype!));
411
+ message.id = 0;
412
+ message.targetId = 0;
413
+ message.qualificationId = 0;
414
+ message.access = 0;
415
+ if (value !== undefined)
416
+ reflectionMergePartial<QualificationAccess>(this, message, value);
417
+ return message;
418
+ }
419
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QualificationAccess): QualificationAccess {
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 id */ 1:
425
+ message.id = reader.int64().toNumber();
426
+ break;
427
+ case /* int64 target_id */ 3:
428
+ message.targetId = reader.int64().toNumber();
429
+ break;
430
+ case /* int64 qualification_id */ 4:
431
+ message.qualificationId = reader.int64().toNumber();
432
+ break;
433
+ case /* int32 access */ 6:
434
+ message.access = reader.int32();
435
+ break;
436
+ case /* optional bool required */ 7:
437
+ message.required = reader.bool();
438
+ break;
439
+ case /* optional int32 required_access */ 8:
440
+ message.requiredAccess = reader.int32();
441
+ break;
442
+ default:
443
+ let u = options.readUnknownField;
444
+ if (u === "throw")
445
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
446
+ let d = reader.skip(wireType);
447
+ if (u !== false)
448
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
449
+ }
450
+ }
451
+ return message;
452
+ }
453
+ internalBinaryWrite(message: QualificationAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
454
+ /* int64 id = 1; */
455
+ if (message.id !== 0)
456
+ writer.tag(1, WireType.Varint).int64(message.id);
457
+ /* int64 target_id = 3; */
458
+ if (message.targetId !== 0)
459
+ writer.tag(3, WireType.Varint).int64(message.targetId);
460
+ /* int64 qualification_id = 4; */
461
+ if (message.qualificationId !== 0)
462
+ writer.tag(4, WireType.Varint).int64(message.qualificationId);
463
+ /* int32 access = 6; */
464
+ if (message.access !== 0)
465
+ writer.tag(6, WireType.Varint).int32(message.access);
466
+ /* optional bool required = 7; */
467
+ if (message.required !== undefined)
468
+ writer.tag(7, WireType.Varint).bool(message.required);
469
+ /* optional int32 required_access = 8; */
470
+ if (message.requiredAccess !== undefined)
471
+ writer.tag(8, WireType.Varint).int32(message.requiredAccess);
472
+ let u = options.writeUnknownFields;
473
+ if (u !== false)
474
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
475
+ return writer;
476
+ }
477
+ }
478
+ /**
479
+ * @generated MessageType for protobuf message resources.access.QualificationAccess
480
+ */
481
+ export const QualificationAccess = new QualificationAccess$Type();
@@ -31,27 +31,31 @@ export interface Account {
31
31
  */
32
32
  updatedAt?: Timestamp;
33
33
  /**
34
- * @generated from protobuf field: bool enabled = 4
34
+ * @generated from protobuf field: optional resources.timestamp.Timestamp deleted_at = 4
35
+ */
36
+ deletedAt?: Timestamp;
37
+ /**
38
+ * @generated from protobuf field: bool enabled = 5
35
39
  */
36
40
  enabled: boolean;
37
41
  /**
38
- * @generated from protobuf field: string username = 5
42
+ * @generated from protobuf field: string username = 6
39
43
  */
40
44
  username: string;
41
45
  /**
42
- * @generated from protobuf field: string license = 6
46
+ * @generated from protobuf field: string license = 7
43
47
  */
44
48
  license: string;
45
49
  /**
46
- * @generated from protobuf field: optional resources.accounts.AccountGroups groups = 7
50
+ * @generated from protobuf field: optional resources.accounts.AccountGroups groups = 8
47
51
  */
48
52
  groups?: AccountGroups;
49
53
  /**
50
- * @generated from protobuf field: optional int32 last_char = 8
54
+ * @generated from protobuf field: optional int32 last_char = 9
51
55
  */
52
56
  lastChar?: number;
53
57
  /**
54
- * @generated from protobuf field: repeated resources.accounts.oauth2.OAuth2Account oauth2_accounts = 9
58
+ * @generated from protobuf field: repeated resources.accounts.oauth2.OAuth2Account oauth2_accounts = 10
55
59
  */
56
60
  oauth2Accounts: OAuth2Account[];
57
61
  }
@@ -88,12 +92,13 @@ class Account$Type extends MessageType<Account> {
88
92
  { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "tagger.tags": "sql:\"primary_key\"" } },
89
93
  { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
90
94
  { no: 3, name: "updated_at", kind: "message", T: () => Timestamp },
91
- { no: 4, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
92
- { no: 5, name: "username", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "24" } } } },
93
- { no: 6, name: "license", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
94
- { no: 7, name: "groups", kind: "message", T: () => AccountGroups },
95
- { no: 8, name: "last_char", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
96
- { no: 9, name: "oauth2_accounts", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => OAuth2Account, options: { "buf.validate.field": { repeated: { maxItems: "10" } }, "tagger.tags": "alias:\"oauth2_account\"" } }
95
+ { no: 4, name: "deleted_at", kind: "message", T: () => Timestamp },
96
+ { no: 5, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
97
+ { no: 6, name: "username", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "24" } } } },
98
+ { no: 7, name: "license", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
99
+ { no: 8, name: "groups", kind: "message", T: () => AccountGroups },
100
+ { no: 9, name: "last_char", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
101
+ { no: 10, name: "oauth2_accounts", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => OAuth2Account, options: { "buf.validate.field": { repeated: { maxItems: "10" } }, "tagger.tags": "alias:\"oauth2_account\"" } }
97
102
  ]);
98
103
  }
99
104
  create(value?: PartialMessage<Account>): Account {
@@ -121,22 +126,25 @@ class Account$Type extends MessageType<Account> {
121
126
  case /* optional resources.timestamp.Timestamp updated_at */ 3:
122
127
  message.updatedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.updatedAt);
123
128
  break;
124
- case /* bool enabled */ 4:
129
+ case /* optional resources.timestamp.Timestamp deleted_at */ 4:
130
+ message.deletedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.deletedAt);
131
+ break;
132
+ case /* bool enabled */ 5:
125
133
  message.enabled = reader.bool();
126
134
  break;
127
- case /* string username */ 5:
135
+ case /* string username */ 6:
128
136
  message.username = reader.string();
129
137
  break;
130
- case /* string license */ 6:
138
+ case /* string license */ 7:
131
139
  message.license = reader.string();
132
140
  break;
133
- case /* optional resources.accounts.AccountGroups groups */ 7:
141
+ case /* optional resources.accounts.AccountGroups groups */ 8:
134
142
  message.groups = AccountGroups.internalBinaryRead(reader, reader.uint32(), options, message.groups);
135
143
  break;
136
- case /* optional int32 last_char */ 8:
144
+ case /* optional int32 last_char */ 9:
137
145
  message.lastChar = reader.int32();
138
146
  break;
139
- case /* repeated resources.accounts.oauth2.OAuth2Account oauth2_accounts */ 9:
147
+ case /* repeated resources.accounts.oauth2.OAuth2Account oauth2_accounts */ 10:
140
148
  message.oauth2Accounts.push(OAuth2Account.internalBinaryRead(reader, reader.uint32(), options));
141
149
  break;
142
150
  default:
@@ -160,24 +168,27 @@ class Account$Type extends MessageType<Account> {
160
168
  /* optional resources.timestamp.Timestamp updated_at = 3; */
161
169
  if (message.updatedAt)
162
170
  Timestamp.internalBinaryWrite(message.updatedAt, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
163
- /* bool enabled = 4; */
171
+ /* optional resources.timestamp.Timestamp deleted_at = 4; */
172
+ if (message.deletedAt)
173
+ Timestamp.internalBinaryWrite(message.deletedAt, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
174
+ /* bool enabled = 5; */
164
175
  if (message.enabled !== false)
165
- writer.tag(4, WireType.Varint).bool(message.enabled);
166
- /* string username = 5; */
176
+ writer.tag(5, WireType.Varint).bool(message.enabled);
177
+ /* string username = 6; */
167
178
  if (message.username !== "")
168
- writer.tag(5, WireType.LengthDelimited).string(message.username);
169
- /* string license = 6; */
179
+ writer.tag(6, WireType.LengthDelimited).string(message.username);
180
+ /* string license = 7; */
170
181
  if (message.license !== "")
171
- writer.tag(6, WireType.LengthDelimited).string(message.license);
172
- /* optional resources.accounts.AccountGroups groups = 7; */
182
+ writer.tag(7, WireType.LengthDelimited).string(message.license);
183
+ /* optional resources.accounts.AccountGroups groups = 8; */
173
184
  if (message.groups)
174
- AccountGroups.internalBinaryWrite(message.groups, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
175
- /* optional int32 last_char = 8; */
185
+ AccountGroups.internalBinaryWrite(message.groups, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
186
+ /* optional int32 last_char = 9; */
176
187
  if (message.lastChar !== undefined)
177
- writer.tag(8, WireType.Varint).int32(message.lastChar);
178
- /* repeated resources.accounts.oauth2.OAuth2Account oauth2_accounts = 9; */
188
+ writer.tag(9, WireType.Varint).int32(message.lastChar);
189
+ /* repeated resources.accounts.oauth2.OAuth2Account oauth2_accounts = 10; */
179
190
  for (let i = 0; i < message.oauth2Accounts.length; i++)
180
- OAuth2Account.internalBinaryWrite(message.oauth2Accounts[i], writer.tag(9, WireType.LengthDelimited).fork(), options).join();
191
+ OAuth2Account.internalBinaryWrite(message.oauth2Accounts[i], writer.tag(10, WireType.LengthDelimited).fork(), options).join();
181
192
  let u = options.writeUnknownFields;
182
193
  if (u !== false)
183
194
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -112,7 +112,11 @@ export enum EventAction {
112
112
  /**
113
113
  * @generated from protobuf enum value: EVENT_ACTION_DELETED = 5;
114
114
  */
115
- DELETED = 5
115
+ DELETED = 5,
116
+ /**
117
+ * @generated from protobuf enum value: EVENT_ACTION_RESTORED = 6;
118
+ */
119
+ RESTORED = 6
116
120
  }
117
121
  /**
118
122
  * @generated from protobuf enum resources.audit.EventResult