@fivenet-app/gen 0.9.4-0 → 2025.4.8

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 (130) hide show
  1. package/clients.ts +150 -0
  2. package/google/protobuf/any.ts +10 -6
  3. package/google/protobuf/descriptor.ts +1255 -76
  4. package/google/protobuf/duration.ts +1 -2
  5. package/google/protobuf/timestamp.ts +3 -6
  6. package/package.json +2 -2
  7. package/perms.ts +7 -11
  8. package/resources/accounts/accounts.ts +1 -1
  9. package/resources/accounts/oauth2.ts +1 -1
  10. package/resources/calendar/access.ts +3 -3
  11. package/resources/calendar/calendar.ts +3 -1
  12. package/resources/centrum/access.ts +19 -4
  13. package/resources/centrum/attributes.ts +182 -0
  14. package/resources/centrum/dispatches.ts +11 -9
  15. package/resources/centrum/disponents.ts +81 -0
  16. package/resources/centrum/settings.ts +5 -1
  17. package/resources/centrum/units.ts +9 -9
  18. package/resources/centrum/user_unit.ts +104 -0
  19. package/resources/common/content/content.ts +47 -26
  20. package/resources/common/cron/cron.ts +37 -1
  21. package/resources/common/database/database.ts +37 -19
  22. package/resources/common/error.ts +1 -1
  23. package/resources/common/grpcws/grpcws.ts +59 -33
  24. package/resources/common/i18n.ts +4 -1
  25. package/resources/common/tests/objects.ts +82 -0
  26. package/resources/common/uuid.ts +1 -1
  27. package/resources/documents/access.ts +7 -5
  28. package/resources/documents/activity.ts +3 -1
  29. package/resources/documents/category.ts +1 -1
  30. package/resources/documents/comment.ts +1 -1
  31. package/resources/documents/documents.ts +3 -3
  32. package/resources/documents/requests.ts +1 -1
  33. package/resources/documents/templates.ts +18 -3
  34. package/resources/documents/workflow.ts +3 -1
  35. package/resources/filestore/file.ts +1 -1
  36. package/resources/internet/access.ts +47 -47
  37. package/resources/internet/ads.ts +1 -1
  38. package/resources/internet/domain.ts +44 -11
  39. package/resources/internet/page.ts +194 -4
  40. package/resources/internet/search.ts +34 -10
  41. package/resources/jobs/activity.ts +3 -1
  42. package/resources/jobs/colleagues.ts +1 -1
  43. package/resources/jobs/conduct.ts +1 -1
  44. package/resources/jobs/labels.ts +1 -1
  45. package/resources/jobs/timeclock.ts +1 -1
  46. package/resources/laws/laws.ts +1 -1
  47. package/resources/livemap/livemap.ts +313 -294
  48. package/resources/livemap/tracker.ts +1 -1
  49. package/resources/mailer/access.ts +4 -4
  50. package/resources/mailer/email.ts +1 -1
  51. package/resources/mailer/events.ts +1 -1
  52. package/resources/mailer/message.ts +127 -21
  53. package/resources/mailer/settings.ts +1 -1
  54. package/resources/mailer/template.ts +1 -1
  55. package/resources/mailer/thread.ts +1 -1
  56. package/resources/notifications/events.ts +74 -2
  57. package/resources/notifications/notifications.ts +3 -1
  58. package/resources/permissions/permissions.ts +174 -3
  59. package/resources/qualifications/access.ts +18 -9
  60. package/resources/qualifications/exam.ts +186 -4
  61. package/resources/qualifications/qualifications.ts +35 -7
  62. package/resources/rector/audit.ts +1 -1
  63. package/resources/rector/banner.ts +133 -0
  64. package/resources/rector/config.ts +84 -17
  65. package/resources/stats/stats.ts +1 -1
  66. package/resources/sync/activity.ts +1 -1
  67. package/resources/sync/data.ts +1 -1
  68. package/resources/timestamp/timestamp.ts +1 -1
  69. package/resources/users/activity.ts +3 -1
  70. package/resources/users/job_props.ts +3 -1
  71. package/resources/users/job_settings.ts +47 -3
  72. package/resources/users/jobs.ts +1 -1
  73. package/resources/users/labels.ts +3 -1
  74. package/resources/users/licenses.ts +3 -3
  75. package/resources/users/props.ts +1 -1
  76. package/resources/users/users.ts +1 -1
  77. package/resources/vehicles/vehicles.ts +38 -5
  78. package/resources/wiki/access.ts +4 -8
  79. package/resources/wiki/activity.ts +3 -1
  80. package/resources/wiki/page.ts +1 -1
  81. package/services/auth/auth.client.ts +7 -1
  82. package/services/auth/auth.ts +94 -17
  83. package/services/calendar/calendar.client.ts +44 -27
  84. package/services/calendar/calendar.ts +175 -25
  85. package/services/centrum/centrum.client.ts +1 -1
  86. package/services/centrum/centrum.ts +156 -13
  87. package/services/citizenstore/citizenstore.client.ts +1 -1
  88. package/services/citizenstore/citizenstore.ts +1 -1
  89. package/services/completor/completor.client.ts +1 -1
  90. package/services/completor/completor.ts +15 -2
  91. package/services/dmv/vehicles.client.ts +1 -1
  92. package/services/dmv/vehicles.ts +13 -2
  93. package/services/docstore/docstore.client.ts +3 -3
  94. package/services/docstore/docstore.ts +212 -17
  95. package/services/internet/ads.client.ts +1 -1
  96. package/services/internet/ads.ts +1 -1
  97. package/services/internet/domain.client.ts +13 -30
  98. package/services/internet/domain.ts +159 -196
  99. package/services/internet/internet.client.ts +1 -1
  100. package/services/internet/internet.ts +13 -2
  101. package/services/jobs/conduct.client.ts +1 -1
  102. package/services/jobs/conduct.ts +15 -2
  103. package/services/jobs/jobs.client.ts +1 -1
  104. package/services/jobs/jobs.ts +29 -3
  105. package/services/jobs/timeclock.client.ts +1 -1
  106. package/services/jobs/timeclock.ts +19 -19
  107. package/services/livemapper/livemap.client.ts +1 -1
  108. package/services/livemapper/livemap.ts +129 -27
  109. package/services/mailer/mailer.client.ts +1 -1
  110. package/services/mailer/mailer.ts +57 -5
  111. package/services/notificator/notificator.client.ts +1 -1
  112. package/services/notificator/notificator.ts +15 -2
  113. package/services/qualifications/qualifications.client.ts +11 -11
  114. package/services/qualifications/qualifications.ts +82 -7
  115. package/services/rector/config.client.ts +1 -1
  116. package/services/rector/config.ts +16 -3
  117. package/services/rector/filestore.client.ts +1 -1
  118. package/services/rector/filestore.ts +15 -2
  119. package/services/rector/laws.client.ts +1 -1
  120. package/services/rector/laws.ts +29 -3
  121. package/services/rector/rector.client.ts +1 -1
  122. package/services/rector/rector.ts +72 -7
  123. package/services/stats/stats.client.ts +1 -1
  124. package/services/stats/stats.ts +16 -3
  125. package/services/sync/sync.client.ts +7 -1
  126. package/services/sync/sync.ts +58 -6
  127. package/services/wiki/wiki.client.ts +3 -3
  128. package/services/wiki/wiki.ts +15 -2
  129. package/svcs.ts +8 -4
  130. package/resources/centrum/general.ts +0 -231
