@activepieces/piece-housecall-pro 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/README.md +7 -0
  2. package/package.json +24 -0
  3. package/src/i18n/translation.json +3 -0
  4. package/src/index.d.ts +1 -0
  5. package/src/index.js +46 -0
  6. package/src/index.js.map +1 -0
  7. package/src/lib/actions/create-customer-address.d.ts +11 -0
  8. package/src/lib/actions/create-customer-address.js +84 -0
  9. package/src/lib/actions/create-customer-address.js.map +1 -0
  10. package/src/lib/actions/create-customer.d.ts +15 -0
  11. package/src/lib/actions/create-customer.js +122 -0
  12. package/src/lib/actions/create-customer.js.map +1 -0
  13. package/src/lib/actions/create-job.d.ts +15 -0
  14. package/src/lib/actions/create-job.js +126 -0
  15. package/src/lib/actions/create-job.js.map +1 -0
  16. package/src/lib/actions/delete-job-schedule.d.ts +3 -0
  17. package/src/lib/actions/delete-job-schedule.js +28 -0
  18. package/src/lib/actions/delete-job-schedule.js.map +1 -0
  19. package/src/lib/actions/get-customer-address.d.ts +4 -0
  20. package/src/lib/actions/get-customer-address.js +33 -0
  21. package/src/lib/actions/get-customer-address.js.map +1 -0
  22. package/src/lib/actions/get-customer-addresses.d.ts +7 -0
  23. package/src/lib/actions/get-customer-addresses.js +72 -0
  24. package/src/lib/actions/get-customer-addresses.js.map +1 -0
  25. package/src/lib/actions/get-customer.d.ts +4 -0
  26. package/src/lib/actions/get-customer.js +43 -0
  27. package/src/lib/actions/get-customer.js.map +1 -0
  28. package/src/lib/actions/get-customers.d.ts +9 -0
  29. package/src/lib/actions/get-customers.js +97 -0
  30. package/src/lib/actions/get-customers.js.map +1 -0
  31. package/src/lib/actions/get-job.d.ts +4 -0
  32. package/src/lib/actions/get-job.js +43 -0
  33. package/src/lib/actions/get-job.js.map +1 -0
  34. package/src/lib/actions/get-jobs.d.ts +15 -0
  35. package/src/lib/actions/get-jobs.js +161 -0
  36. package/src/lib/actions/get-jobs.js.map +1 -0
  37. package/src/lib/actions/update-customer.d.ts +15 -0
  38. package/src/lib/actions/update-customer.js +94 -0
  39. package/src/lib/actions/update-customer.js.map +1 -0
  40. package/src/lib/actions/update-job-schedule.d.ts +10 -0
  41. package/src/lib/actions/update-job-schedule.js +89 -0
  42. package/src/lib/actions/update-job-schedule.js.map +1 -0
  43. package/src/lib/common/index.d.ts +63 -0
  44. package/src/lib/common/index.js +90 -0
  45. package/src/lib/common/index.js.map +1 -0
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCustomerAddresses = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ exports.getCustomerAddresses = (0, pieces_framework_1.createAction)({
9
+ auth: common_1.housecallProAuth,
10
+ name: "get_customer_addresses",
11
+ displayName: "Get All of a Customer's Addresses",
12
+ description: "Retrieves all of a customer's addresses.",
13
+ props: {
14
+ customer_id: pieces_framework_1.Property.ShortText({
15
+ displayName: "Customer ID",
16
+ description: "The ID of the customer",
17
+ required: true,
18
+ }),
19
+ page: pieces_framework_1.Property.Number({
20
+ displayName: "Page",
21
+ description: "Paginated page number",
22
+ required: false,
23
+ defaultValue: 1,
24
+ }),
25
+ page_size: pieces_framework_1.Property.Number({
26
+ displayName: "Page Size",
27
+ description: "Number of addresses returned per page",
28
+ required: false,
29
+ defaultValue: 50,
30
+ }),
31
+ sort_by: pieces_framework_1.Property.StaticDropdown({
32
+ displayName: "Sort By",
33
+ description: "Address attribute to sort by",
34
+ required: false,
35
+ options: {
36
+ options: [
37
+ { label: "Created At", value: "created_at" },
38
+ { label: "Updated At", value: "updated_at" },
39
+ ],
40
+ },
41
+ }),
42
+ sort_direction: pieces_framework_1.Property.StaticDropdown({
43
+ displayName: "Sort Direction",
44
+ description: "Ascending or descending",
45
+ required: false,
46
+ options: {
47
+ options: [
48
+ { label: "Ascending", value: "asc" },
49
+ { label: "Descending", value: "desc" },
50
+ ],
51
+ },
52
+ }),
53
+ },
54
+ run(context) {
55
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
56
+ const { auth, propsValue } = context;
57
+ const queryParams = {
58
+ page: String(propsValue.page || 1),
59
+ page_size: String(propsValue.page_size || 50),
60
+ };
61
+ if (propsValue.sort_by) {
62
+ queryParams["sort_by"] = propsValue.sort_by;
63
+ }
64
+ if (propsValue.sort_direction) {
65
+ queryParams["sort_direction"] = propsValue.sort_direction;
66
+ }
67
+ const response = yield (0, common_1.makeHousecallProRequest)(auth, `/customers/${propsValue.customer_id}/addresses`, pieces_common_1.HttpMethod.GET, undefined, queryParams);
68
+ return response.body;
69
+ });
70
+ },
71
+ });
72
+ //# sourceMappingURL=get-customer-addresses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-customer-addresses.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/housecall-pro/src/lib/actions/get-customer-addresses.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAAsE;AACtE,+DAAyD;AAE5C,QAAA,oBAAoB,GAAG,IAAA,+BAAY,EAAC;IAC/C,IAAI,EAAE,yBAAgB;IACtB,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EAAE,mCAAmC;IAChD,WAAW,EAAE,0CAA0C;IACvD,KAAK,EAAE;QACL,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,wBAAwB;YACrC,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,IAAI,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACpB,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,CAAC;SAChB,CAAC;QACF,SAAS,EAAE,2BAAQ,CAAC,MAAM,CAAC;YACzB,WAAW,EAAE,WAAW;YACxB,WAAW,EAAE,uCAAuC;YACpD,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,EAAE;SACjB,CAAC;QACF,OAAO,EAAE,2BAAQ,CAAC,cAAc,CAAC;YAC/B,WAAW,EAAE,SAAS;YACtB,WAAW,EAAE,8BAA8B;YAC3C,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;oBAC5C,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE;iBAC7C;aACF;SACF,CAAC;QACF,cAAc,EAAE,2BAAQ,CAAC,cAAc,CAAC;YACtC,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,yBAAyB;YACtC,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE;oBACpC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE;iBACvC;aACF;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAErC,MAAM,WAAW,GAA2B;gBAC1C,IAAI,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC;gBAClC,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC;aAC9C,CAAC;YAEF,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,WAAW,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC,OAAO,CAAC;YAC9C,CAAC;YACD,IAAI,UAAU,CAAC,cAAc,EAAE,CAAC;gBAC9B,WAAW,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC;YAC5D,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAuB,EAC5C,IAAI,EACJ,cAAc,UAAU,CAAC,WAAW,YAAY,EAChD,0BAAU,CAAC,GAAG,EACd,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export declare const getCustomer: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ customer_id: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ expand: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
4
+ }>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCustomer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ exports.getCustomer = (0, pieces_framework_1.createAction)({
9
+ auth: common_1.housecallProAuth,
10
+ name: "get_customer",
11
+ displayName: "Get Customer",
12
+ description: "Retrieves the customer by ID.",
13
+ props: {
14
+ customer_id: pieces_framework_1.Property.ShortText({
15
+ displayName: "Customer ID",
16
+ description: "The ID of the customer to retrieve.",
17
+ required: true,
18
+ }),
19
+ expand: pieces_framework_1.Property.StaticMultiSelectDropdown({
20
+ displayName: "Expand",
21
+ description: "Expand related data",
22
+ required: false,
23
+ options: {
24
+ options: [
25
+ { label: "Attachments", value: "attachments" },
26
+ { label: "Do Not Service", value: "do_not_service" },
27
+ ],
28
+ },
29
+ }),
30
+ },
31
+ run(context) {
32
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
33
+ const { auth, propsValue } = context;
34
+ const queryParams = {};
35
+ if (propsValue.expand && propsValue.expand.length > 0) {
36
+ queryParams["expand"] = propsValue.expand.join(",");
37
+ }
38
+ const response = yield (0, common_1.makeHousecallProRequest)(auth, `/customers/${propsValue.customer_id}`, pieces_common_1.HttpMethod.GET, undefined, queryParams);
39
+ return response.body;
40
+ });
41
+ },
42
+ });
43
+ //# sourceMappingURL=get-customer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-customer.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/housecall-pro/src/lib/actions/get-customer.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAAsE;AACtE,+DAAyD;AAE5C,QAAA,WAAW,GAAG,IAAA,+BAAY,EAAC;IACtC,IAAI,EAAE,yBAAgB;IACtB,IAAI,EAAE,cAAc;IACpB,WAAW,EAAE,cAAc;IAC3B,WAAW,EAAE,+BAA+B;IAC5C,KAAK,EAAE;QACL,WAAW,EAAE,2BAAQ,CAAC,SAAS,CAAC;YAC9B,WAAW,EAAE,aAAa;YAC1B,WAAW,EAAE,qCAAqC;YAClD,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,yBAAyB,CAAC;YACzC,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,qBAAqB;YAClC,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;oBAC9C,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,gBAAgB,EAAE;iBACrD;aACF;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAErC,MAAM,WAAW,GAA2B,EAAE,CAAC;YAE/C,IAAI,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtD,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAuB,EAC5C,IAAI,EACJ,cAAc,UAAU,CAAC,WAAW,EAAE,EACtC,0BAAU,CAAC,GAAG,EACd,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ export declare const getCustomers: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ page: import("@activepieces/pieces-framework").NumberProperty<false>;
3
+ page_size: import("@activepieces/pieces-framework").NumberProperty<false>;
4
+ q: import("@activepieces/pieces-framework").ShortTextProperty<false>;
5
+ expand: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
6
+ location_ids: import("@activepieces/pieces-framework").ArrayProperty<false>;
7
+ sort_by: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
8
+ sort_direction: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
9
+ }>;
@@ -0,0 +1,97 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCustomers = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ exports.getCustomers = (0, pieces_framework_1.createAction)({
9
+ auth: common_1.housecallProAuth,
10
+ name: 'get_customers',
11
+ displayName: 'Get Customers',
12
+ description: 'Retrieves a list of customers from Housecall Pro.',
13
+ props: {
14
+ page: pieces_framework_1.Property.Number({
15
+ displayName: 'Page',
16
+ description: 'Page number for pagination (starts from 1)',
17
+ required: false,
18
+ defaultValue: 1,
19
+ }),
20
+ page_size: pieces_framework_1.Property.Number({
21
+ displayName: 'Page Size',
22
+ description: 'Number of customers per page (max 100)',
23
+ required: false,
24
+ defaultValue: 50,
25
+ }),
26
+ q: pieces_framework_1.Property.ShortText({
27
+ displayName: 'Search Query',
28
+ description: 'Search customers by name, email, mobile number, and address',
29
+ required: false,
30
+ }),
31
+ expand: pieces_framework_1.Property.StaticMultiSelectDropdown({
32
+ displayName: 'Expand',
33
+ description: 'Expand related data',
34
+ required: false,
35
+ options: {
36
+ options: [
37
+ { label: 'Attachments', value: 'attachments' },
38
+ { label: 'Do Not Service', value: 'do_not_service' },
39
+ ],
40
+ },
41
+ }),
42
+ location_ids: pieces_framework_1.Property.Array({
43
+ displayName: 'Location IDs',
44
+ description: 'IDs of locations from which to pull customers',
45
+ required: false,
46
+ }),
47
+ sort_by: pieces_framework_1.Property.StaticDropdown({
48
+ displayName: 'Sort By',
49
+ description: 'The customer attribute by which to sort the results',
50
+ required: false,
51
+ options: {
52
+ options: [
53
+ { label: 'Created At', value: 'created_at' },
54
+ { label: 'Updated At', value: 'updated_at' },
55
+ { label: 'Last Name', value: 'last_name' },
56
+ ],
57
+ },
58
+ }),
59
+ sort_direction: pieces_framework_1.Property.StaticDropdown({
60
+ displayName: 'Sort Direction',
61
+ description: 'The order of sorting (ascending or descending)',
62
+ required: false,
63
+ options: {
64
+ options: [
65
+ { label: 'Ascending', value: 'asc' },
66
+ { label: 'Descending', value: 'desc' },
67
+ ],
68
+ },
69
+ }),
70
+ },
71
+ run(_a) {
72
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
73
+ const queryParams = {
74
+ page: (propsValue.page || 1).toString(),
75
+ page_size: (propsValue.page_size || 50).toString(),
76
+ };
77
+ if (propsValue.q) {
78
+ queryParams['q'] = propsValue.q;
79
+ }
80
+ if (propsValue.expand && propsValue.expand.length > 0) {
81
+ queryParams['expand'] = propsValue.expand.join(',');
82
+ }
83
+ if (propsValue.location_ids && propsValue.location_ids.length > 0) {
84
+ queryParams['location_ids'] = propsValue.location_ids.join(',');
85
+ }
86
+ if (propsValue.sort_by) {
87
+ queryParams['sort_by'] = propsValue.sort_by;
88
+ }
89
+ if (propsValue.sort_direction) {
90
+ queryParams['sort_direction'] = propsValue.sort_direction;
91
+ }
92
+ const response = yield (0, common_1.makeHousecallProRequest)(auth, '/customers', pieces_common_1.HttpMethod.GET, undefined, queryParams);
93
+ return response.body;
94
+ });
95
+ },
96
+ });
97
+ //# sourceMappingURL=get-customers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-customers.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/housecall-pro/src/lib/actions/get-customers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ export declare const getJob: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ job_id: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ expand: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
4
+ }>;
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getJob = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ exports.getJob = (0, pieces_framework_1.createAction)({
9
+ auth: common_1.housecallProAuth,
10
+ name: "get_job",
11
+ displayName: "Get a Job",
12
+ description: "Retrieves a single job by ID from Housecall Pro.",
13
+ props: {
14
+ job_id: pieces_framework_1.Property.ShortText({
15
+ displayName: "Job ID",
16
+ description: "The ID of the job to retrieve",
17
+ required: true,
18
+ }),
19
+ expand: pieces_framework_1.Property.StaticMultiSelectDropdown({
20
+ displayName: "Expand",
21
+ description: "Expand related data (attachments, appointments)",
22
+ required: false,
23
+ options: {
24
+ options: [
25
+ { label: "Attachments", value: "attachments" },
26
+ { label: "Appointments", value: "appointments" },
27
+ ],
28
+ },
29
+ }),
30
+ },
31
+ run(context) {
32
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
33
+ const { auth, propsValue } = context;
34
+ const queryParams = {};
35
+ if (propsValue['expand'] && propsValue['expand'].length > 0) {
36
+ queryParams['expand'] = propsValue['expand'].join(',');
37
+ }
38
+ const response = yield (0, common_1.makeHousecallProRequest)(auth, `/jobs/${propsValue['job_id']}`, pieces_common_1.HttpMethod.GET, undefined, queryParams);
39
+ return response.body;
40
+ });
41
+ },
42
+ });
43
+ //# sourceMappingURL=get-job.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-job.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/housecall-pro/src/lib/actions/get-job.ts"],"names":[],"mappings":";;;;AAAA,qEAAwE;AACxE,sCAAsE;AACtE,+DAAyD;AAE5C,QAAA,MAAM,GAAG,IAAA,+BAAY,EAAC;IACjC,IAAI,EAAE,yBAAgB;IACtB,IAAI,EAAE,SAAS;IACf,WAAW,EAAE,WAAW;IACxB,WAAW,EAAE,kDAAkD;IAC/D,KAAK,EAAE;QACL,MAAM,EAAE,2BAAQ,CAAC,SAAS,CAAC;YACzB,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,+BAA+B;YAC5C,QAAQ,EAAE,IAAI;SACf,CAAC;QACF,MAAM,EAAE,2BAAQ,CAAC,yBAAyB,CAAC;YACzC,WAAW,EAAE,QAAQ;YACrB,WAAW,EAAE,iDAAiD;YAC9D,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE;gBACP,OAAO,EAAE;oBACP,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,EAAE;oBAC9C,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE;iBACjD;aACF;SACF,CAAC;KACH;IACK,GAAG,CAAC,OAAO;;YACf,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;YAErC,MAAM,WAAW,GAA2B,EAAE,CAAC;YAE/C,IAAI,UAAU,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,WAAW,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACzD,CAAC;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,gCAAuB,EAC5C,IAAI,EACJ,SAAS,UAAU,CAAC,QAAQ,CAAC,EAAE,EAC/B,0BAAU,CAAC,GAAG,EACd,SAAS,EACT,WAAW,CACZ,CAAC;YAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;QACvB,CAAC;KAAA;CACF,CAAC,CAAC"}
@@ -0,0 +1,15 @@
1
+ export declare const getJobs: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ customer_id: import("@activepieces/pieces-framework").ShortTextProperty<false>;
3
+ employee_ids: import("@activepieces/pieces-framework").ArrayProperty<false>;
4
+ expand: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
5
+ location_ids: import("@activepieces/pieces-framework").ArrayProperty<false>;
6
+ page: import("@activepieces/pieces-framework").NumberProperty<false>;
7
+ page_size: import("@activepieces/pieces-framework").NumberProperty<false>;
8
+ scheduled_start_min: import("@activepieces/pieces-framework").DateTimeProperty<false>;
9
+ scheduled_start_max: import("@activepieces/pieces-framework").DateTimeProperty<false>;
10
+ scheduled_end_min: import("@activepieces/pieces-framework").DateTimeProperty<false>;
11
+ scheduled_end_max: import("@activepieces/pieces-framework").DateTimeProperty<false>;
12
+ sort_by: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
13
+ sort_direction: import("@activepieces/pieces-framework").StaticDropdownProperty<string, false>;
14
+ work_status: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
15
+ }>;
@@ -0,0 +1,161 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getJobs = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ exports.getJobs = (0, pieces_framework_1.createAction)({
9
+ auth: common_1.housecallProAuth,
10
+ name: 'get_jobs',
11
+ displayName: 'Get Jobs',
12
+ description: 'Retrieve a list of jobs from Housecall Pro.',
13
+ props: {
14
+ customer_id: pieces_framework_1.Property.ShortText({
15
+ displayName: 'Customer ID',
16
+ description: 'Filters jobs by a single customer ID',
17
+ required: false,
18
+ }),
19
+ employee_ids: pieces_framework_1.Property.Array({
20
+ displayName: 'Employee IDs',
21
+ description: 'Array of employee IDs to filter jobs',
22
+ required: false,
23
+ }),
24
+ expand: pieces_framework_1.Property.StaticMultiSelectDropdown({
25
+ displayName: 'Expand',
26
+ description: 'Array of strings to expand response body',
27
+ required: false,
28
+ options: {
29
+ options: [
30
+ { label: 'Attachments', value: 'attachments' },
31
+ { label: 'Appointments', value: 'appointments' },
32
+ ],
33
+ },
34
+ }),
35
+ location_ids: pieces_framework_1.Property.Array({
36
+ displayName: 'Location IDs',
37
+ description: 'IDs of locations to retrieve jobs from',
38
+ required: false,
39
+ }),
40
+ page: pieces_framework_1.Property.Number({
41
+ displayName: 'Page',
42
+ description: 'The paginated page number',
43
+ required: false,
44
+ defaultValue: 1,
45
+ }),
46
+ page_size: pieces_framework_1.Property.Number({
47
+ displayName: 'Page Size',
48
+ description: 'The number of jobs returned per page',
49
+ required: false,
50
+ defaultValue: 10,
51
+ }),
52
+ scheduled_start_min: pieces_framework_1.Property.DateTime({
53
+ displayName: 'Scheduled Start Min',
54
+ description: 'Filters jobs with a starting time greater than or equal to the date sent',
55
+ required: false,
56
+ }),
57
+ scheduled_start_max: pieces_framework_1.Property.DateTime({
58
+ displayName: 'Scheduled Start Max',
59
+ description: 'Filters jobs with a starting time less than or equal to the date sent',
60
+ required: false,
61
+ }),
62
+ scheduled_end_min: pieces_framework_1.Property.DateTime({
63
+ displayName: 'Scheduled End Min',
64
+ description: 'Filters jobs with an end time greater than or equal to the date sent',
65
+ required: false,
66
+ }),
67
+ scheduled_end_max: pieces_framework_1.Property.DateTime({
68
+ displayName: 'Scheduled End Max',
69
+ description: 'Filters jobs with an end time less than or equal to the date sent',
70
+ required: false,
71
+ }),
72
+ sort_by: pieces_framework_1.Property.StaticDropdown({
73
+ displayName: 'Sort By',
74
+ description: 'The attribute to sort the results by',
75
+ required: false,
76
+ options: {
77
+ options: [
78
+ { label: 'Created At', value: 'created_at' },
79
+ { label: 'Updated At', value: 'updated_at' },
80
+ { label: 'Invoice Number', value: 'invoice_number' },
81
+ { label: 'ID', value: 'id' },
82
+ { label: 'Description', value: 'description' },
83
+ { label: 'Work Status', value: 'work_status' },
84
+ ],
85
+ },
86
+ }),
87
+ sort_direction: pieces_framework_1.Property.StaticDropdown({
88
+ displayName: 'Sort Direction',
89
+ description: 'The sorting order',
90
+ required: false,
91
+ options: {
92
+ options: [
93
+ { label: 'Ascending', value: 'asc' },
94
+ { label: 'Descending', value: 'desc' },
95
+ ],
96
+ },
97
+ defaultValue: 'desc',
98
+ }),
99
+ work_status: pieces_framework_1.Property.StaticMultiSelectDropdown({
100
+ displayName: 'Work Status',
101
+ description: 'Filters jobs by their work status. If empty, returns jobs from all statuses',
102
+ required: false,
103
+ options: {
104
+ options: [
105
+ { label: 'Unscheduled', value: 'unscheduled' },
106
+ { label: 'Scheduled', value: 'scheduled' },
107
+ { label: 'In Progress', value: 'in_progress' },
108
+ { label: 'Completed', value: 'completed' },
109
+ { label: 'Canceled', value: 'canceled' },
110
+ ],
111
+ },
112
+ }),
113
+ },
114
+ run(_a) {
115
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
116
+ const queryParams = {};
117
+ if (propsValue['customer_id']) {
118
+ queryParams['customer_id'] = propsValue['customer_id'];
119
+ }
120
+ if (propsValue['employee_ids'] && propsValue['employee_ids'].length > 0) {
121
+ queryParams['employee_ids'] = propsValue['employee_ids'].join(',');
122
+ }
123
+ if (propsValue['expand'] && propsValue['expand'].length > 0) {
124
+ queryParams['expand'] = propsValue['expand'].join(',');
125
+ }
126
+ if (propsValue['location_ids'] && propsValue['location_ids'].length > 0) {
127
+ queryParams['location_ids'] = propsValue['location_ids'].join(',');
128
+ }
129
+ if (propsValue['page']) {
130
+ queryParams['page'] = propsValue['page'].toString();
131
+ }
132
+ if (propsValue['page_size']) {
133
+ queryParams['page_size'] = propsValue['page_size'].toString();
134
+ }
135
+ if (propsValue['scheduled_start_min']) {
136
+ queryParams['scheduled_start_min'] = propsValue['scheduled_start_min'];
137
+ }
138
+ if (propsValue['scheduled_start_max']) {
139
+ queryParams['scheduled_start_max'] = propsValue['scheduled_start_max'];
140
+ }
141
+ if (propsValue['scheduled_end_min']) {
142
+ queryParams['scheduled_end_min'] = propsValue['scheduled_end_min'];
143
+ }
144
+ if (propsValue['scheduled_end_max']) {
145
+ queryParams['scheduled_end_max'] = propsValue['scheduled_end_max'];
146
+ }
147
+ if (propsValue['sort_by']) {
148
+ queryParams['sort_by'] = propsValue['sort_by'];
149
+ }
150
+ if (propsValue['sort_direction']) {
151
+ queryParams['sort_direction'] = propsValue['sort_direction'];
152
+ }
153
+ if (propsValue['work_status'] && propsValue['work_status'].length > 0) {
154
+ queryParams['work_status'] = propsValue['work_status'].join(',');
155
+ }
156
+ const response = yield (0, common_1.makeHousecallProRequest)(auth, '/jobs', pieces_common_1.HttpMethod.GET, undefined, queryParams);
157
+ return response.body;
158
+ });
159
+ },
160
+ });
161
+ //# sourceMappingURL=get-jobs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-jobs.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/housecall-pro/src/lib/actions/get-jobs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ export declare const updateCustomer: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ customer_id: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ first_name: import("@activepieces/pieces-framework").ShortTextProperty<false>;
4
+ last_name: import("@activepieces/pieces-framework").ShortTextProperty<false>;
5
+ email: import("@activepieces/pieces-framework").ShortTextProperty<false>;
6
+ mobile_number: import("@activepieces/pieces-framework").ShortTextProperty<false>;
7
+ home_number: import("@activepieces/pieces-framework").ShortTextProperty<false>;
8
+ work_number: import("@activepieces/pieces-framework").ShortTextProperty<false>;
9
+ company: import("@activepieces/pieces-framework").ShortTextProperty<false>;
10
+ notes: import("@activepieces/pieces-framework").LongTextProperty<false>;
11
+ tags: import("@activepieces/pieces-framework").ArrayProperty<false>;
12
+ notifications_enabled: import("@activepieces/pieces-framework").CheckboxProperty<false>;
13
+ lead_source: import("@activepieces/pieces-framework").ShortTextProperty<false>;
14
+ addresses: import("@activepieces/pieces-framework").ArrayProperty<false>;
15
+ }>;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateCustomer = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
6
+ const common_1 = require("../common");
7
+ const pieces_common_1 = require("@activepieces/pieces-common");
8
+ const zod_1 = require("zod");
9
+ const pieces_common_2 = require("@activepieces/pieces-common");
10
+ exports.updateCustomer = (0, pieces_framework_1.createAction)({
11
+ auth: common_1.housecallProAuth,
12
+ name: 'update_customer',
13
+ displayName: 'Update Customer',
14
+ description: 'Updates an existing customer in Housecall Pro.',
15
+ props: {
16
+ customer_id: pieces_framework_1.Property.ShortText({
17
+ displayName: 'Customer ID',
18
+ description: 'The ID of the customer to update.',
19
+ required: true,
20
+ }),
21
+ first_name: pieces_framework_1.Property.ShortText({
22
+ displayName: 'First Name',
23
+ required: false,
24
+ }),
25
+ last_name: pieces_framework_1.Property.ShortText({
26
+ displayName: 'Last Name',
27
+ required: false,
28
+ }),
29
+ email: pieces_framework_1.Property.ShortText({
30
+ displayName: 'Email',
31
+ required: false,
32
+ }),
33
+ mobile_number: pieces_framework_1.Property.ShortText({
34
+ displayName: 'Mobile Number',
35
+ required: false,
36
+ }),
37
+ home_number: pieces_framework_1.Property.ShortText({
38
+ displayName: 'Home Number',
39
+ required: false,
40
+ }),
41
+ work_number: pieces_framework_1.Property.ShortText({
42
+ displayName: 'Work Number',
43
+ required: false,
44
+ }),
45
+ company: pieces_framework_1.Property.ShortText({
46
+ displayName: 'Company',
47
+ required: false,
48
+ }),
49
+ notes: pieces_framework_1.Property.LongText({
50
+ displayName: 'Notes',
51
+ required: false,
52
+ }),
53
+ tags: pieces_framework_1.Property.Array({
54
+ displayName: 'Tags',
55
+ description: 'Array of tags to assign to the customer (replaces existing tags)',
56
+ required: false,
57
+ }),
58
+ notifications_enabled: pieces_framework_1.Property.Checkbox({
59
+ displayName: 'Notifications Enabled',
60
+ description: 'Will the customer receive notifications',
61
+ required: false,
62
+ }),
63
+ lead_source: pieces_framework_1.Property.ShortText({
64
+ displayName: 'Lead Source',
65
+ required: false,
66
+ }),
67
+ addresses: pieces_framework_1.Property.Array({
68
+ displayName: 'Addresses',
69
+ description: 'Array of address objects (if provided, each address must include an id)',
70
+ required: false,
71
+ }),
72
+ },
73
+ run(_a) {
74
+ return tslib_1.__awaiter(this, arguments, void 0, function* ({ auth, propsValue }) {
75
+ yield pieces_common_2.propsValidation.validateZod(propsValue, {
76
+ email: zod_1.z.string().email().optional(),
77
+ mobile_number: zod_1.z.string().regex(/^\+?[1-9]\d{1,14}$/).optional(),
78
+ home_number: zod_1.z.string().regex(/^\+?[1-9]\d{1,14}$/).optional(),
79
+ work_number: zod_1.z.string().regex(/^\+?[1-9]\d{1,14}$/).optional(),
80
+ });
81
+ const { customer_id } = propsValue, updateData = tslib_1.__rest(propsValue, ["customer_id"]);
82
+ // Remove undefined values to avoid sending empty strings
83
+ const cleanUpdateData = {};
84
+ Object.keys(updateData).forEach(key => {
85
+ if (updateData[key] !== undefined && updateData[key] !== null) {
86
+ cleanUpdateData[key] = updateData[key];
87
+ }
88
+ });
89
+ const response = yield (0, common_1.makeHousecallProRequest)(auth, `/customers/${customer_id}`, pieces_common_1.HttpMethod.PUT, cleanUpdateData);
90
+ return response.body;
91
+ });
92
+ },
93
+ });
94
+ //# sourceMappingURL=update-customer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"update-customer.js","sourceRoot":"","sources":["../../../../../../../../packages/pieces/community/housecall-pro/src/lib/actions/update-customer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ export declare const updateJobSchedule: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").SecretTextProperty<true>, {
2
+ job_id: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ start_time: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ end_time: import("@activepieces/pieces-framework").ShortTextProperty<true>;
5
+ arrival_window_in_minutes: import("@activepieces/pieces-framework").NumberProperty<false>;
6
+ notify: import("@activepieces/pieces-framework").CheckboxProperty<false>;
7
+ notify_pro: import("@activepieces/pieces-framework").CheckboxProperty<false>;
8
+ expand: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
9
+ dispatched_employees: import("@activepieces/pieces-framework").ArrayProperty<false>;
10
+ }>;