sunsama-api 0.1.0
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/LICENSE +21 -0
- package/README.md +215 -0
- package/dist/cjs/client/index.js +347 -0
- package/dist/cjs/client/index.js.map +1 -0
- package/dist/cjs/errors/index.js +110 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/index.js +21 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/queries/fragments/index.js +9 -0
- package/dist/cjs/queries/fragments/index.js.map +1 -0
- package/dist/cjs/queries/fragments/stream.js +74 -0
- package/dist/cjs/queries/fragments/stream.js.map +1 -0
- package/dist/cjs/queries/fragments/task.js +500 -0
- package/dist/cjs/queries/fragments/task.js.map +1 -0
- package/dist/cjs/queries/index.js +11 -0
- package/dist/cjs/queries/index.js.map +1 -0
- package/dist/cjs/queries/streams.js +19 -0
- package/dist/cjs/queries/streams.js.map +1 -0
- package/dist/cjs/queries/tasks.js +41 -0
- package/dist/cjs/queries/tasks.js.map +1 -0
- package/dist/cjs/queries/user.js +472 -0
- package/dist/cjs/queries/user.js.map +1 -0
- package/dist/cjs/types/api.js +9 -0
- package/dist/cjs/types/api.js.map +1 -0
- package/dist/cjs/types/client.js +6 -0
- package/dist/cjs/types/client.js.map +1 -0
- package/dist/cjs/types/common.js +6 -0
- package/dist/cjs/types/common.js.map +1 -0
- package/dist/cjs/types/index.js +8 -0
- package/dist/cjs/types/index.js.map +1 -0
- package/dist/cjs/utils/index.js +63 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/esm/client/index.js +348 -0
- package/dist/esm/client/index.js.map +1 -0
- package/dist/esm/errors/index.js +105 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/index.js +16 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/queries/fragments/index.js +6 -0
- package/dist/esm/queries/fragments/index.js.map +1 -0
- package/dist/esm/queries/fragments/stream.js +71 -0
- package/dist/esm/queries/fragments/stream.js.map +1 -0
- package/dist/esm/queries/fragments/task.js +497 -0
- package/dist/esm/queries/fragments/task.js.map +1 -0
- package/dist/esm/queries/index.js +8 -0
- package/dist/esm/queries/index.js.map +1 -0
- package/dist/esm/queries/streams.js +16 -0
- package/dist/esm/queries/streams.js.map +1 -0
- package/dist/esm/queries/tasks.js +38 -0
- package/dist/esm/queries/tasks.js.map +1 -0
- package/dist/esm/queries/user.js +469 -0
- package/dist/esm/queries/user.js.map +1 -0
- package/dist/esm/types/api.js +8 -0
- package/dist/esm/types/api.js.map +1 -0
- package/dist/esm/types/client.js +5 -0
- package/dist/esm/types/client.js.map +1 -0
- package/dist/esm/types/common.js +5 -0
- package/dist/esm/types/common.js.map +1 -0
- package/dist/esm/types/index.js +7 -0
- package/dist/esm/types/index.js.map +1 -0
- package/dist/esm/utils/index.js +57 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/types/client/index.d.ts +109 -0
- package/dist/types/client/index.d.ts.map +1 -0
- package/dist/types/errors/index.d.ts +67 -0
- package/dist/types/errors/index.d.ts.map +1 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/queries/fragments/index.d.ts +6 -0
- package/dist/types/queries/fragments/index.d.ts.map +1 -0
- package/dist/types/queries/fragments/stream.d.ts +5 -0
- package/dist/types/queries/fragments/stream.d.ts.map +1 -0
- package/dist/types/queries/fragments/task.d.ts +8 -0
- package/dist/types/queries/fragments/task.d.ts.map +1 -0
- package/dist/types/queries/index.d.ts +8 -0
- package/dist/types/queries/index.d.ts.map +1 -0
- package/dist/types/queries/streams.d.ts +5 -0
- package/dist/types/queries/streams.d.ts.map +1 -0
- package/dist/types/queries/tasks.d.ts +6 -0
- package/dist/types/queries/tasks.d.ts.map +1 -0
- package/dist/types/queries/user.d.ts +5 -0
- package/dist/types/queries/user.d.ts.map +1 -0
- package/dist/types/types/api.d.ts +838 -0
- package/dist/types/types/api.d.ts.map +1 -0
- package/dist/types/types/client.d.ts +30 -0
- package/dist/types/types/client.d.ts.map +1 -0
- package/dist/types/types/common.d.ts +58 -0
- package/dist/types/types/common.d.ts.map +1 -0
- package/dist/types/types/index.d.ts +9 -0
- package/dist/types/types/index.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +35 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/package.json +90 -0
|
@@ -0,0 +1,469 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* User-related GraphQL queries
|
|
3
|
+
*/
|
|
4
|
+
import { gql } from 'graphql-tag';
|
|
5
|
+
export const GET_USER_QUERY = gql `
|
|
6
|
+
query getUser {
|
|
7
|
+
currentUser {
|
|
8
|
+
_id
|
|
9
|
+
activationDate
|
|
10
|
+
admin
|
|
11
|
+
aka
|
|
12
|
+
calendar {
|
|
13
|
+
items {
|
|
14
|
+
id
|
|
15
|
+
accountId
|
|
16
|
+
google {
|
|
17
|
+
summary
|
|
18
|
+
summaryOverride
|
|
19
|
+
timeZone
|
|
20
|
+
selected
|
|
21
|
+
accessRole
|
|
22
|
+
accountId
|
|
23
|
+
__typename
|
|
24
|
+
}
|
|
25
|
+
microsoft {
|
|
26
|
+
id
|
|
27
|
+
name
|
|
28
|
+
color
|
|
29
|
+
hexColor
|
|
30
|
+
isDefaultCalendar
|
|
31
|
+
canShare
|
|
32
|
+
canViewPrivateItems
|
|
33
|
+
canEdit
|
|
34
|
+
isRemovable
|
|
35
|
+
allowedOnlineMeetingProviders
|
|
36
|
+
defaultOnlineMeetingProvider
|
|
37
|
+
isTallyingResponse
|
|
38
|
+
owner {
|
|
39
|
+
address
|
|
40
|
+
name
|
|
41
|
+
__typename
|
|
42
|
+
}
|
|
43
|
+
primary
|
|
44
|
+
accountId
|
|
45
|
+
__typename
|
|
46
|
+
}
|
|
47
|
+
__typename
|
|
48
|
+
}
|
|
49
|
+
__typename
|
|
50
|
+
}
|
|
51
|
+
services {
|
|
52
|
+
google {
|
|
53
|
+
scope
|
|
54
|
+
id
|
|
55
|
+
email
|
|
56
|
+
name
|
|
57
|
+
picture
|
|
58
|
+
locale
|
|
59
|
+
__typename
|
|
60
|
+
}
|
|
61
|
+
microsoft {
|
|
62
|
+
scope
|
|
63
|
+
id
|
|
64
|
+
email
|
|
65
|
+
name
|
|
66
|
+
isPersonalAccount
|
|
67
|
+
__typename
|
|
68
|
+
}
|
|
69
|
+
phoneNumber {
|
|
70
|
+
number
|
|
71
|
+
verified
|
|
72
|
+
otpExpiresAt
|
|
73
|
+
__typename
|
|
74
|
+
}
|
|
75
|
+
ssoEnforced
|
|
76
|
+
__typename
|
|
77
|
+
}
|
|
78
|
+
emails {
|
|
79
|
+
address
|
|
80
|
+
verified
|
|
81
|
+
__typename
|
|
82
|
+
}
|
|
83
|
+
primaryGroup {
|
|
84
|
+
groupId
|
|
85
|
+
__typename
|
|
86
|
+
}
|
|
87
|
+
onboarding
|
|
88
|
+
preferences {
|
|
89
|
+
clockStyle
|
|
90
|
+
defaultCalendarView
|
|
91
|
+
defaultHomeView
|
|
92
|
+
defaultMainPanel
|
|
93
|
+
defaultMobileCalendarView
|
|
94
|
+
defaultHideTasks
|
|
95
|
+
hideTeamEvtCopies
|
|
96
|
+
hideMessenger
|
|
97
|
+
disableSpellcheck
|
|
98
|
+
channelRecommendations
|
|
99
|
+
plannedTimeRecommendations
|
|
100
|
+
subtaskPlannedTimeRecommendations
|
|
101
|
+
startDayOfWeekOffset
|
|
102
|
+
workingSessionTransparency
|
|
103
|
+
workingSessionVisibility
|
|
104
|
+
workingSessionDuration
|
|
105
|
+
promptToUpdateStatus
|
|
106
|
+
darkMode
|
|
107
|
+
keyboardShortcuts
|
|
108
|
+
customKeyboardShortcuts {
|
|
109
|
+
id
|
|
110
|
+
disabled
|
|
111
|
+
global
|
|
112
|
+
key
|
|
113
|
+
metaKey
|
|
114
|
+
ctrlKey
|
|
115
|
+
shiftKey
|
|
116
|
+
__typename
|
|
117
|
+
}
|
|
118
|
+
autoArchiveThreshold
|
|
119
|
+
showDeclinedEvents
|
|
120
|
+
usePlannedTimeAsActualTime
|
|
121
|
+
rollToTop
|
|
122
|
+
includeWeekendInReflection
|
|
123
|
+
planningAutoRollover
|
|
124
|
+
autoFocus
|
|
125
|
+
focusBarDisabledTriggers
|
|
126
|
+
workloadThreshold
|
|
127
|
+
importEventFilters
|
|
128
|
+
autoImportEvents
|
|
129
|
+
importEventCompletionSync
|
|
130
|
+
workingSessionCalendarReminder
|
|
131
|
+
workingSessionBuffer
|
|
132
|
+
focusModeNextUpReminder
|
|
133
|
+
autoRescheduleWorkingSessionConflicts
|
|
134
|
+
autoRescheduleWorkingSessionCompletions
|
|
135
|
+
schedulingHours {
|
|
136
|
+
start {
|
|
137
|
+
hour
|
|
138
|
+
minute
|
|
139
|
+
__typename
|
|
140
|
+
}
|
|
141
|
+
end {
|
|
142
|
+
hour
|
|
143
|
+
minute
|
|
144
|
+
__typename
|
|
145
|
+
}
|
|
146
|
+
__typename
|
|
147
|
+
}
|
|
148
|
+
defaultEmailClient
|
|
149
|
+
timerNotificationsEnabled
|
|
150
|
+
timerNotificationsSoundId
|
|
151
|
+
timerPomodoroNotificationsSoundId
|
|
152
|
+
timerNotificationsVolume
|
|
153
|
+
timerNotificationsTimeRemainingTriggers
|
|
154
|
+
endOfDayMessageId
|
|
155
|
+
endOfDayCustomMessage
|
|
156
|
+
autoBreak
|
|
157
|
+
defaultTargetFocusDuration
|
|
158
|
+
defaultTargetBreakDuration
|
|
159
|
+
defaultFocusTimerView
|
|
160
|
+
completedTaskCalendarPinStyle
|
|
161
|
+
hideCompletedTasks
|
|
162
|
+
insertTaskPosition
|
|
163
|
+
chatToolFocusSyncTrigger
|
|
164
|
+
chatToolFocusSyncUpdateStatus
|
|
165
|
+
chatToolFocusSyncUpdateDnd
|
|
166
|
+
chatToolFocusSyncPrivacy
|
|
167
|
+
chatToolFocusSyncStatusEmoji
|
|
168
|
+
navigationPanelStyle
|
|
169
|
+
preferredAILanguage
|
|
170
|
+
preferredLanguage
|
|
171
|
+
visualizeTaskProjectedTimeOnCalendar
|
|
172
|
+
visualizeTaskActualTimeOnCalendar
|
|
173
|
+
__typename
|
|
174
|
+
}
|
|
175
|
+
contacts {
|
|
176
|
+
integrationEnabled
|
|
177
|
+
usesNewPeopleApi
|
|
178
|
+
accountId
|
|
179
|
+
__typename
|
|
180
|
+
}
|
|
181
|
+
createdAt
|
|
182
|
+
dailyPlanning {
|
|
183
|
+
snoozedUntilDate
|
|
184
|
+
lastDayPlanned
|
|
185
|
+
disabledSteps
|
|
186
|
+
importEventsWithoutInvitees
|
|
187
|
+
__typename
|
|
188
|
+
}
|
|
189
|
+
dailyShutdown {
|
|
190
|
+
snoozedUntilDate
|
|
191
|
+
lastDayShutdown
|
|
192
|
+
__typename
|
|
193
|
+
}
|
|
194
|
+
daysPlanned
|
|
195
|
+
daysShutdown
|
|
196
|
+
desktopApp {
|
|
197
|
+
darwin {
|
|
198
|
+
status
|
|
199
|
+
deferralDate
|
|
200
|
+
__typename
|
|
201
|
+
}
|
|
202
|
+
win32 {
|
|
203
|
+
status
|
|
204
|
+
deferralDate
|
|
205
|
+
__typename
|
|
206
|
+
}
|
|
207
|
+
linux {
|
|
208
|
+
status
|
|
209
|
+
deferralDate
|
|
210
|
+
__typename
|
|
211
|
+
}
|
|
212
|
+
__typename
|
|
213
|
+
}
|
|
214
|
+
mobileApp {
|
|
215
|
+
status
|
|
216
|
+
os
|
|
217
|
+
lastModified
|
|
218
|
+
__typename
|
|
219
|
+
}
|
|
220
|
+
lastAnnouncementCheckDate
|
|
221
|
+
lastModified
|
|
222
|
+
nodeId
|
|
223
|
+
notifySettings {
|
|
224
|
+
inviteeResponse {
|
|
225
|
+
subscribed
|
|
226
|
+
channels
|
|
227
|
+
__typename
|
|
228
|
+
}
|
|
229
|
+
invitedToEvent {
|
|
230
|
+
subscribed
|
|
231
|
+
channels
|
|
232
|
+
__typename
|
|
233
|
+
}
|
|
234
|
+
eventUpdated {
|
|
235
|
+
subscribed
|
|
236
|
+
channels
|
|
237
|
+
__typename
|
|
238
|
+
}
|
|
239
|
+
eventCancelled {
|
|
240
|
+
subscribed
|
|
241
|
+
channels
|
|
242
|
+
__typename
|
|
243
|
+
}
|
|
244
|
+
newComments {
|
|
245
|
+
subscribed
|
|
246
|
+
channels
|
|
247
|
+
__typename
|
|
248
|
+
}
|
|
249
|
+
shareTasks {
|
|
250
|
+
subscribed
|
|
251
|
+
channels
|
|
252
|
+
__typename
|
|
253
|
+
}
|
|
254
|
+
taskComment {
|
|
255
|
+
subscribed
|
|
256
|
+
channels
|
|
257
|
+
__typename
|
|
258
|
+
}
|
|
259
|
+
taskStream {
|
|
260
|
+
subscribed
|
|
261
|
+
channels
|
|
262
|
+
__typename
|
|
263
|
+
}
|
|
264
|
+
taskAssignee {
|
|
265
|
+
subscribed
|
|
266
|
+
channels
|
|
267
|
+
__typename
|
|
268
|
+
}
|
|
269
|
+
taskCompletion {
|
|
270
|
+
subscribed
|
|
271
|
+
channels
|
|
272
|
+
__typename
|
|
273
|
+
}
|
|
274
|
+
taskSchedule {
|
|
275
|
+
subscribed
|
|
276
|
+
channels
|
|
277
|
+
__typename
|
|
278
|
+
}
|
|
279
|
+
taskCreation {
|
|
280
|
+
subscribed
|
|
281
|
+
channels
|
|
282
|
+
__typename
|
|
283
|
+
}
|
|
284
|
+
eventReminders {
|
|
285
|
+
subscribed
|
|
286
|
+
channels
|
|
287
|
+
__typename
|
|
288
|
+
}
|
|
289
|
+
dossier {
|
|
290
|
+
subscribed
|
|
291
|
+
channels
|
|
292
|
+
__typename
|
|
293
|
+
}
|
|
294
|
+
planYourDay {
|
|
295
|
+
subscribed
|
|
296
|
+
channels
|
|
297
|
+
__typename
|
|
298
|
+
}
|
|
299
|
+
weeklyStats {
|
|
300
|
+
subscribed
|
|
301
|
+
channels
|
|
302
|
+
__typename
|
|
303
|
+
}
|
|
304
|
+
weekReview {
|
|
305
|
+
subscribed
|
|
306
|
+
channels
|
|
307
|
+
__typename
|
|
308
|
+
}
|
|
309
|
+
systemUpdates {
|
|
310
|
+
subscribed
|
|
311
|
+
channels
|
|
312
|
+
__typename
|
|
313
|
+
}
|
|
314
|
+
dailyWrapSeen {
|
|
315
|
+
subscribed
|
|
316
|
+
channels
|
|
317
|
+
__typename
|
|
318
|
+
}
|
|
319
|
+
dailyWrapReply {
|
|
320
|
+
subscribed
|
|
321
|
+
channels
|
|
322
|
+
__typename
|
|
323
|
+
}
|
|
324
|
+
__typename
|
|
325
|
+
}
|
|
326
|
+
profile {
|
|
327
|
+
profilePictureURL
|
|
328
|
+
firstname
|
|
329
|
+
lastname
|
|
330
|
+
timezone
|
|
331
|
+
timezoneWarningDisabled
|
|
332
|
+
profileThumbs {
|
|
333
|
+
image_24
|
|
334
|
+
image_32
|
|
335
|
+
image_48
|
|
336
|
+
image_72
|
|
337
|
+
image_192
|
|
338
|
+
__typename
|
|
339
|
+
}
|
|
340
|
+
useCase
|
|
341
|
+
onboardingEventSent
|
|
342
|
+
__typename
|
|
343
|
+
}
|
|
344
|
+
toursCompleted
|
|
345
|
+
username
|
|
346
|
+
waitList
|
|
347
|
+
weeklyPlanning {
|
|
348
|
+
hour
|
|
349
|
+
minute
|
|
350
|
+
isoWeekday
|
|
351
|
+
lastWeekPlanned
|
|
352
|
+
weeksPlanned
|
|
353
|
+
disabled
|
|
354
|
+
__typename
|
|
355
|
+
}
|
|
356
|
+
weeklyReview {
|
|
357
|
+
hour
|
|
358
|
+
minute
|
|
359
|
+
isoWeekday
|
|
360
|
+
lastWeekReviewed
|
|
361
|
+
weeksReviewed
|
|
362
|
+
disabled
|
|
363
|
+
__typename
|
|
364
|
+
}
|
|
365
|
+
lastArchiveCheckDate
|
|
366
|
+
integrationRequests
|
|
367
|
+
dayStart {
|
|
368
|
+
hour
|
|
369
|
+
minute
|
|
370
|
+
disabled
|
|
371
|
+
__typename
|
|
372
|
+
}
|
|
373
|
+
plannedDayStart {
|
|
374
|
+
hour
|
|
375
|
+
minute
|
|
376
|
+
disabled
|
|
377
|
+
__typename
|
|
378
|
+
}
|
|
379
|
+
dayEnd {
|
|
380
|
+
hour
|
|
381
|
+
minute
|
|
382
|
+
disabled
|
|
383
|
+
__typename
|
|
384
|
+
}
|
|
385
|
+
waitlistId
|
|
386
|
+
trialPeriod
|
|
387
|
+
qualificationAssessment
|
|
388
|
+
disappointmentIndex
|
|
389
|
+
emailCourses {
|
|
390
|
+
id
|
|
391
|
+
status
|
|
392
|
+
__typename
|
|
393
|
+
}
|
|
394
|
+
tracking {
|
|
395
|
+
facebook {
|
|
396
|
+
_fbp
|
|
397
|
+
_fbc
|
|
398
|
+
__typename
|
|
399
|
+
}
|
|
400
|
+
chatSetupConfigId
|
|
401
|
+
__typename
|
|
402
|
+
}
|
|
403
|
+
proficiencies {
|
|
404
|
+
id
|
|
405
|
+
count
|
|
406
|
+
proficient
|
|
407
|
+
proficientAt
|
|
408
|
+
firstPerformedAt
|
|
409
|
+
__typename
|
|
410
|
+
}
|
|
411
|
+
assistant {
|
|
412
|
+
scheduledCalls {
|
|
413
|
+
workflow
|
|
414
|
+
reminder {
|
|
415
|
+
schedule {
|
|
416
|
+
enabled
|
|
417
|
+
isoDayIndex
|
|
418
|
+
time {
|
|
419
|
+
hour
|
|
420
|
+
minute
|
|
421
|
+
__typename
|
|
422
|
+
}
|
|
423
|
+
__typename
|
|
424
|
+
}
|
|
425
|
+
__typename
|
|
426
|
+
}
|
|
427
|
+
__typename
|
|
428
|
+
}
|
|
429
|
+
__typename
|
|
430
|
+
}
|
|
431
|
+
dailyWrap {
|
|
432
|
+
reminder {
|
|
433
|
+
schedule {
|
|
434
|
+
enabled
|
|
435
|
+
isoDayIndex
|
|
436
|
+
time {
|
|
437
|
+
hour
|
|
438
|
+
minute
|
|
439
|
+
__typename
|
|
440
|
+
}
|
|
441
|
+
__typename
|
|
442
|
+
}
|
|
443
|
+
nextDeliveryAt
|
|
444
|
+
__typename
|
|
445
|
+
}
|
|
446
|
+
__typename
|
|
447
|
+
}
|
|
448
|
+
dailyCatchUp {
|
|
449
|
+
reminder {
|
|
450
|
+
schedule {
|
|
451
|
+
enabled
|
|
452
|
+
isoDayIndex
|
|
453
|
+
time {
|
|
454
|
+
hour
|
|
455
|
+
minute
|
|
456
|
+
__typename
|
|
457
|
+
}
|
|
458
|
+
__typename
|
|
459
|
+
}
|
|
460
|
+
nextDeliveryAt
|
|
461
|
+
__typename
|
|
462
|
+
}
|
|
463
|
+
__typename
|
|
464
|
+
}
|
|
465
|
+
__typename
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
`;
|
|
469
|
+
//# sourceMappingURL=user.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user.js","sourceRoot":"","sources":["../../../src/queries/user.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+chC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/types/api.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/types/client.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/types/common.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Utility functions for the Sunsama API wrapper
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Validates that a string is not empty
|
|
6
|
+
*
|
|
7
|
+
* @param value - The string to validate
|
|
8
|
+
* @param fieldName - Name of the field (for error messages)
|
|
9
|
+
* @throws {Error} If the string is empty or only whitespace
|
|
10
|
+
*/
|
|
11
|
+
export function validateNonEmptyString(value, fieldName) {
|
|
12
|
+
if (!value || value.trim().length === 0) {
|
|
13
|
+
throw new Error(`${fieldName} cannot be empty`);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Validates that a number is positive
|
|
18
|
+
*
|
|
19
|
+
* @param value - The number to validate
|
|
20
|
+
* @param fieldName - Name of the field (for error messages)
|
|
21
|
+
* @throws {Error} If the number is not positive
|
|
22
|
+
*/
|
|
23
|
+
export function validatePositiveNumber(value, fieldName) {
|
|
24
|
+
if (value <= 0) {
|
|
25
|
+
throw new Error(`${fieldName} must be a positive number`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Builds a URL with query parameters
|
|
30
|
+
*
|
|
31
|
+
* @param baseUrl - The base URL
|
|
32
|
+
* @param params - Query parameters to append
|
|
33
|
+
* @returns The complete URL with query string
|
|
34
|
+
*/
|
|
35
|
+
export function buildUrlWithParams(baseUrl, params) {
|
|
36
|
+
if (!params || Object.keys(params).length === 0) {
|
|
37
|
+
return baseUrl;
|
|
38
|
+
}
|
|
39
|
+
const url = new URL(baseUrl);
|
|
40
|
+
Object.entries(params).forEach(([key, value]) => {
|
|
41
|
+
url.searchParams.append(key, String(value));
|
|
42
|
+
});
|
|
43
|
+
return url.toString();
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Checks if a value is a plain object
|
|
47
|
+
*
|
|
48
|
+
* @param value - The value to check
|
|
49
|
+
* @returns True if the value is a plain object
|
|
50
|
+
*/
|
|
51
|
+
export function isPlainObject(value) {
|
|
52
|
+
return (typeof value === 'object' &&
|
|
53
|
+
value !== null &&
|
|
54
|
+
value.constructor === Object &&
|
|
55
|
+
Object.prototype.toString.call(value) === '[object Object]');
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,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,MAAM,UAAU,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,MAAM,UAAU,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,MAAM,UAAU,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,109 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Main Sunsama API client
|
|
3
|
+
*
|
|
4
|
+
* Provides a type-safe interface to interact with all Sunsama API endpoints.
|
|
5
|
+
*/
|
|
6
|
+
import type { Stream, SunsamaClientConfig, Task, User } from '../types';
|
|
7
|
+
/**
|
|
8
|
+
* Main Sunsama API client class
|
|
9
|
+
*
|
|
10
|
+
* Provides a type-safe interface to interact with all Sunsama API endpoints.
|
|
11
|
+
*/
|
|
12
|
+
export declare class SunsamaClient {
|
|
13
|
+
private static readonly BASE_URL;
|
|
14
|
+
private readonly config;
|
|
15
|
+
private readonly cookieJar;
|
|
16
|
+
private userId?;
|
|
17
|
+
private groupId?;
|
|
18
|
+
private timezone?;
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new Sunsama client instance
|
|
21
|
+
*
|
|
22
|
+
* @param config - Client configuration options (optional)
|
|
23
|
+
*/
|
|
24
|
+
constructor(config?: SunsamaClientConfig);
|
|
25
|
+
/**
|
|
26
|
+
* Gets the current client configuration
|
|
27
|
+
*/
|
|
28
|
+
getConfig(): SunsamaClientConfig;
|
|
29
|
+
/**
|
|
30
|
+
* Checks if the client is authenticated
|
|
31
|
+
*
|
|
32
|
+
* @returns True if cookies are present in the jar
|
|
33
|
+
*/
|
|
34
|
+
isAuthenticated(): Promise<boolean>;
|
|
35
|
+
/**
|
|
36
|
+
* Authenticates with email and password
|
|
37
|
+
*
|
|
38
|
+
* @param email - User email address
|
|
39
|
+
* @param password - User password
|
|
40
|
+
* @throws SunsamaAuthError if login fails
|
|
41
|
+
*/
|
|
42
|
+
login(email: string, password: string): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Clears all cookies from the jar and cached user data
|
|
45
|
+
*/
|
|
46
|
+
logout(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Makes an authenticated request to the Sunsama API
|
|
49
|
+
*
|
|
50
|
+
* @param path - The API endpoint path (e.g., '/tasks')
|
|
51
|
+
* @param options - Request options
|
|
52
|
+
* @returns The response from the API
|
|
53
|
+
* @internal
|
|
54
|
+
*/
|
|
55
|
+
private request;
|
|
56
|
+
/**
|
|
57
|
+
* Makes a GraphQL request to the Sunsama API
|
|
58
|
+
*
|
|
59
|
+
* @param request - The GraphQL request
|
|
60
|
+
* @returns The GraphQL response
|
|
61
|
+
* @internal
|
|
62
|
+
*/
|
|
63
|
+
private graphqlRequest;
|
|
64
|
+
/**
|
|
65
|
+
* Gets the current user information
|
|
66
|
+
*
|
|
67
|
+
* @returns The current user data
|
|
68
|
+
* @throws SunsamaAuthError if not authenticated or request fails
|
|
69
|
+
*/
|
|
70
|
+
getUser(): Promise<User>;
|
|
71
|
+
/**
|
|
72
|
+
* Gets tasks for a specific day
|
|
73
|
+
*
|
|
74
|
+
* @param day - ISO date string (e.g., "2025-05-31")
|
|
75
|
+
* @param timezone - Timezone string (e.g., "America/New_York", defaults to user's timezone)
|
|
76
|
+
* @returns Array of tasks for the specified day
|
|
77
|
+
* @throws SunsamaAuthError if not authenticated or request fails
|
|
78
|
+
*/
|
|
79
|
+
getTasksByDay(day: string, timezone?: string): Promise<Task[]>;
|
|
80
|
+
/**
|
|
81
|
+
* Gets tasks from the backlog
|
|
82
|
+
*
|
|
83
|
+
* @returns Array of backlog tasks
|
|
84
|
+
* @throws SunsamaAuthError if not authenticated or request fails
|
|
85
|
+
*/
|
|
86
|
+
getTasksBacklog(): Promise<Task[]>;
|
|
87
|
+
/**
|
|
88
|
+
* Gets streams for the user's group
|
|
89
|
+
*
|
|
90
|
+
* @returns Array of streams for the user's group
|
|
91
|
+
* @throws SunsamaAuthError if not authenticated or request fails
|
|
92
|
+
*/
|
|
93
|
+
getStreamsByGroupId(): Promise<Stream[]>;
|
|
94
|
+
/**
|
|
95
|
+
* Gets the user's timezone
|
|
96
|
+
*
|
|
97
|
+
* @returns The user's timezone string (e.g., "America/New_York")
|
|
98
|
+
* @throws SunsamaAuthError if not authenticated or request fails
|
|
99
|
+
*/
|
|
100
|
+
getUserTimezone(): Promise<string>;
|
|
101
|
+
/**
|
|
102
|
+
* Sets a session token as a cookie in the jar
|
|
103
|
+
*
|
|
104
|
+
* @param token - The session token to set
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
private setSessionTokenAsCookie;
|
|
108
|
+
}
|
|
109
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH,OAAO,KAAK,EAUV,MAAM,EACN,mBAAmB,EACnB,IAAI,EACJ,IAAI,EACL,MAAM,UAAU,CAAC;AAElB;;;;GAIG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAA6B;IAE7D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;IACtC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,CAAS;IAE1B;;;;OAIG;gBACS,MAAM,GAAE,mBAAwB;IAU5C;;OAEG;IACH,SAAS,IAAI,mBAAmB;IAIhC;;;;OAIG;IACG,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;;;;;OAMG;IACG,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAoE3D;;OAEG;IACH,MAAM,IAAI,IAAI;IAOd;;;;;;;OAOG;YACW,OAAO;IAyCrB;;;;;;OAMG;YACW,cAAc;IAqC5B;;;;;OAKG;IACG,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB9B;;;;;;;OAOG;IACG,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAuCpE;;;;;OAKG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;IAkCxC;;;;;OAKG;IACG,mBAAmB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IA6B9C;;;;;OAKG;IACG,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAexC;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;CAiBhC"}
|