@wix/auto_sdk_online-programs_quizzes 1.0.25 → 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 +160 -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 +160 -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 +160 -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 +160 -72
- package/build/internal/es/meta.d.mts +109 -54
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.typings.ts","../../src/achievements-quizzes-v1-quiz-quizzes.universal.ts","../../src/achievements-quizzes-v1-quiz-quizzes.http.ts"],"sourcesContent":["export * from './src/achievements-quizzes-v1-quiz-quizzes.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixAchievementsQuizzesV1Quiz from './achievements-quizzes-v1-quiz-quizzes.http.js';\n\nexport interface Quiz {\n /**\n * ID of the quiz\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /** Quiz settings */\n settings?: QuizSettings;\n /**\n * Represents the current state of the quiz. Each time the it is modified, its `revision` changes. For an update operation to succeed, you MUST pass the latest revision\n * @readonly\n */\n revision?: string | null;\n /**\n * The time this quiz was created\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * The time this quiz was last updated\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * Quiz fields\n * @minSize 1\n * @maxSize 200\n */\n fields?: QuizField[];\n}\n\nexport interface QuizSettings {\n /**\n * Minimal grade to pass the quiz\n * @max 100\n */\n passingGrade?: number | null;\n /**\n * Quiz title\n * @maxLength 200\n */\n title?: string | null;\n /**\n * Maximal number of submission attempts\n * @min 1\n */\n attempts?: number | null;\n}\n\nexport interface QuizField extends QuizFieldFieldTypeOneOf {\n /** Type for numeric input */\n numeric?: NumericField;\n /** Type for text input */\n shortText?: ShortTextField;\n /** Type for long text input */\n longText?: LongTextField;\n /** Type for input with predefined options where only one can be selected */\n singleChoice?: SingleChoiceField;\n /** Type for input with predefined options where multiple can be selected */\n multiChoice?: MultiChoiceField;\n /** Type for file input */\n fileUpload?: FileUploadField;\n /**\n * Field ID\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * Key used in submission\n * @maxLength 200\n * @immutable\n */\n target?: string | null;\n /**\n * Question\n * @minLength 1\n * @maxLength 350\n */\n question?: string | null;\n /** Score of the question when answered right */\n score?: number | null;\n /**\n * Message shown for right answer\n * @maxLength 350\n */\n rightMessage?: string | null;\n /**\n * Message shown for wrong answer\n * @maxLength 350\n */\n wrongMessage?: string | null;\n}\n\n/** @oneof */\nexport interface QuizFieldFieldTypeOneOf {\n /** Type for numeric input */\n numeric?: NumericField;\n /** Type for text input */\n shortText?: ShortTextField;\n /** Type for long text input */\n longText?: LongTextField;\n /** Type for input with predefined options where only one can be selected */\n singleChoice?: SingleChoiceField;\n /** Type for input with predefined options where multiple can be selected */\n multiChoice?: MultiChoiceField;\n /** Type for file input */\n fileUpload?: FileUploadField;\n}\n\nexport enum FileUploadFormat {\n /** Image files. */\n IMAGE = 'IMAGE',\n /** Video files. */\n VIDEO = 'VIDEO',\n /** Audio files. */\n AUDIO = 'AUDIO',\n /** Document files. */\n DOCUMENT = 'DOCUMENT',\n /** Archive files. */\n ARCHIVE = 'ARCHIVE',\n /** 3D model files. */\n MODEL_3D = 'MODEL_3D',\n}\n\n/** @enumType */\nexport type FileUploadFormatWithLiterals =\n | FileUploadFormat\n | 'IMAGE'\n | 'VIDEO'\n | 'AUDIO'\n | 'DOCUMENT'\n | 'ARCHIVE'\n | 'MODEL_3D';\n\nexport interface NumericField {\n /** Right answer */\n rightAnswer?: number | null;\n}\n\nexport interface ShortTextField {\n /**\n * Right answer\n * @minLength 1\n * @maxLength 200\n */\n rightAnswer?: string | null;\n}\n\nexport interface LongTextField {}\n\nexport interface SingleChoiceField {\n /**\n * Right answer\n * @minLength 1\n * @maxLength 350\n */\n rightAnswer?: string | null;\n /**\n * Answer options\n * @minSize 1\n * @maxSize 90\n * @minLength 1\n * @maxLength 350\n */\n options?: string[] | null;\n}\n\nexport interface MultiChoiceField {\n /**\n * Returned only with achievements:quizzes:v1:quiz:read_sensitive_fields permission.\n * Repeated fields cannot use conditional annotations; the service redacts this field.\n * @maxSize 90\n * @minLength 1\n * @maxLength 350\n */\n rightAnswer?: string[] | null;\n /**\n * Answer options\n * @minSize 1\n * @maxSize 90\n * @minLength 1\n * @maxLength 350\n */\n options?: string[] | null;\n}\n\nexport interface FileUploadField {\n /**\n * Text for upload button\n * @minLength 1\n * @maxLength 100\n */\n buttonText?: string | null;\n /**\n * Limit of upload items\n * @min 1\n * @max 10\n */\n itemsLimit?: number | null;\n /**\n * Formats of files that can be uploaded.\n *\n * Specify at least one format. `UNKNOWN_FILE_UPLOAD_FORMAT` isn't supported as a format selection.\n * @maxSize 6\n */\n fileUploadFormats?: FileUploadFormatWithLiterals[];\n}\n\nexport interface CreateQuizRequest {\n /** Quiz to created */\n quiz: Quiz;\n}\n\nexport interface CreateQuizResponse {\n /** Created quiz */\n quiz?: Quiz;\n}\n\nexport interface CloneQuizRequest {\n /**\n * ID of the quiz to be cloned\n * @format GUID\n */\n quizId: string;\n}\n\nexport interface CloneQuizResponse {\n /** Cloned quiz */\n quiz?: Quiz;\n}\n\nexport interface BulkCreateQuizzesRequest {\n /**\n * Quiz definitions to create.\n * @minSize 1\n * @maxSize 30\n */\n quizzes: Quiz[];\n /**\n * Whether to return the created quizzes in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\nexport interface BulkCreateQuizzesResponse {\n /**\n * Results of the bulk create operation.\n * @minSize 1\n * @maxSize 30\n */\n results?: BulkCreateQuizzesResponseBulkQuizResult[];\n /** Metadata about the bulk create operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ItemMetadata {\n /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkCreateQuizzesResponseBulkQuizResult {\n /** Metadata for the individual create operation. */\n itemMetadata?: ItemMetadata;\n /** Created quiz. Empty when `return_entity` is `false`. */\n item?: Quiz;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface BulkCloneQuizzesRequest {\n /**\n * IDs of the quizzes to clone.\n * @minSize 1\n * @maxSize 30\n * @format GUID\n */\n quizIds?: string[];\n /**\n * Whether to return the cloned quizzes in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\nexport interface BulkCloneQuizzesResponse {\n /** Results of the bulk clone operation, including cloned quizzes and metadata. */\n results?: BulkQuizResult[];\n /** Metadata about the bulk operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkQuizResult {\n /** Metadata for the cloned quiz. */\n itemMetadata?: ItemMetadata;\n /** Cloned quiz. Empty when `return_entity` is `false`. */\n item?: Quiz;\n}\n\nexport interface GetQuizRequest {\n /**\n * ID of the quiz\n * @format GUID\n */\n quizId: string;\n}\n\nexport interface GetQuizResponse {\n /** Requested quiz */\n quiz?: Quiz;\n}\n\nexport interface DeleteQuizRequest {\n /**\n * ID of quiz\n * @format GUID\n */\n quizId: string;\n}\n\nexport interface DeleteQuizResponse {\n /** Deleted quiz */\n quiz?: Quiz;\n}\n\nexport interface BulkDeleteQuizzesRequest {\n /**\n * IDs of the quizzes to delete.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n quizIds: string[];\n}\n\nexport interface BulkDeleteQuizzesResponse {\n /**\n * Results of the bulk delete operation.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkDeleteQuizzesResponseBulkQuizResult[];\n /** Metadata about the bulk delete operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteQuizzesResponseBulkQuizResult {\n /** Metadata for the individual delete operation. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/**\n * Creates quiz\n * @param quiz - Quiz to created\n * @public\n * @requiredField quiz\n * @requiredField quiz.fields\n * @requiredField quiz.fields.FieldType\n * @requiredField quiz.fields.FieldType.multiChoice.options\n * @requiredField quiz.fields.FieldType.singleChoice.options\n * @requiredField quiz.fields._id\n * @requiredField quiz.fields.question\n * @requiredField quiz.fields.target\n * @permissionId QUIZZES.CREATE_QUIZ\n * @applicableIdentity APP\n * @returns Created quiz\n * @fqn wix.achievements.quizzes.v1.QuizService.CreateQuiz\n */\nexport async function createQuiz(\n quiz: NonNullablePaths<\n Quiz,\n | `fields`\n | `fields.${number}._id`\n | `fields.${number}.multiChoice.options`\n | `fields.${number}.question`\n | `fields.${number}.singleChoice.options`\n | `fields.${number}.target`,\n 3\n >\n): Promise<NonNullablePaths<Quiz, `fields` | `fields.${number}._id`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quiz: quiz });\n\n const reqOpts = ambassadorWixAchievementsQuizzesV1Quiz.createQuiz(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.quiz!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quiz: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quiz']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Clones quiz\n * @param quizId - ID of the quiz to be cloned\n * @public\n * @requiredField quizId\n * @permissionId QUIZZES.CREATE_QUIZ\n * @applicableIdentity APP\n * @fqn wix.achievements.quizzes.v1.QuizService.CloneQuiz\n */\nexport async function cloneQuiz(\n quizId: string\n): Promise<\n NonNullablePaths<\n CloneQuizResponse,\n `quiz.fields` | `quiz.fields.${number}._id`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quizId: quizId });\n\n const reqOpts = ambassadorWixAchievementsQuizzesV1Quiz.cloneQuiz(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quizId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quizId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates up to 30 quiz definitions in a single API call.\n * @param quizzes - Quiz definitions to create.\n * @public\n * @documentationMaturity preview\n * @requiredField quizzes\n * @requiredField quizzes.fields\n * @requiredField quizzes.fields.FieldType\n * @requiredField quizzes.fields.FieldType.multiChoice.options\n * @requiredField quizzes.fields.FieldType.singleChoice.options\n * @requiredField quizzes.fields._id\n * @requiredField quizzes.fields.question\n * @requiredField quizzes.fields.target\n * @permissionId achievements:quizzes:v1:quiz:bulk_create_quizzes\n * @applicableIdentity APP\n * @fqn wix.achievements.quizzes.v1.QuizService.BulkCreateQuizzes\n */\nexport async function bulkCreateQuizzes(\n quizzes: NonNullablePaths<\n Quiz,\n | `fields`\n | `fields.${number}._id`\n | `fields.${number}.multiChoice.options`\n | `fields.${number}.question`\n | `fields.${number}.singleChoice.options`\n | `fields.${number}.target`,\n 3\n >[],\n options?: BulkCreateQuizzesOptions\n): Promise<\n NonNullablePaths<\n BulkCreateQuizzesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n quizzes: quizzes,\n returnEntity: options?.returnEntity,\n });\n\n const reqOpts =\n ambassadorWixAchievementsQuizzesV1Quiz.bulkCreateQuizzes(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n quizzes: '$[0]',\n returnEntity: '$[1].returnEntity',\n },\n singleArgumentUnchanged: false,\n },\n ['quizzes', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkCreateQuizzesOptions {\n /**\n * Whether to return the created quizzes in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\n/**\n * Reads quiz by ID\n * @param quizId - ID of the quiz\n * @public\n * @requiredField quizId\n * @permissionId achievements:quizzes:v1:quiz:get_quiz\n * @returns Requested quiz\n * @fqn wix.achievements.quizzes.v1.QuizService.GetQuiz\n */\nexport async function getQuiz(\n quizId: string\n): Promise<NonNullablePaths<Quiz, `fields` | `fields.${number}._id`, 2>> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quizId: quizId });\n\n const reqOpts = ambassadorWixAchievementsQuizzesV1Quiz.getQuiz(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.quiz!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quizId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quizId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Deletes quiz\n * @param quizId - ID of quiz\n * @public\n * @requiredField quizId\n * @permissionId QUIZZES.DELETE_QUIZ\n * @applicableIdentity APP\n * @fqn wix.achievements.quizzes.v1.QuizService.DeleteQuiz\n */\nexport async function deleteQuiz(\n quizId: string\n): Promise<\n NonNullablePaths<\n DeleteQuizResponse,\n `quiz.fields` | `quiz.fields.${number}._id`,\n 3\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quizId: quizId });\n\n const reqOpts = ambassadorWixAchievementsQuizzesV1Quiz.deleteQuiz(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quizId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quizId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Permanently deletes up to 100 quiz definitions.\n *\n * This operation doesn't check whether Online Programs steps reference the quizzes. Callers must remove or verify those references before deleting.\n * @param quizIds - IDs of the quizzes to delete.\n * @public\n * @documentationMaturity preview\n * @requiredField quizIds\n * @permissionId achievements:quizzes:v1:quiz:bulk_delete_quizzes\n * @applicableIdentity APP\n * @fqn wix.achievements.quizzes.v1.QuizService.BulkDeleteQuizzes\n */\nexport async function bulkDeleteQuizzes(\n quizIds: string[]\n): Promise<\n NonNullablePaths<\n BulkDeleteQuizzesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quizIds: quizIds });\n\n const reqOpts =\n ambassadorWixAchievementsQuizzesV1Quiz.bulkDeleteQuizzes(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quizIds: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quizIds']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixAchievementsQuizzesV1QuizServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/online-programs/v1/quizzes',\n destPath: '/v1/quizzes',\n },\n {\n srcPath: '/online-programs/v1/bulk/quizzes',\n destPath: '/v1/bulk/quizzes',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_online-programs_quizzes';\n\n/** Creates quiz */\nexport function createQuiz(payload: object): RequestOptionsFactory<any> {\n function __createQuiz({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'POST' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.CreateQuiz',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/quizzes',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createQuiz;\n}\n\n/** Clones quiz */\nexport function cloneQuiz(payload: object): RequestOptionsFactory<any> {\n function __cloneQuiz({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'POST' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.CloneQuiz',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/quizzes/{quizId}/clone',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __cloneQuiz;\n}\n\n/** Creates up to 30 quiz definitions in a single API call. */\nexport function bulkCreateQuizzes(payload: object): RequestOptionsFactory<any> {\n function __bulkCreateQuizzes({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'quizzes.createdDate' },\n { path: 'quizzes.updatedDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'quizzes.fields.score' },\n { path: 'quizzes.fields.numeric.rightAnswer' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'POST' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.BulkCreateQuizzes',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/bulk/quizzes/create',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.item.createdDate' },\n { path: 'results.item.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'results.item.fields.score' },\n { path: 'results.item.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkCreateQuizzes;\n}\n\n/** Reads quiz by ID */\nexport function getQuiz(payload: object): RequestOptionsFactory<any> {\n function __getQuiz({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'GET' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.GetQuiz',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/quizzes/{quizId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getQuiz;\n}\n\n/** Deletes quiz */\nexport function deleteQuiz(payload: object): RequestOptionsFactory<any> {\n function __deleteQuiz({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'DELETE' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.DeleteQuiz',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/quizzes/{quizId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __deleteQuiz;\n}\n\n/**\n * Permanently deletes up to 100 quiz definitions.\n *\n * This operation doesn't check whether Online Programs steps reference the quizzes. Callers must remove or verify those references before deleting.\n */\nexport function bulkDeleteQuizzes(payload: object): RequestOptionsFactory<any> {\n function __bulkDeleteQuizzes({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'POST' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.BulkDeleteQuizzes',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/bulk/quizzes/delete',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkDeleteQuizzes;\n}\n"],"mappings":"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","names":["bulkCreateQuizzes","bulkDeleteQuizzes","cloneQuiz","createQuiz","deleteQuiz","getQuiz","import_float","import_timestamp","import_rest_modules","payload","FileUploadFormat","WebhookIdentityType","createQuiz","sdkTransformError","cloneQuiz","bulkCreateQuizzes","getQuiz","deleteQuiz","bulkDeleteQuizzes"]}
|
|
1
|
+
{"version":3,"sources":["../../index.typings.ts","../../src/achievements-quizzes-v1-quiz-quizzes.universal.ts","../../src/achievements-quizzes-v1-quiz-quizzes.http.ts"],"sourcesContent":["export * from './src/achievements-quizzes-v1-quiz-quizzes.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixAchievementsQuizzesV1Quiz from './achievements-quizzes-v1-quiz-quizzes.http.js';\n\n/**\n * A quiz definition used by an Online Programs quiz step.\n *\n * 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.\n *\n * 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.\n *\n * 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.\n */\nexport interface Quiz {\n /**\n * Quiz ID.\n * @format GUID\n * @readonly\n */\n _id?: string | null;\n /** Quiz title, passing grade, and attempt limit. New submissions use the current settings; stored submissions retain their recorded grade data. */\n settings?: QuizSettings;\n /**\n * 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.\n * @readonly\n */\n revision?: string | null;\n /**\n * Date and time the quiz was created.\n * @readonly\n */\n _createdDate?: Date | null;\n /**\n * Date and time the quiz was last updated.\n * @readonly\n */\n _updatedDate?: Date | null;\n /**\n * 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.\n * @minSize 1\n * @maxSize 200\n */\n fields?: QuizField[];\n}\n\nexport interface QuizSettings {\n /**\n * 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.\n * @max 100\n */\n passingGrade?: number | null;\n /**\n * Quiz title.\n * @maxLength 200\n */\n title?: string | null;\n /**\n * 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.\n * @min 1\n */\n attempts?: number | null;\n}\n\n/** Defines one quiz question and its answer input. */\nexport interface QuizField extends QuizFieldFieldTypeOneOf {\n /** Numeric input. */\n numeric?: NumericField;\n /** Short-text input. */\n shortText?: ShortTextField;\n /** Long-text input. Set this to an empty object (`{}`) to select it. */\n longText?: LongTextField;\n /** Input with predefined options where only one option can be selected. */\n singleChoice?: SingleChoiceField;\n /** Input with predefined options where multiple options can be selected. */\n multiChoice?: MultiChoiceField;\n /** File-upload input. */\n fileUpload?: FileUploadField;\n /**\n * 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.\n * @format GUID\n * @immutable\n */\n _id?: string;\n /**\n * 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.\n * @maxLength 200\n * @immutable\n */\n target?: string | null;\n /**\n * Question text.\n * @minLength 1\n * @maxLength 350\n */\n question?: string | null;\n /** 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. */\n score?: number | null;\n /**\n * Feedback returned when an evaluable submitted answer is correct. Omitted for non-evaluable answers.\n * @maxLength 350\n */\n rightMessage?: string | null;\n /**\n * Feedback returned when an evaluable submitted answer is incorrect. Omitted for non-evaluable answers.\n * @maxLength 350\n */\n wrongMessage?: string | null;\n}\n\n/** @oneof */\nexport interface QuizFieldFieldTypeOneOf {\n /** Numeric input. */\n numeric?: NumericField;\n /** Short-text input. */\n shortText?: ShortTextField;\n /** Long-text input. Set this to an empty object (`{}`) to select it. */\n longText?: LongTextField;\n /** Input with predefined options where only one option can be selected. */\n singleChoice?: SingleChoiceField;\n /** Input with predefined options where multiple options can be selected. */\n multiChoice?: MultiChoiceField;\n /** File-upload input. */\n fileUpload?: FileUploadField;\n}\n\n/** 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). */\nexport enum FileUploadFormat {\n /** Image-file category. */\n IMAGE = 'IMAGE',\n /** Video-file category. */\n VIDEO = 'VIDEO',\n /** Audio-file category. */\n AUDIO = 'AUDIO',\n /** Document-file category. */\n DOCUMENT = 'DOCUMENT',\n /** Archive-file category. */\n ARCHIVE = 'ARCHIVE',\n /** 3D-model-file category. */\n MODEL_3D = 'MODEL_3D',\n}\n\n/** @enumType */\nexport type FileUploadFormatWithLiterals =\n | FileUploadFormat\n | 'IMAGE'\n | 'VIDEO'\n | 'AUDIO'\n | 'DOCUMENT'\n | 'ARCHIVE'\n | 'MODEL_3D';\n\nexport interface NumericField {\n /** Correct numeric value. Matching is exact. If omitted, the answer is non-evaluable and counts as correct when calculating the earned grade. */\n rightAnswer?: number | null;\n}\n\nexport interface ShortTextField {\n /**\n * 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.\n * @minLength 1\n * @maxLength 200\n */\n rightAnswer?: string | null;\n}\n\n/** 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. */\nexport interface LongTextField {}\n\nexport interface SingleChoiceField {\n /**\n * Correct option. Matching is exact. If omitted, the answer is non-evaluable and counts as correct when calculating the earned grade.\n * @minLength 1\n * @maxLength 350\n */\n rightAnswer?: string | null;\n /**\n * Options available to the participant.\n * @minSize 1\n * @maxSize 90\n * @minLength 1\n * @maxLength 350\n */\n options?: string[] | null;\n}\n\nexport interface MultiChoiceField {\n /**\n * Returned only with achievements:quizzes:v1:quiz:read_sensitive_fields permission.\n * Repeated fields cannot use conditional annotations; the service redacts this field.\n * 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.\n * @maxSize 90\n * @minLength 1\n * @maxLength 350\n */\n rightAnswer?: string[] | null;\n /**\n * Options available to the participant.\n * @minSize 1\n * @maxSize 90\n * @minLength 1\n * @maxLength 350\n */\n options?: string[] | null;\n}\n\nexport interface FileUploadField {\n /**\n * Text displayed on the upload button. Default: `Upload`.\n * @minLength 1\n * @maxLength 100\n */\n buttonText?: string | null;\n /**\n * Maximum number of files a participant can upload for this question, from `1` through `10`. Default: `10`.\n * @min 1\n * @max 10\n */\n itemsLimit?: number | null;\n /**\n * Wix Forms file categories that participants can upload.\n *\n * 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.\n * @maxSize 6\n */\n fileUploadFormats?: FileUploadFormatWithLiterals[];\n}\n\nexport interface CreateQuizRequest {\n /** Quiz definition to create. Generate a stable unique GUID for every `quiz.fields.id` value. */\n quiz: Quiz;\n}\n\nexport interface CreateQuizResponse {\n /** Created quiz definition. Assign its `id` to `step.quizOptions.id` to create an Online Programs quiz step. */\n quiz?: Quiz;\n}\n\nexport interface CloneQuizRequest {\n /**\n * ID of the quiz definition to clone.\n * @format GUID\n */\n quizId: string;\n}\n\nexport interface CloneQuizResponse {\n /** Cloned quiz definition with a new ID. Step associations and submissions aren't cloned. */\n quiz?: Quiz;\n}\n\nexport interface BulkCreateQuizzesRequest {\n /**\n * Quiz definitions to create.\n * @minSize 1\n * @maxSize 30\n */\n quizzes: Quiz[];\n /**\n * Whether to return the created quizzes in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\nexport interface BulkCreateQuizzesResponse {\n /**\n * Results of the bulk create operation.\n * @minSize 1\n * @maxSize 30\n */\n results?: BulkCreateQuizzesResponseBulkQuizResult[];\n /** Metadata about the bulk create operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface ItemMetadata {\n /** Item ID. Should always be available, unless it's impossible (for example, when failing to create an item). */\n _id?: string | null;\n /** Index of the item within the request array. Allows for correlation between request and response items. */\n originalIndex?: number;\n /** Whether the requested action was successful for this item. When `false`, the `error` field is populated. */\n success?: boolean;\n /** Details about the error in case of failure. */\n error?: ApplicationError;\n}\n\nexport interface ApplicationError {\n /** Error code. */\n code?: string;\n /** Description of the error. */\n description?: string;\n /** Data related to the error. */\n data?: Record<string, any> | null;\n}\n\nexport interface BulkCreateQuizzesResponseBulkQuizResult {\n /** Metadata for the individual create operation. When the operation fails, `error` contains the original Wix Forms application error. */\n itemMetadata?: ItemMetadata;\n /** Created quiz. Empty when `return_entity` is `false`. */\n item?: Quiz;\n}\n\nexport interface BulkActionMetadata {\n /** Number of items that were successfully processed. */\n totalSuccesses?: number;\n /** Number of items that couldn't be processed. */\n totalFailures?: number;\n /** Number of failures without details because detailed failure threshold was exceeded. */\n undetailedFailures?: number;\n}\n\nexport interface BulkCloneQuizzesRequest {\n /**\n * IDs of the quizzes to clone.\n * @minSize 1\n * @maxSize 30\n * @format GUID\n */\n quizIds?: string[];\n /**\n * Whether to return the cloned quizzes in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\nexport interface BulkCloneQuizzesResponse {\n /** Results of the bulk clone operation, including cloned quizzes and metadata. */\n results?: BulkQuizResult[];\n /** Metadata about the bulk operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkQuizResult {\n /** Metadata for the cloned quiz. */\n itemMetadata?: ItemMetadata;\n /** Cloned quiz. Empty when `return_entity` is `false`. */\n item?: Quiz;\n}\n\nexport interface GetQuizRequest {\n /**\n * Quiz ID, available from `step.quizOptions.id` on a quiz-type Online Programs step.\n * @format GUID\n */\n quizId: string;\n}\n\nexport interface GetQuizResponse {\n /** Requested quiz definition. */\n quiz?: Quiz;\n}\n\nexport interface DeleteQuizRequest {\n /**\n * ID of the quiz definition to permanently delete.\n * @format GUID\n */\n quizId: string;\n}\n\nexport interface DeleteQuizResponse {\n /** Permanently deleted quiz definition. */\n quiz?: Quiz;\n}\n\nexport interface BulkDeleteQuizzesRequest {\n /**\n * IDs of the quiz definitions to permanently delete. Coordinate deletion with the Steps API and remove known step references first.\n * @minSize 1\n * @maxSize 100\n * @format GUID\n */\n quizIds: string[];\n}\n\nexport interface BulkDeleteQuizzesResponse {\n /**\n * Results of the bulk delete operation.\n * @minSize 1\n * @maxSize 100\n */\n results?: BulkDeleteQuizzesResponseBulkQuizResult[];\n /** Metadata about the bulk delete operation. */\n bulkActionMetadata?: BulkActionMetadata;\n}\n\nexport interface BulkDeleteQuizzesResponseBulkQuizResult {\n /** Metadata for the individual delete operation. When the operation fails, `error` contains the original Wix Forms application error. */\n itemMetadata?: ItemMetadata;\n}\n\nexport interface DomainEvent extends DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n /** Event ID. With this ID you can easily spot duplicated events and ignore them. */\n _id?: string;\n /**\n * Fully Qualified Domain Name of an entity. This is a unique identifier assigned to the API main business entities.\n * For example, `wix.stores.catalog.product`, `wix.bookings.session`, `wix.payments.transaction`.\n */\n entityFqdn?: string;\n /**\n * Event action name, placed at the top level to make it easier for users to dispatch messages.\n * For example: `created`/`updated`/`deleted`/`started`/`completed`/`email_opened`.\n */\n slug?: string;\n /** ID of the entity associated with the event. */\n entityId?: string;\n /** Event timestamp in [ISO-8601](https://en.wikipedia.org/wiki/ISO_8601) format and UTC time. For example, `2020-04-26T13:57:50.699Z`. */\n eventTime?: Date | null;\n /**\n * Whether the event was triggered as a result of a privacy regulation application\n * (for example, GDPR).\n */\n triggeredByAnonymizeRequest?: boolean | null;\n /** If present, indicates the action that triggered the event. */\n originatedFrom?: string | null;\n /**\n * A sequence number that indicates the order of updates to an entity. For example, if an entity was updated at `16:00` and then again at `16:01`, the second update will always have a higher sequence number.\n * You can use this number to make sure you're handling updates in the right order. Just save the latest sequence number on your end and compare it to the one in each new message. If the new message has an older (lower) number, you can safely ignore it.\n */\n entityEventSequence?: string | null;\n}\n\n/** @oneof */\nexport interface DomainEventBodyOneOf {\n createdEvent?: EntityCreatedEvent;\n updatedEvent?: EntityUpdatedEvent;\n deletedEvent?: EntityDeletedEvent;\n actionEvent?: ActionEvent;\n}\n\nexport interface EntityCreatedEvent {\n entity?: string;\n}\n\nexport interface RestoreInfo {\n deletedDate?: Date | null;\n}\n\nexport interface EntityUpdatedEvent {\n /**\n * Since platformized APIs only expose PATCH and not PUT we can't assume that the fields sent from the client are the actual diff.\n * This means that to generate a list of changed fields (as opposed to sent fields) one needs to traverse both objects.\n * We don't want to impose this on all developers and so we leave this traversal to the notification recipients which need it.\n */\n currentEntity?: string;\n}\n\nexport interface EntityDeletedEvent {\n /** Entity that was deleted. */\n deletedEntity?: string | null;\n}\n\nexport interface ActionEvent {\n body?: string;\n}\n\nexport interface MessageEnvelope {\n /**\n * App instance ID.\n * @format GUID\n */\n instanceId?: string | null;\n /**\n * Event type.\n * @maxLength 150\n */\n eventType?: string;\n /** The identification type and identity data. */\n identity?: IdentificationData;\n /** Stringify payload. */\n data?: string;\n /** Details related to the account */\n accountInfo?: AccountInfo;\n}\n\nexport interface IdentificationData extends IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n /** @readonly */\n identityType?: WebhookIdentityTypeWithLiterals;\n}\n\n/** @oneof */\nexport interface IdentificationDataIdOneOf {\n /**\n * ID of a site visitor that has not logged in to the site.\n * @format GUID\n */\n anonymousVisitorId?: string;\n /**\n * ID of a site visitor that has logged in to the site.\n * @format GUID\n */\n memberId?: string;\n /**\n * ID of a Wix user (site owner, contributor, etc.).\n * @format GUID\n */\n wixUserId?: string;\n /**\n * ID of an app.\n * @format GUID\n */\n appId?: string;\n}\n\nexport enum WebhookIdentityType {\n UNKNOWN = 'UNKNOWN',\n ANONYMOUS_VISITOR = 'ANONYMOUS_VISITOR',\n MEMBER = 'MEMBER',\n WIX_USER = 'WIX_USER',\n APP = 'APP',\n}\n\n/** @enumType */\nexport type WebhookIdentityTypeWithLiterals =\n | WebhookIdentityType\n | 'UNKNOWN'\n | 'ANONYMOUS_VISITOR'\n | 'MEMBER'\n | 'WIX_USER'\n | 'APP';\n\nexport interface AccountInfo {\n /**\n * ID of the Wix account associated with the event.\n * @format GUID\n */\n accountId?: string | null;\n /**\n * ID of the parent Wix account. Only included when accountId belongs to a child account.\n * @format GUID\n */\n parentAccountId?: string | null;\n /**\n * ID of the Wix site associated with the event. Only included when the event is tied to a specific site.\n * @format GUID\n */\n siteId?: string | null;\n}\n\n/** @docsIgnore */\nexport type CreateQuizApplicationErrors =\n | {\n code?: 'INVALID_QUIZ';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'QUIZ_CONFLICT';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type CloneQuizApplicationErrors =\n | {\n code?: 'QUIZ_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'QUIZ_CONFLICT';\n description?: string;\n data?: Record<string, any>;\n };\n/** @docsIgnore */\nexport type BulkCreateQuizzesApplicationErrors = {\n code?: 'INVALID_QUIZ';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type GetQuizApplicationErrors = {\n code?: 'QUIZ_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n};\n/** @docsIgnore */\nexport type DeleteQuizApplicationErrors =\n | {\n code?: 'QUIZ_NOT_FOUND';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'QUIZ_CONFLICT';\n description?: string;\n data?: Record<string, any>;\n };\n\n/**\n * Creates a detached quiz definition.\n *\n * 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.\n * @param quiz - Quiz definition to create. Generate a stable unique GUID for every `quiz.fields.id` value.\n * @public\n * @requiredField quiz\n * @requiredField quiz.fields\n * @requiredField quiz.fields.FieldType\n * @requiredField quiz.fields.FieldType.multiChoice.options\n * @requiredField quiz.fields.FieldType.singleChoice.options\n * @requiredField quiz.fields._id\n * @requiredField quiz.fields.question\n * @requiredField quiz.fields.target\n * @permissionId QUIZZES.CREATE_QUIZ\n * @applicableIdentity APP\n * @returns Created quiz definition. Assign its `id` to `step.quizOptions.id` to create an Online Programs quiz step.\n * @fqn wix.achievements.quizzes.v1.QuizService.CreateQuiz\n */\nexport async function createQuiz(\n quiz: NonNullablePaths<\n Quiz,\n | `fields`\n | `fields.${number}._id`\n | `fields.${number}.multiChoice.options`\n | `fields.${number}.question`\n | `fields.${number}.singleChoice.options`\n | `fields.${number}.target`,\n 3\n >\n): Promise<\n NonNullablePaths<Quiz, `fields` | `fields.${number}._id`, 2> & {\n __applicationErrorsType?: CreateQuizApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quiz: quiz });\n\n const reqOpts = ambassadorWixAchievementsQuizzesV1Quiz.createQuiz(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.quiz!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quiz: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quiz']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Clones a quiz definition and returns a new quiz ID.\n *\n * 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.\n * @param quizId - ID of the quiz definition to clone.\n * @public\n * @requiredField quizId\n * @permissionId QUIZZES.CREATE_QUIZ\n * @applicableIdentity APP\n * @fqn wix.achievements.quizzes.v1.QuizService.CloneQuiz\n */\nexport async function cloneQuiz(quizId: string): Promise<\n NonNullablePaths<\n CloneQuizResponse,\n `quiz.fields` | `quiz.fields.${number}._id`,\n 3\n > & {\n __applicationErrorsType?: CloneQuizApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quizId: quizId });\n\n const reqOpts = ambassadorWixAchievementsQuizzesV1Quiz.cloneQuiz(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quizId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quizId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Creates up to 30 detached quiz definitions in a single API call.\n *\n * 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.\n *\n * Invalid quiz definitions fail the entire request before any quizzes are created.\n *\n * 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.\n *\n * 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.\n * @param quizzes - Quiz definitions to create.\n * @public\n * @documentationMaturity preview\n * @requiredField quizzes\n * @requiredField quizzes.fields\n * @requiredField quizzes.fields.FieldType\n * @requiredField quizzes.fields.FieldType.multiChoice.options\n * @requiredField quizzes.fields.FieldType.singleChoice.options\n * @requiredField quizzes.fields._id\n * @requiredField quizzes.fields.question\n * @requiredField quizzes.fields.target\n * @permissionId achievements:quizzes:v1:quiz:bulk_create_quizzes\n * @applicableIdentity APP\n * @fqn wix.achievements.quizzes.v1.QuizService.BulkCreateQuizzes\n */\nexport async function bulkCreateQuizzes(\n quizzes: NonNullablePaths<\n Quiz,\n | `fields`\n | `fields.${number}._id`\n | `fields.${number}.multiChoice.options`\n | `fields.${number}.question`\n | `fields.${number}.singleChoice.options`\n | `fields.${number}.target`,\n 3\n >[],\n options?: BulkCreateQuizzesOptions\n): Promise<\n NonNullablePaths<\n BulkCreateQuizzesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n > & {\n __applicationErrorsType?: BulkCreateQuizzesApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n quizzes: quizzes,\n returnEntity: options?.returnEntity,\n });\n\n const reqOpts =\n ambassadorWixAchievementsQuizzesV1Quiz.bulkCreateQuizzes(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n quizzes: '$[0]',\n returnEntity: '$[1].returnEntity',\n },\n singleArgumentUnchanged: false,\n },\n ['quizzes', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface BulkCreateQuizzesOptions {\n /**\n * Whether to return the created quizzes in the response.\n *\n * Default: `false`\n */\n returnEntity?: boolean;\n}\n\n/**\n * Retrieves a quiz definition by ID.\n *\n * To discover a quiz ID, query or retrieve its quiz-type Online Programs step and read `step.quizOptions.id`.\n * @param quizId - Quiz ID, available from `step.quizOptions.id` on a quiz-type Online Programs step.\n * @public\n * @requiredField quizId\n * @permissionId achievements:quizzes:v1:quiz:get_quiz\n * @applicableIdentity APP\n * @returns Requested quiz definition.\n * @fqn wix.achievements.quizzes.v1.QuizService.GetQuiz\n */\nexport async function getQuiz(quizId: string): Promise<\n NonNullablePaths<Quiz, `fields` | `fields.${number}._id`, 2> & {\n __applicationErrorsType?: GetQuizApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quizId: quizId });\n\n const reqOpts = ambassadorWixAchievementsQuizzesV1Quiz.getQuiz(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)?.quiz!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quizId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quizId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Permanently deletes a quiz definition.\n *\n * 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.\n *\n * 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.\n * @param quizId - ID of the quiz definition to permanently delete.\n * @public\n * @requiredField quizId\n * @permissionId QUIZZES.DELETE_QUIZ\n * @applicableIdentity APP\n * @fqn wix.achievements.quizzes.v1.QuizService.DeleteQuiz\n */\nexport async function deleteQuiz(quizId: string): Promise<\n NonNullablePaths<\n DeleteQuizResponse,\n `quiz.fields` | `quiz.fields.${number}._id`,\n 3\n > & {\n __applicationErrorsType?: DeleteQuizApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quizId: quizId });\n\n const reqOpts = ambassadorWixAchievementsQuizzesV1Quiz.deleteQuiz(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quizId: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quizId']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\n/**\n * Permanently deletes up to 100 quiz definitions.\n *\n * 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.\n *\n * 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.\n *\n * 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.\n * @param quizIds - IDs of the quiz definitions to permanently delete. Coordinate deletion with the Steps API and remove known step references first.\n * @public\n * @documentationMaturity preview\n * @requiredField quizIds\n * @permissionId achievements:quizzes:v1:quiz:bulk_delete_quizzes\n * @applicableIdentity APP\n * @fqn wix.achievements.quizzes.v1.QuizService.BulkDeleteQuizzes\n */\nexport async function bulkDeleteQuizzes(\n quizIds: string[]\n): Promise<\n NonNullablePaths<\n BulkDeleteQuizzesResponse,\n | `results`\n | `results.${number}.itemMetadata.originalIndex`\n | `results.${number}.itemMetadata.success`\n | `results.${number}.itemMetadata.error.code`\n | `results.${number}.itemMetadata.error.description`\n | `bulkActionMetadata.totalSuccesses`\n | `bulkActionMetadata.totalFailures`\n | `bulkActionMetadata.undetailedFailures`,\n 4\n >\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[1] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({ quizIds: quizIds });\n\n const reqOpts =\n ambassadorWixAchievementsQuizzesV1Quiz.bulkDeleteQuizzes(payload);\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: { quizIds: '$[0]' },\n singleArgumentUnchanged: false,\n },\n ['quizIds']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n","import { toURLSearchParams } from '@wix/sdk-runtime/rest-modules';\nimport { transformSDKFloatToRESTFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformRESTFloatToSDKFloat } from '@wix/sdk-runtime/transformations/float';\nimport { transformSDKTimestampToRESTTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformRESTTimestampToSDKTimestamp } from '@wix/sdk-runtime/transformations/timestamp';\nimport { transformPaths } from '@wix/sdk-runtime/transformations/transform-paths';\nimport { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixAchievementsQuizzesV1QuizServiceUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/online-programs/v1/quizzes',\n destPath: '/v1/quizzes',\n },\n {\n srcPath: '/online-programs/v1/bulk/quizzes',\n destPath: '/v1/bulk/quizzes',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_online-programs_quizzes';\n\n/**\n * Creates a detached quiz definition.\n *\n * 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.\n */\nexport function createQuiz(payload: object): RequestOptionsFactory<any> {\n function __createQuiz({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'POST' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.CreateQuiz',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/quizzes',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __createQuiz;\n}\n\n/**\n * Clones a quiz definition and returns a new quiz ID.\n *\n * 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.\n */\nexport function cloneQuiz(payload: object): RequestOptionsFactory<any> {\n function __cloneQuiz({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'POST' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.CloneQuiz',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/quizzes/{quizId}/clone',\n data: payload,\n host,\n }),\n data: payload,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __cloneQuiz;\n}\n\n/**\n * Creates up to 30 detached quiz definitions in a single API call.\n *\n * 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.\n *\n * Invalid quiz definitions fail the entire request before any quizzes are created.\n *\n * 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.\n *\n * 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.\n */\nexport function bulkCreateQuizzes(payload: object): RequestOptionsFactory<any> {\n function __bulkCreateQuizzes({ host }: any) {\n const serializedData = transformPaths(payload, [\n {\n transformFn: transformSDKTimestampToRESTTimestamp,\n paths: [\n { path: 'quizzes.createdDate' },\n { path: 'quizzes.updatedDate' },\n ],\n },\n {\n transformFn: transformSDKFloatToRESTFloat,\n paths: [\n { path: 'quizzes.fields.score' },\n { path: 'quizzes.fields.numeric.rightAnswer' },\n ],\n },\n ]);\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'POST' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.BulkCreateQuizzes',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/bulk/quizzes/create',\n data: serializedData,\n host,\n }),\n data: serializedData,\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [\n { path: 'results.item.createdDate' },\n { path: 'results.item.updatedDate' },\n ],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'results.item.fields.score' },\n { path: 'results.item.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __bulkCreateQuizzes;\n}\n\n/**\n * Retrieves a quiz definition by ID.\n *\n * To discover a quiz ID, query or retrieve its quiz-type Online Programs step and read `step.quizOptions.id`.\n */\nexport function getQuiz(payload: object): RequestOptionsFactory<any> {\n function __getQuiz({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'GET' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.GetQuiz',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/quizzes/{quizId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __getQuiz;\n}\n\n/**\n * Permanently deletes a quiz definition.\n *\n * 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.\n *\n * 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.\n */\nexport function deleteQuiz(payload: object): RequestOptionsFactory<any> {\n function __deleteQuiz({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'DELETE' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.DeleteQuiz',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/quizzes/{quizId}',\n data: payload,\n host,\n }),\n params: toURLSearchParams(payload),\n transformResponse: (payload: any) =>\n transformPaths(payload, [\n {\n transformFn: transformRESTTimestampToSDKTimestamp,\n paths: [{ path: 'quiz.createdDate' }, { path: 'quiz.updatedDate' }],\n },\n {\n transformFn: transformRESTFloatToSDKFloat,\n paths: [\n { path: 'quiz.fields.score' },\n { path: 'quiz.fields.numeric.rightAnswer' },\n ],\n },\n ]),\n };\n\n return metadata;\n }\n\n return __deleteQuiz;\n}\n\n/**\n * Permanently deletes up to 100 quiz definitions.\n *\n * 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.\n *\n * 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.\n *\n * 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.\n */\nexport function bulkDeleteQuizzes(payload: object): RequestOptionsFactory<any> {\n function __bulkDeleteQuizzes({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.achievements.quizzes.v1.quiz',\n method: 'POST' as any,\n methodFqn: 'wix.achievements.quizzes.v1.QuizService.BulkDeleteQuizzes',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixAchievementsQuizzesV1QuizServiceUrl({\n protoPath: '/v1/bulk/quizzes/delete',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __bulkDeleteQuizzes;\n}\n"],"mappings":"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","names":["bulkCreateQuizzes","bulkDeleteQuizzes","cloneQuiz","createQuiz","deleteQuiz","getQuiz","import_float","import_timestamp","import_rest_modules","payload","FileUploadFormat","WebhookIdentityType","createQuiz","sdkTransformError","cloneQuiz","bulkCreateQuizzes","getQuiz","deleteQuiz","bulkDeleteQuizzes"]}
|
package/build/cjs/meta.d.ts
CHANGED
|
@@ -1,32 +1,41 @@
|
|
|
1
1
|
import { CreateQuizRequest as CreateQuizRequest$1, CreateQuizResponse as CreateQuizResponse$1, CloneQuizRequest as CloneQuizRequest$1, CloneQuizResponse as CloneQuizResponse$1, BulkCreateQuizzesRequest as BulkCreateQuizzesRequest$1, BulkCreateQuizzesResponse as BulkCreateQuizzesResponse$1, GetQuizRequest as GetQuizRequest$1, GetQuizResponse as GetQuizResponse$1, DeleteQuizRequest as DeleteQuizRequest$1, DeleteQuizResponse as DeleteQuizResponse$1, BulkDeleteQuizzesRequest as BulkDeleteQuizzesRequest$1, BulkDeleteQuizzesResponse as BulkDeleteQuizzesResponse$1 } from './index.typings.js';
|
|
2
2
|
import '@wix/sdk-types';
|
|
3
3
|
|
|
4
|
+
/**
|
|
5
|
+
* A quiz definition used by an Online Programs quiz step.
|
|
6
|
+
*
|
|
7
|
+
* 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.
|
|
8
|
+
*
|
|
9
|
+
* 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.
|
|
10
|
+
*
|
|
11
|
+
* 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.
|
|
12
|
+
*/
|
|
4
13
|
interface Quiz {
|
|
5
14
|
/**
|
|
6
|
-
* ID
|
|
15
|
+
* Quiz ID.
|
|
7
16
|
* @format GUID
|
|
8
17
|
* @readonly
|
|
9
18
|
*/
|
|
10
19
|
id?: string | null;
|
|
11
|
-
/** Quiz settings */
|
|
20
|
+
/** Quiz title, passing grade, and attempt limit. New submissions use the current settings; stored submissions retain their recorded grade data. */
|
|
12
21
|
settings?: QuizSettings;
|
|
13
22
|
/**
|
|
14
|
-
*
|
|
23
|
+
* 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.
|
|
15
24
|
* @readonly
|
|
16
25
|
*/
|
|
17
26
|
revision?: string | null;
|
|
18
27
|
/**
|
|
19
|
-
*
|
|
28
|
+
* Date and time the quiz was created.
|
|
20
29
|
* @readonly
|
|
21
30
|
*/
|
|
22
31
|
createdDate?: Date | null;
|
|
23
32
|
/**
|
|
24
|
-
*
|
|
33
|
+
* Date and time the quiz was last updated.
|
|
25
34
|
* @readonly
|
|
26
35
|
*/
|
|
27
36
|
updatedDate?: Date | null;
|
|
28
37
|
/**
|
|
29
|
-
*
|
|
38
|
+
* 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.
|
|
30
39
|
* @minSize 1
|
|
31
40
|
* @maxSize 200
|
|
32
41
|
*/
|
|
@@ -34,119 +43,122 @@ interface Quiz {
|
|
|
34
43
|
}
|
|
35
44
|
interface QuizSettings {
|
|
36
45
|
/**
|
|
37
|
-
*
|
|
46
|
+
* 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.
|
|
38
47
|
* @max 100
|
|
39
48
|
*/
|
|
40
49
|
passingGrade?: number | null;
|
|
41
50
|
/**
|
|
42
|
-
* Quiz title
|
|
51
|
+
* Quiz title.
|
|
43
52
|
* @maxLength 200
|
|
44
53
|
*/
|
|
45
54
|
title?: string | null;
|
|
46
55
|
/**
|
|
47
|
-
*
|
|
56
|
+
* 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.
|
|
48
57
|
* @min 1
|
|
49
58
|
*/
|
|
50
59
|
attempts?: number | null;
|
|
51
60
|
}
|
|
61
|
+
/** Defines one quiz question and its answer input. */
|
|
52
62
|
interface QuizField extends QuizFieldFieldTypeOneOf {
|
|
53
|
-
/**
|
|
63
|
+
/** Numeric input. */
|
|
54
64
|
numeric?: NumericField;
|
|
55
|
-
/**
|
|
65
|
+
/** Short-text input. */
|
|
56
66
|
shortText?: ShortTextField;
|
|
57
|
-
/**
|
|
67
|
+
/** Long-text input. Set this to an empty object (`{}`) to select it. */
|
|
58
68
|
longText?: LongTextField;
|
|
59
|
-
/**
|
|
69
|
+
/** Input with predefined options where only one option can be selected. */
|
|
60
70
|
singleChoice?: SingleChoiceField;
|
|
61
|
-
/**
|
|
71
|
+
/** Input with predefined options where multiple options can be selected. */
|
|
62
72
|
multiChoice?: MultiChoiceField;
|
|
63
|
-
/**
|
|
73
|
+
/** File-upload input. */
|
|
64
74
|
fileUpload?: FileUploadField;
|
|
65
75
|
/**
|
|
66
|
-
*
|
|
76
|
+
* 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.
|
|
67
77
|
* @format GUID
|
|
68
78
|
* @immutable
|
|
69
79
|
*/
|
|
70
80
|
id?: string;
|
|
71
81
|
/**
|
|
72
|
-
*
|
|
82
|
+
* 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.
|
|
73
83
|
* @maxLength 200
|
|
74
84
|
* @immutable
|
|
75
85
|
*/
|
|
76
86
|
target?: string | null;
|
|
77
87
|
/**
|
|
78
|
-
* Question
|
|
88
|
+
* Question text.
|
|
79
89
|
* @minLength 1
|
|
80
90
|
* @maxLength 350
|
|
81
91
|
*/
|
|
82
92
|
question?: string | null;
|
|
83
|
-
/** Score
|
|
93
|
+
/** 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. */
|
|
84
94
|
score?: number | null;
|
|
85
95
|
/**
|
|
86
|
-
*
|
|
96
|
+
* Feedback returned when an evaluable submitted answer is correct. Omitted for non-evaluable answers.
|
|
87
97
|
* @maxLength 350
|
|
88
98
|
*/
|
|
89
99
|
rightMessage?: string | null;
|
|
90
100
|
/**
|
|
91
|
-
*
|
|
101
|
+
* Feedback returned when an evaluable submitted answer is incorrect. Omitted for non-evaluable answers.
|
|
92
102
|
* @maxLength 350
|
|
93
103
|
*/
|
|
94
104
|
wrongMessage?: string | null;
|
|
95
105
|
}
|
|
96
106
|
/** @oneof */
|
|
97
107
|
interface QuizFieldFieldTypeOneOf {
|
|
98
|
-
/**
|
|
108
|
+
/** Numeric input. */
|
|
99
109
|
numeric?: NumericField;
|
|
100
|
-
/**
|
|
110
|
+
/** Short-text input. */
|
|
101
111
|
shortText?: ShortTextField;
|
|
102
|
-
/**
|
|
112
|
+
/** Long-text input. Set this to an empty object (`{}`) to select it. */
|
|
103
113
|
longText?: LongTextField;
|
|
104
|
-
/**
|
|
114
|
+
/** Input with predefined options where only one option can be selected. */
|
|
105
115
|
singleChoice?: SingleChoiceField;
|
|
106
|
-
/**
|
|
116
|
+
/** Input with predefined options where multiple options can be selected. */
|
|
107
117
|
multiChoice?: MultiChoiceField;
|
|
108
|
-
/**
|
|
118
|
+
/** File-upload input. */
|
|
109
119
|
fileUpload?: FileUploadField;
|
|
110
120
|
}
|
|
121
|
+
/** 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). */
|
|
111
122
|
declare enum FileUploadFormat {
|
|
112
|
-
/** Image
|
|
123
|
+
/** Image-file category. */
|
|
113
124
|
IMAGE = "IMAGE",
|
|
114
|
-
/** Video
|
|
125
|
+
/** Video-file category. */
|
|
115
126
|
VIDEO = "VIDEO",
|
|
116
|
-
/** Audio
|
|
127
|
+
/** Audio-file category. */
|
|
117
128
|
AUDIO = "AUDIO",
|
|
118
|
-
/** Document
|
|
129
|
+
/** Document-file category. */
|
|
119
130
|
DOCUMENT = "DOCUMENT",
|
|
120
|
-
/** Archive
|
|
131
|
+
/** Archive-file category. */
|
|
121
132
|
ARCHIVE = "ARCHIVE",
|
|
122
|
-
/** 3D
|
|
133
|
+
/** 3D-model-file category. */
|
|
123
134
|
MODEL_3D = "MODEL_3D"
|
|
124
135
|
}
|
|
125
136
|
/** @enumType */
|
|
126
137
|
type FileUploadFormatWithLiterals = FileUploadFormat | 'IMAGE' | 'VIDEO' | 'AUDIO' | 'DOCUMENT' | 'ARCHIVE' | 'MODEL_3D';
|
|
127
138
|
interface NumericField {
|
|
128
|
-
/**
|
|
139
|
+
/** Correct numeric value. Matching is exact. If omitted, the answer is non-evaluable and counts as correct when calculating the earned grade. */
|
|
129
140
|
rightAnswer?: number | null;
|
|
130
141
|
}
|
|
131
142
|
interface ShortTextField {
|
|
132
143
|
/**
|
|
133
|
-
*
|
|
144
|
+
* 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.
|
|
134
145
|
* @minLength 1
|
|
135
146
|
* @maxLength 200
|
|
136
147
|
*/
|
|
137
148
|
rightAnswer?: string | null;
|
|
138
149
|
}
|
|
150
|
+
/** 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. */
|
|
139
151
|
interface LongTextField {
|
|
140
152
|
}
|
|
141
153
|
interface SingleChoiceField {
|
|
142
154
|
/**
|
|
143
|
-
*
|
|
155
|
+
* Correct option. Matching is exact. If omitted, the answer is non-evaluable and counts as correct when calculating the earned grade.
|
|
144
156
|
* @minLength 1
|
|
145
157
|
* @maxLength 350
|
|
146
158
|
*/
|
|
147
159
|
rightAnswer?: string | null;
|
|
148
160
|
/**
|
|
149
|
-
*
|
|
161
|
+
* Options available to the participant.
|
|
150
162
|
* @minSize 1
|
|
151
163
|
* @maxSize 90
|
|
152
164
|
* @minLength 1
|
|
@@ -158,13 +170,14 @@ interface MultiChoiceField {
|
|
|
158
170
|
/**
|
|
159
171
|
* Returned only with achievements:quizzes:v1:quiz:read_sensitive_fields permission.
|
|
160
172
|
* Repeated fields cannot use conditional annotations; the service redacts this field.
|
|
173
|
+
* 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.
|
|
161
174
|
* @maxSize 90
|
|
162
175
|
* @minLength 1
|
|
163
176
|
* @maxLength 350
|
|
164
177
|
*/
|
|
165
178
|
rightAnswer?: string[] | null;
|
|
166
179
|
/**
|
|
167
|
-
*
|
|
180
|
+
* Options available to the participant.
|
|
168
181
|
* @minSize 1
|
|
169
182
|
* @maxSize 90
|
|
170
183
|
* @minLength 1
|
|
@@ -174,42 +187,42 @@ interface MultiChoiceField {
|
|
|
174
187
|
}
|
|
175
188
|
interface FileUploadField {
|
|
176
189
|
/**
|
|
177
|
-
* Text
|
|
190
|
+
* Text displayed on the upload button. Default: `Upload`.
|
|
178
191
|
* @minLength 1
|
|
179
192
|
* @maxLength 100
|
|
180
193
|
*/
|
|
181
194
|
buttonText?: string | null;
|
|
182
195
|
/**
|
|
183
|
-
*
|
|
196
|
+
* Maximum number of files a participant can upload for this question, from `1` through `10`. Default: `10`.
|
|
184
197
|
* @min 1
|
|
185
198
|
* @max 10
|
|
186
199
|
*/
|
|
187
200
|
itemsLimit?: number | null;
|
|
188
201
|
/**
|
|
189
|
-
*
|
|
202
|
+
* Wix Forms file categories that participants can upload.
|
|
190
203
|
*
|
|
191
|
-
* Specify at least one format. `UNKNOWN_FILE_UPLOAD_FORMAT` isn't supported as a format selection.
|
|
204
|
+
* 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.
|
|
192
205
|
* @maxSize 6
|
|
193
206
|
*/
|
|
194
207
|
fileUploadFormats?: FileUploadFormatWithLiterals[];
|
|
195
208
|
}
|
|
196
209
|
interface CreateQuizRequest {
|
|
197
|
-
/** Quiz to
|
|
210
|
+
/** Quiz definition to create. Generate a stable unique GUID for every `quiz.fields.id` value. */
|
|
198
211
|
quiz: Quiz;
|
|
199
212
|
}
|
|
200
213
|
interface CreateQuizResponse {
|
|
201
|
-
/** Created quiz */
|
|
214
|
+
/** Created quiz definition. Assign its `id` to `step.quizOptions.id` to create an Online Programs quiz step. */
|
|
202
215
|
quiz?: Quiz;
|
|
203
216
|
}
|
|
204
217
|
interface CloneQuizRequest {
|
|
205
218
|
/**
|
|
206
|
-
* ID of the quiz to
|
|
219
|
+
* ID of the quiz definition to clone.
|
|
207
220
|
* @format GUID
|
|
208
221
|
*/
|
|
209
222
|
quizId: string;
|
|
210
223
|
}
|
|
211
224
|
interface CloneQuizResponse {
|
|
212
|
-
/** Cloned quiz */
|
|
225
|
+
/** Cloned quiz definition with a new ID. Step associations and submissions aren't cloned. */
|
|
213
226
|
quiz?: Quiz;
|
|
214
227
|
}
|
|
215
228
|
interface BulkCreateQuizzesRequest {
|
|
@@ -255,7 +268,7 @@ interface ApplicationError {
|
|
|
255
268
|
data?: Record<string, any> | null;
|
|
256
269
|
}
|
|
257
270
|
interface BulkCreateQuizzesResponseBulkQuizResult {
|
|
258
|
-
/** Metadata for the individual create operation. */
|
|
271
|
+
/** Metadata for the individual create operation. When the operation fails, `error` contains the original Wix Forms application error. */
|
|
259
272
|
itemMetadata?: ItemMetadata;
|
|
260
273
|
/** Created quiz. Empty when `return_entity` is `false`. */
|
|
261
274
|
item?: Quiz;
|
|
@@ -297,29 +310,29 @@ interface BulkQuizResult {
|
|
|
297
310
|
}
|
|
298
311
|
interface GetQuizRequest {
|
|
299
312
|
/**
|
|
300
|
-
* ID
|
|
313
|
+
* Quiz ID, available from `step.quizOptions.id` on a quiz-type Online Programs step.
|
|
301
314
|
* @format GUID
|
|
302
315
|
*/
|
|
303
316
|
quizId: string;
|
|
304
317
|
}
|
|
305
318
|
interface GetQuizResponse {
|
|
306
|
-
/** Requested quiz */
|
|
319
|
+
/** Requested quiz definition. */
|
|
307
320
|
quiz?: Quiz;
|
|
308
321
|
}
|
|
309
322
|
interface DeleteQuizRequest {
|
|
310
323
|
/**
|
|
311
|
-
* ID of quiz
|
|
324
|
+
* ID of the quiz definition to permanently delete.
|
|
312
325
|
* @format GUID
|
|
313
326
|
*/
|
|
314
327
|
quizId: string;
|
|
315
328
|
}
|
|
316
329
|
interface DeleteQuizResponse {
|
|
317
|
-
/**
|
|
330
|
+
/** Permanently deleted quiz definition. */
|
|
318
331
|
quiz?: Quiz;
|
|
319
332
|
}
|
|
320
333
|
interface BulkDeleteQuizzesRequest {
|
|
321
334
|
/**
|
|
322
|
-
* IDs of the
|
|
335
|
+
* IDs of the quiz definitions to permanently delete. Coordinate deletion with the Steps API and remove known step references first.
|
|
323
336
|
* @minSize 1
|
|
324
337
|
* @maxSize 100
|
|
325
338
|
* @format GUID
|
|
@@ -337,7 +350,7 @@ interface BulkDeleteQuizzesResponse {
|
|
|
337
350
|
bulkActionMetadata?: BulkActionMetadata;
|
|
338
351
|
}
|
|
339
352
|
interface BulkDeleteQuizzesResponseBulkQuizResult {
|
|
340
|
-
/** Metadata for the individual delete operation. */
|
|
353
|
+
/** Metadata for the individual delete operation. When the operation fails, `error` contains the original Wix Forms application error. */
|
|
341
354
|
itemMetadata?: ItemMetadata;
|
|
342
355
|
}
|
|
343
356
|
interface DomainEvent extends DomainEventBodyOneOf {
|
|
@@ -495,6 +508,48 @@ interface AccountInfo {
|
|
|
495
508
|
*/
|
|
496
509
|
siteId?: string | null;
|
|
497
510
|
}
|
|
511
|
+
/** @docsIgnore */
|
|
512
|
+
type CreateQuizApplicationErrors = {
|
|
513
|
+
code?: 'INVALID_QUIZ';
|
|
514
|
+
description?: string;
|
|
515
|
+
data?: Record<string, any>;
|
|
516
|
+
} | {
|
|
517
|
+
code?: 'QUIZ_CONFLICT';
|
|
518
|
+
description?: string;
|
|
519
|
+
data?: Record<string, any>;
|
|
520
|
+
};
|
|
521
|
+
/** @docsIgnore */
|
|
522
|
+
type CloneQuizApplicationErrors = {
|
|
523
|
+
code?: 'QUIZ_NOT_FOUND';
|
|
524
|
+
description?: string;
|
|
525
|
+
data?: Record<string, any>;
|
|
526
|
+
} | {
|
|
527
|
+
code?: 'QUIZ_CONFLICT';
|
|
528
|
+
description?: string;
|
|
529
|
+
data?: Record<string, any>;
|
|
530
|
+
};
|
|
531
|
+
/** @docsIgnore */
|
|
532
|
+
type BulkCreateQuizzesApplicationErrors = {
|
|
533
|
+
code?: 'INVALID_QUIZ';
|
|
534
|
+
description?: string;
|
|
535
|
+
data?: Record<string, any>;
|
|
536
|
+
};
|
|
537
|
+
/** @docsIgnore */
|
|
538
|
+
type GetQuizApplicationErrors = {
|
|
539
|
+
code?: 'QUIZ_NOT_FOUND';
|
|
540
|
+
description?: string;
|
|
541
|
+
data?: Record<string, any>;
|
|
542
|
+
};
|
|
543
|
+
/** @docsIgnore */
|
|
544
|
+
type DeleteQuizApplicationErrors = {
|
|
545
|
+
code?: 'QUIZ_NOT_FOUND';
|
|
546
|
+
description?: string;
|
|
547
|
+
data?: Record<string, any>;
|
|
548
|
+
} | {
|
|
549
|
+
code?: 'QUIZ_CONFLICT';
|
|
550
|
+
description?: string;
|
|
551
|
+
data?: Record<string, any>;
|
|
552
|
+
};
|
|
498
553
|
|
|
499
554
|
type __PublicMethodMetaInfo<K = string, M = unknown, T = unknown, S = unknown, Q = unknown, R = unknown> = {
|
|
500
555
|
getUrl: (context: any) => string;
|
|
@@ -519,4 +574,4 @@ declare function deleteQuiz(): __PublicMethodMetaInfo<'DELETE', {
|
|
|
519
574
|
}, DeleteQuizRequest$1, DeleteQuizRequest, DeleteQuizResponse$1, DeleteQuizResponse>;
|
|
520
575
|
declare function bulkDeleteQuizzes(): __PublicMethodMetaInfo<'POST', {}, BulkDeleteQuizzesRequest$1, BulkDeleteQuizzesRequest, BulkDeleteQuizzesResponse$1, BulkDeleteQuizzesResponse>;
|
|
521
576
|
|
|
522
|
-
export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type ApplicationError as ApplicationErrorOriginal, type BulkActionMetadata as BulkActionMetadataOriginal, type BulkCloneQuizzesRequest as BulkCloneQuizzesRequestOriginal, type BulkCloneQuizzesResponse as BulkCloneQuizzesResponseOriginal, type BulkCreateQuizzesRequest as BulkCreateQuizzesRequestOriginal, type BulkCreateQuizzesResponseBulkQuizResult as BulkCreateQuizzesResponseBulkQuizResultOriginal, type BulkCreateQuizzesResponse as BulkCreateQuizzesResponseOriginal, type BulkDeleteQuizzesRequest as BulkDeleteQuizzesRequestOriginal, type BulkDeleteQuizzesResponseBulkQuizResult as BulkDeleteQuizzesResponseBulkQuizResultOriginal, type BulkDeleteQuizzesResponse as BulkDeleteQuizzesResponseOriginal, type BulkQuizResult as BulkQuizResultOriginal, type CloneQuizRequest as CloneQuizRequestOriginal, type CloneQuizResponse as CloneQuizResponseOriginal, type CreateQuizRequest as CreateQuizRequestOriginal, type CreateQuizResponse as CreateQuizResponseOriginal, type DeleteQuizRequest as DeleteQuizRequestOriginal, type DeleteQuizResponse as DeleteQuizResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type FileUploadField as FileUploadFieldOriginal, FileUploadFormat as FileUploadFormatOriginal, type FileUploadFormatWithLiterals as FileUploadFormatWithLiteralsOriginal, type GetQuizRequest as GetQuizRequestOriginal, type GetQuizResponse as GetQuizResponseOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type ItemMetadata as ItemMetadataOriginal, type LongTextField as LongTextFieldOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type MultiChoiceField as MultiChoiceFieldOriginal, type NumericField as NumericFieldOriginal, type QuizFieldFieldTypeOneOf as QuizFieldFieldTypeOneOfOriginal, type QuizField as QuizFieldOriginal, type Quiz as QuizOriginal, type QuizSettings as QuizSettingsOriginal, type RestoreInfo as RestoreInfoOriginal, type ShortTextField as ShortTextFieldOriginal, type SingleChoiceField as SingleChoiceFieldOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, bulkCreateQuizzes, bulkDeleteQuizzes, cloneQuiz, createQuiz, deleteQuiz, getQuiz };
|
|
577
|
+
export { type AccountInfo as AccountInfoOriginal, type ActionEvent as ActionEventOriginal, type ApplicationError as ApplicationErrorOriginal, type BulkActionMetadata as BulkActionMetadataOriginal, type BulkCloneQuizzesRequest as BulkCloneQuizzesRequestOriginal, type BulkCloneQuizzesResponse as BulkCloneQuizzesResponseOriginal, type BulkCreateQuizzesApplicationErrors as BulkCreateQuizzesApplicationErrorsOriginal, type BulkCreateQuizzesRequest as BulkCreateQuizzesRequestOriginal, type BulkCreateQuizzesResponseBulkQuizResult as BulkCreateQuizzesResponseBulkQuizResultOriginal, type BulkCreateQuizzesResponse as BulkCreateQuizzesResponseOriginal, type BulkDeleteQuizzesRequest as BulkDeleteQuizzesRequestOriginal, type BulkDeleteQuizzesResponseBulkQuizResult as BulkDeleteQuizzesResponseBulkQuizResultOriginal, type BulkDeleteQuizzesResponse as BulkDeleteQuizzesResponseOriginal, type BulkQuizResult as BulkQuizResultOriginal, type CloneQuizApplicationErrors as CloneQuizApplicationErrorsOriginal, type CloneQuizRequest as CloneQuizRequestOriginal, type CloneQuizResponse as CloneQuizResponseOriginal, type CreateQuizApplicationErrors as CreateQuizApplicationErrorsOriginal, type CreateQuizRequest as CreateQuizRequestOriginal, type CreateQuizResponse as CreateQuizResponseOriginal, type DeleteQuizApplicationErrors as DeleteQuizApplicationErrorsOriginal, type DeleteQuizRequest as DeleteQuizRequestOriginal, type DeleteQuizResponse as DeleteQuizResponseOriginal, type DomainEventBodyOneOf as DomainEventBodyOneOfOriginal, type DomainEvent as DomainEventOriginal, type EntityCreatedEvent as EntityCreatedEventOriginal, type EntityDeletedEvent as EntityDeletedEventOriginal, type EntityUpdatedEvent as EntityUpdatedEventOriginal, type FileUploadField as FileUploadFieldOriginal, FileUploadFormat as FileUploadFormatOriginal, type FileUploadFormatWithLiterals as FileUploadFormatWithLiteralsOriginal, type GetQuizApplicationErrors as GetQuizApplicationErrorsOriginal, type GetQuizRequest as GetQuizRequestOriginal, type GetQuizResponse as GetQuizResponseOriginal, type IdentificationDataIdOneOf as IdentificationDataIdOneOfOriginal, type IdentificationData as IdentificationDataOriginal, type ItemMetadata as ItemMetadataOriginal, type LongTextField as LongTextFieldOriginal, type MessageEnvelope as MessageEnvelopeOriginal, type MultiChoiceField as MultiChoiceFieldOriginal, type NumericField as NumericFieldOriginal, type QuizFieldFieldTypeOneOf as QuizFieldFieldTypeOneOfOriginal, type QuizField as QuizFieldOriginal, type Quiz as QuizOriginal, type QuizSettings as QuizSettingsOriginal, type RestoreInfo as RestoreInfoOriginal, type ShortTextField as ShortTextFieldOriginal, type SingleChoiceField as SingleChoiceFieldOriginal, WebhookIdentityType as WebhookIdentityTypeOriginal, type WebhookIdentityTypeWithLiterals as WebhookIdentityTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, bulkCreateQuizzes, bulkDeleteQuizzes, cloneQuiz, createQuiz, deleteQuiz, getQuiz };
|