UNPKG

@simplyhomes/sos-client

Version:

Client SDK for SimplyHomes SOS API

268 lines (267 loc) 9.91 kB
import { SDK_UpdateProperty_Body_Property, SDK_UpdateProperty_Response_Dto } from './types'; import { SDK_Base } from '../../base'; import { SDK_Context } from 'sdk/client/client'; import { SDK_Execution } from 'sdk/interfaces/sdk-execution'; export declare class SDK_Properties_Update extends SDK_Base implements SDK_Execution { private propertyId; private payload; constructor(ctx: SDK_Context, propertyId: string, payload?: SDK_UpdateProperty_Body_Property); /** * Sets the As-Is property value (ATTOM AVM) * @param value Property value amount * @returns Current instance for method chaining */ withAsIsValue(value: number): this; /** * Sets the estimated renovation cost * @param value Renovation cost amount * @returns Current instance for method chaining */ withRenoAmount(value: number): this; /** * Sets the ATOOM ARV value * @param value ARV amount * @returns Current instance for method chaining */ withArv(value: number): this; /** * Sets the property square footage * @param value Square footage * @returns Current instance for method chaining */ withSqft(value: number): this; /** * Sets the year the property was built * @param value Year built * @returns Current instance for method chaining */ withYearBuilt(value: number): this; /** * Sets the number of stories * @param value Number of stories * @returns Current instance for method chaining */ withStories(value: number): this; /** * Sets the housing authority name * @param value Housing authority name * @note You can get list Housing Authority names from the SDK Housing Authorities * @example * const housingAuthorityList = await client.options.housingAuthorities.list().execute(); * @returns Current instance for method chaining */ withHousingAuthorityName(value: string): this; /** * Filters properties by type * @param propertyTypes - types to search for * @note For a complete list of available type options, you can use the SDK Options * @example * // Get available types first * const types = await client.options.properties.types.list(housingAuthorityName).execute(); * @returns The current instance for method chaining */ withPropertyType(value: string): this; /** * Filters properties by status * @param propertyStatus - statuses to search for * @note For a complete list of available type options, you can use the SDK Options * @example * // Get available statuses first * const types = await client.options.properties.statuses.list().execute(); * @returns The current instance for method chaining */ withStatus(value: string): this; /** * Sets the water supply characteristic * @param value Water supply type * @returns Current instance for method chaining * @note You can get list water supply types from the SDK Options * @example * const waterSupplyList = await client.options.properties.waterSupplies.list().execute(); */ withCharacteristicsWaterSupply(value: string): this; /** * Sets the sewage type characteristic * @param value Sewage type * @returns Current instance for method chaining * @note You can get list sewage types from the SDK Options * @example * const sewageTypeList = await client.options.properties.sewerTypes.list().execute(); */ withCharacteristicsSewageType(value: string): this; /** * Sets the construction characteristic * @param value Construction type * @returns Current instance for method chaining * @note You can get list construction types from the SDK Options * @example * const constructionList = await client.options.properties.constructions.list().execute(); */ withCharacteristicsConstruction(value: string): this; /** * Sets the foundation characteristic * @param value Foundation type * @returns Current instance for method chaining * @note You can get list foundation types from the SDK Options * @example * const foundationList = await client.options.properties.foundations.list().execute(); */ withCharacteristicsFoundation(value: string): this; /** * Sets the siding characteristic * @param value Siding type * @returns Current instance for method chaining * @note You can get list siding types from the SDK Options * @example * const sidingList = await client.options.properties.sidings.list().execute(); */ withCharacteristicsSiding(value: string): this; /** * Sets the roof type characteristic * @param value Roof type * @returns Current instance for method chaining * @note You can get list roof types from the SDK Options * @example * const roofTypeList = await client.options.properties.roofTypes.list().execute(); */ withCharacteristicsRoofType(value: string): this; /** * Sets whether property has an attic * @param value true if property has attic * @returns Current instance for method chaining */ withFeatureHasAttic(value: boolean): this; /** * Sets whether property has a deck * @param value true if property has deck * @returns Current instance for method chaining */ withFeatureHasDeck(value: boolean): this; /** * Sets whether property has a patio * @param value true if property has patio * @returns Current instance for method chaining */ withFeatureHasPatio(value: boolean): this; /** * Sets whether property has common space * @param value true if property has common space * @returns Current instance for method chaining */ withFeatureHasCommonSpace(value: boolean): this; /** * Sets whether property has a yard * @param value true if property has yard * @returns Current instance for method chaining */ withFeatureHasYard(value: boolean): this; /** * Sets whether property has a elevator * @param value true if property has elevator * @returns Current instance for method chaining */ withFeatureHasElevator(value: boolean): this; /** * Sets whether property has a basement * @param value true if property has basement * @returns Current instance for method chaining */ withFeatureHasBasement(value: boolean): this; /** * Sets whether property has a common laundry * @param value true if property has a common laundry * @returns Current instance for method chaining */ withFeatureHasCommonLaundry(value: boolean): this; /** * Sets whether property has a garage * @param value true if property has garage * @returns Current instance for method chaining */ withFeatureHasGarage(value: boolean): this; /** * Sets whether property has a gate * @param value true if property has gate * @returns Current instance for method chaining */ withFeatureHasGate(value: boolean): this; /** * Sets whether property has a pool * @param value true if property has pool * @returns Current instance for method chaining */ withFeatureHasPool(value: boolean): this; /** * Sets whether property has a porch * @param value true if property has porch * @returns Current instance for method chaining */ withFeatureHasPorch(value: boolean): this; /** * Sets whether property has a sidewalk * @param value true if property has a sidewalk * @returns Current instance for method chaining */ withFeatureHasSidewalk(value: boolean): this; /** * Sets whether property has a driveway * @param value true if property has driveway * @returns Current instance for method chaining */ withFeatureHasDriveway(value: boolean): this; /** * Sets whether property has a exterior stairs * @param value true if property has exterior stairs * @returns Current instance for method chaining */ withFeatureHasExteriorStairs(value: boolean): this; /** * Sets the title insurance amount * @param value Title insurance cost * @returns Current instance for method chaining */ withTitleInsurance(value: number): this; /** * Sets the transfer tax amount * @param value Transfer tax amount * @returns Current instance for method chaining */ withTransferTax(value: number): this; /** * Sets the closing cost override amount * @param value Closing cost amount * @returns Current instance for method chaining */ withCoreClosingCost(value: number): this; /** * Sets the estimated acquisition cost * @param value Acquisition cost amount * @returns Current instance for method chaining */ withEstimatedAcquisitionCost(value: number): this; /** * Sets the owner reserve override amount * @param value Reserve amount * @returns Current instance for method chaining */ withOwnerReserveAmount(value: number): this; /** * Sets the property management reserve override amount * @param value Reserve amount * @returns Current instance for method chaining */ withPmReserveAmount(value: number): this; /** * Sets the PM onboarding cost override amount * @param value Onboarding cost amount * @returns Current instance for method chaining */ withPmOnboardingAmount(value: number): this; /** * Executes the property update with all configured values * @returns Promise resolving to the update response */ execute(): Promise<SDK_UpdateProperty_Response_Dto>; private clonePayload; private resetPayload; }