@fivenet-app/gen 2025.4.8 → 2025.5.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (136) hide show
  1. package/README.md +7 -1
  2. package/clients.ts +48 -42
  3. package/google/protobuf/any.ts +1 -1
  4. package/google/protobuf/descriptor.ts +108 -50
  5. package/google/protobuf/duration.ts +1 -1
  6. package/google/protobuf/timestamp.ts +1 -1
  7. package/package.json +3 -2
  8. package/perms.ts +96 -91
  9. package/resources/accounts/accounts.ts +39 -3
  10. package/resources/accounts/oauth2.ts +6 -6
  11. package/resources/{rector → audit}/audit.ts +22 -23
  12. package/resources/calendar/access.ts +4 -4
  13. package/resources/calendar/calendar.ts +1 -1
  14. package/resources/centrum/attributes.ts +6 -2
  15. package/resources/centrum/dispatches.ts +4 -4
  16. package/resources/centrum/disponents.ts +2 -2
  17. package/resources/centrum/settings.ts +3 -3
  18. package/resources/centrum/units.ts +4 -4
  19. package/resources/centrum/{access.ts → units_access.ts} +4 -4
  20. package/resources/centrum/user_unit.ts +2 -2
  21. package/resources/common/content/content.ts +2 -2
  22. package/resources/common/cron/cron.ts +53 -12
  23. package/resources/common/database/database.ts +1 -1
  24. package/resources/common/error.ts +1 -1
  25. package/resources/common/grpcws/grpcws.ts +1 -1
  26. package/resources/common/i18n.ts +1 -1
  27. package/resources/common/tests/objects.ts +1 -1
  28. package/resources/common/uuid.ts +1 -1
  29. package/resources/documents/access.ts +4 -4
  30. package/resources/documents/activity.ts +7 -7
  31. package/resources/documents/category.ts +49 -26
  32. package/resources/documents/comment.ts +1 -1
  33. package/resources/documents/documents.ts +1 -1
  34. package/resources/documents/requests.ts +1 -1
  35. package/resources/documents/templates.ts +5 -5
  36. package/resources/documents/workflow.ts +2 -2
  37. package/resources/filestore/file.ts +1 -1
  38. package/resources/internet/access.ts +4 -4
  39. package/resources/internet/ads.ts +1 -1
  40. package/resources/internet/domain.ts +1 -1
  41. package/resources/internet/page.ts +3 -3
  42. package/resources/internet/search.ts +1 -1
  43. package/resources/jobs/activity.ts +114 -114
  44. package/resources/jobs/colleagues.ts +59 -48
  45. package/resources/jobs/conduct.ts +52 -41
  46. package/resources/{users → jobs}/job_props.ts +28 -29
  47. package/resources/{users → jobs}/job_settings.ts +54 -54
  48. package/resources/{users → jobs}/jobs.ts +12 -12
  49. package/resources/jobs/labels.ts +29 -17
  50. package/resources/jobs/timeclock.ts +7 -7
  51. package/resources/laws/laws.ts +2 -2
  52. package/resources/livemap/livemap.ts +1 -1
  53. package/resources/livemap/tracker.ts +3 -3
  54. package/resources/mailer/access.ts +5 -5
  55. package/resources/mailer/email.ts +11 -23
  56. package/resources/mailer/events.ts +1 -1
  57. package/resources/mailer/message.ts +2 -2
  58. package/resources/mailer/settings.ts +1 -1
  59. package/resources/mailer/template.ts +1 -1
  60. package/resources/mailer/thread.ts +2 -2
  61. package/resources/notifications/events.ts +9 -9
  62. package/resources/notifications/notifications.ts +1 -1
  63. package/resources/permissions/attributes.ts +689 -0
  64. package/resources/permissions/permissions.ts +4 -727
  65. package/resources/qualifications/access.ts +2 -2
  66. package/resources/qualifications/exam.ts +7 -7
  67. package/resources/qualifications/qualifications.ts +9 -9
  68. package/resources/{rector → settings}/banner.ts +5 -5
  69. package/resources/{rector → settings}/config.ts +83 -83
  70. package/resources/stats/stats.ts +1 -1
  71. package/resources/sync/activity.ts +20 -20
  72. package/resources/sync/data.ts +26 -26
  73. package/resources/timestamp/timestamp.ts +1 -1
  74. package/resources/users/activity.ts +196 -196
  75. package/resources/users/labels.ts +28 -28
  76. package/resources/users/licenses.ts +12 -12
  77. package/resources/users/props.ts +28 -17
  78. package/resources/users/users.ts +2 -2
  79. package/resources/vehicles/vehicles.ts +4 -4
  80. package/resources/wiki/access.ts +4 -4
  81. package/resources/wiki/activity.ts +7 -7
  82. package/resources/wiki/page.ts +2 -2
  83. package/services/auth/auth.client.ts +8 -8
  84. package/services/auth/auth.ts +32 -32
  85. package/services/calendar/calendar.client.ts +1 -1
  86. package/services/calendar/calendar.ts +6 -6
  87. package/services/centrum/centrum.client.ts +1 -1
  88. package/services/centrum/centrum.ts +8 -8
  89. package/services/{citizenstore/citizenstore.client.ts → citizens/citizens.client.ts} +37 -37
  90. package/services/{citizenstore/citizenstore.ts → citizens/citizens.ts} +72 -72
  91. package/services/completor/completor.client.ts +1 -1
  92. package/services/completor/completor.ts +17 -17
  93. package/services/{docstore/docstore.client.ts → documents/documents.client.ts} +163 -180
  94. package/services/{docstore/docstore.ts → documents/documents.ts} +280 -377
  95. package/services/internet/ads.client.ts +1 -1
  96. package/services/internet/ads.ts +2 -2
  97. package/services/internet/domain.client.ts +1 -1
  98. package/services/internet/domain.ts +3 -3
  99. package/services/internet/internet.client.ts +1 -1
  100. package/services/internet/internet.ts +2 -2
  101. package/services/jobs/conduct.client.ts +9 -9
  102. package/services/jobs/conduct.ts +4 -4
  103. package/services/jobs/jobs.client.ts +15 -15
  104. package/services/jobs/jobs.ts +77 -77
  105. package/services/jobs/timeclock.client.ts +9 -9
  106. package/services/jobs/timeclock.ts +15 -15
  107. package/services/{livemapper → livemap}/livemap.client.ts +16 -16
  108. package/services/{livemapper → livemap}/livemap.ts +63 -52
  109. package/services/mailer/mailer.client.ts +5 -5
  110. package/services/mailer/mailer.ts +6 -6
  111. package/services/notificator/notificator.client.ts +1 -1
  112. package/services/notificator/notificator.ts +5 -5
  113. package/services/qualifications/qualifications.client.ts +1 -1
  114. package/services/qualifications/qualifications.ts +4 -4
  115. package/services/settings/accounts.client.ts +92 -0
  116. package/services/settings/accounts.ts +526 -0
  117. package/services/{rector → settings}/config.client.ts +18 -18
  118. package/services/{rector → settings}/config.ts +26 -26
  119. package/services/settings/cron.client.ts +41 -0
  120. package/services/settings/cron.ts +119 -0
  121. package/services/{rector → settings}/filestore.client.ts +22 -22
  122. package/services/{rector → settings}/filestore.ts +23 -23
  123. package/services/{rector → settings}/laws.client.ts +26 -26
  124. package/services/{rector → settings}/laws.ts +28 -28
  125. package/services/settings/settings.client.ts +262 -0
  126. package/services/{rector/rector.ts → settings/settings.ts} +558 -149
  127. package/services/stats/stats.client.ts +1 -1
  128. package/services/stats/stats.ts +1 -1
  129. package/services/sync/sync.client.ts +1 -1
  130. package/services/sync/sync.ts +33 -33
  131. package/services/{dmv → vehicles}/vehicles.client.ts +12 -12
  132. package/services/{dmv → vehicles}/vehicles.ts +11 -11
  133. package/services/wiki/wiki.client.ts +1 -1
  134. package/services/wiki/wiki.ts +3 -3
  135. package/svcs.ts +247 -235
  136. package/services/rector/rector.client.ts +0 -211
