/* Options:
Date: 2025-04-17 13:38:02
Version: 8.51
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://blazor-gallery.servicestack.net

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

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

class Level implements IConvertible
{
    String? id;
    Uint8List? data = [];

    Level({this.id,this.data});
    Level.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'id': id,
        'data': JsonConverters.toJson(data,'Uint8List',context!)
    };

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

class QueryLevel extends QueryDb<Level> implements IReturn<QueryResponse<Level>>, IConvertible, IGet
{
    String? id;

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

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

    Map<String, dynamic> toJson() => super.toJson()..addAll({
        'id': id
    });

    createResponse() => QueryResponse<Level>();
    getResponseTypeName() => "QueryResponse<Level>";
    getTypeName() => "QueryLevel";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'blazor_gallery.servicestack.net', types: <String, TypeInfo> {
    'Level': TypeInfo(TypeOf.Class, create:() => Level()),
    'Uint8List': TypeInfo(TypeOf.Class, create:() => Uint8List(0)),
    'QueryResponse<Level>': TypeInfo(TypeOf.Class, create:() => QueryResponse<Level>()),
    'QueryLevel': TypeInfo(TypeOf.Class, create:() => QueryLevel()),
    'List<Level>': TypeInfo(TypeOf.Class, create:() => <Level>[]),
});