@@ -1,4 +1,4 @@
1
- // @generated by protobuf-ts 2.9.4 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.9.6 with parameter optimize_speed,long_type_number,force_server_none
2
2
  // @generated from protobuf file "resources/permissions/permissions.proto" (package "resources.permissions", syntax proto3)
3
3
  // @ts-nocheck
4
4
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
@@ -39,6 +39,10 @@ export interface Permission {
39
39
  * @generated from protobuf field: bool val = 6;
40
40
  */
41
41
  val: boolean;
42
+ /**
43
+ * @generated from protobuf field: optional int32 order = 7;
44
+ */
45
+ order?: number;
42
46
  }
43
47
  /**
44
48
  * @generated from protobuf message resources.permissions.Role
@@ -172,6 +176,8 @@ export interface RoleAttribute {
172
176
  maxValues?: AttributeValues;
173
177
  }
174
178
  /**
179
+ * @dbscanner: json
180
+ *
175
181
  * @generated from protobuf message resources.permissions.AttributeValues
176
182
  */
177
183
  export interface AttributeValues {
@@ -196,6 +202,12 @@ export interface AttributeValues {
196
202
  * @generated from protobuf field: resources.permissions.JobGradeList job_grade_list = 3;
197
203
  */
198
204
  jobGradeList: JobGradeList;
205
+ } | {
206
+ oneofKind: "jobGradeMap";
207
+ /**
208
+ * @generated from protobuf field: resources.permissions.JobGradeMap job_grade_map = 4;
209
+ */
210
+ jobGradeMap: JobGradeMap;
199
211
  } | {
200
212
  oneofKind: undefined;
201
213
  };
@@ -222,6 +234,26 @@ export interface JobGradeList {
222
234
  [key: string]: number;
223
235
  };
224
236
  }
