/* Options: Date: 2025-09-14 07:31:52 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://production-eros-platform-apisubscription.azurewebsites.net/api //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SaveContactRole.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart,dart:typed_data */ import 'package:servicestack/servicestack.dart'; import 'dart:typed_data'; class RuleValidationResult implements IConvertible { String? RuleCode; String? Message; String? Key; String? Tag; String? ErrorCode; RuleValidationResult({this.RuleCode,this.Message,this.Key,this.Tag,this.ErrorCode}); RuleValidationResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RuleCode = json['RuleCode']; Message = json['Message']; Key = json['Key']; Tag = json['Tag']; ErrorCode = json['ErrorCode']; return this; } Map toJson() => { 'RuleCode': RuleCode, 'Message': Message, 'Key': Key, 'Tag': Tag, 'ErrorCode': ErrorCode }; getTypeName() => "RuleValidationResult"; TypeContext? context = _ctx; } class ValidationErrorList implements IConvertible { List? ValidationErrors; ValidationErrorList({this.ValidationErrors}); ValidationErrorList.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ValidationErrors = JsonConverters.fromJson(json['ValidationErrors'],'List',context!); return this; } Map toJson() => { 'ValidationErrors': JsonConverters.toJson(ValidationErrors,'List',context!) }; getTypeName() => "ValidationErrorList"; TypeContext? context = _ctx; } abstract class ISubscription { String? SuiteDataSourceInstanceId; String? ObjectId; String? AlternateKey; bool? IgnoreValidation; } class SubscriptionContactRoleModel implements IConvertible { /** * Name of the role. */ // @ApiMember(DataType="string", Description="Name of the role.", Name="RoleName", ParameterType="query") String? RoleName; /** * Short version of the role name. */ // @ApiMember(DataType="string", Description="Short version of the role name.", Name="RoleShortName", ParameterType="query") String? RoleShortName; /** * Description of the role purpose. */ // @ApiMember(DataType="string", Description="Description of the role purpose.", Name="RoleDescription", ParameterType="query") String? RoleDescription; /** * If true, the role will be pending for a contact until they accept it. */ // @ApiMember(DataType="bool", Description="If true, the role will be pending for a contact until they accept it.", Name="RequireContactsToAccept", ParameterType="query") bool? RequireContactsToAccept; /** * Contact Types that may have this role. */ // @ApiMember(DataType="List", Description="Contact Types that may have this role.", Name="ContactTypes", ParameterType="query") List? ContactTypes; /** * Role Filters this role should be added to. */ // @ApiMember(DataType="List", Description="Role Filters this role should be added to.", Name="ListItemFilters", ParameterType="query") List? ListItemFilters; SubscriptionContactRoleModel({this.RoleName,this.RoleShortName,this.RoleDescription,this.RequireContactsToAccept,this.ContactTypes,this.ListItemFilters}); SubscriptionContactRoleModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { RoleName = json['RoleName']; RoleShortName = json['RoleShortName']; RoleDescription = json['RoleDescription']; RequireContactsToAccept = json['RequireContactsToAccept']; ContactTypes = JsonConverters.fromJson(json['ContactTypes'],'List',context!); ListItemFilters = JsonConverters.fromJson(json['ListItemFilters'],'List',context!); return this; } Map toJson() => { 'RoleName': RoleName, 'RoleShortName': RoleShortName, 'RoleDescription': RoleDescription, 'RequireContactsToAccept': RequireContactsToAccept, 'ContactTypes': JsonConverters.toJson(ContactTypes,'List',context!), 'ListItemFilters': JsonConverters.toJson(ListItemFilters,'List',context!) }; getTypeName() => "SubscriptionContactRoleModel"; TypeContext? context = _ctx; } class SaveContactRole extends ValidationErrorList implements IReturn, ISubscription, IConvertible, IPost { /** * Guid representing the external systems data source information. */ // @ApiMember(DataType="Guid", Description="Guid representing the external systems data source information.", IsRequired=true, Name="SuiteDataSourceInstanceId", ParameterType="query") String? SuiteDataSourceInstanceId; /** * The unique key that represents the contact role on the external system. */ // @ApiMember(DataType="string", Description="The unique key that represents the contact role on the external system.", IsRequired=true, Name="AlternateKey", ParameterType="query") String? AlternateKey; /** * Guid of the contact role object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key. */ // @ApiMember(DataType="Guid", Description="Guid of the contact role object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key.", Name="ObjectId", ParameterType="query") String? ObjectId; /** * Object containing all details of the contact role to be inserted or updated. */ // @ApiMember(DataType="SubscriptionContactRoleModel", Description="Object containing all details of the contact role to be inserted or updated.", IsRequired=true, Name="ContactRole", ParameterType="query") SubscriptionContactRoleModel? ContactRole; bool? IgnoreValidation; SaveContactRole({this.SuiteDataSourceInstanceId,this.AlternateKey,this.ObjectId,this.ContactRole,this.IgnoreValidation}); SaveContactRole.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); SuiteDataSourceInstanceId = json['SuiteDataSourceInstanceId']; AlternateKey = json['AlternateKey']; ObjectId = json['ObjectId']; ContactRole = JsonConverters.fromJson(json['ContactRole'],'SubscriptionContactRoleModel',context!); IgnoreValidation = json['IgnoreValidation']; return this; } Map toJson() => super.toJson()..addAll({ 'SuiteDataSourceInstanceId': SuiteDataSourceInstanceId, 'AlternateKey': AlternateKey, 'ObjectId': ObjectId, 'ContactRole': JsonConverters.toJson(ContactRole,'SubscriptionContactRoleModel',context!), 'IgnoreValidation': IgnoreValidation }); createResponse() => ResponseStatus(); getResponseTypeName() => "ResponseStatus"; getTypeName() => "SaveContactRole"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'production_eros_platform_apisubscription.azurewebsites.net', types: { 'RuleValidationResult': TypeInfo(TypeOf.Class, create:() => RuleValidationResult()), 'ValidationErrorList': TypeInfo(TypeOf.Class, create:() => ValidationErrorList()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ISubscription': TypeInfo(TypeOf.Interface), 'SubscriptionContactRoleModel': TypeInfo(TypeOf.Class, create:() => SubscriptionContactRoleModel()), 'SaveContactRole': TypeInfo(TypeOf.Class, create:() => SaveContactRole()), });