import { Client } from "@hubspot/api-client@^8.1.0";
/**
* @param deal_id You may find it in the HubSpot App under the name of `Record ID`
*
* @param properties List of the properties to be returned in the response.
*
* @param properties_with_history List of the properties to be returned
* along with their history of previous values.
*
* @param id_property The name of a property whose values are unique for this object type.
*/
type Hubspot = {
token: string;
};
export async function main(
auth: Hubspot,
deal_id: string,
properties?: string[],
properties_with_history?: string[],
associations?: string[],
archived?: boolean,
id_property?: string,
) {
const client = new Client({
accessToken: auth.token,
});
try {
return await client.crm.deals.basicApi.getById(
deal_id,
getProp(properties),
getProp(properties_with_history),
getProp(associations),
archived || undefined,
id_property || undefined,
);
} catch (e) {
throw Error(`
${e.code}\n
Message: ${e.body.message || e.body}\n
`);
}
}
function getProp(prop?: string[]) {
return Array.isArray(prop) && prop.length ? prop : undefined;
}
Submitted by hugo989 20 days ago