/* Options:
Date: 2025-04-15 10:10:14
Version: 8.0
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://consumer-api.brovs.com

//GlobalNamespace: ConsumerApi
//AddServiceStackTypes: True
//AddResponseStatus: False
//AddImplicitVersion: 
//AddDescriptionAsComments: True
IncludeTypes: ProfileUpdateEmailSendVerificationLinkRequest.*
//ExcludeTypes: 
//DefaultImports: package:servicestack/servicestack.dart
*/


library ConsumerApi;
import 'package:servicestack/servicestack.dart';

class ProfileUpdateEmailSendVerificationLinkResponse implements IConvertible
{
    String? sentEmailWithRequestId;

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

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

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

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

// @Route("/profile/update-email-start", "PUT")
class ProfileUpdateEmailSendVerificationLinkRequest implements IReturn<ProfileUpdateEmailSendVerificationLinkResponse>, IPut, IConvertible
{
    // @Validate(Validator="NotEmpty")
    // @Validate(Validator="Email")
    String? email;

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

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

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

    createResponse() => ProfileUpdateEmailSendVerificationLinkResponse();
    getResponseTypeName() => "ProfileUpdateEmailSendVerificationLinkResponse";
    getTypeName() => "ProfileUpdateEmailSendVerificationLinkRequest";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'ConsumerApi', types: <String, TypeInfo> {
    'ProfileUpdateEmailSendVerificationLinkResponse': TypeInfo(TypeOf.Class, create:() => ProfileUpdateEmailSendVerificationLinkResponse()),
    'ProfileUpdateEmailSendVerificationLinkRequest': TypeInfo(TypeOf.Class, create:() => ProfileUpdateEmailSendVerificationLinkRequest()),
});