actions/create-user-invite/create-user-invite.mjs
import waitwhile from "../../app/waitwhile.app.mjs"; import { defineAction } from "@pipedream/types"; export default defineAction({ name: "Create User Invite", version: "0.0.2", annotations: { destructiveHint: false, openWorldHint: true, readOnlyHint: false, }, key: "waitwhile-create-user-invite", description: "Create a user invite. [See the doc here](https://developers.waitwhile.com/reference/postinvites)", props: { waitwhile, name: { propDefinition: [ waitwhile, "name", ], }, email: { propDefinition: [ waitwhile, "email", ], }, phone: { propDefinition: [ waitwhile, "phone", ], }, defaultLocationId: { label: "Default Location ID", type: "string", optional: true, description: "Identifier of location", }, locationIds: { label: "Location IDs", type: "string[]", description: "Identifier of customer, automatically derived from visitor contact information if not provided.", optional: true, propDefinition: [ waitwhile, "locationId", ], }, roles: { label: "Roles", type: "string[]", optional: true, description: "User roles", }, resourceId: { propDefinition: [ waitwhile, "resourceId", ], }, }, type: "action", methods: {}, async run({ $ }) { const params = { name: this.name, email: this.email, phone: this.phone, defaultLocationId: this.defaultLocationId, locationIds: this.locationIds, roles: this.roles, resourceId: this.resourceId, }; try { const data = await this.waitwhile.createUserInvite(params); $.export("summary", `Successfully created a user invite with ID: ${data.id}`); return data; } catch (error) { const statusCode = error[Object.getOwnPropertySymbols(error)[1]].status; const statusText = error[Object.getOwnPropertySymbols(error)[1]].statusText; throw new Error(`Error status code: ${statusCode}. Error status response: ${statusText}`); } }, });