/* Options:
Date: 2025-04-10 03:28:13
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: PersonVerySimpleRequest.*
//ExcludeTypes: 
//DefaultImports: package:servicestack/servicestack.dart,dart:typed_data
*/

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

class PersonVerySimpleResponse implements IConvertible
{
    ResponseStatus? responseStatus;
    String? first_name;
    String? last_name;
    String? preferred_name;
    String? email;

    PersonVerySimpleResponse({this.responseStatus,this.first_name,this.last_name,this.preferred_name,this.email});
    PersonVerySimpleResponse.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!);
        first_name = json['first_name'];
        last_name = json['last_name'];
        preferred_name = json['preferred_name'];
        email = json['email'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!),
        'first_name': first_name,
        'last_name': last_name,
        'preferred_name': preferred_name,
        'email': email
    };

    getTypeName() => "PersonVerySimpleResponse";
    TypeContext? context = _ctx;
}

// @Route("/person/regent_login/{regent_login}", "POST")
class PersonVerySimpleRequest implements IReturn<PersonVerySimpleResponse>, IConvertible, IPost
{
    String? regent_login;

    PersonVerySimpleRequest({this.regent_login});
    PersonVerySimpleRequest.fromJson(Map<String, dynamic> json) { fromMap(json); }

    fromMap(Map<String, dynamic> json) {
        regent_login = json['regent_login'];
        return this;
    }

    Map<String, dynamic> toJson() => {
        'regent_login': regent_login
    };

    createResponse() => PersonVerySimpleResponse();
    getResponseTypeName() => "PersonVerySimpleResponse";
    getTypeName() => "PersonVerySimpleRequest";
    TypeContext? context = _ctx;
}

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