/* Options: Date: 2026-04-04 08:43:30 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: GetContactRoleDetails.* //ExcludeTypes: //DefaultImports: package:servicestack/servicestack.dart */ import 'package:servicestack/servicestack.dart'; class UserProfileSummaryModel implements IConvertible { /** * User Profile Id */ // @ApiMember(DataType="Guid", Description="User Profile Id", Name="UserProfileId") String? UserProfileId; /** * User linked to the profile */ // @ApiMember(DataType="Guid", Description="User linked to the profile", Name="UserId") String? UserId; /** * Contact linked to the profile */ // @ApiMember(DataType="Guid", Description="Contact linked to the profile", Name="ContactId") String? ContactId; /** * User linked to the profile */ // @ApiMember(DataType="string", Description="User linked to the profile", Name="UserName") String? UserName; /** * User Profile Name */ // @ApiMember(DataType="string", Description="User Profile Name", Name="ProfileName") String? ProfileName; /** * Full name of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Full name of the contact linked to the profile", Name="ContactFullName") String? ContactFullName; /** * Email Address of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Email Address of the contact linked to the profile", Name="EmailAddress") String? EmailAddress; /** * Email signature of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Email signature of the contact linked to the profile", Name="EmailSignature") String? EmailSignature; /** * Mobile number of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Mobile number of the contact linked to the profile", Name="MobileNumber") String? MobileNumber; /** * Phone number of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Phone number of the contact linked to the profile", Name="PhoneNumber") String? PhoneNumber; /** * Type of contact (person, organisation etc.) linked to the profile */ // @ApiMember(DataType="string", Description="Type of contact (person, organisation etc.) linked to the profile", Name="ContactTypeId") String? ContactTypeId; /** * Type of contact (person, organisation etc.) linked to the profile */ // @ApiMember(DataType="string", Description="Type of contact (person, organisation etc.) linked to the profile", Name="ContactTypeName") String? ContactTypeName; /** * First name of the contact linked to the profile */ // @ApiMember(DataType="string", Description="First name of the contact linked to the profile", Name="FirstName") String? FirstName; /** * Surname of the contact linked to the profile */ // @ApiMember(DataType="string", Description="Surname of the contact linked to the profile", Name="Surname") String? Surname; /** * Title of contact linked to the profile */ // @ApiMember(DataType="string", Description="Title of contact linked to the profile", Name="Title") String? Title; /** * Legal name of contact linked to the profile */ // @ApiMember(DataType="string", Description="Legal name of contact linked to the profile", Name="LegalName") String? LegalName; /** * Trading name of contact linked to the profile */ // @ApiMember(DataType="string", Description="Trading name of contact linked to the profile", Name="TradingName") String? TradingName; /** * Australian Business Number */ // @ApiMember(DataType="string", Description="Australian Business Number", Name="Abn", ParameterType="query") String? Abn; /** * Australian Company Number */ // @ApiMember(DataType="string", Description="Australian Company Number", Name="Acn", ParameterType="query") String? Acn; /** * Australian Registered Body Number */ // @ApiMember(DataType="string", Description="Australian Registered Body Number", Name="Arbn", ParameterType="query") String? Arbn; /** * Indicates if the Contact is registered for GST. */ // @ApiMember(DataType="bool", Description="Indicates if the Contact is registered for GST.", Name="GstRegistered", ParameterType="query") bool? GstRegistered; /** * True if english is a secondary language for the contact. */ // @ApiMember(DataType="bool", Description="True if english is a secondary language for the contact.", Name="ESL", ParameterType="query") bool? ESL; /** * Language that is the primary language for the contact. */ // @ApiMember(DataType="string", Description="Language that is the primary language for the contact.", Name="Language", ParameterType="query") String? Language; /** * True if an interpreter is required. */ // @ApiMember(DataType="bool", Description="True if an interpreter is required.", Name="InterpreterRequired", ParameterType="query") bool? InterpreterRequired; /** * Licensee specific notes about the contact. */ // @ApiMember(DataType="string", Description="Licensee specific notes about the contact.", Name="LicenseeNotes", ParameterType="query") String? LicenseeNotes; /** * Profile photo of contact linked to the profile */ // @ApiMember(DataType="string", Description="Profile photo of contact linked to the profile", Name="ProfilePhotoUrl") String? ProfilePhotoUrl; /** * Thumbnail photo of contact linked to the profile */ // @ApiMember(DataType="string", Description="Thumbnail photo of contact linked to the profile", Name="ProfilePhotoThumbnailUrl") String? ProfilePhotoThumbnailUrl; /** * Profile photo id of contact linked to the profile */ // @ApiMember(DataType="Guid", Description="Profile photo id of contact linked to the profile", Name="ProfileImageId") String? ProfileImageId; /** * Profile description */ // @ApiMember(DataType="string", Description="Profile description", Name="Description") String? Description; /** * Employment Industry */ // @ApiMember(DataType="string", Description="Employment Industry", Name="EmploymentIndustry") String? EmploymentIndustry; /** * Employment Role */ // @ApiMember(DataType="string", Description="Employment Role", Name="EmploymentRole") String? EmploymentRole; /** * Areas of Work */ // @ApiMember(DataType="string", Description="Areas of Work", Name="EmploymentGeographicArea") String? EmploymentGeographicArea; /** * The contacts timezone. */ // @ApiMember(DataType="Guid", Description="The contacts timezone.", Name="Timezone", ParameterType="query") String? Timezone; /** * Timezone Name */ // @ApiMember(DataType="string", Description="Timezone Name", Name="TimezoneName", ParameterType="query") String? TimezoneName; /** * The primary address of the contact */ // @ApiMember(DataType="string", Description="The primary address of the contact", Name="PrimaryAddress", ParameterType="query") String? PrimaryAddress; /** * Is this an active contact? Or an inactive contact (deleted account)? */ // @ApiMember(DataType="bool", Description="Is this an active contact? Or an inactive contact (deleted account)?", Name="IsActiveContact") bool? IsActiveContact; UserProfileSummaryModel({this.UserProfileId,this.UserId,this.ContactId,this.UserName,this.ProfileName,this.ContactFullName,this.EmailAddress,this.EmailSignature,this.MobileNumber,this.PhoneNumber,this.ContactTypeId,this.ContactTypeName,this.FirstName,this.Surname,this.Title,this.LegalName,this.TradingName,this.Abn,this.Acn,this.Arbn,this.GstRegistered,this.ESL,this.Language,this.InterpreterRequired,this.LicenseeNotes,this.ProfilePhotoUrl,this.ProfilePhotoThumbnailUrl,this.ProfileImageId,this.Description,this.EmploymentIndustry,this.EmploymentRole,this.EmploymentGeographicArea,this.Timezone,this.TimezoneName,this.PrimaryAddress,this.IsActiveContact}); UserProfileSummaryModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { UserProfileId = json['UserProfileId']; UserId = json['UserId']; ContactId = json['ContactId']; UserName = json['UserName']; ProfileName = json['ProfileName']; ContactFullName = json['ContactFullName']; EmailAddress = json['EmailAddress']; EmailSignature = json['EmailSignature']; MobileNumber = json['MobileNumber']; PhoneNumber = json['PhoneNumber']; ContactTypeId = json['ContactTypeId']; ContactTypeName = json['ContactTypeName']; FirstName = json['FirstName']; Surname = json['Surname']; Title = json['Title']; LegalName = json['LegalName']; TradingName = json['TradingName']; Abn = json['Abn']; Acn = json['Acn']; Arbn = json['Arbn']; GstRegistered = json['GstRegistered']; ESL = json['ESL']; Language = json['Language']; InterpreterRequired = json['InterpreterRequired']; LicenseeNotes = json['LicenseeNotes']; ProfilePhotoUrl = json['ProfilePhotoUrl']; ProfilePhotoThumbnailUrl = json['ProfilePhotoThumbnailUrl']; ProfileImageId = json['ProfileImageId']; Description = json['Description']; EmploymentIndustry = json['EmploymentIndustry']; EmploymentRole = json['EmploymentRole']; EmploymentGeographicArea = json['EmploymentGeographicArea']; Timezone = json['Timezone']; TimezoneName = json['TimezoneName']; PrimaryAddress = json['PrimaryAddress']; IsActiveContact = json['IsActiveContact']; return this; } Map toJson() => { 'UserProfileId': UserProfileId, 'UserId': UserId, 'ContactId': ContactId, 'UserName': UserName, 'ProfileName': ProfileName, 'ContactFullName': ContactFullName, 'EmailAddress': EmailAddress, 'EmailSignature': EmailSignature, 'MobileNumber': MobileNumber, 'PhoneNumber': PhoneNumber, 'ContactTypeId': ContactTypeId, 'ContactTypeName': ContactTypeName, 'FirstName': FirstName, 'Surname': Surname, 'Title': Title, 'LegalName': LegalName, 'TradingName': TradingName, 'Abn': Abn, 'Acn': Acn, 'Arbn': Arbn, 'GstRegistered': GstRegistered, 'ESL': ESL, 'Language': Language, 'InterpreterRequired': InterpreterRequired, 'LicenseeNotes': LicenseeNotes, 'ProfilePhotoUrl': ProfilePhotoUrl, 'ProfilePhotoThumbnailUrl': ProfilePhotoThumbnailUrl, 'ProfileImageId': ProfileImageId, 'Description': Description, 'EmploymentIndustry': EmploymentIndustry, 'EmploymentRole': EmploymentRole, 'EmploymentGeographicArea': EmploymentGeographicArea, 'Timezone': Timezone, 'TimezoneName': TimezoneName, 'PrimaryAddress': PrimaryAddress, 'IsActiveContact': IsActiveContact }; getTypeName() => "UserProfileSummaryModel"; TypeContext? context = _ctx; } enum SortOrder { Ascending, Descending, } class PagedModel implements IConvertible { /** * Page Number to retrieve */ // @ApiMember(DataType="int", Description="Page Number to retrieve", Name="PageNumber") int? PageNumber; /** * Number of records to retrieve */ // @ApiMember(DataType="int", Description="Number of records to retrieve", Name="PageSize") int? PageSize; /** * Index of field to sort results by */ // @ApiMember(DataType="int", Description="Index of field to sort results by", Name="SortIndex") int? SortIndex; /** * Sort Order - Ascending or Descending */ // @ApiMember(DataType="int", Description="Sort Order - Ascending or Descending", Name="SortOrder") SortOrder? SortOrder; PagedModel({this.PageNumber,this.PageSize,this.SortIndex,this.SortOrder}); PagedModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { PageNumber = json['PageNumber']; PageSize = json['PageSize']; SortIndex = json['SortIndex']; SortOrder = JsonConverters.fromJson(json['SortOrder'],'SortOrder',context!); return this; } Map toJson() => { 'PageNumber': PageNumber, 'PageSize': PageSize, 'SortIndex': SortIndex, 'SortOrder': JsonConverters.toJson(SortOrder,'SortOrder',context!) }; getTypeName() => "PagedModel"; TypeContext? context = _ctx; } class ObjectShareModel implements IConvertible { String? ObjectShareId; String? ObjectId; String? ObjectName; String? Name; String? Description; String? Reference; String? ContactId; String? ContactName; String? ContactType; String? ContactImageUrlPrimary; String? ContactImageUrlPrimaryThmbnail; String? ShareStatusId; String? ShareStatusName; ObjectShareModel({this.ObjectShareId,this.ObjectId,this.ObjectName,this.Name,this.Description,this.Reference,this.ContactId,this.ContactName,this.ContactType,this.ContactImageUrlPrimary,this.ContactImageUrlPrimaryThmbnail,this.ShareStatusId,this.ShareStatusName}); ObjectShareModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ObjectShareId = json['ObjectShareId']; ObjectId = json['ObjectId']; ObjectName = json['ObjectName']; Name = json['Name']; Description = json['Description']; Reference = json['Reference']; ContactId = json['ContactId']; ContactName = json['ContactName']; ContactType = json['ContactType']; ContactImageUrlPrimary = json['ContactImageUrlPrimary']; ContactImageUrlPrimaryThmbnail = json['ContactImageUrlPrimaryThmbnail']; ShareStatusId = json['ShareStatusId']; ShareStatusName = json['ShareStatusName']; return this; } Map toJson() => { 'ObjectShareId': ObjectShareId, 'ObjectId': ObjectId, 'ObjectName': ObjectName, 'Name': Name, 'Description': Description, 'Reference': Reference, 'ContactId': ContactId, 'ContactName': ContactName, 'ContactType': ContactType, 'ContactImageUrlPrimary': ContactImageUrlPrimary, 'ContactImageUrlPrimaryThmbnail': ContactImageUrlPrimaryThmbnail, 'ShareStatusId': ShareStatusId, 'ShareStatusName': ShareStatusName }; getTypeName() => "ObjectShareModel"; TypeContext? context = _ctx; } class ListItemFilterModel implements IConvertible { String? ListItemFilterId; String? FilterName; String? ListId; String? ListItemId; bool? ListItemIsInFilter; ListItemFilterModel({this.ListItemFilterId,this.FilterName,this.ListId,this.ListItemId,this.ListItemIsInFilter}); ListItemFilterModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ListItemFilterId = json['ListItemFilterId']; FilterName = json['FilterName']; ListId = json['ListId']; ListItemId = json['ListItemId']; ListItemIsInFilter = json['ListItemIsInFilter']; return this; } Map toJson() => { 'ListItemFilterId': ListItemFilterId, 'FilterName': FilterName, 'ListId': ListId, 'ListItemId': ListItemId, 'ListItemIsInFilter': ListItemIsInFilter }; getTypeName() => "ListItemFilterModel"; TypeContext? context = _ctx; } class ViewRoleModel extends PagedModel implements IConvertible { /** * Role Id */ // @ApiMember(DataType="Guid", Description="Role Id", IsRequired=true, Name="RoleId") String? RoleId; /** * Role Name */ // @ApiMember(DataType="string", Description="Role Name", Name="RoleName") String? RoleName; /** * Role Connection Definition Id */ // @ApiMember(DataType="Guid", Description="Role Connection Definition Id", Name="RoleConnectionDefinitionId") String? RoleConnectionDefinitionId; /** * Contact Types the Role applies to */ // @ApiMember(DataType="List", Description="Contact Types the Role applies to", Name="ContactTypes") List? ContactTypes; /** * Does the role require contacts to accept it? */ // @ApiMember(DataType="bool", Description="Does the role require contacts to accept it?", Name="RequireContactsToAccept") bool? RequireContactsToAccept; bool? IsPlatformRole; bool? CanAddContacts; bool? CanShareRole; bool? CanEditRole; bool? CanEditContactTypes; List? Contacts; List? ShareDetails; List? ListItemFilters; String? ContactIdOwner; int? TotalItemCount; ViewRoleModel({this.RoleId,this.RoleName,this.RoleConnectionDefinitionId,this.ContactTypes,this.RequireContactsToAccept,this.IsPlatformRole,this.CanAddContacts,this.CanShareRole,this.CanEditRole,this.CanEditContactTypes,this.Contacts,this.ShareDetails,this.ListItemFilters,this.ContactIdOwner,this.TotalItemCount}); ViewRoleModel.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); RoleId = json['RoleId']; RoleName = json['RoleName']; RoleConnectionDefinitionId = json['RoleConnectionDefinitionId']; ContactTypes = JsonConverters.fromJson(json['ContactTypes'],'List',context!); RequireContactsToAccept = json['RequireContactsToAccept']; IsPlatformRole = json['IsPlatformRole']; CanAddContacts = json['CanAddContacts']; CanShareRole = json['CanShareRole']; CanEditRole = json['CanEditRole']; CanEditContactTypes = json['CanEditContactTypes']; Contacts = JsonConverters.fromJson(json['Contacts'],'List',context!); ShareDetails = JsonConverters.fromJson(json['ShareDetails'],'List',context!); ListItemFilters = JsonConverters.fromJson(json['ListItemFilters'],'List',context!); ContactIdOwner = json['ContactIdOwner']; TotalItemCount = json['TotalItemCount']; return this; } Map toJson() => super.toJson()..addAll({ 'RoleId': RoleId, 'RoleName': RoleName, 'RoleConnectionDefinitionId': RoleConnectionDefinitionId, 'ContactTypes': JsonConverters.toJson(ContactTypes,'List',context!), 'RequireContactsToAccept': RequireContactsToAccept, 'IsPlatformRole': IsPlatformRole, 'CanAddContacts': CanAddContacts, 'CanShareRole': CanShareRole, 'CanEditRole': CanEditRole, 'CanEditContactTypes': CanEditContactTypes, 'Contacts': JsonConverters.toJson(Contacts,'List',context!), 'ShareDetails': JsonConverters.toJson(ShareDetails,'List',context!), 'ListItemFilters': JsonConverters.toJson(ListItemFilters,'List',context!), 'ContactIdOwner': ContactIdOwner, 'TotalItemCount': TotalItemCount }); getTypeName() => "ViewRoleModel"; TypeContext? context = _ctx; } // @ApiResponse(Description="Details of the specified contact role, including details of the contacts and organisations sharing it") class GetContactRoleDetailsResponse implements IConvertible { ViewRoleModel? ContactRole; ResponseStatus? ResponseStatus; GetContactRoleDetailsResponse({this.ContactRole,this.ResponseStatus}); GetContactRoleDetailsResponse.fromJson(Map json) { fromMap(json); } fromMap(Map json) { ContactRole = JsonConverters.fromJson(json['ContactRole'],'ViewRoleModel',context!); ResponseStatus = JsonConverters.fromJson(json['ResponseStatus'],'ResponseStatus',context!); return this; } Map toJson() => { 'ContactRole': JsonConverters.toJson(ContactRole,'ViewRoleModel',context!), 'ResponseStatus': JsonConverters.toJson(ResponseStatus,'ResponseStatus',context!) }; getTypeName() => "GetContactRoleDetailsResponse"; TypeContext? context = _ctx; } /** * Get details of the specified contact role, including details of the contacts and organisations sharing it */ // @Route("/contactrole/{ContactRoleId}") // @Api(Description="Get details of the specified contact role, including details of the contacts and organisations sharing it") class GetContactRoleDetails extends PagedModel implements IReturn, IConvertible, IGet { /** * The Contact Role Guid. Records retrieved will belong to this contact. */ // @ApiMember(DataType="Guid", Description="The Contact Role Guid. Records retrieved will belong to this contact.", IsRequired=true, Name="ContactRoleId", ParameterType="query") String? ContactRoleId; /** * Text filter */ // @ApiMember(DataType="string", Description="Text filter", Name="SearchText", ParameterType="query") String? SearchText; GetContactRoleDetails({this.ContactRoleId,this.SearchText}); GetContactRoleDetails.fromJson(Map json) { fromMap(json); } fromMap(Map json) { super.fromMap(json); ContactRoleId = json['ContactRoleId']; SearchText = json['SearchText']; return this; } Map toJson() => super.toJson()..addAll({ 'ContactRoleId': ContactRoleId, 'SearchText': SearchText }); createResponse() => GetContactRoleDetailsResponse(); getResponseTypeName() => "GetContactRoleDetailsResponse"; getTypeName() => "GetContactRoleDetails"; TypeContext? context = _ctx; } TypeContext _ctx = TypeContext(library: 'pfapi.pstpf.com.au', types: { 'UserProfileSummaryModel': TypeInfo(TypeOf.Class, create:() => UserProfileSummaryModel()), 'SortOrder': TypeInfo(TypeOf.Enum, enumValues:SortOrder.values), 'PagedModel': TypeInfo(TypeOf.Class, create:() => PagedModel()), 'ObjectShareModel': TypeInfo(TypeOf.Class, create:() => ObjectShareModel()), 'ListItemFilterModel': TypeInfo(TypeOf.Class, create:() => ListItemFilterModel()), 'ViewRoleModel': TypeInfo(TypeOf.Class, create:() => ViewRoleModel()), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'List': TypeInfo(TypeOf.Class, create:() => []), 'GetContactRoleDetailsResponse': TypeInfo(TypeOf.Class, create:() => GetContactRoleDetailsResponse()), 'GetContactRoleDetails': TypeInfo(TypeOf.Class, create:() => GetContactRoleDetails()), });