/* Options: Date: 2025-12-14 02:06:00 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: GetVossProductGroup.* //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/{ProductGroupId}", "GET") // @ApiResponse(Description="You were unauthorized to call this service", StatusCode=401) class GetVossProductGroup implements IReturn, IConvertible, IGet { /** * Passed if we have multilpe packages */ // @ApiMember(Description="Passed if we have multilpe packages") String? PackageId; /** * Procut Group id to get */ // @ApiMember(Description="Procut Group id to get", IsRequired=true) String? ProductGroupId; /** * Tier id required because it is used it voss url */ // @ApiMember(Description="Tier id required because it is used it voss url", IsRequired=true) String? TierId; GetVossProductGroup({this.PackageId,this.ProductGroupId,this.TierId}); GetVossProductGroup.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PackageId = json['PackageId']; ProductGroupId = json['ProductGroupId']; TierId = json['TierId']; return this; } Map toJson() => { 'PackageId': PackageId, 'ProductGroupId': ProductGroupId, 'TierId': TierId }; createResponse() => ProductGroupResult(); getResponseTypeName() => "ProductGroupResult"; getTypeName() => "GetVossProductGroup"; 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:() => []), 'GetVossProductGroup': TypeInfo(TypeOf.Class, create:() => GetVossProductGroup()), });