/* Options: Date: 2026-02-14 10:18:34 Version: 10.04 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://stf-api-uat.data-xchange.co.za //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SearchItemDataNotification.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; enum ORDER { ASC, DESC, } class SearchItemDataNotificationQuery implements ISearchItemDataNotification, IConvertible { String receiverGln = ""; String senderGln = ""; List partnerGln = []; int requestedPage = 0; int numberOfRecordsPerPage = 0; String continuationToken = ""; String categoryCode = ""; String identifier = ""; String tradeItemDescription = ""; String gtin = ""; String orderBy = ""; ORDER order; SearchItemDataNotificationQuery({this.receiverGln,this.senderGln,this.partnerGln,this.requestedPage,this.numberOfRecordsPerPage,this.continuationToken,this.categoryCode,this.identifier,this.tradeItemDescription,this.gtin,this.orderBy,this.order}); SearchItemDataNotificationQuery.fromJson(Map json) { fromMap(json); } fromMap(Map json) { receiverGln = json['receiverGln']; senderGln = json['senderGln']; partnerGln = JsonConverters.fromJson(json['partnerGln'],'List',context!); requestedPage = json['requestedPage']; numberOfRecordsPerPage = json['numberOfRecordsPerPage']; continuationToken = json['continuationToken']; categoryCode = json['categoryCode']; identifier = json['identifier']; tradeItemDescription = json['tradeItemDescription']; gtin = json['gtin']; orderBy = json['orderBy']; order = JsonConverters.fromJson(json['order'],'ORDER',context!); return this; } Map toJson() => { 'receiverGln': receiverGln, 'senderGln': senderGln, 'partnerGln': JsonConverters.toJson(partnerGln,'List',context!), 'requestedPage': requestedPage, 'numberOfRecordsPerPage': numberOfRecordsPerPage, 'continuationToken': continuationToken, 'categoryCode': categoryCode, 'identifier': identifier, 'tradeItemDescription': tradeItemDescription, 'gtin': gtin, 'orderBy': orderBy, 'order': JsonConverters.toJson(order,'ORDER',context!) }; getTypeName() => "SearchItemDataNotificationQuery"; TypeContext? context = _ctx; } class PagedQueryResult implements IConvertible { int startIndex = 0; int endIndex = 0; int numberOfRecordsReturned = 0; int totalNumberOfPages = 0; int totalNumberOfRecords = 0; List results = []; PagedQueryResult({this.startIndex,this.endIndex,this.numberOfRecordsReturned,this.totalNumberOfPages,this.totalNumberOfRecords,this.results}); PagedQueryResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { startIndex = json['startIndex']; endIndex = json['endIndex']; numberOfRecordsReturned = json['numberOfRecordsReturned']; totalNumberOfPages = json['totalNumberOfPages']; totalNumberOfRecords = json['totalNumberOfRecords']; results = JsonConverters.fromJson(json['results'],'List<${runtimeGenericTypeDefs(this,[0]).join(",")}>',context!); return this; } Map toJson() => { 'startIndex': startIndex, 'endIndex': endIndex, 'numberOfRecordsReturned': numberOfRecordsReturned, 'totalNumberOfPages': totalNumberOfPages, 'totalNumberOfRecords': totalNumberOfRecords, 'results': JsonConverters.toJson(results,'List',context!) }; getTypeName() => "PagedQueryResult<$T>"; TypeContext? context = _ctx; } class PagedQueryResponseWithToken extends PagedQueryResult implements IConvertible { String continuationToken = ""; PagedQueryResponseWithToken({this.continuationToken}); PagedQueryResponseWithToken.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); continuationToken = json['continuationToken']; return this; } Map toJson() => super.toJson()..addAll({ 'continuationToken': continuationToken }); getTypeName() => "PagedQueryResponseWithToken<$T>"; TypeContext? context = _ctx; } abstract class IFilteredQuery { String receiverGln = ""; String senderGln = ""; List partnerGln = []; } abstract class IPagedQuery { int requestedPage = 0; int numberOfRecordsPerPage = 0; } abstract class IOrderedQuery { String orderBy = ""; ORDER order; } abstract class ISearchItemDataNotification extends IFilteredQuery, IPagedQuery, IOrderedQuery { String continuationToken = ""; String categoryCode = ""; String identifier = ""; } /** * Item Data Notification */ // @Route("/itemDataNotification/search", "POST") // @Api(Description="Item Data Notification") // @ApiResponse(Description="Paged ItemDataNotification data", IsDefaultResponse=true, ResponseType=typeof(0, Culture=neutral, PublicKeyToken=null]]), StatusCode=200) class SearchItemDataNotification implements IReturn>>, IConvertible, IPost { /** * Search query */ // @ApiMember(Description="Search query", ParameterType="model") SearchItemDataNotificationQuery query; SearchItemDataNotification({this.query}); SearchItemDataNotification.fromJson(Map json) { fromMap(json); } fromMap(Map json) { query = JsonConverters.fromJson(json['query'],'SearchItemDataNotificationQuery',context!); return this; } Map toJson() => { 'query': JsonConverters.toJson(query,'SearchItemDataNotificationQuery',context!) }; createResponse() => PagedQueryResponseWithToken>(); getResponseTypeName() => "PagedQueryResponseWithToken>"; getTypeName() => "SearchItemDataNotification"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'stf_api_uat.data_xchange.co.za', types: { 'ORDER': TypeInfo(TypeOf.Enum, enumValues:ORDER.values), 'SearchItemDataNotificationQuery': TypeInfo(TypeOf.Class, create:() => SearchItemDataNotificationQuery()), 'PagedQueryResult': TypeInfo(TypeOf.GenericDef,create:() => PagedQueryResult()), 'PagedQueryResponseWithToken': TypeInfo(TypeOf.GenericDef,create:() => PagedQueryResponseWithToken()), 'IFilteredQuery': TypeInfo(TypeOf.Interface), 'IPagedQuery': TypeInfo(TypeOf.Interface), 'IOrderedQuery': TypeInfo(TypeOf.Interface), 'ISearchItemDataNotification': TypeInfo(TypeOf.Interface), 'PagedQueryResponseWithToken>': TypeInfo(TypeOf.Class, create:() => PagedQueryResponseWithToken>()), 'ResultItem': TypeInfo(TypeOf.Class, create:() => ResultItem()), 'ItemDataNotificationMessage': TypeInfo(TypeOf.Class, create:() => ItemDataNotificationMessage()), 'SearchItemDataNotification': TypeInfo(TypeOf.Class, create:() => SearchItemDataNotification()), });