/* Options: Date: 2025-09-14 06:44: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: SaveProject.* //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 SubscriptionObjectModel implements ISubscription, IConvertible { /** * Guid representing the external systems datasource information. */ // @ApiMember(DataType="Guid", Description="Guid representing the external systems datasource information.", IsRequired=true, Name="SuiteDataSourceInstanceId", ParameterType="query") String? SuiteDataSourceInstanceId; /** * The unique key that represents the object on the external system. */ // @ApiMember(DataType="string", Description="The unique key that represents the object on the external system.", IsRequired=true, Name="AlternateKey", ParameterType="query") String? AlternateKey; /** * Guid of the 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 object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key.", Name="ObjectId", ParameterType="query") String? ObjectId; /** * Guid of the RmsTableCtx within Eros. This is used if the alternate key is provided to identify the object to update. */ // @ApiMember(DataType="Guid", Description="Guid of the RmsTableCtx within Eros. This is used if the alternate key is provided to identify the object to update.", Name="RmsTableCtxId", ParameterType="query") String? RmsTableCtxId; /** * Validation ensures that this object has a value in alternateKey or ObjectId, ignoring validation skips this requirement. */ // @ApiMember(DataType="bool", Description="Validation ensures that this object has a value in alternateKey or ObjectId, ignoring validation skips this requirement.", Name="IgnoreValidation", ParameterType="query") bool? IgnoreValidation; SubscriptionObjectModel({this.SuiteDataSourceInstanceId,this.AlternateKey,this.ObjectId,this.RmsTableCtxId,this.IgnoreValidation}); SubscriptionObjectModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { SuiteDataSourceInstanceId = json['SuiteDataSourceInstanceId']; AlternateKey = json['AlternateKey']; ObjectId = json['ObjectId']; RmsTableCtxId = json['RmsTableCtxId']; IgnoreValidation = json['IgnoreValidation']; return this; } Map toJson() => { 'SuiteDataSourceInstanceId': SuiteDataSourceInstanceId, 'AlternateKey': AlternateKey, 'ObjectId': ObjectId, 'RmsTableCtxId': RmsTableCtxId, 'IgnoreValidation': IgnoreValidation }; getTypeName() => "SubscriptionObjectModel"; TypeContext? context = _ctx; } class SubscriptionLinkContact implements IConvertible { /** * Guid of the contact object within Eros. */ // @ApiMember(DataType="Guid", Description="Guid of the contact object within Eros.", Name="ContactId", ParameterType="query") 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.", IsRequired=true, Name="ContactAlternateKey", ParameterType="query") String? ContactAlternateKey; /** * 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") 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="query") 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 LocationCoordinatesModel implements IConvertible { /** * The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. */ // @ApiMember(DataType="Double?", Description="The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.", IsRequired=true, Name="Latitude", ParameterType="query") double? Latitude; /** * The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface. */ // @ApiMember(DataType="Double?", Description="The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.", IsRequired=true, Name="Longitude", ParameterType="query") double? Longitude; /** * The altitude of an address - the altitude above sea level. */ // @ApiMember(DataType="Double?", Description="The altitude of an address - the altitude above sea level.", Name="Altitude", ParameterType="query") double? Altitude; /** * Accuracy of the latitude and longitude. */ // @ApiMember(DataType="Double?", Description="Accuracy of the latitude and longitude.", Name="Accuracy", ParameterType="query") double? Accuracy; /** * Accurancy of the Altitude. */ // @ApiMember(DataType="Double?", Description="Accurancy of the Altitude.", Name="AltitudeAccuracy", ParameterType="query") double? AltitudeAccuracy; /** * Direction you are heading. */ // @ApiMember(DataType="Double?", Description="Direction you are heading.", Name="Heading", ParameterType="query") double? Heading; /** * Speed you are going. */ // @ApiMember(DataType="Double?", Description="Speed you are going.", Name="Speed", ParameterType="query") double? Speed; /** * Speed your altitude is ascending/descending at. */ // @ApiMember(DataType="Double?", Description="Speed your altitude is ascending/descending at.", Name="VerticalSpeed", ParameterType="query") double? VerticalSpeed; LocationCoordinatesModel({this.Latitude,this.Longitude,this.Altitude,this.Accuracy,this.AltitudeAccuracy,this.Heading,this.Speed,this.VerticalSpeed}); LocationCoordinatesModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Latitude = JsonConverters.toDouble(json['Latitude']); Longitude = JsonConverters.toDouble(json['Longitude']); Altitude = JsonConverters.toDouble(json['Altitude']); Accuracy = JsonConverters.toDouble(json['Accuracy']); AltitudeAccuracy = JsonConverters.toDouble(json['AltitudeAccuracy']); Heading = JsonConverters.toDouble(json['Heading']); Speed = JsonConverters.toDouble(json['Speed']); VerticalSpeed = JsonConverters.toDouble(json['VerticalSpeed']); return this; } Map toJson() => { 'Latitude': Latitude, 'Longitude': Longitude, 'Altitude': Altitude, 'Accuracy': Accuracy, 'AltitudeAccuracy': AltitudeAccuracy, 'Heading': Heading, 'Speed': Speed, 'VerticalSpeed': VerticalSpeed }; getTypeName() => "LocationCoordinatesModel"; TypeContext? context = _ctx; } class AddressModel implements IConvertible { /** * The distance between this project and another specified set of gps coordinates. */ // @ApiMember(DataType="double", Description="The distance between this project and another specified set of gps coordinates.", Name="DistanceAway", ParameterType="query") double? DistanceAway; /** * The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface. */ // @ApiMember(DataType="Double?", Description="The latitude of an address - geographic coordinates specifying the north-south position of a point on the Earth's surface.", IsRequired=true, Name="Latitude", ParameterType="query") double? Latitude; /** * The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface. */ // @ApiMember(DataType="Double?", Description="The longitude of an address - geographic coordinates specifying the east-west position of a point on the Earth's surface.", IsRequired=true, Name="Longitude", ParameterType="query") double? Longitude; /** * Address Format Id Guid - this will be determined by the service. */ // @ApiMember(DataType="Guid", Description="Address Format Id Guid - this will be determined by the service.", Name="AddressFormatId", ParameterType="query") String? AddressFormatId; /** * Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered. */ // @ApiMember(DataType="Guid", Description="Suburb Id Guid - this will attempt to be determined by the SuburbName, StateShortName and Postcode entered.", Name="SuburbId", ParameterType="query") String? SuburbId; /** * The suburb name. */ // @ApiMember(DataType="string", Description="The suburb name.", Name="SuburbName", ParameterType="query") String? SuburbName; /** * The shortened State Name e.g Vic for Victoria. */ // @ApiMember(DataType="string", Description="The shortened State Name e.g Vic for Victoria.", Name="StateShortName", ParameterType="query") String? StateShortName; /** * The suburb postcode. */ // @ApiMember(DataType="string", Description="The suburb postcode.", Name="PostCode", ParameterType="query") String? PostCode; /** * Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered. */ // @ApiMember(DataType="Guid", Description="Country Id Guid - this will be determined by the CountrName or ISOCountryCode entered.", Name="CountryId", ParameterType="query") String? CountryId; /** * the name of the country the address is within. */ // @ApiMember(DataType="string", Description="the name of the country the address is within.", Name="CountryName", ParameterType="query") String? CountryName; /** * A 2 digit ISO Country Code representing the country. */ // @ApiMember(DataType="string", Description="A 2 digit ISO Country Code representing the country.", Name="ISOCountryCode", ParameterType="query") String? ISOCountryCode; /** * The address Lot number. */ // @ApiMember(DataType="string", Description="The address Lot number.", Name="LotNumber", ParameterType="query") String? LotNumber; /** * The address Sub Unit number. */ // @ApiMember(DataType="string", Description="The address Sub Unit number.", Name="SubUnit", ParameterType="query") String? SubUnit; /** * The address building number. */ // @ApiMember(DataType="string", Description="The address building number.", Name="BuildingNumber", ParameterType="query") String? BuildingNumber; /** * The address street number. */ // @ApiMember(DataType="string", Description="The address street number.", Name="StreetNumber", ParameterType="query") String? StreetNumber; /** * The address street name including street type. */ // @ApiMember(DataType="string", Description="The address street name including street type.", Name="StreetName", ParameterType="query") String? StreetName; /** * A formatted address Line 1. */ // @ApiMember(DataType="string", Description="A formatted address Line 1.", Name="AddressLineOne", ParameterType="query") String? AddressLineOne; /** * A formatted address Line 2. */ // @ApiMember(DataType="string", Description="A formatted address Line 2.", Name="AddressLineTwo", ParameterType="query") String? AddressLineTwo; /** * The full address string. */ // @ApiMember(DataType="string", Description="The full address string.", Name="AddressFull", ParameterType="query") String? AddressFull; /** * True if the address is a physical location. */ // @ApiMember(DataType="bool?", Description="True if the address is a physical location.", Name="IsPhysical", ParameterType="query") bool? IsPhysical; /** * Notes about the address. */ // @ApiMember(DataType="string", Description="Notes about the address.", Name="Notes", ParameterType="query") String? Notes; /** * If true, the address is eligible for having its coordinates calculated/updated. */ // @ApiMember(DataType="bool?", Description="If true, the address is eligible for having its coordinates calculated/updated.", Name="AutoMapCoordinates", ParameterType="query") bool? AutoMapCoordinates; /** * Location Coordinates for the address. */ // @ApiMember(DataType="LocationCoordinates", Description="Location Coordinates for the address.", Name="LocationCoordinates", ParameterType="query") LocationCoordinatesModel? LocationCoordinates; AddressModel({this.DistanceAway,this.Latitude,this.Longitude,this.AddressFormatId,this.SuburbId,this.SuburbName,this.StateShortName,this.PostCode,this.CountryId,this.CountryName,this.ISOCountryCode,this.LotNumber,this.SubUnit,this.BuildingNumber,this.StreetNumber,this.StreetName,this.AddressLineOne,this.AddressLineTwo,this.AddressFull,this.IsPhysical,this.Notes,this.AutoMapCoordinates,this.LocationCoordinates}); AddressModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DistanceAway = JsonConverters.toDouble(json['DistanceAway']); Latitude = JsonConverters.toDouble(json['Latitude']); Longitude = JsonConverters.toDouble(json['Longitude']); AddressFormatId = json['AddressFormatId']; SuburbId = json['SuburbId']; SuburbName = json['SuburbName']; StateShortName = json['StateShortName']; PostCode = json['PostCode']; CountryId = json['CountryId']; CountryName = json['CountryName']; ISOCountryCode = json['ISOCountryCode']; LotNumber = json['LotNumber']; SubUnit = json['SubUnit']; BuildingNumber = json['BuildingNumber']; StreetNumber = json['StreetNumber']; StreetName = json['StreetName']; AddressLineOne = json['AddressLineOne']; AddressLineTwo = json['AddressLineTwo']; AddressFull = json['AddressFull']; IsPhysical = json['IsPhysical']; Notes = json['Notes']; AutoMapCoordinates = json['AutoMapCoordinates']; LocationCoordinates = JsonConverters.fromJson(json['LocationCoordinates'],'LocationCoordinatesModel',context!); return this; } Map toJson() => { 'DistanceAway': DistanceAway, 'Latitude': Latitude, 'Longitude': Longitude, 'AddressFormatId': AddressFormatId, 'SuburbId': SuburbId, 'SuburbName': SuburbName, 'StateShortName': StateShortName, 'PostCode': PostCode, 'CountryId': CountryId, 'CountryName': CountryName, 'ISOCountryCode': ISOCountryCode, 'LotNumber': LotNumber, 'SubUnit': SubUnit, 'BuildingNumber': BuildingNumber, 'StreetNumber': StreetNumber, 'StreetName': StreetName, 'AddressLineOne': AddressLineOne, 'AddressLineTwo': AddressLineTwo, 'AddressFull': AddressFull, 'IsPhysical': IsPhysical, 'Notes': Notes, 'AutoMapCoordinates': AutoMapCoordinates, 'LocationCoordinates': JsonConverters.toJson(LocationCoordinates,'LocationCoordinatesModel',context!) }; getTypeName() => "AddressModel"; TypeContext? context = _ctx; } class DimensionValueModel implements IConvertible { String? DimensionValueId; String? DimensionId; String? Name; String? Description; String? ShortName; String? TrafficLightId; String? TrafficLightColour; String? ObjectConnectionId; String? OwnerContactId; String? RecordStatus; DimensionValueModel({this.DimensionValueId,this.DimensionId,this.Name,this.Description,this.ShortName,this.TrafficLightId,this.TrafficLightColour,this.ObjectConnectionId,this.OwnerContactId,this.RecordStatus}); DimensionValueModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { DimensionValueId = json['DimensionValueId']; DimensionId = json['DimensionId']; Name = json['Name']; Description = json['Description']; ShortName = json['ShortName']; TrafficLightId = json['TrafficLightId']; TrafficLightColour = json['TrafficLightColour']; ObjectConnectionId = json['ObjectConnectionId']; OwnerContactId = json['OwnerContactId']; RecordStatus = json['RecordStatus']; return this; } Map toJson() => { 'DimensionValueId': DimensionValueId, 'DimensionId': DimensionId, 'Name': Name, 'Description': Description, 'ShortName': ShortName, 'TrafficLightId': TrafficLightId, 'TrafficLightColour': TrafficLightColour, 'ObjectConnectionId': ObjectConnectionId, 'OwnerContactId': OwnerContactId, 'RecordStatus': RecordStatus }; getTypeName() => "DimensionValueModel"; TypeContext? context = _ctx; } class SubscriptionCommonProjectModel implements IConvertible { /** * A reference number used for identifying the project in the external system. */ // @ApiMember(DataType="string", Description="A reference number used for identifying the project in the external system.", Name="Reference", ParameterType="query") String? Reference; /** * A name for the project. */ // @ApiMember(DataType="string", Description="A name for the project.", IsRequired=true, Name="Name", ParameterType="query") String? Name; /** * A description for the project. */ // @ApiMember(DataType="string", Description="A description for the project.", IsRequired=true, Name="Description", ParameterType="query") String? Description; /** * A list of ProjectContact records that link contacts (and their role in the project) to the project. */ // @ApiMember(DataType="List", Description="A list of ProjectContact records that link contacts (and their role in the project) to the project.", Name="ProjectContacts", ParameterType="query") List? ProjectContacts; /** * An address for the project. */ // @ApiMember(DataType="AddressModel", Description="An address for the project.", Name="ProjectAddress", ParameterType="query") AddressModel? ProjectAddress; /** * A link to the Customer Contact Group. */ // @ApiMember(DataType="SubscriptionObjectModel", Description="A link to the Customer Contact Group.", Name="CustomerContactGroup", ParameterType="query") SubscriptionObjectModel? CustomerContactGroup; /** * Project Group Name. */ // @ApiMember(DataType="string", Description="Project Group Name.", Name="GroupName", ParameterType="query") String? GroupName; /** * Stage Name. */ // @ApiMember(DataType="string", Description="Stage Name.", Name="StageName", ParameterType="query") String? StageName; /** * Guid of the Media Object representing the projects primary image. */ // @ApiMember(DataType="Guid", Description="Guid of the Media Object representing the projects primary image.", Name="PrimaryProjectImageId", ParameterType="query") String? PrimaryProjectImageId; /** * URL to the projects primary full image. */ // @ApiMember(DataType="string", Description="URL to the projects primary full image.", Name="PrimaryProjectPhotoUrl", ParameterType="query") String? PrimaryProjectPhotoUrl; /** * URL to the projects primary thumbnail image. */ // @ApiMember(DataType="string", Description="URL to the projects primary thumbnail image.", Name="PrimaryProjectThumbnailUrl", ParameterType="query") String? PrimaryProjectThumbnailUrl; /** * Image height of the projects logo. */ // @ApiMember(DataType="int", Description="Image height of the projects logo.", Name="PrimaryProjectPhotoHeight", ParameterType="query") int? PrimaryProjectPhotoHeight; /** * Image height of the projects logo. */ // @ApiMember(DataType="int", Description="Image height of the projects logo.", Name="PrimaryProjectPhotoWidth", ParameterType="query") int? PrimaryProjectPhotoWidth; /** * Dynamically linked content. */ // @ApiMember(DataType="string", Description="Dynamically linked content.", Name="DynamicContent", ParameterType="query") String? DynamicContent; /** * If this is 'A' then a documentable ObjectConnection will be created. If this is 'D' then a documentable ObjectConnection will be removed if it exists. Any other value will be ignored. */ // @ApiMember(DataType="char", Description="If this is 'A' then a documentable ObjectConnection will be created. If this is 'D' then a documentable ObjectConnection will be removed if it exists. Any other value will be ignored.", Name="DocumentableObjectConnection", ParameterType="query") String? DocumentableObjectConnection; /** * Dimension values linked to the project. */ // @ApiMember(DataType="List", Description="Dimension values linked to the project.", Name="DimensionValues", ParameterType="query") List? DimensionValues; /** * Dimension values linked to the project. */ // @ApiMember(DataType="List", Description="Dimension values linked to the project.", Name="Calendars", ParameterType="query") List? Calendars; /** * The Document Site ID. */ // @ApiMember(DataType="Guid", Description="The Document Site ID.", Name="DocumentSiteId", ParameterType="query") String? DocumentSiteId; String? ObjectSubscriptionId; String? ObjectHash; SubscriptionCommonProjectModel({this.Reference,this.Name,this.Description,this.ProjectContacts,this.ProjectAddress,this.CustomerContactGroup,this.GroupName,this.StageName,this.PrimaryProjectImageId,this.PrimaryProjectPhotoUrl,this.PrimaryProjectThumbnailUrl,this.PrimaryProjectPhotoHeight,this.PrimaryProjectPhotoWidth,this.DynamicContent,this.DocumentableObjectConnection,this.DimensionValues,this.Calendars,this.DocumentSiteId,this.ObjectSubscriptionId,this.ObjectHash}); SubscriptionCommonProjectModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Reference = json['Reference']; Name = json['Name']; Description = json['Description']; ProjectContacts = JsonConverters.fromJson(json['ProjectContacts'],'List',context!); ProjectAddress = JsonConverters.fromJson(json['ProjectAddress'],'AddressModel',context!); CustomerContactGroup = JsonConverters.fromJson(json['CustomerContactGroup'],'SubscriptionObjectModel',context!); GroupName = json['GroupName']; StageName = json['StageName']; PrimaryProjectImageId = json['PrimaryProjectImageId']; PrimaryProjectPhotoUrl = json['PrimaryProjectPhotoUrl']; PrimaryProjectThumbnailUrl = json['PrimaryProjectThumbnailUrl']; PrimaryProjectPhotoHeight = json['PrimaryProjectPhotoHeight']; PrimaryProjectPhotoWidth = json['PrimaryProjectPhotoWidth']; DynamicContent = json['DynamicContent']; DocumentableObjectConnection = json['DocumentableObjectConnection']; DimensionValues = JsonConverters.fromJson(json['DimensionValues'],'List',context!); Calendars = JsonConverters.fromJson(json['Calendars'],'List',context!); DocumentSiteId = json['DocumentSiteId']; ObjectSubscriptionId = json['ObjectSubscriptionId']; ObjectHash = json['ObjectHash']; return this; } Map toJson() => { 'Reference': Reference, 'Name': Name, 'Description': Description, 'ProjectContacts': JsonConverters.toJson(ProjectContacts,'List',context!), 'ProjectAddress': JsonConverters.toJson(ProjectAddress,'AddressModel',context!), 'CustomerContactGroup': JsonConverters.toJson(CustomerContactGroup,'SubscriptionObjectModel',context!), 'GroupName': GroupName, 'StageName': StageName, 'PrimaryProjectImageId': PrimaryProjectImageId, 'PrimaryProjectPhotoUrl': PrimaryProjectPhotoUrl, 'PrimaryProjectThumbnailUrl': PrimaryProjectThumbnailUrl, 'PrimaryProjectPhotoHeight': PrimaryProjectPhotoHeight, 'PrimaryProjectPhotoWidth': PrimaryProjectPhotoWidth, 'DynamicContent': DynamicContent, 'DocumentableObjectConnection': DocumentableObjectConnection, 'DimensionValues': JsonConverters.toJson(DimensionValues,'List',context!), 'Calendars': JsonConverters.toJson(Calendars,'List',context!), 'DocumentSiteId': DocumentSiteId, 'ObjectSubscriptionId': ObjectSubscriptionId, 'ObjectHash': ObjectHash }; getTypeName() => "SubscriptionCommonProjectModel"; TypeContext? context = _ctx; } /** * Inserts or Updates a project details and its contact connections and addresses. */ // @Api(Description="Inserts or Updates a project details and its contact connections and addresses.") class SaveProject 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") String? SuiteDataSourceInstanceId; /** * The unique key that represents the project on the external system. */ // @ApiMember(DataType="string", Description="The unique key that represents the project on the external system.", IsRequired=true, Name="AlternateKey") String? AlternateKey; /** * Guid of the project 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 project object within Eros. If ObjectId is known, the external system may pass this instead of the alternate key.", Name="ObjectId", ParameterType="query") String? ObjectId; /** * If set to true, the object will be updated/refreshed. If false, the hash representation of the Project model and its data will be compared with the current Project 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 Project model and its data will be compared with the current Project to determine if there are any changes to save.", Name="IgnoreHash") bool? IgnoreHash; bool? IgnoreValidation; /** * Object containing all details of the project to be inserted or updated. */ // @ApiMember(DataType="SubscriptionCommonProjectModel", Description="Object containing all details of the project to be inserted or updated.", IsRequired=true, Name="Project", ParameterType="query") SubscriptionCommonProjectModel? Project; String? LicenseeId; String? SessionId; SaveProject({this.SuiteDataSourceInstanceId,this.AlternateKey,this.ObjectId,this.IgnoreHash,this.IgnoreValidation,this.Project,this.LicenseeId,this.SessionId}); SaveProject.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); SuiteDataSourceInstanceId = json['SuiteDataSourceInstanceId']; AlternateKey = json['AlternateKey']; ObjectId = json['ObjectId']; IgnoreHash = json['IgnoreHash']; IgnoreValidation = json['IgnoreValidation']; Project = JsonConverters.fromJson(json['Project'],'SubscriptionCommonProjectModel',context!); LicenseeId = json['LicenseeId']; SessionId = json['SessionId']; return this; } Map toJson() => super.toJson()..addAll({ 'SuiteDataSourceInstanceId': SuiteDataSourceInstanceId, 'AlternateKey': AlternateKey, 'ObjectId': ObjectId, 'IgnoreHash': IgnoreHash, 'IgnoreValidation': IgnoreValidation, 'Project': JsonConverters.toJson(Project,'SubscriptionCommonProjectModel',context!), 'LicenseeId': LicenseeId, 'SessionId': SessionId }); createResponse() => ResponseStatus(); getResponseTypeName() => "ResponseStatus"; getTypeName() => "SaveProject"; 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), 'SubscriptionObjectModel': TypeInfo(TypeOf.Class, create:() => SubscriptionObjectModel()), 'SubscriptionLinkContact': TypeInfo(TypeOf.Class, create:() => SubscriptionLinkContact()), 'LocationCoordinatesModel': TypeInfo(TypeOf.Class, create:() => LocationCoordinatesModel()), 'AddressModel': TypeInfo(TypeOf.Class, create:() => AddressModel()), 'DimensionValueModel': TypeInfo(TypeOf.Class, create:() => DimensionValueModel()), 'SubscriptionCommonProjectModel': TypeInfo(TypeOf.Class, create:() => SubscriptionCommonProjectModel()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'SaveProject': TypeInfo(TypeOf.Class, create:() => SaveProject()), });