@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
@@ -1,6 +1,9 @@
1
- // @generated by protobuf-ts 2.10.0 with parameter optimize_speed,long_type_number,force_server_none
1
+ // @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
2
2
  // @generated from protobuf file "services/qualifications/qualifications.proto" (package "services.qualifications", syntax proto3)
3
+ // tslint:disable
3
4
  // @ts-nocheck
5
+ import { UploadFileResponse } from "../../resources/file/filestore";
6
+ import { UploadFileRequest } from "../../resources/file/filestore";
4
7
  import { ServiceType } from "@protobuf-ts/runtime-rpc";
5
8
  import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
6
9
  import type { IBinaryWriter } from "@protobuf-ts/runtime";
@@ -22,6 +25,7 @@ import { ResultStatus } from "../../resources/qualifications/qualifications";
22
25
  import { QualificationRequest } from "../../resources/qualifications/qualifications";
23
26
  import { RequestStatus } from "../../resources/qualifications/qualifications";
24
27
  import { QualificationAccess } from "../../resources/qualifications/access";
28
+ import { ContentType } from "../../resources/common/content/content";
25
29
  import { Qualification } from "../../resources/qualifications/qualifications";
26
30
  import { PaginationResponse } from "../../resources/common/database/database";
27
31
  import { Sort } from "../../resources/common/database/database";
@@ -31,21 +35,21 @@ import { PaginationRequest } from "../../resources/common/database/database";
31
35
  */
32
36
  export interface ListQualificationsRequest {
33
37
  /**
34
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
38
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
35
39
  */
36
40
  pagination?: PaginationRequest;
37
41
  /**
38
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
42
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
39
43
  */
40
44
  sort?: Sort;
41
45
  /**
42
46
  * Search params
43
47
  *
44
- * @generated from protobuf field: optional string search = 3;
48
+ * @generated from protobuf field: optional string search = 3
45
49
  */
46
50
  search?: string;
47
51
  /**
48
- * @generated from protobuf field: optional string job = 4;
52
+ * @generated from protobuf field: optional string job = 4
49
53
  */
50
54
  job?: string;
51
55
  }
