@fivenet-app/gen 2026.8.0 → 2026.10.2

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 (83) hide show
  1. package/LICENSE +201 -0
  2. package/clients.ts +12 -0
  3. package/codegen/perms/perms.ts +331 -2
  4. package/google/protobuf/any.ts +47 -103
  5. package/google/protobuf/descriptor.ts +28 -29
  6. package/google/protobuf/struct.ts +33 -22
  7. package/google/protobuf/timestamp.ts +3 -3
  8. package/package.json +2 -2
  9. package/perms.ts +58 -17
  10. package/resources/calendar/calendar.ts +11 -0
  11. package/resources/calendar/entries/entries.ts +23 -0
  12. package/resources/centrum/dispatches/dispatches.ts +214 -21
  13. package/resources/centrum/units/units.ts +212 -5
  14. package/resources/citizens/labels/access.ts +10 -6
  15. package/resources/cron/cron.ts +44 -3
  16. package/resources/dbsync/state.ts +192 -0
  17. package/resources/documents/stamps/access.ts +25 -0
  18. package/resources/documents/stamps/stamp.ts +0 -21
  19. package/resources/documents/templates/templates.ts +63 -61
  20. package/resources/documents/workflow/workflow.ts +61 -1
  21. package/resources/file/file.ts +3 -3
  22. package/resources/file/filestore.ts +26 -10
  23. package/resources/jobs/colleagues/activity/activity.ts +50 -8
  24. package/resources/jobs/colleagues/colleagues.ts +14 -1
  25. package/resources/jobs/groups/access/access.ts +29 -0
  26. package/resources/jobs/groups/activity.ts +332 -0
  27. package/resources/jobs/groups/group.ts +1666 -0
  28. package/resources/jobs/groups/short/group_member_short.ts +129 -0
  29. package/resources/jobs/job_asset.ts +116 -0
  30. package/resources/jobs/user_selector.ts +170 -0
  31. package/resources/notifications/clientview/clientview.ts +5 -1
  32. package/resources/notifications/events/events.ts +35 -1
  33. package/resources/notifications/notifications.ts +322 -2
  34. package/resources/permissions/attributes/attributes.ts +164 -2
  35. package/resources/permissions/authorization/authorization.ts +86 -0
  36. package/resources/permissions/permissions/permissions.ts +16 -1
  37. package/resources/properties/properties.ts +1648 -0
  38. package/resources/qualifications/activity/activity.ts +328 -0
  39. package/resources/qualifications/exam/exam.ts +108 -4
  40. package/resources/qualifications/qualifications.ts +36 -2
  41. package/resources/settings/config.ts +3 -3
  42. package/resources/settings/status.ts +197 -105
  43. package/resources/sync/activity/activity.ts +4 -4
  44. package/resources/sync/data/data.ts +16 -4
  45. package/resources/users/activity/activity.ts +220 -3
  46. package/resources/users/props/props.ts +13 -1
  47. package/resources/users/user.ts +13 -1
  48. package/resources/vehicles/activity/activity.ts +222 -3
  49. package/resources/vehicles/props/props.ts +13 -1
  50. package/resources/vehicles/vehicles.ts +13 -1
  51. package/services/auth/auth.ts +61 -67
  52. package/services/calendar/calendar.ts +1 -1
  53. package/services/calendar/entries.ts +3 -3
  54. package/services/centrum/centrum.ts +103 -1
  55. package/services/centrum/dispatches.ts +25 -1
  56. package/services/centrum/units.ts +28 -4
  57. package/services/citizens/citizens.client.ts +49 -0
  58. package/services/citizens/citizens.ts +384 -7
  59. package/services/completor/completor.ts +2 -2
  60. package/services/documents/approval.ts +2 -2
  61. package/services/documents/documents.ts +10 -9
  62. package/services/documents/templates.ts +24 -13
  63. package/services/jobs/colleagues.client.ts +34 -8
  64. package/services/jobs/colleagues.ts +289 -75
  65. package/services/jobs/conduct.ts +12 -19
  66. package/services/jobs/groups.client.ts +311 -0
  67. package/services/jobs/groups.ts +3654 -1
  68. package/services/jobs/timeclock.ts +30 -27
  69. package/services/notifications/notifications.client.ts +40 -1
  70. package/services/notifications/notifications.ts +483 -3
  71. package/services/qualifications/qualifications.client.ts +20 -7
  72. package/services/qualifications/qualifications.ts +291 -8
  73. package/services/settings/job_assets.client.ts +105 -0
  74. package/services/settings/job_assets.ts +373 -0
  75. package/services/settings/properties.client.ts +194 -0
  76. package/services/settings/properties.ts +1555 -0
  77. package/services/settings/settings.ts +1 -1
  78. package/services/settings/system.ts +29 -9
  79. package/services/sync/sync.client.ts +69 -33
  80. package/services/sync/sync.ts +557 -18
  81. package/services/vehicles/vehicles.client.ts +52 -0
  82. package/services/vehicles/vehicles.ts +386 -8
  83. package/svcs.ts +87 -1
