@fivenet-app/gen 2025.5.3 → 2026.3.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/buf/validate/validate.ts +11301 -0
- package/clients.ts +193 -154
- package/codegen/dbscanner/dbscanner.ts +91 -0
- package/codegen/perms/perms.ts +287 -0
- package/codegen/sanitizer/sanitizer.ts +113 -0
- package/google/protobuf/any.ts +4 -3
- package/google/protobuf/descriptor.ts +393 -239
- package/google/protobuf/duration.ts +4 -3
- package/google/protobuf/struct.ts +485 -0
- package/google/protobuf/timestamp.ts +4 -3
- package/package.json +3 -3
- package/perms.ts +217 -160
- package/resources/accounts/accounts.ts +115 -47
- package/resources/accounts/{oauth2.ts → oauth2/oauth2.ts} +33 -32
- package/resources/audit/audit.ts +172 -53
- package/resources/calendar/{access.ts → access/access.ts} +72 -71
- package/resources/calendar/calendar.ts +79 -543
- package/resources/calendar/entries/entries.ts +474 -0
- package/resources/centrum/access/access.ts +345 -0
- package/resources/centrum/dispatchers/dispatchers.ts +149 -0
- package/resources/centrum/{dispatches.ts → dispatches/dispatches.ts} +267 -164
- package/resources/centrum/joblist.ts +136 -0
- package/resources/centrum/settings/settings.ts +657 -0
- package/resources/centrum/{units_access.ts → units/access/access.ts} +78 -79
- package/resources/centrum/{units.ts → units/units.ts} +230 -130
- package/resources/clientconfig/clientconfig.ts +1015 -0
- package/resources/collab/collab.ts +805 -0
- package/resources/common/content/content.ts +169 -63
- package/resources/common/content/diff_activity.ts +267 -0
- package/resources/common/database/database.ts +92 -35
- package/resources/common/error.ts +17 -16
- package/resources/common/i18n.ts +20 -24
- package/resources/common/id_mapping.ts +69 -0
- package/resources/common/tests/objects.ts +4 -3
- package/resources/{common/cron → cron}/cron.ts +77 -65
- package/resources/discord/discord.ts +209 -0
- package/resources/documents/{access.ts → access/access.ts} +75 -76
- package/resources/documents/{activity.ts → activity/activity.ts} +349 -124
- package/resources/documents/approval/approval.ts +945 -0
- package/resources/documents/{category.ts → category/category.ts} +25 -32
- package/resources/documents/{comment.ts → comment/comment.ts} +35 -34
- package/resources/documents/data/data.ts +303 -0
- package/resources/documents/documents.ts +374 -686
- package/resources/{common/uuid.ts → documents/forms/forms.ts} +22 -21
- package/resources/documents/pins/pins.ts +127 -0
- package/resources/documents/references/references.ts +187 -0
- package/resources/documents/relations/relations.ts +184 -0
- package/resources/documents/{requests.ts → requests/requests.ts} +45 -44
- package/resources/documents/stamps/stamp.ts +355 -0
- package/resources/documents/{templates.ts → templates/templates.ts} +524 -199
- package/resources/documents/workflow/workflow.ts +600 -0
- package/resources/file/file.ts +152 -0
- package/{services/settings → resources/file}/filestore.ts +179 -165
- package/resources/file/meta.ts +148 -0
- package/resources/{common/grpcws → grpcws}/grpcws.ts +66 -65
- package/resources/jobs/{activity.ts → colleagues/activity/activity.ts} +83 -86
- package/resources/jobs/{colleagues.ts → colleagues/colleagues.ts} +76 -80
- package/resources/jobs/{conduct.ts → conduct/conduct.ts} +86 -62
- package/resources/jobs/jobs.ts +14 -13
- package/resources/jobs/{labels.ts → labels/labels.ts} +36 -37
- package/resources/jobs/{job_props.ts → props/props.ts} +63 -65
- package/resources/jobs/{job_settings.ts → settings/settings.ts} +89 -96
- package/resources/jobs/{timeclock.ts → timeclock/timeclock.ts} +42 -41
- package/resources/laws/laws.ts +40 -49
- package/resources/livemap/coords.ts +81 -0
- package/resources/livemap/heatmap/heatmap.ts +93 -0
- package/resources/livemap/{livemap.ts → markers/marker_marker.ts} +68 -335
- package/resources/livemap/markers/user_marker.ts +377 -0
- package/resources/mailer/{access.ts → access/access.ts} +119 -118
- package/resources/mailer/{email.ts → emails/email.ts} +38 -41
- package/resources/mailer/{events.ts → events/events.ts} +44 -43
- package/resources/mailer/{message.ts → messages/message.ts} +69 -74
- package/resources/mailer/{settings.ts → settings/settings.ts} +23 -25
- package/resources/mailer/{template.ts → templates/template.ts} +37 -40
- package/resources/mailer/{thread.ts → threads/thread.ts} +93 -94
- package/resources/notifications/clientview/clientview.ts +239 -0
- package/resources/notifications/{events.ts → events/events.ts} +67 -130
- package/resources/notifications/notifications.ts +55 -60
- package/resources/permissions/{attributes.ts → attributes/attributes.ts} +94 -237
- package/resources/permissions/events/events.ts +149 -0
- package/resources/permissions/{permissions.ts → permissions/permissions.ts} +127 -47
- package/resources/qualifications/{access.ts → access/access.ts} +43 -42
- package/resources/qualifications/{exam.ts → exam/exam.ts} +419 -229
- package/resources/qualifications/qualifications.ts +327 -388
- package/resources/settings/banner.ts +14 -21
- package/resources/settings/config.ts +663 -79
- package/resources/settings/data.ts +90 -0
- package/resources/settings/perms.ts +151 -0
- package/resources/settings/status.ts +533 -0
- package/resources/stats/stats.ts +382 -2
- package/resources/sync/{activity.ts → activity/activity.ts} +126 -46
- package/resources/sync/data/data.ts +1001 -0
- package/resources/sync/data/v2/data.ts +220 -0
- package/resources/timestamp/timestamp.ts +3 -2
- package/resources/{centrum/user_unit.ts → tracker/mapping.ts} +44 -44
- package/resources/userinfo/userinfo.ts +442 -0
- package/resources/users/{activity.ts → activity/activity.ts} +182 -166
- package/resources/users/{labels.ts → labels/labels.ts} +27 -30
- package/resources/users/{licenses.ts → licenses/licenses.ts} +18 -17
- package/resources/users/{props.ts → props/props.ts} +109 -77
- package/resources/users/short/user.ts +184 -0
- package/resources/users/user.ts +528 -0
- package/resources/vehicles/activity/activity.ts +231 -0
- package/resources/vehicles/props/props.ts +125 -0
- package/resources/vehicles/vehicles.ts +43 -18
- package/resources/wiki/{access.ts → access/access.ts} +72 -71
- package/resources/wiki/{activity.ts → activity/activity.ts} +218 -102
- package/resources/wiki/page.ts +164 -93
- package/services/auth/auth.client.ts +45 -35
- package/services/auth/auth.ts +498 -288
- package/services/calendar/calendar.client.ts +32 -91
- package/services/calendar/calendar.ts +157 -134
- package/services/centrum/centrum.client.ts +97 -137
- package/services/centrum/centrum.ts +755 -352
- package/services/citizens/citizens.client.ts +70 -39
- package/services/citizens/citizens.ts +226 -112
- package/services/completor/completor.client.ts +16 -35
- package/services/completor/completor.ts +95 -54
- package/services/documents/approval.client.ts +188 -0
- package/services/documents/approval.ts +1776 -0
- package/services/documents/collab.client.ts +46 -0
- package/services/documents/collab.ts +13 -0
- package/services/documents/documents.client.ts +88 -217
- package/services/documents/documents.ts +579 -619
- 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/filestore/filestore.client.ts +86 -0
- package/services/filestore/filestore.ts +262 -0
- package/services/jobs/conduct.client.ts +40 -28
- package/services/jobs/conduct.ts +183 -56
- package/services/jobs/jobs.client.ts +22 -61
- package/services/jobs/jobs.ts +138 -121
- package/services/jobs/stats.client.ts +38 -0
- package/services/jobs/stats.ts +207 -0
- package/services/jobs/timeclock.client.ts +8 -19
- package/services/jobs/timeclock.ts +76 -75
- package/services/livemap/livemap.client.ts +8 -19
- package/services/livemap/livemap.ts +297 -126
- package/services/mailer/mailer.client.ts +44 -127
- package/services/mailer/mailer.ts +266 -269
- package/services/notifications/notifications.client.ts +65 -0
- package/services/{notificator/notificator.ts → notifications/notifications.ts} +126 -83
- package/services/qualifications/qualifications.client.ts +46 -91
- package/services/qualifications/qualifications.ts +250 -209
- package/services/settings/accounts.client.ts +31 -33
- package/services/settings/accounts.ts +251 -67
- package/services/settings/config.client.ts +6 -13
- package/services/settings/config.ts +8 -7
- package/services/settings/cron.client.ts +4 -7
- package/services/settings/cron.ts +7 -6
- package/services/settings/laws.client.ts +10 -25
- package/services/settings/laws.ts +30 -29
- package/services/settings/settings.client.ts +57 -103
- package/services/settings/settings.ts +237 -633
- package/services/settings/system.client.ts +103 -0
- package/services/settings/system.ts +718 -0
- package/services/stats/stats.client.ts +9 -8
- package/services/stats/stats.ts +27 -26
- package/services/sync/sync.client.ts +16 -15
- package/services/sync/sync.ts +174 -97
- package/services/sync/v2/sync.client.ts +331 -0
- package/services/sync/v2/sync.ts +1766 -0
- package/services/vehicles/vehicles.client.ts +17 -7
- package/services/vehicles/vehicles.ts +170 -25
- package/services/wiki/collab.client.ts +46 -0
- package/services/wiki/collab.ts +13 -0
- package/services/wiki/wiki.client.ts +28 -37
- package/services/wiki/wiki.ts +97 -67
- package/svcs.ts +174 -106
- package/resources/centrum/attributes.ts +0 -186
- package/resources/centrum/disponents.ts +0 -81
- package/resources/centrum/settings.ts +0 -307
- package/resources/documents/workflow.ts +0 -351
- package/resources/filestore/file.ts +0 -204
- package/resources/internet/access.ts +0 -358
- package/resources/internet/ads.ts +0 -257
- package/resources/internet/domain.ts +0 -328
- package/resources/internet/page.ts +0 -428
- package/resources/internet/search.ts +0 -128
- package/resources/livemap/tracker.ts +0 -81
- package/resources/sync/data.ts +0 -587
- package/resources/users/users.ts +0 -435
- package/services/internet/ads.client.ts +0 -41
- package/services/internet/ads.ts +0 -145
- package/services/internet/domain.client.ts +0 -109
- package/services/internet/domain.ts +0 -658
- package/services/internet/internet.client.ts +0 -58
- package/services/internet/internet.ts +0 -268
- package/services/notificator/notificator.client.ts +0 -76
- package/services/settings/filestore.client.ts +0 -75
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
// @generated by protobuf-ts 2.
|
|
2
|
-
// @generated from protobuf file "resources/qualifications/exam.proto" (package "resources.qualifications", syntax proto3)
|
|
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/exam.proto" (package "resources.qualifications.exam", syntax proto3)
|
|
3
|
+
// tslint:disable
|
|
3
4
|
// @ts-nocheck
|
|
4
5
|
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
|
|
5
6
|
import type { IBinaryWriter } from "@protobuf-ts/runtime";
|
|
@@ -10,68 +11,86 @@ import { UnknownFieldHandler } from "@protobuf-ts/runtime";
|
|
|
10
11
|
import type { PartialMessage } from "@protobuf-ts/runtime";
|
|
11
12
|
import { reflectionMergePartial } from "@protobuf-ts/runtime";
|
|
12
13
|
import { MessageType } from "@protobuf-ts/runtime";
|
|
13
|
-
import { File } from "
|
|
14
|
-
import { Timestamp } from "
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
import { File } from "../../file/file";
|
|
15
|
+
import { Timestamp } from "../../timestamp/timestamp";
|
|
16
|
+
import { Duration } from "../../../google/protobuf/duration";
|
|
17
|
+
/**
|
|
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
|
+
}
|
|
17
38
|
/**
|
|
18
|
-
* @generated from protobuf message resources.qualifications.ExamQuestions
|
|
39
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestions
|
|
19
40
|
*/
|
|
20
41
|
export interface ExamQuestions {
|
|
21
42
|
/**
|
|
22
|
-
* @generated from protobuf field: repeated resources.qualifications.ExamQuestion questions = 1
|
|
43
|
+
* @generated from protobuf field: repeated resources.qualifications.exam.ExamQuestion questions = 1
|
|
23
44
|
*/
|
|
24
45
|
questions: ExamQuestion[];
|
|
25
46
|
}
|
|
26
47
|
/**
|
|
27
|
-
* @generated from protobuf message resources.qualifications.ExamQuestion
|
|
48
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestion
|
|
28
49
|
*/
|
|
29
50
|
export interface ExamQuestion {
|
|
30
51
|
/**
|
|
31
|
-
* @generated from protobuf field:
|
|
52
|
+
* @generated from protobuf field: int64 id = 1
|
|
32
53
|
*/
|
|
33
54
|
id: number;
|
|
34
55
|
/**
|
|
35
|
-
* @generated from protobuf field:
|
|
56
|
+
* @generated from protobuf field: int64 qualification_id = 2
|
|
36
57
|
*/
|
|
37
58
|
qualificationId: number;
|
|
38
59
|
/**
|
|
39
|
-
* @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 3
|
|
60
|
+
* @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 3
|
|
40
61
|
*/
|
|
41
62
|
createdAt?: Timestamp;
|
|
42
63
|
/**
|
|
43
|
-
* @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 4
|
|
64
|
+
* @generated from protobuf field: optional resources.timestamp.Timestamp updated_at = 4
|
|
44
65
|
*/
|
|
45
66
|
updatedAt?: Timestamp;
|
|
46
67
|
/**
|
|
47
|
-
* @
|
|
48
|
-
*
|
|
49
|
-
* @generated from protobuf field: string title = 5;
|
|
68
|
+
* @generated from protobuf field: string title = 5
|
|
50
69
|
*/
|
|
51
70
|
title: string;
|
|
52
71
|
/**
|
|
53
|
-
* @
|
|
54
|
-
*
|
|
55
|
-
* @generated from protobuf field: optional string description = 6;
|
|
72
|
+
* @generated from protobuf field: optional string description = 6
|
|
56
73
|
*/
|
|
57
74
|
description?: string;
|
|
58
75
|
/**
|
|
59
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionData data = 7
|
|
76
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionData data = 7
|
|
60
77
|
*/
|
|
61
78
|
data?: ExamQuestionData;
|
|
62
79
|
/**
|
|
63
|
-
* @generated from protobuf field: optional resources.qualifications.ExamQuestionAnswerData answer = 8
|
|
80
|
+
* @generated from protobuf field: optional resources.qualifications.exam.ExamQuestionAnswerData answer = 8
|
|
64
81
|
*/
|
|
65
82
|
answer?: ExamQuestionAnswerData;
|
|
66
83
|
/**
|
|
67
|
-
* @generated from protobuf field: optional int32 points = 9
|
|
84
|
+
* @generated from protobuf field: optional int32 points = 9
|
|
68
85
|
*/
|
|
69
86
|
points?: number;
|
|
87
|
+
/**
|
|
88
|
+
* @generated from protobuf field: int32 order = 10
|
|
89
|
+
*/
|
|
90
|
+
order: number;
|
|
70
91
|
}
|
|
71
92
|
/**
|
|
72
|
-
* @
|
|
73
|
-
*
|
|
74
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionData
|
|
93
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionData
|
|
75
94
|
*/
|
|
76
95
|
export interface ExamQuestionData {
|
|
77
96
|
/**
|
|
@@ -80,37 +99,37 @@ export interface ExamQuestionData {
|
|
|
80
99
|
data: {
|
|
81
100
|
oneofKind: "separator";
|
|
82
101
|
/**
|
|
83
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionSeparator separator = 1
|
|
102
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionSeparator separator = 1
|
|
84
103
|
*/
|
|
85
104
|
separator: ExamQuestionSeparator;
|
|
86
105
|
} | {
|
|
87
106
|
oneofKind: "image";
|
|
88
107
|
/**
|
|
89
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionImage image = 6
|
|
108
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionImage image = 6
|
|
90
109
|
*/
|
|
91
110
|
image: ExamQuestionImage;
|
|
92
111
|
} | {
|
|
93
112
|
oneofKind: "yesno";
|
|
94
113
|
/**
|
|
95
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionYesNo yesno = 2
|
|
114
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionYesNo yesno = 2
|
|
96
115
|
*/
|
|
97
116
|
yesno: ExamQuestionYesNo;
|
|
98
117
|
} | {
|
|
99
118
|
oneofKind: "freeText";
|
|
100
119
|
/**
|
|
101
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionText free_text = 3
|
|
120
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionText free_text = 3
|
|
102
121
|
*/
|
|
103
122
|
freeText: ExamQuestionText;
|
|
104
123
|
} | {
|
|
105
124
|
oneofKind: "singleChoice";
|
|
106
125
|
/**
|
|
107
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionSingleChoice single_choice = 4
|
|
126
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionSingleChoice single_choice = 4
|
|
108
127
|
*/
|
|
109
128
|
singleChoice: ExamQuestionSingleChoice;
|
|
110
129
|
} | {
|
|
111
130
|
oneofKind: "multipleChoice";
|
|
112
131
|
/**
|
|
113
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestionMultipleChoice multiple_choice = 5
|
|
132
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestionMultipleChoice multiple_choice = 5
|
|
114
133
|
*/
|
|
115
134
|
multipleChoice: ExamQuestionMultipleChoice;
|
|
116
135
|
} | {
|
|
@@ -118,151 +137,173 @@ export interface ExamQuestionData {
|
|
|
118
137
|
};
|
|
119
138
|
}
|
|
120
139
|
/**
|
|
121
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionSeparator
|
|
140
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionSeparator
|
|
122
141
|
*/
|
|
123
142
|
export interface ExamQuestionSeparator {
|
|
124
143
|
}
|
|
125
144
|
/**
|
|
126
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionImage
|
|
145
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionImage
|
|
127
146
|
*/
|
|
128
147
|
export interface ExamQuestionImage {
|
|
129
148
|
/**
|
|
130
|
-
* @generated from protobuf field: resources.
|
|
149
|
+
* @generated from protobuf field: resources.file.File image = 1
|
|
131
150
|
*/
|
|
132
151
|
image?: File;
|
|
133
152
|
/**
|
|
134
|
-
* @generated from protobuf field: optional string alt = 2
|
|
153
|
+
* @generated from protobuf field: optional string alt = 2
|
|
135
154
|
*/
|
|
136
155
|
alt?: string;
|
|
137
156
|
}
|
|
138
157
|
/**
|
|
139
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionYesNo
|
|
158
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionYesNo
|
|
140
159
|
*/
|
|
141
160
|
export interface ExamQuestionYesNo {
|
|
142
161
|
}
|
|
143
162
|
/**
|
|
144
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionText
|
|
163
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionText
|
|
145
164
|
*/
|
|
146
165
|
export interface ExamQuestionText {
|
|
147
166
|
/**
|
|
148
|
-
* @generated from protobuf field: int32 min_length = 1
|
|
167
|
+
* @generated from protobuf field: int32 min_length = 1
|
|
149
168
|
*/
|
|
150
169
|
minLength: number;
|
|
151
170
|
/**
|
|
152
|
-
* @generated from protobuf field: int32 max_length = 2
|
|
171
|
+
* @generated from protobuf field: int32 max_length = 2
|
|
153
172
|
*/
|
|
154
173
|
maxLength: number;
|
|
155
174
|
}
|
|
156
175
|
/**
|
|
157
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionSingleChoice
|
|
176
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionSingleChoice
|
|
158
177
|
*/
|
|
159
178
|
export interface ExamQuestionSingleChoice {
|
|
160
179
|
/**
|
|
161
|
-
* @
|
|
162
|
-
*
|
|
163
|
-
* @generated from protobuf field: repeated string choices = 1;
|
|
180
|
+
* @generated from protobuf field: repeated string choices = 1
|
|
164
181
|
*/
|
|
165
182
|
choices: string[];
|
|
166
183
|
}
|
|
167
184
|
/**
|
|
168
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionMultipleChoice
|
|
185
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionMultipleChoice
|
|
169
186
|
*/
|
|
170
187
|
export interface ExamQuestionMultipleChoice {
|
|
171
188
|
/**
|
|
172
|
-
* @
|
|
173
|
-
*
|
|
174
|
-
* @generated from protobuf field: repeated string choices = 1;
|
|
189
|
+
* @generated from protobuf field: repeated string choices = 1
|
|
175
190
|
*/
|
|
176
191
|
choices: string[];
|
|
177
192
|
/**
|
|
178
|
-
* @generated from protobuf field: optional int32 limit = 2
|
|
193
|
+
* @generated from protobuf field: optional int32 limit = 2
|
|
179
194
|
*/
|
|
180
195
|
limit?: number;
|
|
181
196
|
}
|
|
182
197
|
/**
|
|
183
|
-
* @
|
|
184
|
-
*
|
|
185
|
-
* @generated from protobuf message resources.qualifications.ExamQuestionAnswerData
|
|
198
|
+
* @generated from protobuf message resources.qualifications.exam.ExamQuestionAnswerData
|
|
186
199
|
*/
|
|
187
200
|
export interface ExamQuestionAnswerData {
|
|
188
201
|
/**
|
|
189
|
-
* @generated from protobuf field: string answer_key = 1
|
|
202
|
+
* @generated from protobuf field: string answer_key = 1
|
|
190
203
|
*/
|
|
191
204
|
answerKey: string;
|
|
205
|
+
/**
|
|
206
|
+
* @generated from protobuf oneof: answer
|
|
207
|
+
*/
|
|
208
|
+
answer: {
|
|
209
|
+
oneofKind: "yesno";
|
|
210
|
+
/**
|
|
211
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseYesNo yesno = 4
|
|
212
|
+
*/
|
|
213
|
+
yesno: ExamResponseYesNo;
|
|
214
|
+
} | {
|
|
215
|
+
oneofKind: "freeText";
|
|
216
|
+
/**
|
|
217
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseText free_text = 5
|
|
218
|
+
*/
|
|
219
|
+
freeText: ExamResponseText;
|
|
220
|
+
} | {
|
|
221
|
+
oneofKind: "singleChoice";
|
|
222
|
+
/**
|
|
223
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseSingleChoice single_choice = 6
|
|
224
|
+
*/
|
|
225
|
+
singleChoice: ExamResponseSingleChoice;
|
|
226
|
+
} | {
|
|
227
|
+
oneofKind: "multipleChoice";
|
|
228
|
+
/**
|
|
229
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice = 7
|
|
230
|
+
*/
|
|
231
|
+
multipleChoice: ExamResponseMultipleChoice;
|
|
232
|
+
} | {
|
|
233
|
+
oneofKind: undefined;
|
|
234
|
+
};
|
|
192
235
|
}
|
|
193
236
|
// User Response
|
|
194
237
|
|
|
195
238
|
/**
|
|
196
|
-
* @generated from protobuf message resources.qualifications.ExamUser
|
|
239
|
+
* @generated from protobuf message resources.qualifications.exam.ExamUser
|
|
197
240
|
*/
|
|
198
241
|
export interface ExamUser {
|
|
199
242
|
/**
|
|
200
|
-
* @generated from protobuf field:
|
|
243
|
+
* @generated from protobuf field: int64 qualification_id = 1
|
|
201
244
|
*/
|
|
202
245
|
qualificationId: number;
|
|
203
246
|
/**
|
|
204
|
-
* @generated from protobuf field: int32 user_id = 2
|
|
247
|
+
* @generated from protobuf field: int32 user_id = 2
|
|
205
248
|
*/
|
|
206
249
|
userId: number;
|
|
207
250
|
/**
|
|
208
|
-
* @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 3
|
|
251
|
+
* @generated from protobuf field: optional resources.timestamp.Timestamp created_at = 3
|
|
209
252
|
*/
|
|
210
253
|
createdAt?: Timestamp;
|
|
211
254
|
/**
|
|
212
|
-
* @generated from protobuf field: optional resources.timestamp.Timestamp started_at = 4
|
|
255
|
+
* @generated from protobuf field: optional resources.timestamp.Timestamp started_at = 4
|
|
213
256
|
*/
|
|
214
257
|
startedAt?: Timestamp;
|
|
215
258
|
/**
|
|
216
|
-
* @generated from protobuf field: optional resources.timestamp.Timestamp ends_at = 5
|
|
259
|
+
* @generated from protobuf field: optional resources.timestamp.Timestamp ends_at = 5
|
|
217
260
|
*/
|
|
218
261
|
endsAt?: Timestamp;
|
|
219
262
|
/**
|
|
220
|
-
* @generated from protobuf field: optional resources.timestamp.Timestamp ended_at = 6
|
|
263
|
+
* @generated from protobuf field: optional resources.timestamp.Timestamp ended_at = 6
|
|
221
264
|
*/
|
|
222
265
|
endedAt?: Timestamp;
|
|
223
266
|
}
|
|
224
267
|
/**
|
|
225
|
-
* @
|
|
226
|
-
*
|
|
227
|
-
* @generated from protobuf message resources.qualifications.ExamResponses
|
|
268
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponses
|
|
228
269
|
*/
|
|
229
270
|
export interface ExamResponses {
|
|
230
271
|
/**
|
|
231
|
-
* @generated from protobuf field:
|
|
272
|
+
* @generated from protobuf field: int64 qualification_id = 1
|
|
232
273
|
*/
|
|
233
274
|
qualificationId: number;
|
|
234
275
|
/**
|
|
235
|
-
* @generated from protobuf field: int32 user_id = 2
|
|
276
|
+
* @generated from protobuf field: int32 user_id = 2
|
|
236
277
|
*/
|
|
237
278
|
userId: number;
|
|
238
279
|
/**
|
|
239
|
-
* @generated from protobuf field: repeated resources.qualifications.ExamResponse responses = 3
|
|
280
|
+
* @generated from protobuf field: repeated resources.qualifications.exam.ExamResponse responses = 3
|
|
240
281
|
*/
|
|
241
282
|
responses: ExamResponse[];
|
|
242
283
|
}
|
|
243
284
|
/**
|
|
244
|
-
* @generated from protobuf message resources.qualifications.ExamResponse
|
|
285
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponse
|
|
245
286
|
*/
|
|
246
287
|
export interface ExamResponse {
|
|
247
288
|
/**
|
|
248
|
-
* @generated from protobuf field:
|
|
289
|
+
* @generated from protobuf field: int64 question_id = 1
|
|
249
290
|
*/
|
|
250
291
|
questionId: number;
|
|
251
292
|
/**
|
|
252
|
-
* @generated from protobuf field: int32 user_id = 2
|
|
293
|
+
* @generated from protobuf field: int32 user_id = 2
|
|
253
294
|
*/
|
|
254
295
|
userId: number;
|
|
255
296
|
/**
|
|
256
|
-
* @generated from protobuf field: resources.qualifications.ExamQuestion question = 3
|
|
297
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamQuestion question = 3
|
|
257
298
|
*/
|
|
258
299
|
question?: ExamQuestion;
|
|
259
300
|
/**
|
|
260
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseData response = 4
|
|
301
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseData response = 4
|
|
261
302
|
*/
|
|
262
303
|
response?: ExamResponseData;
|
|
263
304
|
}
|
|
264
305
|
/**
|
|
265
|
-
* @generated from protobuf message resources.qualifications.ExamResponseData
|
|
306
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseData
|
|
266
307
|
*/
|
|
267
308
|
export interface ExamResponseData {
|
|
268
309
|
/**
|
|
@@ -271,31 +312,31 @@ export interface ExamResponseData {
|
|
|
271
312
|
response: {
|
|
272
313
|
oneofKind: "separator";
|
|
273
314
|
/**
|
|
274
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseSeparator separator = 3
|
|
315
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseSeparator separator = 3
|
|
275
316
|
*/
|
|
276
317
|
separator: ExamResponseSeparator;
|
|
277
318
|
} | {
|
|
278
319
|
oneofKind: "yesno";
|
|
279
320
|
/**
|
|
280
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseYesNo yesno = 4
|
|
321
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseYesNo yesno = 4
|
|
281
322
|
*/
|
|
282
323
|
yesno: ExamResponseYesNo;
|
|
283
324
|
} | {
|
|
284
325
|
oneofKind: "freeText";
|
|
285
326
|
/**
|
|
286
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseText free_text = 5
|
|
327
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseText free_text = 5
|
|
287
328
|
*/
|
|
288
329
|
freeText: ExamResponseText;
|
|
289
330
|
} | {
|
|
290
331
|
oneofKind: "singleChoice";
|
|
291
332
|
/**
|
|
292
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseSingleChoice single_choice = 6
|
|
333
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseSingleChoice single_choice = 6
|
|
293
334
|
*/
|
|
294
335
|
singleChoice: ExamResponseSingleChoice;
|
|
295
336
|
} | {
|
|
296
337
|
oneofKind: "multipleChoice";
|
|
297
338
|
/**
|
|
298
|
-
* @generated from protobuf field: resources.qualifications.ExamResponseMultipleChoice multiple_choice = 7
|
|
339
|
+
* @generated from protobuf field: resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice = 7
|
|
299
340
|
*/
|
|
300
341
|
multipleChoice: ExamResponseMultipleChoice;
|
|
301
342
|
} | {
|
|
@@ -303,85 +344,185 @@ export interface ExamResponseData {
|
|
|
303
344
|
};
|
|
304
345
|
}
|
|
305
346
|
/**
|
|
306
|
-
* @generated from protobuf message resources.qualifications.ExamResponseSeparator
|
|
347
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseSeparator
|
|
307
348
|
*/
|
|
308
349
|
export interface ExamResponseSeparator {
|
|
309
350
|
}
|
|
310
351
|
/**
|
|
311
|
-
* @generated from protobuf message resources.qualifications.ExamResponseYesNo
|
|
352
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseYesNo
|
|
312
353
|
*/
|
|
313
354
|
export interface ExamResponseYesNo {
|
|
314
355
|
/**
|
|
315
|
-
* @generated from protobuf field: bool value = 1
|
|
356
|
+
* @generated from protobuf field: bool value = 1
|
|
316
357
|
*/
|
|
317
358
|
value: boolean;
|
|
318
359
|
}
|
|
319
360
|
/**
|
|
320
|
-
* @generated from protobuf message resources.qualifications.ExamResponseText
|
|
361
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseText
|
|
321
362
|
*/
|
|
322
363
|
export interface ExamResponseText {
|
|
323
364
|
/**
|
|
324
|
-
* @
|
|
325
|
-
*
|
|
326
|
-
* @generated from protobuf field: string text = 1;
|
|
365
|
+
* @generated from protobuf field: string text = 1
|
|
327
366
|
*/
|
|
328
367
|
text: string; // 0.5 Megabyte
|
|
329
368
|
}
|
|
330
369
|
/**
|
|
331
|
-
* @generated from protobuf message resources.qualifications.ExamResponseSingleChoice
|
|
370
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseSingleChoice
|
|
332
371
|
*/
|
|
333
372
|
export interface ExamResponseSingleChoice {
|
|
334
373
|
/**
|
|
335
|
-
* @
|
|
336
|
-
*
|
|
337
|
-
* @generated from protobuf field: string choice = 1;
|
|
374
|
+
* @generated from protobuf field: string choice = 1
|
|
338
375
|
*/
|
|
339
376
|
choice: string;
|
|
340
377
|
}
|
|
341
378
|
/**
|
|
342
|
-
* @generated from protobuf message resources.qualifications.ExamResponseMultipleChoice
|
|
379
|
+
* @generated from protobuf message resources.qualifications.exam.ExamResponseMultipleChoice
|
|
343
380
|
*/
|
|
344
381
|
export interface ExamResponseMultipleChoice {
|
|
345
382
|
/**
|
|
346
|
-
* @
|
|
347
|
-
*
|
|
348
|
-
* @generated from protobuf field: repeated string choices = 1;
|
|
383
|
+
* @generated from protobuf field: repeated string choices = 1
|
|
349
384
|
*/
|
|
350
385
|
choices: string[];
|
|
351
386
|
}
|
|
352
387
|
/**
|
|
353
|
-
* @
|
|
354
|
-
*
|
|
355
|
-
* @generated from protobuf message resources.qualifications.ExamGrading
|
|
388
|
+
* @generated from protobuf message resources.qualifications.exam.ExamGrading
|
|
356
389
|
*/
|
|
357
390
|
export interface ExamGrading {
|
|
358
391
|
/**
|
|
359
|
-
* @generated from protobuf field: repeated resources.qualifications.ExamGradingResponse responses = 1
|
|
392
|
+
* @generated from protobuf field: repeated resources.qualifications.exam.ExamGradingResponse responses = 1
|
|
360
393
|
*/
|
|
361
394
|
responses: ExamGradingResponse[];
|
|
362
395
|
}
|
|
363
396
|
/**
|
|
364
|
-
* @generated from protobuf message resources.qualifications.ExamGradingResponse
|
|
397
|
+
* @generated from protobuf message resources.qualifications.exam.ExamGradingResponse
|
|
365
398
|
*/
|
|
366
399
|
export interface ExamGradingResponse {
|
|
367
400
|
/**
|
|
368
|
-
* @generated from protobuf field:
|
|
401
|
+
* @generated from protobuf field: int64 question_id = 1
|
|
369
402
|
*/
|
|
370
403
|
questionId: number;
|
|
371
404
|
/**
|
|
372
|
-
* @generated from protobuf field: float points = 2
|
|
405
|
+
* @generated from protobuf field: float points = 2
|
|
373
406
|
*/
|
|
374
407
|
points: number;
|
|
375
408
|
/**
|
|
376
|
-
* @generated from protobuf field: optional bool checked = 3
|
|
409
|
+
* @generated from protobuf field: optional bool checked = 3
|
|
377
410
|
*/
|
|
378
411
|
checked?: boolean;
|
|
379
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();
|
|
380
521
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
381
522
|
class ExamQuestions$Type extends MessageType<ExamQuestions> {
|
|
382
523
|
constructor() {
|
|
383
|
-
super("resources.qualifications.ExamQuestions", [
|
|
384
|
-
{ no: 1, name: "questions", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ExamQuestion, options: { "validate.
|
|
524
|
+
super("resources.qualifications.exam.ExamQuestions", [
|
|
525
|
+
{ no: 1, name: "questions", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ExamQuestion, options: { "buf.validate.field": { repeated: { maxItems: "100" } } } }
|
|
385
526
|
]);
|
|
386
527
|
}
|
|
387
528
|
create(value?: PartialMessage<ExamQuestions>): ExamQuestions {
|
|
@@ -396,7 +537,7 @@ class ExamQuestions$Type extends MessageType<ExamQuestions> {
|
|
|
396
537
|
while (reader.pos < end) {
|
|
397
538
|
let [fieldNo, wireType] = reader.tag();
|
|
398
539
|
switch (fieldNo) {
|
|
399
|
-
case /* repeated resources.qualifications.ExamQuestion questions */ 1:
|
|
540
|
+
case /* repeated resources.qualifications.exam.ExamQuestion questions */ 1:
|
|
400
541
|
message.questions.push(ExamQuestion.internalBinaryRead(reader, reader.uint32(), options));
|
|
401
542
|
break;
|
|
402
543
|
default:
|
|
@@ -411,7 +552,7 @@ class ExamQuestions$Type extends MessageType<ExamQuestions> {
|
|
|
411
552
|
return message;
|
|
412
553
|
}
|
|
413
554
|
internalBinaryWrite(message: ExamQuestions, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
414
|
-
/* repeated resources.qualifications.ExamQuestion questions = 1; */
|
|
555
|
+
/* repeated resources.qualifications.exam.ExamQuestion questions = 1; */
|
|
415
556
|
for (let i = 0; i < message.questions.length; i++)
|
|
416
557
|
ExamQuestion.internalBinaryWrite(message.questions[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
|
417
558
|
let u = options.writeUnknownFields;
|
|
@@ -421,22 +562,23 @@ class ExamQuestions$Type extends MessageType<ExamQuestions> {
|
|
|
421
562
|
}
|
|
422
563
|
}
|
|
423
564
|
/**
|
|
424
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestions
|
|
565
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestions
|
|
425
566
|
*/
|
|
426
567
|
export const ExamQuestions = new ExamQuestions$Type();
|
|
427
568
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
428
569
|
class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
429
570
|
constructor() {
|
|
430
|
-
super("resources.qualifications.ExamQuestion", [
|
|
431
|
-
{ no: 1, name: "id", kind: "scalar", T:
|
|
432
|
-
{ no: 2, name: "qualification_id", kind: "scalar", T:
|
|
571
|
+
super("resources.qualifications.exam.ExamQuestion", [
|
|
572
|
+
{ no: 1, name: "id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
573
|
+
{ no: 2, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
433
574
|
{ no: 3, name: "created_at", kind: "message", T: () => Timestamp },
|
|
434
575
|
{ no: 4, name: "updated_at", kind: "message", T: () => Timestamp },
|
|
435
|
-
{ no: 5, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.
|
|
436
|
-
{ no: 6, name: "description", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.
|
|
437
|
-
{ no: 7, name: "data", kind: "message", T: () => ExamQuestionData, options: { "validate.
|
|
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 } } },
|
|
578
|
+
{ no: 7, name: "data", kind: "message", T: () => ExamQuestionData, options: { "buf.validate.field": { required: true } } },
|
|
438
579
|
{ no: 8, name: "answer", kind: "message", T: () => ExamQuestionAnswerData },
|
|
439
|
-
{ no: 9, name: "points", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.
|
|
580
|
+
{ no: 9, name: "points", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { gte: 0 } } } },
|
|
581
|
+
{ no: 10, name: "order", kind: "scalar", T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { lte: 1000, gte: 0 } } } }
|
|
440
582
|
]);
|
|
441
583
|
}
|
|
442
584
|
create(value?: PartialMessage<ExamQuestion>): ExamQuestion {
|
|
@@ -444,6 +586,7 @@ class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
|
444
586
|
message.id = 0;
|
|
445
587
|
message.qualificationId = 0;
|
|
446
588
|
message.title = "";
|
|
589
|
+
message.order = 0;
|
|
447
590
|
if (value !== undefined)
|
|
448
591
|
reflectionMergePartial<ExamQuestion>(this, message, value);
|
|
449
592
|
return message;
|
|
@@ -453,11 +596,11 @@ class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
|
453
596
|
while (reader.pos < end) {
|
|
454
597
|
let [fieldNo, wireType] = reader.tag();
|
|
455
598
|
switch (fieldNo) {
|
|
456
|
-
case /*
|
|
457
|
-
message.id = reader.
|
|
599
|
+
case /* int64 id */ 1:
|
|
600
|
+
message.id = reader.int64().toNumber();
|
|
458
601
|
break;
|
|
459
|
-
case /*
|
|
460
|
-
message.qualificationId = reader.
|
|
602
|
+
case /* int64 qualification_id */ 2:
|
|
603
|
+
message.qualificationId = reader.int64().toNumber();
|
|
461
604
|
break;
|
|
462
605
|
case /* optional resources.timestamp.Timestamp created_at */ 3:
|
|
463
606
|
message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
|
|
@@ -471,15 +614,18 @@ class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
|
471
614
|
case /* optional string description */ 6:
|
|
472
615
|
message.description = reader.string();
|
|
473
616
|
break;
|
|
474
|
-
case /* resources.qualifications.ExamQuestionData data */ 7:
|
|
617
|
+
case /* resources.qualifications.exam.ExamQuestionData data */ 7:
|
|
475
618
|
message.data = ExamQuestionData.internalBinaryRead(reader, reader.uint32(), options, message.data);
|
|
476
619
|
break;
|
|
477
|
-
case /* optional resources.qualifications.ExamQuestionAnswerData answer */ 8:
|
|
620
|
+
case /* optional resources.qualifications.exam.ExamQuestionAnswerData answer */ 8:
|
|
478
621
|
message.answer = ExamQuestionAnswerData.internalBinaryRead(reader, reader.uint32(), options, message.answer);
|
|
479
622
|
break;
|
|
480
623
|
case /* optional int32 points */ 9:
|
|
481
624
|
message.points = reader.int32();
|
|
482
625
|
break;
|
|
626
|
+
case /* int32 order */ 10:
|
|
627
|
+
message.order = reader.int32();
|
|
628
|
+
break;
|
|
483
629
|
default:
|
|
484
630
|
let u = options.readUnknownField;
|
|
485
631
|
if (u === "throw")
|
|
@@ -492,12 +638,12 @@ class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
|
492
638
|
return message;
|
|
493
639
|
}
|
|
494
640
|
internalBinaryWrite(message: ExamQuestion, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
495
|
-
/*
|
|
641
|
+
/* int64 id = 1; */
|
|
496
642
|
if (message.id !== 0)
|
|
497
|
-
writer.tag(1, WireType.Varint).
|
|
498
|
-
/*
|
|
643
|
+
writer.tag(1, WireType.Varint).int64(message.id);
|
|
644
|
+
/* int64 qualification_id = 2; */
|
|
499
645
|
if (message.qualificationId !== 0)
|
|
500
|
-
writer.tag(2, WireType.Varint).
|
|
646
|
+
writer.tag(2, WireType.Varint).int64(message.qualificationId);
|
|
501
647
|
/* optional resources.timestamp.Timestamp created_at = 3; */
|
|
502
648
|
if (message.createdAt)
|
|
503
649
|
Timestamp.internalBinaryWrite(message.createdAt, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
@@ -510,15 +656,18 @@ class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
|
510
656
|
/* optional string description = 6; */
|
|
511
657
|
if (message.description !== undefined)
|
|
512
658
|
writer.tag(6, WireType.LengthDelimited).string(message.description);
|
|
513
|
-
/* resources.qualifications.ExamQuestionData data = 7; */
|
|
659
|
+
/* resources.qualifications.exam.ExamQuestionData data = 7; */
|
|
514
660
|
if (message.data)
|
|
515
661
|
ExamQuestionData.internalBinaryWrite(message.data, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
|
|
516
|
-
/* optional resources.qualifications.ExamQuestionAnswerData answer = 8; */
|
|
662
|
+
/* optional resources.qualifications.exam.ExamQuestionAnswerData answer = 8; */
|
|
517
663
|
if (message.answer)
|
|
518
664
|
ExamQuestionAnswerData.internalBinaryWrite(message.answer, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
|
|
519
665
|
/* optional int32 points = 9; */
|
|
520
666
|
if (message.points !== undefined)
|
|
521
667
|
writer.tag(9, WireType.Varint).int32(message.points);
|
|
668
|
+
/* int32 order = 10; */
|
|
669
|
+
if (message.order !== 0)
|
|
670
|
+
writer.tag(10, WireType.Varint).int32(message.order);
|
|
522
671
|
let u = options.writeUnknownFields;
|
|
523
672
|
if (u !== false)
|
|
524
673
|
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
@@ -526,20 +675,20 @@ class ExamQuestion$Type extends MessageType<ExamQuestion> {
|
|
|
526
675
|
}
|
|
527
676
|
}
|
|
528
677
|
/**
|
|
529
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestion
|
|
678
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestion
|
|
530
679
|
*/
|
|
531
680
|
export const ExamQuestion = new ExamQuestion$Type();
|
|
532
681
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
533
682
|
class ExamQuestionData$Type extends MessageType<ExamQuestionData> {
|
|
534
683
|
constructor() {
|
|
535
|
-
super("resources.qualifications.ExamQuestionData", [
|
|
684
|
+
super("resources.qualifications.exam.ExamQuestionData", [
|
|
536
685
|
{ no: 1, name: "separator", kind: "message", oneof: "data", T: () => ExamQuestionSeparator },
|
|
537
686
|
{ no: 6, name: "image", kind: "message", oneof: "data", T: () => ExamQuestionImage },
|
|
538
687
|
{ no: 2, name: "yesno", kind: "message", oneof: "data", T: () => ExamQuestionYesNo },
|
|
539
688
|
{ no: 3, name: "free_text", kind: "message", oneof: "data", T: () => ExamQuestionText },
|
|
540
689
|
{ no: 4, name: "single_choice", kind: "message", oneof: "data", T: () => ExamQuestionSingleChoice },
|
|
541
690
|
{ no: 5, name: "multiple_choice", kind: "message", oneof: "data", T: () => ExamQuestionMultipleChoice }
|
|
542
|
-
]);
|
|
691
|
+
], { "codegen.dbscanner.dbscanner": { enabled: true } });
|
|
543
692
|
}
|
|
544
693
|
create(value?: PartialMessage<ExamQuestionData>): ExamQuestionData {
|
|
545
694
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
@@ -553,37 +702,37 @@ class ExamQuestionData$Type extends MessageType<ExamQuestionData> {
|
|
|
553
702
|
while (reader.pos < end) {
|
|
554
703
|
let [fieldNo, wireType] = reader.tag();
|
|
555
704
|
switch (fieldNo) {
|
|
556
|
-
case /* resources.qualifications.ExamQuestionSeparator separator */ 1:
|
|
705
|
+
case /* resources.qualifications.exam.ExamQuestionSeparator separator */ 1:
|
|
557
706
|
message.data = {
|
|
558
707
|
oneofKind: "separator",
|
|
559
708
|
separator: ExamQuestionSeparator.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).separator)
|
|
560
709
|
};
|
|
561
710
|
break;
|
|
562
|
-
case /* resources.qualifications.ExamQuestionImage image */ 6:
|
|
711
|
+
case /* resources.qualifications.exam.ExamQuestionImage image */ 6:
|
|
563
712
|
message.data = {
|
|
564
713
|
oneofKind: "image",
|
|
565
714
|
image: ExamQuestionImage.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).image)
|
|
566
715
|
};
|
|
567
716
|
break;
|
|
568
|
-
case /* resources.qualifications.ExamQuestionYesNo yesno */ 2:
|
|
717
|
+
case /* resources.qualifications.exam.ExamQuestionYesNo yesno */ 2:
|
|
569
718
|
message.data = {
|
|
570
719
|
oneofKind: "yesno",
|
|
571
720
|
yesno: ExamQuestionYesNo.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).yesno)
|
|
572
721
|
};
|
|
573
722
|
break;
|
|
574
|
-
case /* resources.qualifications.ExamQuestionText free_text */ 3:
|
|
723
|
+
case /* resources.qualifications.exam.ExamQuestionText free_text */ 3:
|
|
575
724
|
message.data = {
|
|
576
725
|
oneofKind: "freeText",
|
|
577
726
|
freeText: ExamQuestionText.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).freeText)
|
|
578
727
|
};
|
|
579
728
|
break;
|
|
580
|
-
case /* resources.qualifications.ExamQuestionSingleChoice single_choice */ 4:
|
|
729
|
+
case /* resources.qualifications.exam.ExamQuestionSingleChoice single_choice */ 4:
|
|
581
730
|
message.data = {
|
|
582
731
|
oneofKind: "singleChoice",
|
|
583
732
|
singleChoice: ExamQuestionSingleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).singleChoice)
|
|
584
733
|
};
|
|
585
734
|
break;
|
|
586
|
-
case /* resources.qualifications.ExamQuestionMultipleChoice multiple_choice */ 5:
|
|
735
|
+
case /* resources.qualifications.exam.ExamQuestionMultipleChoice multiple_choice */ 5:
|
|
587
736
|
message.data = {
|
|
588
737
|
oneofKind: "multipleChoice",
|
|
589
738
|
multipleChoice: ExamQuestionMultipleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.data as any).multipleChoice)
|
|
@@ -601,22 +750,22 @@ class ExamQuestionData$Type extends MessageType<ExamQuestionData> {
|
|
|
601
750
|
return message;
|
|
602
751
|
}
|
|
603
752
|
internalBinaryWrite(message: ExamQuestionData, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
604
|
-
/* resources.qualifications.ExamQuestionSeparator separator = 1; */
|
|
753
|
+
/* resources.qualifications.exam.ExamQuestionSeparator separator = 1; */
|
|
605
754
|
if (message.data.oneofKind === "separator")
|
|
606
755
|
ExamQuestionSeparator.internalBinaryWrite(message.data.separator, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
|
607
|
-
/* resources.qualifications.ExamQuestionYesNo yesno = 2; */
|
|
756
|
+
/* resources.qualifications.exam.ExamQuestionYesNo yesno = 2; */
|
|
608
757
|
if (message.data.oneofKind === "yesno")
|
|
609
758
|
ExamQuestionYesNo.internalBinaryWrite(message.data.yesno, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
|
|
610
|
-
/* resources.qualifications.ExamQuestionText free_text = 3; */
|
|
759
|
+
/* resources.qualifications.exam.ExamQuestionText free_text = 3; */
|
|
611
760
|
if (message.data.oneofKind === "freeText")
|
|
612
761
|
ExamQuestionText.internalBinaryWrite(message.data.freeText, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
613
|
-
/* resources.qualifications.ExamQuestionSingleChoice single_choice = 4; */
|
|
762
|
+
/* resources.qualifications.exam.ExamQuestionSingleChoice single_choice = 4; */
|
|
614
763
|
if (message.data.oneofKind === "singleChoice")
|
|
615
764
|
ExamQuestionSingleChoice.internalBinaryWrite(message.data.singleChoice, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
|
|
616
|
-
/* resources.qualifications.ExamQuestionMultipleChoice multiple_choice = 5; */
|
|
765
|
+
/* resources.qualifications.exam.ExamQuestionMultipleChoice multiple_choice = 5; */
|
|
617
766
|
if (message.data.oneofKind === "multipleChoice")
|
|
618
767
|
ExamQuestionMultipleChoice.internalBinaryWrite(message.data.multipleChoice, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
|
|
619
|
-
/* resources.qualifications.ExamQuestionImage image = 6; */
|
|
768
|
+
/* resources.qualifications.exam.ExamQuestionImage image = 6; */
|
|
620
769
|
if (message.data.oneofKind === "image")
|
|
621
770
|
ExamQuestionImage.internalBinaryWrite(message.data.image, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
|
|
622
771
|
let u = options.writeUnknownFields;
|
|
@@ -626,13 +775,13 @@ class ExamQuestionData$Type extends MessageType<ExamQuestionData> {
|
|
|
626
775
|
}
|
|
627
776
|
}
|
|
628
777
|
/**
|
|
629
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionData
|
|
778
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionData
|
|
630
779
|
*/
|
|
631
780
|
export const ExamQuestionData = new ExamQuestionData$Type();
|
|
632
781
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
633
782
|
class ExamQuestionSeparator$Type extends MessageType<ExamQuestionSeparator> {
|
|
634
783
|
constructor() {
|
|
635
|
-
super("resources.qualifications.ExamQuestionSeparator", []);
|
|
784
|
+
super("resources.qualifications.exam.ExamQuestionSeparator", []);
|
|
636
785
|
}
|
|
637
786
|
create(value?: PartialMessage<ExamQuestionSeparator>): ExamQuestionSeparator {
|
|
638
787
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
@@ -664,15 +813,15 @@ class ExamQuestionSeparator$Type extends MessageType<ExamQuestionSeparator> {
|
|
|
664
813
|
}
|
|
665
814
|
}
|
|
666
815
|
/**
|
|
667
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionSeparator
|
|
816
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionSeparator
|
|
668
817
|
*/
|
|
669
818
|
export const ExamQuestionSeparator = new ExamQuestionSeparator$Type();
|
|
670
819
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
671
820
|
class ExamQuestionImage$Type extends MessageType<ExamQuestionImage> {
|
|
672
821
|
constructor() {
|
|
673
|
-
super("resources.qualifications.ExamQuestionImage", [
|
|
822
|
+
super("resources.qualifications.exam.ExamQuestionImage", [
|
|
674
823
|
{ no: 1, name: "image", kind: "message", T: () => File },
|
|
675
|
-
{ no: 2, name: "alt", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "validate.
|
|
824
|
+
{ no: 2, name: "alt", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "128" } } } }
|
|
676
825
|
]);
|
|
677
826
|
}
|
|
678
827
|
create(value?: PartialMessage<ExamQuestionImage>): ExamQuestionImage {
|
|
@@ -686,7 +835,7 @@ class ExamQuestionImage$Type extends MessageType<ExamQuestionImage> {
|
|
|
686
835
|
while (reader.pos < end) {
|
|
687
836
|
let [fieldNo, wireType] = reader.tag();
|
|
688
837
|
switch (fieldNo) {
|
|
689
|
-
case /* resources.
|
|
838
|
+
case /* resources.file.File image */ 1:
|
|
690
839
|
message.image = File.internalBinaryRead(reader, reader.uint32(), options, message.image);
|
|
691
840
|
break;
|
|
692
841
|
case /* optional string alt */ 2:
|
|
@@ -704,7 +853,7 @@ class ExamQuestionImage$Type extends MessageType<ExamQuestionImage> {
|
|
|
704
853
|
return message;
|
|
705
854
|
}
|
|
706
855
|
internalBinaryWrite(message: ExamQuestionImage, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
707
|
-
/* resources.
|
|
856
|
+
/* resources.file.File image = 1; */
|
|
708
857
|
if (message.image)
|
|
709
858
|
File.internalBinaryWrite(message.image, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
|
710
859
|
/* optional string alt = 2; */
|
|
@@ -717,13 +866,13 @@ class ExamQuestionImage$Type extends MessageType<ExamQuestionImage> {
|
|
|
717
866
|
}
|
|
718
867
|
}
|
|
719
868
|
/**
|
|
720
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionImage
|
|
869
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionImage
|
|
721
870
|
*/
|
|
722
871
|
export const ExamQuestionImage = new ExamQuestionImage$Type();
|
|
723
872
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
724
873
|
class ExamQuestionYesNo$Type extends MessageType<ExamQuestionYesNo> {
|
|
725
874
|
constructor() {
|
|
726
|
-
super("resources.qualifications.ExamQuestionYesNo", []);
|
|
875
|
+
super("resources.qualifications.exam.ExamQuestionYesNo", []);
|
|
727
876
|
}
|
|
728
877
|
create(value?: PartialMessage<ExamQuestionYesNo>): ExamQuestionYesNo {
|
|
729
878
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
@@ -755,13 +904,13 @@ class ExamQuestionYesNo$Type extends MessageType<ExamQuestionYesNo> {
|
|
|
755
904
|
}
|
|
756
905
|
}
|
|
757
906
|
/**
|
|
758
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionYesNo
|
|
907
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionYesNo
|
|
759
908
|
*/
|
|
760
909
|
export const ExamQuestionYesNo = new ExamQuestionYesNo$Type();
|
|
761
910
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
762
911
|
class ExamQuestionText$Type extends MessageType<ExamQuestionText> {
|
|
763
912
|
constructor() {
|
|
764
|
-
super("resources.qualifications.ExamQuestionText", [
|
|
913
|
+
super("resources.qualifications.exam.ExamQuestionText", [
|
|
765
914
|
{ no: 1, name: "min_length", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
766
915
|
{ no: 2, name: "max_length", kind: "scalar", T: 5 /*ScalarType.INT32*/ }
|
|
767
916
|
]);
|
|
@@ -810,14 +959,14 @@ class ExamQuestionText$Type extends MessageType<ExamQuestionText> {
|
|
|
810
959
|
}
|
|
811
960
|
}
|
|
812
961
|
/**
|
|
813
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionText
|
|
962
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionText
|
|
814
963
|
*/
|
|
815
964
|
export const ExamQuestionText = new ExamQuestionText$Type();
|
|
816
965
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
817
966
|
class ExamQuestionSingleChoice$Type extends MessageType<ExamQuestionSingleChoice> {
|
|
818
967
|
constructor() {
|
|
819
|
-
super("resources.qualifications.ExamQuestionSingleChoice", [
|
|
820
|
-
{ no: 1, name: "choices", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.
|
|
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 } } }
|
|
821
970
|
]);
|
|
822
971
|
}
|
|
823
972
|
create(value?: PartialMessage<ExamQuestionSingleChoice>): ExamQuestionSingleChoice {
|
|
@@ -857,15 +1006,15 @@ class ExamQuestionSingleChoice$Type extends MessageType<ExamQuestionSingleChoice
|
|
|
857
1006
|
}
|
|
858
1007
|
}
|
|
859
1008
|
/**
|
|
860
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionSingleChoice
|
|
1009
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionSingleChoice
|
|
861
1010
|
*/
|
|
862
1011
|
export const ExamQuestionSingleChoice = new ExamQuestionSingleChoice$Type();
|
|
863
1012
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
864
1013
|
class ExamQuestionMultipleChoice$Type extends MessageType<ExamQuestionMultipleChoice> {
|
|
865
1014
|
constructor() {
|
|
866
|
-
super("resources.qualifications.ExamQuestionMultipleChoice", [
|
|
867
|
-
{ no: 1, name: "choices", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.
|
|
868
|
-
{ no: 2, name: "limit", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "validate.
|
|
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 } } },
|
|
1017
|
+
{ no: 2, name: "limit", kind: "scalar", opt: true, T: 5 /*ScalarType.INT32*/, options: { "buf.validate.field": { int32: { lte: 10, gte: 0 } } } }
|
|
869
1018
|
]);
|
|
870
1019
|
}
|
|
871
1020
|
create(value?: PartialMessage<ExamQuestionMultipleChoice>): ExamQuestionMultipleChoice {
|
|
@@ -911,19 +1060,24 @@ class ExamQuestionMultipleChoice$Type extends MessageType<ExamQuestionMultipleCh
|
|
|
911
1060
|
}
|
|
912
1061
|
}
|
|
913
1062
|
/**
|
|
914
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionMultipleChoice
|
|
1063
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionMultipleChoice
|
|
915
1064
|
*/
|
|
916
1065
|
export const ExamQuestionMultipleChoice = new ExamQuestionMultipleChoice$Type();
|
|
917
1066
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
918
1067
|
class ExamQuestionAnswerData$Type extends MessageType<ExamQuestionAnswerData> {
|
|
919
1068
|
constructor() {
|
|
920
|
-
super("resources.qualifications.ExamQuestionAnswerData", [
|
|
921
|
-
{ no: 1, name: "answer_key", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.
|
|
922
|
-
|
|
1069
|
+
super("resources.qualifications.exam.ExamQuestionAnswerData", [
|
|
1070
|
+
{ no: 1, name: "answer_key", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "buf.validate.field": { string: { maxLen: "1024" } } } },
|
|
1071
|
+
{ no: 4, name: "yesno", kind: "message", oneof: "answer", T: () => ExamResponseYesNo },
|
|
1072
|
+
{ no: 5, name: "free_text", kind: "message", oneof: "answer", T: () => ExamResponseText },
|
|
1073
|
+
{ no: 6, name: "single_choice", kind: "message", oneof: "answer", T: () => ExamResponseSingleChoice },
|
|
1074
|
+
{ no: 7, name: "multiple_choice", kind: "message", oneof: "answer", T: () => ExamResponseMultipleChoice }
|
|
1075
|
+
], { "codegen.dbscanner.dbscanner": { enabled: true } });
|
|
923
1076
|
}
|
|
924
1077
|
create(value?: PartialMessage<ExamQuestionAnswerData>): ExamQuestionAnswerData {
|
|
925
1078
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
926
1079
|
message.answerKey = "";
|
|
1080
|
+
message.answer = { oneofKind: undefined };
|
|
927
1081
|
if (value !== undefined)
|
|
928
1082
|
reflectionMergePartial<ExamQuestionAnswerData>(this, message, value);
|
|
929
1083
|
return message;
|
|
@@ -936,6 +1090,30 @@ class ExamQuestionAnswerData$Type extends MessageType<ExamQuestionAnswerData> {
|
|
|
936
1090
|
case /* string answer_key */ 1:
|
|
937
1091
|
message.answerKey = reader.string();
|
|
938
1092
|
break;
|
|
1093
|
+
case /* resources.qualifications.exam.ExamResponseYesNo yesno */ 4:
|
|
1094
|
+
message.answer = {
|
|
1095
|
+
oneofKind: "yesno",
|
|
1096
|
+
yesno: ExamResponseYesNo.internalBinaryRead(reader, reader.uint32(), options, (message.answer as any).yesno)
|
|
1097
|
+
};
|
|
1098
|
+
break;
|
|
1099
|
+
case /* resources.qualifications.exam.ExamResponseText free_text */ 5:
|
|
1100
|
+
message.answer = {
|
|
1101
|
+
oneofKind: "freeText",
|
|
1102
|
+
freeText: ExamResponseText.internalBinaryRead(reader, reader.uint32(), options, (message.answer as any).freeText)
|
|
1103
|
+
};
|
|
1104
|
+
break;
|
|
1105
|
+
case /* resources.qualifications.exam.ExamResponseSingleChoice single_choice */ 6:
|
|
1106
|
+
message.answer = {
|
|
1107
|
+
oneofKind: "singleChoice",
|
|
1108
|
+
singleChoice: ExamResponseSingleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.answer as any).singleChoice)
|
|
1109
|
+
};
|
|
1110
|
+
break;
|
|
1111
|
+
case /* resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice */ 7:
|
|
1112
|
+
message.answer = {
|
|
1113
|
+
oneofKind: "multipleChoice",
|
|
1114
|
+
multipleChoice: ExamResponseMultipleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.answer as any).multipleChoice)
|
|
1115
|
+
};
|
|
1116
|
+
break;
|
|
939
1117
|
default:
|
|
940
1118
|
let u = options.readUnknownField;
|
|
941
1119
|
if (u === "throw")
|
|
@@ -951,6 +1129,18 @@ class ExamQuestionAnswerData$Type extends MessageType<ExamQuestionAnswerData> {
|
|
|
951
1129
|
/* string answer_key = 1; */
|
|
952
1130
|
if (message.answerKey !== "")
|
|
953
1131
|
writer.tag(1, WireType.LengthDelimited).string(message.answerKey);
|
|
1132
|
+
/* resources.qualifications.exam.ExamResponseYesNo yesno = 4; */
|
|
1133
|
+
if (message.answer.oneofKind === "yesno")
|
|
1134
|
+
ExamResponseYesNo.internalBinaryWrite(message.answer.yesno, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
|
|
1135
|
+
/* resources.qualifications.exam.ExamResponseText free_text = 5; */
|
|
1136
|
+
if (message.answer.oneofKind === "freeText")
|
|
1137
|
+
ExamResponseText.internalBinaryWrite(message.answer.freeText, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
|
|
1138
|
+
/* resources.qualifications.exam.ExamResponseSingleChoice single_choice = 6; */
|
|
1139
|
+
if (message.answer.oneofKind === "singleChoice")
|
|
1140
|
+
ExamResponseSingleChoice.internalBinaryWrite(message.answer.singleChoice, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
|
|
1141
|
+
/* resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice = 7; */
|
|
1142
|
+
if (message.answer.oneofKind === "multipleChoice")
|
|
1143
|
+
ExamResponseMultipleChoice.internalBinaryWrite(message.answer.multipleChoice, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
|
|
954
1144
|
let u = options.writeUnknownFields;
|
|
955
1145
|
if (u !== false)
|
|
956
1146
|
(u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
|
|
@@ -958,14 +1148,14 @@ class ExamQuestionAnswerData$Type extends MessageType<ExamQuestionAnswerData> {
|
|
|
958
1148
|
}
|
|
959
1149
|
}
|
|
960
1150
|
/**
|
|
961
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamQuestionAnswerData
|
|
1151
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamQuestionAnswerData
|
|
962
1152
|
*/
|
|
963
1153
|
export const ExamQuestionAnswerData = new ExamQuestionAnswerData$Type();
|
|
964
1154
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
965
1155
|
class ExamUser$Type extends MessageType<ExamUser> {
|
|
966
1156
|
constructor() {
|
|
967
|
-
super("resources.qualifications.ExamUser", [
|
|
968
|
-
{ no: 1, name: "qualification_id", kind: "scalar", T:
|
|
1157
|
+
super("resources.qualifications.exam.ExamUser", [
|
|
1158
|
+
{ no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
969
1159
|
{ no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
970
1160
|
{ no: 3, name: "created_at", kind: "message", T: () => Timestamp },
|
|
971
1161
|
{ no: 4, name: "started_at", kind: "message", T: () => Timestamp },
|
|
@@ -986,8 +1176,8 @@ class ExamUser$Type extends MessageType<ExamUser> {
|
|
|
986
1176
|
while (reader.pos < end) {
|
|
987
1177
|
let [fieldNo, wireType] = reader.tag();
|
|
988
1178
|
switch (fieldNo) {
|
|
989
|
-
case /*
|
|
990
|
-
message.qualificationId = reader.
|
|
1179
|
+
case /* int64 qualification_id */ 1:
|
|
1180
|
+
message.qualificationId = reader.int64().toNumber();
|
|
991
1181
|
break;
|
|
992
1182
|
case /* int32 user_id */ 2:
|
|
993
1183
|
message.userId = reader.int32();
|
|
@@ -1016,9 +1206,9 @@ class ExamUser$Type extends MessageType<ExamUser> {
|
|
|
1016
1206
|
return message;
|
|
1017
1207
|
}
|
|
1018
1208
|
internalBinaryWrite(message: ExamUser, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
1019
|
-
/*
|
|
1209
|
+
/* int64 qualification_id = 1; */
|
|
1020
1210
|
if (message.qualificationId !== 0)
|
|
1021
|
-
writer.tag(1, WireType.Varint).
|
|
1211
|
+
writer.tag(1, WireType.Varint).int64(message.qualificationId);
|
|
1022
1212
|
/* int32 user_id = 2; */
|
|
1023
1213
|
if (message.userId !== 0)
|
|
1024
1214
|
writer.tag(2, WireType.Varint).int32(message.userId);
|
|
@@ -1041,17 +1231,17 @@ class ExamUser$Type extends MessageType<ExamUser> {
|
|
|
1041
1231
|
}
|
|
1042
1232
|
}
|
|
1043
1233
|
/**
|
|
1044
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamUser
|
|
1234
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamUser
|
|
1045
1235
|
*/
|
|
1046
1236
|
export const ExamUser = new ExamUser$Type();
|
|
1047
1237
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1048
1238
|
class ExamResponses$Type extends MessageType<ExamResponses> {
|
|
1049
1239
|
constructor() {
|
|
1050
|
-
super("resources.qualifications.ExamResponses", [
|
|
1051
|
-
{ no: 1, name: "qualification_id", kind: "scalar", T:
|
|
1240
|
+
super("resources.qualifications.exam.ExamResponses", [
|
|
1241
|
+
{ no: 1, name: "qualification_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
1052
1242
|
{ no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
1053
|
-
{ no: 3, name: "responses", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ExamResponse, options: { "validate.
|
|
1054
|
-
]);
|
|
1243
|
+
{ no: 3, name: "responses", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ExamResponse, options: { "buf.validate.field": { repeated: { maxItems: "100" } } } }
|
|
1244
|
+
], { "codegen.dbscanner.dbscanner": { enabled: true } });
|
|
1055
1245
|
}
|
|
1056
1246
|
create(value?: PartialMessage<ExamResponses>): ExamResponses {
|
|
1057
1247
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
@@ -1067,13 +1257,13 @@ class ExamResponses$Type extends MessageType<ExamResponses> {
|
|
|
1067
1257
|
while (reader.pos < end) {
|
|
1068
1258
|
let [fieldNo, wireType] = reader.tag();
|
|
1069
1259
|
switch (fieldNo) {
|
|
1070
|
-
case /*
|
|
1071
|
-
message.qualificationId = reader.
|
|
1260
|
+
case /* int64 qualification_id */ 1:
|
|
1261
|
+
message.qualificationId = reader.int64().toNumber();
|
|
1072
1262
|
break;
|
|
1073
1263
|
case /* int32 user_id */ 2:
|
|
1074
1264
|
message.userId = reader.int32();
|
|
1075
1265
|
break;
|
|
1076
|
-
case /* repeated resources.qualifications.ExamResponse responses */ 3:
|
|
1266
|
+
case /* repeated resources.qualifications.exam.ExamResponse responses */ 3:
|
|
1077
1267
|
message.responses.push(ExamResponse.internalBinaryRead(reader, reader.uint32(), options));
|
|
1078
1268
|
break;
|
|
1079
1269
|
default:
|
|
@@ -1088,13 +1278,13 @@ class ExamResponses$Type extends MessageType<ExamResponses> {
|
|
|
1088
1278
|
return message;
|
|
1089
1279
|
}
|
|
1090
1280
|
internalBinaryWrite(message: ExamResponses, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
1091
|
-
/*
|
|
1281
|
+
/* int64 qualification_id = 1; */
|
|
1092
1282
|
if (message.qualificationId !== 0)
|
|
1093
|
-
writer.tag(1, WireType.Varint).
|
|
1283
|
+
writer.tag(1, WireType.Varint).int64(message.qualificationId);
|
|
1094
1284
|
/* int32 user_id = 2; */
|
|
1095
1285
|
if (message.userId !== 0)
|
|
1096
1286
|
writer.tag(2, WireType.Varint).int32(message.userId);
|
|
1097
|
-
/* repeated resources.qualifications.ExamResponse responses = 3; */
|
|
1287
|
+
/* repeated resources.qualifications.exam.ExamResponse responses = 3; */
|
|
1098
1288
|
for (let i = 0; i < message.responses.length; i++)
|
|
1099
1289
|
ExamResponse.internalBinaryWrite(message.responses[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
1100
1290
|
let u = options.writeUnknownFields;
|
|
@@ -1104,14 +1294,14 @@ class ExamResponses$Type extends MessageType<ExamResponses> {
|
|
|
1104
1294
|
}
|
|
1105
1295
|
}
|
|
1106
1296
|
/**
|
|
1107
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponses
|
|
1297
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponses
|
|
1108
1298
|
*/
|
|
1109
1299
|
export const ExamResponses = new ExamResponses$Type();
|
|
1110
1300
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1111
1301
|
class ExamResponse$Type extends MessageType<ExamResponse> {
|
|
1112
1302
|
constructor() {
|
|
1113
|
-
super("resources.qualifications.ExamResponse", [
|
|
1114
|
-
{ no: 1, name: "question_id", kind: "scalar", T:
|
|
1303
|
+
super("resources.qualifications.exam.ExamResponse", [
|
|
1304
|
+
{ no: 1, name: "question_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
1115
1305
|
{ no: 2, name: "user_id", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
|
|
1116
1306
|
{ no: 3, name: "question", kind: "message", T: () => ExamQuestion },
|
|
1117
1307
|
{ no: 4, name: "response", kind: "message", T: () => ExamResponseData }
|
|
@@ -1130,16 +1320,16 @@ class ExamResponse$Type extends MessageType<ExamResponse> {
|
|
|
1130
1320
|
while (reader.pos < end) {
|
|
1131
1321
|
let [fieldNo, wireType] = reader.tag();
|
|
1132
1322
|
switch (fieldNo) {
|
|
1133
|
-
case /*
|
|
1134
|
-
message.questionId = reader.
|
|
1323
|
+
case /* int64 question_id */ 1:
|
|
1324
|
+
message.questionId = reader.int64().toNumber();
|
|
1135
1325
|
break;
|
|
1136
1326
|
case /* int32 user_id */ 2:
|
|
1137
1327
|
message.userId = reader.int32();
|
|
1138
1328
|
break;
|
|
1139
|
-
case /* resources.qualifications.ExamQuestion question */ 3:
|
|
1329
|
+
case /* resources.qualifications.exam.ExamQuestion question */ 3:
|
|
1140
1330
|
message.question = ExamQuestion.internalBinaryRead(reader, reader.uint32(), options, message.question);
|
|
1141
1331
|
break;
|
|
1142
|
-
case /* resources.qualifications.ExamResponseData response */ 4:
|
|
1332
|
+
case /* resources.qualifications.exam.ExamResponseData response */ 4:
|
|
1143
1333
|
message.response = ExamResponseData.internalBinaryRead(reader, reader.uint32(), options, message.response);
|
|
1144
1334
|
break;
|
|
1145
1335
|
default:
|
|
@@ -1154,16 +1344,16 @@ class ExamResponse$Type extends MessageType<ExamResponse> {
|
|
|
1154
1344
|
return message;
|
|
1155
1345
|
}
|
|
1156
1346
|
internalBinaryWrite(message: ExamResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
1157
|
-
/*
|
|
1347
|
+
/* int64 question_id = 1; */
|
|
1158
1348
|
if (message.questionId !== 0)
|
|
1159
|
-
writer.tag(1, WireType.Varint).
|
|
1349
|
+
writer.tag(1, WireType.Varint).int64(message.questionId);
|
|
1160
1350
|
/* int32 user_id = 2; */
|
|
1161
1351
|
if (message.userId !== 0)
|
|
1162
1352
|
writer.tag(2, WireType.Varint).int32(message.userId);
|
|
1163
|
-
/* resources.qualifications.ExamQuestion question = 3; */
|
|
1353
|
+
/* resources.qualifications.exam.ExamQuestion question = 3; */
|
|
1164
1354
|
if (message.question)
|
|
1165
1355
|
ExamQuestion.internalBinaryWrite(message.question, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
1166
|
-
/* resources.qualifications.ExamResponseData response = 4; */
|
|
1356
|
+
/* resources.qualifications.exam.ExamResponseData response = 4; */
|
|
1167
1357
|
if (message.response)
|
|
1168
1358
|
ExamResponseData.internalBinaryWrite(message.response, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
|
|
1169
1359
|
let u = options.writeUnknownFields;
|
|
@@ -1173,13 +1363,13 @@ class ExamResponse$Type extends MessageType<ExamResponse> {
|
|
|
1173
1363
|
}
|
|
1174
1364
|
}
|
|
1175
1365
|
/**
|
|
1176
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponse
|
|
1366
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponse
|
|
1177
1367
|
*/
|
|
1178
1368
|
export const ExamResponse = new ExamResponse$Type();
|
|
1179
1369
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1180
1370
|
class ExamResponseData$Type extends MessageType<ExamResponseData> {
|
|
1181
1371
|
constructor() {
|
|
1182
|
-
super("resources.qualifications.ExamResponseData", [
|
|
1372
|
+
super("resources.qualifications.exam.ExamResponseData", [
|
|
1183
1373
|
{ no: 3, name: "separator", kind: "message", oneof: "response", T: () => ExamResponseSeparator },
|
|
1184
1374
|
{ no: 4, name: "yesno", kind: "message", oneof: "response", T: () => ExamResponseYesNo },
|
|
1185
1375
|
{ no: 5, name: "free_text", kind: "message", oneof: "response", T: () => ExamResponseText },
|
|
@@ -1199,31 +1389,31 @@ class ExamResponseData$Type extends MessageType<ExamResponseData> {
|
|
|
1199
1389
|
while (reader.pos < end) {
|
|
1200
1390
|
let [fieldNo, wireType] = reader.tag();
|
|
1201
1391
|
switch (fieldNo) {
|
|
1202
|
-
case /* resources.qualifications.ExamResponseSeparator separator */ 3:
|
|
1392
|
+
case /* resources.qualifications.exam.ExamResponseSeparator separator */ 3:
|
|
1203
1393
|
message.response = {
|
|
1204
1394
|
oneofKind: "separator",
|
|
1205
1395
|
separator: ExamResponseSeparator.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).separator)
|
|
1206
1396
|
};
|
|
1207
1397
|
break;
|
|
1208
|
-
case /* resources.qualifications.ExamResponseYesNo yesno */ 4:
|
|
1398
|
+
case /* resources.qualifications.exam.ExamResponseYesNo yesno */ 4:
|
|
1209
1399
|
message.response = {
|
|
1210
1400
|
oneofKind: "yesno",
|
|
1211
1401
|
yesno: ExamResponseYesNo.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).yesno)
|
|
1212
1402
|
};
|
|
1213
1403
|
break;
|
|
1214
|
-
case /* resources.qualifications.ExamResponseText free_text */ 5:
|
|
1404
|
+
case /* resources.qualifications.exam.ExamResponseText free_text */ 5:
|
|
1215
1405
|
message.response = {
|
|
1216
1406
|
oneofKind: "freeText",
|
|
1217
1407
|
freeText: ExamResponseText.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).freeText)
|
|
1218
1408
|
};
|
|
1219
1409
|
break;
|
|
1220
|
-
case /* resources.qualifications.ExamResponseSingleChoice single_choice */ 6:
|
|
1410
|
+
case /* resources.qualifications.exam.ExamResponseSingleChoice single_choice */ 6:
|
|
1221
1411
|
message.response = {
|
|
1222
1412
|
oneofKind: "singleChoice",
|
|
1223
1413
|
singleChoice: ExamResponseSingleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).singleChoice)
|
|
1224
1414
|
};
|
|
1225
1415
|
break;
|
|
1226
|
-
case /* resources.qualifications.ExamResponseMultipleChoice multiple_choice */ 7:
|
|
1416
|
+
case /* resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice */ 7:
|
|
1227
1417
|
message.response = {
|
|
1228
1418
|
oneofKind: "multipleChoice",
|
|
1229
1419
|
multipleChoice: ExamResponseMultipleChoice.internalBinaryRead(reader, reader.uint32(), options, (message.response as any).multipleChoice)
|
|
@@ -1241,19 +1431,19 @@ class ExamResponseData$Type extends MessageType<ExamResponseData> {
|
|
|
1241
1431
|
return message;
|
|
1242
1432
|
}
|
|
1243
1433
|
internalBinaryWrite(message: ExamResponseData, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
1244
|
-
/* resources.qualifications.ExamResponseSeparator separator = 3; */
|
|
1434
|
+
/* resources.qualifications.exam.ExamResponseSeparator separator = 3; */
|
|
1245
1435
|
if (message.response.oneofKind === "separator")
|
|
1246
1436
|
ExamResponseSeparator.internalBinaryWrite(message.response.separator, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
|
|
1247
|
-
/* resources.qualifications.ExamResponseYesNo yesno = 4; */
|
|
1437
|
+
/* resources.qualifications.exam.ExamResponseYesNo yesno = 4; */
|
|
1248
1438
|
if (message.response.oneofKind === "yesno")
|
|
1249
1439
|
ExamResponseYesNo.internalBinaryWrite(message.response.yesno, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
|
|
1250
|
-
/* resources.qualifications.ExamResponseText free_text = 5; */
|
|
1440
|
+
/* resources.qualifications.exam.ExamResponseText free_text = 5; */
|
|
1251
1441
|
if (message.response.oneofKind === "freeText")
|
|
1252
1442
|
ExamResponseText.internalBinaryWrite(message.response.freeText, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
|
|
1253
|
-
/* resources.qualifications.ExamResponseSingleChoice single_choice = 6; */
|
|
1443
|
+
/* resources.qualifications.exam.ExamResponseSingleChoice single_choice = 6; */
|
|
1254
1444
|
if (message.response.oneofKind === "singleChoice")
|
|
1255
1445
|
ExamResponseSingleChoice.internalBinaryWrite(message.response.singleChoice, writer.tag(6, WireType.LengthDelimited).fork(), options).join();
|
|
1256
|
-
/* resources.qualifications.ExamResponseMultipleChoice multiple_choice = 7; */
|
|
1446
|
+
/* resources.qualifications.exam.ExamResponseMultipleChoice multiple_choice = 7; */
|
|
1257
1447
|
if (message.response.oneofKind === "multipleChoice")
|
|
1258
1448
|
ExamResponseMultipleChoice.internalBinaryWrite(message.response.multipleChoice, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
|
|
1259
1449
|
let u = options.writeUnknownFields;
|
|
@@ -1263,13 +1453,13 @@ class ExamResponseData$Type extends MessageType<ExamResponseData> {
|
|
|
1263
1453
|
}
|
|
1264
1454
|
}
|
|
1265
1455
|
/**
|
|
1266
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseData
|
|
1456
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseData
|
|
1267
1457
|
*/
|
|
1268
1458
|
export const ExamResponseData = new ExamResponseData$Type();
|
|
1269
1459
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1270
1460
|
class ExamResponseSeparator$Type extends MessageType<ExamResponseSeparator> {
|
|
1271
1461
|
constructor() {
|
|
1272
|
-
super("resources.qualifications.ExamResponseSeparator", []);
|
|
1462
|
+
super("resources.qualifications.exam.ExamResponseSeparator", []);
|
|
1273
1463
|
}
|
|
1274
1464
|
create(value?: PartialMessage<ExamResponseSeparator>): ExamResponseSeparator {
|
|
1275
1465
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
@@ -1301,13 +1491,13 @@ class ExamResponseSeparator$Type extends MessageType<ExamResponseSeparator> {
|
|
|
1301
1491
|
}
|
|
1302
1492
|
}
|
|
1303
1493
|
/**
|
|
1304
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseSeparator
|
|
1494
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseSeparator
|
|
1305
1495
|
*/
|
|
1306
1496
|
export const ExamResponseSeparator = new ExamResponseSeparator$Type();
|
|
1307
1497
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1308
1498
|
class ExamResponseYesNo$Type extends MessageType<ExamResponseYesNo> {
|
|
1309
1499
|
constructor() {
|
|
1310
|
-
super("resources.qualifications.ExamResponseYesNo", [
|
|
1500
|
+
super("resources.qualifications.exam.ExamResponseYesNo", [
|
|
1311
1501
|
{ no: 1, name: "value", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
|
|
1312
1502
|
]);
|
|
1313
1503
|
}
|
|
@@ -1348,14 +1538,14 @@ class ExamResponseYesNo$Type extends MessageType<ExamResponseYesNo> {
|
|
|
1348
1538
|
}
|
|
1349
1539
|
}
|
|
1350
1540
|
/**
|
|
1351
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseYesNo
|
|
1541
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseYesNo
|
|
1352
1542
|
*/
|
|
1353
1543
|
export const ExamResponseYesNo = new ExamResponseYesNo$Type();
|
|
1354
1544
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1355
1545
|
class ExamResponseText$Type extends MessageType<ExamResponseText> {
|
|
1356
1546
|
constructor() {
|
|
1357
|
-
super("resources.qualifications.ExamResponseText", [
|
|
1358
|
-
{ no: 1, name: "text", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.
|
|
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 } } }
|
|
1359
1549
|
]);
|
|
1360
1550
|
}
|
|
1361
1551
|
create(value?: PartialMessage<ExamResponseText>): ExamResponseText {
|
|
@@ -1395,14 +1585,14 @@ class ExamResponseText$Type extends MessageType<ExamResponseText> {
|
|
|
1395
1585
|
}
|
|
1396
1586
|
}
|
|
1397
1587
|
/**
|
|
1398
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseText
|
|
1588
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseText
|
|
1399
1589
|
*/
|
|
1400
1590
|
export const ExamResponseText = new ExamResponseText$Type();
|
|
1401
1591
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1402
1592
|
class ExamResponseSingleChoice$Type extends MessageType<ExamResponseSingleChoice> {
|
|
1403
1593
|
constructor() {
|
|
1404
|
-
super("resources.qualifications.ExamResponseSingleChoice", [
|
|
1405
|
-
{ no: 1, name: "choice", kind: "scalar", T: 9 /*ScalarType.STRING*/, options: { "validate.
|
|
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 } } }
|
|
1406
1596
|
]);
|
|
1407
1597
|
}
|
|
1408
1598
|
create(value?: PartialMessage<ExamResponseSingleChoice>): ExamResponseSingleChoice {
|
|
@@ -1442,14 +1632,14 @@ class ExamResponseSingleChoice$Type extends MessageType<ExamResponseSingleChoice
|
|
|
1442
1632
|
}
|
|
1443
1633
|
}
|
|
1444
1634
|
/**
|
|
1445
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseSingleChoice
|
|
1635
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseSingleChoice
|
|
1446
1636
|
*/
|
|
1447
1637
|
export const ExamResponseSingleChoice = new ExamResponseSingleChoice$Type();
|
|
1448
1638
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1449
1639
|
class ExamResponseMultipleChoice$Type extends MessageType<ExamResponseMultipleChoice> {
|
|
1450
1640
|
constructor() {
|
|
1451
|
-
super("resources.qualifications.ExamResponseMultipleChoice", [
|
|
1452
|
-
{ no: 1, name: "choices", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.
|
|
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 } } }
|
|
1453
1643
|
]);
|
|
1454
1644
|
}
|
|
1455
1645
|
create(value?: PartialMessage<ExamResponseMultipleChoice>): ExamResponseMultipleChoice {
|
|
@@ -1489,15 +1679,15 @@ class ExamResponseMultipleChoice$Type extends MessageType<ExamResponseMultipleCh
|
|
|
1489
1679
|
}
|
|
1490
1680
|
}
|
|
1491
1681
|
/**
|
|
1492
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamResponseMultipleChoice
|
|
1682
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamResponseMultipleChoice
|
|
1493
1683
|
*/
|
|
1494
1684
|
export const ExamResponseMultipleChoice = new ExamResponseMultipleChoice$Type();
|
|
1495
1685
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1496
1686
|
class ExamGrading$Type extends MessageType<ExamGrading> {
|
|
1497
1687
|
constructor() {
|
|
1498
|
-
super("resources.qualifications.ExamGrading", [
|
|
1499
|
-
{ no: 1, name: "responses", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ExamGradingResponse, options: { "validate.
|
|
1500
|
-
]);
|
|
1688
|
+
super("resources.qualifications.exam.ExamGrading", [
|
|
1689
|
+
{ no: 1, name: "responses", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ExamGradingResponse, options: { "buf.validate.field": { repeated: { maxItems: "100" } } } }
|
|
1690
|
+
], { "codegen.dbscanner.dbscanner": { enabled: true } });
|
|
1501
1691
|
}
|
|
1502
1692
|
create(value?: PartialMessage<ExamGrading>): ExamGrading {
|
|
1503
1693
|
const message = globalThis.Object.create((this.messagePrototype!));
|
|
@@ -1511,7 +1701,7 @@ class ExamGrading$Type extends MessageType<ExamGrading> {
|
|
|
1511
1701
|
while (reader.pos < end) {
|
|
1512
1702
|
let [fieldNo, wireType] = reader.tag();
|
|
1513
1703
|
switch (fieldNo) {
|
|
1514
|
-
case /* repeated resources.qualifications.ExamGradingResponse responses */ 1:
|
|
1704
|
+
case /* repeated resources.qualifications.exam.ExamGradingResponse responses */ 1:
|
|
1515
1705
|
message.responses.push(ExamGradingResponse.internalBinaryRead(reader, reader.uint32(), options));
|
|
1516
1706
|
break;
|
|
1517
1707
|
default:
|
|
@@ -1526,7 +1716,7 @@ class ExamGrading$Type extends MessageType<ExamGrading> {
|
|
|
1526
1716
|
return message;
|
|
1527
1717
|
}
|
|
1528
1718
|
internalBinaryWrite(message: ExamGrading, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
1529
|
-
/* repeated resources.qualifications.ExamGradingResponse responses = 1; */
|
|
1719
|
+
/* repeated resources.qualifications.exam.ExamGradingResponse responses = 1; */
|
|
1530
1720
|
for (let i = 0; i < message.responses.length; i++)
|
|
1531
1721
|
ExamGradingResponse.internalBinaryWrite(message.responses[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
|
|
1532
1722
|
let u = options.writeUnknownFields;
|
|
@@ -1536,15 +1726,15 @@ class ExamGrading$Type extends MessageType<ExamGrading> {
|
|
|
1536
1726
|
}
|
|
1537
1727
|
}
|
|
1538
1728
|
/**
|
|
1539
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamGrading
|
|
1729
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamGrading
|
|
1540
1730
|
*/
|
|
1541
1731
|
export const ExamGrading = new ExamGrading$Type();
|
|
1542
1732
|
// @generated message type with reflection information, may provide speed optimized methods
|
|
1543
1733
|
class ExamGradingResponse$Type extends MessageType<ExamGradingResponse> {
|
|
1544
1734
|
constructor() {
|
|
1545
|
-
super("resources.qualifications.ExamGradingResponse", [
|
|
1546
|
-
{ no: 1, name: "question_id", kind: "scalar", T:
|
|
1547
|
-
{ no: 2, name: "points", kind: "scalar", T: 2 /*ScalarType.FLOAT*/, options: { "validate.
|
|
1735
|
+
super("resources.qualifications.exam.ExamGradingResponse", [
|
|
1736
|
+
{ no: 1, name: "question_id", kind: "scalar", T: 3 /*ScalarType.INT64*/, L: 2 /*LongType.NUMBER*/ },
|
|
1737
|
+
{ no: 2, name: "points", kind: "scalar", T: 2 /*ScalarType.FLOAT*/, options: { "buf.validate.field": { float: { lte: 1000, gte: 0 } } } },
|
|
1548
1738
|
{ no: 3, name: "checked", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ }
|
|
1549
1739
|
]);
|
|
1550
1740
|
}
|
|
@@ -1561,8 +1751,8 @@ class ExamGradingResponse$Type extends MessageType<ExamGradingResponse> {
|
|
|
1561
1751
|
while (reader.pos < end) {
|
|
1562
1752
|
let [fieldNo, wireType] = reader.tag();
|
|
1563
1753
|
switch (fieldNo) {
|
|
1564
|
-
case /*
|
|
1565
|
-
message.questionId = reader.
|
|
1754
|
+
case /* int64 question_id */ 1:
|
|
1755
|
+
message.questionId = reader.int64().toNumber();
|
|
1566
1756
|
break;
|
|
1567
1757
|
case /* float points */ 2:
|
|
1568
1758
|
message.points = reader.float();
|
|
@@ -1582,9 +1772,9 @@ class ExamGradingResponse$Type extends MessageType<ExamGradingResponse> {
|
|
|
1582
1772
|
return message;
|
|
1583
1773
|
}
|
|
1584
1774
|
internalBinaryWrite(message: ExamGradingResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
|
|
1585
|
-
/*
|
|
1775
|
+
/* int64 question_id = 1; */
|
|
1586
1776
|
if (message.questionId !== 0)
|
|
1587
|
-
writer.tag(1, WireType.Varint).
|
|
1777
|
+
writer.tag(1, WireType.Varint).int64(message.questionId);
|
|
1588
1778
|
/* float points = 2; */
|
|
1589
1779
|
if (message.points !== 0)
|
|
1590
1780
|
writer.tag(2, WireType.Bit32).float(message.points);
|
|
@@ -1598,6 +1788,6 @@ class ExamGradingResponse$Type extends MessageType<ExamGradingResponse> {
|
|
|
1598
1788
|
}
|
|
1599
1789
|
}
|
|
1600
1790
|
/**
|
|
1601
|
-
* @generated MessageType for protobuf message resources.qualifications.ExamGradingResponse
|
|
1791
|
+
* @generated MessageType for protobuf message resources.qualifications.exam.ExamGradingResponse
|
|
1602
1792
|
*/
|
|
1603
1793
|
export const ExamGradingResponse = new ExamGradingResponse$Type();
|