/* Options: Date: 2026-01-31 16:31:16 Version: 10.05 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://testapi.bokamera.se //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetVossProductGroups.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum ProductTypeEnum { Main, Addon, License, Usage, } enum ProductGroupTypeEnum { Optional, Included, } enum StatusEnum { Active, Terminated, } // @DataContract(Name="ProductGroupProductDto") class ProductGroupProductDto implements IConvertible { // @DataMember(Name="type", IsRequired=true) ProductTypeEnum type; // @DataMember(Name="status", IsRequired=true) StatusEnum status; // @DataMember(Name="id", IsRequired=true) String id = ""; // @DataMember(Name="name", IsRequired=true) String name = ""; // @DataMember(Name="externalId") String externalId = ""; // @DataMember(Name="articleNumber", IsRequired=true) String articleNumber = ""; ProductGroupProductDto({this.type,this.status,this.id,this.name,this.externalId,this.articleNumber}); ProductGroupProductDto.fromJson(Map json) { fromMap(json); } fromMap(Map json) { type = JsonConverters.fromJson(json['ProductType'],'ProductTypeEnum',context!); status = JsonConverters.fromJson(json['Status'],'StatusEnum',context!); id = json['Id']; name = json['Name']; externalId = json['ExternalId']; articleNumber = json['ArticleNumber']; return this; } Map toJson() => { 'type': JsonConverters.toJson(type,'ProductTypeEnum',context!), 'status': JsonConverters.toJson(status,'StatusEnum',context!), 'id': id, 'name': name, 'externalId': externalId, 'articleNumber': articleNumber }; getTypeName() => "ProductGroupProductDto"; TypeContext? context = _ctx; } enum TypeEnum { AtSubscriptionBillingPeriodEnd, AtBindingPeriodEnd, Immediately, } // @DataContract(Name="ProductGroupTagDto") class ProductGroupTagDto implements IConvertible { // @DataMember(Name="type", IsRequired=true) TypeEnum type; // @DataMember(Name="tag", IsRequired=true) String tag = ""; ProductGroupTagDto({this.type,this.tag}); ProductGroupTagDto.fromJson(Map json) { fromMap(json); } fromMap(Map json) { type = JsonConverters.fromJson(json['Type'],'TypeEnum',context!); tag = json['Tag']; return this; } Map toJson() => { 'type': JsonConverters.toJson(type,'TypeEnum',context!), 'tag': tag }; getTypeName() => "ProductGroupTagDto"; TypeContext? context = _ctx; } // @DataContract(Name="ProductGroupResult") class ProductGroupResult implements IConvertible { // @DataMember(Name="productGroupType", IsRequired=true) ProductGroupTypeEnum productGroupType; // @DataMember(Name="id", IsRequired=true) String id = ""; // @DataMember(Name="versionId", IsRequired=true) String versionId = ""; // @DataMember(Name="name", IsRequired=true) String name = ""; // @DataMember(Name="externalId") String externalId = ""; // @DataMember(Name="products", EmitDefaultValue=false) List products = []; // @DataMember(Name="tags", EmitDefaultValue=false) List tags = []; ProductGroupResult({this.productGroupType,this.id,this.versionId,this.name,this.externalId,this.products,this.tags}); ProductGroupResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { productGroupType = JsonConverters.fromJson(json['ProductGroupType'],'ProductGroupTypeEnum',context!); id = json['Id']; versionId = json['VersionId']; name = json['Name']; externalId = json['ExternalId']; products = JsonConverters.fromJson(json['Products'],'List',context!); tags = JsonConverters.fromJson(json['Tags'],'List',context!); return this; } Map toJson() => { 'productGroupType': JsonConverters.toJson(productGroupType,'ProductGroupTypeEnum',context!), 'id': id, 'versionId': versionId, 'name': name, 'externalId': externalId, 'products': JsonConverters.toJson(products,'List',context!), 'tags': JsonConverters.toJson(tags,'List',context!) }; getTypeName() => "ProductGroupResult"; TypeContext? context = _ctx; } // @Route("/voss/productGroups", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) class GetVossProductGroups implements IReturn>, IConvertible, IGet { /** * The company id, if empty will use the company id for the user you are logged in with. */ // @ApiMember(Description="The company id, if empty will use the company id for the user you are logged in with.") String? CompanyId; /** * Passed if we have multilpe packages */ // @ApiMember(Description="Passed if we have multilpe packages") String? PackageId; GetVossProductGroups({this.CompanyId,this.PackageId}); GetVossProductGroups.fromJson(Map json) { fromMap(json); } fromMap(Map json) { CompanyId = json['CompanyId']; PackageId = json['PackageId']; return this; } Map toJson() => { 'CompanyId': CompanyId, 'PackageId': PackageId }; createResponse() => []; getResponseTypeName() => "List"; getTypeName() => "GetVossProductGroups"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'testapi.bokamera.se', types: { 'ProductTypeEnum': TypeInfo(TypeOf.Enum, enumValues:ProductTypeEnum.values), 'ProductGroupTypeEnum': TypeInfo(TypeOf.Enum, enumValues:ProductGroupTypeEnum.values), 'StatusEnum': TypeInfo(TypeOf.Enum, enumValues:StatusEnum.values), 'ProductGroupProductDto': TypeInfo(TypeOf.Class, create:() => ProductGroupProductDto()), 'TypeEnum': TypeInfo(TypeOf.Enum, enumValues:TypeEnum.values), 'ProductGroupTagDto': TypeInfo(TypeOf.Class, create:() => ProductGroupTagDto()), 'ProductGroupResult': TypeInfo(TypeOf.Class, create:() => ProductGroupResult()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetVossProductGroups': TypeInfo(TypeOf.Class, create:() => GetVossProductGroups()), });