@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
@@ -11,6 +11,8 @@ 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 { PropertyValue } from "../../properties/properties";
15
+ import { File } from "../../file/file";
14
16
  import { DocRelation } from "../../documents/relations/relations";
15
17
  import { Label } from "../../citizens/labels/labels";
16
18
  import { License } from "../../citizens/licenses/licenses";
@@ -142,6 +144,18 @@ export interface UserActivityData {
142
144
  * @generated from protobuf field: resources.users.activity.FineChange fine_change = 10
143
145
  */
144
146
  fineChange: FineChange;
147
+ } | {
148
+ oneofKind: "propertyChange";
149
+ /**
150
+ * @generated from protobuf field: resources.users.activity.PropertyChange property_change = 11
151
+ */
152
+ propertyChange: PropertyChange;
153
+ } | {
154
+ oneofKind: "fileChange";
155
+ /**
156
+ * @generated from protobuf field: resources.users.activity.FileChange file_change = 12
157
+ */
158
+ fileChange: FileChange;
145
159
  } | {
146
160
  oneofKind: undefined;
147
161
  };
@@ -186,6 +200,10 @@ export interface WantedChange {
186
200
  * @generated from protobuf field: bool auto = 2
187
201
  */
188
202
  auto: boolean;
203
+ /**
204
+ * @generated from protobuf field: optional resources.timestamp.Timestamp wanted_till = 3
205
+ */
206
+ wantedTill?: Timestamp;
189
207
  }
190
208
  /**
191
209
  * @generated from protobuf message resources.users.activity.TrafficInfractionPointsChange
@@ -317,6 +335,43 @@ export interface FineChange {
317
335
  */
318
336
  amount: number;
319
337
  }
338
+ /**
339
+ * @generated from protobuf message resources.users.activity.FileChange
340
+ */
341
+ export interface FileChange {
342
+ /**
343
+ * @generated from protobuf field: bool added = 1
344
+ */
345
+ added: boolean;
346
+ /**
347
+ * @generated from protobuf field: string kind = 2
348
+ */
349
+ kind: string;
350
+ /**
351
+ * @generated from protobuf field: resources.file.File file = 3
352
+ */
353
+ file?: File;
354
+ }
355
+ /**
356
+ * PropertyChange is used only for custom, generic properties. Managed system
357
+ * properties retain their dedicated activity types and richer payloads.
358
+ *
359
+ * @generated from protobuf message resources.users.activity.PropertyChange
360
+ */
361
+ export interface PropertyChange {
362
+ /**
363
+ * @generated from protobuf field: string key = 1
364
+ */
365
+ key: string;
366
+ /**
367
+ * @generated from protobuf field: optional resources.properties.PropertyValue old_value = 2
368
+ */
369
+ oldValue?: PropertyValue;
370
+ /**
371
+ * @generated from protobuf field: optional resources.properties.PropertyValue new_value = 3
372
+ */
373
+ newValue?: PropertyValue;
374
+ }
320
375
  /**
321
376
  * @generated from protobuf enum resources.users.activity.UserActivityType
322
377
  */
@@ -370,7 +425,19 @@ export enum UserActivityType {
370
425
  /**
371
426
  * @generated from protobuf enum value: USER_ACTIVITY_TYPE_FINE = 13;
372
427
  */
373
- FINE = 13
428
+ FINE = 13,
429
+ /**
430
+ * File-backed property value change.
431
+ *
432
+ * @generated from protobuf enum value: USER_ACTIVITY_TYPE_FILE = 14;
433
+ */
434
+ FILE = 14,
435
+ /**
436
+ * Generic custom property value change.
437
+ *
438
+ * @generated from protobuf enum value: USER_ACTIVITY_TYPE_PROPERTY = 15;
439
+ */
440
+ PROPERTY = 15
374
441
  }
375
442
  // @generated message type with reflection information, may provide speed optimized methods
376
443
  class UserActivity$Type extends MessageType<UserActivity> {
@@ -515,7 +582,9 @@ class UserActivityData$Type extends MessageType<UserActivityData> {
515
582
  { no: 7, name: "job_change", kind: "message", oneof: "data", T: () => JobChange },
516
583
  { no: 8, name: "document_relation", kind: "message", oneof: "data", T: () => CitizenDocumentRelation },
517
584
  { no: 9, name: "jail_change", kind: "message", oneof: "data", T: () => JailChange },
518
- { no: 10, name: "fine_change", kind: "message", oneof: "data", T: () => FineChange }
585
+ { no: 10, name: "fine_change", kind: "message", oneof: "data", T: () => FineChange },
586
+ { no: 11, name: "property_change", kind: "message", oneof: "data", T: () => PropertyChange },
587
+ { no: 12, name: "file_change", kind: "message", oneof: "data", T: () => FileChange }
519
588
  ], { "codegen.dbscanner.dbscanner": { enabled: true } });
