/* Options: Date: 2026-04-04 08:35:51 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://pfapi.pstpf.com.au/api //GlobalNamespace: //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: GetAutomationNotificationsForObject.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class AutomationModel implements IConvertible { /** * The unique automation Id */ // @ApiMember(Description="The unique automation Id", ParameterType="query") String? AutomationId; /** * The automation type Id */ // @ApiMember(Description="The automation type Id", ParameterType="query") String? AutomationTypeId; /** * The automation type */ // @ApiMember(Description="The automation type", ParameterType="query") String? AutomationType; /** * The object this automation applies to */ // @ApiMember(Description="The object this automation applies to", ParameterType="query") String? ObjectId; /** * The object name this automation applies to */ // @ApiMember(Description="The object name this automation applies to", ParameterType="query") String? ObjectName; /** * The Id of the object type that this automation applies to. */ // @ApiMember(Description="The Id of the object type that this automation applies to. ", ParameterType="query") String? RmsTableCtxIdObject; /** * The name of the object type that this automation applies to. */ // @ApiMember(Description="The name of the object type that this automation applies to.", ParameterType="query") String? RmsTableCtxName; /** * A guid list containing the selected system action Id's that trigger this automation. */ // @ApiMember(Description="A guid list containing the selected system action Id's that trigger this automation.", ParameterType="query") List? ActionList; /** * A comma separated string of the selected system action names that trigger this automation. */ // @ApiMember(Description="A comma separated string of the selected system action names that trigger this automation.", ParameterType="query") String? Actions; /** * Name of the automation. */ // @ApiMember(Description="Name of the automation.", ParameterType="query") String? Name; /** * Description of the automation */ // @ApiMember(Description="Description of the automation", ParameterType="query") String? Description; /** * Owner Contact Id */ // @ApiMember(Description="Owner Contact Id", ParameterType="query") String? OwnerContactId; /** * Record Status of the automation. */ // @ApiMember(Description="Record Status of the automation.", ParameterType="query") String? RecordStatus; AutomationModel({this.AutomationId,this.AutomationTypeId,this.AutomationType,this.ObjectId,this.ObjectName,this.RmsTableCtxIdObject,this.RmsTableCtxName,this.ActionList,this.Actions,this.Name,this.Description,this.OwnerContactId,this.RecordStatus}); AutomationModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { AutomationId = json['AutomationId']; AutomationTypeId = json['AutomationTypeId']; AutomationType = json['AutomationType']; ObjectId = json['ObjectId']; ObjectName = json['ObjectName']; RmsTableCtxIdObject = json['RmsTableCtxIdObject']; RmsTableCtxName = json['RmsTableCtxName']; ActionList = JsonConverters.fromJson(json['ActionList'],'List',context!); Actions = json['Actions']; Name = json['Name']; Description = json['Description']; OwnerContactId = json['OwnerContactId']; RecordStatus = json['RecordStatus']; return this; } Map toJson() => { 'AutomationId': AutomationId, 'AutomationTypeId': AutomationTypeId, 'AutomationType': AutomationType, 'ObjectId': ObjectId, 'ObjectName': ObjectName, 'RmsTableCtxIdObject': RmsTableCtxIdObject, 'RmsTableCtxName': RmsTableCtxName, 'ActionList': JsonConverters.toJson(ActionList,'List',context!), 'Actions': Actions, 'Name': Name, 'Description': Description, 'OwnerContactId': OwnerContactId, 'RecordStatus': RecordStatus }; getTypeName() => "AutomationModel"; TypeContext? context = _ctx; } class AutoNotificationModel extends AutomationModel implements IConvertible { /** * Contact Id of the licensee this notification has been created for. */ // @ApiMember(Description="Contact Id of the licensee this notification has been created for.", ParameterType="query") String? ContactIdLicensee; /** * Contact Role Group Id. If the notification is setup for people in a specified contact role group. */ // @ApiMember(Description="Contact Role Group Id. If the notification is setup for people in a specified contact role group.", ParameterType="query") String? ContactRoleGroupId; /** * Contact Role Id. If the notification is setup for people in a specified role. */ // @ApiMember(Description="Contact Role Id. If the notification is setup for people in a specified role.", ParameterType="query") String? ContactRoleId; /** * Contact Role Name. If the notification is setup for people in a specified role. */ // @ApiMember(Description="Contact Role Name. If the notification is setup for people in a specified role.", ParameterType="query") String? ContactRoleName; /** * Contact Id. If the notification is setup for a specific person. */ // @ApiMember(Description="Contact Id. If the notification is setup for a specific person.", ParameterType="query") String? ContactId; /** * If true, then only contacts who are connected to the relevant object are notified. */ // @ApiMember(Description="If true, then only contacts who are connected to the relevant object are notified.", ParameterType="query") bool? ObjectContactConnectionRequired; /** * Document Notification: If true, then the notification will include a link to download the document. */ // @ApiMember(Description="Document Notification: If true, then the notification will include a link to download the document.", ParameterType="query") bool? AllowDirectAccess; /** * If true, the notification is sent as soon as it can be processed */ // @ApiMember(Description="If true, the notification is sent as soon as it can be processed", ParameterType="query") bool? SendImmediately; /** * If true, the notification is flagged and sent out when subscription/batch emails are next sent. */ // @ApiMember(Description="If true, the notification is flagged and sent out when subscription/batch emails are next sent.", ParameterType="query") bool? Batched; /** * Document Notification: If true, the notification is sent when a document has a status of draft. */ // @ApiMember(Description="Document Notification: If true, the notification is sent when a document has a status of draft.", ParameterType="query") bool? DraftStatus; /** * Document Notification: If true, the notification is sent when a document has a status of final. */ // @ApiMember(Description="Document Notification: If true, the notification is sent when a document has a status of final.", ParameterType="query") bool? FinalStatus; /** * True if we want to include a report on an email notification. */ // @ApiMember(Description="True if we want to include a report on an email notification. ", ParameterType="query") bool? IncludeReport; /** * True if this notification is based on a template. */ // @ApiMember(Description="True if this notification is based on a template.", ParameterType="query") bool? IsTemplateNotification; /** * When Inserting a new notification we can have 1+ roles. They should be passed to this field when inserting. */ // @ApiMember(Description="When Inserting a new notification we can have 1+ roles. They should be passed to this field when inserting.", ParameterType="query") List? Roles; /** * Communication Type Id. */ // @ApiMember(Description="Communication Type Id.", ParameterType="query") String? CommunicationTypeId; /** * Communication Type. */ // @ApiMember(Description="Communication Type.", ParameterType="query") String? CommunicationType; /** * If communication type is email, this is the subject of the email to be sent. */ // @ApiMember(Description="If communication type is email, this is the subject of the email to be sent.", ParameterType="query") String? Subject; /** * This is the notification details to be sent. */ // @ApiMember(Description="This is the notification details to be sent.", ParameterType="query") String? Body; /** * If true, we will include the relevant project URL in the notification. */ // @ApiMember(Description="If true, we will include the relevant project URL in the notification.", ParameterType="query") bool? IncludeURL; /** * The notification Id of a notification setup in Workflow Notification Management to use for the notification. */ // @ApiMember(Description="The notification Id of a notification setup in Workflow Notification Management to use for the notification.", ParameterType="query") String? NotificationId; /** * The notification nameof a notification setup in Workflow Notification Management to use for the notification. */ // @ApiMember(Description="The notification nameof a notification setup in Workflow Notification Management to use for the notification.", ParameterType="query") String? NotificationName; /** * The suite id the notification is setup for */ // @ApiMember(Description="The suite id the notification is setup for", ParameterType="query") String? SuiteId; /** * The suite name the notification is setup for */ // @ApiMember(Description="The suite name the notification is setup for", ParameterType="query") String? SuiteName; AutoNotificationModel({this.ContactIdLicensee,this.ContactRoleGroupId,this.ContactRoleId,this.ContactRoleName,this.ContactId,this.ObjectContactConnectionRequired,this.AllowDirectAccess,this.SendImmediately,this.Batched,this.DraftStatus,this.FinalStatus,this.IncludeReport,this.IsTemplateNotification,this.Roles,this.CommunicationTypeId,this.CommunicationType,this.Subject,this.Body,this.IncludeURL,this.NotificationId,this.NotificationName,this.SuiteId,this.SuiteName}); AutoNotificationModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ContactIdLicensee = json['ContactIdLicensee']; ContactRoleGroupId = json['ContactRoleGroupId']; ContactRoleId = json['ContactRoleId']; ContactRoleName = json['ContactRoleName']; ContactId = json['ContactId']; ObjectContactConnectionRequired = json['ObjectContactConnectionRequired']; AllowDirectAccess = json['AllowDirectAccess']; SendImmediately = json['SendImmediately']; Batched = json['Batched']; DraftStatus = json['DraftStatus']; FinalStatus = json['FinalStatus']; IncludeReport = json['IncludeReport']; IsTemplateNotification = json['IsTemplateNotification']; Roles = JsonConverters.fromJson(json['Roles'],'List',context!); CommunicationTypeId = json['CommunicationTypeId']; CommunicationType = json['CommunicationType']; Subject = json['Subject']; Body = json['Body']; IncludeURL = json['IncludeURL']; NotificationId = json['NotificationId']; NotificationName = json['NotificationName']; SuiteId = json['SuiteId']; SuiteName = json['SuiteName']; return this; } Map toJson() => super.toJson()..addAll({ 'ContactIdLicensee': ContactIdLicensee, 'ContactRoleGroupId': ContactRoleGroupId, 'ContactRoleId': ContactRoleId, 'ContactRoleName': ContactRoleName, 'ContactId': ContactId, 'ObjectContactConnectionRequired': ObjectContactConnectionRequired, 'AllowDirectAccess': AllowDirectAccess, 'SendImmediately': SendImmediately, 'Batched': Batched, 'DraftStatus': DraftStatus, 'FinalStatus': FinalStatus, 'IncludeReport': IncludeReport, 'IsTemplateNotification': IsTemplateNotification, 'Roles': JsonConverters.toJson(Roles,'List',context!), 'CommunicationTypeId': CommunicationTypeId, 'CommunicationType': CommunicationType, 'Subject': Subject, 'Body': Body, 'IncludeURL': IncludeURL, 'NotificationId': NotificationId, 'NotificationName': NotificationName, 'SuiteId': SuiteId, 'SuiteName': SuiteName }); getTypeName() => "AutoNotificationModel"; TypeContext? context = _ctx; } // @ApiResponse(Description="List of (automation) notifications that are setup for an object.") class GetAutomationNotificationsForObjectResponse implements IConvertible { /** * List of (automation) notifications. */ // @ApiMember(Description="List of (automation) notifications.") List? Notifications; ResponseStatus? ResponseStatus; GetAutomationNotificationsForObjectResponse({this.Notifications,this.ResponseStatus}); GetAutomationNotificationsForObjectResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { Notifications = JsonConverters.fromJson(json['Notifications'],'List',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'Notifications': JsonConverters.toJson(Notifications,'List',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "GetAutomationNotificationsForObjectResponse"; TypeContext? context = _ctx; } /** * Get (automation) notifications that are setup for an object */ // @Route("/automation/notification/{ObjectId}/list", "GET") // @Route("/automation/notification/{ObjectId}/list/standard", "GET") // @Route("/automation/notification/{ObjectId}/list/templated", "GET") // @Api(Description="Get (automation) notifications that are setup for an object") class GetAutomationNotificationsForObject implements IReturn, IConvertible, IGet { /** * Object to retrieve (automation) notifications for. */ // @ApiMember(Description="Object to retrieve (automation) notifications for.", ParameterType="path") String? ObjectId; GetAutomationNotificationsForObject({this.ObjectId}); GetAutomationNotificationsForObject.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ObjectId = json['ObjectId']; return this; } Map toJson() => { 'ObjectId': ObjectId }; createResponse() => GetAutomationNotificationsForObjectResponse(); getResponseTypeName() => "GetAutomationNotificationsForObjectResponse"; getTypeName() => "GetAutomationNotificationsForObject"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: { 'AutomationModel': TypeInfo(TypeOf.Class, create:() => AutomationModel()), 'AutoNotificationModel': TypeInfo(TypeOf.Class, create:() => AutoNotificationModel()), 'GetAutomationNotificationsForObjectResponse': TypeInfo(TypeOf.Class, create:() => GetAutomationNotificationsForObjectResponse()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetAutomationNotificationsForObject': TypeInfo(TypeOf.Class, create:() => GetAutomationNotificationsForObject()), });