@@ -81,6 +81,26 @@ export interface WorkflowCronData {
81
81
  * @generated from protobuf field: int64 last_doc_id = 1
82
82
  */
83
83
  lastDocId: number;
84
+ /**
85
+ * @generated from protobuf field: int64 processed_rows = 2
86
+ */
87
+ processedRows: number;
88
+ /**
89
+ * @generated from protobuf field: int64 reminders_sent = 3
90
+ */
91
+ remindersSent: number;
92
+ /**
93
+ * @generated from protobuf field: int64 auto_closed_rows = 4
94
+ */
95
+ autoClosedRows: number;
96
+ /**
97
+ * @generated from protobuf field: int64 deleted_rows = 5
98
+ */
99
+ deletedRows: number;
100
+ /**
101
+ * @generated from protobuf field: int64 updated_rows = 6
102
+ */
103
+ updatedRows: number;
84
104
  }
85
105
  /**
86
106
  * @generated from protobuf message resources.documents.workflow.WorkflowState
@@ -380,12 +400,22 @@ export const AutoCloseSettings = new AutoCloseSettings$Type();
380
400
  class WorkflowCronData$Type extends MessageType<WorkflowCronData> {
381
401
  constructor() {
382
402
  super("resources.documents.workflow.WorkflowCronData", [
383
- { no: 1, name: "last_doc_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
403
+ { no: 1, name: "last_doc_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
404
+ { no: 2, name: "processed_rows", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
405
+ { no: 3, name: "reminders_sent", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
406
+ { no: 4, name: "auto_closed_rows", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
407
+ { no: 5, name: "deleted_rows", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
408
+ { no: 6, name: "updated_rows", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
384
409
  ]);
385
410
  }
386
411
  create(value?: PartialMessage<WorkflowCronData>): WorkflowCronData {
387
412
  const message = globalThis.Object.create((this.messagePrototype!));
388
413
  message.lastDocId = 0;
414
+ message.processedRows = 0;
415
+ message.remindersSent = 0;
416
+ message.autoClosedRows = 0;
417
+ message.deletedRows = 0;
418
+ message.updatedRows = 0;
389
419
  if (value !== undefined)
390
420
  reflectionMergePartial<WorkflowCronData>(this, message, value);
391
421
  return message;
@@ -398,6 +428,21 @@ class WorkflowCronData$Type extends MessageType<WorkflowCronData> {
398
428
  case /* int64 last_doc_id */ 1:
399
429
  message.lastDocId = reader.int64().toNumber();
400
430
  break;
431
+ case /* int64 processed_rows */ 2:
432
+ message.processedRows = reader.int64().toNumber();
433
+ break;
434
+ case /* int64 reminders_sent */ 3:
435
+ message.remindersSent = reader.int64().toNumber();
436
+ break;
437
+ case /* int64 auto_closed_rows */ 4:
438
+ message.autoClosedRows = reader.int64().toNumber();
439
+ break;
440
+ case /* int64 deleted_rows */ 5:
441
+ message.deletedRows = reader.int64().toNumber();
442
+ break;
443
+ case /* int64 updated_rows */ 6:
444
+ message.updatedRows = reader.int64().toNumber();
445
+ break;
401
446
  default:
