@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
@@ -1,5 +1,5 @@
1
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/sync/data.proto" (package "resources.sync", syntax proto3)
2
+ // @generated from protobuf file "resources/sync/data/data.proto" (package "resources.sync.data", syntax proto3)
3
3
  // tslint:disable
4
4
  // @ts-nocheck
5
5
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
@@ -11,13 +11,16 @@ 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 { Coords } from "../livemap/coords";
15
- import { License } from "../users/licenses";
16
- import { Vehicle } from "../vehicles/vehicles";
17
- import { User } from "../users/users";
18
- import { Job } from "../jobs/jobs";
14
+ import { PhoneNumber } from "../../users/user";
15
+ import { UserJob } from "../../users/user";
16
+ import { Timestamp } from "../../timestamp/timestamp";
17
+ import { AccountUpdate } from "../activity/activity";
18
+ import { Coords } from "../../livemap/coords";
19
+ import { License } from "../../citizens/licenses/licenses";
20
+ import { Vehicle } from "../../vehicles/vehicles";
21
+ import { Job } from "../../jobs/jobs";
19
22
  /**
20
- * @generated from protobuf message resources.sync.DataStatus
23
+ * @generated from protobuf message resources.sync.data.DataStatus
21
24
  */
22
25
  export interface DataStatus {
23
26
  /**
@@ -26,7 +29,7 @@ export interface DataStatus {
26
29
  count: number;
27
30
  }
28
31
  /**
29
- * @generated from protobuf message resources.sync.DataJobs
32
+ * @generated from protobuf message resources.sync.data.DataJobs
30
33
  */
31
34
  export interface DataJobs {
32
35
  /**
@@ -35,16 +38,16 @@ export interface DataJobs {
35
38
  jobs: Job[];
36
39
  }
37
40
  /**
38
- * @generated from protobuf message resources.sync.DataUsers
41
+ * @generated from protobuf message resources.sync.data.DataUsers
39
42
  */
40
43
  export interface DataUsers {
41
44
  /**
42
- * @generated from protobuf field: repeated resources.users.User users = 1
45
+ * @generated from protobuf field: repeated resources.sync.data.DataUser users = 1
43
46
  */
44
- users: User[];
47
+ users: DataUser[];
45
48
  }
46
49
  /**
47
- * @generated from protobuf message resources.sync.DataVehicles
50
+ * @generated from protobuf message resources.sync.data.DataVehicles
48
51
  */
49
52
  export interface DataVehicles {
50
53
  /**
@@ -53,20 +56,20 @@ export interface DataVehicles {
53
56
  vehicles: Vehicle[];
54
57
  }
55
58
  /**
56
- * @generated from protobuf message resources.sync.DataLicenses
59
+ * @generated from protobuf message resources.sync.data.DataLicenses
57
60
  */
58
61
  export interface DataLicenses {
59
62
  /**
60
- * @generated from protobuf field: repeated resources.users.License licenses = 1
63
+ * @generated from protobuf field: repeated resources.citizens.licenses.License licenses = 1
61
64
  */
62
65
  licenses: License[];
63
66
  }
64
67
  /**
65
- * @generated from protobuf message resources.sync.DataUserLocations
68
+ * @generated from protobuf message resources.sync.data.DataUserLocations
66
69
  */
67
70
  export interface DataUserLocations {
68
71
  /**
69
- * @generated from protobuf field: repeated resources.sync.CitizenLocations users = 1
72
+ * @generated from protobuf field: repeated resources.sync.data.CitizenLocations users = 1
70
73
  */
71
74
  users: CitizenLocations[];
72
75
  /**
@@ -75,17 +78,21 @@ export interface DataUserLocations {
75
78
  clearAll?: boolean;
76
79
  }
77
80
  /**
78
- * @generated from protobuf message resources.sync.CitizenLocations
81
+ * @generated from protobuf message resources.sync.data.CitizenLocations
79
82
  */
80
83
  export interface CitizenLocations {
81
84
  /**
82
- * @generated from protobuf field: string identifier = 1
85
+ * @generated from protobuf field: int32 user_id = 1
83
86
  */
84
- identifier: string;
87
+ userId: number;
85
88
  /**
86
89
  * @generated from protobuf field: string job = 2
87
90
  */
88
91
  job: string;
92
+ /**
93
+ * @generated from protobuf field: optional int32 job_grade = 6
94
+ */
95
+ jobGrade?: number;
89
96
  /**
90
97
  * @generated from protobuf field: resources.livemap.Coords coords = 3
91
98
  */
@@ -100,7 +107,7 @@ export interface CitizenLocations {
100
107
  remove: boolean;
101
108
  }
102
109
  /**
103
- * @generated from protobuf message resources.sync.DeleteUsers
110
+ * @generated from protobuf message resources.sync.data.DeleteUsers
104
111
  */
105
112
  export interface DeleteUsers {
106
113
  /**
@@ -109,7 +116,7 @@ export interface DeleteUsers {
109
116
  userIds: number[];
110
117
  }
111
118
  /**
112
- * @generated from protobuf message resources.sync.DeleteVehicles
119
+ * @generated from protobuf message resources.sync.data.DeleteVehicles
113
120
  */
114
121
  export interface DeleteVehicles {
115
122
  /**
@@ -118,7 +125,7 @@ export interface DeleteVehicles {
118
125
  plates: string[];
119
126
  }
120
127
  /**
121
- * @generated from protobuf message resources.sync.LastCharID
128
+ * @generated from protobuf message resources.sync.data.LastCharID
122
129
  */
123
130
  export interface LastCharID {
124
131
  /**
@@ -130,10 +137,107 @@ export interface LastCharID {
130
137
  */
131
138
  lastCharId?: number;
132
139
  }
140
+ /**
141
+ * @generated from protobuf message resources.sync.data.DataAccounts
142
+ */
143
+ export interface DataAccounts {
144
+ /**
145
+ * @generated from protobuf field: repeated resources.sync.activity.AccountUpdate account_updates = 1
146
+ */
147
+ accountUpdates: AccountUpdate[];
148
+ }
149
+ /**
150
+ * Detailed user information for sync purposes
151
+ * Should be kept inline with `resources.users.User`.
152
+ *
153
+ * @generated from protobuf message resources.sync.data.DataUser
154
+ */
155
+ export interface DataUser {
156
+ /**
157
+ * @generated from protobuf field: int32 user_id = 1
158
+ */
159
+ userId: number;
160
+ /**
161
+ * @generated from protobuf field: string identifier = 2
162
+ */
163
+ identifier: string;
164
+ /**
165
+ * @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 21
166
+ */
167
+ updatedAt?: Timestamp;
168
+ /**
169
+ * @generated from protobuf field: string job = 3
170
+ */
171
+ job: string;
172
+ /**
173
+ * @generated from protobuf field: optional string job_label = 4
174
+ */
175
+ jobLabel?: string;
176
+ /**
177
+ * @generated from protobuf field: int32 job_grade = 5
178
+ */
179
+ jobGrade: number;
180
+ /**
181
+ * @generated from protobuf field: optional string job_grade_label = 6
182
+ */
183
+ jobGradeLabel?: string;
184
+ /**
185
+ * @generated from protobuf field: repeated resources.users.UserJob jobs = 20
186
+ */
187
+ jobs: UserJob[];
188
+ /**
189
+ * @generated from protobuf field: string firstname = 7
190
+ */
191
+ firstname: string;
192
+ /**
193
+ * @generated from protobuf field: optional string lastname = 8
194
+ */
195
+ lastname?: string;
196
+ /**
197
+ * @generated from protobuf field: string dateofbirth = 9
198
+ */
199
+ dateofbirth: string;
200
+ /**
201
+ * @generated from protobuf field: optional string sex = 10
202
+ */
203
+ sex?: string;
204
+ /**
205
+ * @generated from protobuf field: optional float height = 11
206
+ */
207
+ height?: number;
208
+ /**
209
+ * @generated from protobuf field: optional string phone_number = 12
210
+ */
211
+ phoneNumber?: string;
212
+ /**
213
+ * @generated from protobuf field: repeated resources.users.PhoneNumber phone_numbers = 19
214
+ */
215
+ phoneNumbers: PhoneNumber[];
216
+ /**
217
+ * @generated from protobuf field: optional int32 visum = 13
218
+ */
219
+ visum?: number;
220
+ /**
221
+ * @generated from protobuf field: optional int32 playtime = 14
222
+ */
223
+ playtime?: number;
224
+ /**
225
+ * @generated from protobuf field: repeated resources.citizens.licenses.License licenses = 16
226
+ */
227
+ licenses: License[];
228
+ /**
229
+ * @generated from protobuf field: optional int64 profile_picture_file_id = 17
230
+ */
231
+ profilePictureFileId?: number;
232
+ /**
233
+ * @generated from protobuf field: optional string profile_picture = 18
234
+ */
235
+ profilePicture?: string;
236
+ }
133
237
  // @generated message type with reflection information, may provide speed optimized methods
134
238
  class DataStatus$Type extends MessageType<DataStatus> {
135
239
  constructor() {
136
- super("resources.sync.DataStatus", [
240
+ super("resources.sync.data.DataStatus", [
137
241
  { no: 1, name: "count", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
138
242
  ]);
139
243
  }
@@ -174,13 +278,13 @@ class DataStatus$Type extends MessageType<DataStatus> {
174
278
  }
175
279
  }
176
280
  /**
177
- * @generated MessageType for protobuf message resources.sync.DataStatus
281
+ * @generated MessageType for protobuf message resources.sync.data.DataStatus
178
282
  */
179
283
  export const DataStatus = new DataStatus$Type();
180
284
  // @generated message type with reflection information, may provide speed optimized methods
181
285
  class DataJobs$Type extends MessageType<DataJobs> {
182
286
  constructor() {
183
- super("resources.sync.DataJobs", [
287
+ super("resources.sync.data.DataJobs", [
184
288
  { no: 1, name: "jobs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Job, options: { "buf.validate.field": { repeated: { maxItems: "200" } } } }
185
289
  ]);
186
290
  }
@@ -221,14 +325,14 @@ class DataJobs$Type extends MessageType<DataJobs> {
221
325
  }
222
326
  }
223
327
  /**
224
- * @generated MessageType for protobuf message resources.sync.DataJobs
328
+ * @generated MessageType for protobuf message resources.sync.data.DataJobs
225
329
  */
226
330
  export const DataJobs = new DataJobs$Type();
227
331
  // @generated message type with reflection information, may provide speed optimized methods
228
332
  class DataUsers$Type extends MessageType<DataUsers> {
229
333
  constructor() {
230
- super("resources.sync.DataUsers", [
231
- { no: 1, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => User, options: { "buf.validate.field": { repeated: { maxItems: "500" } } } }
334
+ super("resources.sync.data.DataUsers", [
335
+ { no: 1, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => DataUser, options: { "buf.validate.field": { repeated: { maxItems: "500" } } } }
232
336
  ]);
233
337
  }
234
338
  create(value?: PartialMessage<DataUsers>): DataUsers {
@@ -243,8 +347,8 @@ class DataUsers$Type extends MessageType<DataUsers> {
243
347
  while (reader.pos < end) {
244
348
  let [fieldNo, wireType] = reader.tag();
245
349
  switch (fieldNo) {
246
- case /* repeated resources.users.User users */ 1:
247
- message.users.push(User.internalBinaryRead(reader, reader.uint32(), options));
350
+ case /* repeated resources.sync.data.DataUser users */ 1:
351
+ message.users.push(DataUser.internalBinaryRead(reader, reader.uint32(), options));
248
352
  break;
249
353
  default:
250
354
  let u = options.readUnknownField;
@@ -258,9 +362,9 @@ class DataUsers$Type extends MessageType<DataUsers> {
258
362
  return message;
259
363
  }
260
364
  internalBinaryWrite(message: DataUsers, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
261
- /* repeated resources.users.User users = 1; */
365
+ /* repeated resources.sync.data.DataUser users = 1; */
262
366
  for (let i = 0; i < message.users.length; i++)
263
- User.internalBinaryWrite(message.users[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
367
+ DataUser.internalBinaryWrite(message.users[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
264
368
  let u = options.writeUnknownFields;
265
369
  if (u !== false)
266
370
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -268,14 +372,14 @@ class DataUsers$Type extends MessageType<DataUsers> {
268
372
  }
269
373
  }
270
374
  /**
271
- * @generated MessageType for protobuf message resources.sync.DataUsers
375
+ * @generated MessageType for protobuf message resources.sync.data.DataUsers
272
376
  */
273
377
  export const DataUsers = new DataUsers$Type();
274
378
  // @generated message type with reflection information, may provide speed optimized methods
275
379
  class DataVehicles$Type extends MessageType<DataVehicles> {
276
380
  constructor() {
277
- super("resources.sync.DataVehicles", [
278
- { no: 1, name: "vehicles", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Vehicle, options: { "buf.validate.field": { repeated: { maxItems: "1000" } } } }
381
+ super("resources.sync.data.DataVehicles", [
382
+ { no: 1, name: "vehicles", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Vehicle, options: { "buf.validate.field": { repeated: { maxItems: "500" } } } }
279
383
  ]);
280
384
  }
281
385
  create(value?: PartialMessage<DataVehicles>): DataVehicles {
@@ -315,13 +419,13 @@ class DataVehicles$Type extends MessageType<DataVehicles> {
315
419
  }
316
420
  }
317
421
  /**
318
- * @generated MessageType for protobuf message resources.sync.DataVehicles
422
+ * @generated MessageType for protobuf message resources.sync.data.DataVehicles
319
423
  */
320
424
  export const DataVehicles = new DataVehicles$Type();
321
425
  // @generated message type with reflection information, may provide speed optimized methods
322
426
  class DataLicenses$Type extends MessageType<DataLicenses> {
323
427
  constructor() {
324
- super("resources.sync.DataLicenses", [
428
+ super("resources.sync.data.DataLicenses", [
325
429
  { no: 1, name: "licenses", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => License, options: { "buf.validate.field": { repeated: { maxItems: "200" } } } }
326
430
  ]);
327
431
  }
@@ -337,7 +441,7 @@ class DataLicenses$Type extends MessageType<DataLicenses> {
337
441
  while (reader.pos < end) {
338
442
  let [fieldNo, wireType] = reader.tag();
339
443
  switch (fieldNo) {
340
- case /* repeated resources.users.License licenses */ 1:
444
+ case /* repeated resources.citizens.licenses.License licenses */ 1:
341
445
  message.licenses.push(License.internalBinaryRead(reader, reader.uint32(), options));
342
446
  break;
343
447
  default:
@@ -352,7 +456,7 @@ class DataLicenses$Type extends MessageType<DataLicenses> {
352
456
  return message;
353
457
  }
354
458
  internalBinaryWrite(message: DataLicenses, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
355
- /* repeated resources.users.License licenses = 1; */
459
+ /* repeated resources.citizens.licenses.License licenses = 1; */
356
460
  for (let i = 0; i < message.licenses.length; i++)
357
461
  License.internalBinaryWrite(message.licenses[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
358
462
  let u = options.writeUnknownFields;
@@ -362,13 +466,13 @@ class DataLicenses$Type extends MessageType<DataLicenses> {
362
466
  }
363
467
  }
364
468
  /**
365
- * @generated MessageType for protobuf message resources.sync.DataLicenses
469
+ * @generated MessageType for protobuf message resources.sync.data.DataLicenses
366
470
  */
367
471
  export const DataLicenses = new DataLicenses$Type();
368
472
  // @generated message type with reflection information, may provide speed optimized methods
369
473
  class DataUserLocations$Type extends MessageType<DataUserLocations> {
370
474
  constructor() {
371
- super("resources.sync.DataUserLocations", [
475
+ super("resources.sync.data.DataUserLocations", [
372
476
  { no: 1, name: "users", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => CitizenLocations, options: { "buf.validate.field": { repeated: { maxItems: "2000" } } } },
373
477
  { no: 2, name: "clear_all", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
374
478
  ]);
@@ -385,7 +489,7 @@ class DataUserLocations$Type extends MessageType<DataUserLocations> {
385
489
  while (reader.pos < end) {
386
490
  let [fieldNo, wireType] = reader.tag();
387
491
  switch (fieldNo) {
388
- case /* repeated resources.sync.CitizenLocations users */ 1:
492
+ case /* repeated resources.sync.data.CitizenLocations users */ 1:
389
493
  message.users.push(CitizenLocations.internalBinaryRead(reader, reader.uint32(), options));
390
494
  break;
391
495
  case /* optional bool clear_all */ 2:
@@ -403,7 +507,7 @@ class DataUserLocations$Type extends MessageType<DataUserLocations> {
403
507
  return message;
404
508
  }
405
509
  internalBinaryWrite(message: DataUserLocations, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
406
- /* repeated resources.sync.CitizenLocations users = 1; */
510
+ /* repeated resources.sync.data.CitizenLocations users = 1; */
407
511
  for (let i = 0; i < message.users.length; i++)
408
512
  CitizenLocations.internalBinaryWrite(message.users[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
409
513
  /* optional bool clear_all = 2; */
@@ -416,15 +520,16 @@ class DataUserLocations$Type extends MessageType<DataUserLocations> {
416
520
  }
417
521
  }
418
522
  /**
419
- * @generated MessageType for protobuf message resources.sync.DataUserLocations
523
+ * @generated MessageType for protobuf message resources.sync.data.DataUserLocations
420
524
  */
421
525
  export const DataUserLocations = new DataUserLocations$Type();
422
526
  // @generated message type with reflection information, may provide speed optimized methods
423
527
  class CitizenLocations$Type extends MessageType<CitizenLocations> {
424
528
  constructor() {
425
- super("resources.sync.CitizenLocations", [
426
- { no: 1, name: "identifier", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
529
+ super("resources.sync.data.CitizenLocations", [
530
+ { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } },
427
531
  { no: 2, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } },
532
+ { no: 6, name: "job_grade", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
428
533
  { no: 3, name: "coords", kind: "message", T: () => Coords, options: { "buf.validate.field": { required: true } } },
429
534
  { no: 4, name: "hidden", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
430
535
  { no: 5, name: "remove", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
@@ -432,7 +537,7 @@ class CitizenLocations$Type extends MessageType<CitizenLocations> {
432
537
  }
433
538
  create(value?: PartialMessage<CitizenLocations>): CitizenLocations {
434
539
  const message = globalThis.Object.create((this.messagePrototype!));
435
- message.identifier = "";
540
+ message.userId = 0;
436
541
  message.job = "";
437
542
  message.hidden = false;
438
543
  message.remove = false;
@@ -445,12 +550,15 @@ class CitizenLocations$Type extends MessageType<CitizenLocations> {
445
550
  while (reader.pos < end) {
446
551
  let [fieldNo, wireType] = reader.tag();
447
552
  switch (fieldNo) {
448
- case /* string identifier */ 1:
449
- message.identifier = reader.string();
553
+ case /* int32 user_id */ 1:
554
+ message.userId = reader.int32();
450
555
  break;
451
556
  case /* string job */ 2:
452
557
  message.job = reader.string();
453
558
  break;
559
+ case /* optional int32 job_grade */ 6:
560
+ message.jobGrade = reader.int32();
561
+ break;
454
562
  case /* resources.livemap.Coords coords */ 3:
455
563
  message.coords = Coords.internalBinaryRead(reader, reader.uint32(), options, message.coords);
456
564
  break;
@@ -472,9 +580,9 @@ class CitizenLocations$Type extends MessageType<CitizenLocations> {
472
580
  return message;
473
581
  }
474
582
  internalBinaryWrite(message: CitizenLocations, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
475
- /* string identifier = 1; */
476
- if (message.identifier !== "")
477
- writer.tag(1, WireType.LengthDelimited).string(message.identifier);
583
+ /* int32 user_id = 1; */
584
+ if (message.userId !== 0)
585
+ writer.tag(1, WireType.Varint).int32(message.userId);
478
586
  /* string job = 2; */
479
587
  if (message.job !== "")
480
588
  writer.tag(2, WireType.LengthDelimited).string(message.job);
@@ -487,6 +595,9 @@ class CitizenLocations$Type extends MessageType<CitizenLocations> {
487
595
  /* bool remove = 5; */
488
596
  if (message.remove !== false)
489
597
  writer.tag(5, WireType.Varint).bool(message.remove);
598
+ /* optional int32 job_grade = 6; */
599
+ if (message.jobGrade !== undefined)
600
+ writer.tag(6, WireType.Varint).int32(message.jobGrade);
490
601
  let u = options.writeUnknownFields;
491
602
  if (u !== false)
492
603
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -494,13 +605,13 @@ class CitizenLocations$Type extends MessageType<CitizenLocations> {
494
605
  }
495
606
  }
496
607
  /**
497
- * @generated MessageType for protobuf message resources.sync.CitizenLocations
608
+ * @generated MessageType for protobuf message resources.sync.data.CitizenLocations
498
609
  */
499
610
  export const CitizenLocations = new CitizenLocations$Type();
500
611
  // @generated message type with reflection information, may provide speed optimized methods
501
612
  class DeleteUsers$Type extends MessageType<DeleteUsers> {
502
613
  constructor() {
503
- super("resources.sync.DeleteUsers", [
614
+ super("resources.sync.data.DeleteUsers", [
504
615
  { no: 1, name: "user_ids", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } } } }
505
616
  ]);
506
617
  }
@@ -549,13 +660,13 @@ class DeleteUsers$Type extends MessageType<DeleteUsers> {
549
660
  }
550
661
  }
551
662
  /**
552
- * @generated MessageType for protobuf message resources.sync.DeleteUsers
663
+ * @generated MessageType for protobuf message resources.sync.data.DeleteUsers
553
664
  */
554
665
  export const DeleteUsers = new DeleteUsers$Type();
555
666
  // @generated message type with reflection information, may provide speed optimized methods
556
667
  class DeleteVehicles$Type extends MessageType<DeleteVehicles> {
557
668
  constructor() {
558
- super("resources.sync.DeleteVehicles", [
669
+ super("resources.sync.data.DeleteVehicles", [
559
670
  { no: 1, name: "plates", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "100" } } } }
560
671
  ]);
561
672
  }
@@ -596,13 +707,13 @@ class DeleteVehicles$Type extends MessageType<DeleteVehicles> {
596
707
  }
597
708
  }
598
709
  /**
599
- * @generated MessageType for protobuf message resources.sync.DeleteVehicles
710
+ * @generated MessageType for protobuf message resources.sync.data.DeleteVehicles
600
711
  */
601
712
  export const DeleteVehicles = new DeleteVehicles$Type();
602
713
  // @generated message type with reflection information, may provide speed optimized methods
603
714
  class LastCharID$Type extends MessageType<LastCharID> {
604
715
  constructor() {
605
- super("resources.sync.LastCharID", [
716
+ super("resources.sync.data.LastCharID", [
606
717
  { no: 1, name: "identifier", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
607
718
  { no: 2, name: "last_char_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } } } }
608
719
  ]);
@@ -650,6 +761,241 @@ class LastCharID$Type extends MessageType<LastCharID> {
650
761
  }
651
762
  }
652
763
  /**
653
- * @generated MessageType for protobuf message resources.sync.LastCharID
764
+ * @generated MessageType for protobuf message resources.sync.data.LastCharID
654
765
  */
655
766
  export const LastCharID = new LastCharID$Type();
767
+ // @generated message type with reflection information, may provide speed optimized methods
768
+ class DataAccounts$Type extends MessageType<DataAccounts> {
769
+ constructor() {
770
+ super("resources.sync.data.DataAccounts", [
771
+ { no: 1, name: "account_updates", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => AccountUpdate, options: { "buf.validate.field": { repeated: { maxItems: "200" } } } }
772
+ ]);
773
+ }
774
+ create(value?: PartialMessage<DataAccounts>): DataAccounts {
775
+ const message = globalThis.Object.create((this.messagePrototype!));
776
+ message.accountUpdates = [];
777
+ if (value !== undefined)
778
+ reflectionMergePartial<DataAccounts>(this, message, value);
779
+ return message;
780
+ }
781
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DataAccounts): DataAccounts {
782
+ let message = target ?? this.create(), end = reader.pos + length;
783
+ while (reader.pos < end) {
784
+ let [fieldNo, wireType] = reader.tag();
785
+ switch (fieldNo) {
786
+ case /* repeated resources.sync.activity.AccountUpdate account_updates */ 1:
787
+ message.accountUpdates.push(AccountUpdate.internalBinaryRead(reader, reader.uint32(), options));
788
+ break;
789
+ default:
790
+ let u = options.readUnknownField;
791
+ if (u === "throw")
792
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
793
+ let d = reader.skip(wireType);
794
+ if (u !== false)
795
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
796
+ }
797
+ }
798
+ return message;
799
+ }
800
+ internalBinaryWrite(message: DataAccounts, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
801
+ /* repeated resources.sync.activity.AccountUpdate account_updates = 1; */
802
+ for (let i = 0; i < message.accountUpdates.length; i++)
803
+ AccountUpdate.internalBinaryWrite(message.accountUpdates[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
804
+ let u = options.writeUnknownFields;
805
+ if (u !== false)
806
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
807
+ return writer;
808
+ }
809
+ }
810
+ /**
811
+ * @generated MessageType for protobuf message resources.sync.data.DataAccounts
812
+ */
813
+ export const DataAccounts = new DataAccounts$Type();
814
+ // @generated message type with reflection information, may provide speed optimized methods
815
+ class DataUser$Type extends MessageType<DataUser> {
816
+ constructor() {
817
+ super("resources.sync.data.DataUser", [
818
+ { no: 1, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gt: 0 } }, "tagger.tags": "alias:\"user.id\"" } },
819
+ { no: 2, name: "identifier", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } }, "tagger.tags": "alias:\"user.identifier\"" } },
820
+ { no: 21, name: "updated_at", kind: "message", T: () => Timestamp, options: { "tagger.tags": "alias:\"user.updated_at\"" } },
821
+ { no: 3, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", string: { maxLen: "20" } }, "tagger.tags": "alias:\"user.job\"" } },
822
+ { no: 4, name: "job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } }, "tagger.tags": "alias:\"user.job_label\"" } },
823
+ { no: 5, name: "job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", int32: { gte: 0 } }, "tagger.tags": "alias:\"user.job_grade\"" } },
824
+ { no: 6, name: "job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "50" } }, "tagger.tags": "alias:\"user.job_grade_label\"" } },
825
+ { no: 20, name: "jobs", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => UserJob, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", repeated: { maxItems: "3" } }, "tagger.tags": "alias:\"user.jobs\"" } },
826
+ { no: 7, name: "firstname", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "1", maxLen: "50" } }, "tagger.tags": "alias:\"user.firstname\"" } },
827
+ { no: 8, name: "lastname", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "1", maxLen: "50" } }, "tagger.tags": "alias:\"user.lastname\"" } },
828
+ { no: 9, name: "dateofbirth", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", string: { maxLen: "10" } }, "tagger.tags": "alias:\"user.dateofbirth\"" } },
829
+ { no: 10, name: "sex", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { minLen: "1", maxLen: "2" } }, "tagger.tags": "alias:\"user.sex\"" } },
830
+ { no: 11, name: "height", kind: "scalar", opt: true, T: 2 /*ScalarType.FLOAT*/, options: { "tagger.tags": "alias:\"user.height\"" } },
831
+ { no: 12, name: "phone_number", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } }, "tagger.tags": "alias:\"user.phone_number\"" } },
832
+ { no: 19, name: "phone_numbers", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => PhoneNumber, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", repeated: { maxItems: "5" } }, "tagger.tags": "alias:\"user.phone_numbers\"" } },
833
+ { no: 13, name: "visum", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } }, "tagger.tags": "alias:\"user.visum\"" } },
834
+ { no: 14, name: "playtime", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } }, "tagger.tags": "alias:\"user.playtime\"" } },
835
+ { no: 16, name: "licenses", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => License, options: { "buf.validate.field": { ignore: "IGNORE_IF_ZERO_VALUE", repeated: { maxItems: "20" } }, "tagger.tags": "alias:\"user.licenses\"" } },
836
+ { no: 17, name: "profile_picture_file_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/, options: { "buf.validate.field": { int64: { gte: "0" } }, "tagger.tags": "alias:\"user.profile_picture_file_id\"" } },
837
+ { no: 18, name: "profile_picture", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "255" } }, "tagger.tags": "alias:\"user.profile_picture\"" } }
838
+ ]);
839
+ }
840
+ create(value?: PartialMessage<DataUser>): DataUser {
841
+ const message = globalThis.Object.create((this.messagePrototype!));
842
+ message.userId = 0;
843
+ message.identifier = "";
844
+ message.job = "";
845
+ message.jobGrade = 0;
846
+ message.jobs = [];
847
+ message.firstname = "";
848
+ message.dateofbirth = "";
849
+ message.phoneNumbers = [];
850
+ message.licenses = [];
851
+ if (value !== undefined)
852
+ reflectionMergePartial<DataUser>(this, message, value);
853
+ return message;
854
+ }
855
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DataUser): DataUser {
856
+ let message = target ?? this.create(), end = reader.pos + length;
857
+ while (reader.pos < end) {
858
+ let [fieldNo, wireType] = reader.tag();
859
+ switch (fieldNo) {
860
+ case /* int32 user_id */ 1:
861
+ message.userId = reader.int32();
862
+ break;
863
+ case /* string identifier */ 2:
864
+ message.identifier = reader.string();
865
+ break;
866
+ case /* optional resources.timestamp.Timestamp updated_at */ 21:
867
+ message.updatedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.updatedAt);
868
+ break;
869
+ case /* string job */ 3:
870
+ message.job = reader.string();
871
+ break;
872
+ case /* optional string job_label */ 4:
873
+ message.jobLabel = reader.string();
874
+ break;
875
+ case /* int32 job_grade */ 5:
876
+ message.jobGrade = reader.int32();
877
+ break;
878
+ case /* optional string job_grade_label */ 6:
879
+ message.jobGradeLabel = reader.string();
880
+ break;
881
+ case /* repeated resources.users.UserJob jobs */ 20:
882
+ message.jobs.push(UserJob.internalBinaryRead(reader, reader.uint32(), options));
883
+ break;
884
+ case /* string firstname */ 7:
885
+ message.firstname = reader.string();
886
+ break;
887
+ case /* optional string lastname */ 8:
888
+ message.lastname = reader.string();
889
+ break;
890
+ case /* string dateofbirth */ 9:
891
+ message.dateofbirth = reader.string();
892
+ break;
893
+ case /* optional string sex */ 10:
894
+ message.sex = reader.string();
895
+ break;
896
+ case /* optional float height */ 11:
897
+ message.height = reader.float();
898
+ break;
899
+ case /* optional string phone_number */ 12:
900
+ message.phoneNumber = reader.string();
901
+ break;
902
+ case /* repeated resources.users.PhoneNumber phone_numbers */ 19:
903
+ message.phoneNumbers.push(PhoneNumber.internalBinaryRead(reader, reader.uint32(), options));
904
+ break;
905
+ case /* optional int32 visum */ 13:
906
+ message.visum = reader.int32();
907
+ break;
908
+ case /* optional int32 playtime */ 14:
909
+ message.playtime = reader.int32();
910
+ break;
911
+ case /* repeated resources.citizens.licenses.License licenses */ 16:
912
+ message.licenses.push(License.internalBinaryRead(reader, reader.uint32(), options));
913
+ break;
914
+ case /* optional int64 profile_picture_file_id */ 17:
915
+ message.profilePictureFileId = reader.int64().toNumber();
916
+ break;
917
+ case /* optional string profile_picture */ 18:
918
+ message.profilePicture = reader.string();
919
+ break;
920
+ default:
921
+ let u = options.readUnknownField;
922
+ if (u === "throw")
923
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
924
+ let d = reader.skip(wireType);
925
+ if (u !== false)
926
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
927
+ }
928
+ }
929
+ return message;
930
+ }
931
+ internalBinaryWrite(message: DataUser, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
932
+ /* int32 user_id = 1; */
933
+ if (message.userId !== 0)
934
+ writer.tag(1, WireType.Varint).int32(message.userId);
935
+ /* string identifier = 2; */
936
+ if (message.identifier !== "")
937
+ writer.tag(2, WireType.LengthDelimited).string(message.identifier);
938
+ /* string job = 3; */
939
+ if (message.job !== "")
940
+ writer.tag(3, WireType.LengthDelimited).string(message.job);
941
+ /* optional string job_label = 4; */
942
+ if (message.jobLabel !== undefined)
943
+ writer.tag(4, WireType.LengthDelimited).string(message.jobLabel);
944
+ /* int32 job_grade = 5; */
945
+ if (message.jobGrade !== 0)
946
+ writer.tag(5, WireType.Varint).int32(message.jobGrade);
947
+ /* optional string job_grade_label = 6; */
948
+ if (message.jobGradeLabel !== undefined)
949
+ writer.tag(6, WireType.LengthDelimited).string(message.jobGradeLabel);
950
+ /* string firstname = 7; */
951
+ if (message.firstname !== "")
952
+ writer.tag(7, WireType.LengthDelimited).string(message.firstname);
953
+ /* optional string lastname = 8; */
954
+ if (message.lastname !== undefined)
955
+ writer.tag(8, WireType.LengthDelimited).string(message.lastname);
956
+ /* string dateofbirth = 9; */
957
+ if (message.dateofbirth !== "")
958
+ writer.tag(9, WireType.LengthDelimited).string(message.dateofbirth);
959
+ /* optional string sex = 10; */
960
+ if (message.sex !== undefined)
961
+ writer.tag(10, WireType.LengthDelimited).string(message.sex);
962
+ /* optional float height = 11; */
963
+ if (message.height !== undefined)
964
+ writer.tag(11, WireType.Bit32).float(message.height);
965
+ /* optional string phone_number = 12; */
966
+ if (message.phoneNumber !== undefined)
967
+ writer.tag(12, WireType.LengthDelimited).string(message.phoneNumber);
968
+ /* optional int32 visum = 13; */
969
+ if (message.visum !== undefined)
970
+ writer.tag(13, WireType.Varint).int32(message.visum);
971
+ /* optional int32 playtime = 14; */
972
+ if (message.playtime !== undefined)
973
+ writer.tag(14, WireType.Varint).int32(message.playtime);
974
+ /* repeated resources.citizens.licenses.License licenses = 16; */
975
+ for (let i = 0; i < message.licenses.length; i++)
976
+ License.internalBinaryWrite(message.licenses[i], writer.tag(16, WireType.LengthDelimited).fork(), options).join();
977
+ /* optional int64 profile_picture_file_id = 17; */
978
+ if (message.profilePictureFileId !== undefined)
979
+ writer.tag(17, WireType.Varint).int64(message.profilePictureFileId);
980
+ /* optional string profile_picture = 18; */
981
+ if (message.profilePicture !== undefined)
982
+ writer.tag(18, WireType.LengthDelimited).string(message.profilePicture);
983
+ /* repeated resources.users.PhoneNumber phone_numbers = 19; */
984
+ for (let i = 0; i < message.phoneNumbers.length; i++)
985
+ PhoneNumber.internalBinaryWrite(message.phoneNumbers[i], writer.tag(19, WireType.LengthDelimited).fork(), options).join();
986
+ /* repeated resources.users.UserJob jobs = 20; */
987
+ for (let i = 0; i < message.jobs.length; i++)
988
+ UserJob.internalBinaryWrite(message.jobs[i], writer.tag(20, WireType.LengthDelimited).fork(), options).join();
989
+ /* optional resources.timestamp.Timestamp updated_at = 21; */
990
+ if (message.updatedAt)
991
+ Timestamp.internalBinaryWrite(message.updatedAt, writer.tag(21, WireType.LengthDelimited).fork(), options).join();
992
+ let u = options.writeUnknownFields;
993
+ if (u !== false)
994
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
995
+ return writer;
996
+ }
997
+ }
998
+ /**
999
+ * @generated MessageType for protobuf message resources.sync.data.DataUser
1000
+ */
1001
+ export const DataUser = new DataUser$Type();