@workbuddy/piece-workbuddy-vnext 1.0.92 → 1.0.94

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 (50) hide show
  1. package/package.json +1 -1
  2. package/src/index.d.ts.map +1 -1
  3. package/src/index.js +21 -0
  4. package/src/index.js.map +1 -1
  5. package/src/index.ts +42 -0
  6. package/src/lib/actions/crm-contractors.d.ts +1 -0
  7. package/src/lib/actions/crm-contractors.d.ts.map +1 -1
  8. package/src/lib/actions/crm-contractors.js +6 -0
  9. package/src/lib/actions/crm-contractors.js.map +1 -1
  10. package/src/lib/actions/crm-contractors.ts +6 -0
  11. package/src/lib/actions/crm-customers.d.ts +1 -0
  12. package/src/lib/actions/crm-customers.d.ts.map +1 -1
  13. package/src/lib/actions/crm-customers.js +6 -0
  14. package/src/lib/actions/crm-customers.js.map +1 -1
  15. package/src/lib/actions/crm-customers.ts +6 -0
  16. package/src/lib/actions/crm-suppliers.d.ts +1 -0
  17. package/src/lib/actions/crm-suppliers.d.ts.map +1 -1
  18. package/src/lib/actions/crm-suppliers.js +6 -0
  19. package/src/lib/actions/crm-suppliers.js.map +1 -1
  20. package/src/lib/actions/crm-suppliers.ts +6 -0
  21. package/src/lib/actions/index.d.ts +4 -0
  22. package/src/lib/actions/index.d.ts.map +1 -1
  23. package/src/lib/actions/index.js +4 -0
  24. package/src/lib/actions/index.js.map +1 -1
  25. package/src/lib/actions/index.ts +4 -0
  26. package/src/lib/actions/jobs.d.ts +2 -2
  27. package/src/lib/actions/jobs.d.ts.map +1 -1
  28. package/src/lib/actions/jobs.js +4 -24
  29. package/src/lib/actions/jobs.js.map +1 -1
  30. package/src/lib/actions/jobs.ts +4 -24
  31. package/src/lib/actions/service-plans-lines-tasks-subtasks.d.ts +52 -0
  32. package/src/lib/actions/service-plans-lines-tasks-subtasks.d.ts.map +1 -0
  33. package/src/lib/actions/service-plans-lines-tasks-subtasks.js +257 -0
  34. package/src/lib/actions/service-plans-lines-tasks-subtasks.js.map +1 -0
  35. package/src/lib/actions/service-plans-lines-tasks-subtasks.ts +274 -0
  36. package/src/lib/actions/service-plans-lines-tasks.d.ts +51 -0
  37. package/src/lib/actions/service-plans-lines-tasks.d.ts.map +1 -0
  38. package/src/lib/actions/service-plans-lines-tasks.js +255 -0
  39. package/src/lib/actions/service-plans-lines-tasks.js.map +1 -0
  40. package/src/lib/actions/service-plans-lines-tasks.ts +272 -0
  41. package/src/lib/actions/service-plans-lines.d.ts +48 -0
  42. package/src/lib/actions/service-plans-lines.d.ts.map +1 -0
  43. package/src/lib/actions/service-plans-lines.js +262 -0
  44. package/src/lib/actions/service-plans-lines.js.map +1 -0
  45. package/src/lib/actions/service-plans-lines.ts +278 -0
  46. package/src/lib/actions/service-plans.d.ts +47 -0
  47. package/src/lib/actions/service-plans.d.ts.map +1 -0
  48. package/src/lib/actions/service-plans.js +241 -0
  49. package/src/lib/actions/service-plans.js.map +1 -0
  50. package/src/lib/actions/service-plans.ts +262 -0