402
447
  let u = options.readUnknownField;
403
448
  if (u === "throw")
@@ -413,6 +458,21 @@ class WorkflowCronData$Type extends MessageType<WorkflowCronData> {
413
458
  /* int64 last_doc_id = 1; */
414
459
  if (message.lastDocId !== 0)
415
460
  writer.tag(1, WireType.Varint).int64(message.lastDocId);
461
+ /* int64 processed_rows = 2; */
462
+ if (message.processedRows !== 0)
463
+ writer.tag(2, WireType.Varint).int64(message.processedRows);
464
+ /* int64 reminders_sent = 3; */
465
+ if (message.remindersSent !== 0)
466
+ writer.tag(3, WireType.Varint).int64(message.remindersSent);
467
+ /* int64 auto_closed_rows = 4; */
468
+ if (message.autoClosedRows !== 0)
469
+ writer.tag(4, WireType.Varint).int64(message.autoClosedRows);
470
+ /* int64 deleted_rows = 5; */
471
+ if (message.deletedRows !== 0)
472
+ writer.tag(5, WireType.Varint).int64(message.deletedRows);
473
+ /* int64 updated_rows = 6; */
474
+ if (message.updatedRows !== 0)
475
+ writer.tag(6, WireType.Varint).int64(message.updatedRows);
416
476
  let u = options.writeUnknownFields;
417
477
  if (u !== false)
418
478
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -56,10 +56,10 @@ class File$Type extends MessageType<File> {
56
56
  super("resources.file.File", [
57
57
  { no: 1, name: "parent_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
58
58
  { no: 2, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
59
- { no: 3, name: "file_path", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
59
+ { no: 3, name: "file_path", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "512" } } } },
60
60
  { no: 4, name: "created_at", kind: "message", T: () => Timestamp },
61
- { no: 5, name: "byte_size", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
62
- { no: 6, name: "content_type", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
61
+ { no: 5, name: "byte_size", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gte: "0" } } } },
62
+ { no: 6, name: "content_type", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "127" } } } },
63
63
  { no: 7, name: "meta", kind: "message", T: () => FileMeta },
64
64
  { no: 8, name: "is_dir", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
65
65
  ]);
