@fivenet-app/gen 2025.9.1 → 2026.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/clients.ts +36 -0
- package/codegen/perms/perms.ts +186 -15
- package/codegen/sanitizer/sanitizer.ts +34 -1
- package/package.json +2 -2
- package/perms.ts +140 -8
- package/resources/accounts/accounts.ts +98 -31
- package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +20 -20
- package/resources/audit/audit.ts +156 -38
- package/resources/calendar/{access.ts → access/access.ts} +30 -30
- package/resources/calendar/calendar.ts +17 -477
- package/resources/calendar/entries/entries.ts +474 -0
- package/resources/centrum/{access.ts → access/access.ts} +22 -22
- package/resources/centrum/{dispatchers.ts → dispatchers/dispatchers.ts} +14 -14
- package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +151 -185
- package/resources/centrum/joblist.ts +136 -0
- package/resources/centrum/{settings.ts → settings/settings.ts} +70 -70
- package/resources/centrum/{units_access.ts → units/access/access.ts} +30 -30
- package/resources/centrum/{units.ts → units/units.ts} +131 -51
- package/resources/citizens/labels/labels.ts +526 -0
- package/resources/{users → citizens/licenses}/licenses.ts +17 -17
- package/resources/clientconfig/clientconfig.ts +126 -258
- package/resources/collab/collab.ts +4 -16
- package/resources/common/content/content.ts +108 -85
- package/resources/common/content/diff_activity.ts +267 -0
- package/resources/common/i18n.ts +2 -2
- package/resources/{common/cron → cron}/cron.ts +43 -43
- package/resources/documents/{access.ts → access/access.ts} +29 -52
- package/resources/documents/{activity.ts → activity/activity.ts} +171 -123
- package/resources/documents/approval/approval.ts +945 -0
- package/resources/documents/{category.ts → category/category.ts} +7 -7
- package/resources/documents/{comment.ts → comment/comment.ts} +10 -10
- package/resources/documents/data/data.ts +303 -0
- package/resources/documents/documents.ts +282 -667
- package/resources/{common/uuid.ts → documents/forms/forms.ts} +20 -20
- package/resources/documents/{pins.ts → pins/pins.ts} +5 -5
- package/resources/documents/references/references.ts +187 -0
- package/resources/documents/relations/relations.ts +184 -0
- package/resources/documents/{requests.ts → requests/requests.ts} +18 -18
- package/resources/documents/stamps/stamp.ts +355 -0
- package/resources/documents/{templates.ts → templates/templates.ts} +426 -84
- package/resources/documents/{workflow.ts → workflow/workflow.ts} +264 -26
- package/resources/file/filestore.ts +1 -1
- package/resources/{common/grpcws → grpcws}/grpcws.ts +52 -52
- package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +54 -54
- package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +17 -28
- package/resources/jobs/{conduct.ts → conduct/conduct.ts} +70 -45
- package/resources/jobs/{labels.ts → labels/labels.ts} +34 -23
- package/resources/jobs/{job_props.ts → props/props.ts} +26 -38
- package/resources/jobs/{job_settings.ts → settings/settings.ts} +53 -53
- package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +17 -17
- package/resources/livemap/{heatmap.ts → heatmap/heatmap.ts} +4 -4
- package/resources/livemap/{marker_marker.ts → markers/marker_marker.ts} +35 -35
- package/resources/livemap/{user_marker.ts → markers/user_marker.ts} +115 -36
- package/resources/mailer/{access.ts → access/access.ts} +67 -67
- package/resources/mailer/{email.ts → emails/email.ts} +19 -19
- package/resources/mailer/{events.ts → events/events.ts} +24 -24
- package/resources/mailer/{message.ts → messages/message.ts} +29 -29
- package/resources/mailer/{settings.ts → settings/settings.ts} +14 -13
- package/resources/mailer/{template.ts → templates/template.ts} +15 -15
- package/resources/mailer/{thread.ts → threads/thread.ts} +29 -29
- package/resources/notifications/{client_view.ts → clientview/clientview.ts} +22 -22
- package/resources/notifications/{events.ts → events/events.ts} +20 -20
- package/resources/notifications/notifications.ts +4 -4
- package/resources/permissions/{attributes.ts → attributes/attributes.ts} +42 -42
- package/resources/permissions/{events.ts → events/events.ts} +7 -7
- package/resources/permissions/{permissions.ts → permissions/permissions.ts} +30 -19
- package/resources/qualifications/{access.ts → access/access.ts} +19 -19
- package/resources/qualifications/{exam.ts → exam/exam.ts} +269 -141
- package/resources/qualifications/qualifications.ts +51 -179
- package/resources/settings/banner.ts +3 -3
- package/resources/settings/config.ts +527 -25
- package/resources/{documents/state.ts → settings/data.ts} +41 -20
- package/resources/settings/perms.ts +14 -14
- package/resources/stats/stats.ts +379 -0
- package/resources/sync/{activity.ts → activity/activity.ts} +104 -25
- package/resources/sync/{data.ts → data/data.ts} +405 -59
- package/resources/userinfo/{user_info.ts → userinfo.ts} +71 -93
- package/resources/users/{activity.ts → activity/activity.ts} +242 -101
- package/resources/users/{props.ts → props/props.ts} +91 -69
- package/resources/users/short/user.ts +184 -0
- package/resources/users/{users.ts → user.ts} +266 -195
- package/resources/vehicles/{activity.ts → activity/activity.ts} +20 -20
- package/resources/vehicles/{props.ts → props/props.ts} +28 -6
- package/resources/vehicles/vehicles.ts +20 -8
- package/resources/wiki/{access.ts → access/access.ts} +30 -30
- package/resources/wiki/{activity.ts → activity/activity.ts} +104 -70
- package/resources/wiki/page.ts +39 -15
- package/services/auth/auth.client.ts +23 -10
- package/services/auth/auth.ts +445 -262
- package/services/calendar/calendar.ts +56 -34
- package/services/centrum/centrum.ts +127 -127
- package/services/citizens/citizens.client.ts +0 -13
- package/services/citizens/citizens.ts +44 -134
- package/services/citizens/labels.client.ts +77 -0
- package/services/citizens/labels.ts +455 -0
- package/services/completor/completor.ts +36 -16
- package/services/documents/approval.client.ts +188 -0
- package/services/documents/approval.ts +1776 -0
- package/services/documents/documents.ts +164 -186
- package/services/documents/forms.client.ts +51 -0
- package/services/documents/forms.ts +232 -0
- package/services/documents/stamps.client.ts +77 -0
- package/services/documents/stamps.ts +481 -0
- package/services/documents/stats.client.ts +38 -0
- package/services/documents/stats.ts +245 -0
- package/services/jobs/conduct.client.ts +30 -3
- package/services/jobs/conduct.ts +159 -33
- package/services/jobs/jobs.ts +43 -43
- package/services/jobs/stats.client.ts +38 -0
- package/services/jobs/stats.ts +207 -0
- package/services/jobs/timeclock.ts +39 -39
- package/services/livemap/livemap.ts +18 -18
- package/services/mailer/mailer.ts +78 -78
- package/services/notifications/notifications.ts +35 -35
- package/services/qualifications/qualifications.ts +81 -46
- package/services/settings/accounts.client.ts +23 -10
- package/services/settings/accounts.ts +191 -30
- package/services/settings/cron.client.ts +13 -0
- package/services/settings/cron.ts +118 -5
- package/services/settings/laws.ts +1 -1
- package/services/settings/settings.ts +73 -52
- package/services/settings/system.client.ts +13 -0
- package/services/settings/system.ts +115 -15
- package/services/stats/stats.client.ts +7 -7
- package/services/stats/stats.ts +24 -24
- package/services/sync/sync.client.ts +271 -37
- package/services/sync/sync.ts +1525 -421
- package/services/vehicles/vehicles.ts +8 -8
- package/services/wiki/wiki.ts +8 -8
- package/svcs.ts +100 -6
- package/resources/centrum/attributes.ts +0 -183
- package/resources/documents/signoff.ts +0 -55
- package/resources/users/labels.ts +0 -160
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @generated by protobuf-ts 2.11.1 with parameter force_server_none,long_type_number,optimize_speed,ts_nocheck
|
|
2
|
-
// @generated from protobuf file "resources/qualifications/exam.proto" (package "resources.qualifications", syntax proto3)
|
|
2
|
+
// @generated from protobuf file "resources/qualifications/exam/exam.proto" (package "resources.qualifications.exam", syntax proto3)
|
|
3
3
|
// tslint:disable
|
|
4
4
|
// @ts-nocheck
|
|
5
5
|
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
|
|
@@ -11,21 +11,41 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
|
|
|
11
11
|
import type { PartialMessage } from "@protobuf-ts/runtime";
|
|
12
12
|
import { reflectionMergePartial } from "@protobuf-ts/runtime";
|
|
13
13
|
import { MessageType } from "@protobuf-ts/runtime";
|
|
14
|
-
import { File } from "
|
|
15
|
-
import { Timestamp } from "
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
import { File } from "../../file/file";
|
|
15
|
+
import { Timestamp } from "../../timestamp/timestamp";
|
|
16
|
+
import { Duration } from "../../../google/protobuf/duration";
|
|
18
17
|
/**
|
|
19
|
-
* @generated from protobuf message resources.qualifications.
|
|
18
|
+
* @generated from protobuf message resources.qualifications.exam.QualificationExamSettings
|
|
19
|
+
*/
|
|
20
|
+
export interface QualificationExamSettings {
|
|
21
|
+
/**
|
|
22
|
+
* @generated from protobuf field: google.protobuf.Duration time = 1
|
|
23
|
+
*/
|
|
24
|
+
time?: Duration;
|
|
25
|
+
/**
|
|
26
|
+
* @generated from protobuf field: bool auto_grade = 2
|
|
27
|
+
*/
|
|
28
|
+
autoGrade: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* @generated from protobuf field: resources.qualifications.exam.AutoGradeMode auto_grade_mode = 3
|
|
31
|
+
*/
|
|
32
|
+
autoGradeMode: AutoGradeMode;
|
|
33
|
+
/**
|
|
34
|
+
* @generated from protobuf field: int32 minimum_points = 4
|
|
35
|
+
*/
|
|
36
|
+
minimumPoints: number;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestions
|
|
20
40
|
*/
|
|
21
41
|
export interface ExamQuestions {
|
|
22
42
|
/**
|
|
23
|
-
* @generated from protobuf field: repeated resources.qualifications.ExamQuestion questions = 1
|
|
43
|
+
* @generated from protobuf field: repeated resources.qualifications.exam.ExamQuestion questions = 1
|
|
24
44
|
*/
|
|
25
45
|
questions: ExamQuestion[];
|
|
26
46
|
}
|
|
27
47
|
/**
|
|
28
|
-
* @generated from protobuf message resources.qualifications.ExamQuestion
|
|
48
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestion
|
|
29
49
|
*/
|
|
30
50
|
export interface ExamQuestion {
|
|
31
51
|
/**
|
|
@@ -53,11 +73,11 @@ export interface ExamQuestion {
|
|
|
53
73
|
*/
|
|
54
74
|
description?: string;
|
|
55
75
|
/**
|
|
56
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionData data = 7
|
|
76
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionData data = 7
|
|
57
77
|
*/
|
|
58
78
|
data?: ExamQuestionData;
|
|
59
79
|
/**
|
|
60
|
-
* @generated from protobuf field: optional resources.qualifications.ExamQuestionAnswerData answer = 8
|
|
80
|
+
* @generated from protobuf field: optional resources.qualifications.exam.ExamQuestionAnswerData answer = 8
|
|
61
81
|
*/
|
|
62
82
|
answer?: ExamQuestionAnswerData;
|
|
63
83
|
/**
|
|
@@ -70,7 +90,7 @@ export interface ExamQuestion {
|
|
|
70
90
|
order: number;
|
|
71
91
|
}
|
|
72
92
|
/**
|
|
73
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionData
|
|
93
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionData
|
|
74
94
|
*/
|
|
75
95
|
export interface ExamQuestionData {
|
|
76
96
|
/**
|
|
@@ -79,37 +99,37 @@ export interface ExamQuestionData {
|
|
|
79
99
|
data: {
|
|
80
100
|
oneofKind: "separator";
|
|
81
101
|
/**
|
|
82
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionSeparator separator = 1
|
|
102
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionSeparator separator = 1
|
|
83
103
|
*/
|
|
84
104
|
separator: ExamQuestionSeparator;
|
|
85
105
|
} | {
|
|
86
106
|
oneofKind: "image";
|
|
87
107
|
/**
|
|
88
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionImage image = 6
|
|
108
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionImage image = 6
|
|
89
109
|
*/
|
|
90
110
|
image: ExamQuestionImage;
|
|
91
111
|
} | {
|
|
92
112
|
oneofKind: "yesno";
|
|
93
113
|
/**
|
|
94
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionYesNo yesno = 2
|
|
114
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionYesNo yesno = 2
|
|
95
115
|
*/
|
|
96
116
|
yesno: ExamQuestionYesNo;
|
|
97
117
|
} | {
|
|
98
118
|
oneofKind: "freeText";
|
|
99
119
|
/**
|
|
100
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionText free_text = 3
|
|
120
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionText free_text = 3
|
|
101
121
|
*/
|
|
102
122
|
freeText: ExamQuestionText;
|
|
103
123
|
} | {
|
|
104
124
|
oneofKind: "singleChoice";
|
|
105
125
|
/**
|
|
106
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionSingleChoice single_choice = 4
|
|
126
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionSingleChoice single_choice = 4
|
|
107
127
|
*/
|
|
108
128
|
singleChoice: ExamQuestionSingleChoice;
|
|
109
129
|
} | {
|
|
110
130
|
oneofKind: "multipleChoice";
|
|
111
131
|
/**
|
|
112
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionMultipleChoice multiple_choice = 5
|
|
132
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionMultipleChoice multiple_choice = 5
|
|
113
133
|
*/
|
|
114
134
|
multipleChoice: ExamQuestionMultipleChoice;
|
|
115
135
|
} | {
|
|
@@ -117,12 +137,12 @@ export interface ExamQuestionData {
|
|
|
117
137
|
};
|
|
118
138
|
}
|
|
119
139
|
/**
|
|
120
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionSeparator
|
|
140
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionSeparator
|
|
121
141
|
*/
|
|
122
142
|
export interface ExamQuestionSeparator {
|
|
123
143
|
}
|
|
124
144
|
/**
|
|
125
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionImage
|
|
145
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionImage
|
|
126
146
|
*/
|
|
127
147
|
export interface ExamQuestionImage {
|
|
128
148
|
/**
|
|
@@ -135,12 +155,12 @@ export interface ExamQuestionImage {
|
|
|
135
155
|
alt?: string;
|
|
136
156
|
}
|
|
137
157
|
/**
|
|
138
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionYesNo
|
|
158
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionYesNo
|
|
139
159
|
*/
|
|
140
160
|
export interface ExamQuestionYesNo {
|
|
141
161
|
}
|
|
142
162
|
/**
|
|
143
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionText
|
|
163
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionText
|
|
144
164
|
*/
|
|
145
165
|
export interface ExamQuestionText {
|
|
146
166
|
/**
|
|
@@ -153,7 +173,7 @@ export interface ExamQuestionText {
|
|
|
153
173
|
maxLength: number;
|
|
154
174
|
}
|
|
155
175
|
/**
|
|
156
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionSingleChoice
|
|
176
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionSingleChoice
|
|
157
177
|
*/
|
|
158
178
|
export interface ExamQuestionSingleChoice {
|
|
159
179
|
/**
|
|
@@ -162,7 +182,7 @@ export interface ExamQuestionSingleChoice {
|
|
|
162
182
|
choices: string[];
|
|
163
183
|
}
|
|
164
184
|
/**
|
|
165
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionMultipleChoice
|
|
185
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionMultipleChoice
|
|
166
186
|
*/
|
|
167
187
|
export interface ExamQuestionMultipleChoice {
|
|
168
188
|
/**
|
|
@@ -175,7 +195,7 @@ export interface ExamQuestionMultipleChoice {
|
|
|
175
195
|
limit?: number;
|
|
176
196
|
}
|
|
177
197
|
/**
|
|
178
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionAnswerData
|
|
198
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionAnswerData
|
|
179
199
|
*/
|
|
180
200
|
export interface ExamQuestionAnswerData {
|
|
181
201
|
/**
|
|
@@ -188,25 +208,25 @@ export interface ExamQuestionAnswerData {
|
|
|
188
208
|
answer: {
|
|
189
209
|
oneofKind: "yesno";
|
|
190
210
|
/**
|
|
191
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseYesNo yesno = 4
|
|
211
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseYesNo yesno = 4
|
|
192
212
|
*/
|
|
193
213
|
yesno: ExamResponseYesNo;
|
|
194
214
|
} | {
|
|
195
215
|
oneofKind: "freeText";
|
|
196
216
|
/**
|
|
197
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseText free_text = 5
|
|
217
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseText free_text = 5
|
|
198
218
|
*/
|
|
199
219
|
freeText: ExamResponseText;
|
|
200
220
|
} | {
|
|
201
221
|
oneofKind: "singleChoice";
|
|
202
222
|
/**
|
|
203
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseSingleChoice single_choice = 6
|
|
223
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseSingleChoice single_choice = 6
|
|
204
224
|
*/
|
|
205
225
|
singleChoice: ExamResponseSingleChoice;
|
|
206
226
|
} | {
|
|
207
227
|
oneofKind: "multipleChoice";
|
|
208
228
|
/**
|
|
209
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseMultipleChoice multiple_choice = 7
|
|
229
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice = 7
|
|
210
230
|
*/
|
|
211
231
|
multipleChoice: ExamResponseMultipleChoice;
|
|
212
232
|
} | {
|
|
@@ -216,7 +236,7 @@ export interface ExamQuestionAnswerData {
|
|
|
216
236
|
// User Response
|
|
217
237
|
|
|
218
238
|
/**
|
|
219
|
-
* @generated from protobuf message resources.qualifications.ExamUser
|
|
239
|
+
* @generated from protobuf message resources.qualifications.exam.ExamUser
|
|
220
240
|
*/
|
|
221
241
|
export interface ExamUser {
|
|
222
242
|
/**
|
|
@@ -245,7 +265,7 @@ export interface ExamUser {
|
|
|
245
265
|
endedAt?: Timestamp;
|
|
246
266
|
}
|
|
247
267
|
/**
|
|
248
|
-
* @generated from protobuf message resources.qualifications.ExamResponses
|
|
268
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponses
|
|
249
269
|
*/
|
|
250
270
|
export interface ExamResponses {
|
|
251
271
|
/**
|
|
@@ -257,12 +277,12 @@ export interface ExamResponses {
|
|
|
257
277
|
*/
|
|
258
278
|
userId: number;
|
|
259
279
|
/**
|
|
260
|
-
* @generated from protobuf field: repeated resources.qualifications.ExamResponse responses = 3
|
|
280
|
+
* @generated from protobuf field: repeated resources.qualifications.exam.ExamResponse responses = 3
|
|
261
281
|
*/
|
|
262
282
|
responses: ExamResponse[];
|
|
263
283
|
}
|
|
264
284
|
/**
|
|
265
|
-
* @generated from protobuf message resources.qualifications.ExamResponse
|
|
285
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponse
|
|
266
286
|
*/
|
|
267
287
|
export interface ExamResponse {
|
|
268
288
|
/**
|
|
@@ -274,16 +294,16 @@ export interface ExamResponse {
|
|
|
274
294
|
*/
|
|
275
295
|
userId: number;
|
|
276
296
|
/**
|
|
277
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestion question = 3
|
|
297
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestion question = 3
|
|
278
298
|
*/
|
|
279
299
|
question?: ExamQuestion;
|
|
280
300
|
/**
|
|
281
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseData response = 4
|
|
301
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseData response = 4
|
|
282
302
|
*/
|
|
283
303
|
response?: ExamResponseData;
|
|
284
304
|
}
|
|
285
305
|
/**
|
|
286
|
-
* @generated from protobuf message resources.qualifications.ExamResponseData
|
|
306
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseData
|
|
287
307
|
*/
|
|
288
308
|
export interface ExamResponseData {
|
|
289
309
|
/**
|
|
@@ -292,31 +312,31 @@ export interface ExamResponseData {
|
|
|
292
312
|
response: {
|
|
293
313
|
oneofKind: "separator";
|
|
294
314
|
/**
|
|
295
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseSeparator separator = 3
|
|
315
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseSeparator separator = 3
|
|
296
316
|
*/
|
|
297
317
|
separator: ExamResponseSeparator;
|
|
298
318
|
} | {
|
|
299
319
|
oneofKind: "yesno";
|
|
300
320
|
/**
|
|
301
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseYesNo yesno = 4
|
|
321
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseYesNo yesno = 4
|
|
302
322
|
*/
|
|
303
323
|
yesno: ExamResponseYesNo;
|
|
304
324
|
} | {
|
|
305
325
|
oneofKind: "freeText";
|
|
306
326
|
/**
|
|
307
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseText free_text = 5
|
|
327
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseText free_text = 5
|
|
308
328
|
*/
|
|
309
329
|
freeText: ExamResponseText;
|
|
310
330
|
} | {
|
|
311
331
|
oneofKind: "singleChoice";
|
|
312
332
|
/**
|
|
313
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseSingleChoice single_choice = 6
|
|
333
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseSingleChoice single_choice = 6
|
|
314
334
|
*/
|
|
315
335
|
singleChoice: ExamResponseSingleChoice;
|
|
316
336
|
} | {
|
|
317
337
|
oneofKind: "multipleChoice";
|
|
318
338
|
/**
|
|
319
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseMultipleChoice multiple_choice = 7
|
|
339
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice = 7
|
|
320
340
|
*/
|
|
321
341
|
multipleChoice: ExamResponseMultipleChoice;
|
|
322
342
|
} | {
|
|
@@ -324,12 +344,12 @@ export interface ExamResponseData {
|
|
|
324
344
|
};
|
|
325
345
|
}
|
|
326
346
|
/**
|
|
327
|
-
* @generated from protobuf message resources.qualifications.ExamResponseSeparator
|
|
347
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseSeparator
|
|
328
348
|
*/
|
|
329
349
|
export interface ExamResponseSeparator {
|
|
330
350
|
}
|
|
331
351
|
/**
|
|
332
|
-
* @generated from protobuf message resources.qualifications.ExamResponseYesNo
|
|
352
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseYesNo
|
|
333
353
|
*/
|
|
334
354
|
export interface ExamResponseYesNo {
|
|
335
355
|
/**
|
|
@@ -338,7 +358,7 @@ export interface ExamResponseYesNo {
|
|
|
338
358
|
value: boolean;
|
|
339
359
|
}
|
|
340
360
|
/**
|
|
341
|
-
* @generated from protobuf message resources.qualifications.ExamResponseText
|
|
361
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseText
|
|
342
362
|
*/
|
|
343
363
|
export interface ExamResponseText {
|
|
344
364
|
/**
|
|
@@ -347,7 +367,7 @@ export interface ExamResponseText {
|
|
|
347
367
|
text: string; // 0.5 Megabyte
|
|
348
368
|
}
|
|
349
369
|
/**
|
|
350
|
-
* @generated from protobuf message resources.qualifications.ExamResponseSingleChoice
|
|
370
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseSingleChoice
|
|
351
371
|
*/
|
|
352
372
|
export interface ExamResponseSingleChoice {
|
|
353
373
|
/**
|
|
@@ -356,7 +376,7 @@ export interface ExamResponseSingleChoice {
|
|
|
356
376
|
choice: string;
|
|
357
377
|
}
|
|
358
378
|
/**
|
|
359
|
-
* @generated from protobuf message resources.qualifications.ExamResponseMultipleChoice
|
|
379
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseMultipleChoice
|
|
360
380
|
*/
|
|
361
381
|
export interface ExamResponseMultipleChoice {
|
|
362
382
|
/**
|
|
@@ -365,16 +385,16 @@ export interface ExamResponseMultipleChoice {
|
|
|
365
385
|
choices: string[];
|
|
366
386
|
}
|
|
367
387
|
/**
|
|
368
|
-
* @generated from protobuf message resources.qualifications.ExamGrading
|
|
388
|
+
* @generated from protobuf message resources.qualifications.exam.ExamGrading
|
|
369
389
|
*/
|
|
370
390
|
export interface ExamGrading {
|
|
371
391
|
/**
|
|
372
|
-
* @generated from protobuf field: repeated resources.qualifications.ExamGradingResponse responses = 1
|
|
392
|
+
* @generated from protobuf field: repeated resources.qualifications.exam.ExamGradingResponse responses = 1
|
|
373
393
|
*/
|
|
374
394
|
responses: ExamGradingResponse[];
|
|
375
395
|
}
|
|
376
396
|
/**
|
|
377
|
-
* @generated from protobuf message resources.qualifications.ExamGradingResponse
|
|
397
|
+
* @generated from protobuf message resources.qualifications.exam.ExamGradingResponse
|
|
378
398
|
*/
|
|
379
399
|
export interface ExamGradingResponse {
|
|
380
400
|
/**
|
|
@@ -390,10 +410,118 @@ export interface ExamGradingResponse {
|
|
|
390
410
|
*/
|
|
391
411
|
checked?: boolean;
|
|
392
412
|
}
|
|
413
|
+
/**
|
|
414
|
+
* @generated from protobuf enum resources.qualifications.exam.QualificationExamMode
|
|
415
|
+
*/
|
|
416
|
+
export enum QualificationExamMode {
|
|
417
|
+
/**
|
|
418
|
+
* @generated from protobuf enum value: QUALIFICATION_EXAM_MODE_UNSPECIFIED = 0;
|
|
419
|
+
*/
|
|
420
|
+
UNSPECIFIED = 0,
|
|
421
|
+
/**
|
|
422
|
+
* @generated from protobuf enum value: QUALIFICATION_EXAM_MODE_DISABLED = 1;
|
|
423
|
+
*/
|
|
424
|
+
DISABLED = 1,
|
|
425
|
+
/**
|
|
426
|
+
* @generated from protobuf enum value: QUALIFICATION_EXAM_MODE_REQUEST_NEEDED = 2;
|
|
427
|
+
*/
|
|
428
|
+
REQUEST_NEEDED = 2,
|
|
429
|
+
/**
|
|
430
|
+
* @generated from protobuf enum value: QUALIFICATION_EXAM_MODE_ENABLED = 3;
|
|
431
|
+
*/
|
|
432
|
+
ENABLED = 3
|
|
433
|
+
}
|
|
434
|
+
/**
|
|
435
|
+
* @generated from protobuf enum resources.qualifications.exam.AutoGradeMode
|
|
436
|
+
*/
|
|
437
|
+
export enum AutoGradeMode {
|
|
438
|
+
/**
|
|
439
|
+
* @generated from protobuf enum value: AUTO_GRADE_MODE_UNSPECIFIED = 0;
|
|
440
|
+
*/
|
|
441
|
+
UNSPECIFIED = 0,
|
|
442
|
+
/**
|
|
443
|
+
* @generated from protobuf enum value: AUTO_GRADE_MODE_STRICT = 1;
|
|
444
|
+
*/
|
|
445
|
+
STRICT = 1,
|
|
446
|
+
/**
|
|
447
|
+
* @generated from protobuf enum value: AUTO_GRADE_MODE_PARTIAL_CREDIT = 2;
|
|
448
|
+
*/
|
|
449
|
+
PARTIAL_CREDIT = 2
|
|
450
|
+
}
|
|
451
|
+
// @generated message type with reflection information, may provide speed optimized methods
|
|
452
|
+
class QualificationExamSettings$Type extends MessageType<QualificationExamSettings> {
|
|
453
|
+
constructor() {
|
|
454
|
+
super("resources.qualifications.exam.QualificationExamSettings", [
|
|
455
|
+
{ no: 1, name: "time", kind: "message", T: () => Duration, options: { "buf.validate.field": { required: true, duration: { lt: { seconds: "1036800" }, gte: { seconds: "300" } } } } },
|
|
456
|
+
{ no: 2, name: "auto_grade", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
|
|
457
|
+
{ no: 3, name: "auto_grade_mode", kind: "enum", T: () => ["resources.qualifications.exam.AutoGradeMode", AutoGradeMode, "AUTO_GRADE_MODE_"], options: { "buf.validate.field": { enum: { definedOnly: true } } } },
|
|
458
|
+
{ no: 4, name: "minimum_points", kind: "scalar", T: 5 /*ScalarType.INT32*/ }
|
|
459
|
+
], { "codegen.dbscanner.dbscanner": { enabled: true } });
|
|
460
|
+
}
|
|
461
|
+
create(value?: PartialMessage<QualificationExamSettings>): QualificationExamSettings {
|
|
462
|
+
const message = globalThis.Object.create((this.messagePrototype!));
|
|
463
|
+
message.autoGrade = false;
|
|
464
|
+
message.autoGradeMode = 0;
|
|
465
|
+
message.minimumPoints = 0;
|
|
466
|
+
if (value !== undefined)
|
|
467
|
+
reflectionMergePartial<QualificationExamSettings>(this, message, value);
|
|
468
|
+
return message;
|
|
469
|
+
}
|
|
470
|
+
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: QualificationExamSettings): QualificationExamSettings {
|
|
471
|
+
let message = target ?? this.create(), end = reader.pos + length;
|
|
472
|
+
while (reader.pos < end) {
|
|
473
|
+
let [fieldNo, wireType] = reader.tag();
|
|
474
|
+
switch (fieldNo) {
|
|
475
|
+
case /* google.protobuf.Duration time */ 1:
|
|
476
|
+
message.time = Duration.internalBinaryRead(reader, reader.uint32(), options, message.time);
|
|
477
|
+
break;
|
|
478
|
+
case /* bool auto_grade */ 2:
|
|
479
|
+
message.autoGrade = reader.bool();
|
|
480
|
+
break;
|
|
481
|
+
case /* resources.qualifications.exam.AutoGradeMode auto_grade_mode */ 3:
|
|
482
|
+
message.autoGradeMode = reader.int32();
|
|
483
|
+
break;
|
|
484
|
+
case /* int32 minimum_points */ 4:
|
|
485
|
+
message.minimumPoints = reader.int32();
|
|
486
|
+
break;
|
|
487
|
+
default:
|
|
488
|
+
let u = options.readUnknownField;
|
|
489
|
+
if (u === "throw")
|
|
490
|
+
throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
|
|
491
|
+
let d = reader.skip(wireType);
|
|
492
|
+
if (u !== false)
|
|
493
|
+
(u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
|
|
494
|
+
}
|
|
495
|
+
}
|
|
496
|
+
return message;
|
|
497
|
+
}
|
|
498
|
+
internalBinaryWrite(message: QualificationExamSettings, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
499
|
+
/* google.protobuf.Duration time = 1; */
|
|
500
|
+
if (message.time)
|
|
501
|
+
Duration.internalBinaryWrite(message.time, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
|
502
|
+
/* bool auto_grade = 2; */
|
|
503
|
+
if (message.autoGrade !== false)
|
|
504
|
+
writer.tag(2, WireType.Varint).bool(message.autoGrade);
|
|
505
|
+
/* resources.qualifications.exam.AutoGradeMode auto_grade_mode = 3; */
|
|
506
|
+
if (message.autoGradeMode !== 0)
|
|
507
|
+
writer.tag(3, WireType.Varint).int32(message.autoGradeMode);
|
|
508
|
+
/* int32 minimum_points = 4; */
|
|
509
|
+
if (message.minimumPoints !== 0)
|
|
510
|
+
writer.tag(4, WireType.Varint).int32(message.minimumPoints);
|
|
511
|
+
let u = options.writeUnknownFields;
|
|
512
|
+
if (u !== false)
|
|
513
|
+
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
514
|
+
return writer;
|
|
515
|
+
}
|
|
516
|
+
}
|
|
517
|
+
/**
|
|
518
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.QualificationExamSettings
|
|
519
|
+
*/
|
|
520
|
+
export const QualificationExamSettings = new QualificationExamSettings$Type();
|
|
393
521
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
394
522
|
class ExamQuestions$Type extends MessageType<ExamQuestions> {
|
|
395
523
|
constructor() {
|
|
396
|
-
super("resources.qualifications.ExamQuestions", [
|
|
524
|
+
super("resources.qualifications.exam.ExamQuestions", [
|
|
397
525
|
{ no: 1, name: "questions", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ExamQuestion, options: { "buf.validate.field": { repeated: { maxItems: "100" } } } }
|
|
398
526
|
]);
|
|
399
527
|
}
|
|
@@ -409,7 +537,7 @@ class ExamQuestions$Type extends MessageType<ExamQuestions> {
|
|
|
409
537
|
while (reader.pos < end) {
|
|
410
538
|
let [fieldNo, wireType] = reader.tag();
|
|
411
539
|
switch (fieldNo) {
|
|
412
|
-
case /* repeated resources.qualifications.ExamQuestion questions */ 1:
|
|
540
|
+
case /* repeated resources.qualifications.exam.ExamQuestion questions */ 1:
|
|
413
541
|
message.questions.push(ExamQuestion.internalBinaryRead(reader, reader.uint32(), options));
|
|
414
542
|
break;
|
|
415
543
|
default:
|
|
@@ -424,7 +552,7 @@ class ExamQuestions$Type extends MessageType<ExamQuestions> {
|
|
|
424
552
|
return message;
|
|
425
553
|
}
|
|
426
554
|
internalBinaryWrite(message: ExamQuestions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
427
|
-
/* repeated resources.qualifications.ExamQuestion questions = 1; */
|
|
555
|
+
/* repeated resources.qualifications.exam.ExamQuestion questions = 1; */
|
|
428
556
|
for (let i = 0; i < message.questions.length; i++)
|
|
429
557
|
ExamQuestion.internalBinaryWrite(message.questions[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
|
430
558
|
let u = options.writeUnknownFields;
|
|
@@ -434,19 +562,19 @@ class ExamQuestions$Type extends MessageType<ExamQuestions> {
|
|
|
434
562
|
}
|
|
435
563
|
}
|
|
436
564
|
/**
|
|
437
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestions
|
|
565
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestions
|
|
438
566
|
*/
|
|
439
567
|
export const ExamQuestions = new ExamQuestions$Type();
|
|
440
568
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
441
569
|
class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
442
570
|
constructor() {
|
|
443
|
-
super("resources.qualifications.ExamQuestion", [
|
|
571
|
+
super("resources.qualifications.exam.ExamQuestion", [
|
|
444
572
|
{ no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
445
573
|
{ no: 2, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
446
574
|
{ no: 3, name: "created_at", kind: "message", T: () => Timestamp },
|
|
447
575
|
{ no: 4, name: "updated_at", kind: "message", T: () => Timestamp },
|
|
448
|
-
{ no: 5, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "512" } }, "codegen.sanitizer.sanitizer": { enabled: true,
|
|
449
|
-
{ no: 6, name: "description", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "1024" } }, "codegen.sanitizer.sanitizer": { enabled: true,
|
|
576
|
+
{ no: 5, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "512" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
|
|
577
|
+
{ no: 6, name: "description", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "1024" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
|
|
450
578
|
{ no: 7, name: "data", kind: "message", T: () => ExamQuestionData, options: { "buf.validate.field": { required: true } } },
|
|
451
579
|
{ no: 8, name: "answer", kind: "message", T: () => ExamQuestionAnswerData },
|
|
452
580
|
{ no: 9, name: "points", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
|
|
@@ -486,10 +614,10 @@ class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
|
486
614
|
case /* optional string description */ 6:
|
|
487
615
|
message.description = reader.string();
|
|
488
616
|
break;
|
|
489
|
-
case /* resources.qualifications.ExamQuestionData data */ 7:
|
|
617
|
+
case /* resources.qualifications.exam.ExamQuestionData data */ 7:
|
|
490
618
|
message.data = ExamQuestionData.internalBinaryRead(reader, reader.uint32(), options, message.data);
|
|
491
619
|
break;
|
|
492
|
-
case /* optional resources.qualifications.ExamQuestionAnswerData answer */ 8:
|
|
620
|
+
case /* optional resources.qualifications.exam.ExamQuestionAnswerData answer */ 8:
|
|
493
621
|
message.answer = ExamQuestionAnswerData.internalBinaryRead(reader, reader.uint32(), options, message.answer);
|
|
494
622
|
break;
|
|
495
623
|
case /* optional int32 points */ 9:
|
|
@@ -528,10 +656,10 @@ class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
|
528
656
|
/* optional string description = 6; */
|
|
529
657
|
if (message.description !== undefined)
|
|
530
658
|
writer.tag(6, WireType.LengthDelimited).string(message.description);
|
|
531
|
-
/* resources.qualifications.ExamQuestionData data = 7; */
|
|
659
|
+
/* resources.qualifications.exam.ExamQuestionData data = 7; */
|
|
532
660
|
if (message.data)
|
|
533
661
|
ExamQuestionData.internalBinaryWrite(message.data, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
|
|
534
|
-
/* optional resources.qualifications.ExamQuestionAnswerData answer = 8; */
|
|
662
|
+
/* optional resources.qualifications.exam.ExamQuestionAnswerData answer = 8; */
|
|
535
663
|
if (message.answer)
|
|
536
664
|
ExamQuestionAnswerData.internalBinaryWrite(message.answer, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
|
|
537
665
|
/* optional int32 points = 9; */
|
|
@@ -547,13 +675,13 @@ class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
|
547
675
|
}
|
|
548
676
|
}
|
|
549
677
|
/**
|
|
550
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestion
|
|
678
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestion
|
|
551
679
|
*/
|
|
552
680
|
export const ExamQuestion = new ExamQuestion$Type();
|
|
553
681
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
554
682
|
class ExamQuestionData$Type extends MessageType<ExamQuestionData> {
|
|
555
683
|
constructor() {
|
|
556
|
-
super("resources.qualifications.ExamQuestionData", [
|
|
684
|
+
super("resources.qualifications.exam.ExamQuestionData", [
|
|
557
685
|
{ no: 1, name: "separator", kind: "message", oneof: "data", T: () => ExamQuestionSeparator },
|
|
558
686
|
{ no: 6, name: "image", kind: "message", oneof: "data", T: () => ExamQuestionImage },
|
|
559
687
|
{ no: 2, name: "yesno", kind: "message", oneof: "data", T: () => ExamQuestionYesNo },
|
|
@@ -574,37 +702,37 @@ class ExamQuestionData$Type extends MessageType<ExamQuestionData> {
|
|
|
574
702
|
while (reader.pos < end) {
|
|
575
703
|
let [fieldNo, wireType] = reader.tag();
|
|
576
704
|
switch (fieldNo) {
|
|
577
|
-
case /* resources.qualifications.ExamQuestionSeparator separator */ 1:
|
|
705
|
+
case /* resources.qualifications.exam.ExamQuestionSeparator separator */ 1:
|
|
578
706
|
message.data = {
|
|
579
707
|
oneofKind: "separator",
|
|
580
708
|
separator: ExamQuestionSeparator.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).separator)
|
|
581
709
|
};
|
|
582
710
|
break;
|
|
583
|
-
case /* resources.qualifications.ExamQuestionImage image */ 6:
|
|
711
|
+
case /* resources.qualifications.exam.ExamQuestionImage image */ 6:
|
|
584
712
|
message.data = {
|
|
585
713
|
oneofKind: "image",
|
|
586
714
|
image: ExamQuestionImage.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).image)
|
|
587
715
|
};
|
|
588
716
|
break;
|
|
589
|
-
case /* resources.qualifications.ExamQuestionYesNo yesno */ 2:
|
|
717
|
+
case /* resources.qualifications.exam.ExamQuestionYesNo yesno */ 2:
|
|
590
718
|
message.data = {
|
|
591
719
|
oneofKind: "yesno",
|
|
592
720
|
yesno: ExamQuestionYesNo.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).yesno)
|
|
593
721
|
};
|
|
594
722
|
break;
|
|
595
|
-
case /* resources.qualifications.ExamQuestionText free_text */ 3:
|
|
723
|
+
case /* resources.qualifications.exam.ExamQuestionText free_text */ 3:
|
|
596
724
|
message.data = {
|
|
597
725
|
oneofKind: "freeText",
|
|
598
726
|
freeText: ExamQuestionText.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).freeText)
|
|
599
727
|
};
|
|
600
728
|
break;
|
|
601
|
-
case /* resources.qualifications.ExamQuestionSingleChoice single_choice */ 4:
|
|
729
|
+
case /* resources.qualifications.exam.ExamQuestionSingleChoice single_choice */ 4:
|
|
602
730
|
message.data = {
|
|
603
731
|
oneofKind: "singleChoice",
|
|
604
732
|
singleChoice: ExamQuestionSingleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).singleChoice)
|
|
605
733
|
};
|
|
606
734
|
break;
|
|
607
|
-
case /* resources.qualifications.ExamQuestionMultipleChoice multiple_choice */ 5:
|
|
735
|
+
case /* resources.qualifications.exam.ExamQuestionMultipleChoice multiple_choice */ 5:
|
|
608
736
|
message.data = {
|
|
609
737
|
oneofKind: "multipleChoice",
|
|
610
738
|
multipleChoice: ExamQuestionMultipleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).multipleChoice)
|
|
@@ -622,22 +750,22 @@ class ExamQuestionData$Type extends MessageType<ExamQuestionData> {
|
|
|
622
750
|
return message;
|
|
623
751
|
}
|
|
624
752
|
internalBinaryWrite(message: ExamQuestionData, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
625
|
-
/* resources.qualifications.ExamQuestionSeparator separator = 1; */
|
|
753
|
+
/* resources.qualifications.exam.ExamQuestionSeparator separator = 1; */
|
|
626
754
|
if (message.data.oneofKind === "separator")
|
|
627
755
|
ExamQuestionSeparator.internalBinaryWrite(message.data.separator, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
|
628
|
-
/* resources.qualifications.ExamQuestionYesNo yesno = 2; */
|
|
756
|
+
/* resources.qualifications.exam.ExamQuestionYesNo yesno = 2; */
|
|
629
757
|
if (message.data.oneofKind === "yesno")
|
|
630
758
|
ExamQuestionYesNo.internalBinaryWrite(message.data.yesno, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
|
|
631
|
-
/* resources.qualifications.ExamQuestionText free_text = 3; */
|
|
759
|
+
/* resources.qualifications.exam.ExamQuestionText free_text = 3; */
|
|
632
760
|
if (message.data.oneofKind === "freeText")
|
|
633
761
|
ExamQuestionText.internalBinaryWrite(message.data.freeText, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
634
|
-
/* resources.qualifications.ExamQuestionSingleChoice single_choice = 4; */
|
|
762
|
+
/* resources.qualifications.exam.ExamQuestionSingleChoice single_choice = 4; */
|
|
635
763
|
if (message.data.oneofKind === "singleChoice")
|
|
636
764
|
ExamQuestionSingleChoice.internalBinaryWrite(message.data.singleChoice, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
|
|
637
|
-
/* resources.qualifications.ExamQuestionMultipleChoice multiple_choice = 5; */
|
|
765
|
+
/* resources.qualifications.exam.ExamQuestionMultipleChoice multiple_choice = 5; */
|
|
638
766
|
if (message.data.oneofKind === "multipleChoice")
|
|
639
767
|
ExamQuestionMultipleChoice.internalBinaryWrite(message.data.multipleChoice, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
|
|
640
|
-
/* resources.qualifications.ExamQuestionImage image = 6; */
|
|
768
|
+
/* resources.qualifications.exam.ExamQuestionImage image = 6; */
|
|
641
769
|
if (message.data.oneofKind === "image")
|
|
642
770
|
ExamQuestionImage.internalBinaryWrite(message.data.image, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
|
|
643
771
|
let u = options.writeUnknownFields;
|
|
@@ -647,13 +775,13 @@ class ExamQuestionData$Type extends MessageType<ExamQuestionData> {
|
|
|
647
775
|
}
|
|
648
776
|
}
|
|
649
777
|
/**
|
|
650
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionData
|
|
778
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionData
|
|
651
779
|
*/
|
|
652
780
|
export const ExamQuestionData = new ExamQuestionData$Type();
|
|
653
781
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
654
782
|
class ExamQuestionSeparator$Type extends MessageType<ExamQuestionSeparator> {
|
|
655
783
|
constructor() {
|
|
656
|
-
super("resources.qualifications.ExamQuestionSeparator", []);
|
|
784
|
+
super("resources.qualifications.exam.ExamQuestionSeparator", []);
|
|
657
785
|
}
|
|
658
786
|
create(value?: PartialMessage<ExamQuestionSeparator>): ExamQuestionSeparator {
|
|
659
787
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
@@ -685,13 +813,13 @@ class ExamQuestionSeparator$Type extends MessageType<ExamQuestionSeparator> {
|
|
|
685
813
|
}
|
|
686
814
|
}
|
|
687
815
|
/**
|
|
688
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionSeparator
|
|
816
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionSeparator
|
|
689
817
|
*/
|
|
690
818
|
export const ExamQuestionSeparator = new ExamQuestionSeparator$Type();
|
|
691
819
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
692
820
|
class ExamQuestionImage$Type extends MessageType<ExamQuestionImage> {
|
|
693
821
|
constructor() {
|
|
694
|
-
super("resources.qualifications.ExamQuestionImage", [
|
|
822
|
+
super("resources.qualifications.exam.ExamQuestionImage", [
|
|
695
823
|
{ no: 1, name: "image", kind: "message", T: () => File },
|
|
696
824
|
{ no: 2, name: "alt", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } } } }
|
|
697
825
|
]);
|
|
@@ -738,13 +866,13 @@ class ExamQuestionImage$Type extends MessageType<ExamQuestionImage> {
|
|
|
738
866
|
}
|
|
739
867
|
}
|
|
740
868
|
/**
|
|
741
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionImage
|
|
869
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionImage
|
|
742
870
|
*/
|
|
743
871
|
export const ExamQuestionImage = new ExamQuestionImage$Type();
|
|
744
872
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
745
873
|
class ExamQuestionYesNo$Type extends MessageType<ExamQuestionYesNo> {
|
|
746
874
|
constructor() {
|
|
747
|
-
super("resources.qualifications.ExamQuestionYesNo", []);
|
|
875
|
+
super("resources.qualifications.exam.ExamQuestionYesNo", []);
|
|
748
876
|
}
|
|
749
877
|
create(value?: PartialMessage<ExamQuestionYesNo>): ExamQuestionYesNo {
|
|
750
878
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
@@ -776,13 +904,13 @@ class ExamQuestionYesNo$Type extends MessageType<ExamQuestionYesNo> {
|
|
|
776
904
|
}
|
|
777
905
|
}
|
|
778
906
|
/**
|
|
779
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionYesNo
|
|
907
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionYesNo
|
|
780
908
|
*/
|
|
781
909
|
export const ExamQuestionYesNo = new ExamQuestionYesNo$Type();
|
|
782
910
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
783
911
|
class ExamQuestionText$Type extends MessageType<ExamQuestionText> {
|
|
784
912
|
constructor() {
|
|
785
|
-
super("resources.qualifications.ExamQuestionText", [
|
|
913
|
+
super("resources.qualifications.exam.ExamQuestionText", [
|
|
786
914
|
{ no: 1, name: "min_length", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
787
915
|
{ no: 2, name: "max_length", kind: "scalar", T: 5 /*ScalarType.INT32*/ }
|
|
788
916
|
]);
|
|
@@ -831,14 +959,14 @@ class ExamQuestionText$Type extends MessageType<ExamQuestionText> {
|
|
|
831
959
|
}
|
|
832
960
|
}
|
|
833
961
|
/**
|
|
834
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionText
|
|
962
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionText
|
|
835
963
|
*/
|
|
836
964
|
export const ExamQuestionText = new ExamQuestionText$Type();
|
|
837
965
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
838
966
|
class ExamQuestionSingleChoice$Type extends MessageType<ExamQuestionSingleChoice> {
|
|
839
967
|
constructor() {
|
|
840
|
-
super("resources.qualifications.ExamQuestionSingleChoice", [
|
|
841
|
-
{ no: 1, name: "choices", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "10" } }, "codegen.sanitizer.sanitizer": { enabled: true,
|
|
968
|
+
super("resources.qualifications.exam.ExamQuestionSingleChoice", [
|
|
969
|
+
{ no: 1, name: "choices", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "10" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
|
|
842
970
|
]);
|
|
843
971
|
}
|
|
844
972
|
create(value?: PartialMessage<ExamQuestionSingleChoice>): ExamQuestionSingleChoice {
|
|
@@ -878,14 +1006,14 @@ class ExamQuestionSingleChoice$Type extends MessageType<ExamQuestionSingleChoice
|
|
|
878
1006
|
}
|
|
879
1007
|
}
|
|
880
1008
|
/**
|
|
881
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionSingleChoice
|
|
1009
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionSingleChoice
|
|
882
1010
|
*/
|
|
883
1011
|
export const ExamQuestionSingleChoice = new ExamQuestionSingleChoice$Type();
|
|
884
1012
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
885
1013
|
class ExamQuestionMultipleChoice$Type extends MessageType<ExamQuestionMultipleChoice> {
|
|
886
1014
|
constructor() {
|
|
887
|
-
super("resources.qualifications.ExamQuestionMultipleChoice", [
|
|
888
|
-
{ no: 1, name: "choices", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "10" } }, "codegen.sanitizer.sanitizer": { enabled: true,
|
|
1015
|
+
super("resources.qualifications.exam.ExamQuestionMultipleChoice", [
|
|
1016
|
+
{ no: 1, name: "choices", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "10" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } },
|
|
889
1017
|
{ no: 2, name: "limit", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { lte: 10, gte: 0 } } } }
|
|
890
1018
|
]);
|
|
891
1019
|
}
|
|
@@ -932,13 +1060,13 @@ class ExamQuestionMultipleChoice$Type extends MessageType<ExamQuestionMultipleCh
|
|
|
932
1060
|
}
|
|
933
1061
|
}
|
|
934
1062
|
/**
|
|
935
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionMultipleChoice
|
|
1063
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionMultipleChoice
|
|
936
1064
|
*/
|
|
937
1065
|
export const ExamQuestionMultipleChoice = new ExamQuestionMultipleChoice$Type();
|
|
938
1066
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
939
1067
|
class ExamQuestionAnswerData$Type extends MessageType<ExamQuestionAnswerData> {
|
|
940
1068
|
constructor() {
|
|
941
|
-
super("resources.qualifications.ExamQuestionAnswerData", [
|
|
1069
|
+
super("resources.qualifications.exam.ExamQuestionAnswerData", [
|
|
942
1070
|
{ no: 1, name: "answer_key", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "1024" } } } },
|
|
943
1071
|
{ no: 4, name: "yesno", kind: "message", oneof: "answer", T: () => ExamResponseYesNo },
|
|
944
1072
|
{ no: 5, name: "free_text", kind: "message", oneof: "answer", T: () => ExamResponseText },
|
|
@@ -962,25 +1090,25 @@ class ExamQuestionAnswerData$Type extends MessageType<ExamQuestionAnswerData> {
|
|
|
962
1090
|
case /* string answer_key */ 1:
|
|
963
1091
|
message.answerKey = reader.string();
|
|
964
1092
|
break;
|
|
965
|
-
case /* resources.qualifications.ExamResponseYesNo yesno */ 4:
|
|
1093
|
+
case /* resources.qualifications.exam.ExamResponseYesNo yesno */ 4:
|
|
966
1094
|
message.answer = {
|
|
967
1095
|
oneofKind: "yesno",
|
|
968
1096
|
yesno: ExamResponseYesNo.internalBinaryRead(reader, reader.uint32(), options, (message.answer as any).yesno)
|
|
969
1097
|
};
|
|
970
1098
|
break;
|
|
971
|
-
case /* resources.qualifications.ExamResponseText free_text */ 5:
|
|
1099
|
+
case /* resources.qualifications.exam.ExamResponseText free_text */ 5:
|
|
972
1100
|
message.answer = {
|
|
973
1101
|
oneofKind: "freeText",
|
|
974
1102
|
freeText: ExamResponseText.internalBinaryRead(reader, reader.uint32(), options, (message.answer as any).freeText)
|
|
975
1103
|
};
|
|
976
1104
|
break;
|
|
977
|
-
case /* resources.qualifications.ExamResponseSingleChoice single_choice */ 6:
|
|
1105
|
+
case /* resources.qualifications.exam.ExamResponseSingleChoice single_choice */ 6:
|
|
978
1106
|
message.answer = {
|
|
979
1107
|
oneofKind: "singleChoice",
|
|
980
1108
|
singleChoice: ExamResponseSingleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.answer as any).singleChoice)
|
|
981
1109
|
};
|
|
982
1110
|
break;
|
|
983
|
-
case /* resources.qualifications.ExamResponseMultipleChoice multiple_choice */ 7:
|
|
1111
|
+
case /* resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice */ 7:
|
|
984
1112
|
message.answer = {
|
|
985
1113
|
oneofKind: "multipleChoice",
|
|
986
1114
|
multipleChoice: ExamResponseMultipleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.answer as any).multipleChoice)
|
|
@@ -1001,16 +1129,16 @@ class ExamQuestionAnswerData$Type extends MessageType<ExamQuestionAnswerData> {
|
|
|
1001
1129
|
/* string answer_key = 1; */
|
|
1002
1130
|
if (message.answerKey !== "")
|
|
1003
1131
|
writer.tag(1, WireType.LengthDelimited).string(message.answerKey);
|
|
1004
|
-
/* resources.qualifications.ExamResponseYesNo yesno = 4; */
|
|
1132
|
+
/* resources.qualifications.exam.ExamResponseYesNo yesno = 4; */
|
|
1005
1133
|
if (message.answer.oneofKind === "yesno")
|
|
1006
1134
|
ExamResponseYesNo.internalBinaryWrite(message.answer.yesno, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
|
|
1007
|
-
/* resources.qualifications.ExamResponseText free_text = 5; */
|
|
1135
|
+
/* resources.qualifications.exam.ExamResponseText free_text = 5; */
|
|
1008
1136
|
if (message.answer.oneofKind === "freeText")
|
|
1009
1137
|
ExamResponseText.internalBinaryWrite(message.answer.freeText, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
|
|
1010
|
-
/* resources.qualifications.ExamResponseSingleChoice single_choice = 6; */
|
|
1138
|
+
/* resources.qualifications.exam.ExamResponseSingleChoice single_choice = 6; */
|
|
1011
1139
|
if (message.answer.oneofKind === "singleChoice")
|
|
1012
1140
|
ExamResponseSingleChoice.internalBinaryWrite(message.answer.singleChoice, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
|
|
1013
|
-
/* resources.qualifications.ExamResponseMultipleChoice multiple_choice = 7; */
|
|
1141
|
+
/* resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice = 7; */
|
|
1014
1142
|
if (message.answer.oneofKind === "multipleChoice")
|
|
1015
1143
|
ExamResponseMultipleChoice.internalBinaryWrite(message.answer.multipleChoice, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
|
|
1016
1144
|
let u = options.writeUnknownFields;
|
|
@@ -1020,13 +1148,13 @@ class ExamQuestionAnswerData$Type extends MessageType<ExamQuestionAnswerData> {
|
|
|
1020
1148
|
}
|
|
1021
1149
|
}
|
|
1022
1150
|
/**
|
|
1023
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionAnswerData
|
|
1151
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionAnswerData
|
|
1024
1152
|
*/
|
|
1025
1153
|
export const ExamQuestionAnswerData = new ExamQuestionAnswerData$Type();
|
|
1026
1154
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1027
1155
|
class ExamUser$Type extends MessageType<ExamUser> {
|
|
1028
1156
|
constructor() {
|
|
1029
|
-
super("resources.qualifications.ExamUser", [
|
|
1157
|
+
super("resources.qualifications.exam.ExamUser", [
|
|
1030
1158
|
{ no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
1031
1159
|
{ no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
1032
1160
|
{ no: 3, name: "created_at", kind: "message", T: () => Timestamp },
|
|
@@ -1103,13 +1231,13 @@ class ExamUser$Type extends MessageType<ExamUser> {
|
|
|
1103
1231
|
}
|
|
1104
1232
|
}
|
|
1105
1233
|
/**
|
|
1106
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamUser
|
|
1234
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamUser
|
|
1107
1235
|
*/
|
|
1108
1236
|
export const ExamUser = new ExamUser$Type();
|
|
1109
1237
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1110
1238
|
class ExamResponses$Type extends MessageType<ExamResponses> {
|
|
1111
1239
|
constructor() {
|
|
1112
|
-
super("resources.qualifications.ExamResponses", [
|
|
1240
|
+
super("resources.qualifications.exam.ExamResponses", [
|
|
1113
1241
|
{ no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
1114
1242
|
{ no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
1115
1243
|
{ no: 3, name: "responses", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ExamResponse, options: { "buf.validate.field": { repeated: { maxItems: "100" } } } }
|
|
@@ -1135,7 +1263,7 @@ class ExamResponses$Type extends MessageType<ExamResponses> {
|
|
|
1135
1263
|
case /* int32 user_id */ 2:
|
|
1136
1264
|
message.userId = reader.int32();
|
|
1137
1265
|
break;
|
|
1138
|
-
case /* repeated resources.qualifications.ExamResponse responses */ 3:
|
|
1266
|
+
case /* repeated resources.qualifications.exam.ExamResponse responses */ 3:
|
|
1139
1267
|
message.responses.push(ExamResponse.internalBinaryRead(reader, reader.uint32(), options));
|
|
1140
1268
|
break;
|
|
1141
1269
|
default:
|
|
@@ -1156,7 +1284,7 @@ class ExamResponses$Type extends MessageType<ExamResponses> {
|
|
|
1156
1284
|
/* int32 user_id = 2; */
|
|
1157
1285
|
if (message.userId !== 0)
|
|
1158
1286
|
writer.tag(2, WireType.Varint).int32(message.userId);
|
|
1159
|
-
/* repeated resources.qualifications.ExamResponse responses = 3; */
|
|
1287
|
+
/* repeated resources.qualifications.exam.ExamResponse responses = 3; */
|
|
1160
1288
|
for (let i = 0; i < message.responses.length; i++)
|
|
1161
1289
|
ExamResponse.internalBinaryWrite(message.responses[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
1162
1290
|
let u = options.writeUnknownFields;
|
|
@@ -1166,13 +1294,13 @@ class ExamResponses$Type extends MessageType<ExamResponses> {
|
|
|
1166
1294
|
}
|
|
1167
1295
|
}
|
|
1168
1296
|
/**
|
|
1169
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponses
|
|
1297
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponses
|
|
1170
1298
|
*/
|
|
1171
1299
|
export const ExamResponses = new ExamResponses$Type();
|
|
1172
1300
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1173
1301
|
class ExamResponse$Type extends MessageType<ExamResponse> {
|
|
1174
1302
|
constructor() {
|
|
1175
|
-
super("resources.qualifications.ExamResponse", [
|
|
1303
|
+
super("resources.qualifications.exam.ExamResponse", [
|
|
1176
1304
|
{ no: 1, name: "question_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
1177
1305
|
{ no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
1178
1306
|
{ no: 3, name: "question", kind: "message", T: () => ExamQuestion },
|
|
@@ -1198,10 +1326,10 @@ class ExamResponse$Type extends MessageType<ExamResponse> {
|
|
|
1198
1326
|
case /* int32 user_id */ 2:
|
|
1199
1327
|
message.userId = reader.int32();
|
|
1200
1328
|
break;
|
|
1201
|
-
case /* resources.qualifications.ExamQuestion question */ 3:
|
|
1329
|
+
case /* resources.qualifications.exam.ExamQuestion question */ 3:
|
|
1202
1330
|
message.question = ExamQuestion.internalBinaryRead(reader, reader.uint32(), options, message.question);
|
|
1203
1331
|
break;
|
|
1204
|
-
case /* resources.qualifications.ExamResponseData response */ 4:
|
|
1332
|
+
case /* resources.qualifications.exam.ExamResponseData response */ 4:
|
|
1205
1333
|
message.response = ExamResponseData.internalBinaryRead(reader, reader.uint32(), options, message.response);
|
|
1206
1334
|
break;
|
|
1207
1335
|
default:
|
|
@@ -1222,10 +1350,10 @@ class ExamResponse$Type extends MessageType<ExamResponse> {
|
|
|
1222
1350
|
/* int32 user_id = 2; */
|
|
1223
1351
|
if (message.userId !== 0)
|
|
1224
1352
|
writer.tag(2, WireType.Varint).int32(message.userId);
|
|
1225
|
-
/* resources.qualifications.ExamQuestion question = 3; */
|
|
1353
|
+
/* resources.qualifications.exam.ExamQuestion question = 3; */
|
|
1226
1354
|
if (message.question)
|
|
1227
1355
|
ExamQuestion.internalBinaryWrite(message.question, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
1228
|
-
/* resources.qualifications.ExamResponseData response = 4; */
|
|
1356
|
+
/* resources.qualifications.exam.ExamResponseData response = 4; */
|
|
1229
1357
|
if (message.response)
|
|
1230
1358
|
ExamResponseData.internalBinaryWrite(message.response, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
|
|
1231
1359
|
let u = options.writeUnknownFields;
|
|
@@ -1235,13 +1363,13 @@ class ExamResponse$Type extends MessageType<ExamResponse> {
|
|
|
1235
1363
|
}
|
|
1236
1364
|
}
|
|
1237
1365
|
/**
|
|
1238
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponse
|
|
1366
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponse
|
|
1239
1367
|
*/
|
|
1240
1368
|
export const ExamResponse = new ExamResponse$Type();
|
|
1241
1369
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1242
1370
|
class ExamResponseData$Type extends MessageType<ExamResponseData> {
|
|
1243
1371
|
constructor() {
|
|
1244
|
-
super("resources.qualifications.ExamResponseData", [
|
|
1372
|
+
super("resources.qualifications.exam.ExamResponseData", [
|
|
1245
1373
|
{ no: 3, name: "separator", kind: "message", oneof: "response", T: () => ExamResponseSeparator },
|
|
1246
1374
|
{ no: 4, name: "yesno", kind: "message", oneof: "response", T: () => ExamResponseYesNo },
|
|
1247
1375
|
{ no: 5, name: "free_text", kind: "message", oneof: "response", T: () => ExamResponseText },
|
|
@@ -1261,31 +1389,31 @@ class ExamResponseData$Type extends MessageType<ExamResponseData> {
|
|
|
1261
1389
|
while (reader.pos < end) {
|
|
1262
1390
|
let [fieldNo, wireType] = reader.tag();
|
|
1263
1391
|
switch (fieldNo) {
|
|
1264
|
-
case /* resources.qualifications.ExamResponseSeparator separator */ 3:
|
|
1392
|
+
case /* resources.qualifications.exam.ExamResponseSeparator separator */ 3:
|
|
1265
1393
|
message.response = {
|
|
1266
1394
|
oneofKind: "separator",
|
|
1267
1395
|
separator: ExamResponseSeparator.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).separator)
|
|
1268
1396
|
};
|
|
1269
1397
|
break;
|
|
1270
|
-
case /* resources.qualifications.ExamResponseYesNo yesno */ 4:
|
|
1398
|
+
case /* resources.qualifications.exam.ExamResponseYesNo yesno */ 4:
|
|
1271
1399
|
message.response = {
|
|
1272
1400
|
oneofKind: "yesno",
|
|
1273
1401
|
yesno: ExamResponseYesNo.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).yesno)
|
|
1274
1402
|
};
|
|
1275
1403
|
break;
|
|
1276
|
-
case /* resources.qualifications.ExamResponseText free_text */ 5:
|
|
1404
|
+
case /* resources.qualifications.exam.ExamResponseText free_text */ 5:
|
|
1277
1405
|
message.response = {
|
|
1278
1406
|
oneofKind: "freeText",
|
|
1279
1407
|
freeText: ExamResponseText.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).freeText)
|
|
1280
1408
|
};
|
|
1281
1409
|
break;
|
|
1282
|
-
case /* resources.qualifications.ExamResponseSingleChoice single_choice */ 6:
|
|
1410
|
+
case /* resources.qualifications.exam.ExamResponseSingleChoice single_choice */ 6:
|
|
1283
1411
|
message.response = {
|
|
1284
1412
|
oneofKind: "singleChoice",
|
|
1285
1413
|
singleChoice: ExamResponseSingleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).singleChoice)
|
|
1286
1414
|
};
|
|
1287
1415
|
break;
|
|
1288
|
-
case /* resources.qualifications.ExamResponseMultipleChoice multiple_choice */ 7:
|
|
1416
|
+
case /* resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice */ 7:
|
|
1289
1417
|
message.response = {
|
|
1290
1418
|
oneofKind: "multipleChoice",
|
|
1291
1419
|
multipleChoice: ExamResponseMultipleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).multipleChoice)
|
|
@@ -1303,19 +1431,19 @@ class ExamResponseData$Type extends MessageType<ExamResponseData> {
|
|
|
1303
1431
|
return message;
|
|
1304
1432
|
}
|
|
1305
1433
|
internalBinaryWrite(message: ExamResponseData, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
1306
|
-
/* resources.qualifications.ExamResponseSeparator separator = 3; */
|
|
1434
|
+
/* resources.qualifications.exam.ExamResponseSeparator separator = 3; */
|
|
1307
1435
|
if (message.response.oneofKind === "separator")
|
|
1308
1436
|
ExamResponseSeparator.internalBinaryWrite(message.response.separator, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
1309
|
-
/* resources.qualifications.ExamResponseYesNo yesno = 4; */
|
|
1437
|
+
/* resources.qualifications.exam.ExamResponseYesNo yesno = 4; */
|
|
1310
1438
|
if (message.response.oneofKind === "yesno")
|
|
1311
1439
|
ExamResponseYesNo.internalBinaryWrite(message.response.yesno, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
|
|
1312
|
-
/* resources.qualifications.ExamResponseText free_text = 5; */
|
|
1440
|
+
/* resources.qualifications.exam.ExamResponseText free_text = 5; */
|
|
1313
1441
|
if (message.response.oneofKind === "freeText")
|
|
1314
1442
|
ExamResponseText.internalBinaryWrite(message.response.freeText, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
|
|
1315
|
-
/* resources.qualifications.ExamResponseSingleChoice single_choice = 6; */
|
|
1443
|
+
/* resources.qualifications.exam.ExamResponseSingleChoice single_choice = 6; */
|
|
1316
1444
|
if (message.response.oneofKind === "singleChoice")
|
|
1317
1445
|
ExamResponseSingleChoice.internalBinaryWrite(message.response.singleChoice, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
|
|
1318
|
-
/* resources.qualifications.ExamResponseMultipleChoice multiple_choice = 7; */
|
|
1446
|
+
/* resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice = 7; */
|
|
1319
1447
|
if (message.response.oneofKind === "multipleChoice")
|
|
1320
1448
|
ExamResponseMultipleChoice.internalBinaryWrite(message.response.multipleChoice, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
|
|
1321
1449
|
let u = options.writeUnknownFields;
|
|
@@ -1325,13 +1453,13 @@ class ExamResponseData$Type extends MessageType<ExamResponseData> {
|
|
|
1325
1453
|
}
|
|
1326
1454
|
}
|
|
1327
1455
|
/**
|
|
1328
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseData
|
|
1456
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseData
|
|
1329
1457
|
*/
|
|
1330
1458
|
export const ExamResponseData = new ExamResponseData$Type();
|
|
1331
1459
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1332
1460
|
class ExamResponseSeparator$Type extends MessageType<ExamResponseSeparator> {
|
|
1333
1461
|
constructor() {
|
|
1334
|
-
super("resources.qualifications.ExamResponseSeparator", []);
|
|
1462
|
+
super("resources.qualifications.exam.ExamResponseSeparator", []);
|
|
1335
1463
|
}
|
|
1336
1464
|
create(value?: PartialMessage<ExamResponseSeparator>): ExamResponseSeparator {
|
|
1337
1465
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
@@ -1363,13 +1491,13 @@ class ExamResponseSeparator$Type extends MessageType<ExamResponseSeparator> {
|
|
|
1363
1491
|
}
|
|
1364
1492
|
}
|
|
1365
1493
|
/**
|
|
1366
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseSeparator
|
|
1494
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseSeparator
|
|
1367
1495
|
*/
|
|
1368
1496
|
export const ExamResponseSeparator = new ExamResponseSeparator$Type();
|
|
1369
1497
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1370
1498
|
class ExamResponseYesNo$Type extends MessageType<ExamResponseYesNo> {
|
|
1371
1499
|
constructor() {
|
|
1372
|
-
super("resources.qualifications.ExamResponseYesNo", [
|
|
1500
|
+
super("resources.qualifications.exam.ExamResponseYesNo", [
|
|
1373
1501
|
{ no: 1, name: "value", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
|
|
1374
1502
|
]);
|
|
1375
1503
|
}
|
|
@@ -1410,14 +1538,14 @@ class ExamResponseYesNo$Type extends MessageType<ExamResponseYesNo> {
|
|
|
1410
1538
|
}
|
|
1411
1539
|
}
|
|
1412
1540
|
/**
|
|
1413
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseYesNo
|
|
1541
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseYesNo
|
|
1414
1542
|
*/
|
|
1415
1543
|
export const ExamResponseYesNo = new ExamResponseYesNo$Type();
|
|
1416
1544
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1417
1545
|
class ExamResponseText$Type extends MessageType<ExamResponseText> {
|
|
1418
1546
|
constructor() {
|
|
1419
|
-
super("resources.qualifications.ExamResponseText", [
|
|
1420
|
-
{ no: 1, name: "text", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "500000" } }, "codegen.sanitizer.sanitizer": { enabled: true,
|
|
1547
|
+
super("resources.qualifications.exam.ExamResponseText", [
|
|
1548
|
+
{ no: 1, name: "text", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxBytes: "500000" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
|
|
1421
1549
|
]);
|
|
1422
1550
|
}
|
|
1423
1551
|
create(value?: PartialMessage<ExamResponseText>): ExamResponseText {
|
|
@@ -1457,14 +1585,14 @@ class ExamResponseText$Type extends MessageType<ExamResponseText> {
|
|
|
1457
1585
|
}
|
|
1458
1586
|
}
|
|
1459
1587
|
/**
|
|
1460
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseText
|
|
1588
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseText
|
|
1461
1589
|
*/
|
|
1462
1590
|
export const ExamResponseText = new ExamResponseText$Type();
|
|
1463
1591
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1464
1592
|
class ExamResponseSingleChoice$Type extends MessageType<ExamResponseSingleChoice> {
|
|
1465
1593
|
constructor() {
|
|
1466
|
-
super("resources.qualifications.ExamResponseSingleChoice", [
|
|
1467
|
-
{ no: 1, name: "choice", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "512" } }, "codegen.sanitizer.sanitizer": { enabled: true,
|
|
1594
|
+
super("resources.qualifications.exam.ExamResponseSingleChoice", [
|
|
1595
|
+
{ no: 1, name: "choice", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "512" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
|
|
1468
1596
|
]);
|
|
1469
1597
|
}
|
|
1470
1598
|
create(value?: PartialMessage<ExamResponseSingleChoice>): ExamResponseSingleChoice {
|
|
@@ -1504,14 +1632,14 @@ class ExamResponseSingleChoice$Type extends MessageType<ExamResponseSingleChoice
|
|
|
1504
1632
|
}
|
|
1505
1633
|
}
|
|
1506
1634
|
/**
|
|
1507
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseSingleChoice
|
|
1635
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseSingleChoice
|
|
1508
1636
|
*/
|
|
1509
1637
|
export const ExamResponseSingleChoice = new ExamResponseSingleChoice$Type();
|
|
1510
1638
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1511
1639
|
class ExamResponseMultipleChoice$Type extends MessageType<ExamResponseMultipleChoice> {
|
|
1512
1640
|
constructor() {
|
|
1513
|
-
super("resources.qualifications.ExamResponseMultipleChoice", [
|
|
1514
|
-
{ no: 1, name: "choices", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "10" } }, "codegen.sanitizer.sanitizer": { enabled: true,
|
|
1641
|
+
super("resources.qualifications.exam.ExamResponseMultipleChoice", [
|
|
1642
|
+
{ no: 1, name: "choices", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { repeated: { maxItems: "10" } }, "codegen.sanitizer.sanitizer": { enabled: true, stripHtmlTags: true } } }
|
|
1515
1643
|
]);
|
|
1516
1644
|
}
|
|
1517
1645
|
create(value?: PartialMessage<ExamResponseMultipleChoice>): ExamResponseMultipleChoice {
|
|
@@ -1551,13 +1679,13 @@ class ExamResponseMultipleChoice$Type extends MessageType<ExamResponseMultipleCh
|
|
|
1551
1679
|
}
|
|
1552
1680
|
}
|
|
1553
1681
|
/**
|
|
1554
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseMultipleChoice
|
|
1682
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseMultipleChoice
|
|
1555
1683
|
*/
|
|
1556
1684
|
export const ExamResponseMultipleChoice = new ExamResponseMultipleChoice$Type();
|
|
1557
1685
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1558
1686
|
class ExamGrading$Type extends MessageType<ExamGrading> {
|
|
1559
1687
|
constructor() {
|
|
1560
|
-
super("resources.qualifications.ExamGrading", [
|
|
1688
|
+
super("resources.qualifications.exam.ExamGrading", [
|
|
1561
1689
|
{ no: 1, name: "responses", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ExamGradingResponse, options: { "buf.validate.field": { repeated: { maxItems: "100" } } } }
|
|
1562
1690
|
], { "codegen.dbscanner.dbscanner": { enabled: true } });
|
|
1563
1691
|
}
|
|
@@ -1573,7 +1701,7 @@ class ExamGrading$Type extends MessageType<ExamGrading> {
|
|
|
1573
1701
|
while (reader.pos < end) {
|
|
1574
1702
|
let [fieldNo, wireType] = reader.tag();
|
|
1575
1703
|
switch (fieldNo) {
|
|
1576
|
-
case /* repeated resources.qualifications.ExamGradingResponse responses */ 1:
|
|
1704
|
+
case /* repeated resources.qualifications.exam.ExamGradingResponse responses */ 1:
|
|
1577
1705
|
message.responses.push(ExamGradingResponse.internalBinaryRead(reader, reader.uint32(), options));
|
|
1578
1706
|
break;
|
|
1579
1707
|
default:
|
|
@@ -1588,7 +1716,7 @@ class ExamGrading$Type extends MessageType<ExamGrading> {
|
|
|
1588
1716
|
return message;
|
|
1589
1717
|
}
|
|
1590
1718
|
internalBinaryWrite(message: ExamGrading, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
1591
|
-
/* repeated resources.qualifications.ExamGradingResponse responses = 1; */
|
|
1719
|
+
/* repeated resources.qualifications.exam.ExamGradingResponse responses = 1; */
|
|
1592
1720
|
for (let i = 0; i < message.responses.length; i++)
|
|
1593
1721
|
ExamGradingResponse.internalBinaryWrite(message.responses[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
|
1594
1722
|
let u = options.writeUnknownFields;
|
|
@@ -1598,13 +1726,13 @@ class ExamGrading$Type extends MessageType<ExamGrading> {
|
|
|
1598
1726
|
}
|
|
1599
1727
|
}
|
|
1600
1728
|
/**
|
|
1601
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamGrading
|
|
1729
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamGrading
|
|
1602
1730
|
*/
|
|
1603
1731
|
export const ExamGrading = new ExamGrading$Type();
|
|
1604
1732
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1605
1733
|
class ExamGradingResponse$Type extends MessageType<ExamGradingResponse> {
|
|
1606
1734
|
constructor() {
|
|
1607
|
-
super("resources.qualifications.ExamGradingResponse", [
|
|
1735
|
+
super("resources.qualifications.exam.ExamGradingResponse", [
|
|
1608
1736
|
{ no: 1, name: "question_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
1609
1737
|
{ no: 2, name: "points", kind: "scalar", T: 2 /*ScalarType.FLOAT*/, options: { "buf.validate.field": { float: { lte: 1000, gte: 0 } } } },
|
|
1610
1738
|
{ no: 3, name: "checked", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
|
|
@@ -1660,6 +1788,6 @@ class ExamGradingResponse$Type extends MessageType<ExamGradingResponse> {
|
|
|
1660
1788
|
}
|
|
1661
1789
|
}
|
|
1662
1790
|
/**
|
|
1663
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamGradingResponse
|
|
1791
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamGradingResponse
|
|
1664
1792
|
*/
|
|
1665
1793
|
export const ExamGradingResponse = new ExamGradingResponse$Type();
|