/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
import { assessmentResultsCreate } from "../funcs/assessmentResultsCreate.js";
import { assessmentResultsDelete } from "../funcs/assessmentResultsDelete.js";
import { assessmentResultsGet } from "../funcs/assessmentResultsGet.js";
import { assessmentResultsGetAll } from "../funcs/assessmentResultsGetAll.js";
import { assessmentResultsUpdate } from "../funcs/assessmentResultsUpdate.js";
import { ClientSDK } from "../lib/sdks.js";
import { unwrapAsync } from "../types/fp.js";
import { unwrapResultIterator } from "../types/operations.js";
export class AssessmentResults extends ClientSDK {
    /**
     * Get all Assessment Results
     *
     * @remarks
     * Get all of the Assessment Results on the service provider.
     */
    async getAll(request, options) {
        return unwrapResultIterator(assessmentResultsGetAll(this, request, options));
    }
    /**
     * Create an Assessment Result
     *
     * @remarks
     * To create an Assessment Result. The responding system must return the set of sourcedIds that have been allocated to the newly created assessmentResult record. An Assessment Line Item sourcedId and Student sourcedId MUST be provided when creating an assessmentResult.
     */
    async create(request, options) {
        return unwrapAsync(assessmentResultsCreate(this, request, options));
    }
    /**
     * Get an Assessment Result
     *
     * @remarks
     * Get a specific Assessment Result on the service provider. If the corresponding record cannot be located, the api will return a 404 error code and message 'Assessment result not found.'
     */
    async get(request, options) {
        return unwrapAsync(assessmentResultsGet(this, request, options));
    }
    /**
     * Update an Assessment Result
     *
     * @remarks
     * To update an existing Assessment Result. The sourcedId for the record to be updated is supplied by the requesting system.
     */
    async update(request, options) {
        return unwrapAsync(assessmentResultsUpdate(this, request, options));
    }
    /**
     * Delete an Assessment Result
     *
     * @remarks
     * Perform a soft delete on a specific Assessment Result on the service provider. This operation changes the status of the Assessment Result to 'tobedeleted'.
     */
    async delete(request, options) {
        return unwrapAsync(assessmentResultsDelete(this, request, options));
    }
}
//# sourceMappingURL=assessmentresults.js.map