@@ -46,9 +46,11 @@ export interface UploadMeta {
46
46
  */
47
47
  parentId: number;
48
48
  /**
49
+ * Namespace is a logical grouping of files, e.g. "documents", "wiki", "avatars", etc.
50
+ *
49
51
  * @generated from protobuf field: string namespace = 2
50
52
  */
51
- namespace: string; // "documents", "wiki", …
53
+ namespace: string;
52
54
  /**
53
55
  * @generated from protobuf field: string original_name = 3
54
56
  */
@@ -60,11 +62,17 @@ export interface UploadMeta {
60
62
  /**
61
63
  * @generated from protobuf field: int64 size = 5
62
64
  */
63
- size: number; // Size in bytes
65
+ size: number; // Size in bytes; the largest configured upload limit is 5 MiB
64
66
  /**
65
67
  * @generated from protobuf field: string reason = 6
66
68
  */
67
69
  reason: string;
70
+ /**
71
+ * String parent key for resources whose natural identifier is not numeric.
72
+ *
73
+ * @generated from protobuf field: string parent_key = 7
74
+ */
75
+ parentKey: string;
68
76
  }
69
77
  /**
70
78
  * @generated from protobuf message resources.file.UploadFileResponse
@@ -166,11 +174,12 @@ class UploadMeta$Type extends MessageType<UploadMeta> {
166
174
  constructor() {
167
175
  super("resources.file.UploadMeta", [
168
176
  { no: 1, name: "parent_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
169
- { no: 2, name: "namespace", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
170
- { no: 3, name: "original_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } } } },
171
- { no: 4, name: "content_type", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
172
- { no: 5, name: "size", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
173
- { no: 6, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", string: { minLen: "3", maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } }
177
+ { no: 2, name: "namespace", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "1", maxLen: "64", pattern: "^[a-zA-Z0-9_-]+$" } } } },
178
+ { no: 3, name: "original_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "1", maxLen: "255" } } } },
179
+ { no: 4, name: "content_type", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "127" } } } },
180
+ { no: 5, name: "size", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { lte: "5242880", gt: "0" } } } },
181
+ { no: 6, name: "reason", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", string: { minLen: "3", maxLen: "255" } }, "codegen.sanitizer.sanitizer": { enabled: true } } },
182
+ { no: 7, name: "parent_key", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } }
174
183
  ]);
175
184
  }
176
185
  create(value?: PartialMessage<UploadMeta>): UploadMeta {
@@ -181,6 +190,7 @@ class UploadMeta$Type extends MessageType<UploadMeta> {
181
190
  message.contentType = "";
182
191
  message.size = 0;
183
192
  message.reason = "";
193
+ message.parentKey = "";
184
194
  if (value !== undefined)
185
195
  reflectionMergePartial<UploadMeta>(this, message, value);
186
196
  return message;
@@ -208,6 +218,9 @@ class UploadMeta$Type extends MessageType<UploadMeta> {
208
218
  case /* string reason */ 6:
209
219
  message.reason = reader.string();
210
220
  break;
221
+ case /* string parent_key */ 7:
222
+ message.parentKey = reader.string();
223
+ break;
211
224
  default:
212
225
  let u = options.readUnknownField;
213
226
  if (u === "throw")
@@ -238,6 +251,9 @@ class UploadMeta$Type extends MessageType<UploadMeta> {
238
251
  /* string reason = 6; */
239
252
  if (message.reason !== "")
240
253
  writer.tag(6, WireType.LengthDelimited).string(message.reason);
254
+ /* string parent_key = 7; */
255
+ if (message.parentKey !== "")
256
+ writer.tag(7, WireType.LengthDelimited).string(message.parentKey);
241
257
  let u = options.writeUnknownFields;
242
258
  if (u !== false)
243
259
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -252,9 +268,9 @@ export const UploadMeta = new UploadMeta$Type();
252
268
  class UploadFileResponse$Type extends MessageType<UploadFileResponse> {
253
269
  constructor() {
254
270
  super("resources.file.UploadFileResponse", [
255
- { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
256
- { no: 2, name: "url", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
257
- { no: 3, name: "file", kind: "message", T: () => File }
271
+ { no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gt: "0" } } } },
272
+ { no: 2, name: "url", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "512" } } } },
273
+ { no: 3, name: "file", kind: "message", T: () => File, options: { "buf.validate.field": { required: true } } }
258
274
  ]);
259
275
  }