520
589
  }
521
590
  create(value?: PartialMessage<UserActivityData>): UserActivityData {
@@ -590,6 +659,18 @@ class UserActivityData$Type extends MessageType<UserActivityData> {
590
659
  fineChange: FineChange.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).fineChange)
591
660
  };
592
661
  break;
662
+ case /* resources.users.activity.PropertyChange property_change */ 11:
663
+ message.data = {
664
+ oneofKind: "propertyChange",
665
+ propertyChange: PropertyChange.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).propertyChange)
666
+ };
667
+ break;
668
+ case /* resources.users.activity.FileChange file_change */ 12:
669
+ message.data = {
670
+ oneofKind: "fileChange",
671
+ fileChange: FileChange.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).fileChange)
672
+ };
673
+ break;
593
674
  default:
594
675
  let u = options.readUnknownField;
595
676
  if (u === "throw")
@@ -632,6 +713,12 @@ class UserActivityData$Type extends MessageType<UserActivityData> {
632
713
  /* resources.users.activity.FineChange fine_change = 10; */
633
714
  if (message.data.oneofKind === "fineChange")
634
715
  FineChange.internalBinaryWrite(message.data.fineChange, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
716
+ /* resources.users.activity.PropertyChange property_change = 11; */
717
+ if (message.data.oneofKind === "propertyChange")
718
+ PropertyChange.internalBinaryWrite(message.data.propertyChange, writer.tag(11, WireType.LengthDelimited).fork(), options).join();
719
+ /* resources.users.activity.FileChange file_change = 12; */
720
+ if (message.data.oneofKind === "fileChange")
721
+ FileChange.internalBinaryWrite(message.data.fileChange, writer.tag(12, WireType.LengthDelimited).fork(), options).join();
635
722
  let u = options.writeUnknownFields;
636
723
  if (u !== false)
637
724
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -757,7 +844,8 @@ class WantedChange$Type extends MessageType<WantedChange> {
757
844
  constructor() {
758
845
  super("resources.users.activity.WantedChange", [
759
846
  { no: 1, name: "wanted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
760
- { no: 2, name: "auto", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
847
+ { no: 2, name: "auto", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
848
+ { no: 3, name: "wanted_till", kind: "message", T: () => Timestamp }
761
849
  ]);
762
850
  }
763
851
  create(value?: PartialMessage<WantedChange>): WantedChange {
@@ -779,6 +867,9 @@ class WantedChange$Type extends MessageType<WantedChange> {
779
867
  case /* bool auto */ 2:
780
868
  message.auto = reader.bool();
781
869
  break;
870
+ case /* optional resources.timestamp.Timestamp wanted_till */ 3:
871
+ message.wantedTill = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.wantedTill);
872
+ break;
782
873
  default:
783
874
  let u = options.readUnknownField;
784
875
  if (u === "throw")
@@ -797,6 +888,9 @@ class WantedChange$Type extends MessageType<WantedChange> {
797
888
  /* bool auto = 2; */
798
889
  if (message.auto !== false)
799
890
  writer.tag(2, WireType.Varint).bool(message.auto);
891
+ /* optional resources.timestamp.Timestamp wanted_till = 3; */
892
+ if (message.wantedTill)
893
+ Timestamp.internalBinaryWrite(message.wantedTill, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
800
894
  let u = options.writeUnknownFields;
801
895
  if (u !== false)
802
896
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1296,3 +1390,126 @@ class FineChange$Type extends MessageType<FineChange> {
1296
1390
  * @generated MessageType for protobuf message resources.users.activity.FineChange
1297
1391
  */
1298
1392
  export const FineChange = new FineChange$Type();
1393
+ // @generated message type with reflection information, may provide speed optimized methods
1394
+ class FileChange$Type extends MessageType<FileChange> {
1395
+ constructor() {
1396
+ super("resources.users.activity.FileChange", [
1397
+ { no: 1, name: "added", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1398
+ { no: 2, name: "kind", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "32" } } } },
1399
+ { no: 3, name: "file", kind: "message", T: () => File, options: { "buf.validate.field": { required: true } } }
1400
+ ]);
1401
+ }
1402
+ create(value?: PartialMessage<FileChange>): FileChange {
1403
+ const message = globalThis.Object.create((this.messagePrototype!));
1404
+ message.added = false;
1405
+ message.kind = "";
1406
+ if (value !== undefined)
1407
+ reflectionMergePartial<FileChange>(this, message, value);
1408
+ return message;
1409
+ }
1410
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: FileChange): FileChange {
1411
+ let message = target ?? this.create(), end = reader.pos + length;
1412
+ while (reader.pos < end) {
1413
+ let [fieldNo, wireType] = reader.tag();
1414
+ switch (fieldNo) {
1415
+ case /* bool added */ 1:
1416
+ message.added = reader.bool();
1417
+ break;
1418
+ case /* string kind */ 2:
1419
+ message.kind = reader.string();
1420
+ break;
1421
+ case /* resources.file.File file */ 3:
1422
+ message.file = File.internalBinaryRead(reader, reader.uint32(), options, message.file);
1423
+ break;
1424
+ default:
1425
+ let u = options.readUnknownField;
1426
+ if (u === "throw")
1427
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1428
+ let d = reader.skip(wireType);
1429
+ if (u !== false)
1430
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1431
+ }
1432
+ }
1433
+ return message;
1434
+ }
1435
+ internalBinaryWrite(message: FileChange, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1436
+ /* bool added = 1; */
1437
+ if (message.added !== false)
1438
+ writer.tag(1, WireType.Varint).bool(message.added);
1439
+ /* string kind = 2; */
1440
+ if (message.kind !== "")
1441
+ writer.tag(2, WireType.LengthDelimited).string(message.kind);
1442
+ /* resources.file.File file = 3; */
1443
+ if (message.file)
1444
+ File.internalBinaryWrite(message.file, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1445
+ let u = options.writeUnknownFields;
1446
+ if (u !== false)
1447
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1448
+ return writer;
1449
+ }
1450
+ }
1451
+ /**
1452
+ * @generated MessageType for protobuf message resources.users.activity.FileChange
1453
+ */
1454
+ export const FileChange = new FileChange$Type();
1455
+ // @generated message type with reflection information, may provide speed optimized methods
1456
+ class PropertyChange$Type extends MessageType<PropertyChange> {
1457
+ constructor() {
1458
+ super("resources.users.activity.PropertyChange", [
1459
+ { no: 1, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
1460
+ { no: 2, name: "old_value", kind: "message", T: () => PropertyValue },
1461
+ { no: 3, name: "new_value", kind: "message", T: () => PropertyValue }
1462
+ ]);
1463
+ }
1464
+ create(value?: PartialMessage<PropertyChange>): PropertyChange {
1465
+ const message = globalThis.Object.create((this.messagePrototype!));
1466
+ message.key = "";
1467
+ if (value !== undefined)
1468
+ reflectionMergePartial<PropertyChange>(this, message, value);
1469
+ return message;
1470
+ }
1471
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PropertyChange): PropertyChange {
1472
+ let message = target ?? this.create(), end = reader.pos + length;
1473
+ while (reader.pos < end) {
1474
+ let [fieldNo, wireType] = reader.tag();
1475
+ switch (fieldNo) {
1476
+ case /* string key */ 1:
1477
+ message.key = reader.string();
1478
+ break;
1479
+ case /* optional resources.properties.PropertyValue old_value */ 2:
1480
+ message.oldValue = PropertyValue.internalBinaryRead(reader, reader.uint32(), options, message.oldValue);
1481
+ break;
1482
+ case /* optional resources.properties.PropertyValue new_value */ 3:
1483
+ message.newValue = PropertyValue.internalBinaryRead(reader, reader.uint32(), options, message.newValue);
1484
+ break;
1485
+ default:
1486
+ let u = options.readUnknownField;
1487
+ if (u === "throw")
1488
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1489
+ let d = reader.skip(wireType);
1490
+ if (u !== false)
1491
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1492
+ }
1493
+ }
1494
+ return message;
1495
+ }
1496
+ internalBinaryWrite(message: PropertyChange, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1497
+ /* string key = 1; */
1498
+ if (message.key !== "")
1499
+ writer.tag(1, WireType.LengthDelimited).string(message.key);
1500
+ /* optional resources.properties.PropertyValue old_value = 2; */
1501
+ if (message.oldValue)
1502
+ PropertyValue.internalBinaryWrite(message.oldValue, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1503
+ /* optional resources.properties.PropertyValue new_value = 3; */
1504
+ if (message.newValue)
1505
+ PropertyValue.internalBinaryWrite(message.newValue, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
1506
+ let u = options.writeUnknownFields;
1507
+ if (u !== false)
1508
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1509
+ return writer;
1510
+ }
1511
+ }
1512
+ /**
1513
+ * @generated MessageType for protobuf message resources.users.activity.PropertyChange
1514
+ */
1515
+ export const PropertyChange = new PropertyChange$Type();
@@ -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 { Properties } from "../../properties/properties";
14
15
  import { Labels } from "../../citizens/labels/labels";
15
16
  import { File } from "../../file/file";
16
17
  import { JobGrade } from "../../jobs/jobs";
@@ -88,6 +89,10 @@ export interface UserProps {
88
89
  * @generated from protobuf field: optional string email = 17
89
90
  */
90
91
  email?: string;
92
+ /**
93
+ * @generated from protobuf field: optional resources.properties.Properties properties = 18
94
+ */
95
+ properties?: Properties;
91
96
  }
92
97
  // @generated message type with reflection information, may provide speed optimized methods
93
98
  class UserProps$Type extends MessageType<UserProps> {
@@ -109,7 +114,8 @@ class UserProps$Type extends MessageType<UserProps> {
109
114
  { no: 14, name: "mugshot_file_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
110
115
  { no: 15, name: "mugshot", kind: "message", T: () => File, options: { "tagger.tags": "alias:\"mugshot\"" } },
111
116
  { no: 16, name: "labels", kind: "message", T: () => Labels },
112
- { no: 17, name: "email", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "6", maxLen: "80" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
117
+ { no: 17, name: "email", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "6", maxLen: "80" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
118
+ { no: 18, name: "properties", kind: "message", T: () => Properties }
113
119
  ]);
114
120
  }
115
121
  create(value?: PartialMessage<UserProps>): UserProps {
@@ -175,6 +181,9 @@ class UserProps$Type extends MessageType<UserProps> {
175
181
  case /* optional string email */ 17:
176
182
  message.email = reader.string();
177
183
  break;
184
+ case /* optional resources.properties.Properties properties */ 18:
185
+ message.properties = Properties.internalBinaryRead(reader, reader.uint32(), options, message.properties);
186
+ break;
178
187
  default:
179
188
  let u = options.readUnknownField;
180
189
  if (u === "throw")
@@ -238,6 +247,9 @@ class UserProps$Type extends MessageType<UserProps> {
238
247
  /* optional string email = 17; */
239
248
  if (message.email !== undefined)
240
249
  writer.tag(17, WireType.LengthDelimited).string(message.email);
250
+ /* optional resources.properties.Properties properties = 18; */
251
+ if (message.properties)
252
+ Properties.internalBinaryWrite(message.properties, writer.tag(18, WireType.LengthDelimited).fork(), options).join();
241
253
  let u = options.writeUnknownFields;
242
254
  if (u !== false)
243
255
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -12,6 +12,7 @@ import type { PartialMessage } from "@protobuf-ts/runtime";
12
12
  import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
13
  import { MessageType } from "@protobuf-ts/runtime";
14
14
  import { Timestamp } from "../timestamp/timestamp";
15
+ import { Properties } from "../properties/properties";
15
16
  import { License } from "../citizens/licenses/licenses";
16
17
  import { UserProps } from "./props/props";
17
18
  /**
@@ -98,6 +99,10 @@ export interface User {
98
99
  * @generated from protobuf field: optional string profile_picture = 18
99
100
  */
100
101
  profilePicture?: string;
102
+ /**
103
+ * @generated from protobuf field: optional resources.properties.Properties properties = 21
104
+ */
105
+ properties?: Properties;
101
106
  }
102
107
  /**
103
108
  * @generated from protobuf message resources.users.PhoneNumber
@@ -184,7 +189,8 @@ class User$Type extends MessageType<User> {
184
189
  { no: 15, name: "props", kind: "message", T: () => UserProps, options: { "tagger.tags": "alias:\"fivenet_user_props\"" } },
185
190
  { no: 16, name: "licenses", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => License, options: { "tagger.tags": "alias:\"user_licenses\"" } },
186
191
  { no: 17, name: "profile_picture_file_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
187
- { no: 18, name: "profile_picture", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
192
+ { no: 18, name: "profile_picture", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
193
+ { no: 21, name: "properties", kind: "message", T: () => Properties }
188
194
  ]);
189
195
  }
190
196
  create(value?: PartialMessage<User>): User {
@@ -268,6 +274,9 @@ class User$Type extends MessageType<User> {
268
274
  case /* optional string profile_picture */ 18:
269
275
  message.profilePicture = reader.string();
270
276
  break;
277
+ case /* optional resources.properties.Properties properties */ 21:
278
+ message.properties = Properties.internalBinaryRead(reader, reader.uint32(), options, message.properties);
279
+ break;
271
280
  default:
272
281
  let u = options.readUnknownField;
273
282
  if (u === "throw")
@@ -340,6 +349,9 @@ class User$Type extends MessageType<User> {
340
349
  /* repeated resources.users.UserJob jobs = 20; */
341
350
  for (let i = 0; i < message.jobs.length; i++)
342
351
  UserJob.internalBinaryWrite(message.jobs[i], writer.tag(20, WireType.LengthDelimited).fork(), options).join();
352
+ /* optional resources.properties.Properties properties = 21; */
353
+ if (message.properties)
354
+ Properties.internalBinaryWrite(message.properties, writer.tag(21, WireType.LengthDelimited).fork(), options).join();
343
355
  let u = options.writeUnknownFields;
344
356
  if (u !== false)
345
357
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);