sunsama-api 0.2.1 → 0.3.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.
- package/README.md +50 -18
- package/dist/cjs/client/index.js +94 -13
- package/dist/cjs/client/index.js.map +1 -1
- package/dist/cjs/queries/mutations/index.js +1 -0
- package/dist/cjs/queries/mutations/index.js.map +1 -1
- package/dist/cjs/queries/mutations/updateTaskSnoozeDate.js +22 -0
- package/dist/cjs/queries/mutations/updateTaskSnoozeDate.js.map +1 -0
- package/dist/cjs/utils/index.js +2 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/validation.js +117 -0
- package/dist/cjs/utils/validation.js.map +1 -0
- package/dist/esm/client/index.js +95 -14
- package/dist/esm/client/index.js.map +1 -1
- package/dist/esm/queries/mutations/index.js +1 -0
- package/dist/esm/queries/mutations/index.js.map +1 -1
- package/dist/esm/queries/mutations/updateTaskSnoozeDate.js +18 -0
- package/dist/esm/queries/mutations/updateTaskSnoozeDate.js.map +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/validation.js +112 -0
- package/dist/esm/utils/validation.js.map +1 -0
- package/dist/types/client/index.d.ts +37 -0
- package/dist/types/client/index.d.ts.map +1 -1
- package/dist/types/queries/mutations/index.d.ts +1 -0
- package/dist/types/queries/mutations/index.d.ts.map +1 -1
- package/dist/types/queries/mutations/updateTaskSnoozeDate.d.ts +5 -0
- package/dist/types/queries/mutations/updateTaskSnoozeDate.d.ts.map +1 -0
- package/dist/types/types/api.d.ts +39 -3
- package/dist/types/types/api.d.ts.map +1 -1
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/validation.d.ts +53 -0
- package/dist/types/utils/validation.d.ts.map +1 -0
- package/package.json +26 -24
package/README.md
CHANGED
|
@@ -18,6 +18,9 @@ A comprehensive TypeScript wrapper for the Sunsama API, providing type-safe acce
|
|
|
18
18
|
- 🔧 **Developer Friendly**: Intuitive API design with excellent IDE support
|
|
19
19
|
- ✅ **Well Tested**: Comprehensive test coverage with Vitest
|
|
20
20
|
- 📚 **Documented**: Complete API documentation and examples
|
|
21
|
+
- 📅 **Task Scheduling**: Unified interface for scheduling, rescheduling, and managing task timing
|
|
22
|
+
- 🆔 **ID Generation**: Built-in MongoDB ObjectId-style task ID generation
|
|
23
|
+
- 🔍 **Input Validation**: Robust validation using Zod v4 for enhanced type safety
|
|
21
24
|
|
|
22
25
|
## Installation
|
|
23
26
|
|
|
@@ -84,7 +87,7 @@ const client = new SunsamaClient();
|
|
|
84
87
|
await client.login('your-email@example.com', 'your-password');
|
|
85
88
|
|
|
86
89
|
// Method 2: Session token (if you have one)
|
|
87
|
-
const
|
|
90
|
+
const clientWithToken = new SunsamaClient({
|
|
88
91
|
sessionToken: 'your-session-token'
|
|
89
92
|
});
|
|
90
93
|
|
|
@@ -98,9 +101,9 @@ client.logout();
|
|
|
98
101
|
|
|
99
102
|
## API Methods
|
|
100
103
|
|
|
101
|
-
The client provides the following methods:
|
|
104
|
+
The client provides the following methods organized by resource:
|
|
102
105
|
|
|
103
|
-
###
|
|
106
|
+
### Users
|
|
104
107
|
```typescript
|
|
105
108
|
// Get current user details
|
|
106
109
|
const user = await client.getUser();
|
|
@@ -111,6 +114,8 @@ const timezone = await client.getUserTimezone();
|
|
|
111
114
|
```
|
|
112
115
|
|
|
113
116
|
### Tasks
|
|
117
|
+
|
|
118
|
+
#### Reading Tasks
|
|
114
119
|
```typescript
|
|
115
120
|
// Get tasks for a specific day
|
|
116
121
|
const tasks = await client.getTasksByDay('2025-01-15');
|
|
@@ -118,8 +123,11 @@ const tasksWithTz = await client.getTasksByDay('2025-01-15', 'America/New_York')
|
|
|
118
123
|
|
|
119
124
|
// Get backlog tasks
|
|
120
125
|
const backlog = await client.getTasksBacklog();
|
|
126
|
+
```
|
|
121
127
|
|
|
122
|
-
|
|
128
|
+
#### Creating Tasks
|
|
129
|
+
```typescript
|
|
130
|
+
// Create a basic task
|
|
123
131
|
const newTask = await client.createTask('Complete project documentation');
|
|
124
132
|
|
|
125
133
|
// Create a task with options
|
|
@@ -136,7 +144,7 @@ const scheduledTask = await client.createTask('Follow up with client', {
|
|
|
136
144
|
});
|
|
137
145
|
|
|
138
146
|
// Create a task with custom ID (useful for tracking/deletion)
|
|
139
|
-
const taskId = SunsamaClient.generateTaskId();
|
|
147
|
+
const taskId = SunsamaClient.generateTaskId();
|
|
140
148
|
const taskWithCustomId = await client.createTask('Custom task', {
|
|
141
149
|
taskId: taskId,
|
|
142
150
|
notes: 'Detailed description',
|
|
@@ -144,10 +152,34 @@ const taskWithCustomId = await client.createTask('Custom task', {
|
|
|
144
152
|
streamIds: ['stream-1', 'stream-2'],
|
|
145
153
|
timeEstimate: 60
|
|
146
154
|
});
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
#### Managing Tasks
|
|
158
|
+
```typescript
|
|
159
|
+
// Schedule a task to a specific date
|
|
160
|
+
const scheduleResult = await client.updateTaskSnoozeDate('taskId', '2025-06-16');
|
|
161
|
+
|
|
162
|
+
// Move a task to the backlog (unschedule)
|
|
163
|
+
const backlogResult = await client.updateTaskSnoozeDate('taskId', null);
|
|
147
164
|
|
|
148
|
-
//
|
|
149
|
-
|
|
150
|
-
|
|
165
|
+
// Reschedule a task from one date to another
|
|
166
|
+
await client.updateTaskSnoozeDate('taskId', '2025-06-20');
|
|
167
|
+
|
|
168
|
+
// Schedule with timezone consideration
|
|
169
|
+
await client.updateTaskSnoozeDate('taskId', '2025-06-16', {
|
|
170
|
+
timezone: 'Europe/London'
|
|
171
|
+
});
|
|
172
|
+
|
|
173
|
+
// Get detailed response instead of limited payload
|
|
174
|
+
await client.updateTaskSnoozeDate('taskId', '2025-06-16', {
|
|
175
|
+
limitResponsePayload: false
|
|
176
|
+
});
|
|
177
|
+
|
|
178
|
+
// Combine options
|
|
179
|
+
await client.updateTaskSnoozeDate('taskId', '2025-06-16', {
|
|
180
|
+
timezone: 'Asia/Tokyo',
|
|
181
|
+
limitResponsePayload: false
|
|
182
|
+
});
|
|
151
183
|
|
|
152
184
|
// Mark a task as complete
|
|
153
185
|
const completeResult = await client.updateTaskComplete('taskId');
|
|
@@ -168,7 +200,16 @@ const deleteResultFull = await client.deleteTask('taskId', false);
|
|
|
168
200
|
const deleteResultMerged = await client.deleteTask('taskId', true, true);
|
|
169
201
|
```
|
|
170
202
|
|
|
171
|
-
###
|
|
203
|
+
### Streams
|
|
204
|
+
```typescript
|
|
205
|
+
// Get all streams for the user's group
|
|
206
|
+
const streams = await client.getStreamsByGroupId();
|
|
207
|
+
streams.forEach(stream => {
|
|
208
|
+
console.log(stream.streamName, stream.color);
|
|
209
|
+
});
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
### Utilities
|
|
172
213
|
```typescript
|
|
173
214
|
// Generate MongoDB ObjectId-style task IDs
|
|
174
215
|
const taskId = SunsamaClient.generateTaskId();
|
|
@@ -182,15 +223,6 @@ const customTask = await client.createTask('My custom task', {
|
|
|
182
223
|
});
|
|
183
224
|
```
|
|
184
225
|
|
|
185
|
-
### Streams (Channels)
|
|
186
|
-
```typescript
|
|
187
|
-
// Get all streams for the user's group
|
|
188
|
-
const streams = await client.getStreamsByGroupId();
|
|
189
|
-
streams.forEach(stream => {
|
|
190
|
-
console.log(stream.streamName, stream.color);
|
|
191
|
-
});
|
|
192
|
-
```
|
|
193
|
-
|
|
194
226
|
## Error Handling
|
|
195
227
|
|
|
196
228
|
The wrapper provides structured error handling:
|
package/dist/cjs/client/index.js
CHANGED
|
@@ -10,6 +10,7 @@ const graphql_1 = require("graphql");
|
|
|
10
10
|
const tough_cookie_1 = require("tough-cookie");
|
|
11
11
|
const index_js_1 = require("../errors/index.js");
|
|
12
12
|
const index_js_2 = require("../queries/index.js");
|
|
13
|
+
const index_js_3 = require("../utils/index.js");
|
|
13
14
|
/**
|
|
14
15
|
* Main Sunsama API client class
|
|
15
16
|
*
|
|
@@ -340,22 +341,20 @@ class SunsamaClient {
|
|
|
340
341
|
* ```
|
|
341
342
|
*/
|
|
342
343
|
async updateTaskComplete(taskId, completeOn, limitResponsePayload = true) {
|
|
344
|
+
// Validate arguments using Zod
|
|
345
|
+
const validatedArgs = (0, index_js_3.validateUpdateTaskCompleteArgs)({
|
|
346
|
+
taskId,
|
|
347
|
+
completeOn,
|
|
348
|
+
limitResponsePayload,
|
|
349
|
+
});
|
|
343
350
|
// Convert Date to ISO string if needed
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}
|
|
348
|
-
else if (completeOn) {
|
|
349
|
-
completeOnString = completeOn;
|
|
350
|
-
}
|
|
351
|
-
else {
|
|
352
|
-
// Default to current time
|
|
353
|
-
completeOnString = new Date().toISOString();
|
|
354
|
-
}
|
|
351
|
+
const completeOnString = validatedArgs.completeOn
|
|
352
|
+
? (0, index_js_3.toISOString)(validatedArgs.completeOn)
|
|
353
|
+
: new Date().toISOString();
|
|
355
354
|
const variables = {
|
|
356
|
-
taskId,
|
|
355
|
+
taskId: validatedArgs.taskId,
|
|
357
356
|
completeOn: completeOnString,
|
|
358
|
-
limitResponsePayload,
|
|
357
|
+
limitResponsePayload: validatedArgs.limitResponsePayload,
|
|
359
358
|
};
|
|
360
359
|
const request = {
|
|
361
360
|
operationName: 'updateTaskComplete',
|
|
@@ -613,6 +612,88 @@ class SunsamaClient {
|
|
|
613
612
|
],
|
|
614
613
|
};
|
|
615
614
|
}
|
|
615
|
+
/**
|
|
616
|
+
* Updates a task's snooze date for scheduling operations
|
|
617
|
+
*
|
|
618
|
+
* This method provides a unified interface for all task scheduling operations:
|
|
619
|
+
* - Schedule a task to a specific date
|
|
620
|
+
* - Move a task to the backlog (unschedule)
|
|
621
|
+
* - Reschedule a task from one date to another
|
|
622
|
+
*
|
|
623
|
+
* @param taskId - The ID of the task to reschedule
|
|
624
|
+
* @param newDay - Target date in YYYY-MM-DD format, or null to move to backlog
|
|
625
|
+
* @param options - Additional options for the operation
|
|
626
|
+
* @returns The update result with success status
|
|
627
|
+
* @throws SunsamaAuthError if not authenticated or request fails
|
|
628
|
+
*
|
|
629
|
+
* @example
|
|
630
|
+
* ```typescript
|
|
631
|
+
* // Schedule a task to tomorrow
|
|
632
|
+
* const result = await client.updateTaskSnoozeDate('taskId123', '2025-06-16');
|
|
633
|
+
*
|
|
634
|
+
* // Move a task to the backlog (unschedule)
|
|
635
|
+
* const result = await client.updateTaskSnoozeDate('taskId123', null);
|
|
636
|
+
*
|
|
637
|
+
* // Schedule with specific timezone
|
|
638
|
+
* const result = await client.updateTaskSnoozeDate('taskId123', '2025-06-16', {
|
|
639
|
+
* timezone: 'America/New_York'
|
|
640
|
+
* });
|
|
641
|
+
*
|
|
642
|
+
* // Get full response payload instead of limited response
|
|
643
|
+
* const result = await client.updateTaskSnoozeDate('taskId123', '2025-06-16', {
|
|
644
|
+
* limitResponsePayload: false
|
|
645
|
+
* });
|
|
646
|
+
* ```
|
|
647
|
+
*/
|
|
648
|
+
async updateTaskSnoozeDate(taskId, newDay, options) {
|
|
649
|
+
// Validate date format if a date is provided
|
|
650
|
+
if (newDay !== null) {
|
|
651
|
+
if (!/^\d{4}-\d{2}-\d{2}$/.test(newDay)) {
|
|
652
|
+
throw new index_js_1.SunsamaAuthError('Invalid date format. Use YYYY-MM-DD format.');
|
|
653
|
+
}
|
|
654
|
+
// Validate date is actually valid and not normalized
|
|
655
|
+
const dateParts = newDay.split('-');
|
|
656
|
+
if (dateParts.length !== 3) {
|
|
657
|
+
throw new index_js_1.SunsamaAuthError('Invalid date format. Use YYYY-MM-DD format.');
|
|
658
|
+
}
|
|
659
|
+
const year = parseInt(dateParts[0], 10);
|
|
660
|
+
const month = parseInt(dateParts[1], 10);
|
|
661
|
+
const day = parseInt(dateParts[2], 10);
|
|
662
|
+
const date = new Date(year, month - 1, day);
|
|
663
|
+
if (isNaN(date.getTime()) ||
|
|
664
|
+
date.getFullYear() !== year ||
|
|
665
|
+
date.getMonth() !== month - 1 ||
|
|
666
|
+
date.getDate() !== day) {
|
|
667
|
+
throw new index_js_1.SunsamaAuthError('Invalid date provided.');
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
// If timezone is provided, validate it by trying to format with it
|
|
671
|
+
if (options?.timezone) {
|
|
672
|
+
try {
|
|
673
|
+
new Intl.DateTimeFormat('en-US', { timeZone: options.timezone });
|
|
674
|
+
}
|
|
675
|
+
catch (error) {
|
|
676
|
+
throw new index_js_1.SunsamaAuthError(`Invalid timezone: ${options.timezone}`);
|
|
677
|
+
}
|
|
678
|
+
}
|
|
679
|
+
const variables = {
|
|
680
|
+
input: {
|
|
681
|
+
taskId,
|
|
682
|
+
newDay,
|
|
683
|
+
limitResponsePayload: options?.limitResponsePayload ?? true,
|
|
684
|
+
},
|
|
685
|
+
};
|
|
686
|
+
const request = {
|
|
687
|
+
operationName: 'updateTaskSnoozeDate',
|
|
688
|
+
variables,
|
|
689
|
+
query: index_js_2.UPDATE_TASK_SNOOZE_DATE_MUTATION,
|
|
690
|
+
};
|
|
691
|
+
const response = await this.graphqlRequest(request);
|
|
692
|
+
if (!response.data) {
|
|
693
|
+
throw new index_js_1.SunsamaAuthError('No response data received');
|
|
694
|
+
}
|
|
695
|
+
return response.data.updateTaskSnoozeDate;
|
|
696
|
+
}
|
|
616
697
|
/**
|
|
617
698
|
* Sets a session token as a cookie in the jar
|
|
618
699
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,4 +7,5 @@ const tslib_1 = require("tslib");
|
|
|
7
7
|
tslib_1.__exportStar(require("./updateTaskComplete.js"), exports);
|
|
8
8
|
tslib_1.__exportStar(require("./updateTaskDelete.js"), exports);
|
|
9
9
|
tslib_1.__exportStar(require("./createTask.js"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./updateTaskSnoozeDate.js"), exports);
|
|
10
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/queries/mutations/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,kEAAwC;AACxC,gEAAsC;AACtC,0DAAgC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/queries/mutations/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,kEAAwC;AACxC,gEAAsC;AACtC,0DAAgC;AAChC,oEAA0C"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* GraphQL mutation for updating task snooze date
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.UPDATE_TASK_SNOOZE_DATE_MUTATION = void 0;
|
|
7
|
+
const tslib_1 = require("tslib");
|
|
8
|
+
const graphql_tag_1 = tslib_1.__importDefault(require("graphql-tag"));
|
|
9
|
+
const index_js_1 = require("../fragments/index.js");
|
|
10
|
+
const updateTaskComplete_js_1 = require("./updateTaskComplete.js");
|
|
11
|
+
exports.UPDATE_TASK_SNOOZE_DATE_MUTATION = (0, graphql_tag_1.default) `
|
|
12
|
+
mutation updateTaskSnoozeDate($input: UpdateTaskSnoozeDateInput!) {
|
|
13
|
+
updateTaskSnoozeDate(input: $input) {
|
|
14
|
+
...UpdateTaskPayload
|
|
15
|
+
__typename
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
${updateTaskComplete_js_1.UPDATE_TASK_PAYLOAD_FRAGMENT}
|
|
20
|
+
${index_js_1.TASK_FRAGMENT}
|
|
21
|
+
`;
|
|
22
|
+
//# sourceMappingURL=updateTaskSnoozeDate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"updateTaskSnoozeDate.js","sourceRoot":"","sources":["../../../../src/queries/mutations/updateTaskSnoozeDate.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;AAEH,sEAA8B;AAC9B,oDAAsD;AACtD,mEAAuE;AAE1D,QAAA,gCAAgC,GAAG,IAAA,qBAAG,EAAA;;;;;;;;IAQ/C,oDAA4B;IAC5B,wBAAa;CAChB,CAAC"}
|
package/dist/cjs/utils/index.js
CHANGED
|
@@ -7,6 +7,8 @@ exports.validateNonEmptyString = validateNonEmptyString;
|
|
|
7
7
|
exports.validatePositiveNumber = validatePositiveNumber;
|
|
8
8
|
exports.buildUrlWithParams = buildUrlWithParams;
|
|
9
9
|
exports.isPlainObject = isPlainObject;
|
|
10
|
+
const tslib_1 = require("tslib");
|
|
11
|
+
tslib_1.__exportStar(require("./validation.js"), exports);
|
|
10
12
|
/**
|
|
11
13
|
* Validates that a string is not empty
|
|
12
14
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAWH,wDAIC;AASD,wDAIC;AASD,gDAeC;AAQD,sCAOC;;AAjED,0DAAgC;AAEhC;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,KAAa,EAAE,SAAiB;IACrE,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,kBAAkB,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,sBAAsB,CAAC,KAAa,EAAE,SAAiB;IACrE,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,4BAA4B,CAAC,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,kBAAkB,CAChC,OAAe,EACf,MAAkD;IAElD,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;IAE7B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;QAC9C,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAc;IAC1C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;QACzB,KAAK,KAAK,IAAI;QACd,KAAK,CAAC,WAAW,KAAK,MAAM;QAC5B,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,iBAAiB,CAC5D,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Validation utilities using Zod v4
|
|
4
|
+
*
|
|
5
|
+
* This module uses Zod v4 features for improved performance and type safety.
|
|
6
|
+
* Key v4 improvements used:
|
|
7
|
+
* - Enhanced error messages with structured error configuration
|
|
8
|
+
* - Improved object schema validation with custom messages
|
|
9
|
+
* - Better union type handling
|
|
10
|
+
* - More efficient parsing and validation
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
exports.updateTaskCompleteArgsSchema = exports.dateOrStringSchema = exports.isoDateSchema = exports.objectIdSchema = void 0;
|
|
14
|
+
exports.validateUpdateTaskCompleteArgs = validateUpdateTaskCompleteArgs;
|
|
15
|
+
exports.toISOString = toISOString;
|
|
16
|
+
const v4_1 = require("zod/v4");
|
|
17
|
+
const index_js_1 = require("../errors/index.js");
|
|
18
|
+
/**
|
|
19
|
+
* MongoDB ObjectId validation pattern
|
|
20
|
+
*/
|
|
21
|
+
const objectIdPattern = /^[0-9a-fA-F]{24}$/;
|
|
22
|
+
/**
|
|
23
|
+
* Schema for validating MongoDB ObjectId strings using Zod v4
|
|
24
|
+
*/
|
|
25
|
+
exports.objectIdSchema = v4_1.z
|
|
26
|
+
.string({
|
|
27
|
+
message: 'Task ID must be a string',
|
|
28
|
+
})
|
|
29
|
+
.min(1, 'Task ID cannot be empty')
|
|
30
|
+
.regex(objectIdPattern, 'Task ID must be a valid MongoDB ObjectId (24-character hex string)');
|
|
31
|
+
/**
|
|
32
|
+
* Schema for validating ISO date strings using Zod v4 format
|
|
33
|
+
*/
|
|
34
|
+
exports.isoDateSchema = v4_1.z
|
|
35
|
+
.string({
|
|
36
|
+
message: 'Date must be a string',
|
|
37
|
+
})
|
|
38
|
+
.refine(value => {
|
|
39
|
+
// Check if it's a valid date and roughly follows ISO format
|
|
40
|
+
const date = new Date(value);
|
|
41
|
+
if (isNaN(date.getTime())) {
|
|
42
|
+
return false;
|
|
43
|
+
}
|
|
44
|
+
// Check if it contains basic ISO format patterns (YYYY-MM-DDTHH:mm:ss or similar)
|
|
45
|
+
const isoPattern = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?$/;
|
|
46
|
+
return isoPattern.test(value);
|
|
47
|
+
}, {
|
|
48
|
+
message: 'Must be a valid ISO 8601 date string (e.g., "2025-06-15T10:30:00Z")',
|
|
49
|
+
});
|
|
50
|
+
/**
|
|
51
|
+
* Schema for validating Date objects or date strings using Zod v4
|
|
52
|
+
*/
|
|
53
|
+
exports.dateOrStringSchema = v4_1.z.union([
|
|
54
|
+
v4_1.z.date({
|
|
55
|
+
message: 'Must be a valid Date object',
|
|
56
|
+
}),
|
|
57
|
+
exports.isoDateSchema,
|
|
58
|
+
v4_1.z
|
|
59
|
+
.string({
|
|
60
|
+
message: 'Date must be a string',
|
|
61
|
+
})
|
|
62
|
+
.refine(value => {
|
|
63
|
+
const date = new Date(value);
|
|
64
|
+
return !isNaN(date.getTime());
|
|
65
|
+
}, {
|
|
66
|
+
message: 'Must be a valid date string',
|
|
67
|
+
}),
|
|
68
|
+
]);
|
|
69
|
+
/**
|
|
70
|
+
* Schema for updateTaskComplete arguments using Zod v4
|
|
71
|
+
*/
|
|
72
|
+
exports.updateTaskCompleteArgsSchema = v4_1.z.object({
|
|
73
|
+
taskId: exports.objectIdSchema,
|
|
74
|
+
completeOn: exports.dateOrStringSchema.optional(),
|
|
75
|
+
limitResponsePayload: v4_1.z
|
|
76
|
+
.boolean({
|
|
77
|
+
message: 'limitResponsePayload must be a boolean',
|
|
78
|
+
})
|
|
79
|
+
.default(true),
|
|
80
|
+
}, {
|
|
81
|
+
message: 'Invalid arguments object',
|
|
82
|
+
});
|
|
83
|
+
/**
|
|
84
|
+
* Validates and parses updateTaskComplete arguments
|
|
85
|
+
* @param args - Arguments to validate
|
|
86
|
+
* @returns Parsed and validated arguments
|
|
87
|
+
* @throws SunsamaAuthError if validation fails
|
|
88
|
+
*/
|
|
89
|
+
function validateUpdateTaskCompleteArgs(args) {
|
|
90
|
+
try {
|
|
91
|
+
return exports.updateTaskCompleteArgsSchema.parse(args);
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
if (error instanceof v4_1.z.ZodError) {
|
|
95
|
+
const messages = error.issues.map(err => `${err.path.join('.')}: ${err.message}`);
|
|
96
|
+
throw new index_js_1.SunsamaAuthError(`Validation error: ${messages.join(', ')}`);
|
|
97
|
+
}
|
|
98
|
+
throw error;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Converts a Date or string to ISO string for API usage
|
|
103
|
+
* @param value - Date object or string
|
|
104
|
+
* @returns ISO string representation
|
|
105
|
+
*/
|
|
106
|
+
function toISOString(value) {
|
|
107
|
+
if (value instanceof Date) {
|
|
108
|
+
return value.toISOString();
|
|
109
|
+
}
|
|
110
|
+
// If it's already a string, validate it's a proper date and return ISO format
|
|
111
|
+
const date = new Date(value);
|
|
112
|
+
if (isNaN(date.getTime())) {
|
|
113
|
+
throw new index_js_1.SunsamaAuthError('Invalid date provided');
|
|
114
|
+
}
|
|
115
|
+
return date.toISOString();
|
|
116
|
+
}
|
|
117
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/utils/validation.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/client/index.js
CHANGED
|
@@ -6,7 +6,8 @@
|
|
|
6
6
|
import { print } from 'graphql';
|
|
7
7
|
import { Cookie, CookieJar } from 'tough-cookie';
|
|
8
8
|
import { SunsamaAuthError } from '../errors/index.js';
|
|
9
|
-
import { CREATE_TASK_MUTATION, GET_STREAMS_BY_GROUP_ID_QUERY, GET_TASKS_BACKLOG_QUERY, GET_TASKS_BY_DAY_QUERY, GET_USER_QUERY, UPDATE_TASK_COMPLETE_MUTATION, UPDATE_TASK_DELETE_MUTATION, } from '../queries/index.js';
|
|
9
|
+
import { CREATE_TASK_MUTATION, GET_STREAMS_BY_GROUP_ID_QUERY, GET_TASKS_BACKLOG_QUERY, GET_TASKS_BY_DAY_QUERY, GET_USER_QUERY, UPDATE_TASK_COMPLETE_MUTATION, UPDATE_TASK_DELETE_MUTATION, UPDATE_TASK_SNOOZE_DATE_MUTATION, } from '../queries/index.js';
|
|
10
|
+
import { validateUpdateTaskCompleteArgs, toISOString } from '../utils/index.js';
|
|
10
11
|
/**
|
|
11
12
|
* Main Sunsama API client class
|
|
12
13
|
*
|
|
@@ -343,22 +344,20 @@ export class SunsamaClient {
|
|
|
343
344
|
* ```
|
|
344
345
|
*/
|
|
345
346
|
async updateTaskComplete(taskId, completeOn, limitResponsePayload = true) {
|
|
347
|
+
// Validate arguments using Zod
|
|
348
|
+
const validatedArgs = validateUpdateTaskCompleteArgs({
|
|
349
|
+
taskId,
|
|
350
|
+
completeOn,
|
|
351
|
+
limitResponsePayload,
|
|
352
|
+
});
|
|
346
353
|
// Convert Date to ISO string if needed
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
}
|
|
351
|
-
else if (completeOn) {
|
|
352
|
-
completeOnString = completeOn;
|
|
353
|
-
}
|
|
354
|
-
else {
|
|
355
|
-
// Default to current time
|
|
356
|
-
completeOnString = new Date().toISOString();
|
|
357
|
-
}
|
|
354
|
+
const completeOnString = validatedArgs.completeOn
|
|
355
|
+
? toISOString(validatedArgs.completeOn)
|
|
356
|
+
: new Date().toISOString();
|
|
358
357
|
const variables = {
|
|
359
|
-
taskId,
|
|
358
|
+
taskId: validatedArgs.taskId,
|
|
360
359
|
completeOn: completeOnString,
|
|
361
|
-
limitResponsePayload,
|
|
360
|
+
limitResponsePayload: validatedArgs.limitResponsePayload,
|
|
362
361
|
};
|
|
363
362
|
const request = {
|
|
364
363
|
operationName: 'updateTaskComplete',
|
|
@@ -617,6 +616,88 @@ export class SunsamaClient {
|
|
|
617
616
|
],
|
|
618
617
|
};
|
|
619
618
|
}
|
|
619
|
+
/**
|
|
620
|
+
* Updates a task's snooze date for scheduling operations
|
|
621
|
+
*
|
|
622
|
+
* This method provides a unified interface for all task scheduling operations:
|
|
623
|
+
* - Schedule a task to a specific date
|
|
624
|
+
* - Move a task to the backlog (unschedule)
|
|
625
|
+
* - Reschedule a task from one date to another
|
|
626
|
+
*
|
|
627
|
+
* @param taskId - The ID of the task to reschedule
|
|
628
|
+
* @param newDay - Target date in YYYY-MM-DD format, or null to move to backlog
|
|
629
|
+
* @param options - Additional options for the operation
|
|
630
|
+
* @returns The update result with success status
|
|
631
|
+
* @throws SunsamaAuthError if not authenticated or request fails
|
|
632
|
+
*
|
|
633
|
+
* @example
|
|
634
|
+
* ```typescript
|
|
635
|
+
* // Schedule a task to tomorrow
|
|
636
|
+
* const result = await client.updateTaskSnoozeDate('taskId123', '2025-06-16');
|
|
637
|
+
*
|
|
638
|
+
* // Move a task to the backlog (unschedule)
|
|
639
|
+
* const result = await client.updateTaskSnoozeDate('taskId123', null);
|
|
640
|
+
*
|
|
641
|
+
* // Schedule with specific timezone
|
|
642
|
+
* const result = await client.updateTaskSnoozeDate('taskId123', '2025-06-16', {
|
|
643
|
+
* timezone: 'America/New_York'
|
|
644
|
+
* });
|
|
645
|
+
*
|
|
646
|
+
* // Get full response payload instead of limited response
|
|
647
|
+
* const result = await client.updateTaskSnoozeDate('taskId123', '2025-06-16', {
|
|
648
|
+
* limitResponsePayload: false
|
|
649
|
+
* });
|
|
650
|
+
* ```
|
|
651
|
+
*/
|
|
652
|
+
async updateTaskSnoozeDate(taskId, newDay, options) {
|
|
653
|
+
// Validate date format if a date is provided
|
|
654
|
+
if (newDay !== null) {
|
|
655
|
+
if (!/^\d{4}-\d{2}-\d{2}$/.test(newDay)) {
|
|
656
|
+
throw new SunsamaAuthError('Invalid date format. Use YYYY-MM-DD format.');
|
|
657
|
+
}
|
|
658
|
+
// Validate date is actually valid and not normalized
|
|
659
|
+
const dateParts = newDay.split('-');
|
|
660
|
+
if (dateParts.length !== 3) {
|
|
661
|
+
throw new SunsamaAuthError('Invalid date format. Use YYYY-MM-DD format.');
|
|
662
|
+
}
|
|
663
|
+
const year = parseInt(dateParts[0], 10);
|
|
664
|
+
const month = parseInt(dateParts[1], 10);
|
|
665
|
+
const day = parseInt(dateParts[2], 10);
|
|
666
|
+
const date = new Date(year, month - 1, day);
|
|
667
|
+
if (isNaN(date.getTime()) ||
|
|
668
|
+
date.getFullYear() !== year ||
|
|
669
|
+
date.getMonth() !== month - 1 ||
|
|
670
|
+
date.getDate() !== day) {
|
|
671
|
+
throw new SunsamaAuthError('Invalid date provided.');
|
|
672
|
+
}
|
|
673
|
+
}
|
|
674
|
+
// If timezone is provided, validate it by trying to format with it
|
|
675
|
+
if (options?.timezone) {
|
|
676
|
+
try {
|
|
677
|
+
new Intl.DateTimeFormat('en-US', { timeZone: options.timezone });
|
|
678
|
+
}
|
|
679
|
+
catch (error) {
|
|
680
|
+
throw new SunsamaAuthError(`Invalid timezone: ${options.timezone}`);
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
const variables = {
|
|
684
|
+
input: {
|
|
685
|
+
taskId,
|
|
686
|
+
newDay,
|
|
687
|
+
limitResponsePayload: options?.limitResponsePayload ?? true,
|
|
688
|
+
},
|
|
689
|
+
};
|
|
690
|
+
const request = {
|
|
691
|
+
operationName: 'updateTaskSnoozeDate',
|
|
692
|
+
variables,
|
|
693
|
+
query: UPDATE_TASK_SNOOZE_DATE_MUTATION,
|
|
694
|
+
};
|
|
695
|
+
const response = await this.graphqlRequest(request);
|
|
696
|
+
if (!response.data) {
|
|
697
|
+
throw new SunsamaAuthError('No response data received');
|
|
698
|
+
}
|
|
699
|
+
return response.data.updateTaskSnoozeDate;
|
|
700
|
+
}
|
|
620
701
|
/**
|
|
621
702
|
* Sets a session token as a cookie in the jar
|
|
622
703
|
*
|