237
+ /**
238
+ * @generated from protobuf message resources.permissions.JobGradeMap
239
+ */
240
+ export interface JobGradeMap {
241
+ /**
242
+ * @generated from protobuf field: map<string, resources.permissions.JobGrades> jobs = 1;
243
+ */
244
+ jobs: {
245
+ [key: string]: JobGrades;
246
+ };
247
+ }
248
+ /**
249
+ * @generated from protobuf message resources.permissions.JobGrades
250
+ */
251
+ export interface JobGrades {
252
+ /**
253
+ * @generated from protobuf field: repeated int32 grades = 1;
254
+ */
255
+ grades: number[];
256
+ }
225
257
  // @generated message type with reflection information, may provide speed optimized methods
226
258
  class Permission$Type extends MessageType<Permission> {
227
259
  constructor() {
@@ -231,7 +263,8 @@ class Permission$Type extends MessageType<Permission> {
231
263
  { no: 3, name: "category", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "128" } } } },
232
264
  { no: 4, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
233
265
  { no: 5, name: "guard_name", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "255" } } } },
234
- { no: 6, name: "val", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
266
+ { no: 6, name: "val", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
267
+ { no: 7, name: "order", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } }
235
268
  ]);
236
269
  }
237
270
  create(value?: PartialMessage<Permission>): Permission {
@@ -268,6 +301,9 @@ class Permission$Type extends MessageType<Permission> {
268
301
  case /* bool val */ 6:
269
302
  message.val = reader.bool();
270
303
  break;
304
+ case /* optional int32 order */ 7:
305
+ message.order = reader.int32();
306
+ break;
271
307
  default:
272
308
  let u = options.readUnknownField;
273
309
  if (u === "throw")
@@ -298,6 +334,9 @@ class Permission$Type extends MessageType<Permission> {
298
334
  /* bool val = 6; */
299
335
  if (message.val !== false)
300
336
  writer.tag(6, WireType.Varint).bool(message.val);
337
+ /* optional int32 order = 7; */
338
+ if (message.order !== undefined)
339
+ writer.tag(7, WireType.Varint).int32(message.order);
301
340
  let u = options.writeUnknownFields;
302
341
  if (u !== false)
303
342
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -653,7 +692,8 @@ class AttributeValues$Type extends MessageType<AttributeValues> {
653
692
  super("resources.permissions.AttributeValues", [
654
693
  { no: 1, name: "string_list", kind: "message", oneof: "validValues", T: () => StringList },
655
694
  { no: 2, name: "job_list", kind: "message", oneof: "validValues", T: () => StringList },
656
- { no: 3, name: "job_grade_list", kind: "message", oneof: "validValues", T: () => JobGradeList }
695
+ { no: 3, name: "job_grade_list", kind: "message", oneof: "validValues", T: () => JobGradeList },
696
+ { no: 4, name: "job_grade_map", kind: "message", oneof: "validValues", T: () => JobGradeMap }
657
697
  ]);
658
698
  }
659
699
  create(value?: PartialMessage<AttributeValues>): AttributeValues {
@@ -686,6 +726,12 @@ class AttributeValues$Type extends MessageType<AttributeValues> {
686
726
  jobGradeList: JobGradeList.internalBinaryRead(reader, reader.uint32(), options, (message.validValues as any).jobGradeList)
687
727
  };
688
728
  break;
729
+ case /* resources.permissions.JobGradeMap job_grade_map */ 4:
730
+ message.validValues = {
731
+ oneofKind: "jobGradeMap",
732
+ jobGradeMap: JobGradeMap.internalBinaryRead(reader, reader.uint32(), options, (message.validValues as any).jobGradeMap)
733
+ };
734
+ break;
689
735
  default:
690
736
  let u = options.readUnknownField;
691
737
  if (u === "throw")
@@ -707,6 +753,9 @@ class AttributeValues$Type extends MessageType<AttributeValues> {
707
753
  /* resources.permissions.JobGradeList job_grade_list = 3; */
708
754
  if (message.validValues.oneofKind === "jobGradeList")
709
755
  JobGradeList.internalBinaryWrite(message.validValues.jobGradeList, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
756
+ /* resources.permissions.JobGradeMap job_grade_map = 4; */
757
+ if (message.validValues.oneofKind === "jobGradeMap")
758
+ JobGradeMap.internalBinaryWrite(message.validValues.jobGradeMap, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
710
759
  let u = options.writeUnknownFields;
711
760
  if (u !== false)
712
761
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -827,3 +876,125 @@ class JobGradeList$Type extends MessageType<JobGradeList> {
827
876
  * @generated MessageType for protobuf message resources.permissions.JobGradeList
828
877
  */
829
878
  export const JobGradeList = new JobGradeList$Type();
879
+ // @generated message type with reflection information, may provide speed optimized methods
880
+ class JobGradeMap$Type extends MessageType<JobGradeMap> {
881
+ constructor() {
882
+ super("resources.permissions.JobGradeMap", [
883
+ { no: 1, name: "jobs", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "message", T: () => JobGrades } }
884
+ ]);
885
+ }
886
+ create(value?: PartialMessage<JobGradeMap>): JobGradeMap {
887
+ const message = globalThis.Object.create((this.messagePrototype!));
888
+ message.jobs = {};
889
+ if (value !== undefined)
890
+ reflectionMergePartial<JobGradeMap>(this, message, value);
891
+ return message;
892
+ }
893
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JobGradeMap): JobGradeMap {
894
+ let message = target ?? this.create(), end = reader.pos + length;
895
+ while (reader.pos < end) {
896
+ let [fieldNo, wireType] = reader.tag();
897
+ switch (fieldNo) {
898
+ case /* map<string, resources.permissions.JobGrades> jobs */ 1:
899
+ this.binaryReadMap1(message.jobs, reader, options);
900
+ break;
901
+ default:
902
+ let u = options.readUnknownField;
903
+ if (u === "throw")
904
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
905
+ let d = reader.skip(wireType);
906
+ if (u !== false)
907
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
908
+ }
909
+ }
910
+ return message;
911
+ }
912
+ private binaryReadMap1(map: JobGradeMap["jobs"], reader: IBinaryReader, options: BinaryReadOptions): void {
913
+ let len = reader.uint32(), end = reader.pos + len, key: keyof JobGradeMap["jobs"] | undefined, val: JobGradeMap["jobs"][any] | undefined;
914
+ while (reader.pos < end) {
915
+ let [fieldNo, wireType] = reader.tag();
916
+ switch (fieldNo) {
917
+ case 1:
918
+ key = reader.string();
919
+ break;
920
+ case 2:
921
+ val = JobGrades.internalBinaryRead(reader, reader.uint32(), options);
922
+ break;
923
+ default: throw new globalThis.Error("unknown map entry field for field resources.permissions.JobGradeMap.jobs");
924
+ }
925
+ }
926
+ map[key ?? ""] = val ?? JobGrades.create();
927
+ }
928
+ internalBinaryWrite(message: JobGradeMap, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
929
+ /* map<string, resources.permissions.JobGrades> jobs = 1; */
930
+ for (let k of globalThis.Object.keys(message.jobs)) {
931
+ writer.tag(1, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k);
932
+ writer.tag(2, WireType.LengthDelimited).fork();
933
+ JobGrades.internalBinaryWrite(message.jobs[k], writer, options);
934
+ writer.join().join();
935
+ }
936
+ let u = options.writeUnknownFields;
937
+ if (u !== false)
938
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
939
+ return writer;
940
+ }
941
+ }
942
+ /**
943
+ * @generated MessageType for protobuf message resources.permissions.JobGradeMap
944
+ */
945
+ export const JobGradeMap = new JobGradeMap$Type();
946
+ // @generated message type with reflection information, may provide speed optimized methods
947
+ class JobGrades$Type extends MessageType<JobGrades> {
948
+ constructor() {
949
+ super("resources.permissions.JobGrades", [
950
+ { no: 1, name: "grades", kind: "scalar", repeat: 1 /*RepeatType.PACKED*/, T: 5 /*ScalarType.INT32*/ }
951
+ ]);
952
+ }
953
+ create(value?: PartialMessage<JobGrades>): JobGrades {
954
+ const message = globalThis.Object.create((this.messagePrototype!));
955
+ message.grades = [];
956
+ if (value !== undefined)
957
+ reflectionMergePartial<JobGrades>(this, message, value);
958
+ return message;
959
+ }
960
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: JobGrades): JobGrades {
961
+ let message = target ?? this.create(), end = reader.pos + length;
962
+ while (reader.pos < end) {
963
+ let [fieldNo, wireType] = reader.tag();
964
+ switch (fieldNo) {
965
+ case /* repeated int32 grades */ 1:
966
+ if (wireType === WireType.LengthDelimited)
967
+ for (let e = reader.int32() + reader.pos; reader.pos < e;)
968
+ message.grades.push(reader.int32());
969
+ else
970
+ message.grades.push(reader.int32());
971
+ break;
972
+ default:
973
+ let u = options.readUnknownField;
974
+ if (u === "throw")
975
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
976
+ let d = reader.skip(wireType);
977
+ if (u !== false)
978
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
979
+ }
980
+ }
981
+ return message;
982
+ }
983
+ internalBinaryWrite(message: JobGrades, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
984
+ /* repeated int32 grades = 1; */
985
+ if (message.grades.length) {
986
+ writer.tag(1, WireType.LengthDelimited).fork();
987
+ for (let i = 0; i < message.grades.length; i++)
988
+ writer.int32(message.grades[i]);
989
+ writer.join();
990
+ }
991
+ let u = options.writeUnknownFields;
992
+ if (u !== false)
993
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
994
+ return writer;
995
+ }
996
+ }
997
+ /**
998
+ * @generated MessageType for protobuf message resources.permissions.JobGrades
999
+ */
1000
+ export const JobGrades = new JobGrades$Type();
@@ -1,4 +1,4 @@
1
- // @generated by protobuf-ts 2.9.4 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.9.6 with parameter optimize_speed,long_type_number,force_server_none
2
2
  // @generated from protobuf file "resources/qualifications/access.proto" (package "resources.qualifications", syntax proto3)
3
3
  // @ts-nocheck
4
4
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
@@ -35,7 +35,7 @@ export interface QualificationJobAccess {
35
35
  /**
36
36
  * @generated from protobuf field: uint64 target_id = 4;
37
37
  */
38
- targetId: number; // @gotags: alias:"qualification_id"
38
+ targetId: number;
39
39
  /**
40
40
  * @generated from protobuf field: string job = 5;
41
41
  */
@@ -93,13 +93,9 @@ export enum AccessLevel {
93
93
  */
94
94
  GRADE = 5,
95
95
  /**
96
- * @generated from protobuf enum value: ACCESS_LEVEL_MANAGE = 6;
96
+ * @generated from protobuf enum value: ACCESS_LEVEL_EDIT = 6;
97
97
  */
98
- MANAGE = 6,
99
- /**
100
- * @generated from protobuf enum value: ACCESS_LEVEL_EDIT = 7;
101
- */
102
- EDIT = 7
98
+ EDIT = 6
103
99
  }
104
100
  // @generated message type with reflection information, may provide speed optimized methods
105
101
  class QualificationAccess$Type extends MessageType<QualificationAccess> {
@@ -260,7 +256,20 @@ class QualificationUserAccess$Type extends MessageType<QualificationUserAccess>
260
256
  return message;
261
257
  }
262
258
  internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QualificationUserAccess): QualificationUserAccess {
263
- return target ?? this.create();
259
+ let message = target ?? this.create(), end = reader.pos + length;
260
+ while (reader.pos < end) {
261
+ let [fieldNo, wireType] = reader.tag();
262
+ switch (fieldNo) {
263
+ default:
264
+ let u = options.readUnknownField;
265
+ if (u === "throw")
266
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
267
+ let d = reader.skip(wireType);
268
+ if (u !== false)
269
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
270
+ }
271
+ }
272
+ return message;
264
273
  }
265
274
  internalBinaryWrite(message: QualificationUserAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
266
275
  let u = options.writeUnknownFields;
@@ -1,4 +1,4 @@
1
- // @generated by protobuf-ts 2.9.4 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.9.6 with parameter optimize_speed,long_type_number,force_server_none
2
2
  // @generated from protobuf file "resources/qualifications/exam.proto" (package "resources.qualifications", syntax proto3)
3
3
  // @ts-nocheck
4
4
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
@@ -69,6 +69,8 @@ export interface ExamQuestion {
69
69
  points?: number;
70
70
  }
71
71
  /**
72
+ * @dbscanner: json
73
+ *
72
74
  * @generated from protobuf message resources.qualifications.ExamQuestionData
73
75
  */
74
76
  export interface ExamQuestionData {
@@ -178,6 +180,8 @@ export interface ExamQuestionMultipleChoice {
178
180
  limit?: number;
179
181
  }
180
182
  /**
183
+ * @dbscanner: json
184
+ *
181
185
  * @generated from protobuf message resources.qualifications.ExamQuestionAnswerData
182
186
  */
183
187
  export interface ExamQuestionAnswerData {
@@ -218,6 +222,8 @@ export interface ExamUser {
218
222
  endedAt?: Timestamp;
219
223
  }
220
224
  /**
225
+ * @dbscanner: json
226
+ *
221
227
  * @generated from protobuf message resources.qualifications.ExamResponses
222
228
  */
223
229
  export interface ExamResponses {
@@ -343,6 +349,34 @@ export interface ExamResponseMultipleChoice {
343
349
  */
344
350
  choices: string[];
345
351
  }
352
+ /**
353
+ * @dbscanner: json
354
+ *
355
+ * @generated from protobuf message resources.qualifications.ExamGrading
356
+ */
357
+ export interface ExamGrading {
358
+ /**
359
+ * @generated from protobuf field: repeated resources.qualifications.ExamGradingResponse responses = 1;
360
+ */
361
+ responses: ExamGradingResponse[];
362
+ }
363
+ /**
364
+ * @generated from protobuf message resources.qualifications.ExamGradingResponse
365
+ */
366
+ export interface ExamGradingResponse {
367
+ /**
368
+ * @generated from protobuf field: uint64 question_id = 1;
369
+ */
370
+ questionId: number;
371
+ /**
372
+ * @generated from protobuf field: float points = 2;
373
+ */
374
+ points: number;
375
+ /**
376
+ * @generated from protobuf field: optional bool checked = 3;
377
+ */
378
+ checked?: boolean;
379
+ }
346
380
  // @generated message type with reflection information, may provide speed optimized methods
347
381
  class ExamQuestions$Type extends MessageType<ExamQuestions> {
348
382
  constructor() {
@@ -607,7 +641,20 @@ class ExamQuestionSeparator$Type extends MessageType<ExamQuestionSeparator> {
607
641
  return message;
608
642
  }
609
643
  internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ExamQuestionSeparator): ExamQuestionSeparator {
610
- return target ?? this.create();
644
+ let message = target ?? this.create(), end = reader.pos + length;
645
+ while (reader.pos < end) {
646
+ let [fieldNo, wireType] = reader.tag();
647
+ switch (fieldNo) {
648
+ default:
649
+ let u = options.readUnknownField;
650
+ if (u === "throw")
651
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
652
+ let d = reader.skip(wireType);
653
+ if (u !== false)
654
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
655
+ }
656
+ }
657
+ return message;
611
658
  }
612
659
  internalBinaryWrite(message: ExamQuestionSeparator, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
613
660
  let u = options.writeUnknownFields;
@@ -685,7 +732,20 @@ class ExamQuestionYesNo$Type extends MessageType<ExamQuestionYesNo> {
685
732
  return message;
686
733
  }
687
734
  internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ExamQuestionYesNo): ExamQuestionYesNo {
688
- return target ?? this.create();
735
+ let message = target ?? this.create(), end = reader.pos + length;
736
+ while (reader.pos < end) {
737
+ let [fieldNo, wireType] = reader.tag();
738
+ switch (fieldNo) {
739
+ default:
740
+ let u = options.readUnknownField;
741
+ if (u === "throw")
742
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
743
+ let d = reader.skip(wireType);
744
+ if (u !== false)
745
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
746
+ }
747
+ }
748
+ return message;
689
749
  }
690
750
  internalBinaryWrite(message: ExamQuestionYesNo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
691
751
  let u = options.writeUnknownFields;
@@ -1218,7 +1278,20 @@ class ExamResponseSeparator$Type extends MessageType<ExamResponseSeparator> {
1218
1278
  return message;
1219
1279
  }
1220
1280
  internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ExamResponseSeparator): ExamResponseSeparator {
1221
- return target ?? this.create();
1281
+ let message = target ?? this.create(), end = reader.pos + length;
1282
+ while (reader.pos < end) {
1283
+ let [fieldNo, wireType] = reader.tag();
1284
+ switch (fieldNo) {
1285
+ default:
1286
+ let u = options.readUnknownField;
1287
+ if (u === "throw")
1288
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1289
+ let d = reader.skip(wireType);
1290
+ if (u !== false)
1291
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1292
+ }
1293
+ }
1294
+ return message;
1222
1295
  }
1223
1296
  internalBinaryWrite(message: ExamResponseSeparator, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1224
1297
  let u = options.writeUnknownFields;
@@ -1419,3 +1492,112 @@ class ExamResponseMultipleChoice$Type extends MessageType<ExamResponseMultipleCh
1419
1492
  * @generated MessageType for protobuf message resources.qualifications.ExamResponseMultipleChoice
1420
1493
  */
1421
1494
  export const ExamResponseMultipleChoice = new ExamResponseMultipleChoice$Type();
1495
+ // @generated message type with reflection information, may provide speed optimized methods
1496
+ class ExamGrading$Type extends MessageType<ExamGrading> {
1497
+ constructor() {
1498
+ super("resources.qualifications.ExamGrading", [
1499
+ { no: 1, name: "responses", kind: "message", repeat: 1 /*RepeatType.PACKED*/, T: () => ExamGradingResponse, options: { "validate.rules": { repeated: { maxItems: "50" } } } }
1500
+ ]);
1501
+ }
1502
+ create(value?: PartialMessage<ExamGrading>): ExamGrading {
1503
+ const message = globalThis.Object.create((this.messagePrototype!));
1504
+ message.responses = [];
1505
+ if (value !== undefined)
1506
+ reflectionMergePartial<ExamGrading>(this, message, value);
1507
+ return message;
1508
+ }
1509
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ExamGrading): ExamGrading {
1510
+ let message = target ?? this.create(), end = reader.pos + length;
1511
+ while (reader.pos < end) {
1512
+ let [fieldNo, wireType] = reader.tag();
1513
+ switch (fieldNo) {
1514
+ case /* repeated resources.qualifications.ExamGradingResponse responses */ 1:
1515
+ message.responses.push(ExamGradingResponse.internalBinaryRead(reader, reader.uint32(), options));
1516
+ break;
1517
+ default:
1518
+ let u = options.readUnknownField;
1519
+ if (u === "throw")
1520
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1521
+ let d = reader.skip(wireType);
1522
+ if (u !== false)
1523
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1524
+ }
1525
+ }
1526
+ return message;
1527
+ }
1528
+ internalBinaryWrite(message: ExamGrading, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1529
+ /* repeated resources.qualifications.ExamGradingResponse responses = 1; */
1530
+ for (let i = 0; i < message.responses.length; i++)
1531
+ ExamGradingResponse.internalBinaryWrite(message.responses[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1532
+ let u = options.writeUnknownFields;
1533
+ if (u !== false)
1534
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1535
+ return writer;
1536
+ }
1537
+ }
1538
+ /**
1539
+ * @generated MessageType for protobuf message resources.qualifications.ExamGrading
1540
+ */
1541
+ export const ExamGrading = new ExamGrading$Type();
1542
+ // @generated message type with reflection information, may provide speed optimized methods
1543
+ class ExamGradingResponse$Type extends MessageType<ExamGradingResponse> {
1544
+ constructor() {
1545
+ super("resources.qualifications.ExamGradingResponse", [
1546
+ { no: 1, name: "question_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
1547
+ { no: 2, name: "points", kind: "scalar", T: 2 /*ScalarType.FLOAT*/, options: { "validate.rules": { float: { lte: 1000, gte: 0 } } } },
1548
+ { no: 3, name: "checked", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
1549
+ ]);
1550
+ }
1551
+ create(value?: PartialMessage<ExamGradingResponse>): ExamGradingResponse {
1552
+ const message = globalThis.Object.create((this.messagePrototype!));
1553
+ message.questionId = 0;
1554
+ message.points = 0;
1555
+ if (value !== undefined)
1556
+ reflectionMergePartial<ExamGradingResponse>(this, message, value);
1557
+ return message;
1558
+ }
1559
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ExamGradingResponse): ExamGradingResponse {
1560
+ let message = target ?? this.create(), end = reader.pos + length;
1561
+ while (reader.pos < end) {
1562
+ let [fieldNo, wireType] = reader.tag();
1563
+ switch (fieldNo) {
1564
+ case /* uint64 question_id */ 1:
1565
+ message.questionId = reader.uint64().toNumber();
1566
+ break;
1567
+ case /* float points */ 2:
1568
+ message.points = reader.float();
1569
+ break;
1570
+ case /* optional bool checked */ 3:
1571
+ message.checked = reader.bool();
1572
+ break;
1573
+ default:
1574
+ let u = options.readUnknownField;
1575
+ if (u === "throw")
1576
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1577
+ let d = reader.skip(wireType);
1578
+ if (u !== false)
1579
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1580
+ }
1581
+ }
1582
+ return message;
1583
+ }
1584
+ internalBinaryWrite(message: ExamGradingResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1585
+ /* uint64 question_id = 1; */
1586
+ if (message.questionId !== 0)
1587
+ writer.tag(1, WireType.Varint).uint64(message.questionId);
1588
+ /* float points = 2; */
1589
+ if (message.points !== 0)
1590
+ writer.tag(2, WireType.Bit32).float(message.points);
1591
+ /* optional bool checked = 3; */
1592
+ if (message.checked !== undefined)
1593
+ writer.tag(3, WireType.Varint).bool(message.checked);
1594
+ let u = options.writeUnknownFields;
1595
+ if (u !== false)
1596
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1597
+ return writer;
1598
+ }
1599
+ }
1600
+ /**
1601
+ * @generated MessageType for protobuf message resources.qualifications.ExamGradingResponse
1602
+ */
1603
+ export const ExamGradingResponse = new ExamGradingResponse$Type();