@@ -0,0 +1,689 @@
1
+ // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
2
+ // @generated from protobuf file "resources/permissions/attributes.proto" (package "resources.permissions", syntax proto3)
3
+ // @ts-nocheck
4
+ import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
5
+ import type { IBinaryWriter } from "@protobuf-ts/runtime";
6
+ import { WireType } from "@protobuf-ts/runtime";
7
+ import type { BinaryReadOptions } from "@protobuf-ts/runtime";
8
+ import type { IBinaryReader } from "@protobuf-ts/runtime";
9
+ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
10
+ import type { PartialMessage } from "@protobuf-ts/runtime";
11
+ import { reflectionMergePartial } from "@protobuf-ts/runtime";
12
+ import { MessageType } from "@protobuf-ts/runtime";
13
+ import { Timestamp } from "../timestamp/timestamp";
14
+ /**
15
+ * @generated from protobuf message resources.permissions.RawRoleAttribute
16
+ */
17
+ export interface RawRoleAttribute {
18
+ /**
19
+ * @generated from protobuf field: uint64 role_id = 1;
20
+ */
21
+ roleId: number;
22
+ /**
23
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
24
+ */
25
+ createdAt?: Timestamp;
26
+ /**
27
+ * @generated from protobuf field: uint64 attr_id = 3;
28
+ */
29
+ attrId: number;
30
+ /**
31
+ * @generated from protobuf field: uint64 permission_id = 4;
32
+ */
33
+ permissionId: number;
34
+ /**
35
+ * @generated from protobuf field: string category = 5;
36
+ */
37
+ category: string;
38
+ /**
39
+ * @generated from protobuf field: string name = 6;
40
+ */
41
+ name: string;
42
+ /**
43
+ * @generated from protobuf field: string key = 7;
44
+ */
45
+ key: string;
46
+ /**
47
+ * @generated from protobuf field: string type = 8;
48
+ */
49
+ type: string;
50
+ /**
51
+ * @generated from protobuf field: resources.permissions.AttributeValues valid_values = 9;
52
+ */
53
+ validValues?: AttributeValues;
54
+ /**
55
+ * @generated from protobuf field: resources.permissions.AttributeValues value = 10;
56
+ */
57
+ value?: AttributeValues;
58
+ }
59
+ /**
60
+ * @generated from protobuf message resources.permissions.RoleAttribute
61
+ */
62
+ export interface RoleAttribute {
63
+ /**
64
+ * @generated from protobuf field: uint64 role_id = 1;
65
+ */
66
+ roleId: number;
67
+ /**
68
+ * @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 2;
69
+ */
70
+ createdAt?: Timestamp;
71
+ /**
72
+ * @generated from protobuf field: uint64 attr_id = 3;
73
+ */
74
+ attrId: number;
75
+ /**
76
+ * @generated from protobuf field: uint64 permission_id = 4;
77
+ */
78
+ permissionId: number;
79
+ /**
80
+ * @generated from protobuf field: string category = 5;
81
+ */
82
+ category: string;
83
+ /**
84
+ * @generated from protobuf field: string name = 6;
85
+ */
86
+ name: string;
87
+ /**
88
+ * @generated from protobuf field: string key = 7;
89
+ */
90
+ key: string;
91
+ /**
92
+ * @generated from protobuf field: string type = 8;
93
+ */
94
+ type: string;
95
+ /**
96
+ * @generated from protobuf field: resources.permissions.AttributeValues valid_values = 9;
97
+ */
98
+ validValues?: AttributeValues;
99
+ /**
100
+ * @generated from protobuf field: resources.permissions.AttributeValues value = 10;
101
+ */
102
+ value?: AttributeValues;
103
+ /**
104
+ * @generated from protobuf field: optional resources.permissions.AttributeValues max_values = 11;
105
+ */
106
+ maxValues?: AttributeValues;
107
+ }
108
+ /**
109
+ * @dbscanner: json
110
+ *
111
+ * @generated from protobuf message resources.permissions.AttributeValues
112
+ */
113
+ export interface AttributeValues {
114
+ /**
115
+ * @generated from protobuf oneof: valid_values
116
+ */
117
+ validValues: {
118
+ oneofKind: "stringList";
119
+ /**
120
+ * @generated from protobuf field: resources.permissions.StringList string_list = 1;
121
+ */
122
+ stringList: StringList;
123
+ } | {
124
+ oneofKind: "jobList";
125
+ /**
126
+ * @generated from protobuf field: resources.permissions.StringList job_list = 2;
127
+ */
128
+ jobList: StringList;
129
+ } | {
130
+ oneofKind: "jobGradeList";
131
+ /**
132
+ * @generated from protobuf field: resources.permissions.JobGradeList job_grade_list = 3;
133
+ */
134
+ jobGradeList: JobGradeList;
135
+ } | {
136
+ oneofKind: undefined;
137
+ };
138
+ }
139
+ /**
140
+ * @generated from protobuf message resources.permissions.StringList
141
+ */
142
+ export interface StringList {
143
+ /**
144
+ * @sanitize: method=StripTags
145
+ *
146
+ * @generated from protobuf field: repeated string strings = 1;
147
+ */
148
+ strings: string[];
149
+ }
150
+ /**
151
+ * @generated from protobuf message resources.permissions.JobGradeList
152
+ */
153
+ export interface JobGradeList {
154
+ /**
155
+ * @generated from protobuf field: bool fine_grained = 2;
156
+ */
157
+ fineGrained: boolean;
158
+ /**
159
+ * @generated from protobuf field: map<string, int32> jobs = 1;
160
+ */
161
+ jobs: {
162
+ [key: string]: number;
163
+ };
164
+ /**
165
+ * @generated from protobuf field: map<string, resources.permissions.JobGrades> grades = 3;
166
+ */
167
+ grades: {
168
+ [key: string]: JobGrades;
169
+ };
170
+ }
171
+ /**
172
+ * @generated from protobuf message resources.permissions.JobGrades
173
+ */
174
+ export interface JobGrades {
175
+ /**
176
+ * @generated from protobuf field: repeated int32 grades = 1;
177
+ */
178
+ grades: number[];
179
+ }
180
+ // @generated message type with reflection information, may provide speed optimized methods
181
+ class RawRoleAttribute$Type extends MessageType<RawRoleAttribute> {
182
+ constructor() {
183
+ super("resources.permissions.RawRoleAttribute", [
184
+ { no: 1, name: "role_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
185
+ { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
186
+ { no: 3, name: "attr_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
187
+ { no: 4, name: "permission_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
188
+ { no: 5, name: "category", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "128" } } } },
189
+ { no: 6, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
190
+ { no: 7, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
191
+ { no: 8, name: "type", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
192
+ { no: 9, name: "valid_values", kind: "message", T: () => AttributeValues },
193
+ { no: 10, name: "value", kind: "message", T: () => AttributeValues }
194
+ ]);
195
+ }
196
+ create(value?: PartialMessage<RawRoleAttribute>): RawRoleAttribute {
197
+ const message = globalThis.Object.create((this.messagePrototype!));
198
+ message.roleId = 0;
199
+ message.attrId = 0;
200
+ message.permissionId = 0;
201
+ message.category = "";
202
+ message.name = "";
203
+ message.key = "";
204
+ message.type = "";
205
+ if (value !== undefined)
206
+ reflectionMergePartial<RawRoleAttribute>(this, message, value);
207
+ return message;
208
+ }
209
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RawRoleAttribute): RawRoleAttribute {
210
+ let message = target ?? this.create(), end = reader.pos + length;
211
+ while (reader.pos < end) {
212
+ let [fieldNo, wireType] = reader.tag();
213
+ switch (fieldNo) {
214
+ case /* uint64 role_id */ 1:
215
+ message.roleId = reader.uint64().toNumber();
216
+ break;
217
+ case /* optional resources.timestamp.Timestamp created_at */ 2:
218
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
219
+ break;
220
+ case /* uint64 attr_id */ 3:
221
+ message.attrId = reader.uint64().toNumber();
222
+ break;
223
+ case /* uint64 permission_id */ 4:
224
+ message.permissionId = reader.uint64().toNumber();
225
+ break;
226
+ case /* string category */ 5:
227
+ message.category = reader.string();
228
+ break;
229
+ case /* string name */ 6:
230
+ message.name = reader.string();
231
+ break;
232
+ case /* string key */ 7:
233
+ message.key = reader.string();
234
+ break;
235
+ case /* string type */ 8:
236
+ message.type = reader.string();
237
+ break;
238
+ case /* resources.permissions.AttributeValues valid_values */ 9:
239
+ message.validValues = AttributeValues.internalBinaryRead(reader, reader.uint32(), options, message.validValues);
240
+ break;
241
+ case /* resources.permissions.AttributeValues value */ 10:
242
+ message.value = AttributeValues.internalBinaryRead(reader, reader.uint32(), options, message.value);
243
+ break;
244
+ default:
245
+ let u = options.readUnknownField;
246
+ if (u === "throw")
247
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
248
+ let d = reader.skip(wireType);
249
+ if (u !== false)
250
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
251
+ }
252
+ }
253
+ return message;
254
+ }
255
+ internalBinaryWrite(message: RawRoleAttribute, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
256
+ /* uint64 role_id = 1; */
257
+ if (message.roleId !== 0)
258
+ writer.tag(1, WireType.Varint).uint64(message.roleId);
259
+ /* optional resources.timestamp.Timestamp created_at = 2; */
260
+ if (message.createdAt)
261
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
262
+ /* uint64 attr_id = 3; */
263
+ if (message.attrId !== 0)
264
+ writer.tag(3, WireType.Varint).uint64(message.attrId);
265
+ /* uint64 permission_id = 4; */
266
+ if (message.permissionId !== 0)
267
+ writer.tag(4, WireType.Varint).uint64(message.permissionId);
268
+ /* string category = 5; */
269
+ if (message.category !== "")
270
+ writer.tag(5, WireType.LengthDelimited).string(message.category);
271
+ /* string name = 6; */
272
+ if (message.name !== "")
273
+ writer.tag(6, WireType.LengthDelimited).string(message.name);
274
+ /* string key = 7; */
275
+ if (message.key !== "")
276
+ writer.tag(7, WireType.LengthDelimited).string(message.key);
277
+ /* string type = 8; */
278
+ if (message.type !== "")
279
+ writer.tag(8, WireType.LengthDelimited).string(message.type);
280
+ /* resources.permissions.AttributeValues valid_values = 9; */
281
+ if (message.validValues)
282
+ AttributeValues.internalBinaryWrite(message.validValues, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
283
+ /* resources.permissions.AttributeValues value = 10; */
284
+ if (message.value)
285
+ AttributeValues.internalBinaryWrite(message.value, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
286
+ let u = options.writeUnknownFields;
287
+ if (u !== false)
288
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
289
+ return writer;
290
+ }
291
+ }
292
+ /**
293
+ * @generated MessageType for protobuf message resources.permissions.RawRoleAttribute
294
+ */
295
+ export const RawRoleAttribute = new RawRoleAttribute$Type();
296
+ // @generated message type with reflection information, may provide speed optimized methods
297
+ class RoleAttribute$Type extends MessageType<RoleAttribute> {
298
+ constructor() {
299
+ super("resources.permissions.RoleAttribute", [
300
+ { no: 1, name: "role_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
301
+ { no: 2, name: "created_at", kind: "message", T: () => Timestamp },
302
+ { no: 3, name: "attr_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
303
+ { no: 4, name: "permission_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
304
+ { no: 5, name: "category", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "128" } } } },
305
+ { no: 6, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
306
+ { no: 7, name: "key", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
307
+ { no: 8, name: "type", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
308
+ { no: 9, name: "valid_values", kind: "message", T: () => AttributeValues },
309
+ { no: 10, name: "value", kind: "message", T: () => AttributeValues },
310
+ { no: 11, name: "max_values", kind: "message", T: () => AttributeValues }
311
+ ]);
312
+ }
313
+ create(value?: PartialMessage<RoleAttribute>): RoleAttribute {
314
+ const message = globalThis.Object.create((this.messagePrototype!));
315
+ message.roleId = 0;
316
+ message.attrId = 0;
317
+ message.permissionId = 0;
318
+ message.category = "";
319
+ message.name = "";
320
+ message.key = "";
321
+ message.type = "";
322
+ if (value !== undefined)
323
+ reflectionMergePartial<RoleAttribute>(this, message, value);
324
+ return message;
325
+ }
326
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RoleAttribute): RoleAttribute {
327
+ let message = target ?? this.create(), end = reader.pos + length;
328
+ while (reader.pos < end) {
329
+ let [fieldNo, wireType] = reader.tag();
330
+ switch (fieldNo) {
331
+ case /* uint64 role_id */ 1:
332
+ message.roleId = reader.uint64().toNumber();
333
+ break;
334
+ case /* optional resources.timestamp.Timestamp created_at */ 2:
335
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
336
+ break;
337
+ case /* uint64 attr_id */ 3:
338
+ message.attrId = reader.uint64().toNumber();
339
+ break;
340
+ case /* uint64 permission_id */ 4:
341
+ message.permissionId = reader.uint64().toNumber();
342
+ break;
343
+ case /* string category */ 5:
344
+ message.category = reader.string();
345
+ break;
346
+ case /* string name */ 6:
347
+ message.name = reader.string();
348
+ break;
349
+ case /* string key */ 7:
350
+ message.key = reader.string();
351
+ break;
352
+ case /* string type */ 8:
353
+ message.type = reader.string();
354
+ break;
355
+ case /* resources.permissions.AttributeValues valid_values */ 9:
356
+ message.validValues = AttributeValues.internalBinaryRead(reader, reader.uint32(), options, message.validValues);
357
+ break;
358
+ case /* resources.permissions.AttributeValues value */ 10:
359
+ message.value = AttributeValues.internalBinaryRead(reader, reader.uint32(), options, message.value);
360
+ break;
361
+ case /* optional resources.permissions.AttributeValues max_values */ 11:
362
+ message.maxValues = AttributeValues.internalBinaryRead(reader, reader.uint32(), options, message.maxValues);
363
+ break;
364
+ default:
365
+ let u = options.readUnknownField;
366
+ if (u === "throw")
367
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
368
+ let d = reader.skip(wireType);
369
+ if (u !== false)
370
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
371
+ }
372
+ }
373
+ return message;
374
+ }
375
+ internalBinaryWrite(message: RoleAttribute, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
376
+ /* uint64 role_id = 1; */
377
+ if (message.roleId !== 0)
378
+ writer.tag(1, WireType.Varint).uint64(message.roleId);
379
+ /* optional resources.timestamp.Timestamp created_at = 2; */
380
+ if (message.createdAt)
381
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
382
+ /* uint64 attr_id = 3; */
383
+ if (message.attrId !== 0)
384
+ writer.tag(3, WireType.Varint).uint64(message.attrId);
385
+ /* uint64 permission_id = 4; */
386
+ if (message.permissionId !== 0)
387
+ writer.tag(4, WireType.Varint).uint64(message.permissionId);
388
+ /* string category = 5; */
389
+ if (message.category !== "")
390
+ writer.tag(5, WireType.LengthDelimited).string(message.category);
391
+ /* string name = 6; */
392
+ if (message.name !== "")
393
+ writer.tag(6, WireType.LengthDelimited).string(message.name);
394
+ /* string key = 7; */
395
+ if (message.key !== "")
396
+ writer.tag(7, WireType.LengthDelimited).string(message.key);
397
+ /* string type = 8; */
398
+ if (message.type !== "")
399
+ writer.tag(8, WireType.LengthDelimited).string(message.type);
400
+ /* resources.permissions.AttributeValues valid_values = 9; */
401
+ if (message.validValues)
402
+ AttributeValues.internalBinaryWrite(message.validValues, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
403
+ /* resources.permissions.AttributeValues value = 10; */
404
+ if (message.value)
405
+ AttributeValues.internalBinaryWrite(message.value, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
406
+ /* optional resources.permissions.AttributeValues max_values = 11; */
407
+ if (message.maxValues)
408
+ AttributeValues.internalBinaryWrite(message.maxValues, writer.tag(11, WireType.LengthDelimited).fork(), options).join();
409
+ let u = options.writeUnknownFields;
410
+ if (u !== false)
411
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
412
+ return writer;
413
+ }
414
+ }
415
+ /**
416
+ * @generated MessageType for protobuf message resources.permissions.RoleAttribute
417
+ */
418
+ export const RoleAttribute = new RoleAttribute$Type();
419
+ // @generated message type with reflection information, may provide speed optimized methods
420
+ class AttributeValues$Type extends MessageType<AttributeValues> {
421
+ constructor() {
422
+ super("resources.permissions.AttributeValues", [
423
+ { no: 1, name: "string_list", kind: "message", oneof: "validValues", T: () => StringList },
424
+ { no: 2, name: "job_list", kind: "message", oneof: "validValues", T: () => StringList },
425
+ { no: 3, name: "job_grade_list", kind: "message", oneof: "validValues", T: () => JobGradeList }
426
+ ]);
427
+ }
428
+ create(value?: PartialMessage<AttributeValues>): AttributeValues {
429
+ const message = globalThis.Object.create((this.messagePrototype!));
430
+ message.validValues = { oneofKind: undefined };
431
+ if (value !== undefined)
432
+ reflectionMergePartial<AttributeValues>(this, message, value);
433
+ return message;
434
+ }
435
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AttributeValues): AttributeValues {
436
+ let message = target ?? this.create(), end = reader.pos + length;
437
+ while (reader.pos < end) {
438
+ let [fieldNo, wireType] = reader.tag();
439
+ switch (fieldNo) {
440
+ case /* resources.permissions.StringList string_list */ 1:
441
+ message.validValues = {
442
+ oneofKind: "stringList",
443
+ stringList: StringList.internalBinaryRead(reader, reader.uint32(), options, (message.validValues as any).stringList)
444
+ };
445
+ break;
446
+ case /* resources.permissions.StringList job_list */ 2:
447
+ message.validValues = {
448
+ oneofKind: "jobList",
449
+ jobList: StringList.internalBinaryRead(reader, reader.uint32(), options, (message.validValues as any).jobList)
450
+ };
451
+ break;
452
+ case /* resources.permissions.JobGradeList job_grade_list */ 3:
453
+ message.validValues = {
454
+ oneofKind: "jobGradeList",
455
+ jobGradeList: JobGradeList.internalBinaryRead(reader, reader.uint32(), options, (message.validValues as any).jobGradeList)
456
+ };
457
+ break;
458
+ default:
459
+ let u = options.readUnknownField;
460
+ if (u === "throw")
461
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
462
+ let d = reader.skip(wireType);
463
+ if (u !== false)
464
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
465
+ }
466
+ }
467
+ return message;
468
+ }
469
+ internalBinaryWrite(message: AttributeValues, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
470
+ /* resources.permissions.StringList string_list = 1; */
471
+ if (message.validValues.oneofKind === "stringList")
472
+ StringList.internalBinaryWrite(message.validValues.stringList, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
473
+ /* resources.permissions.StringList job_list = 2; */
474
+ if (message.validValues.oneofKind === "jobList")
475
+ StringList.internalBinaryWrite(message.validValues.jobList, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
476
+ /* resources.permissions.JobGradeList job_grade_list = 3; */
477
+ if (message.validValues.oneofKind === "jobGradeList")
478
+ JobGradeList.internalBinaryWrite(message.validValues.jobGradeList, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
479
+ let u = options.writeUnknownFields;
480
+ if (u !== false)
481
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
482
+ return writer;
483
+ }
484
+ }
485
+ /**
486
+ * @generated MessageType for protobuf message resources.permissions.AttributeValues
487
+ */
488
+ export const AttributeValues = new AttributeValues$Type();
489
+ // @generated message type with reflection information, may provide speed optimized methods
490
+ class StringList$Type extends MessageType<StringList> {
491
+ constructor() {
492
+ super("resources.permissions.StringList", [
493
+ { no: 1, name: "strings", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
494
+ ]);
495
+ }
496
+ create(value?: PartialMessage<StringList>): StringList {
497
+ const message = globalThis.Object.create((this.messagePrototype!));
498
+ message.strings = [];
499
+ if (value !== undefined)
500
+ reflectionMergePartial<StringList>(this, message, value);
501
+ return message;
502
+ }
503
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: StringList): StringList {
504
+ let message = target ?? this.create(), end = reader.pos + length;
505
+ while (reader.pos < end) {
506
+ let [fieldNo, wireType] = reader.tag();
507
+ switch (fieldNo) {
508
+ case /* repeated string strings */ 1:
509
+ message.strings.push(reader.string());
510
+ break;
511
+ default:
512
+ let u = options.readUnknownField;
513
+ if (u === "throw")
514
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
515
+ let d = reader.skip(wireType);
516
+ if (u !== false)
517
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
518
+ }
519
+ }
520
+ return message;
521
+ }
522
+ internalBinaryWrite(message: StringList, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
523
+ /* repeated string strings = 1; */
524
+ for (let i = 0; i < message.strings.length; i++)
525
+ writer.tag(1, WireType.LengthDelimited).string(message.strings[i]);
526
+ let u = options.writeUnknownFields;
527
+ if (u !== false)
528
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
529
+ return writer;
530
+ }
531
+ }
532
+ /**
533
+ * @generated MessageType for protobuf message resources.permissions.StringList
534
+ */
535
+ export const StringList = new StringList$Type();
536
+ // @generated message type with reflection information, may provide speed optimized methods
537
+ class JobGradeList$Type extends MessageType<JobGradeList> {
538
+ constructor() {
539
+ super("resources.permissions.JobGradeList", [
540
+ { no: 2, name: "fine_grained", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
541
+ { no: 1, name: "jobs", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "scalar", T: 5 /*ScalarType.INT32*/ } },
542
+ { no: 3, name: "grades", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "message", T: () => JobGrades } }
543
+ ]);
544
+ }
545
+ create(value?: PartialMessage<JobGradeList>): JobGradeList {
546
+ const message = globalThis.Object.create((this.messagePrototype!));
547
+ message.fineGrained = false;
548
+ message.jobs = {};
549
+ message.grades = {};
550
+ if (value !== undefined)
551
+ reflectionMergePartial<JobGradeList>(this, message, value);
552
+ return message;
553
+ }
554
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JobGradeList): JobGradeList {
555
+ let message = target ?? this.create(), end = reader.pos + length;
556
+ while (reader.pos < end) {
557
+ let [fieldNo, wireType] = reader.tag();
558
+ switch (fieldNo) {
559
+ case /* bool fine_grained */ 2:
560
+ message.fineGrained = reader.bool();
561
+ break;
562
+ case /* map<string, int32> jobs */ 1:
563
+ this.binaryReadMap1(message.jobs, reader, options);
564
+ break;
565
+ case /* map<string, resources.permissions.JobGrades> grades */ 3:
566
+ this.binaryReadMap3(message.grades, reader, options);
567
+ break;
568
+ default:
569
+ let u = options.readUnknownField;
570
+ if (u === "throw")
571
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
572
+ let d = reader.skip(wireType);
573
+ if (u !== false)
574
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
575
+ }
576
+ }
577
+ return message;
578
+ }
579
+ private binaryReadMap1(map: JobGradeList["jobs"], reader: IBinaryReader, options: BinaryReadOptions): void {
580
+ let len = reader.uint32(), end = reader.pos + len, key: keyof JobGradeList["jobs"] | undefined, val: JobGradeList["jobs"][any] | undefined;
581
+ while (reader.pos < end) {
582
+ let [fieldNo, wireType] = reader.tag();
583
+ switch (fieldNo) {
584
+ case 1:
585
+ key = reader.string();
586
+ break;
587
+ case 2:
588
+ val = reader.int32();
589
+ break;
590
+ default: throw new globalThis.Error("unknown map entry field for field resources.permissions.JobGradeList.jobs");
591
+ }
592
+ }
593
+ map[key ?? ""] = val ?? 0;
594
+ }
595
+ private binaryReadMap3(map: JobGradeList["grades"], reader: IBinaryReader, options: BinaryReadOptions): void {
596
+ let len = reader.uint32(), end = reader.pos + len, key: keyof JobGradeList["grades"] | undefined, val: JobGradeList["grades"][any] | undefined;
597
+ while (reader.pos < end) {
598
+ let [fieldNo, wireType] = reader.tag();
599
+ switch (fieldNo) {
600
+ case 1:
601
+ key = reader.string();
602
+ break;
603
+ case 2:
604
+ val = JobGrades.internalBinaryRead(reader, reader.uint32(), options);
605
+ break;
606
+ default: throw new globalThis.Error("unknown map entry field for field resources.permissions.JobGradeList.grades");
607
+ }
608
+ }
609
+ map[key ?? ""] = val ?? JobGrades.create();
610
+ }
611
+ internalBinaryWrite(message: JobGradeList, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
612
+ /* map<string, int32> jobs = 1; */
613
+ for (let k of globalThis.Object.keys(message.jobs))
614
+ writer.tag(1, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k).tag(2, WireType.Varint).int32(message.jobs[k]).join();
615
+ /* bool fine_grained = 2; */
616
+ if (message.fineGrained !== false)
617
+ writer.tag(2, WireType.Varint).bool(message.fineGrained);
618
+ /* map<string, resources.permissions.JobGrades> grades = 3; */
619
+ for (let k of globalThis.Object.keys(message.grades)) {
620
+ writer.tag(3, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);
621
+ writer.tag(2, WireType.LengthDelimited).fork();
622
+ JobGrades.internalBinaryWrite(message.grades[k], writer, options);
623
+ writer.join().join();
624
+ }
625
+ let u = options.writeUnknownFields;
626
+ if (u !== false)
627
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
628
+ return writer;
629
+ }
630
+ }
631
+ /**
632
+ * @generated MessageType for protobuf message resources.permissions.JobGradeList
633
+ */
634
+ export const JobGradeList = new JobGradeList$Type();
635
+ // @generated message type with reflection information, may provide speed optimized methods
636
+ class JobGrades$Type extends MessageType<JobGrades> {
637
+ constructor() {
638
+ super("resources.permissions.JobGrades", [
639
+ { no: 1, name: "grades", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ }
640
+ ]);
641
+ }
642
+ create(value?: PartialMessage<JobGrades>): JobGrades {
643
+ const message = globalThis.Object.create((this.messagePrototype!));
644
+ message.grades = [];
645
+ if (value !== undefined)
646
+ reflectionMergePartial<JobGrades>(this, message, value);
647
+ return message;
648
+ }
649
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JobGrades): JobGrades {
650
+ let message = target ?? this.create(), end = reader.pos + length;
651
+ while (reader.pos < end) {
652
+ let [fieldNo, wireType] = reader.tag();
653
+ switch (fieldNo) {
654
+ case /* repeated int32 grades */ 1:
655
+ if (wireType === WireType.LengthDelimited)
656
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
657
+ message.grades.push(reader.int32());
658
+ else
659
+ message.grades.push(reader.int32());
660
+ break;
661
+ default:
662
+ let u = options.readUnknownField;
663
+ if (u === "throw")
664
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
665
+ let d = reader.skip(wireType);
666
+ if (u !== false)
667
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
668
+ }
669
+ }
670
+ return message;
671
+ }
672
+ internalBinaryWrite(message: JobGrades, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
673
+ /* repeated int32 grades = 1; */
674
+ if (message.grades.length) {
675
+ writer.tag(1, WireType.LengthDelimited).fork();
676
+ for (let i = 0; i < message.grades.length; i++)
677
+ writer.int32(message.grades[i]);
678
+ writer.join();
679
+ }
680
+ let u = options.writeUnknownFields;
681
+ if (u !== false)
682
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
683
+ return writer;
684
+ }
685
+ }
686
+ /**
687
+ * @generated MessageType for protobuf message resources.permissions.JobGrades
688
+ */
689
+ export const JobGrades = new JobGrades$Type();