/* Options: Date: 2026-04-04 01:20:53 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: GetContactRoleGroups.* //ExcludeTypes: //ExcludeGenericBaseTypes: False //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True //InitializeCollections: False //TreatTypesAsStrings: //DefaultImports: Foundation,ServiceStack */ import Foundation import ServiceStack /** * Get role groups for the given criteria */ // @Route("/contactrolegroups/{LicenseeId}") // @Api(Description="Get role groups for the given criteria") public class GetContactRoleGroups : PagedModel, IReturn { public typealias Return = GetContactRoleGroupsResponse /** * Get contact role groups for the specified licensee */ // @ApiMember(DataType="Guid", Description="Get contact role groups for the specified licensee", IsRequired=true, Name="LicenseeId", ParameterType="query") public var licenseeId:String? /** * Role Group Name */ // @ApiMember(DataType="string", Description="Role Group Name", Name="Name", ParameterType="query") public var name:String? /** * Active/Archived filter */ // @ApiMember(DataType="string", Description="Active/Archived filter", Name="RecordStatus", ParameterType="query") public var recordStatus:String? required public init(){ super.init() } private enum CodingKeys : String, CodingKey { case licenseeId case name case recordStatus } required public init(from decoder: Decoder) throws { try super.init(from: decoder) let container = try decoder.container(keyedBy: CodingKeys.self) licenseeId = try container.decodeIfPresent(String.self, forKey: .licenseeId) name = try container.decodeIfPresent(String.self, forKey: .name) recordStatus = try container.decodeIfPresent(String.self, forKey: .recordStatus) } public override func encode(to encoder: Encoder) throws { try super.encode(to: encoder) var container = encoder.container(keyedBy: CodingKeys.self) if licenseeId != nil { try container.encode(licenseeId, forKey: .licenseeId) } if name != nil { try container.encode(name, forKey: .name) } if recordStatus != nil { try container.encode(recordStatus, forKey: .recordStatus) } } } // @ApiResponse(Description="List of role groups") public class GetContactRoleGroupsResponse : Codable { public var roleGroups:[RoleGroupModel]? public var totalRoleGroups:Int? public var responseStatus:ResponseStatus? required public init(){} } public enum SortOrder : String, Codable { case Ascending case Descending } public class PagedModel : Codable { /** * Page Number to retrieve */ // @ApiMember(DataType="int", Description="Page Number to retrieve", Name="PageNumber") public var pageNumber:Int? /** * Number of records to retrieve */ // @ApiMember(DataType="int", Description="Number of records to retrieve", Name="PageSize") public var pageSize:Int? /** * Index of field to sort results by */ // @ApiMember(DataType="int", Description="Index of field to sort results by", Name="SortIndex") public var sortIndex:Int? /** * Sort Order - Ascending or Descending */ // @ApiMember(DataType="int", Description="Sort Order - Ascending or Descending", Name="SortOrder") public var sortOrder:SortOrder? required public init(){} } public class RoleGroupModel : Codable { /** * Role Group Id */ // @ApiMember(DataType="Guid", Description="Role Group Id", Name="RoleGroupId") public var roleGroupId:String? /** * Role Group Name */ // @ApiMember(DataType="string", Description="Role Group Name", Name="Name") public var name:String? /** * Owner Contact Id */ // @ApiMember(DataType="Guid", Description="Owner Contact Id", Name="OwnerContactId") public var ownerContactId:String? /** * Number of Roles */ // @ApiMember(DataType="int", Description="Number of Roles", Name="NumberOfRoles") public var numberOfRoles:Int? /** * Roles belonging to the Role Group */ // @ApiMember(DataType="List", Description="Roles belonging to the Role Group", Name="Roles") public var roles:[RoleGroupRolesModel]? /** * 'A' (Active), 'I' (Inactive) */ // @ApiMember(DataType="string", Description="'A' (Active), 'I' (Inactive)", Name="RecordStatus") public var recordStatus:String? /** * True if Licensee-owned, allowing editing, deleting, archiving */ // @ApiMember(DataType="bool", Description="True if Licensee-owned, allowing editing, deleting, archiving", Name="AllowEdit", ParameterType="query") public var allowEdit:Bool? required public init(){} } public class RoleGroupRolesModel : Codable { /** * Role Id */ // @ApiMember(DataType="Guid", Description="Role Id", Name="RoleId") public var roleId:String? /** * Role Name */ // @ApiMember(DataType="string", Description="Role Name", Name="RoleName") public var roleName:String? /** * Role Group Id */ // @ApiMember(DataType="Guid", Description="Role Group Id", Name="RoleGroupId") public var roleGroupId:String? /** * Role Group Name */ // @ApiMember(DataType="string", Description="Role Group Name", Name="RoleGroupName") public var roleGroupName:String? /** * Role Group Role Id */ // @ApiMember(DataType="Guid", Description="Role Group Role Id", Name="RoleGroupRoleId") public var roleGroupRoleId:String? /** * 'A' (Active), 'I' (Inactive) */ // @ApiMember(DataType="string", Description="'A' (Active), 'I' (Inactive)", Name="RecordStatus") public var recordStatus:String? /** * Owner Contact Id */ // @ApiMember(DataType="Guid", Description="Owner Contact Id", Name="OwnerContactId") public var ownerContactId:String? required public init(){} }