/* Options:
Date: 2025-06-05 18:17:42
Version: 6.41
Tip: To override a DTO option, remove "//" prefix before updating
BaseUrl: https://netcom.poslovnisoftver.rs

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

import 'package:servicestack/servicestack.dart';

class IdNaziv implements IConvertible
{
    String? id;
    String? naziv;

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

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

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

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

class DobaviTipoveArtikalaResult implements IConvertible
{
    List<IdNaziv>? tipoviArtikala;
    ResponseStatus? responseStatus;

    DobaviTipoveArtikalaResult({this.tipoviArtikala,this.responseStatus});
    DobaviTipoveArtikalaResult.fromJson(Map<String, dynamic> json) { fromMap(json); }

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

    Map<String, dynamic> toJson() => {
        'tipoviArtikala': JsonConverters.toJson(tipoviArtikala,'List<IdNaziv>',context!),
        'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!)
    };

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

// @Route("/tipovi-artikala", "GET")
class DobaviTipoveArtikala implements IReturn<DobaviTipoveArtikalaResult>, IGet, IConvertible
{
    DobaviTipoveArtikala();
    DobaviTipoveArtikala.fromJson(Map<String, dynamic> json) : super();
    fromMap(Map<String, dynamic> json) {
        return this;
    }

    Map<String, dynamic> toJson() => {};
    createResponse() => DobaviTipoveArtikalaResult();
    getResponseTypeName() => "DobaviTipoveArtikalaResult";
    getTypeName() => "DobaviTipoveArtikala";
    TypeContext? context = _ctx;
}

TypeContext _ctx = TypeContext(library: 'netcom.poslovnisoftver.rs', types: <String, TypeInfo> {
    'IdNaziv': TypeInfo(TypeOf.Class, create:() => IdNaziv()),
    'DobaviTipoveArtikalaResult': TypeInfo(TypeOf.Class, create:() => DobaviTipoveArtikalaResult()),
    'List<IdNaziv>': TypeInfo(TypeOf.Class, create:() => <IdNaziv>[]),
    'DobaviTipoveArtikala': TypeInfo(TypeOf.Class, create:() => DobaviTipoveArtikala()),
});