/* Options: Date: 2026-04-04 01:08:17 SwiftVersion: 6.0 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://pfapi.pstpf.com.au/api //BaseClass: //AddModelExtensions: True //AddServiceStackTypes: True //MakePropertiesOptional: True IncludeTypes: GetRolesForAutomationNotifications.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Get eligible roles for automation notifications */ // @Route("/automation/notification/{ObjectId}/roles", "GET") // @Api(Description="Get eligible roles for automation notifications") // @ApiResponse(Description="A list of roles that are eligible to be assigned to a notification.") public class GetRolesForAutomationNotifications : GetRolesForAutomationNotificationsResponse, IReturn { public typealias Return = GetRolesForAutomationNotificationsResponse /** * Object the notification will be for. Used to exclude any currently assigned roles. */ // @ApiMember(Description="Object the notification will be for. Used to exclude any currently assigned roles.", ParameterType="path") public var objectId:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case objectId } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) objectId = try container.decodeIfPresent(String.self, forKey: .objectId) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if objectId != nil { try container.encode(objectId, forKey: .objectId) } } } // @ApiResponse(Description="A list of roles that are eligible to be assigned to a notification.") public class GetRolesForAutomationNotificationsResponse : Codable { /** * List of all roles (grouped by suite) that can be assigned to a notification. */ // @ApiMember(Description="List of all roles (grouped by suite) that can be assigned to a notification.") public var allRoles:[GroupedListItemModel]? /** * List of roles that are already assigned to an email notification for the object, these should be excluded from being selected again. */ // @ApiMember(Description="List of roles that are already assigned to an email notification for the object, these should be excluded from being selected again.") public var rolesUsedEmail:[String]? /** * List of roles that are already assigned to an sms notification for the object, these should be excluded from being selected again. */ // @ApiMember(Description="List of roles that are already assigned to an sms notification for the object, these should be excluded from being selected again.") public var rolesUsedSMS:[String]? public var responseStatus:ResponseStatus? required public init(){} } public class GroupedListItemModel : Codable { public var listItemId:String? public var name:String? public var groupId:String? public var groupName:String? required public init(){} }