/* Options: Date: 2025-09-14 06:59:00 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://production-eros-platform-apisubscription.azurewebsites.net/api //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: SaveContactGroup.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } export class SubscriptionLinkContact { /** @description Guid of the contact object within Eros. */ // @ApiMember(DataType="Guid", Description="Guid of the contact object within Eros.", Name="ContactId", ParameterType="query") public ContactId: string; /** @description 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.", IsRequired=true, Name="ContactAlternateKey", ParameterType="query") public ContactAlternateKey: string; /** @description Guid of the Role List Item object within Eros. */ // @ApiMember(DataType="Guid", Description="Guid of the Role List Item object within Eros.", IsRequired=true, Name="RoleId", ParameterType="query") public RoleId: string; /** @description 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="query") public RoleAlternateKey: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class SubscriptionContactGroupConnectionModel extends SubscriptionLinkContact { /** @description 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="query") public Index: number; /** @description 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="query") public MarkAsDeleted: boolean; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } } export class SubscriptionContactGroupModel { /** @description A name for the contact group. */ // @ApiMember(DataType="string", Description="A name for the contact group.", IsRequired=true, Name="ContactGroupName", ParameterType="query") public ContactGroupName: string; /** @description Guid of the Role List Item object within Eros that defines the role of the group. */ // @ApiMember(DataType="Guid", Description="Guid of the Role List Item object within Eros that defines the role of the group.", IsRequired=true, Name="GroupRoleId", ParameterType="query") public GroupRoleId: 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 */ // @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="query") public RoleAlternateKey: string; /** @description 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="query") public ContactConnections: SubscriptionContactGroupConnectionModel[]; /** @description 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="query") public MarkAsDeleted: boolean; /** @description 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="query") public MarkAsArchived: boolean; /** @description 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="query") public MarkAsRestored: boolean; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class RuleValidationResult { public RuleCode: string; public Message: string; public Key: string; public Tag: string; public ErrorCode: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export class ValidationErrorList { public ValidationErrors: RuleValidationResult[]; public constructor(init?: Partial) { (Object as any).assign(this, init); } } export interface ISubscription { SuiteDataSourceInstanceId: string; ObjectId: string; AlternateKey: string; IgnoreValidation: boolean; } // @DataContract export class ResponseError { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public FieldName: string; // @DataMember(Order=3) public Message: string; // @DataMember(Order=4) public Meta: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[]; // @DataMember(Order=5) public Meta: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Inserts or Updates a contact group and its contact connections. */ // @Api(Description="Inserts or Updates a contact group and its contact connections.") export class SaveContactGroup extends ValidationErrorList implements IReturn, ISubscription { /** @description Guid representing the external systems datasource information. */ // @ApiMember(DataType="Guid", Description="Guid representing the external systems datasource information.", IsRequired=true, Name="SuiteDataSourceInstanceId", ParameterType="query") public SuiteDataSourceInstanceId: string; /** @description 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="query") public AlternateKey: string; /** @description Guid of the contact group object within Eros. 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 Eros. If ObjectId is known, the external system may pass this insted of the alternate key.", Name="ObjectId", ParameterType="query") public ObjectId: string; /** @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. */ // @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") public IgnoreHash: boolean; /** @description 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="query") public ContactGroup: SubscriptionContactGroupModel; public IgnoreValidation: boolean; public LicenseeId: string; public SessionId: string; public constructor(init?: Partial) { super(init); (Object as any).assign(this, init); } public getTypeName() { return 'SaveContactGroup'; } public getMethod() { return 'POST'; } public createResponse() { return new ResponseStatus(); } }