260
276
  create(value?: PartialMessage<UploadFileResponse>): UploadFileResponse {
@@ -125,13 +125,23 @@ export interface GradeChange {
125
125
  */
126
126
  export interface LabelsChange {
127
127
  /**
128
- * @generated from protobuf field: repeated resources.jobs.labels.Label added = 1
128
+ * @deprecated
129
+ * @generated from protobuf field: repeated resources.jobs.labels.Label added = 1 [deprecated = true]
129
130
  */
130
131
  added: Label[];
131
132
  /**
132
- * @generated from protobuf field: repeated resources.jobs.labels.Label removed = 2
133
+ * @deprecated
134
+ * @generated from protobuf field: repeated resources.jobs.labels.Label removed = 2 [deprecated = true]
133
135
  */
134
- removed: Label[]; // TODO switch to storing label ids instead of the whole label (resolve labels on client-side)
136
+ removed: Label[];
137
+ /**
138
+ * @generated from protobuf field: repeated int64 added_ids = 3
139
+ */
140
+ addedIds: number[];
141
+ /**
142
+ * @generated from protobuf field: repeated int64 removed_ids = 4
143
+ */
144
+ removedIds: number[];
135
145
  }
136
146
  /**
137
147
  * @generated from protobuf message resources.jobs.colleagues.activity.NameChange
@@ -494,13 +504,17 @@ class LabelsChange$Type extends MessageType<LabelsChange> {
494
504
  constructor() {
495
505
  super("resources.jobs.colleagues.activity.LabelsChange", [
496
506
  { no: 1, name: "added", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Label },
497
- { no: 2, name: "removed", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Label }
507
+ { no: 2, name: "removed", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Label },
508
+ { no: 3, name: "added_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
509
+ { no: 4, name: "removed_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
498
510
  ]);
499
511
  }
500
512
  create(value?: PartialMessage<LabelsChange>): LabelsChange {
501
513
  const message = globalThis.Object.create((this.messagePrototype!));
502
514
  message.added = [];
503
515
  message.removed = [];
516
+ message.addedIds = [];
517
+ message.removedIds = [];
504
518
  if (value !== undefined)
505
519
  reflectionMergePartial<LabelsChange>(this, message, value);
506
520
  return message;
@@ -510,12 +524,26 @@ class LabelsChange$Type extends MessageType<LabelsChange> {
510
524
  while (reader.pos < end) {
511
525
  let [fieldNo, wireType] = reader.tag();
512
526
  switch (fieldNo) {
513
- case /* repeated resources.jobs.labels.Label added */ 1:
527
+ case /* repeated resources.jobs.labels.Label added = 1 [deprecated = true] */ 1:
514
528
  message.added.push(Label.internalBinaryRead(reader, reader.uint32(), options));
515
529
  break;
516
- case /* repeated resources.jobs.labels.Label removed */ 2:
530
+ case /* repeated resources.jobs.labels.Label removed = 2 [deprecated = true] */ 2:
517
531
  message.removed.push(Label.internalBinaryRead(reader, reader.uint32(), options));
518
532
  break;
533
+ case /* repeated int64 added_ids */ 3:
534
+ if (wireType === WireType.LengthDelimited)
535
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
536
+ message.addedIds.push(reader.int64().toNumber());
537
+ else
538
+ message.addedIds.push(reader.int64().toNumber());
539
+ break;
540
+ case /* repeated int64 removed_ids */ 4:
541
+ if (wireType === WireType.LengthDelimited)
542
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
543
+ message.removedIds.push(reader.int64().toNumber());
544
+ else
545
+ message.removedIds.push(reader.int64().toNumber());
546
+ break;
519
547
  default:
520
548
  let u = options.readUnknownField;
521
549
  if (u === "throw")
@@ -528,12 +556,26 @@ class LabelsChange$Type extends MessageType<LabelsChange> {
528
556
  return message;
529
557
  }
530
558
  internalBinaryWrite(message: LabelsChange, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
531
- /* repeated resources.jobs.labels.Label added = 1; */
559
+ /* repeated resources.jobs.labels.Label added = 1 [deprecated = true]; */
532
560
  for (let i = 0; i < message.added.length; i++)
533
561
  Label.internalBinaryWrite(message.added[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
534
- /* repeated resources.jobs.labels.Label removed = 2; */
562
+ /* repeated resources.jobs.labels.Label removed = 2 [deprecated = true]; */
535
563
  for (let i = 0; i < message.removed.length; i++)
536
564
  Label.internalBinaryWrite(message.removed[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
565
+ /* repeated int64 added_ids = 3; */
566
+ if (message.addedIds.length) {
567
+ writer.tag(3, WireType.LengthDelimited).fork();
568
+ for (let i = 0; i < message.addedIds.length; i++)
569
+ writer.int64(message.addedIds[i]);
570
+ writer.join();
571
+ }
572
+ /* repeated int64 removed_ids = 4; */
573
+ if (message.removedIds.length) {
574
+ writer.tag(4, WireType.LengthDelimited).fork();
575
+ for (let i = 0; i < message.removedIds.length; i++)
576
+ writer.int64(message.removedIds[i]);
577
+ writer.join();
578
+ }
537
579
  let u = options.writeUnknownFields;
538
580
  if (u !== false)
539
581
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -11,6 +11,7 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
11
  import type { PartialMessage } from "@protobuf-ts/runtime";
12
12
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
13
  import { MessageType } from "@protobuf-ts/runtime";
14
+ import { GroupMemberShort } from "../groups/short/group_member_short";
14
15
  import { Labels } from "../labels/labels";
15
16
  import { Timestamp } from "../../timestamp/timestamp";
16
17
  /**
@@ -110,6 +111,10 @@ export interface ColleagueProps {
110
111
  * @generated from protobuf field: optional string name_suffix = 9
111
112
  */
112
113
  nameSuffix?: string;
114
+ /**
115
+ * @generated from protobuf field: repeated resources.jobs.groups.short.GroupMemberShort groups = 10
116
+ */
117
+ groups: GroupMemberShort[];
113
118
  }
114
119
  // @generated message type with reflection information, may provide speed optimized methods
115
120
  class Colleague$Type extends MessageType<Colleague> {
@@ -259,13 +264,15 @@ class ColleagueProps$Type extends MessageType<ColleagueProps> {
259
264
  { no: 6, name: "note", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
260
265
  { no: 7, name: "labels", kind: "message", T: () => Labels },
261
266
  { no: 8, name: "name_prefix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "12" } } } },
262
- { no: 9, name: "name_suffix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "12" } } } }
267
+ { no: 9, name: "name_suffix", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "12" } } } },
268
+ { no: 10, name: "groups", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => GroupMemberShort }
263
269
  ]);
264
270
  }
265
271
  create(value?: PartialMessage<ColleagueProps>): ColleagueProps {
266
272
  const message = globalThis.Object.create((this.messagePrototype!));
267
273
  message.userId = 0;
268
274
  message.job = "";
275
+ message.groups = [];
269
276
  if (value !== undefined)
270
277
  reflectionMergePartial<ColleagueProps>(this, message, value);
271
278
  return message;
@@ -302,6 +309,9 @@ class ColleagueProps$Type extends MessageType<ColleagueProps> {
302
309
  case /* optional string name_suffix */ 9:
303
310
  message.nameSuffix = reader.string();
304
311
  break;
312
+ case /* repeated resources.jobs.groups.short.GroupMemberShort groups */ 10:
313
+ message.groups.push(GroupMemberShort.internalBinaryRead(reader, reader.uint32(), options));
314
+ break;
305
315
  default:
306
316
  let u = options.readUnknownField;
307
317
  if (u === "throw")
@@ -341,6 +351,9 @@ class ColleagueProps$Type extends MessageType<ColleagueProps> {
341
351
  /* optional string name_suffix = 9; */
342
352
  if (message.nameSuffix !== undefined)
343
353
  writer.tag(9, WireType.LengthDelimited).string(message.nameSuffix);
354
+ /* repeated resources.jobs.groups.short.GroupMemberShort groups = 10; */
355
+ for (let i = 0; i < message.groups.length; i++)
356
+ GroupMemberShort.internalBinaryWrite(message.groups[i], writer.tag(10, WireType.LengthDelimited).fork(), options).join();
344
357
  let u = options.writeUnknownFields;
345
358
  if (u !== false)
346
359
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -0,0 +1,29 @@
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/jobs/groups/access/access.proto" (package "resources.jobs.groups.access", syntax proto3)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ /**
6
+ * @generated from protobuf enum resources.jobs.groups.access.AccessLevel
7
+ */
8
+ export enum AccessLevel {
9
+ /**
10
+ * @generated from protobuf enum value: ACCESS_LEVEL_UNSPECIFIED = 0;
11
+ */
12
+ UNSPECIFIED = 0,
13
+ /**
14
+ * @generated from protobuf enum value: ACCESS_LEVEL_BLOCKED = 1;
15
+ */
16
+ BLOCKED = 1,
17
+ /**
18
+ * @generated from protobuf enum value: ACCESS_LEVEL_VIEW = 2;
19
+ */
20
+ VIEW = 2,
21
+ /**
22
+ * @generated from protobuf enum value: ACCESS_LEVEL_EDIT = 4;
23
+ */
24
+ EDIT = 4,
25
+ /**
26
+ * @generated from protobuf enum value: ACCESS_LEVEL_MANAGE = 5;
27
+ */
28
+ MANAGE = 5
29
+ }