@@ -54,11 +58,11 @@ export interface ListQualificationsRequest {
54
58
  */
55
59
  export interface ListQualificationsResponse {
56
60
  /**
57
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
61
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
58
62
  */
59
63
  pagination?: PaginationResponse;
60
64
  /**
61
- * @generated from protobuf field: repeated resources.qualifications.Qualification qualifications = 2;
65
+ * @generated from protobuf field: repeated resources.qualifications.Qualification qualifications = 2
62
66
  */
63
67
  qualifications: Qualification[];
64
68
  }
@@ -67,11 +71,11 @@ export interface ListQualificationsResponse {
67
71
  */
68
72
  export interface GetQualificationRequest {
69
73
  /**
70
- * @generated from protobuf field: uint64 qualification_id = 1;
74
+ * @generated from protobuf field: int64 qualification_id = 1
71
75
  */
72
76
  qualificationId: number;
73
77
  /**
74
- * @generated from protobuf field: optional bool with_exam = 2;
78
+ * @generated from protobuf field: optional bool with_exam = 2
75
79
  */
76
80
  withExam?: boolean;
77
81
  }
@@ -80,7 +84,7 @@ export interface GetQualificationRequest {
80
84
  */
81
85
  export interface GetQualificationResponse {
82
86
  /**
83
- * @generated from protobuf field: resources.qualifications.Qualification qualification = 1;
87
+ * @generated from protobuf field: resources.qualifications.Qualification qualification = 1
84
88
  */
85
89
  qualification?: Qualification;
86
90
  }
@@ -89,16 +93,16 @@ export interface GetQualificationResponse {
89
93
  */
90
94
  export interface CreateQualificationRequest {
91
95
  /**
92
- * @generated from protobuf field: resources.qualifications.Qualification qualification = 1;
96
+ * @generated from protobuf field: resources.common.content.ContentType content_type = 1
93
97
  */
94
- qualification?: Qualification;
98
+ contentType: ContentType;
95
99
  }
96
100
  /**
97
101
  * @generated from protobuf message services.qualifications.CreateQualificationResponse
98
102
  */
99
103
  export interface CreateQualificationResponse {
100
104
  /**
101
- * @generated from protobuf field: uint64 qualification_id = 1;
105
+ * @generated from protobuf field: int64 qualification_id = 1
102
106
  */
103
107
  qualificationId: number;
104
108
  }
@@ -107,7 +111,7 @@ export interface CreateQualificationResponse {
107
111
  */
108
112
  export interface UpdateQualificationRequest {
109
113
  /**
110
- * @generated from protobuf field: resources.qualifications.Qualification qualification = 1;
114
+ * @generated from protobuf field: resources.qualifications.Qualification qualification = 1
111
115
  */
112
116
  qualification?: Qualification;
113
117
  }
@@ -116,7 +120,7 @@ export interface UpdateQualificationRequest {
116
120
  */
117
121
  export interface UpdateQualificationResponse {
118
122
  /**
119
- * @generated from protobuf field: uint64 qualification_id = 1;
123
+ * @generated from protobuf field: int64 qualification_id = 1
120
124
  */
121
125
  qualificationId: number;
122
126
  }
@@ -125,7 +129,7 @@ export interface UpdateQualificationResponse {
125
129
  */
126
130
  export interface DeleteQualificationRequest {
127
131
  /**
128
- * @generated from protobuf field: uint64 qualification_id = 1;
132
+ * @generated from protobuf field: int64 qualification_id = 1
129
133
  */
130
134
  qualificationId: number;
131
135
  }
@@ -141,7 +145,7 @@ export interface DeleteQualificationResponse {
141
145
  */
142
146
  export interface GetQualificationAccessRequest {
143
147
  /**
144
- * @generated from protobuf field: uint64 qualification_id = 1;
148
+ * @generated from protobuf field: int64 qualification_id = 1
145
149
  */
146
150
  qualificationId: number;
147
151
  }
@@ -150,7 +154,7 @@ export interface GetQualificationAccessRequest {
150
154
  */
151
155
  export interface GetQualificationAccessResponse {
152
156
  /**
153
- * @generated from protobuf field: resources.qualifications.QualificationAccess access = 1;
157
+ * @generated from protobuf field: resources.qualifications.QualificationAccess access = 1
154
158
  */
155
159
  access?: QualificationAccess;
156
160
  }
@@ -159,11 +163,11 @@ export interface GetQualificationAccessResponse {
159
163
  */
160
164
  export interface SetQualificationAccessRequest {
161
165
  /**
162
- * @generated from protobuf field: uint64 qualification_id = 1;
166
+ * @generated from protobuf field: int64 qualification_id = 1
163
167
  */
164
168
  qualificationId: number;
165
169
  /**
166
- * @generated from protobuf field: resources.qualifications.QualificationAccess access = 2;
170
+ * @generated from protobuf field: resources.qualifications.QualificationAccess access = 2
167
171
  */
168
172
  access?: QualificationAccess;
169
173
  }
@@ -179,25 +183,25 @@ export interface SetQualificationAccessResponse {
179
183
  */
180
184
  export interface ListQualificationRequestsRequest {
181
185
  /**
182
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
186
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
183
187
  */
184
188
  pagination?: PaginationRequest;
185
189
  /**
186
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
190
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
187
191
  */
188
192
  sort?: Sort;
189
193
  /**
190
194
  * Search params
191
195
  *
192
- * @generated from protobuf field: optional uint64 qualification_id = 3;
196
+ * @generated from protobuf field: optional int64 qualification_id = 3
193
197
  */
194
198
  qualificationId?: number;
195
199
  /**
196
- * @generated from protobuf field: repeated resources.qualifications.RequestStatus status = 4;
200
+ * @generated from protobuf field: repeated resources.qualifications.RequestStatus status = 4
197
201
  */
198
202
  status: RequestStatus[];
199
203
  /**
200
- * @generated from protobuf field: optional int32 user_id = 5;
204
+ * @generated from protobuf field: optional int32 user_id = 5
201
205
  */
202
206
  userId?: number;
203
207
  }
@@ -206,11 +210,11 @@ export interface ListQualificationRequestsRequest {
206
210
  */
207
211
  export interface ListQualificationRequestsResponse {
208
212
  /**
209
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
213
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
210
214
  */
211
215
  pagination?: PaginationResponse;
212
216
  /**
213
- * @generated from protobuf field: repeated resources.qualifications.QualificationRequest requests = 2;
217
+ * @generated from protobuf field: repeated resources.qualifications.QualificationRequest requests = 2
214
218
  */
215
219
  requests: QualificationRequest[];
216
220
  }
@@ -219,7 +223,7 @@ export interface ListQualificationRequestsResponse {
219
223
  */
220
224
  export interface CreateOrUpdateQualificationRequestRequest {
221
225
  /**
222
- * @generated from protobuf field: resources.qualifications.QualificationRequest request = 1;
226
+ * @generated from protobuf field: resources.qualifications.QualificationRequest request = 1
223
227
  */
224
228
  request?: QualificationRequest;
225
229
  }
@@ -228,7 +232,7 @@ export interface CreateOrUpdateQualificationRequestRequest {
228
232
  */
229
233
  export interface CreateOrUpdateQualificationRequestResponse {
230
234
  /**
231
- * @generated from protobuf field: resources.qualifications.QualificationRequest request = 1;
235
+ * @generated from protobuf field: resources.qualifications.QualificationRequest request = 1
232
236
  */
233
237
  request?: QualificationRequest;
234
238
  }
@@ -237,11 +241,11 @@ export interface CreateOrUpdateQualificationRequestResponse {
237
241
  */
238
242
  export interface DeleteQualificationReqRequest {
239
243
  /**
240
- * @generated from protobuf field: uint64 qualification_id = 1;
244
+ * @generated from protobuf field: int64 qualification_id = 1
241
245
  */
242
246
  qualificationId: number;
243
247
  /**
244
- * @generated from protobuf field: int32 user_id = 2;
248
+ * @generated from protobuf field: int32 user_id = 2
245
249
  */
246
250
  userId: number;
247
251
  }
@@ -257,25 +261,25 @@ export interface DeleteQualificationReqResponse {
257
261
  */
258
262
  export interface ListQualificationsResultsRequest {
259
263
  /**
260
- * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1;
264
+ * @generated from protobuf field: resources.common.database.PaginationRequest pagination = 1
261
265
  */
262
266
  pagination?: PaginationRequest;
263
267
  /**
264
- * @generated from protobuf field: optional resources.common.database.Sort sort = 2;
268
+ * @generated from protobuf field: optional resources.common.database.Sort sort = 2
265
269
  */
266
270
  sort?: Sort;
267
271
  /**
268
272
  * Search params
269
273
  *
270
- * @generated from protobuf field: optional uint64 qualification_id = 3;
274
+ * @generated from protobuf field: optional int64 qualification_id = 3
271
275
  */
272
276
  qualificationId?: number;
273
277
  /**
274
- * @generated from protobuf field: repeated resources.qualifications.ResultStatus status = 4;
278
+ * @generated from protobuf field: repeated resources.qualifications.ResultStatus status = 4
275
279
  */
276
280
  status: ResultStatus[];
277
281
  /**
278
- * @generated from protobuf field: optional int32 user_id = 5;
282
+ * @generated from protobuf field: optional int32 user_id = 5
279
283
  */
280
284
  userId?: number;
281
285
  }
@@ -284,11 +288,11 @@ export interface ListQualificationsResultsRequest {
284
288
  */
285
289
  export interface ListQualificationsResultsResponse {
286
290
  /**
287
- * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1;
291
+ * @generated from protobuf field: resources.common.database.PaginationResponse pagination = 1
288
292
  */
289
293
  pagination?: PaginationResponse;
290
294
  /**
291
- * @generated from protobuf field: repeated resources.qualifications.QualificationResult results = 2;
295
+ * @generated from protobuf field: repeated resources.qualifications.QualificationResult results = 2
292
296
  */
293
297
  results: QualificationResult[];
294
298
  }
@@ -297,11 +301,11 @@ export interface ListQualificationsResultsResponse {
297
301
  */
298
302
  export interface CreateOrUpdateQualificationResultRequest {
299
303
  /**
300
- * @generated from protobuf field: resources.qualifications.QualificationResult result = 1;
304
+ * @generated from protobuf field: resources.qualifications.QualificationResult result = 1
301
305
  */
302
306
  result?: QualificationResult;
303
307
  /**
304
- * @generated from protobuf field: optional resources.qualifications.ExamGrading grading = 2;
308
+ * @generated from protobuf field: optional resources.qualifications.ExamGrading grading = 2
305
309
  */
306
310
  grading?: ExamGrading;
307
311
  }
@@ -310,7 +314,7 @@ export interface CreateOrUpdateQualificationResultRequest {
310
314
  */
311
315
  export interface CreateOrUpdateQualificationResultResponse {
312
316
  /**
313
- * @generated from protobuf field: resources.qualifications.QualificationResult result = 1;
317
+ * @generated from protobuf field: resources.qualifications.QualificationResult result = 1
314
318
  */
315
319
  result?: QualificationResult;
316
320
  }
@@ -319,7 +323,7 @@ export interface CreateOrUpdateQualificationResultResponse {
319
323
  */
320
324
  export interface DeleteQualificationResultRequest {
321
325
  /**
322
- * @generated from protobuf field: uint64 result_id = 1;
326
+ * @generated from protobuf field: int64 result_id = 1
323
327
  */
324
328
  resultId: number;
325
329
  }
@@ -335,7 +339,7 @@ export interface DeleteQualificationResultResponse {
335
339
  */
336
340
  export interface GetExamInfoRequest {
337
341
  /**
338
- * @generated from protobuf field: uint64 qualification_id = 1;
342
+ * @generated from protobuf field: int64 qualification_id = 1
339
343
  */
340
344
  qualificationId: number;
341
345
  }
@@ -344,15 +348,15 @@ export interface GetExamInfoRequest {
344
348
  */
345
349
  export interface GetExamInfoResponse {
346
350
  /**
347
- * @generated from protobuf field: resources.qualifications.QualificationShort qualification = 1;
351
+ * @generated from protobuf field: resources.qualifications.QualificationShort qualification = 1
348
352
  */
349
353
  qualification?: QualificationShort;
350
354
  /**
351
- * @generated from protobuf field: int32 question_count = 2;
355
+ * @generated from protobuf field: int64 question_count = 2
352
356
  */
353
357
  questionCount: number;
354
358
  /**
355
- * @generated from protobuf field: optional resources.qualifications.ExamUser exam_user = 3;
359
+ * @generated from protobuf field: optional resources.qualifications.ExamUser exam_user = 3
356
360
  */
357
361
  examUser?: ExamUser;
358
362
  }
@@ -361,11 +365,11 @@ export interface GetExamInfoResponse {
361
365
  */
362
366
  export interface TakeExamRequest {
363
367
  /**
364
- * @generated from protobuf field: uint64 qualification_id = 1;
368
+ * @generated from protobuf field: int64 qualification_id = 1
365
369
  */
366
370
  qualificationId: number;
367
371
  /**
368
- * @generated from protobuf field: optional bool cancel = 2;
372
+ * @generated from protobuf field: optional bool cancel = 2
369
373
  */
370
374
  cancel?: boolean;
371
375
  }
@@ -374,11 +378,11 @@ export interface TakeExamRequest {
374
378
  */
375
379
  export interface TakeExamResponse {
376
380
  /**
377
- * @generated from protobuf field: resources.qualifications.ExamQuestions exam = 1;
381
+ * @generated from protobuf field: resources.qualifications.ExamQuestions exam = 1
378
382
  */
379
383
  exam?: ExamQuestions;
380
384
  /**
381
- * @generated from protobuf field: resources.qualifications.ExamUser exam_user = 2;
385
+ * @generated from protobuf field: resources.qualifications.ExamUser exam_user = 2
382
386
  */
383
387
  examUser?: ExamUser;
384
388
  }
@@ -387,11 +391,11 @@ export interface TakeExamResponse {
387
391
  */
388
392
  export interface SubmitExamRequest {
389
393
  /**
390
- * @generated from protobuf field: uint64 qualification_id = 1;
394
+ * @generated from protobuf field: int64 qualification_id = 1
391
395
  */
392
396
  qualificationId: number;
393
397
  /**
394
- * @generated from protobuf field: resources.qualifications.ExamResponses responses = 2;
398
+ * @generated from protobuf field: resources.qualifications.ExamResponses responses = 2
395
399
  */
396
400
  responses?: ExamResponses;
397
401
  }
@@ -400,7 +404,7 @@ export interface SubmitExamRequest {
400
404
  */
401
405
  export interface SubmitExamResponse {
402
406
  /**
403
- * @generated from protobuf field: google.protobuf.Duration duration = 1;
407
+ * @generated from protobuf field: google.protobuf.Duration duration = 1
404
408
  */
405
409
  duration?: Duration;
406
410
  }
@@ -409,11 +413,11 @@ export interface SubmitExamResponse {
409
413
  */
410
414
  export interface GetUserExamRequest {
411
415
  /**
412
- * @generated from protobuf field: uint64 qualification_id = 1;
416
+ * @generated from protobuf field: int64 qualification_id = 1
413
417
  */
414
418
  qualificationId: number;
415
419
  /**
416
- * @generated from protobuf field: int32 user_id = 2;
420
+ * @generated from protobuf field: int32 user_id = 2
417
421
  */
418
422
  userId: number;
419
423
  }
@@ -422,19 +426,19 @@ export interface GetUserExamRequest {
422
426
  */
423
427
  export interface GetUserExamResponse {
424
428
  /**
425
- * @generated from protobuf field: resources.qualifications.ExamQuestions exam = 1;
429
+ * @generated from protobuf field: resources.qualifications.ExamQuestions exam = 1
426
430
  */
427
431
  exam?: ExamQuestions;
428
432
  /**
429
- * @generated from protobuf field: resources.qualifications.ExamUser exam_user = 2;
433
+ * @generated from protobuf field: resources.qualifications.ExamUser exam_user = 2
430
434
  */
431
435
  examUser?: ExamUser;
432
436
  /**
433
- * @generated from protobuf field: resources.qualifications.ExamResponses responses = 3;
437
+ * @generated from protobuf field: resources.qualifications.ExamResponses responses = 3
434
438
  */
435
439
  responses?: ExamResponses;
436
440
  /**
437
- * @generated from protobuf field: resources.qualifications.ExamGrading grading = 4;
441
+ * @generated from protobuf field: resources.qualifications.ExamGrading grading = 4
438
442
  */
439
443
  grading?: ExamGrading;
440
444
  }
@@ -442,10 +446,10 @@ export interface GetUserExamResponse {
442
446
  class ListQualificationsRequest$Type extends MessageType<ListQualificationsRequest> {
443
447
  constructor() {
444
448
  super("services.qualifications.ListQualificationsRequest", [
445
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
449
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
446
450
  { no: 2, name: "sort", kind: "message", T: () => Sort },
447
- { no: 3, name: "search", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "64" } } } },
448
- { no: 4, name: "job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { maxLen: "20" } } } }
451
+ { no: 3, name: "search", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "64" } } } },
452
+ { no: 4, name: "job", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "20" } } } }
449
453
  ]);
450
454
  }
451
455
  create(value?: PartialMessage<ListQualificationsRequest>): ListQualificationsRequest {
@@ -509,8 +513,8 @@ export const ListQualificationsRequest = new ListQualificationsRequest$Type();
509
513
  class ListQualificationsResponse$Type extends MessageType<ListQualificationsResponse> {
510
514
  constructor() {
511
515
  super("services.qualifications.ListQualificationsResponse", [
512
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
513
- { no: 2, name: "qualifications", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Qualification }
516
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
517
+ { no: 2, name: "qualifications", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Qualification, options: { "codegen.itemslen.enabled": true } }
514
518
  ]);
515
519
  }
516
520
  create(value?: PartialMessage<ListQualificationsResponse>): ListQualificationsResponse {
@@ -563,7 +567,7 @@ export const ListQualificationsResponse = new ListQualificationsResponse$Type();
563
567
  class GetQualificationRequest$Type extends MessageType<GetQualificationRequest> {
564
568
  constructor() {
565
569
  super("services.qualifications.GetQualificationRequest", [
566
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
570
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
567
571
  { no: 2, name: "with_exam", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
568
572
  ]);
569
573
  }
@@ -579,8 +583,8 @@ class GetQualificationRequest$Type extends MessageType<GetQualificationRequest>
579
583
  while (reader.pos < end) {
580
584
  let [fieldNo, wireType] = reader.tag();
581
585
  switch (fieldNo) {
582
- case /* uint64 qualification_id */ 1:
583
- message.qualificationId = reader.uint64().toNumber();
586
+ case /* int64 qualification_id */ 1:
587
+ message.qualificationId = reader.int64().toNumber();
584
588
  break;
585
589
  case /* optional bool with_exam */ 2:
586
590
  message.withExam = reader.bool();
@@ -597,9 +601,9 @@ class GetQualificationRequest$Type extends MessageType<GetQualificationRequest>
597
601
  return message;
598
602
  }
599
603
  internalBinaryWrite(message: GetQualificationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
600
- /* uint64 qualification_id = 1; */
604
+ /* int64 qualification_id = 1; */
601
605
  if (message.qualificationId !== 0)
602
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
606
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
603
607
  /* optional bool with_exam = 2; */
604
608
  if (message.withExam !== undefined)
605
609
  writer.tag(2, WireType.Varint).bool(message.withExam);
@@ -663,11 +667,12 @@ export const GetQualificationResponse = new GetQualificationResponse$Type();
663
667
  class CreateQualificationRequest$Type extends MessageType<CreateQualificationRequest> {
664
668
  constructor() {
665
669
  super("services.qualifications.CreateQualificationRequest", [
666
- { no: 1, name: "qualification", kind: "message", T: () => Qualification, options: { "validate.rules": { message: { required: true } } } }
670
+ { no: 1, name: "content_type", kind: "enum", T: () => ["resources.common.content.ContentType", ContentType, "CONTENT_TYPE_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } }
667
671
  ]);
668
672
  }
669
673
  create(value?: PartialMessage<CreateQualificationRequest>): CreateQualificationRequest {
670
674
  const message = globalThis.Object.create((this.messagePrototype!));
675
+ message.contentType = 0;
671
676
  if (value !== undefined)
672
677
  reflectionMergePartial<CreateQualificationRequest>(this, message, value);
673
678
  return message;
@@ -677,8 +682,8 @@ class CreateQualificationRequest$Type extends MessageType<CreateQualificationReq
677
682
  while (reader.pos < end) {
678
683
  let [fieldNo, wireType] = reader.tag();
679
684
  switch (fieldNo) {
680
- case /* resources.qualifications.Qualification qualification */ 1:
681
- message.qualification = Qualification.internalBinaryRead(reader, reader.uint32(), options, message.qualification);
685
+ case /* resources.common.content.ContentType content_type */ 1:
686
+ message.contentType = reader.int32();
682
687
  break;
683
688
  default:
684
689
  let u = options.readUnknownField;
@@ -692,9 +697,9 @@ class CreateQualificationRequest$Type extends MessageType<CreateQualificationReq
692
697
  return message;
693
698
  }
694
699
  internalBinaryWrite(message: CreateQualificationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
695
- /* resources.qualifications.Qualification qualification = 1; */
696
- if (message.qualification)
697
- Qualification.internalBinaryWrite(message.qualification, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
700
+ /* resources.common.content.ContentType content_type = 1; */
701
+ if (message.contentType !== 0)
702
+ writer.tag(1, WireType.Varint).int32(message.contentType);
698
703
  let u = options.writeUnknownFields;
699
704
  if (u !== false)
700
705
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -709,7 +714,7 @@ export const CreateQualificationRequest = new CreateQualificationRequest$Type();
709
714
  class CreateQualificationResponse$Type extends MessageType<CreateQualificationResponse> {
710
715
  constructor() {
711
716
  super("services.qualifications.CreateQualificationResponse", [
712
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
717
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
713
718
  ]);
714
719
  }
715
720
  create(value?: PartialMessage<CreateQualificationResponse>): CreateQualificationResponse {
@@ -724,8 +729,8 @@ class CreateQualificationResponse$Type extends MessageType<CreateQualificationRe
724
729
  while (reader.pos < end) {
725
730
  let [fieldNo, wireType] = reader.tag();
726
731
  switch (fieldNo) {
727
- case /* uint64 qualification_id */ 1:
728
- message.qualificationId = reader.uint64().toNumber();
732
+ case /* int64 qualification_id */ 1:
733
+ message.qualificationId = reader.int64().toNumber();
729
734
  break;
730
735
  default:
731
736
  let u = options.readUnknownField;
@@ -739,9 +744,9 @@ class CreateQualificationResponse$Type extends MessageType<CreateQualificationRe
739
744
  return message;
740
745
  }
741
746
  internalBinaryWrite(message: CreateQualificationResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
742
- /* uint64 qualification_id = 1; */
747
+ /* int64 qualification_id = 1; */
743
748
  if (message.qualificationId !== 0)
744
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
749
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
745
750
  let u = options.writeUnknownFields;
746
751
  if (u !== false)
747
752
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -756,7 +761,7 @@ export const CreateQualificationResponse = new CreateQualificationResponse$Type(
756
761
  class UpdateQualificationRequest$Type extends MessageType<UpdateQualificationRequest> {
757
762
  constructor() {
758
763
  super("services.qualifications.UpdateQualificationRequest", [
759
- { no: 1, name: "qualification", kind: "message", T: () => Qualification, options: { "validate.rules": { message: { required: true } } } }
764
+ { no: 1, name: "qualification", kind: "message", T: () => Qualification, options: { "buf.validate.field": { required: true } } }
760
765
  ]);
761
766
  }
762
767
  create(value?: PartialMessage<UpdateQualificationRequest>): UpdateQualificationRequest {
@@ -802,7 +807,7 @@ export const UpdateQualificationRequest = new UpdateQualificationRequest$Type();
802
807
  class UpdateQualificationResponse$Type extends MessageType<UpdateQualificationResponse> {
803
808
  constructor() {
804
809
  super("services.qualifications.UpdateQualificationResponse", [
805
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
810
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
806
811
  ]);
807
812
  }
808
813
  create(value?: PartialMessage<UpdateQualificationResponse>): UpdateQualificationResponse {
@@ -817,8 +822,8 @@ class UpdateQualificationResponse$Type extends MessageType<UpdateQualificationRe
817
822
  while (reader.pos < end) {
818
823
  let [fieldNo, wireType] = reader.tag();
819
824
  switch (fieldNo) {
820
- case /* uint64 qualification_id */ 1:
821
- message.qualificationId = reader.uint64().toNumber();
825
+ case /* int64 qualification_id */ 1:
826
+ message.qualificationId = reader.int64().toNumber();
822
827
  break;
823
828
  default:
824
829
  let u = options.readUnknownField;
@@ -832,9 +837,9 @@ class UpdateQualificationResponse$Type extends MessageType<UpdateQualificationRe
832
837
  return message;
833
838
  }
834
839
  internalBinaryWrite(message: UpdateQualificationResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
835
- /* uint64 qualification_id = 1; */
840
+ /* int64 qualification_id = 1; */
836
841
  if (message.qualificationId !== 0)
837
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
842
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
838
843
  let u = options.writeUnknownFields;
839
844
  if (u !== false)
840
845
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -849,7 +854,7 @@ export const UpdateQualificationResponse = new UpdateQualificationResponse$Type(
849
854
  class DeleteQualificationRequest$Type extends MessageType<DeleteQualificationRequest> {
850
855
  constructor() {
851
856
  super("services.qualifications.DeleteQualificationRequest", [
852
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
857
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
853
858
  ]);
854
859
  }
855
860
  create(value?: PartialMessage<DeleteQualificationRequest>): DeleteQualificationRequest {
@@ -864,8 +869,8 @@ class DeleteQualificationRequest$Type extends MessageType<DeleteQualificationReq
864
869
  while (reader.pos < end) {
865
870
  let [fieldNo, wireType] = reader.tag();
866
871
  switch (fieldNo) {
867
- case /* uint64 qualification_id */ 1:
868
- message.qualificationId = reader.uint64().toNumber();
872
+ case /* int64 qualification_id */ 1:
873
+ message.qualificationId = reader.int64().toNumber();
869
874
  break;
870
875
  default:
871
876
  let u = options.readUnknownField;
@@ -879,9 +884,9 @@ class DeleteQualificationRequest$Type extends MessageType<DeleteQualificationReq
879
884
  return message;
880
885
  }
881
886
  internalBinaryWrite(message: DeleteQualificationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
882
- /* uint64 qualification_id = 1; */
887
+ /* int64 qualification_id = 1; */
883
888
  if (message.qualificationId !== 0)
884
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
889
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
885
890
  let u = options.writeUnknownFields;
886
891
  if (u !== false)
887
892
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -934,7 +939,7 @@ export const DeleteQualificationResponse = new DeleteQualificationResponse$Type(
934
939
  class GetQualificationAccessRequest$Type extends MessageType<GetQualificationAccessRequest> {
935
940
  constructor() {
936
941
  super("services.qualifications.GetQualificationAccessRequest", [
937
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
942
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
938
943
  ]);
939
944
  }
940
945
  create(value?: PartialMessage<GetQualificationAccessRequest>): GetQualificationAccessRequest {
@@ -949,8 +954,8 @@ class GetQualificationAccessRequest$Type extends MessageType<GetQualificationAcc
949
954
  while (reader.pos < end) {
950
955
  let [fieldNo, wireType] = reader.tag();
951
956
  switch (fieldNo) {
952
- case /* uint64 qualification_id */ 1:
953
- message.qualificationId = reader.uint64().toNumber();
957
+ case /* int64 qualification_id */ 1:
958
+ message.qualificationId = reader.int64().toNumber();
954
959
  break;
955
960
  default:
956
961
  let u = options.readUnknownField;
@@ -964,9 +969,9 @@ class GetQualificationAccessRequest$Type extends MessageType<GetQualificationAcc
964
969
  return message;
965
970
  }
966
971
  internalBinaryWrite(message: GetQualificationAccessRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
967
- /* uint64 qualification_id = 1; */
972
+ /* int64 qualification_id = 1; */
968
973
  if (message.qualificationId !== 0)
969
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
974
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
970
975
  let u = options.writeUnknownFields;
971
976
  if (u !== false)
972
977
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -981,7 +986,7 @@ export const GetQualificationAccessRequest = new GetQualificationAccessRequest$T
981
986
  class GetQualificationAccessResponse$Type extends MessageType<GetQualificationAccessResponse> {
982
987
  constructor() {
983
988
  super("services.qualifications.GetQualificationAccessResponse", [
984
- { no: 1, name: "access", kind: "message", T: () => QualificationAccess, options: { "validate.rules": { message: { required: true } } } }
989
+ { no: 1, name: "access", kind: "message", T: () => QualificationAccess, options: { "buf.validate.field": { required: true } } }
985
990
  ]);
986
991
  }
987
992
  create(value?: PartialMessage<GetQualificationAccessResponse>): GetQualificationAccessResponse {
@@ -1027,8 +1032,8 @@ export const GetQualificationAccessResponse = new GetQualificationAccessResponse
1027
1032
  class SetQualificationAccessRequest$Type extends MessageType<SetQualificationAccessRequest> {
1028
1033
  constructor() {
1029
1034
  super("services.qualifications.SetQualificationAccessRequest", [
1030
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
1031
- { no: 2, name: "access", kind: "message", T: () => QualificationAccess, options: { "validate.rules": { message: { required: true } } } }
1035
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
1036
+ { no: 2, name: "access", kind: "message", T: () => QualificationAccess, options: { "buf.validate.field": { required: true } } }
1032
1037
  ]);
1033
1038
  }
1034
1039
  create(value?: PartialMessage<SetQualificationAccessRequest>): SetQualificationAccessRequest {
@@ -1043,8 +1048,8 @@ class SetQualificationAccessRequest$Type extends MessageType<SetQualificationAcc
1043
1048
  while (reader.pos < end) {
1044
1049
  let [fieldNo, wireType] = reader.tag();
1045
1050
  switch (fieldNo) {
1046
- case /* uint64 qualification_id */ 1:
1047
- message.qualificationId = reader.uint64().toNumber();
1051
+ case /* int64 qualification_id */ 1:
1052
+ message.qualificationId = reader.int64().toNumber();
1048
1053
  break;
1049
1054
  case /* resources.qualifications.QualificationAccess access */ 2:
1050
1055
  message.access = QualificationAccess.internalBinaryRead(reader, reader.uint32(), options, message.access);
@@ -1061,9 +1066,9 @@ class SetQualificationAccessRequest$Type extends MessageType<SetQualificationAcc
1061
1066
  return message;
1062
1067
  }
1063
1068
  internalBinaryWrite(message: SetQualificationAccessRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1064
- /* uint64 qualification_id = 1; */
1069
+ /* int64 qualification_id = 1; */
1065
1070
  if (message.qualificationId !== 0)
1066
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
1071
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
1067
1072
  /* resources.qualifications.QualificationAccess access = 2; */
1068
1073
  if (message.access)
1069
1074
  QualificationAccess.internalBinaryWrite(message.access, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
@@ -1119,11 +1124,11 @@ export const SetQualificationAccessResponse = new SetQualificationAccessResponse
1119
1124
  class ListQualificationRequestsRequest$Type extends MessageType<ListQualificationRequestsRequest> {
1120
1125
  constructor() {
1121
1126
  super("services.qualifications.ListQualificationRequestsRequest", [
1122
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
1127
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
1123
1128
  { no: 2, name: "sort", kind: "message", T: () => Sort },
1124
- { no: 3, name: "qualification_id", kind: "scalar", opt: true, T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
1129
+ { no: 3, name: "qualification_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
1125
1130
  { no: 4, name: "status", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["resources.qualifications.RequestStatus", RequestStatus, "REQUEST_STATUS_"] },
1126
- { no: 5, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } }
1131
+ { no: 5, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } }
1127
1132
  ]);
1128
1133
  }
1129
1134
  create(value?: PartialMessage<ListQualificationRequestsRequest>): ListQualificationRequestsRequest {
@@ -1144,8 +1149,8 @@ class ListQualificationRequestsRequest$Type extends MessageType<ListQualificatio
1144
1149
  case /* optional resources.common.database.Sort sort */ 2:
1145
1150
  message.sort = Sort.internalBinaryRead(reader, reader.uint32(), options, message.sort);
1146
1151
  break;
1147
- case /* optional uint64 qualification_id */ 3:
1148
- message.qualificationId = reader.uint64().toNumber();
1152
+ case /* optional int64 qualification_id */ 3:
1153
+ message.qualificationId = reader.int64().toNumber();
1149
1154
  break;
1150
1155
  case /* repeated resources.qualifications.RequestStatus status */ 4:
1151
1156
  if (wireType === WireType.LengthDelimited)
@@ -1175,9 +1180,9 @@ class ListQualificationRequestsRequest$Type extends MessageType<ListQualificatio
1175
1180
  /* optional resources.common.database.Sort sort = 2; */
1176
1181
  if (message.sort)
1177
1182
  Sort.internalBinaryWrite(message.sort, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1178
- /* optional uint64 qualification_id = 3; */
1183
+ /* optional int64 qualification_id = 3; */
1179
1184
  if (message.qualificationId !== undefined)
1180
- writer.tag(3, WireType.Varint).uint64(message.qualificationId);
1185
+ writer.tag(3, WireType.Varint).int64(message.qualificationId);
1181
1186
  /* repeated resources.qualifications.RequestStatus status = 4; */
1182
1187
  if (message.status.length) {
1183
1188
  writer.tag(4, WireType.LengthDelimited).fork();
@@ -1202,8 +1207,8 @@ export const ListQualificationRequestsRequest = new ListQualificationRequestsReq
1202
1207
  class ListQualificationRequestsResponse$Type extends MessageType<ListQualificationRequestsResponse> {
1203
1208
  constructor() {
1204
1209
  super("services.qualifications.ListQualificationRequestsResponse", [
1205
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
1206
- { no: 2, name: "requests", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => QualificationRequest }
1210
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
1211
+ { no: 2, name: "requests", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => QualificationRequest, options: { "codegen.itemslen.enabled": true } }
1207
1212
  ]);
1208
1213
  }
1209
1214
  create(value?: PartialMessage<ListQualificationRequestsResponse>): ListQualificationRequestsResponse {
@@ -1256,7 +1261,7 @@ export const ListQualificationRequestsResponse = new ListQualificationRequestsRe
1256
1261
  class CreateOrUpdateQualificationRequestRequest$Type extends MessageType<CreateOrUpdateQualificationRequestRequest> {
1257
1262
  constructor() {
1258
1263
  super("services.qualifications.CreateOrUpdateQualificationRequestRequest", [
1259
- { no: 1, name: "request", kind: "message", T: () => QualificationRequest, options: { "validate.rules": { message: { required: true } } } }
1264
+ { no: 1, name: "request", kind: "message", T: () => QualificationRequest, options: { "buf.validate.field": { required: true } } }
1260
1265
  ]);
1261
1266
  }
1262
1267
  create(value?: PartialMessage<CreateOrUpdateQualificationRequestRequest>): CreateOrUpdateQualificationRequestRequest {
@@ -1348,8 +1353,8 @@ export const CreateOrUpdateQualificationRequestResponse = new CreateOrUpdateQual
1348
1353
  class DeleteQualificationReqRequest$Type extends MessageType<DeleteQualificationReqRequest> {
1349
1354
  constructor() {
1350
1355
  super("services.qualifications.DeleteQualificationReqRequest", [
1351
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
1352
- { no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } }
1356
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
1357
+ { no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } }
1353
1358
  ]);
1354
1359
  }
1355
1360
  create(value?: PartialMessage<DeleteQualificationReqRequest>): DeleteQualificationReqRequest {
@@ -1365,8 +1370,8 @@ class DeleteQualificationReqRequest$Type extends MessageType<DeleteQualification
1365
1370
  while (reader.pos < end) {
1366
1371
  let [fieldNo, wireType] = reader.tag();
1367
1372
  switch (fieldNo) {
1368
- case /* uint64 qualification_id */ 1:
1369
- message.qualificationId = reader.uint64().toNumber();
1373
+ case /* int64 qualification_id */ 1:
1374
+ message.qualificationId = reader.int64().toNumber();
1370
1375
  break;
1371
1376
  case /* int32 user_id */ 2:
1372
1377
  message.userId = reader.int32();
@@ -1383,9 +1388,9 @@ class DeleteQualificationReqRequest$Type extends MessageType<DeleteQualification
1383
1388
  return message;
1384
1389
  }
1385
1390
  internalBinaryWrite(message: DeleteQualificationReqRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1386
- /* uint64 qualification_id = 1; */
1391
+ /* int64 qualification_id = 1; */
1387
1392
  if (message.qualificationId !== 0)
1388
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
1393
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
1389
1394
  /* int32 user_id = 2; */
1390
1395
  if (message.userId !== 0)
1391
1396
  writer.tag(2, WireType.Varint).int32(message.userId);
@@ -1441,11 +1446,11 @@ export const DeleteQualificationReqResponse = new DeleteQualificationReqResponse
1441
1446
  class ListQualificationsResultsRequest$Type extends MessageType<ListQualificationsResultsRequest> {
1442
1447
  constructor() {
1443
1448
  super("services.qualifications.ListQualificationsResultsRequest", [
1444
- { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "validate.rules": { message: { required: true } } } },
1449
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationRequest, options: { "buf.validate.field": { required: true } } },
1445
1450
  { no: 2, name: "sort", kind: "message", T: () => Sort },
1446
- { no: 3, name: "qualification_id", kind: "scalar", opt: true, T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
1451
+ { no: 3, name: "qualification_id", kind: "scalar", opt: true, T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
1447
1452
  { no: 4, name: "status", kind: "enum", repeat: 1 /*RepeatType.PACKED*/, T: () => ["resources.qualifications.ResultStatus", ResultStatus, "RESULT_STATUS_"] },
1448
- { no: 5, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } }
1453
+ { no: 5, name: "user_id", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } }
1449
1454
  ]);
1450
1455
  }
1451
1456
  create(value?: PartialMessage<ListQualificationsResultsRequest>): ListQualificationsResultsRequest {
@@ -1466,8 +1471,8 @@ class ListQualificationsResultsRequest$Type extends MessageType<ListQualificatio
1466
1471
  case /* optional resources.common.database.Sort sort */ 2:
1467
1472
  message.sort = Sort.internalBinaryRead(reader, reader.uint32(), options, message.sort);
1468
1473
  break;
1469
- case /* optional uint64 qualification_id */ 3:
1470
- message.qualificationId = reader.uint64().toNumber();
1474
+ case /* optional int64 qualification_id */ 3:
1475
+ message.qualificationId = reader.int64().toNumber();
1471
1476
  break;
1472
1477
  case /* repeated resources.qualifications.ResultStatus status */ 4:
1473
1478
  if (wireType === WireType.LengthDelimited)
@@ -1497,9 +1502,9 @@ class ListQualificationsResultsRequest$Type extends MessageType<ListQualificatio
1497
1502
  /* optional resources.common.database.Sort sort = 2; */
1498
1503
  if (message.sort)
1499
1504
  Sort.internalBinaryWrite(message.sort, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1500
- /* optional uint64 qualification_id = 3; */
1505
+ /* optional int64 qualification_id = 3; */
1501
1506
  if (message.qualificationId !== undefined)
1502
- writer.tag(3, WireType.Varint).uint64(message.qualificationId);
1507
+ writer.tag(3, WireType.Varint).int64(message.qualificationId);
1503
1508
  /* repeated resources.qualifications.ResultStatus status = 4; */
1504
1509
  if (message.status.length) {
1505
1510
  writer.tag(4, WireType.LengthDelimited).fork();
@@ -1524,8 +1529,8 @@ export const ListQualificationsResultsRequest = new ListQualificationsResultsReq
1524
1529
  class ListQualificationsResultsResponse$Type extends MessageType<ListQualificationsResultsResponse> {
1525
1530
  constructor() {
1526
1531
  super("services.qualifications.ListQualificationsResultsResponse", [
1527
- { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse },
1528
- { no: 2, name: "results", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => QualificationResult }
1532
+ { no: 1, name: "pagination", kind: "message", T: () => PaginationResponse, options: { "buf.validate.field": { required: true } } },
1533
+ { no: 2, name: "results", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => QualificationResult, options: { "codegen.itemslen.enabled": true } }
1529
1534
  ]);
1530
1535
  }
1531
1536
  create(value?: PartialMessage<ListQualificationsResultsResponse>): ListQualificationsResultsResponse {
@@ -1578,7 +1583,7 @@ export const ListQualificationsResultsResponse = new ListQualificationsResultsRe
1578
1583
  class CreateOrUpdateQualificationResultRequest$Type extends MessageType<CreateOrUpdateQualificationResultRequest> {
1579
1584
  constructor() {
1580
1585
  super("services.qualifications.CreateOrUpdateQualificationResultRequest", [
1581
- { no: 1, name: "result", kind: "message", T: () => QualificationResult, options: { "validate.rules": { message: { required: true } } } },
1586
+ { no: 1, name: "result", kind: "message", T: () => QualificationResult, options: { "buf.validate.field": { required: true } } },
1582
1587
  { no: 2, name: "grading", kind: "message", T: () => ExamGrading }
1583
1588
  ]);
1584
1589
  }
@@ -1677,7 +1682,7 @@ export const CreateOrUpdateQualificationResultResponse = new CreateOrUpdateQuali
1677
1682
  class DeleteQualificationResultRequest$Type extends MessageType<DeleteQualificationResultRequest> {
1678
1683
  constructor() {
1679
1684
  super("services.qualifications.DeleteQualificationResultRequest", [
1680
- { no: 1, name: "result_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
1685
+ { no: 1, name: "result_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
1681
1686
  ]);
1682
1687
  }
1683
1688
  create(value?: PartialMessage<DeleteQualificationResultRequest>): DeleteQualificationResultRequest {
@@ -1692,8 +1697,8 @@ class DeleteQualificationResultRequest$Type extends MessageType<DeleteQualificat
1692
1697
  while (reader.pos < end) {
1693
1698
  let [fieldNo, wireType] = reader.tag();
1694
1699
  switch (fieldNo) {
1695
- case /* uint64 result_id */ 1:
1696
- message.resultId = reader.uint64().toNumber();
1700
+ case /* int64 result_id */ 1:
1701
+ message.resultId = reader.int64().toNumber();
1697
1702
  break;
1698
1703
  default:
1699
1704
  let u = options.readUnknownField;
@@ -1707,9 +1712,9 @@ class DeleteQualificationResultRequest$Type extends MessageType<DeleteQualificat
1707
1712
  return message;
1708
1713
  }
1709
1714
  internalBinaryWrite(message: DeleteQualificationResultRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1710
- /* uint64 result_id = 1; */
1715
+ /* int64 result_id = 1; */
1711
1716
  if (message.resultId !== 0)
1712
- writer.tag(1, WireType.Varint).uint64(message.resultId);
1717
+ writer.tag(1, WireType.Varint).int64(message.resultId);
1713
1718
  let u = options.writeUnknownFields;
1714
1719
  if (u !== false)
1715
1720
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1762,7 +1767,7 @@ export const DeleteQualificationResultResponse = new DeleteQualificationResultRe
1762
1767
  class GetExamInfoRequest$Type extends MessageType<GetExamInfoRequest> {
1763
1768
  constructor() {
1764
1769
  super("services.qualifications.GetExamInfoRequest", [
1765
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ }
1770
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ }
1766
1771
  ]);
1767
1772
  }
1768
1773
  create(value?: PartialMessage<GetExamInfoRequest>): GetExamInfoRequest {
@@ -1777,8 +1782,8 @@ class GetExamInfoRequest$Type extends MessageType<GetExamInfoRequest> {
1777
1782
  while (reader.pos < end) {
1778
1783
  let [fieldNo, wireType] = reader.tag();
1779
1784
  switch (fieldNo) {
1780
- case /* uint64 qualification_id */ 1:
1781
- message.qualificationId = reader.uint64().toNumber();
1785
+ case /* int64 qualification_id */ 1:
1786
+ message.qualificationId = reader.int64().toNumber();
1782
1787
  break;
1783
1788
  default:
1784
1789
  let u = options.readUnknownField;
@@ -1792,9 +1797,9 @@ class GetExamInfoRequest$Type extends MessageType<GetExamInfoRequest> {
1792
1797
  return message;
1793
1798
  }
1794
1799
  internalBinaryWrite(message: GetExamInfoRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1795
- /* uint64 qualification_id = 1; */
1800
+ /* int64 qualification_id = 1; */
1796
1801
  if (message.qualificationId !== 0)
1797
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
1802
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
1798
1803
  let u = options.writeUnknownFields;
1799
1804
  if (u !== false)
1800
1805
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1810,7 +1815,7 @@ class GetExamInfoResponse$Type extends MessageType<GetExamInfoResponse> {
1810
1815
  constructor() {
1811
1816
  super("services.qualifications.GetExamInfoResponse", [
1812
1817
  { no: 1, name: "qualification", kind: "message", T: () => QualificationShort },
1813
- { no: 2, name: "question_count", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
1818
+ { no: 2, name: "question_count", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
1814
1819
  { no: 3, name: "exam_user", kind: "message", T: () => ExamUser }
1815
1820
  ]);
1816
1821
  }
@@ -1829,8 +1834,8 @@ class GetExamInfoResponse$Type extends MessageType<GetExamInfoResponse> {
1829
1834
  case /* resources.qualifications.QualificationShort qualification */ 1:
1830
1835
  message.qualification = QualificationShort.internalBinaryRead(reader, reader.uint32(), options, message.qualification);
1831
1836
  break;
1832
- case /* int32 question_count */ 2:
1833
- message.questionCount = reader.int32();
1837
+ case /* int64 question_count */ 2:
1838
+ message.questionCount = reader.int64().toNumber();
1834
1839
  break;
1835
1840
  case /* optional resources.qualifications.ExamUser exam_user */ 3:
1836
1841
  message.examUser = ExamUser.internalBinaryRead(reader, reader.uint32(), options, message.examUser);
@@ -1850,9 +1855,9 @@ class GetExamInfoResponse$Type extends MessageType<GetExamInfoResponse> {
1850
1855
  /* resources.qualifications.QualificationShort qualification = 1; */
1851
1856
  if (message.qualification)
1852
1857
  QualificationShort.internalBinaryWrite(message.qualification, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1853
- /* int32 question_count = 2; */
1858
+ /* int64 question_count = 2; */
1854
1859
  if (message.questionCount !== 0)
1855
- writer.tag(2, WireType.Varint).int32(message.questionCount);
1860
+ writer.tag(2, WireType.Varint).int64(message.questionCount);
1856
1861
  /* optional resources.qualifications.ExamUser exam_user = 3; */
1857
1862
  if (message.examUser)
1858
1863
  ExamUser.internalBinaryWrite(message.examUser, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
@@ -1870,7 +1875,7 @@ export const GetExamInfoResponse = new GetExamInfoResponse$Type();
1870
1875
  class TakeExamRequest$Type extends MessageType<TakeExamRequest> {
1871
1876
  constructor() {
1872
1877
  super("services.qualifications.TakeExamRequest", [
1873
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
1878
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
1874
1879
  { no: 2, name: "cancel", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
1875
1880
  ]);
1876
1881
  }
@@ -1886,8 +1891,8 @@ class TakeExamRequest$Type extends MessageType<TakeExamRequest> {
1886
1891
  while (reader.pos < end) {
1887
1892
  let [fieldNo, wireType] = reader.tag();
1888
1893
  switch (fieldNo) {
1889
- case /* uint64 qualification_id */ 1:
1890
- message.qualificationId = reader.uint64().toNumber();
1894
+ case /* int64 qualification_id */ 1:
1895
+ message.qualificationId = reader.int64().toNumber();
1891
1896
  break;
1892
1897
  case /* optional bool cancel */ 2:
1893
1898
  message.cancel = reader.bool();
@@ -1904,9 +1909,9 @@ class TakeExamRequest$Type extends MessageType<TakeExamRequest> {
1904
1909
  return message;
1905
1910
  }
1906
1911
  internalBinaryWrite(message: TakeExamRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1907
- /* uint64 qualification_id = 1; */
1912
+ /* int64 qualification_id = 1; */
1908
1913
  if (message.qualificationId !== 0)
1909
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
1914
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
1910
1915
  /* optional bool cancel = 2; */
1911
1916
  if (message.cancel !== undefined)
1912
1917
  writer.tag(2, WireType.Varint).bool(message.cancel);
@@ -1977,7 +1982,7 @@ export const TakeExamResponse = new TakeExamResponse$Type();
1977
1982
  class SubmitExamRequest$Type extends MessageType<SubmitExamRequest> {
1978
1983
  constructor() {
1979
1984
  super("services.qualifications.SubmitExamRequest", [
1980
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
1985
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
1981
1986
  { no: 2, name: "responses", kind: "message", T: () => ExamResponses }
1982
1987
  ]);
1983
1988
  }
@@ -1993,8 +1998,8 @@ class SubmitExamRequest$Type extends MessageType<SubmitExamRequest> {
1993
1998
  while (reader.pos < end) {
1994
1999
  let [fieldNo, wireType] = reader.tag();
1995
2000
  switch (fieldNo) {
1996
- case /* uint64 qualification_id */ 1:
1997
- message.qualificationId = reader.uint64().toNumber();
2001
+ case /* int64 qualification_id */ 1:
2002
+ message.qualificationId = reader.int64().toNumber();
1998
2003
  break;
1999
2004
  case /* resources.qualifications.ExamResponses responses */ 2:
2000
2005
  message.responses = ExamResponses.internalBinaryRead(reader, reader.uint32(), options, message.responses);
@@ -2011,9 +2016,9 @@ class SubmitExamRequest$Type extends MessageType<SubmitExamRequest> {
2011
2016
  return message;
2012
2017
  }
2013
2018
  internalBinaryWrite(message: SubmitExamRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2014
- /* uint64 qualification_id = 1; */
2019
+ /* int64 qualification_id = 1; */
2015
2020
  if (message.qualificationId !== 0)
2016
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
2021
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
2017
2022
  /* resources.qualifications.ExamResponses responses = 2; */
2018
2023
  if (message.responses)
2019
2024
  ExamResponses.internalBinaryWrite(message.responses, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
@@ -2077,8 +2082,8 @@ export const SubmitExamResponse = new SubmitExamResponse$Type();
2077
2082
  class GetUserExamRequest$Type extends MessageType<GetUserExamRequest> {
2078
2083
  constructor() {
2079
2084
  super("services.qualifications.GetUserExamRequest", [
2080
- { no: 1, name: "qualification_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 2 /*LongType.NUMBER*/ },
2081
- { no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "validate.rules": { int32: { gte: 0 } } } }
2085
+ { no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
2086
+ { no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } }
2082
2087
  ]);
2083
2088
  }
2084
2089
  create(value?: PartialMessage<GetUserExamRequest>): GetUserExamRequest {
@@ -2094,8 +2099,8 @@ class GetUserExamRequest$Type extends MessageType<GetUserExamRequest> {
2094
2099
  while (reader.pos < end) {
2095
2100
  let [fieldNo, wireType] = reader.tag();
2096
2101
  switch (fieldNo) {
2097
- case /* uint64 qualification_id */ 1:
2098
- message.qualificationId = reader.uint64().toNumber();
2102
+ case /* int64 qualification_id */ 1:
2103
+ message.qualificationId = reader.int64().toNumber();
2099
2104
  break;
2100
2105
  case /* int32 user_id */ 2:
2101
2106
  message.userId = reader.int32();
@@ -2112,9 +2117,9 @@ class GetUserExamRequest$Type extends MessageType<GetUserExamRequest> {
2112
2117
  return message;
2113
2118
  }
2114
2119
  internalBinaryWrite(message: GetUserExamRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2115
- /* uint64 qualification_id = 1; */
2120
+ /* int64 qualification_id = 1; */
2116
2121
  if (message.qualificationId !== 0)
2117
- writer.tag(1, WireType.Varint).uint64(message.qualificationId);
2122
+ writer.tag(1, WireType.Varint).int64(message.qualificationId);
2118
2123
  /* int32 user_id = 2; */
2119
2124
  if (message.userId !== 0)
2120
2125
  writer.tag(2, WireType.Varint).int32(message.userId);
@@ -2199,19 +2204,20 @@ export const GetUserExamResponse = new GetUserExamResponse$Type();
2199
2204
  * @generated ServiceType for protobuf service services.qualifications.QualificationsService
2200
2205
  */
2201
2206
  export const QualificationsService = new ServiceType("services.qualifications.QualificationsService", [
2202
- { name: "ListQualifications", options: {}, I: ListQualificationsRequest, O: ListQualificationsResponse },
2203
- { name: "GetQualification", options: {}, I: GetQualificationRequest, O: GetQualificationResponse },
2204
- { name: "CreateQualification", options: {}, I: CreateQualificationRequest, O: CreateQualificationResponse },
2205
- { name: "UpdateQualification", options: {}, I: UpdateQualificationRequest, O: UpdateQualificationResponse },
2206
- { name: "DeleteQualification", options: {}, I: DeleteQualificationRequest, O: DeleteQualificationResponse },
2207
- { name: "ListQualificationRequests", options: {}, I: ListQualificationRequestsRequest, O: ListQualificationRequestsResponse },
2208
- { name: "CreateOrUpdateQualificationRequest", options: {}, I: CreateOrUpdateQualificationRequestRequest, O: CreateOrUpdateQualificationRequestResponse },
2209
- { name: "DeleteQualificationReq", options: {}, I: DeleteQualificationReqRequest, O: DeleteQualificationReqResponse },
2210
- { name: "ListQualificationsResults", options: {}, I: ListQualificationsResultsRequest, O: ListQualificationsResultsResponse },
2211
- { name: "CreateOrUpdateQualificationResult", options: {}, I: CreateOrUpdateQualificationResultRequest, O: CreateOrUpdateQualificationResultResponse },
2212
- { name: "DeleteQualificationResult", options: {}, I: DeleteQualificationResultRequest, O: DeleteQualificationResultResponse },
2213
- { name: "GetExamInfo", options: {}, I: GetExamInfoRequest, O: GetExamInfoResponse },
2214
- { name: "TakeExam", options: {}, I: TakeExamRequest, O: TakeExamResponse },
2215
- { name: "SubmitExam", options: {}, I: SubmitExamRequest, O: SubmitExamResponse },
2216
- { name: "GetUserExam", options: {}, I: GetUserExamRequest, O: GetUserExamResponse }
2207
+ { name: "ListQualifications", options: { "codegen.perms.perms": { enabled: true } }, I: ListQualificationsRequest, O: ListQualificationsResponse },
2208
+ { name: "GetQualification", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: GetQualificationRequest, O: GetQualificationResponse },
2209
+ { name: "CreateQualification", options: { "codegen.perms.perms": { enabled: true, name: "UpdateQualification" } }, I: CreateQualificationRequest, O: CreateQualificationResponse },
2210
+ { name: "UpdateQualification", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Access", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Own", "Lower_Rank", "Same_Rank", "Any"] }, { key: "Fields", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Public"] }] } }, I: UpdateQualificationRequest, O: UpdateQualificationResponse },
2211
+ { name: "DeleteQualification", options: { "codegen.perms.perms": { enabled: true, attrs: [{ key: "Access", type: "ATTRIBUTE_TYPE_STRING_LIST", validStringList: ["Own", "Lower_Rank", "Same_Rank", "Any"] }] } }, I: DeleteQualificationRequest, O: DeleteQualificationResponse },
2212
+ { name: "ListQualificationRequests", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: ListQualificationRequestsRequest, O: ListQualificationRequestsResponse },
2213
+ { name: "CreateOrUpdateQualificationRequest", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: CreateOrUpdateQualificationRequestRequest, O: CreateOrUpdateQualificationRequestResponse },
2214
+ { name: "DeleteQualificationReq", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: DeleteQualificationReqRequest, O: DeleteQualificationReqResponse },
2215
+ { name: "ListQualificationsResults", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: ListQualificationsResultsRequest, O: ListQualificationsResultsResponse },
2216
+ { name: "CreateOrUpdateQualificationResult", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: CreateOrUpdateQualificationResultRequest, O: CreateOrUpdateQualificationResultResponse },
2217
+ { name: "DeleteQualificationResult", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: DeleteQualificationResultRequest, O: DeleteQualificationResultResponse },
2218
+ { name: "GetExamInfo", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: GetExamInfoRequest, O: GetExamInfoResponse },
2219
+ { name: "TakeExam", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: TakeExamRequest, O: TakeExamResponse },
2220
+ { name: "SubmitExam", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: SubmitExamRequest, O: SubmitExamResponse },
2221
+ { name: "GetUserExam", options: { "codegen.perms.perms": { enabled: true, name: "ListQualifications" } }, I: GetUserExamRequest, O: GetUserExamResponse },
2222
+ { name: "UploadFile", clientStreaming: true, options: { "codegen.perms.perms": { enabled: true, name: "UpdateQualification" } }, I: UploadFileRequest, O: UploadFileResponse }
2217
2223
  ]);