@fivenet-app/gen 2025.5.2 → 2025.9.1

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 (169) hide show
  1. package/buf/validate/validate.ts +11301 -0
  2. package/clients.ts +157 -154
  3. package/codegen/dbscanner/dbscanner.ts +91 -0
  4. package/codegen/perms/perms.ts +208 -0
  5. package/codegen/sanitizer/sanitizer.ts +80 -0
  6. package/google/protobuf/any.ts +4 -3
  7. package/google/protobuf/descriptor.ts +393 -239
  8. package/google/protobuf/duration.ts +4 -3
  9. package/google/protobuf/struct.ts +485 -0
  10. package/google/protobuf/timestamp.ts +4 -3
  11. package/package.json +3 -3
  12. package/perms.ts +85 -159
  13. package/resources/accounts/accounts.ts +26 -25
  14. package/resources/accounts/oauth2.ts +30 -29
  15. package/resources/audit/audit.ts +36 -35
  16. package/resources/calendar/access.ts +49 -48
  17. package/resources/calendar/calendar.ts +122 -126
  18. package/resources/centrum/access.ts +345 -0
  19. package/resources/centrum/attributes.ts +8 -11
  20. package/resources/centrum/dispatchers.ts +149 -0
  21. package/resources/centrum/dispatches.ts +252 -115
  22. package/resources/centrum/settings.ts +384 -34
  23. package/resources/centrum/units.ts +112 -92
  24. package/resources/centrum/units_access.ts +54 -55
  25. package/resources/clientconfig/clientconfig.ts +890 -0
  26. package/resources/collab/collab.ts +817 -0
  27. package/resources/common/content/content.ts +113 -30
  28. package/resources/common/cron/cron.ts +43 -31
  29. package/resources/common/database/database.ts +92 -35
  30. package/resources/common/error.ts +17 -16
  31. package/resources/common/grpcws/grpcws.ts +24 -23
  32. package/resources/common/i18n.ts +20 -24
  33. package/resources/common/id_mapping.ts +69 -0
  34. package/resources/common/tests/objects.ts +4 -3
  35. package/resources/common/uuid.ts +4 -3
  36. package/resources/discord/discord.ts +209 -0
  37. package/resources/documents/access.ts +52 -53
  38. package/resources/documents/activity.ts +235 -58
  39. package/resources/documents/category.ts +20 -27
  40. package/resources/documents/comment.ts +26 -25
  41. package/resources/documents/documents.ts +335 -262
  42. package/resources/documents/pins.ts +127 -0
  43. package/resources/documents/requests.ts +31 -30
  44. package/resources/documents/signoff.ts +55 -0
  45. package/resources/documents/state.ts +69 -0
  46. package/resources/documents/templates.ts +119 -136
  47. package/resources/documents/workflow.ts +35 -24
  48. package/resources/file/file.ts +152 -0
  49. package/{services/settings → resources/file}/filestore.ts +179 -165
  50. package/resources/file/meta.ts +148 -0
  51. package/resources/jobs/activity.ts +39 -42
  52. package/resources/jobs/colleagues.ts +67 -60
  53. package/resources/jobs/conduct.ts +29 -30
  54. package/resources/jobs/job_props.ts +46 -48
  55. package/resources/jobs/job_settings.ts +45 -52
  56. package/resources/jobs/jobs.ts +14 -13
  57. package/resources/jobs/labels.ts +21 -22
  58. package/resources/jobs/timeclock.ts +26 -25
  59. package/resources/laws/laws.ts +40 -49
  60. package/resources/livemap/coords.ts +81 -0
  61. package/resources/livemap/heatmap.ts +93 -0
  62. package/resources/livemap/{livemap.ts → marker_marker.ts} +43 -310
  63. package/resources/livemap/user_marker.ts +298 -0
  64. package/resources/mailer/access.ts +75 -74
  65. package/resources/mailer/email.ts +24 -27
  66. package/resources/mailer/events.ts +25 -24
  67. package/resources/mailer/message.ts +45 -50
  68. package/resources/mailer/settings.ts +12 -15
  69. package/resources/mailer/template.ts +25 -28
  70. package/resources/mailer/thread.ts +70 -71
  71. package/resources/notifications/client_view.ts +239 -0
  72. package/resources/notifications/events.ts +50 -101
  73. package/resources/notifications/notifications.ts +52 -57
  74. package/resources/permissions/attributes.ts +63 -206
  75. package/resources/permissions/events.ts +149 -0
  76. package/resources/permissions/permissions.ts +103 -34
  77. package/resources/qualifications/access.ts +27 -26
  78. package/resources/qualifications/exam.ts +188 -126
  79. package/resources/qualifications/qualifications.ts +370 -303
  80. package/resources/settings/banner.ts +14 -21
  81. package/resources/settings/config.ts +163 -79
  82. package/resources/settings/perms.ts +151 -0
  83. package/resources/settings/status.ts +533 -0
  84. package/resources/stats/stats.ts +3 -2
  85. package/resources/sync/activity.ts +24 -23
  86. package/resources/sync/data.ts +94 -26
  87. package/resources/timestamp/timestamp.ts +3 -2
  88. package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
  89. package/resources/userinfo/user_info.ts +464 -0
  90. package/resources/users/activity.ts +80 -85
  91. package/resources/users/labels.ts +18 -21
  92. package/resources/users/licenses.ts +9 -8
  93. package/resources/users/props.ts +61 -51
  94. package/resources/users/users.ts +100 -78
  95. package/resources/vehicles/activity.ts +231 -0
  96. package/resources/vehicles/props.ts +103 -0
  97. package/resources/vehicles/vehicles.ts +28 -15
  98. package/resources/wiki/access.ts +49 -48
  99. package/resources/wiki/activity.ts +133 -51
  100. package/resources/wiki/page.ts +134 -87
  101. package/services/auth/auth.client.ts +24 -27
  102. package/services/auth/auth.ts +222 -195
  103. package/services/calendar/calendar.client.ts +32 -91
  104. package/services/calendar/calendar.ts +110 -109
  105. package/services/centrum/centrum.client.ts +97 -137
  106. package/services/centrum/centrum.ts +701 -298
  107. package/services/citizens/citizens.client.ts +70 -39
  108. package/services/citizens/citizens.ts +183 -93
  109. package/services/completor/completor.client.ts +16 -35
  110. package/services/completor/completor.ts +65 -44
  111. package/services/documents/collab.client.ts +46 -0
  112. package/services/documents/collab.ts +13 -0
  113. package/services/documents/documents.client.ts +88 -217
  114. package/services/documents/documents.ts +490 -508
  115. package/services/filestore/filestore.client.ts +86 -0
  116. package/services/filestore/filestore.ts +262 -0
  117. package/services/jobs/conduct.client.ts +10 -25
  118. package/services/jobs/conduct.ts +36 -35
  119. package/services/jobs/jobs.client.ts +22 -61
  120. package/services/jobs/jobs.ts +108 -91
  121. package/services/jobs/timeclock.client.ts +8 -19
  122. package/services/jobs/timeclock.ts +47 -46
  123. package/services/livemap/livemap.client.ts +8 -19
  124. package/services/livemap/livemap.ts +290 -119
  125. package/services/mailer/mailer.client.ts +44 -127
  126. package/services/mailer/mailer.ts +213 -216
  127. package/services/notifications/notifications.client.ts +65 -0
  128. package/services/{notificator/notificator.ts → notifications/notifications.ts} +117 -74
  129. package/services/qualifications/qualifications.client.ts +46 -91
  130. package/services/qualifications/qualifications.ts +181 -175
  131. package/services/settings/accounts.client.ts +10 -25
  132. package/services/settings/accounts.ts +64 -41
  133. package/services/settings/config.client.ts +6 -13
  134. package/services/settings/config.ts +8 -7
  135. package/services/settings/cron.client.ts +4 -7
  136. package/services/settings/cron.ts +4 -3
  137. package/services/settings/laws.client.ts +10 -25
  138. package/services/settings/laws.ts +29 -28
  139. package/services/settings/settings.client.ts +57 -103
  140. package/services/settings/settings.ts +190 -607
  141. package/services/settings/system.client.ts +90 -0
  142. package/services/settings/system.ts +618 -0
  143. package/services/stats/stats.client.ts +4 -3
  144. package/services/stats/stats.ts +4 -3
  145. package/services/sync/sync.client.ts +16 -15
  146. package/services/sync/sync.ts +82 -52
  147. package/services/vehicles/vehicles.client.ts +17 -7
  148. package/services/vehicles/vehicles.ts +169 -24
  149. package/services/wiki/collab.client.ts +46 -0
  150. package/services/wiki/collab.ts +13 -0
  151. package/services/wiki/wiki.client.ts +28 -37
  152. package/services/wiki/wiki.ts +93 -63
  153. package/svcs.ts +79 -103
  154. package/resources/centrum/disponents.ts +0 -81
  155. package/resources/filestore/file.ts +0 -204
  156. package/resources/internet/access.ts +0 -358
  157. package/resources/internet/ads.ts +0 -257
  158. package/resources/internet/domain.ts +0 -328
  159. package/resources/internet/page.ts +0 -428
  160. package/resources/internet/search.ts +0 -128
  161. package/resources/livemap/tracker.ts +0 -81
  162. package/services/internet/ads.client.ts +0 -41
  163. package/services/internet/ads.ts +0 -145
  164. package/services/internet/domain.client.ts +0 -109
  165. package/services/internet/domain.ts +0 -658
  166. package/services/internet/internet.client.ts +0 -58
  167. package/services/internet/internet.ts +0 -268
  168. package/services/notificator/notificator.client.ts +0 -76
  169. package/services/settings/filestore.client.ts +0 -75
