/* Options: Date: 2026-04-04 03:04:39 Version: 8.52 Tip: To override a DTO option, remove "//" prefix before updating BaseUrl: https://pfapi.pstpf.com.au/api //GlobalNamespace: //MakePropertiesOptional: False //AddServiceStackTypes: True //AddResponseStatus: False //AddImplicitVersion: //AddDescriptionAsComments: True IncludeTypes: RegisterNewUser.* //ExcludeTypes: //DefaultImports: */ export interface IReturn { createResponse(): T; } // @DataContract export class ResponseError { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public FieldName: string; // @DataMember(Order=3) public Message: string; // @DataMember(Order=4) public Meta: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } // @DataContract export class ResponseStatus { // @DataMember(Order=1) public ErrorCode: string; // @DataMember(Order=2) public Message: string; // @DataMember(Order=3) public StackTrace: string; // @DataMember(Order=4) public Errors: ResponseError[]; // @DataMember(Order=5) public Meta: { [index:string]: string; }; public constructor(init?: Partial) { (Object as any).assign(this, init); } } /** @description Updates a Users Profile information' */ // @Api(Description="Updates a Users Profile information'") export class SaveUserProfile implements IReturn { /** @description The users profile Guid. */ // @ApiMember(DataType="Guid", Description="The users profile Guid.", IsRequired=true, Name="UserProfileId", ParameterType="query") public UserProfileId: string; /** @description The users Guid. This is used for validation to ensure the user in the session is only changing his own user information. */ // @ApiMember(DataType="Guid", Description="The users Guid. This is used for validation to ensure the user in the session is only changing his own user information.", IsRequired=true, Name="UserId", ParameterType="query") public UserId: string; /** @description The users contact Guid. */ // @ApiMember(DataType="Guid", Description="The users contact Guid.", IsRequired=true, Name="ContactId", ParameterType="query") public ContactId: string; /** @description The users profile name. */ // @ApiMember(DataType="string", Description="The users profile name.", IsRequired=true, Name="ProfileName", ParameterType="query") public ProfileName: string; /** @description The users (contact) title. */ // @ApiMember(DataType="string", Description="The users (contact) title.", Name="Title", ParameterType="query") public Title: string; /** @description The users (contact) first name(s). */ // @ApiMember(DataType="string", Description="The users (contact) first name(s).", IsRequired=true, Name="FirstName", ParameterType="query") public FirstName: string; /** @description The users (contact) surname. */ // @ApiMember(DataType="string", Description="The users (contact) surname.", IsRequired=true, Name="Surname", ParameterType="query") public Surname: string; /** @description The contact profile description. */ // @ApiMember(DataType="string", Description="The contact profile description.", Name="Description", ParameterType="query") public Description: string; /** @description The contacts profession/trade/industry details. */ // @ApiMember(DataType="string", Description="The contacts profession/trade/industry details.", Name="EmploymentIndustry", ParameterType="query") public EmploymentIndustry: string; /** @description The contact details of who they work/subcontract for. */ // @ApiMember(DataType="string", Description="The contact details of who they work/subcontract for.", Name="EmploymentRole", ParameterType="query") public EmploymentRole: string; /** @description The contacts work area/suburbs. */ // @ApiMember(DataType="string", Description="The contacts work area/suburbs.", Name="EmploymentGeographicArea", ParameterType="query") public EmploymentGeographicArea: string; /** @description The contacts timezone. */ // @ApiMember(DataType="Guid", Description="The contacts timezone.", Name="Timezone", ParameterType="query") public Timezone: string; /** @description A list of the contact details for the contact. Note: an email must always be set for a business. */ // @ApiMember(DataType="List", Description="A list of the contact details for the contact. Note: an email must always be set for a business.", IsRequired=true, Name="ContactDetails", ParameterType="query") public ContactDetails: ContactDetailModel[] = []; /** @description 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="ContactType") public ContactType: string; /** @description Legal name of contact linked to the profile */ // @ApiMember(DataType="string", Description="Legal name of contact linked to the profile", Name="LegalName") public LegalName: string; /** @description Trading name of contact linked to the profile */ // @ApiMember(DataType="string", Description="Trading name of contact linked to the profile", Name="TradingName") public TradingName: string; /** @description Abn of contact linked to the profile */ // @ApiMember(DataType="string", Description="Abn of contact linked to the profile", Name="Abn") public Abn: string; /** @description Acn of contact linked to the profile */ // @ApiMember(DataType="string", Description="Acn of contact linked to the profile", Name="Acn") public Acn: string; /** @description Arbn of contact linked to the profile */ // @ApiMember(DataType="string", Description="Arbn of contact linked to the profile", Name="Arbn") public Arbn: string; /** @description Indicates if the Contact is registered for GST. */ // @ApiMember(DataType="bool", Description="Indicates if the Contact is registered for GST.", Name="GstRegistered", ParameterType="query") public GstRegistered: boolean; /** @description The Gender Guid of the contact. */ // @ApiMember(DataType="Guid", Description="The Gender Guid of the contact.", Name="GenderId", ParameterType="query") public GenderId?: string; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'SaveUserProfile'; } public getMethod() { return 'POST'; } public createResponse() { return new ResponseStatus(); } } /** @description Registers a new user with the platform as a 'Perspective Platform - Platform Member' */ // @Route("/register") // @Api(Description="Registers a new user with the platform as a 'Perspective Platform - Platform Member'") export class RegisterNewUser implements IReturn { /** @description Details of the contacts primary/default user profile. */ // @ApiMember(DataType="string", Description="Details of the contacts primary/default user profile.", IsRequired=true, Name="EmailAddress", ParameterType="query") public EmailAddress: string; /** @description Details of the contacts primary/default user profile. */ // @ApiMember(DataType="string", Description="Details of the contacts primary/default user profile.", IsRequired=true, Name="Password", ParameterType="query") public Password: string; /** @description Details of the contacts primary/default user profile. */ // @ApiMember(DataType="string", Description="Details of the contacts primary/default user profile.", IsRequired=true, Name="FirstName", ParameterType="query") public FirstName: string; /** @description The users surname. */ // @ApiMember(DataType="string", Description="The users surname.", IsRequired=true, Name="Surname", ParameterType="query") public Surname: string; /** @description The users public profile description. */ // @ApiMember(DataType="string", Description="The users public profile description.", IsRequired=true, Name="Description", ParameterType="query") public Description: string; /** @description The users industry they work in and what they do (Profession/Trade/Industry). */ // @ApiMember(DataType="string", Description="The users industry they work in and what they do (Profession/Trade/Industry).", IsRequired=true, Name="EmploymentIndustry", ParameterType="query") public EmploymentIndustry: string; /** @description The users company/trading name and any major businesses they contract to (Working/Subcontracting for). */ // @ApiMember(DataType="string", Description="The users company/trading name and any major businesses they contract to (Working/Subcontracting for).", IsRequired=true, Name="EmploymentRole", ParameterType="query") public EmploymentRole: string; /** @description The users areas or geographic regions they work in (Work Areas/Suburbs). */ // @ApiMember(DataType="string", Description="The users areas or geographic regions they work in (Work Areas/Suburbs).", IsRequired=true, Name="EmploymentGeographicArea", ParameterType="query") public EmploymentGeographicArea: string; /** @description The users timezone. */ // @ApiMember(DataType="Guid", Description="The users timezone.", Name="Timezone", ParameterType="query") public Timezone: string; /** @description The users business profile information (if they have a business). */ // @ApiMember(DataType="SaveUserProfile", Description="The users business profile information (if they have a business).", Name="BusinessProfile", ParameterType="query") public BusinessProfile: SaveUserProfile; public constructor(init?: Partial) { (Object as any).assign(this, init); } public getTypeName() { return 'RegisterNewUser'; } public getMethod() { return 'POST'; } public createResponse() { return new ResponseStatus(); } }