/* Options:
Date: 2025-04-12 23:13:42
Version: 8.22
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://data.regent-college.edu

//GlobalNamespace: 
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: CourseEvaluationSectionsRequest.*
//ExcludeTypes: 
//DefaultImports: package:servicestack/servicestack.dart,dart:typed_data
*/

import 'package:servicestack/servicestack.dart';
import 'dart:typed_data';

// @Route("/CourseEvaluation/Sections/{reportingTerm}", "POST")
class CourseEvaluationSectionsRequest implements IReturn<List<CourseEvaluationCourseSummaryResponse>>, IConvertible, IPost
{
    List<String>? section_uuids;
    String? reporting_term;

    CourseEvaluationSectionsRequest({this.section_uuids,this.reporting_term});
    CourseEvaluationSectionsRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        section_uuids = JsonConverters.fromJson(json['section_uuids'],'List<String>',context!);
        reporting_term = json['reporting_term'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'section_uuids': JsonConverters.toJson(section_uuids,'List<String>',context!),
        'reporting_term': reporting_term
    };

    createResponse() => <CourseEvaluationCourseSummaryResponse>[];
    getResponseTypeName() => "List<CourseEvaluationCourseSummaryResponse>";
    getTypeName() => "CourseEvaluationSectionsRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'data.regent_college.edu', types: <String, TypeInfo> {
    'CourseEvaluationSectionsRequest': TypeInfo(TypeOf.Class, create:() => CourseEvaluationSectionsRequest()),
});