@@ -0,0 +1,464 @@
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)
3
+ // tslint:disable
4
+ // @ts-nocheck
5
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
7
+ import { WireType } from "@protobuf-ts/runtime";
8
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
9
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
10
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
11
+ import type { PartialMessage } from "@protobuf-ts/runtime";
12
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
13
+ import { MessageType } from "@protobuf-ts/runtime";
14
+ import { Timestamp } from "../timestamp/timestamp";
15
+ /**
16
+ * @generated from protobuf message resources.userinfo.UserInfo
17
+ */
18
+ export interface UserInfo {
19
+ /**
20
+ * @generated from protobuf field: bool enabled = 1
21
+ */
22
+ enabled: boolean;
23
+ /**
24
+ * @generated from protobuf field: int64 account_id = 2
25
+ */
26
+ accountId: number;
27
+ /**
28
+ * @generated from protobuf field: string license = 3
29
+ */
30
+ license: string;
31
+ /**
32
+ * @generated from protobuf field: optional int32 last_char = 4
33
+ */
34
+ lastChar?: number;
35
+ /**
36
+ * @generated from protobuf field: int32 user_id = 5
37
+ */
38
+ userId: number;
39
+ /**
40
+ * @generated from protobuf field: string job = 6
41
+ */
42
+ job: string;
43
+ /**
44
+ * @generated from protobuf field: int32 job_grade = 7
45
+ */
46
+ jobGrade: number;
47
+ /**
48
+ * @generated from protobuf field: string group = 8
49
+ */
50
+ group: string;
51
+ /**
52
+ * @generated from protobuf field: bool can_be_superuser = 9
53
+ */
54
+ canBeSuperuser: boolean;
55
+ /**
56
+ * @generated from protobuf field: bool superuser = 10
57
+ */
58
+ 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
+ }
68
+ /**
69
+ * PollReq: published to `userinfo.poll.request` when an active user connects or requests a refresh.
70
+ *
71
+ * @generated from protobuf message resources.userinfo.PollReq
72
+ */
73
+ export interface PollReq {
74
+ /**
75
+ * The account the user belongs to
76
+ *
77
+ * @generated from protobuf field: int64 account_id = 1
78
+ */
79
+ accountId: number;
80
+ /**
81
+ * The unique user identifier within the account
82
+ *
83
+ * @generated from protobuf field: int32 user_id = 2
84
+ */
85
+ userId: number;
86
+ }
87
+ /**
88
+ * UserInfoChanged used to signal Job or JobGrade changes.
89
+ *
90
+ * @generated from protobuf message resources.userinfo.UserInfoChanged
91
+ */
92
+ export interface UserInfoChanged {
93
+ /**
94
+ * The account the user belongs to
95
+ *
96
+ * @generated from protobuf field: int64 account_id = 1
97
+ */
98
+ accountId: number;
99
+ /**
100
+ * The unique user identifier within the account
101
+ *
102
+ * @generated from protobuf field: int32 user_id = 2
103
+ */
104
+ userId: number;
105
+ /**
106
+ * Previous job title
107
+ *
108
+ * @generated from protobuf field: string old_job = 3
109
+ */
110
+ oldJob: string;
111
+ /**
112
+ * New job title
113
+ *
114
+ * @generated from protobuf field: optional string new_job = 4
115
+ */
116
+ newJob?: string;
117
+ /**
118
+ * @generated from protobuf field: optional string new_job_label = 5
119
+ */
120
+ newJobLabel?: string;
121
+ /**
122
+ * Previous job grade
123
+ *
124
+ * @generated from protobuf field: int32 old_job_grade = 6
125
+ */
126
+ oldJobGrade: number;
127
+ /**
128
+ * New job grade
129
+ *
130
+ * @generated from protobuf field: optional int32 new_job_grade = 7
131
+ */
132
+ newJobGrade?: number;
133
+ /**
134
+ * New job grade label
135
+ *
136
+ * @generated from protobuf field: optional string new_job_grade_label = 8
137
+ */
138
+ newJobGradeLabel?: string;
139
+ /**
140
+ * Can the user be superuser (by group or license)
141
+ *
142
+ * @generated from protobuf field: optional bool can_be_superuser = 10
143
+ */
144
+ canBeSuperuser?: boolean;
145
+ /**
146
+ * Superuser state
147
+ *
148
+ * @generated from protobuf field: optional bool superuser = 11
149
+ */
150
+ 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
+ }
158
+ // @generated message type with reflection information, may provide speed optimized methods
159
+ class UserInfo$Type extends MessageType<UserInfo> {
160
+ constructor() {
161
+ 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*/ },
164
+ { no: 3, name: "license", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
165
+ { no: 4, name: "last_char", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/ },
166
+ { no: 5, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
167
+ { no: 6, name: "job", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
168
+ { no: 7, name: "job_grade", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
169
+ { no: 8, name: "group", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
170
+ { 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*/ }
174
+ ]);
175
+ }
176
+ create(value?: PartialMessage<UserInfo>): UserInfo {
177
+ const message = globalThis.Object.create((this.messagePrototype!));
178
+ message.enabled = false;
179
+ message.accountId = 0;
180
+ message.license = "";
181
+ message.userId = 0;
182
+ message.job = "";
183
+ message.jobGrade = 0;
184
+ message.group = "";
185
+ message.canBeSuperuser = false;
186
+ message.superuser = false;
187
+ if (value !== undefined)
188
+ reflectionMergePartial<UserInfo>(this, message, value);
189
+ return message;
190
+ }
191
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserInfo): UserInfo {
192
+ let message = target ?? this.create(), end = reader.pos + length;
193
+ while (reader.pos < end) {
194
+ let [fieldNo, wireType] = reader.tag();
195
+ switch (fieldNo) {
196
+ case /* bool enabled */ 1:
197
+ message.enabled = reader.bool();
198
+ break;
199
+ case /* int64 account_id */ 2:
200
+ message.accountId = reader.int64().toNumber();
201
+ break;
202
+ case /* string license */ 3:
203
+ message.license = reader.string();
204
+ break;
205
+ case /* optional int32 last_char */ 4:
206
+ message.lastChar = reader.int32();
207
+ break;
208
+ case /* int32 user_id */ 5:
209
+ message.userId = reader.int32();
210
+ break;
211
+ case /* string job */ 6:
212
+ message.job = reader.string();
213
+ break;
214
+ case /* int32 job_grade */ 7:
215
+ message.jobGrade = reader.int32();
216
+ break;
217
+ case /* string group */ 8:
218
+ message.group = reader.string();
219
+ break;
220
+ case /* bool can_be_superuser */ 9:
221
+ message.canBeSuperuser = reader.bool();
222
+ break;
223
+ case /* bool superuser */ 10:
224
+ message.superuser = reader.bool();
225
+ 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
+ default:
233
+ let u = options.readUnknownField;
234
+ if (u === "throw")
235
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
236
+ let d = reader.skip(wireType);
237
+ if (u !== false)
238
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
239
+ }
240
+ }
241
+ return message;
242
+ }
243
+ 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; */
248
+ if (message.accountId !== 0)
249
+ writer.tag(2, WireType.Varint).int64(message.accountId);
250
+ /* string license = 3; */
251
+ if (message.license !== "")
252
+ writer.tag(3, WireType.LengthDelimited).string(message.license);
253
+ /* optional int32 last_char = 4; */
254
+ if (message.lastChar !== undefined)
255
+ writer.tag(4, WireType.Varint).int32(message.lastChar);
256
+ /* int32 user_id = 5; */
257
+ if (message.userId !== 0)
258
+ writer.tag(5, WireType.Varint).int32(message.userId);
259
+ /* string job = 6; */
260
+ if (message.job !== "")
261
+ writer.tag(6, WireType.LengthDelimited).string(message.job);
262
+ /* int32 job_grade = 7; */
263
+ if (message.jobGrade !== 0)
264
+ 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);
268
+ /* bool can_be_superuser = 9; */
269
+ if (message.canBeSuperuser !== false)
270
+ writer.tag(9, WireType.Varint).bool(message.canBeSuperuser);
271
+ /* bool superuser = 10; */
272
+ if (message.superuser !== false)
273
+ 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
+ let u = options.writeUnknownFields;
281
+ if (u !== false)
282
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
283
+ return writer;
284
+ }
285
+ }
286
+ /**
287
+ * @generated MessageType for protobuf message resources.userinfo.UserInfo
288
+ */
289
+ export const UserInfo = new UserInfo$Type();
290
+ // @generated message type with reflection information, may provide speed optimized methods
291
+ class PollReq$Type extends MessageType<PollReq> {
292
+ constructor() {
293
+ super("resources.userinfo.PollReq", [
294
+ { no: 1, name: "account_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
295
+ { no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ }
296
+ ]);
297
+ }
298
+ create(value?: PartialMessage<PollReq>): PollReq {
299
+ const message = globalThis.Object.create((this.messagePrototype!));
300
+ message.accountId = 0;
301
+ message.userId = 0;
302
+ if (value !== undefined)
303
+ reflectionMergePartial<PollReq>(this, message, value);
304
+ return message;
305
+ }
306
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: PollReq): PollReq {
307
+ let message = target ?? this.create(), end = reader.pos + length;
308
+ while (reader.pos < end) {
309
+ let [fieldNo, wireType] = reader.tag();
310
+ switch (fieldNo) {
311
+ case /* int64 account_id */ 1:
312
+ message.accountId = reader.int64().toNumber();
313
+ break;
314
+ case /* int32 user_id */ 2:
315
+ message.userId = reader.int32();
316
+ break;
317
+ default:
318
+ let u = options.readUnknownField;
319
+ if (u === "throw")
320
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
321
+ let d = reader.skip(wireType);
322
+ if (u !== false)
323
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
324
+ }
325
+ }
326
+ return message;
327
+ }
328
+ internalBinaryWrite(message: PollReq, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
329
+ /* int64 account_id = 1; */
330
+ if (message.accountId !== 0)
331
+ writer.tag(1, WireType.Varint).int64(message.accountId);
332
+ /* int32 user_id = 2; */
333
+ if (message.userId !== 0)
334
+ writer.tag(2, WireType.Varint).int32(message.userId);
335
+ let u = options.writeUnknownFields;
336
+ if (u !== false)
337
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
338
+ return writer;
339
+ }
340
+ }
341
+ /**
342
+ * @generated MessageType for protobuf message resources.userinfo.PollReq
343
+ */
344
+ export const PollReq = new PollReq$Type();
345
+ // @generated message type with reflection information, may provide speed optimized methods
346
+ class UserInfoChanged$Type extends MessageType<UserInfoChanged> {
347
+ constructor() {
348
+ super("resources.userinfo.UserInfoChanged", [
349
+ { no: 1, name: "account_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
350
+ { 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*/ },
357
+ { 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 }
360
+ ]);
361
+ }
362
+ create(value?: PartialMessage<UserInfoChanged>): UserInfoChanged {
363
+ const message = globalThis.Object.create((this.messagePrototype!));
364
+ message.accountId = 0;
365
+ message.userId = 0;
366
+ message.oldJob = "";
367
+ message.oldJobGrade = 0;
368
+ if (value !== undefined)
369
+ reflectionMergePartial<UserInfoChanged>(this, message, value);
370
+ return message;
371
+ }
372
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UserInfoChanged): UserInfoChanged {
373
+ let message = target ?? this.create(), end = reader.pos + length;
374
+ while (reader.pos < end) {
375
+ let [fieldNo, wireType] = reader.tag();
376
+ switch (fieldNo) {
377
+ case /* int64 account_id */ 1:
378
+ message.accountId = reader.int64().toNumber();
379
+ break;
380
+ case /* int32 user_id */ 2:
381
+ message.userId = reader.int32();
382
+ break;
383
+ case /* string old_job */ 3:
384
+ message.oldJob = reader.string();
385
+ break;
386
+ case /* optional string new_job */ 4:
387
+ message.newJob = reader.string();
388
+ break;
389
+ case /* optional string new_job_label */ 5:
390
+ message.newJobLabel = reader.string();
391
+ break;
392
+ case /* int32 old_job_grade */ 6:
393
+ message.oldJobGrade = reader.int32();
394
+ break;
395
+ case /* optional int32 new_job_grade */ 7:
396
+ message.newJobGrade = reader.int32();
397
+ break;
398
+ case /* optional string new_job_grade_label */ 8:
399
+ message.newJobGradeLabel = reader.string();
400
+ break;
401
+ case /* optional bool can_be_superuser */ 10:
402
+ message.canBeSuperuser = reader.bool();
403
+ break;
404
+ case /* optional bool superuser */ 11:
405
+ message.superuser = reader.bool();
406
+ break;
407
+ case /* resources.timestamp.Timestamp changed_at */ 9:
408
+ message.changedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.changedAt);
409
+ break;
410
+ default:
411
+ let u = options.readUnknownField;
412
+ if (u === "throw")
413
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
414
+ let d = reader.skip(wireType);
415
+ if (u !== false)
416
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
417
+ }
418
+ }
419
+ return message;
420
+ }
421
+ internalBinaryWrite(message: UserInfoChanged, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
422
+ /* int64 account_id = 1; */
423
+ if (message.accountId !== 0)
424
+ writer.tag(1, WireType.Varint).int64(message.accountId);
425
+ /* int32 user_id = 2; */
426
+ if (message.userId !== 0)
427
+ writer.tag(2, WireType.Varint).int32(message.userId);
428
+ /* string old_job = 3; */
429
+ if (message.oldJob !== "")
430
+ writer.tag(3, WireType.LengthDelimited).string(message.oldJob);
431
+ /* optional string new_job = 4; */
432
+ if (message.newJob !== undefined)
433
+ writer.tag(4, WireType.LengthDelimited).string(message.newJob);
434
+ /* optional string new_job_label = 5; */
435
+ if (message.newJobLabel !== undefined)
436
+ writer.tag(5, WireType.LengthDelimited).string(message.newJobLabel);
437
+ /* int32 old_job_grade = 6; */
438
+ if (message.oldJobGrade !== 0)
439
+ writer.tag(6, WireType.Varint).int32(message.oldJobGrade);
440
+ /* optional int32 new_job_grade = 7; */
441
+ if (message.newJobGrade !== undefined)
442
+ writer.tag(7, WireType.Varint).int32(message.newJobGrade);
443
+ /* optional string new_job_grade_label = 8; */
444
+ 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();
449
+ /* optional bool can_be_superuser = 10; */
450
+ if (message.canBeSuperuser !== undefined)
451
+ writer.tag(10, WireType.Varint).bool(message.canBeSuperuser);
452
+ /* optional bool superuser = 11; */
453
+ if (message.superuser !== undefined)
454
+ writer.tag(11, WireType.Varint).bool(message.superuser);
455
+ let u = options.writeUnknownFields;
456
+ if (u !== false)
457
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
458
+ return writer;
459
+ }
460
+ }
461
+ /**
462
+ * @generated MessageType for protobuf message resources.userinfo.UserInfoChanged
463
+ */
464
+ export const UserInfoChanged = new UserInfoChanged$Type();