@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/userinfo/user_info.proto" (package "resources.userinfo", syntax proto3)
2
+ // @generated from protobuf file "resources/userinfo/userinfo.proto" (package "resources.userinfo", syntax proto3)
3
3
  // tslint:disable
4
4
  // @ts-nocheck
5
5
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
@@ -12,18 +12,19 @@ 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 { AccountGroups } from "../accounts/accounts";
15
16
  /**
16
17
  * @generated from protobuf message resources.userinfo.UserInfo
17
18
  */
18
19
  export interface UserInfo {
19
20
  /**
20
- * @generated from protobuf field: bool enabled = 1
21
+ * @generated from protobuf field: int64 account_id = 1
21
22
  */
22
- enabled: boolean;
23
+ accountId: number;
23
24
  /**
24
- * @generated from protobuf field: int64 account_id = 2
25
+ * @generated from protobuf field: bool enabled = 2
25
26
  */
26
- accountId: number;
27
+ enabled: boolean;
27
28
  /**
28
29
  * @generated from protobuf field: string license = 3
29
30
  */
@@ -45,9 +46,9 @@ export interface UserInfo {
45
46
  */
46
47
  jobGrade: number;
47
48
  /**
48
- * @generated from protobuf field: string group = 8
49
+ * @generated from protobuf field: optional resources.accounts.AccountGroups groups = 8
49
50
  */
50
- group: string;
51
+ groups?: AccountGroups;
51
52
  /**
52
53
  * @generated from protobuf field: bool can_be_superuser = 9
53
54
  */
@@ -56,14 +57,6 @@ export interface UserInfo {
56
57
  * @generated from protobuf field: bool superuser = 10
57
58
  */
58
59
  superuser: boolean;
59
- /**
60
- * @generated from protobuf field: optional string override_job = 11
61
- */
62
- overrideJob?: string;
63
- /**
64
- * @generated from protobuf field: optional int32 override_job_grade = 12
65
- */
66
- overrideJobGrade?: number;
67
60
  }
68
61
  /**
69
62
  * PollReq: published to `userinfo.poll.request` when an active user connects or requests a refresh.
@@ -102,38 +95,44 @@ export interface UserInfoChanged {
102
95
  * @generated from protobuf field: int32 user_id = 2
103
96
  */
104
97
  userId: number;
98
+ /**
99
+ * Timestamp of when the change was detected
100
+ *
101
+ * @generated from protobuf field: resources.timestamp.Timestamp changed_at = 3
102
+ */
103
+ changedAt?: Timestamp;
105
104
  /**
106
105
  * Previous job title
107
106
  *
108
- * @generated from protobuf field: string old_job = 3
107
+ * @generated from protobuf field: string old_job = 4
109
108
  */
110
109
  oldJob: string;
111
110
  /**
112
111
  * New job title
113
112
  *
114
- * @generated from protobuf field: optional string new_job = 4
113
+ * @generated from protobuf field: optional string new_job = 5
115
114
  */
116
115
  newJob?: string;
117
116
  /**
118
- * @generated from protobuf field: optional string new_job_label = 5
117
+ * @generated from protobuf field: optional string new_job_label = 6
119
118
  */
120
119
  newJobLabel?: string;
121
120
  /**
122
121
  * Previous job grade
123
122
  *
124
- * @generated from protobuf field: int32 old_job_grade = 6
123
+ * @generated from protobuf field: int32 old_job_grade = 7
125
124
  */
126
125
  oldJobGrade: number;
127
126
  /**
128
127
  * New job grade
129
128
  *
130
- * @generated from protobuf field: optional int32 new_job_grade = 7
129
+ * @generated from protobuf field: optional int32 new_job_grade = 8
131
130
  */
132
131
  newJobGrade?: number;
133
132
  /**
134
133
  * New job grade label
135
134
  *
136
- * @generated from protobuf field: optional string new_job_grade_label = 8
135
+ * @generated from protobuf field: optional string new_job_grade_label = 9
137
136
  */
138
137
  newJobGradeLabel?: string;
139
138
  /**
@@ -148,40 +147,31 @@ export interface UserInfoChanged {
148
147
  * @generated from protobuf field: optional bool superuser = 11
149
148
  */
150
149
  superuser?: boolean;
151
- /**
152
- * Timestamp of when the change was detected
153
- *
154
- * @generated from protobuf field: resources.timestamp.Timestamp changed_at = 9
155
- */
156
- changedAt?: Timestamp;
157
150
  }
158
151
  // @generated message type with reflection information, may provide speed optimized methods
159
152
  class UserInfo$Type extends MessageType<UserInfo> {
160
153
  constructor() {
161
154
  super("resources.userinfo.UserInfo", [
162
- { no: 1, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
163
- { no: 2, name: "account_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
155
+ { no: 1, name: "account_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
156
+ { no: 2, name: "enabled", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
164
157
  { no: 3, name: "license", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
165
158
  { no: 4, name: "last_char", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
166
159
  { no: 5, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
167
160
  { no: 6, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
168
161
  { no: 7, name: "job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
169
- { no: 8, name: "group", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
162
+ { no: 8, name: "groups", kind: "message", T: () => AccountGroups },
170
163
  { no: 9, name: "can_be_superuser", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
171
- { no: 10, name: "superuser", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
172
- { no: 11, name: "override_job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
173
- { no: 12, name: "override_job_grade", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ }
164
+ { no: 10, name: "superuser", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
174
165
  ]);
175
166
  }
176
167
  create(value?: PartialMessage<UserInfo>): UserInfo {
177
168
  const message = globalThis.Object.create((this.messagePrototype!));
178
- message.enabled = false;
179
169
  message.accountId = 0;
170
+ message.enabled = false;
180
171
  message.license = "";
181
172
  message.userId = 0;
182
173
  message.job = "";
183
174
  message.jobGrade = 0;
184
- message.group = "";
185
175
  message.canBeSuperuser = false;
186
176
  message.superuser = false;
187
177
  if (value !== undefined)
@@ -193,12 +183,12 @@ class UserInfo$Type extends MessageType<UserInfo> {
193
183
  while (reader.pos < end) {
194
184
  let [fieldNo, wireType] = reader.tag();
195
185
  switch (fieldNo) {
196
- case /* bool enabled */ 1:
197
- message.enabled = reader.bool();
198
- break;
199
- case /* int64 account_id */ 2:
186
+ case /* int64 account_id */ 1:
200
187
  message.accountId = reader.int64().toNumber();
201
188
  break;
189
+ case /* bool enabled */ 2:
190
+ message.enabled = reader.bool();
191
+ break;
202
192
  case /* string license */ 3:
203
193
  message.license = reader.string();
204
194
  break;
@@ -214,8 +204,8 @@ class UserInfo$Type extends MessageType<UserInfo> {
214
204
  case /* int32 job_grade */ 7:
215
205
  message.jobGrade = reader.int32();
216
206
  break;
217
- case /* string group */ 8:
218
- message.group = reader.string();
207
+ case /* optional resources.accounts.AccountGroups groups */ 8:
208
+ message.groups = AccountGroups.internalBinaryRead(reader, reader.uint32(), options, message.groups);
219
209
  break;
220
210
  case /* bool can_be_superuser */ 9:
221
211
  message.canBeSuperuser = reader.bool();
@@ -223,12 +213,6 @@ class UserInfo$Type extends MessageType<UserInfo> {
223
213
  case /* bool superuser */ 10:
224
214
  message.superuser = reader.bool();
225
215
  break;
226
- case /* optional string override_job */ 11:
227
- message.overrideJob = reader.string();
228
- break;
229
- case /* optional int32 override_job_grade */ 12:
230
- message.overrideJobGrade = reader.int32();
231
- break;
232
216
  default:
233
217
  let u = options.readUnknownField;
234
218
  if (u === "throw")
@@ -241,12 +225,12 @@ class UserInfo$Type extends MessageType<UserInfo> {
241
225
  return message;
242
226
  }
243
227
  internalBinaryWrite(message: UserInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
244
- /* bool enabled = 1; */
245
- if (message.enabled !== false)
246
- writer.tag(1, WireType.Varint).bool(message.enabled);
247
- /* int64 account_id = 2; */
228
+ /* int64 account_id = 1; */
248
229
  if (message.accountId !== 0)
249
- writer.tag(2, WireType.Varint).int64(message.accountId);
230
+ writer.tag(1, WireType.Varint).int64(message.accountId);
231
+ /* bool enabled = 2; */
232
+ if (message.enabled !== false)
233
+ writer.tag(2, WireType.Varint).bool(message.enabled);
250
234
  /* string license = 3; */
251
235
  if (message.license !== "")
252
236
  writer.tag(3, WireType.LengthDelimited).string(message.license);
@@ -262,21 +246,15 @@ class UserInfo$Type extends MessageType<UserInfo> {
262
246
  /* int32 job_grade = 7; */
263
247
  if (message.jobGrade !== 0)
264
248
  writer.tag(7, WireType.Varint).int32(message.jobGrade);
265
- /* string group = 8; */
266
- if (message.group !== "")
267
- writer.tag(8, WireType.LengthDelimited).string(message.group);
249
+ /* optional resources.accounts.AccountGroups groups = 8; */
250
+ if (message.groups)
251
+ AccountGroups.internalBinaryWrite(message.groups, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
268
252
  /* bool can_be_superuser = 9; */
269
253
  if (message.canBeSuperuser !== false)
270
254
  writer.tag(9, WireType.Varint).bool(message.canBeSuperuser);
271
255
  /* bool superuser = 10; */
272
256
  if (message.superuser !== false)
273
257
  writer.tag(10, WireType.Varint).bool(message.superuser);
274
- /* optional string override_job = 11; */
275
- if (message.overrideJob !== undefined)
276
- writer.tag(11, WireType.LengthDelimited).string(message.overrideJob);
277
- /* optional int32 override_job_grade = 12; */
278
- if (message.overrideJobGrade !== undefined)
279
- writer.tag(12, WireType.Varint).int32(message.overrideJobGrade);
280
258
  let u = options.writeUnknownFields;
281
259
  if (u !== false)
282
260
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -348,15 +326,15 @@ class UserInfoChanged$Type extends MessageType<UserInfoChanged> {
348
326
  super("resources.userinfo.UserInfoChanged", [
349
327
  { no: 1, name: "account_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
350
328
  { no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
351
- { no: 3, name: "old_job", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
352
- { no: 4, name: "new_job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
353
- { no: 5, name: "new_job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
354
- { no: 6, name: "old_job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
355
- { no: 7, name: "new_job_grade", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
356
- { no: 8, name: "new_job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
329
+ { no: 3, name: "changed_at", kind: "message", T: () => Timestamp },
330
+ { no: 4, name: "old_job", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
331
+ { no: 5, name: "new_job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
332
+ { no: 6, name: "new_job_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
333
+ { no: 7, name: "old_job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
334
+ { no: 8, name: "new_job_grade", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
335
+ { no: 9, name: "new_job_grade_label", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
357
336
  { no: 10, name: "can_be_superuser", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
358
- { no: 11, name: "superuser", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
359
- { no: 9, name: "changed_at", kind: "message", T: () => Timestamp }
337
+ { no: 11, name: "superuser", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
360
338
  ]);
361
339
  }
362
340
  create(value?: PartialMessage<UserInfoChanged>): UserInfoChanged {
@@ -380,22 +358,25 @@ class UserInfoChanged$Type extends MessageType<UserInfoChanged> {
380
358
  case /* int32 user_id */ 2:
381
359
  message.userId = reader.int32();
382
360
  break;
383
- case /* string old_job */ 3:
361
+ case /* resources.timestamp.Timestamp changed_at */ 3:
362
+ message.changedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.changedAt);
363
+ break;
364
+ case /* string old_job */ 4:
384
365
  message.oldJob = reader.string();
385
366
  break;
386
- case /* optional string new_job */ 4:
367
+ case /* optional string new_job */ 5:
387
368
  message.newJob = reader.string();
388
369
  break;
389
- case /* optional string new_job_label */ 5:
370
+ case /* optional string new_job_label */ 6:
390
371
  message.newJobLabel = reader.string();
391
372
  break;
392
- case /* int32 old_job_grade */ 6:
373
+ case /* int32 old_job_grade */ 7:
393
374
  message.oldJobGrade = reader.int32();
394
375
  break;
395
- case /* optional int32 new_job_grade */ 7:
376
+ case /* optional int32 new_job_grade */ 8:
396
377
  message.newJobGrade = reader.int32();
397
378
  break;
398
- case /* optional string new_job_grade_label */ 8:
379
+ case /* optional string new_job_grade_label */ 9:
399
380
  message.newJobGradeLabel = reader.string();
400
381
  break;
401
382
  case /* optional bool can_be_superuser */ 10:
@@ -404,9 +385,6 @@ class UserInfoChanged$Type extends MessageType<UserInfoChanged> {
404
385
  case /* optional bool superuser */ 11:
405
386
  message.superuser = reader.bool();
406
387
  break;
407
- case /* resources.timestamp.Timestamp changed_at */ 9:
408
- message.changedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.changedAt);
409
- break;
410
388
  default:
411
389
  let u = options.readUnknownField;
412
390
  if (u === "throw")
@@ -425,27 +403,27 @@ class UserInfoChanged$Type extends MessageType<UserInfoChanged> {
425
403
  /* int32 user_id = 2; */
426
404
  if (message.userId !== 0)
427
405
  writer.tag(2, WireType.Varint).int32(message.userId);
428
- /* string old_job = 3; */
406
+ /* resources.timestamp.Timestamp changed_at = 3; */
407
+ if (message.changedAt)
408
+ Timestamp.internalBinaryWrite(message.changedAt, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
409
+ /* string old_job = 4; */
429
410
  if (message.oldJob !== "")
430
- writer.tag(3, WireType.LengthDelimited).string(message.oldJob);
431
- /* optional string new_job = 4; */
411
+ writer.tag(4, WireType.LengthDelimited).string(message.oldJob);
412
+ /* optional string new_job = 5; */
432
413
  if (message.newJob !== undefined)
433
- writer.tag(4, WireType.LengthDelimited).string(message.newJob);
434
- /* optional string new_job_label = 5; */
414
+ writer.tag(5, WireType.LengthDelimited).string(message.newJob);
415
+ /* optional string new_job_label = 6; */
435
416
  if (message.newJobLabel !== undefined)
436
- writer.tag(5, WireType.LengthDelimited).string(message.newJobLabel);
437
- /* int32 old_job_grade = 6; */
417
+ writer.tag(6, WireType.LengthDelimited).string(message.newJobLabel);
418
+ /* int32 old_job_grade = 7; */
438
419
  if (message.oldJobGrade !== 0)
439
- writer.tag(6, WireType.Varint).int32(message.oldJobGrade);
440
- /* optional int32 new_job_grade = 7; */
420
+ writer.tag(7, WireType.Varint).int32(message.oldJobGrade);
421
+ /* optional int32 new_job_grade = 8; */
441
422
  if (message.newJobGrade !== undefined)
442
- writer.tag(7, WireType.Varint).int32(message.newJobGrade);
443
- /* optional string new_job_grade_label = 8; */
423
+ writer.tag(8, WireType.Varint).int32(message.newJobGrade);
424
+ /* optional string new_job_grade_label = 9; */
444
425
  if (message.newJobGradeLabel !== undefined)
445
- writer.tag(8, WireType.LengthDelimited).string(message.newJobGradeLabel);
446
- /* resources.timestamp.Timestamp changed_at = 9; */
447
- if (message.changedAt)
448
- Timestamp.internalBinaryWrite(message.changedAt, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
426
+ writer.tag(9, WireType.LengthDelimited).string(message.newJobGradeLabel);
449
427
  /* optional bool can_be_superuser = 10; */
450
428
  if (message.canBeSuperuser !== undefined)
451
429
  writer.tag(10, WireType.Varint).bool(message.canBeSuperuser);