/* Options: Date: 2026-01-02 05:49:23 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: SaveContactGroup.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class SubscriptionLinkContact implements IConvertible { /** * Guid of the contact object within PSTPF. */ // @ApiMember(DataType="Guid", Description="Guid of the contact object within PSTPF.", Name="ContactId", ParameterType="body") String? ContactId; /** * The unique key that represents the contact on the external system. */ // @ApiMember(DataType="string", Description="The unique key that represents the contact on the external system.", Name="ContactAlternateKey", ParameterType="body") String? ContactAlternateKey; /** * Guid of the Role List Item object within PSTPF. */ // @ApiMember(DataType="Guid", Description="Guid of the Role List Item object within PSTPF.", Name="RoleId", ParameterType="body") String? RoleId; /** * The unique key that represents the role type on the external system. Note: Use of this is not currently implemented */ // @ApiMember(DataType="string", Description="The unique key that represents the role type on the external system. Note: Use of this is not currently implemented", Name="RoleAlternateKey", ParameterType="body") String? RoleAlternateKey; SubscriptionLinkContact({this.ContactId,this.ContactAlternateKey,this.RoleId,this.RoleAlternateKey}); SubscriptionLinkContact.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ContactId = json['ContactId']; ContactAlternateKey = json['ContactAlternateKey']; RoleId = json['RoleId']; RoleAlternateKey = json['RoleAlternateKey']; return this; } Map toJson() => { 'ContactId': ContactId, 'ContactAlternateKey': ContactAlternateKey, 'RoleId': RoleId, 'RoleAlternateKey': RoleAlternateKey }; getTypeName() => "SubscriptionLinkContact"; TypeContext? context = _ctx; } class SubscriptionContactGroupConnectionModel extends SubscriptionLinkContact implements IConvertible { /** * The order this contact is in priority. 1 would be the primary contact, 2 the secondary and so forth. */ // @ApiMember(DataType="int", Description="The order this contact is in priority. 1 would be the primary contact, 2 the secondary and so forth.", Name="Index", ParameterType="body") int? Index; /** * Set this to be true if the contact connection to the group is to be deleted */ // @ApiMember(DataType="bool", Description="Set this to be true if the contact connection to the group is to be deleted", Name="MarkAsDeleted", ParameterType="body") bool? MarkAsDeleted; SubscriptionContactGroupConnectionModel({this.Index,this.MarkAsDeleted}); SubscriptionContactGroupConnectionModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); Index = json['Index']; MarkAsDeleted = json['MarkAsDeleted']; return this; } Map toJson() => super.toJson()..addAll({ 'Index': Index, 'MarkAsDeleted': MarkAsDeleted }); getTypeName() => "SubscriptionContactGroupConnectionModel"; TypeContext? context = _ctx; } class SubscriptionContactGroupModel implements IConvertible { /** * A name for the contact group. */ // @ApiMember(DataType="string", Description="A name for the contact group.", IsRequired=true, Name="ContactGroupName", ParameterType="body") String? ContactGroupName; /** * Guid of the Role List Item object within PSTPF that defines the role of the group. */ // @ApiMember(DataType="Guid", Description="Guid of the Role List Item object within PSTPF that defines the role of the group.", IsRequired=true, Name="GroupRoleId", ParameterType="body") String? GroupRoleId; /** * The unique key that represents the role type of the group on the external system. Note: Use of this is not currently implemented */ // @ApiMember(DataType="string", Description="The unique key that represents the role type of the group on the external system. Note: Use of this is not currently implemented", Name="RoleAlternateKey", ParameterType="body") String? RoleAlternateKey; /** * A list of ContactGroupConnection records that link contacts (and their role in the contact group) to the contact group. */ // @ApiMember(DataType="List", Description="A list of ContactGroupConnection records that link contacts (and their role in the contact group) to the contact group.", Name="ContactConnections", ParameterType="body") List? ContactConnections; /** * Set this to be true if the contact group is to be deleted */ // @ApiMember(DataType="bool", Description="Set this to be true if the contact group is to be deleted", Name="MarkAsDeleted", ParameterType="body") bool? MarkAsDeleted; /** * Set this to be true if the contact group is to be archived */ // @ApiMember(DataType="bool", Description="Set this to be true if the contact group is to be archived", Name="MarkAsArchived", ParameterType="body") bool? MarkAsArchived; /** * Set this to be true if the contact group is to be restored */ // @ApiMember(DataType="bool", Description="Set this to be true if the contact group is to be restored", Name="MarkAsRestored", ParameterType="body") bool? MarkAsRestored; SubscriptionContactGroupModel({this.ContactGroupName,this.GroupRoleId,this.RoleAlternateKey,this.ContactConnections,this.MarkAsDeleted,this.MarkAsArchived,this.MarkAsRestored}); SubscriptionContactGroupModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ContactGroupName = json['ContactGroupName']; GroupRoleId = json['GroupRoleId']; RoleAlternateKey = json['RoleAlternateKey']; ContactConnections = JsonConverters.fromJson(json['ContactConnections'],'List',context!); MarkAsDeleted = json['MarkAsDeleted']; MarkAsArchived = json['MarkAsArchived']; MarkAsRestored = json['MarkAsRestored']; return this; } Map toJson() => { 'ContactGroupName': ContactGroupName, 'GroupRoleId': GroupRoleId, 'RoleAlternateKey': RoleAlternateKey, 'ContactConnections': JsonConverters.toJson(ContactConnections,'List',context!), 'MarkAsDeleted': MarkAsDeleted, 'MarkAsArchived': MarkAsArchived, 'MarkAsRestored': MarkAsRestored }; getTypeName() => "SubscriptionContactGroupModel"; TypeContext? context = _ctx; } class RuleValidationResult implements IConvertible { /** * Validation/Error message details */ // @ApiMember(DataType="Guid", Description="Validation/Error message details", Name="Message", ParameterType="body") String? Message; /** * Summary/label of validation/error */ // @ApiMember(DataType="Guid", Description="Summary/label of validation/error", Name="Key", ParameterType="body") String? Key; /** * Key/code representing validation/error */ // @ApiMember(DataType="Guid", Description="Key/code representing validation/error", Name="ErrorCode", ParameterType="body") String? ErrorCode; RuleValidationResult({this.Message,this.Key,this.ErrorCode}); RuleValidationResult.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Message = json['Message']; Key = json['Key']; ErrorCode = json['ErrorCode']; return this; } Map toJson() => { 'Message': Message, 'Key': Key, 'ErrorCode': ErrorCode }; getTypeName() => "RuleValidationResult"; TypeContext? context = _ctx; } class ValidationErrorList implements IConvertible { /** * List of any validation/errors occuring during a method call */ // @ApiMember(DataType="List", Description="List of any validation/errors occuring during a method call", Name="ValidationErrors", ParameterType="body") 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; } /** * Inserts or Updates a contact group and its contact connections. */ // @Api(Description="Inserts or Updates a contact group and its contact connections.") class SaveContactGroup extends ValidationErrorList implements IReturn, ISubscription, IConvertible, IPost { /** * Guid representing the external systems datasource information. */ // @ApiMember(DataType="Guid", Description="Guid representing the external systems datasource information.", IsRequired=true, Name="SuiteDataSourceInstanceId", ParameterType="body") String? SuiteDataSourceInstanceId; /** * The unique key that represents the contact group on the external system. */ // @ApiMember(DataType="string", Description="The unique key that represents the contact group on the external system.", IsRequired=true, Name="AlternateKey", ParameterType="body") String? AlternateKey; /** * Guid of the contact group object within PSTPF. If ObjectId is known, the external system may pass this insted of the alternate key. */ // @ApiMember(DataType="Guid", Description="Guid of the contact group object within PSTPF. If ObjectId is known, the external system may pass this insted of the alternate key.", Name="ObjectId", ParameterType="body") String? ObjectId; /** * If set to true, the object will be updated/refreshed. If false, the hash representation of the ContactGroup model and its data will be compared with the current ContactGroup to determine if there are any changes to save. */ // @ApiMember(DataType="bool", Description="If set to true, the object will be updated/refreshed. If false, the hash representation of the ContactGroup model and its data will be compared with the current ContactGroup to determine if there are any changes to save.", Name="IgnoreHash", ParameterType="body") bool? IgnoreHash; /** * Object containing all details of the contact group to be inserted or updated. */ // @ApiMember(DataType="SubscriptionContactGroupModel", Description="Object containing all details of the contact group to be inserted or updated.", IsRequired=true, Name="ContactGroup", ParameterType="body") SubscriptionContactGroupModel? ContactGroup; String? LicenseeId; String? SessionId; SaveContactGroup({this.SuiteDataSourceInstanceId,this.AlternateKey,this.ObjectId,this.IgnoreHash,this.ContactGroup,this.LicenseeId,this.SessionId}); SaveContactGroup.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); SuiteDataSourceInstanceId = json['SuiteDataSourceInstanceId']; AlternateKey = json['AlternateKey']; ObjectId = json['ObjectId']; IgnoreHash = json['IgnoreHash']; ContactGroup = JsonConverters.fromJson(json['ContactGroup'],'SubscriptionContactGroupModel',context!); LicenseeId = json['LicenseeId']; SessionId = json['SessionId']; return this; } Map toJson() => super.toJson()..addAll({ 'SuiteDataSourceInstanceId': SuiteDataSourceInstanceId, 'AlternateKey': AlternateKey, 'ObjectId': ObjectId, 'IgnoreHash': IgnoreHash, 'ContactGroup': JsonConverters.toJson(ContactGroup,'SubscriptionContactGroupModel',context!), 'LicenseeId': LicenseeId, 'SessionId': SessionId }); createResponse() => ResponseStatus(); getResponseTypeName() => "ResponseStatus"; getTypeName() => "SaveContactGroup"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'production_eros_platform_apisubscription.azurewebsites.net', types: { 'SubscriptionLinkContact': TypeInfo(TypeOf.Class, create:() => SubscriptionLinkContact()), 'SubscriptionContactGroupConnectionModel': TypeInfo(TypeOf.Class, create:() => SubscriptionContactGroupConnectionModel()), 'SubscriptionContactGroupModel': TypeInfo(TypeOf.Class, create:() => SubscriptionContactGroupModel()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'RuleValidationResult': TypeInfo(TypeOf.Class, create:() => RuleValidationResult()), 'ValidationErrorList': TypeInfo(TypeOf.Class, create:() => ValidationErrorList()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'ISubscription': TypeInfo(TypeOf.Interface), 'SaveContactGroup': TypeInfo(TypeOf.Class, create:() => SaveContactGroup()), });