/* Options:
Date: 2025-04-14 04:25:46
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: SharePlaceLinkRequest.*
//ExcludeTypes: 
//DefaultImports: package:servicestack/servicestack.dart
*/


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

class SharePlaceLinkResponse implements IConvertible
{
    String? linkWithSharePlaceToken;

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

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

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

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

// @Route("/share/share-place-link", "GET")
class SharePlaceLinkRequest implements IReturn<SharePlaceLinkResponse>, IGet, IConvertible
{
    // @Validate(Validator="NotNull")
    int? placeId;

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

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

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

    createResponse() => SharePlaceLinkResponse();
    getResponseTypeName() => "SharePlaceLinkResponse";
    getTypeName() => "SharePlaceLinkRequest";
    TypeContext? context = _ctx;
}

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