@wix/auto_sdk_online-programs_quizzes 1.0.26 → 1.0.27
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/build/cjs/index.d.ts +52 -20
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.d.ts +159 -72
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +109 -54
- package/build/cjs/meta.js.map +1 -1
- package/build/es/index.d.mts +52 -20
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +159 -72
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +109 -54
- package/build/es/meta.mjs.map +1 -1
- package/build/internal/cjs/index.d.ts +52 -20
- package/build/internal/cjs/index.typings.d.ts +159 -72
- package/build/internal/cjs/meta.d.ts +109 -54
- package/build/internal/es/index.d.mts +52 -20
- package/build/internal/es/index.typings.d.mts +159 -72
- package/build/internal/es/meta.d.mts +109 -54
- package/package.json +2 -2
|
@@ -1,31 +1,40 @@
|
|
|
1
1
|
import { NonNullablePaths } from '@wix/sdk-types';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* A quiz definition used by an Online Programs quiz step.
|
|
5
|
+
*
|
|
6
|
+
* Create or clone a quiz, then assign the returned quiz ID to `step.quizOptions.id` when creating an Online Programs step. Quiz IDs are intentionally discovered through quiz-type steps rather than through a Quiz list or query method.
|
|
7
|
+
*
|
|
8
|
+
* New submissions are evaluated against the quiz definition that exists when the submission is created. Previously stored submissions retain their recorded grades and answer evaluations if the definition changes later.
|
|
9
|
+
*
|
|
10
|
+
* NOT-PRECEDENT: The production v1 entity retains its legacy `wix.achievements.quizzes.v1.quiz` identity for compatibility. The Online Programs placement and workflow described here provide its public product context.
|
|
11
|
+
*/
|
|
3
12
|
interface Quiz {
|
|
4
13
|
/**
|
|
5
|
-
* ID
|
|
14
|
+
* Quiz ID.
|
|
6
15
|
* @format GUID
|
|
7
16
|
* @readonly
|
|
8
17
|
*/
|
|
9
18
|
_id?: string | null;
|
|
10
|
-
/** Quiz settings */
|
|
19
|
+
/** Quiz title, passing grade, and attempt limit. New submissions use the current settings; stored submissions retain their recorded grade data. */
|
|
11
20
|
settings?: QuizSettings;
|
|
12
21
|
/**
|
|
13
|
-
*
|
|
22
|
+
* Current revision of the stored quiz definition. The revision changes when the definition changes. The public Quiz API doesn't currently provide an update method.
|
|
14
23
|
* @readonly
|
|
15
24
|
*/
|
|
16
25
|
revision?: string | null;
|
|
17
26
|
/**
|
|
18
|
-
*
|
|
27
|
+
* Date and time the quiz was created.
|
|
19
28
|
* @readonly
|
|
20
29
|
*/
|
|
21
30
|
_createdDate?: Date | null;
|
|
22
31
|
/**
|
|
23
|
-
*
|
|
32
|
+
* Date and time the quiz was last updated.
|
|
24
33
|
* @readonly
|
|
25
34
|
*/
|
|
26
35
|
_updatedDate?: Date | null;
|
|
27
36
|
/**
|
|
28
|
-
*
|
|
37
|
+
* Questions in the quiz. Each `QuizField` defines one question and its answer input. New submissions use the current questions; stored submissions retain their recorded answer evaluations.
|
|
29
38
|
* @minSize 1
|
|
30
39
|
* @maxSize 200
|
|
31
40
|
*/
|
|
@@ -33,119 +42,122 @@ interface Quiz {
|
|
|
33
42
|
}
|
|
34
43
|
interface QuizSettings {
|
|
35
44
|
/**
|
|
36
|
-
*
|
|
45
|
+
* Minimum unweighted integer percentage required to pass, from `0` through `100`. The earned grade is calculated as `floor((correct answer count / submitted answer count) * 100)`; question `score` values don't weight it. Non-evaluable answers count as correct. If omitted, the submission has no earned or passing grade and its status is COMPLETED, even if an individual evaluated answer is incorrect.
|
|
37
46
|
* @max 100
|
|
38
47
|
*/
|
|
39
48
|
passingGrade?: number | null;
|
|
40
49
|
/**
|
|
41
|
-
* Quiz title
|
|
50
|
+
* Quiz title.
|
|
42
51
|
* @maxLength 200
|
|
43
52
|
*/
|
|
44
53
|
title?: string | null;
|
|
45
54
|
/**
|
|
46
|
-
*
|
|
55
|
+
* Maximum number of submissions allowed per submitter. If omitted, no attempt-limit check is applied. With `groupId`, the count uses group ID and submitter ID without filtering by quiz ID; otherwise, it uses quiz ID and submitter ID. Reusing a group ID across quizzes shares their attempt count.
|
|
47
56
|
* @min 1
|
|
48
57
|
*/
|
|
49
58
|
attempts?: number | null;
|
|
50
59
|
}
|
|
60
|
+
/** Defines one quiz question and its answer input. */
|
|
51
61
|
interface QuizField extends QuizFieldFieldTypeOneOf {
|
|
52
|
-
/**
|
|
62
|
+
/** Numeric input. */
|
|
53
63
|
numeric?: NumericField;
|
|
54
|
-
/**
|
|
64
|
+
/** Short-text input. */
|
|
55
65
|
shortText?: ShortTextField;
|
|
56
|
-
/**
|
|
66
|
+
/** Long-text input. Set this to an empty object (`{}`) to select it. */
|
|
57
67
|
longText?: LongTextField;
|
|
58
|
-
/**
|
|
68
|
+
/** Input with predefined options where only one option can be selected. */
|
|
59
69
|
singleChoice?: SingleChoiceField;
|
|
60
|
-
/**
|
|
70
|
+
/** Input with predefined options where multiple options can be selected. */
|
|
61
71
|
multiChoice?: MultiChoiceField;
|
|
62
|
-
/**
|
|
72
|
+
/** File-upload input. */
|
|
63
73
|
fileUpload?: FileUploadField;
|
|
64
74
|
/**
|
|
65
|
-
*
|
|
75
|
+
* Caller-generated GUID that identifies this question. Use a stable value that is unique within the quiz. Submission answer evaluations use this ID to identify the question.
|
|
66
76
|
* @format GUID
|
|
67
77
|
* @immutable
|
|
68
78
|
*/
|
|
69
79
|
_id?: string;
|
|
70
80
|
/**
|
|
71
|
-
*
|
|
81
|
+
* Stable key used to match a submitted answer to this question. Use a value that is unique within the quiz and don't change or reuse it for another question.
|
|
72
82
|
* @maxLength 200
|
|
73
83
|
* @immutable
|
|
74
84
|
*/
|
|
75
85
|
target?: string | null;
|
|
76
86
|
/**
|
|
77
|
-
* Question
|
|
87
|
+
* Question text.
|
|
78
88
|
* @minLength 1
|
|
79
89
|
* @maxLength 350
|
|
80
90
|
*/
|
|
81
91
|
question?: string | null;
|
|
82
|
-
/** Score
|
|
92
|
+
/** Score returned for evaluable answers, whether correct or incorrect. Omitted from non-evaluable answer evaluations. This value doesn't weight the submission's unweighted `earnedGrade` percentage. */
|
|
83
93
|
score?: number | null;
|
|
84
94
|
/**
|
|
85
|
-
*
|
|
95
|
+
* Feedback returned when an evaluable submitted answer is correct. Omitted for non-evaluable answers.
|
|
86
96
|
* @maxLength 350
|
|
87
97
|
*/
|
|
88
98
|
rightMessage?: string | null;
|
|
89
99
|
/**
|
|
90
|
-
*
|
|
100
|
+
* Feedback returned when an evaluable submitted answer is incorrect. Omitted for non-evaluable answers.
|
|
91
101
|
* @maxLength 350
|
|
92
102
|
*/
|
|
93
103
|
wrongMessage?: string | null;
|
|
94
104
|
}
|
|
95
105
|
/** @oneof */
|
|
96
106
|
interface QuizFieldFieldTypeOneOf {
|
|
97
|
-
/**
|
|
107
|
+
/** Numeric input. */
|
|
98
108
|
numeric?: NumericField;
|
|
99
|
-
/**
|
|
109
|
+
/** Short-text input. */
|
|
100
110
|
shortText?: ShortTextField;
|
|
101
|
-
/**
|
|
111
|
+
/** Long-text input. Set this to an empty object (`{}`) to select it. */
|
|
102
112
|
longText?: LongTextField;
|
|
103
|
-
/**
|
|
113
|
+
/** Input with predefined options where only one option can be selected. */
|
|
104
114
|
singleChoice?: SingleChoiceField;
|
|
105
|
-
/**
|
|
115
|
+
/** Input with predefined options where multiple options can be selected. */
|
|
106
116
|
multiChoice?: MultiChoiceField;
|
|
107
|
-
/**
|
|
117
|
+
/** File-upload input. */
|
|
108
118
|
fileUpload?: FileUploadField;
|
|
109
119
|
}
|
|
120
|
+
/** File categories used by Wix Forms. Categories don't define a custom extension or MIME-type allowlist; accepted file types are controlled by Wix Forms. See [About form fields](https://dev.wix.com/docs/api-reference/crm/forms/form-schemas/about-form-fields). */
|
|
110
121
|
declare enum FileUploadFormat {
|
|
111
|
-
/** Image
|
|
122
|
+
/** Image-file category. */
|
|
112
123
|
IMAGE = "IMAGE",
|
|
113
|
-
/** Video
|
|
124
|
+
/** Video-file category. */
|
|
114
125
|
VIDEO = "VIDEO",
|
|
115
|
-
/** Audio
|
|
126
|
+
/** Audio-file category. */
|
|
116
127
|
AUDIO = "AUDIO",
|
|
117
|
-
/** Document
|
|
128
|
+
/** Document-file category. */
|
|
118
129
|
DOCUMENT = "DOCUMENT",
|
|
119
|
-
/** Archive
|
|
130
|
+
/** Archive-file category. */
|
|
120
131
|
ARCHIVE = "ARCHIVE",
|
|
121
|
-
/** 3D
|
|
132
|
+
/** 3D-model-file category. */
|
|
122
133
|
MODEL_3D = "MODEL_3D"
|
|
123
134
|
}
|
|
124
135
|
/** @enumType */
|
|
125
136
|
type FileUploadFormatWithLiterals = FileUploadFormat | 'IMAGE' | 'VIDEO' | 'AUDIO' | 'DOCUMENT' | 'ARCHIVE' | 'MODEL_3D';
|
|
126
137
|
interface NumericField {
|
|
127
|
-
/**
|
|
138
|
+
/** Correct numeric value. Matching is exact. If omitted, the answer is non-evaluable and counts as correct when calculating the earned grade. */
|
|
128
139
|
rightAnswer?: number | null;
|
|
129
140
|
}
|
|
130
141
|
interface ShortTextField {
|
|
131
142
|
/**
|
|
132
|
-
*
|
|
143
|
+
* Correct text. Matching trims leading and trailing whitespace and is case-insensitive. If omitted, the answer is non-evaluable and counts as correct when calculating the earned grade.
|
|
133
144
|
* @minLength 1
|
|
134
145
|
* @maxLength 200
|
|
135
146
|
*/
|
|
136
147
|
rightAnswer?: string | null;
|
|
137
148
|
}
|
|
149
|
+
/** Long-text input settings. Set `longText` to an empty object (`{}`) to select this input. Long-text answers aren't evaluated and count as correct when calculating the earned grade. */
|
|
138
150
|
interface LongTextField {
|
|
139
151
|
}
|
|
140
152
|
interface SingleChoiceField {
|
|
141
153
|
/**
|
|
142
|
-
*
|
|
154
|
+
* Correct option. Matching is exact. If omitted, the answer is non-evaluable and counts as correct when calculating the earned grade.
|
|
143
155
|
* @minLength 1
|
|
144
156
|
* @maxLength 350
|
|
145
157
|
*/
|
|
146
158
|
rightAnswer?: string | null;
|
|
147
159
|
/**
|
|
148
|
-
*
|
|
160
|
+
* Options available to the participant.
|
|
149
161
|
* @minSize 1
|
|
150
162
|
* @maxSize 90
|
|
151
163
|
* @minLength 1
|
|
@@ -157,13 +169,14 @@ interface MultiChoiceField {
|
|
|
157
169
|
/**
|
|
158
170
|
* Returned only with achievements:quizzes:v1:quiz:read_sensitive_fields permission.
|
|
159
171
|
* Repeated fields cannot use conditional annotations; the service redacts this field.
|
|
172
|
+
* Correct options. Matching ignores option order but doesn't ignore duplicate values. If omitted, the answer is non-evaluable and counts as correct when calculating the earned grade.
|
|
160
173
|
* @maxSize 90
|
|
161
174
|
* @minLength 1
|
|
162
175
|
* @maxLength 350
|
|
163
176
|
*/
|
|
164
177
|
rightAnswer?: string[] | null;
|
|
165
178
|
/**
|
|
166
|
-
*
|
|
179
|
+
* Options available to the participant.
|
|
167
180
|
* @minSize 1
|
|
168
181
|
* @maxSize 90
|
|
169
182
|
* @minLength 1
|
|
@@ -173,42 +186,42 @@ interface MultiChoiceField {
|
|
|
173
186
|
}
|
|
174
187
|
interface FileUploadField {
|
|
175
188
|
/**
|
|
176
|
-
* Text
|
|
189
|
+
* Text displayed on the upload button. Default: `Upload`.
|
|
177
190
|
* @minLength 1
|
|
178
191
|
* @maxLength 100
|
|
179
192
|
*/
|
|
180
193
|
buttonText?: string | null;
|
|
181
194
|
/**
|
|
182
|
-
*
|
|
195
|
+
* Maximum number of files a participant can upload for this question, from `1` through `10`. Default: `10`.
|
|
183
196
|
* @min 1
|
|
184
197
|
* @max 10
|
|
185
198
|
*/
|
|
186
199
|
itemsLimit?: number | null;
|
|
187
200
|
/**
|
|
188
|
-
*
|
|
201
|
+
* Wix Forms file categories that participants can upload.
|
|
189
202
|
*
|
|
190
|
-
* Specify at least one format. `UNKNOWN_FILE_UPLOAD_FORMAT` isn't supported as a format selection.
|
|
203
|
+
* Specify at least one format. `UNKNOWN_FILE_UPLOAD_FORMAT` isn't supported as a format selection. File-upload answers aren't evaluated and count as correct when calculating the earned grade.
|
|
191
204
|
* @maxSize 6
|
|
192
205
|
*/
|
|
193
206
|
fileUploadFormats?: FileUploadFormatWithLiterals[];
|
|
194
207
|
}
|
|
195
208
|
interface CreateQuizRequest {
|
|
196
|
-
/** Quiz to
|
|
209
|
+
/** Quiz definition to create. Generate a stable unique GUID for every `quiz.fields.id` value. */
|
|
197
210
|
quiz: Quiz;
|
|
198
211
|
}
|
|
199
212
|
interface CreateQuizResponse {
|
|
200
|
-
/** Created quiz */
|
|
213
|
+
/** Created quiz definition. Assign its `id` to `step.quizOptions.id` to create an Online Programs quiz step. */
|
|
201
214
|
quiz?: Quiz;
|
|
202
215
|
}
|
|
203
216
|
interface CloneQuizRequest {
|
|
204
217
|
/**
|
|
205
|
-
* ID of the quiz to
|
|
218
|
+
* ID of the quiz definition to clone.
|
|
206
219
|
* @format GUID
|
|
207
220
|
*/
|
|
208
221
|
quizId: string;
|
|
209
222
|
}
|
|
210
223
|
interface CloneQuizResponse {
|
|
211
|
-
/** Cloned quiz */
|
|
224
|
+
/** Cloned quiz definition with a new ID. Step associations and submissions aren't cloned. */
|
|
212
225
|
quiz?: Quiz;
|
|
213
226
|
}
|
|
214
227
|
interface BulkCreateQuizzesRequest {
|
|
@@ -254,7 +267,7 @@ interface ApplicationError {
|
|
|
254
267
|
data?: Record<string, any> | null;
|
|
255
268
|
}
|
|
256
269
|
interface BulkCreateQuizzesResponseBulkQuizResult {
|
|
257
|
-
/** Metadata for the individual create operation. */
|
|
270
|
+
/** Metadata for the individual create operation. When the operation fails, `error` contains the original Wix Forms application error. */
|
|
258
271
|
itemMetadata?: ItemMetadata;
|
|
259
272
|
/** Created quiz. Empty when `return_entity` is `false`. */
|
|
260
273
|
item?: Quiz;
|
|
@@ -296,29 +309,29 @@ interface BulkQuizResult {
|
|
|
296
309
|
}
|
|
297
310
|
interface GetQuizRequest {
|
|
298
311
|
/**
|
|
299
|
-
* ID
|
|
312
|
+
* Quiz ID, available from `step.quizOptions.id` on a quiz-type Online Programs step.
|
|
300
313
|
* @format GUID
|
|
301
314
|
*/
|
|
302
315
|
quizId: string;
|
|
303
316
|
}
|
|
304
317
|
interface GetQuizResponse {
|
|
305
|
-
/** Requested quiz */
|
|
318
|
+
/** Requested quiz definition. */
|
|
306
319
|
quiz?: Quiz;
|
|
307
320
|
}
|
|
308
321
|
interface DeleteQuizRequest {
|
|
309
322
|
/**
|
|
310
|
-
* ID of quiz
|
|
323
|
+
* ID of the quiz definition to permanently delete.
|
|
311
324
|
* @format GUID
|
|
312
325
|
*/
|
|
313
326
|
quizId: string;
|
|
314
327
|
}
|
|
315
328
|
interface DeleteQuizResponse {
|
|
316
|
-
/**
|
|
329
|
+
/** Permanently deleted quiz definition. */
|
|
317
330
|
quiz?: Quiz;
|
|
318
331
|
}
|
|
319
332
|
interface BulkDeleteQuizzesRequest {
|
|
320
333
|
/**
|
|
321
|
-
* IDs of the
|
|
334
|
+
* IDs of the quiz definitions to permanently delete. Coordinate deletion with the Steps API and remove known step references first.
|
|
322
335
|
* @minSize 1
|
|
323
336
|
* @maxSize 100
|
|
324
337
|
* @format GUID
|
|
@@ -336,7 +349,7 @@ interface BulkDeleteQuizzesResponse {
|
|
|
336
349
|
bulkActionMetadata?: BulkActionMetadata;
|
|
337
350
|
}
|
|
338
351
|
interface BulkDeleteQuizzesResponseBulkQuizResult {
|
|
339
|
-
/** Metadata for the individual delete operation. */
|
|
352
|
+
/** Metadata for the individual delete operation. When the operation fails, `error` contains the original Wix Forms application error. */
|
|
340
353
|
itemMetadata?: ItemMetadata;
|
|
341
354
|
}
|
|
342
355
|
interface DomainEvent extends DomainEventBodyOneOf {
|
|
@@ -492,9 +505,53 @@ interface AccountInfo {
|
|
|
492
505
|
*/
|
|
493
506
|
siteId?: string | null;
|
|
494
507
|
}
|
|
508
|
+
/** @docsIgnore */
|
|
509
|
+
type CreateQuizApplicationErrors = {
|
|
510
|
+
code?: 'INVALID_QUIZ';
|
|
511
|
+
description?: string;
|
|
512
|
+
data?: Record<string, any>;
|
|
513
|
+
} | {
|
|
514
|
+
code?: 'QUIZ_CONFLICT';
|
|
515
|
+
description?: string;
|
|
516
|
+
data?: Record<string, any>;
|
|
517
|
+
};
|
|
518
|
+
/** @docsIgnore */
|
|
519
|
+
type CloneQuizApplicationErrors = {
|
|
520
|
+
code?: 'QUIZ_NOT_FOUND';
|
|
521
|
+
description?: string;
|
|
522
|
+
data?: Record<string, any>;
|
|
523
|
+
} | {
|
|
524
|
+
code?: 'QUIZ_CONFLICT';
|
|
525
|
+
description?: string;
|
|
526
|
+
data?: Record<string, any>;
|
|
527
|
+
};
|
|
528
|
+
/** @docsIgnore */
|
|
529
|
+
type BulkCreateQuizzesApplicationErrors = {
|
|
530
|
+
code?: 'INVALID_QUIZ';
|
|
531
|
+
description?: string;
|
|
532
|
+
data?: Record<string, any>;
|
|
533
|
+
};
|
|
534
|
+
/** @docsIgnore */
|
|
535
|
+
type GetQuizApplicationErrors = {
|
|
536
|
+
code?: 'QUIZ_NOT_FOUND';
|
|
537
|
+
description?: string;
|
|
538
|
+
data?: Record<string, any>;
|
|
539
|
+
};
|
|
540
|
+
/** @docsIgnore */
|
|
541
|
+
type DeleteQuizApplicationErrors = {
|
|
542
|
+
code?: 'QUIZ_NOT_FOUND';
|
|
543
|
+
description?: string;
|
|
544
|
+
data?: Record<string, any>;
|
|
545
|
+
} | {
|
|
546
|
+
code?: 'QUIZ_CONFLICT';
|
|
547
|
+
description?: string;
|
|
548
|
+
data?: Record<string, any>;
|
|
549
|
+
};
|
|
495
550
|
/**
|
|
496
|
-
* Creates quiz
|
|
497
|
-
*
|
|
551
|
+
* Creates a detached quiz definition.
|
|
552
|
+
*
|
|
553
|
+
* To use the quiz in an Online Program, pass the returned quiz ID as `step.quizOptions.id` when calling the Steps API's `CreateStep` or `BulkCreateSteps` method.
|
|
554
|
+
* @param quiz - Quiz definition to create. Generate a stable unique GUID for every `quiz.fields.id` value.
|
|
498
555
|
* @public
|
|
499
556
|
* @requiredField quiz
|
|
500
557
|
* @requiredField quiz.fields
|
|
@@ -506,22 +563,36 @@ interface AccountInfo {
|
|
|
506
563
|
* @requiredField quiz.fields.target
|
|
507
564
|
* @permissionId QUIZZES.CREATE_QUIZ
|
|
508
565
|
* @applicableIdentity APP
|
|
509
|
-
* @returns Created quiz
|
|
566
|
+
* @returns Created quiz definition. Assign its `id` to `step.quizOptions.id` to create an Online Programs quiz step.
|
|
510
567
|
* @fqn wix.achievements.quizzes.v1.QuizService.CreateQuiz
|
|
511
568
|
*/
|
|
512
|
-
declare function createQuiz(quiz: NonNullablePaths<Quiz, `fields` | `fields.${number}._id` | `fields.${number}.multiChoice.options` | `fields.${number}.question` | `fields.${number}.singleChoice.options` | `fields.${number}.target`, 3>): Promise<NonNullablePaths<Quiz, `fields` | `fields.${number}._id`, 2
|
|
569
|
+
declare function createQuiz(quiz: NonNullablePaths<Quiz, `fields` | `fields.${number}._id` | `fields.${number}.multiChoice.options` | `fields.${number}.question` | `fields.${number}.singleChoice.options` | `fields.${number}.target`, 3>): Promise<NonNullablePaths<Quiz, `fields` | `fields.${number}._id`, 2> & {
|
|
570
|
+
__applicationErrorsType?: CreateQuizApplicationErrors;
|
|
571
|
+
}>;
|
|
513
572
|
/**
|
|
514
|
-
* Clones quiz
|
|
515
|
-
*
|
|
573
|
+
* Clones a quiz definition and returns a new quiz ID.
|
|
574
|
+
*
|
|
575
|
+
* This operation copies the question and settings definition only. It doesn't copy Online Programs step associations or quiz submissions. Attach the returned ID to a step separately when needed.
|
|
576
|
+
* @param quizId - ID of the quiz definition to clone.
|
|
516
577
|
* @public
|
|
517
578
|
* @requiredField quizId
|
|
518
579
|
* @permissionId QUIZZES.CREATE_QUIZ
|
|
519
580
|
* @applicableIdentity APP
|
|
520
581
|
* @fqn wix.achievements.quizzes.v1.QuizService.CloneQuiz
|
|
521
582
|
*/
|
|
522
|
-
declare function cloneQuiz(quizId: string): Promise<NonNullablePaths<CloneQuizResponse, `quiz.fields` | `quiz.fields.${number}._id`, 3
|
|
583
|
+
declare function cloneQuiz(quizId: string): Promise<NonNullablePaths<CloneQuizResponse, `quiz.fields` | `quiz.fields.${number}._id`, 3> & {
|
|
584
|
+
__applicationErrorsType?: CloneQuizApplicationErrors;
|
|
585
|
+
}>;
|
|
523
586
|
/**
|
|
524
|
-
* Creates up to 30 quiz definitions in a single API call.
|
|
587
|
+
* Creates up to 30 detached quiz definitions in a single API call.
|
|
588
|
+
*
|
|
589
|
+
* Quiz IDs, revisions, and creation and update timestamps are assigned by the server. Client-supplied values for these read-only fields are ignored. Question IDs (`quizzes.fields.id`) must be supplied by the caller.
|
|
590
|
+
*
|
|
591
|
+
* Invalid quiz definitions fail the entire request before any quizzes are created.
|
|
592
|
+
*
|
|
593
|
+
* Individual item failures don't fail the bulk request. For each failed item, `results.itemMetadata.error` contains the original application error from the Wix Forms operation.
|
|
594
|
+
*
|
|
595
|
+
* To use the quizzes in an Online Program, pass the returned quiz IDs as `step.quizOptions.id` values when calling the Steps API's `CreateStep` or `BulkCreateSteps` method.
|
|
525
596
|
* @param quizzes - Quiz definitions to create.
|
|
526
597
|
* @public
|
|
527
598
|
* @documentationMaturity preview
|
|
@@ -537,7 +608,9 @@ declare function cloneQuiz(quizId: string): Promise<NonNullablePaths<CloneQuizRe
|
|
|
537
608
|
* @applicableIdentity APP
|
|
538
609
|
* @fqn wix.achievements.quizzes.v1.QuizService.BulkCreateQuizzes
|
|
539
610
|
*/
|
|
540
|
-
declare function bulkCreateQuizzes(quizzes: NonNullablePaths<Quiz, `fields` | `fields.${number}._id` | `fields.${number}.multiChoice.options` | `fields.${number}.question` | `fields.${number}.singleChoice.options` | `fields.${number}.target`, 3>[], options?: BulkCreateQuizzesOptions): Promise<NonNullablePaths<BulkCreateQuizzesResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 4
|
|
611
|
+
declare function bulkCreateQuizzes(quizzes: NonNullablePaths<Quiz, `fields` | `fields.${number}._id` | `fields.${number}.multiChoice.options` | `fields.${number}.question` | `fields.${number}.singleChoice.options` | `fields.${number}.target`, 3>[], options?: BulkCreateQuizzesOptions): Promise<NonNullablePaths<BulkCreateQuizzesResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 4> & {
|
|
612
|
+
__applicationErrorsType?: BulkCreateQuizzesApplicationErrors;
|
|
613
|
+
}>;
|
|
541
614
|
interface BulkCreateQuizzesOptions {
|
|
542
615
|
/**
|
|
543
616
|
* Whether to return the created quizzes in the response.
|
|
@@ -547,31 +620,45 @@ interface BulkCreateQuizzesOptions {
|
|
|
547
620
|
returnEntity?: boolean;
|
|
548
621
|
}
|
|
549
622
|
/**
|
|
550
|
-
*
|
|
551
|
-
*
|
|
623
|
+
* Retrieves a quiz definition by ID.
|
|
624
|
+
*
|
|
625
|
+
* To discover a quiz ID, query or retrieve its quiz-type Online Programs step and read `step.quizOptions.id`.
|
|
626
|
+
* @param quizId - Quiz ID, available from `step.quizOptions.id` on a quiz-type Online Programs step.
|
|
552
627
|
* @public
|
|
553
628
|
* @requiredField quizId
|
|
554
629
|
* @permissionId achievements:quizzes:v1:quiz:get_quiz
|
|
555
630
|
* @applicableIdentity APP
|
|
556
|
-
* @returns Requested quiz
|
|
631
|
+
* @returns Requested quiz definition.
|
|
557
632
|
* @fqn wix.achievements.quizzes.v1.QuizService.GetQuiz
|
|
558
633
|
*/
|
|
559
|
-
declare function getQuiz(quizId: string): Promise<NonNullablePaths<Quiz, `fields` | `fields.${number}._id`, 2
|
|
634
|
+
declare function getQuiz(quizId: string): Promise<NonNullablePaths<Quiz, `fields` | `fields.${number}._id`, 2> & {
|
|
635
|
+
__applicationErrorsType?: GetQuizApplicationErrors;
|
|
636
|
+
}>;
|
|
560
637
|
/**
|
|
561
|
-
*
|
|
562
|
-
*
|
|
638
|
+
* Permanently deletes a quiz definition.
|
|
639
|
+
*
|
|
640
|
+
* This operation doesn't check whether Online Programs steps reference the quiz. Coordinate deletion with the Steps API and remove known step references first. Otherwise, steps can retain dangling quiz references.
|
|
641
|
+
*
|
|
642
|
+
* NOT-PRECEDENT: This caller-responsibility behavior is retained as a production v1 compatibility exception. New delete APIs should provide an authoritative server-side reference safeguard.
|
|
643
|
+
* @param quizId - ID of the quiz definition to permanently delete.
|
|
563
644
|
* @public
|
|
564
645
|
* @requiredField quizId
|
|
565
646
|
* @permissionId QUIZZES.DELETE_QUIZ
|
|
566
647
|
* @applicableIdentity APP
|
|
567
648
|
* @fqn wix.achievements.quizzes.v1.QuizService.DeleteQuiz
|
|
568
649
|
*/
|
|
569
|
-
declare function deleteQuiz(quizId: string): Promise<NonNullablePaths<DeleteQuizResponse, `quiz.fields` | `quiz.fields.${number}._id`, 3
|
|
650
|
+
declare function deleteQuiz(quizId: string): Promise<NonNullablePaths<DeleteQuizResponse, `quiz.fields` | `quiz.fields.${number}._id`, 3> & {
|
|
651
|
+
__applicationErrorsType?: DeleteQuizApplicationErrors;
|
|
652
|
+
}>;
|
|
570
653
|
/**
|
|
571
654
|
* Permanently deletes up to 100 quiz definitions.
|
|
572
655
|
*
|
|
573
|
-
*
|
|
574
|
-
*
|
|
656
|
+
* Individual item failures don't fail the bulk request. For each failed item, `results.itemMetadata.error` contains the original application error from the Wix Forms operation.
|
|
657
|
+
*
|
|
658
|
+
* This operation doesn't check whether Online Programs steps reference the quizzes. Coordinate deletion with the Steps API and remove known step references first. Otherwise, steps can retain dangling quiz references.
|
|
659
|
+
*
|
|
660
|
+
* NOT-PRECEDENT: This caller-responsibility behavior is retained as a production v1 compatibility exception. New bulk-delete APIs should provide an authoritative server-side reference safeguard.
|
|
661
|
+
* @param quizIds - IDs of the quiz definitions to permanently delete. Coordinate deletion with the Steps API and remove known step references first.
|
|
575
662
|
* @public
|
|
576
663
|
* @documentationMaturity preview
|
|
577
664
|
* @requiredField quizIds
|
|
@@ -581,4 +668,4 @@ declare function deleteQuiz(quizId: string): Promise<NonNullablePaths<DeleteQuiz
|
|
|
581
668
|
*/
|
|
582
669
|
declare function bulkDeleteQuizzes(quizIds: string[]): Promise<NonNullablePaths<BulkDeleteQuizzesResponse, `results` | `results.${number}.itemMetadata.originalIndex` | `results.${number}.itemMetadata.success` | `results.${number}.itemMetadata.error.code` | `results.${number}.itemMetadata.error.description` | `bulkActionMetadata.totalSuccesses` | `bulkActionMetadata.totalFailures` | `bulkActionMetadata.undetailedFailures`, 4>>;
|
|
583
670
|
|
|
584
|
-
export { type AccountInfo, type ActionEvent, type ApplicationError, type BulkActionMetadata, type BulkCloneQuizzesRequest, type BulkCloneQuizzesResponse, type BulkCreateQuizzesOptions, type BulkCreateQuizzesRequest, type BulkCreateQuizzesResponse, type BulkCreateQuizzesResponseBulkQuizResult, type BulkDeleteQuizzesRequest, type BulkDeleteQuizzesResponse, type BulkDeleteQuizzesResponseBulkQuizResult, type BulkQuizResult, type CloneQuizRequest, type CloneQuizResponse, type CreateQuizRequest, type CreateQuizResponse, type DeleteQuizRequest, type DeleteQuizResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type FileUploadField, FileUploadFormat, type FileUploadFormatWithLiterals, type GetQuizRequest, type GetQuizResponse, type IdentificationData, type IdentificationDataIdOneOf, type ItemMetadata, type LongTextField, type MessageEnvelope, type MultiChoiceField, type NumericField, type Quiz, type QuizField, type QuizFieldFieldTypeOneOf, type QuizSettings, type RestoreInfo, type ShortTextField, type SingleChoiceField, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkCreateQuizzes, bulkDeleteQuizzes, cloneQuiz, createQuiz, deleteQuiz, getQuiz };
|
|
671
|
+
export { type AccountInfo, type ActionEvent, type ApplicationError, type BulkActionMetadata, type BulkCloneQuizzesRequest, type BulkCloneQuizzesResponse, type BulkCreateQuizzesApplicationErrors, type BulkCreateQuizzesOptions, type BulkCreateQuizzesRequest, type BulkCreateQuizzesResponse, type BulkCreateQuizzesResponseBulkQuizResult, type BulkDeleteQuizzesRequest, type BulkDeleteQuizzesResponse, type BulkDeleteQuizzesResponseBulkQuizResult, type BulkQuizResult, type CloneQuizApplicationErrors, type CloneQuizRequest, type CloneQuizResponse, type CreateQuizApplicationErrors, type CreateQuizRequest, type CreateQuizResponse, type DeleteQuizApplicationErrors, type DeleteQuizRequest, type DeleteQuizResponse, type DomainEvent, type DomainEventBodyOneOf, type EntityCreatedEvent, type EntityDeletedEvent, type EntityUpdatedEvent, type FileUploadField, FileUploadFormat, type FileUploadFormatWithLiterals, type GetQuizApplicationErrors, type GetQuizRequest, type GetQuizResponse, type IdentificationData, type IdentificationDataIdOneOf, type ItemMetadata, type LongTextField, type MessageEnvelope, type MultiChoiceField, type NumericField, type Quiz, type QuizField, type QuizFieldFieldTypeOneOf, type QuizSettings, type RestoreInfo, type ShortTextField, type SingleChoiceField, WebhookIdentityType, type WebhookIdentityTypeWithLiterals, bulkCreateQuizzes, bulkDeleteQuizzes, cloneQuiz, createQuiz, deleteQuiz, getQuiz };
|