/* Options: Date: 2025-07-11 15:43:33 Version: 8.30 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://api.sanctionssearch.com/v2 //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetDbsSearch.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; // @DataContract class Authentication implements IConvertible { /** * The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User) */ // @DataMember // @ApiMember(Description="The API User ID provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-User)", IsRequired=true, ParameterType="header, body") String? apiUserId; /** * The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key) */ // @DataMember // @ApiMember(Description="The API User Key provided by us when you signed up to use our API. Can be provided in the request body, or as a header parameter (X-Api-Key)", IsRequired=true, ParameterType="header, body") String? apiUserKey; /** * The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id). */ // @DataMember // @ApiMember(Description="The User ID of the user making the request (e.g. a sub user). This is optional but can be used to associate API requests with a specific user, thereby allowing user permissions to be enforced. Can be provided in the body, or as a header parameter (X-User-Id).", ParameterType="header, body") String? userId; Authentication({this.apiUserId,this.apiUserKey,this.userId}); Authentication.fromJson(Map<String, dynamic> json) { fromMap(json); } fromMap(Map<String, dynamic> json) { apiUserId = json['apiUserId']; apiUserKey = json['apiUserKey']; userId = json['userId']; return this; } Map<String, dynamic> toJson() => { 'apiUserId': apiUserId, 'apiUserKey': apiUserKey, 'userId': userId }; getTypeName() => "Authentication"; TypeContext? context = _ctx; } // @DataContract class BaseRequest implements IBaseRequest, IConvertible { /** * The authentication credentials */ // @DataMember // @ApiMember(Description="The authentication credentials", IsRequired=true, ParameterType="header, body") Authentication? authentication; BaseRequest({this.authentication}); BaseRequest.fromJson(Map<String, dynamic> json) { fromMap(json); } fromMap(Map<String, dynamic> json) { authentication = JsonConverters.fromJson(json['authentication'],'Authentication',context!); return this; } Map<String, dynamic> toJson() => { 'authentication': JsonConverters.toJson(authentication,'Authentication',context!) }; getTypeName() => "BaseRequest"; TypeContext? context = _ctx; } abstract class IBaseRequest { Authentication? authentication; } class BaseResponse implements IBaseDataResponse, IHasResponseStatus, IConvertible { /** * The status of the response */ // @ApiMember(Description="The status of the response") ResponseStatus? responseStatus; BaseResponse({this.responseStatus}); BaseResponse.fromJson(Map<String, dynamic> json) { fromMap(json); } fromMap(Map<String, dynamic> json) { responseStatus = JsonConverters.fromJson(json['responseStatus'],'ResponseStatus',context!); return this; } Map<String, dynamic> toJson() => { 'responseStatus': JsonConverters.toJson(responseStatus,'ResponseStatus',context!) }; getTypeName() => "BaseResponse"; TypeContext? context = _ctx; } class LinkedTo implements IConvertible { int? clientId; int? id; String? type; String? subtype; String? status; String? description; bool? isArchived; String? name; DateTime? date; LinkedTo({this.clientId,this.id,this.type,this.subtype,this.status,this.description,this.isArchived,this.name,this.date}); LinkedTo.fromJson(Map<String, dynamic> json) { fromMap(json); } fromMap(Map<String, dynamic> json) { clientId = json['clientId']; id = json['id']; type = json['type']; subtype = json['subtype']; status = json['status']; description = json['description']; isArchived = json['isArchived']; name = json['name']; date = JsonConverters.fromJson(json['date'],'DateTime',context!); return this; } Map<String, dynamic> toJson() => { 'clientId': clientId, 'id': id, 'type': type, 'subtype': subtype, 'status': status, 'description': description, 'isArchived': isArchived, 'name': name, 'date': JsonConverters.toJson(date,'DateTime',context!) }; getTypeName() => "LinkedTo"; TypeContext? context = _ctx; } class ArrayOfLinkedTo extends ListBase<LinkedTo> implements IConvertible { final List<LinkedTo> l = []; set length(int newLength) { l.length = newLength; } int get length => l.length; LinkedTo operator [](int index) => l[index]; void operator []=(int index, LinkedTo value) { l[index] = value; } ArrayOfLinkedTo(); ArrayOfLinkedTo.fromJson(Map<String, dynamic> json) : super(); fromMap(Map<String, dynamic> json) { return this; } Map<String, dynamic> toJson() => {}; getTypeName() => "ArrayOfLinkedTo"; TypeContext? context = _ctx; } class ApplicantInformation implements IConvertible { String? name; String? dateOfBirth; String? email; String? mobileInternational; String? jobLocation; String? reference; String? applicantPin; ApplicantInformation({this.name,this.dateOfBirth,this.email,this.mobileInternational,this.jobLocation,this.reference,this.applicantPin}); ApplicantInformation.fromJson(Map<String, dynamic> json) { fromMap(json); } fromMap(Map<String, dynamic> json) { name = json['name']; dateOfBirth = json['dateOfBirth']; email = json['email']; mobileInternational = json['mobileInternational']; jobLocation = json['jobLocation']; reference = json['reference']; applicantPin = json['applicantPin']; return this; } Map<String, dynamic> toJson() => { 'name': name, 'dateOfBirth': dateOfBirth, 'email': email, 'mobileInternational': mobileInternational, 'jobLocation': jobLocation, 'reference': reference, 'applicantPin': applicantPin }; getTypeName() => "ApplicantInformation"; TypeContext? context = _ctx; } class DbsSearchSummary implements IConvertible { int? id; DateTime? dateSearched; DateTime? dateUpdated; String? status; String? disclosureStatus; bool? isApplicantInfoCompleted; bool? isIdCheckCompleted; bool? isApplicationCompleted; bool? isApplicationSubmitted; bool? isApplicationDisclosed; String? disclosureLevel; ApplicantInformation? applicantInformation; DbsSearchSummary({this.id,this.dateSearched,this.dateUpdated,this.status,this.disclosureStatus,this.isApplicantInfoCompleted,this.isIdCheckCompleted,this.isApplicationCompleted,this.isApplicationSubmitted,this.isApplicationDisclosed,this.disclosureLevel,this.applicantInformation}); DbsSearchSummary.fromJson(Map<String, dynamic> json) { fromMap(json); } fromMap(Map<String, dynamic> json) { id = json['id']; dateSearched = JsonConverters.fromJson(json['dateSearched'],'DateTime',context!); dateUpdated = JsonConverters.fromJson(json['dateUpdated'],'DateTime',context!); status = json['status']; disclosureStatus = json['disclosureStatus']; isApplicantInfoCompleted = json['isApplicantInfoCompleted']; isIdCheckCompleted = json['isIdCheckCompleted']; isApplicationCompleted = json['isApplicationCompleted']; isApplicationSubmitted = json['isApplicationSubmitted']; isApplicationDisclosed = json['isApplicationDisclosed']; disclosureLevel = json['disclosureLevel']; applicantInformation = JsonConverters.fromJson(json['applicantInformation'],'ApplicantInformation',context!); return this; } Map<String, dynamic> toJson() => { 'id': id, 'dateSearched': JsonConverters.toJson(dateSearched,'DateTime',context!), 'dateUpdated': JsonConverters.toJson(dateUpdated,'DateTime',context!), 'status': status, 'disclosureStatus': disclosureStatus, 'isApplicantInfoCompleted': isApplicantInfoCompleted, 'isIdCheckCompleted': isIdCheckCompleted, 'isApplicationCompleted': isApplicationCompleted, 'isApplicationSubmitted': isApplicationSubmitted, 'isApplicationDisclosed': isApplicationDisclosed, 'disclosureLevel': disclosureLevel, 'applicantInformation': JsonConverters.toJson(applicantInformation,'ApplicantInformation',context!) }; getTypeName() => "DbsSearchSummary"; TypeContext? context = _ctx; } class GetDbsSearchData extends BaseResponse implements IBaseSearchResponse, IConvertible { ArrayOfLinkedTo? linkedTo; DbsSearchSummary? summary; GetDbsSearchData({this.linkedTo,this.summary}); GetDbsSearchData.fromJson(Map<String, dynamic> json) { fromMap(json); } fromMap(Map<String, dynamic> json) { super.fromMap(json); linkedTo = JsonConverters.fromJson(json['linkedTo'],'ArrayOfLinkedTo',context!); summary = JsonConverters.fromJson(json['summary'],'DbsSearchSummary',context!); return this; } Map<String, dynamic> toJson() => super.toJson()..addAll({ 'linkedTo': JsonConverters.toJson(linkedTo,'ArrayOfLinkedTo',context!), 'summary': JsonConverters.toJson(summary,'DbsSearchSummary',context!) }); getTypeName() => "GetDbsSearchData"; TypeContext? context = _ctx; } abstract class IBaseDataResponse { ResponseStatus? responseStatus; } abstract class IHasResponseStatus { ResponseStatus? responseStatus; } abstract class IBaseSearchResponse extends IBaseDataResponse { ArrayOfLinkedTo? linkedTo; } // @DataContract class GetDbsSearchResponse implements IConvertible { // @DataMember GetDbsSearchData? data; GetDbsSearchResponse({this.data}); GetDbsSearchResponse.fromJson(Map<String, dynamic> json) { fromMap(json); } fromMap(Map<String, dynamic> json) { data = JsonConverters.fromJson(json['data'],'GetDbsSearchData',context!); return this; } Map<String, dynamic> toJson() => { 'data': JsonConverters.toJson(data,'GetDbsSearchData',context!) }; getTypeName() => "GetDbsSearchResponse"; TypeContext? context = _ctx; } // @Route("/dbs/{Id}", "GET") // @DataContract class GetDbsSearch extends BaseRequest implements IReturn<GetDbsSearchResponse>, IConvertible, IGet { /** * The ID of the DBS Search */ // @DataMember // @ApiMember(Description="The ID of the DBS Search", IsRequired=true, ParameterType="path") int? id; /** * Provide a value to only return a search that the specified sub user has permission to access. If this is null or empty, then sub user permissions will not be enforced and the search will be returned */ // @DataMember // @ApiMember(Description="Provide a value to only return a search that the specified sub user has permission to access. If this is null or empty, then sub user permissions will not be enforced and the search will be returned", ParameterType="query") String? subUserName; GetDbsSearch({this.id,this.subUserName}); GetDbsSearch.fromJson(Map<String, dynamic> json) { fromMap(json); } fromMap(Map<String, dynamic> json) { super.fromMap(json); id = json['id']; subUserName = json['subUserName']; return this; } Map<String, dynamic> toJson() => super.toJson()..addAll({ 'id': id, 'subUserName': subUserName }); createResponse() => GetDbsSearchResponse(); getResponseTypeName() => "GetDbsSearchResponse"; getTypeName() => "GetDbsSearch"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'api.sanctionssearch.com', types: <String, TypeInfo> { 'Authentication': TypeInfo(TypeOf.Class, create:() => Authentication()), 'BaseRequest': TypeInfo(TypeOf.Class, create:() => BaseRequest()), 'IBaseRequest': TypeInfo(TypeOf.Interface), 'BaseResponse': TypeInfo(TypeOf.Class, create:() => BaseResponse()), 'LinkedTo': TypeInfo(TypeOf.Class, create:() => LinkedTo()), 'ArrayOfLinkedTo': TypeInfo(TypeOf.Class, create:() => ArrayOfLinkedTo()), 'ApplicantInformation': TypeInfo(TypeOf.Class, create:() => ApplicantInformation()), 'DbsSearchSummary': TypeInfo(TypeOf.Class, create:() => DbsSearchSummary()), 'GetDbsSearchData': TypeInfo(TypeOf.Class, create:() => GetDbsSearchData()), 'IBaseDataResponse': TypeInfo(TypeOf.Interface), 'IHasResponseStatus': TypeInfo(TypeOf.Interface), 'IBaseSearchResponse': TypeInfo(TypeOf.Interface), 'GetDbsSearchResponse': TypeInfo(TypeOf.Class, create:() => GetDbsSearchResponse()), 'GetDbsSearch': TypeInfo(TypeOf.Class, create:() => GetDbsSearch()), });