"use strict";
/*
 * Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.Enrollments = void 0;
const enrollmentsCreate_js_1 = require("../funcs/enrollmentsCreate.js");
const enrollmentsDelete_js_1 = require("../funcs/enrollmentsDelete.js");
const enrollmentsGet_js_1 = require("../funcs/enrollmentsGet.js");
const enrollmentsGetAll_js_1 = require("../funcs/enrollmentsGetAll.js");
const enrollmentsGetForClass_js_1 = require("../funcs/enrollmentsGetForClass.js");
const enrollmentsUpdate_js_1 = require("../funcs/enrollmentsUpdate.js");
const sdks_js_1 = require("../lib/sdks.js");
const fp_js_1 = require("../types/fp.js");
const operations_js_1 = require("../types/operations.js");
class Enrollments extends sdks_js_1.ClientSDK {
    /**
     * Get all Enrollments
     *
     * @remarks
     * To get all Enrollments on the service provider.
     */
    async getAll(request, options) {
        return (0, operations_js_1.unwrapResultIterator)((0, enrollmentsGetAll_js_1.enrollmentsGetAll)(this, request, options));
    }
    /**
     * Create a new Enrollment
     *
     * @remarks
     * To create a new Enrollment. The responding system must return the set of sourcedIds that have been allocated to the newly created enrollment record.
     */
    async create(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, enrollmentsCreate_js_1.enrollmentsCreate)(this, request, options));
    }
    /**
     * Get a specific Enrollment
     *
     * @remarks
     * Get a specific Enrollment on the service provider. If the corresponding record cannot be located, the api will return a 404 error code and message 'Enrollment not found.'
     */
    async get(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, enrollmentsGet_js_1.enrollmentsGet)(this, request, options));
    }
    /**
     * Update an Enrollment
     *
     * @remarks
     * To update an existing Enrollment. The sourcedId for the record to be updated is supplied by the requesting system.
     */
    async update(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, enrollmentsUpdate_js_1.enrollmentsUpdate)(this, request, options));
    }
    /**
     * Delete an Enrollment
     *
     * @remarks
     * Perform a soft delete on a specific Enrollment on the service provider. The operation changes the status of the Enrollment to 'tobedeleted'.
     */
    async delete(request, options) {
        return (0, fp_js_1.unwrapAsync)((0, enrollmentsDelete_js_1.enrollmentsDelete)(this, request, options));
    }
    /**
     * Get Enrollments for a specific Class in a School
     *
     * @remarks
     * To get all Enrollments for a Class in a School on the service provider. If the specified school and/or class cannot be identified within the service provider, the api will return a 404 error code and message 'School or class not found.'
     */
    async getForClass(request, options) {
        return (0, operations_js_1.unwrapResultIterator)((0, enrollmentsGetForClass_js_1.enrollmentsGetForClass)(this, request, options));
    }
}
exports.Enrollments = Enrollments;
//# sourceMappingURL=enrollments.js.map