/* Options: Date: 2025-12-14 02:06:02 Version: 8.80 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.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: 'api.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()), });