@@ -0,0 +1,272 @@
1
+ import { createAction, Property } from '@activepieces/pieces-framework';
2
+ import { HttpMethod, httpClient } from '@activepieces/pieces-common';
3
+ import { workbuddyAuth, getAccessToken } from '../auth';
4
+
5
+ export const PublicServiceLineTaskController_list = createAction({
6
+ name: 'PublicServiceLineTaskController_list',
7
+ auth: workbuddyAuth,
8
+ displayName: 'List root Service Line Tasks',
9
+ description: '',
10
+ props: {
11
+ planId: Property.ShortText({
12
+ displayName: 'Plan Id',
13
+ description: 'WorkBuddy Service Plan ID',
14
+ required: true,
15
+ }),
16
+ lineId: Property.ShortText({
17
+ displayName: 'Line Id',
18
+ description: 'WorkBuddy Service Line ID or caller integrationId',
19
+ required: true,
20
+ }),
21
+ },
22
+ async run(context) {
23
+ const token = await getAccessToken(context.auth);
24
+ const baseUrl = context.auth.props.baseUrl;
25
+
26
+ const url = `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.lineId}/tasks`;
27
+
28
+ const response = await httpClient.sendRequest({
29
+ method: HttpMethod.GET,
30
+ url: `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.lineId}/tasks`,
31
+ headers: {
32
+ Authorization: `Bearer ${token}`,
33
+ 'Content-Type': 'application/json',
34
+ 'X-WorkBuddy-Version': '2026-01',
35
+ },
36
+ });
37
+
38
+ return response.body;
39
+ },
40
+ });
41
+
42
+ export const PublicServiceLineTaskController_create = createAction({
43
+ name: 'PublicServiceLineTaskController_create',
44
+ auth: workbuddyAuth,
45
+ displayName: 'Create root Service Line Tasks',
46
+ description:
47
+ 'Pass one Task, or `{ items }` with 1–100 Tasks. Bulk ingest is a bounded domain command — not N public creates — and returns per-item created, existing, conflict, and invalid outcomes.',
48
+ props: {
49
+ planId: Property.ShortText({
50
+ displayName: 'Plan Id',
51
+ description: 'plan ID',
52
+ required: true,
53
+ }),
54
+ lineId: Property.ShortText({
55
+ displayName: 'Line Id',
56
+ description: 'line ID',
57
+ required: true,
58
+ }),
59
+ items: Property.Json({
60
+ displayName: 'Items',
61
+ description: '',
62
+ required: true,
63
+ defaultValue: [],
64
+ }),
65
+ },
66
+ async run(context) {
67
+ const token = await getAccessToken(context.auth);
68
+ const baseUrl = context.auth.props.baseUrl;
69
+
70
+ const url = `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.lineId}/tasks`;
71
+
72
+ const rawBody: Record<string, unknown> = {
73
+ items: context.propsValue.items,
74
+ };
75
+
76
+ const body = rawBody;
77
+ const response = await httpClient.sendRequest({
78
+ method: HttpMethod.POST,
79
+ url: `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.lineId}/tasks`,
80
+ headers: {
81
+ Authorization: `Bearer ${token}`,
82
+ 'Content-Type': 'application/json',
83
+ 'X-WorkBuddy-Version': '2026-01',
84
+ },
85
+ body: body,
86
+ });
87
+
88
+ return response.body;
89
+ },
90
+ });
91
+
92
+ export const PublicServiceLineTaskController_get = createAction({
93
+ name: 'PublicServiceLineTaskController_get',
94
+ auth: workbuddyAuth,
95
+ displayName: 'Get a root Service Line Task',
96
+ description: '',
97
+ props: {
98
+ planId: Property.ShortText({
99
+ displayName: 'Plan Id',
100
+ description: 'plan ID',
101
+ required: true,
102
+ }),
103
+ lineId: Property.ShortText({
104
+ displayName: 'Line Id',
105
+ description: 'line ID',
106
+ required: true,
107
+ }),
108
+ identifier: Property.ShortText({
109
+ displayName: 'Identifier',
110
+ description: 'WorkBuddy Task ID or caller integrationId',
111
+ required: true,
112
+ }),
113
+ },
114
+ async run(context) {
115
+ const token = await getAccessToken(context.auth);
116
+ const baseUrl = context.auth.props.baseUrl;
117
+
118
+ const url = `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.lineId}/tasks/${context.propsValue.identifier}`;
119
+
120
+ const response = await httpClient.sendRequest({
121
+ method: HttpMethod.GET,
122
+ url: `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.lineId}/tasks/${context.propsValue.identifier}`,
123
+ headers: {
124
+ Authorization: `Bearer ${token}`,
125
+ 'Content-Type': 'application/json',
126
+ 'X-WorkBuddy-Version': '2026-01',
127
+ },
128
+ });
129
+
130
+ return response.body;
131
+ },
132
+ });
133
+
134
+ export const PublicServiceLineTaskController_patch = createAction({
135
+ name: 'PublicServiceLineTaskController_patch',
136
+ auth: workbuddyAuth,
137
+ displayName: 'Update a root Service Line Task',
138
+ description: '',
139
+ props: {
140
+ planId: Property.ShortText({
141
+ displayName: 'Plan Id',
142
+ description: 'plan ID',
143
+ required: true,
144
+ }),
145
+ lineId: Property.ShortText({
146
+ displayName: 'Line Id',
147
+ description: 'line ID',
148
+ required: true,
149
+ }),
150
+ identifier: Property.ShortText({
151
+ displayName: 'Identifier',
152
+ description: 'Entity ID or human-readable number',
153
+ required: true,
154
+ }),
155
+ name: Property.ShortText({
156
+ displayName: 'Name',
157
+ description: 'Display name',
158
+ required: false,
159
+ }),
160
+ description: Property.LongText({
161
+ displayName: 'Description',
162
+ description: 'Detailed description',
163
+ required: false,
164
+ }),
165
+ startsOn: Property.ShortText({
166
+ displayName: 'Starts On',
167
+ description: '',
168
+ required: false,
169
+ }),
170
+ schedule: Property.ShortText({
171
+ displayName: 'Schedule',
172
+ description: '',
173
+ required: false,
174
+ }),
175
+ exceptions: Property.Json({
176
+ displayName: 'Exceptions',
177
+ description: '',
178
+ required: false,
179
+ }),
180
+ mandatory: Property.Checkbox({
181
+ displayName: 'Mandatory',
182
+ description: '',
183
+ required: false,
184
+ }),
185
+ signatureEnabled: Property.Checkbox({
186
+ displayName: 'Signature Enabled',
187
+ description: '',
188
+ required: false,
189
+ }),
190
+ commentEnabled: Property.Checkbox({
191
+ displayName: 'Comment Enabled',
192
+ description: '',
193
+ required: false,
194
+ }),
195
+ beforePhotoEnabled: Property.Checkbox({
196
+ displayName: 'Before Photo Enabled',
197
+ description: '',
198
+ required: false,
199
+ }),
200
+ duringPhotoEnabled: Property.Checkbox({
201
+ displayName: 'During Photo Enabled',
202
+ description: '',
203
+ required: false,
204
+ }),
205
+ afterPhotoEnabled: Property.Checkbox({
206
+ displayName: 'After Photo Enabled',
207
+ description: '',
208
+ required: false,
209
+ }),
210
+ fileEnabled: Property.Checkbox({
211
+ displayName: 'File Enabled',
212
+ description: '',
213
+ required: false,
214
+ }),
215
+ fileTemplateId: Property.ShortText({
216
+ displayName: 'File Template Id',
217
+ description: 'file template ID',
218
+ required: false,
219
+ }),
220
+ formEnabled: Property.Checkbox({
221
+ displayName: 'Form Enabled',
222
+ description: '',
223
+ required: false,
224
+ }),
225
+ formTemplateId: Property.ShortText({
226
+ displayName: 'Form Template Id',
227
+ description: 'form template ID',
228
+ required: false,
229
+ }),
230
+ },
231
+ async run(context) {
232
+ const token = await getAccessToken(context.auth);
233
+ const baseUrl = context.auth.props.baseUrl;
234
+
235
+ const url = `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.lineId}/tasks/${context.propsValue.identifier}`;
236
+
237
+ // Build body with only defined values (for partial updates)
238
+ const rawBody: Record<string, unknown> = {
239
+ name: context.propsValue.name,
240
+ description: context.propsValue.description,
241
+ startsOn: context.propsValue.startsOn,
242
+ schedule: context.propsValue.schedule,
243
+ exceptions: context.propsValue.exceptions,
244
+ mandatory: context.propsValue.mandatory,
245
+ signatureEnabled: context.propsValue.signatureEnabled,
246
+ commentEnabled: context.propsValue.commentEnabled,
247
+ beforePhotoEnabled: context.propsValue.beforePhotoEnabled,
248
+ duringPhotoEnabled: context.propsValue.duringPhotoEnabled,
249
+ afterPhotoEnabled: context.propsValue.afterPhotoEnabled,
250
+ fileEnabled: context.propsValue.fileEnabled,
251
+ fileTemplateId: context.propsValue.fileTemplateId,
252
+ formEnabled: context.propsValue.formEnabled,
253
+ formTemplateId: context.propsValue.formTemplateId,
254
+ };
255
+
256
+ const body = Object.fromEntries(
257
+ Object.entries(rawBody).filter(([_, v]) => v !== undefined && v !== null && v !== '')
258
+ );
259
+ const response = await httpClient.sendRequest({
260
+ method: HttpMethod.PATCH,
261
+ url: `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.lineId}/tasks/${context.propsValue.identifier}`,
262
+ headers: {
263
+ Authorization: `Bearer ${token}`,
264
+ 'Content-Type': 'application/json',
265
+ 'X-WorkBuddy-Version': '2026-01',
266
+ },
267
+ body: body,
268
+ });
269
+
270
+ return response.body;
271
+ },
272
+ });
@@ -0,0 +1,48 @@
1
+ export declare const PublicServiceLineController_list: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
2
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
3
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
4
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
5
+ }>, {
6
+ planId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
7
+ }>;
8
+ export declare const PublicServiceLineController_create: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
9
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
10
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
11
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
12
+ }>, {
13
+ planId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
14
+ integrationId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
15
+ name: import("@activepieces/pieces-framework").ShortTextProperty<true>;
16
+ workCategoryId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
17
+ defaultWindow: import("@activepieces/pieces-framework").JsonProperty<true>;
18
+ description: import("@activepieces/pieces-framework").LongTextProperty<false>;
19
+ dateStart: import("@activepieces/pieces-framework").ShortTextProperty<false>;
20
+ dateEnd: import("@activepieces/pieces-framework").ShortTextProperty<false>;
21
+ workingDays: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
22
+ jobDefaults: import("@activepieces/pieces-framework").JsonProperty<false>;
23
+ }>;
24
+ export declare const PublicServiceLineController_get: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
25
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
26
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
27
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
28
+ }>, {
29
+ planId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
30
+ identifier: import("@activepieces/pieces-framework").ShortTextProperty<true>;
31
+ }>;
32
+ export declare const PublicServiceLineController_patch: import("@activepieces/pieces-framework").IAction<import("@activepieces/pieces-framework").CustomAuthProperty<{
33
+ baseUrl: import("@activepieces/pieces-framework").ShortTextProperty<true>;
34
+ clientId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
35
+ clientSecret: import("@activepieces/pieces-framework").SecretTextProperty<true>;
36
+ }>, {
37
+ planId: import("@activepieces/pieces-framework").ShortTextProperty<true>;
38
+ identifier: import("@activepieces/pieces-framework").ShortTextProperty<true>;
39
+ name: import("@activepieces/pieces-framework").ShortTextProperty<false>;
40
+ description: import("@activepieces/pieces-framework").LongTextProperty<false>;
41
+ workCategoryId: import("@activepieces/pieces-framework").ShortTextProperty<false>;
42
+ dateStart: import("@activepieces/pieces-framework").ShortTextProperty<false>;
43
+ dateEnd: import("@activepieces/pieces-framework").ShortTextProperty<false>;
44
+ defaultWindow: import("@activepieces/pieces-framework").JsonProperty<false>;
45
+ workingDays: import("@activepieces/pieces-framework").StaticMultiSelectDropdownProperty<string, false>;
46
+ jobDefaults: import("@activepieces/pieces-framework").JsonProperty<false>;
47
+ }>;
48
+ //# sourceMappingURL=service-plans-lines.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-plans-lines.d.ts","sourceRoot":"","sources":["service-plans-lines.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,gCAAgC;;;;;;EA8B3C,CAAC;AAEH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;EAoG7C,CAAC;AAEH,eAAO,MAAM,+BAA+B;;;;;;;EAmC1C,CAAC;AAEH,eAAO,MAAM,iCAAiC;;;;;;;;;;;;;;;EAsG5C,CAAC"}
@@ -0,0 +1,262 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PublicServiceLineController_patch = exports.PublicServiceLineController_get = exports.PublicServiceLineController_create = exports.PublicServiceLineController_list = void 0;
4
+ const pieces_framework_1 = require("@activepieces/pieces-framework");
5
+ const pieces_common_1 = require("@activepieces/pieces-common");
6
+ const auth_1 = require("../auth");
7
+ exports.PublicServiceLineController_list = (0, pieces_framework_1.createAction)({
8
+ name: 'PublicServiceLineController_list',
9
+ auth: auth_1.workbuddyAuth,
10
+ displayName: 'List Service Lines',
11
+ description: '',
12
+ props: {
13
+ planId: pieces_framework_1.Property.ShortText({
14
+ displayName: 'Plan Id',
15
+ description: 'WorkBuddy Service Plan ID',
16
+ required: true,
17
+ }),
18
+ },
19
+ async run(context) {
20
+ const token = await (0, auth_1.getAccessToken)(context.auth);
21
+ const baseUrl = context.auth.props.baseUrl;
22
+ const url = `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines`;
23
+ const response = await pieces_common_1.httpClient.sendRequest({
24
+ method: pieces_common_1.HttpMethod.GET,
25
+ url: `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines`,
26
+ headers: {
27
+ Authorization: `Bearer ${token}`,
28
+ 'Content-Type': 'application/json',
29
+ 'X-WorkBuddy-Version': '2026-01',
30
+ },
31
+ });
32
+ return response.body;
33
+ },
34
+ });
35
+ exports.PublicServiceLineController_create = (0, pieces_framework_1.createAction)({
36
+ name: 'PublicServiceLineController_create',
37
+ auth: auth_1.workbuddyAuth,
38
+ displayName: 'Create a Service Line',
39
+ description: '',
40
+ props: {
41
+ planId: pieces_framework_1.Property.ShortText({
42
+ displayName: 'Plan Id',
43
+ description: 'plan ID',
44
+ required: true,
45
+ }),
46
+ integrationId: pieces_framework_1.Property.ShortText({
47
+ displayName: 'Integration Id',
48
+ description: 'integration ID',
49
+ required: true,
50
+ }),
51
+ name: pieces_framework_1.Property.ShortText({
52
+ displayName: 'Name',
53
+ description: 'Display name',
54
+ required: true,
55
+ }),
56
+ workCategoryId: pieces_framework_1.Property.ShortText({
57
+ displayName: 'Work Category Id',
58
+ description: 'Work category ID — use /settings/work-types to look up',
59
+ required: true,
60
+ }),
61
+ defaultWindow: pieces_framework_1.Property.Json({
62
+ displayName: 'Default Window',
63
+ description: '',
64
+ required: true,
65
+ }),
66
+ description: pieces_framework_1.Property.LongText({
67
+ displayName: 'Description',
68
+ description: 'Detailed description',
69
+ required: false,
70
+ }),
71
+ dateStart: pieces_framework_1.Property.ShortText({
72
+ displayName: 'Date Start',
73
+ description: '',
74
+ required: false,
75
+ }),
76
+ dateEnd: pieces_framework_1.Property.ShortText({
77
+ displayName: 'Date End',
78
+ description: '',
79
+ required: false,
80
+ }),
81
+ workingDays: pieces_framework_1.Property.StaticMultiSelectDropdown({
82
+ displayName: 'Working Days',
83
+ description: '',
84
+ required: false,
85
+ options: {
86
+ options: [
87
+ { label: 'Mon', value: 'Mon' },
88
+ { label: 'Tue', value: 'Tue' },
89
+ { label: 'Wed', value: 'Wed' },
90
+ { label: 'Thu', value: 'Thu' },
91
+ { label: 'Fri', value: 'Fri' },
92
+ { label: 'Sat', value: 'Sat' },
93
+ { label: 'Sun', value: 'Sun' },
94
+ ],
95
+ },
96
+ }),
97
+ jobDefaults: pieces_framework_1.Property.Json({
98
+ displayName: 'Job Defaults',
99
+ description: '',
100
+ required: false,
101
+ }),
102
+ },
103
+ async run(context) {
104
+ const token = await (0, auth_1.getAccessToken)(context.auth);
105
+ const baseUrl = context.auth.props.baseUrl;
106
+ const url = `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines`;
107
+ const rawBody = {
108
+ integrationId: context.propsValue.integrationId,
109
+ name: context.propsValue.name,
110
+ description: context.propsValue.description,
111
+ workCategoryId: context.propsValue.workCategoryId,
112
+ dateStart: context.propsValue.dateStart,
113
+ dateEnd: context.propsValue.dateEnd,
114
+ defaultWindow: context.propsValue.defaultWindow,
115
+ workingDays: context.propsValue.workingDays,
116
+ jobDefaults: context.propsValue.jobDefaults,
117
+ };
118
+ const body = rawBody;
119
+ const response = await pieces_common_1.httpClient.sendRequest({
120
+ method: pieces_common_1.HttpMethod.POST,
121
+ url: `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines`,
122
+ headers: {
123
+ Authorization: `Bearer ${token}`,
124
+ 'Content-Type': 'application/json',
125
+ 'X-WorkBuddy-Version': '2026-01',
126
+ },
127
+ body: body,
128
+ });
129
+ return response.body;
130
+ },
131
+ });
132
+ exports.PublicServiceLineController_get = (0, pieces_framework_1.createAction)({
133
+ name: 'PublicServiceLineController_get',
134
+ auth: auth_1.workbuddyAuth,
135
+ displayName: 'Get a Service Line',
136
+ description: '',
137
+ props: {
138
+ planId: pieces_framework_1.Property.ShortText({
139
+ displayName: 'Plan Id',
140
+ description: 'plan ID',
141
+ required: true,
142
+ }),
143
+ identifier: pieces_framework_1.Property.ShortText({
144
+ displayName: 'Identifier',
145
+ description: 'WorkBuddy Service Line ID or caller integrationId',
146
+ required: true,
147
+ }),
148
+ },
149
+ async run(context) {
150
+ const token = await (0, auth_1.getAccessToken)(context.auth);
151
+ const baseUrl = context.auth.props.baseUrl;
152
+ const url = `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.identifier}`;
153
+ const response = await pieces_common_1.httpClient.sendRequest({
154
+ method: pieces_common_1.HttpMethod.GET,
155
+ url: `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.identifier}`,
156
+ headers: {
157
+ Authorization: `Bearer ${token}`,
158
+ 'Content-Type': 'application/json',
159
+ 'X-WorkBuddy-Version': '2026-01',
160
+ },
161
+ });
162
+ return response.body;
163
+ },
164
+ });
165
+ exports.PublicServiceLineController_patch = (0, pieces_framework_1.createAction)({
166
+ name: 'PublicServiceLineController_patch',
167
+ auth: auth_1.workbuddyAuth,
168
+ displayName: 'Update a Service Line',
169
+ description: '',
170
+ props: {
171
+ planId: pieces_framework_1.Property.ShortText({
172
+ displayName: 'Plan Id',
173
+ description: 'plan ID',
174
+ required: true,
175
+ }),
176
+ identifier: pieces_framework_1.Property.ShortText({
177
+ displayName: 'Identifier',
178
+ description: 'Entity ID or human-readable number',
179
+ required: true,
180
+ }),
181
+ name: pieces_framework_1.Property.ShortText({
182
+ displayName: 'Name',
183
+ description: 'Display name',
184
+ required: false,
185
+ }),
186
+ description: pieces_framework_1.Property.LongText({
187
+ displayName: 'Description',
188
+ description: 'Detailed description',
189
+ required: false,
190
+ }),
191
+ workCategoryId: pieces_framework_1.Property.ShortText({
192
+ displayName: 'Work Category Id',
193
+ description: 'Work category ID — use /settings/work-types to look up',
194
+ required: false,
195
+ }),
196
+ dateStart: pieces_framework_1.Property.ShortText({
197
+ displayName: 'Date Start',
198
+ description: '',
199
+ required: false,
200
+ }),
201
+ dateEnd: pieces_framework_1.Property.ShortText({
202
+ displayName: 'Date End',
203
+ description: '',
204
+ required: false,
205
+ }),
206
+ defaultWindow: pieces_framework_1.Property.Json({
207
+ displayName: 'Default Window',
208
+ description: '',
209
+ required: false,
210
+ }),
211
+ workingDays: pieces_framework_1.Property.StaticMultiSelectDropdown({
212
+ displayName: 'Working Days',
213
+ description: '',
214
+ required: false,
215
+ options: {
216
+ options: [
217
+ { label: 'Mon', value: 'Mon' },
218
+ { label: 'Tue', value: 'Tue' },
219
+ { label: 'Wed', value: 'Wed' },
220
+ { label: 'Thu', value: 'Thu' },
221
+ { label: 'Fri', value: 'Fri' },
222
+ { label: 'Sat', value: 'Sat' },
223
+ { label: 'Sun', value: 'Sun' },
224
+ ],
225
+ },
226
+ }),
227
+ jobDefaults: pieces_framework_1.Property.Json({
228
+ displayName: 'Job Defaults',
229
+ description: '',
230
+ required: false,
231
+ }),
232
+ },
233
+ async run(context) {
234
+ const token = await (0, auth_1.getAccessToken)(context.auth);
235
+ const baseUrl = context.auth.props.baseUrl;
236
+ const url = `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.identifier}`;
237
+ // Build body with only defined values (for partial updates)
238
+ const rawBody = {
239
+ name: context.propsValue.name,
240
+ description: context.propsValue.description,
241
+ workCategoryId: context.propsValue.workCategoryId,
242
+ dateStart: context.propsValue.dateStart,
243
+ dateEnd: context.propsValue.dateEnd,
244
+ defaultWindow: context.propsValue.defaultWindow,
245
+ workingDays: context.propsValue.workingDays,
246
+ jobDefaults: context.propsValue.jobDefaults,
247
+ };
248
+ const body = Object.fromEntries(Object.entries(rawBody).filter(([_, v]) => v !== undefined && v !== null && v !== ''));
249
+ const response = await pieces_common_1.httpClient.sendRequest({
250
+ method: pieces_common_1.HttpMethod.PATCH,
251
+ url: `${baseUrl}/api/v2/public/service-plans/${context.propsValue.planId}/lines/${context.propsValue.identifier}`,
252
+ headers: {
253
+ Authorization: `Bearer ${token}`,
254
+ 'Content-Type': 'application/json',
255
+ 'X-WorkBuddy-Version': '2026-01',
256
+ },
257
+ body: body,
258
+ });
259
+ return response.body;
260
+ },
261
+ });
262
+ //# sourceMappingURL=service-plans-lines.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"service-plans-lines.js","sourceRoot":"","sources":["service-plans-lines.ts"],"names":[],"mappings":"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"}