@typeb-digital/nucleus-sdk 0.0.6 → 0.1.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/CHANGELOG.md +94 -0
- package/README.md +32 -5
- package/dist/cjs/index.cjs +758 -4
- package/dist/cjs/index.d.cts +598 -23
- package/dist/cjs/index.d.cts.map +1 -1
- package/dist/es/index.d.ts +598 -23
- package/dist/es/index.d.ts.map +1 -1
- package/dist/es/index.js +758 -4
- package/package.json +3 -2
package/dist/cjs/index.d.cts
CHANGED
|
@@ -40,6 +40,7 @@ type EmployeeIdentity = {
|
|
|
40
40
|
jobTitle: string | null;
|
|
41
41
|
department: string | null;
|
|
42
42
|
employmentStatus: string;
|
|
43
|
+
employmentType: string | null;
|
|
43
44
|
isExternal: boolean;
|
|
44
45
|
};
|
|
45
46
|
type EmployeeContact = {
|
|
@@ -76,6 +77,7 @@ type EmployeeCompensation = {
|
|
|
76
77
|
hourlyBillableRate: number | null;
|
|
77
78
|
monthlyCostRate: number | null;
|
|
78
79
|
monthlyBillableRate: number | null;
|
|
80
|
+
salary: number | null;
|
|
79
81
|
currencyCode: string;
|
|
80
82
|
effectiveFrom: string;
|
|
81
83
|
} | null;
|
|
@@ -86,6 +88,7 @@ type EmployeeCompensationHistory = {
|
|
|
86
88
|
hourlyBillableRate: number | null;
|
|
87
89
|
monthlyCostRate: number | null;
|
|
88
90
|
monthlyBillableRate: number | null;
|
|
91
|
+
salary: number | null;
|
|
89
92
|
currencyCode: string;
|
|
90
93
|
effectiveFrom: string;
|
|
91
94
|
effectiveTo: string | null;
|
|
@@ -107,6 +110,9 @@ type ProjectCore = {
|
|
|
107
110
|
id: string;
|
|
108
111
|
name: string;
|
|
109
112
|
status: string;
|
|
113
|
+
/** Pipeline lifecycle: opportunity | proposal | won | active | closed. */
|
|
114
|
+
stage: string;
|
|
115
|
+
stageChangedAt: string | null;
|
|
110
116
|
colorTag: string | null;
|
|
111
117
|
iconName: string | null;
|
|
112
118
|
startDate: string | null;
|
|
@@ -119,12 +125,18 @@ type ProjectTeam = {
|
|
|
119
125
|
engagementLeadId: string | null;
|
|
120
126
|
memberships: ProjectMembership[];
|
|
121
127
|
};
|
|
122
|
-
type ProjectFinancials =
|
|
128
|
+
type ProjectFinancials = {
|
|
129
|
+
contractValue: number | null;
|
|
130
|
+
budget: number | null;
|
|
131
|
+
marginTarget: number | null;
|
|
132
|
+
financialsCurrency: string | null;
|
|
133
|
+
};
|
|
123
134
|
type ProjectIntegrations = {
|
|
124
135
|
source: string | null;
|
|
125
136
|
clockifyProjectId: string | null;
|
|
126
137
|
clockifyWorkspaceId: string | null;
|
|
127
138
|
apolloDealId: string | null;
|
|
139
|
+
twentyOpportunityId: string | null;
|
|
128
140
|
};
|
|
129
141
|
type ProjectBucketMap = {
|
|
130
142
|
core: ProjectCore;
|
|
@@ -216,25 +228,183 @@ type GenericRateBucketMap = {
|
|
|
216
228
|
core: GenericRateCore;
|
|
217
229
|
financials: GenericRateFinancials;
|
|
218
230
|
};
|
|
231
|
+
type JurisdictionCore = {
|
|
232
|
+
id: string;
|
|
233
|
+
name: string;
|
|
234
|
+
code: string;
|
|
235
|
+
country: string | null;
|
|
236
|
+
};
|
|
237
|
+
type JurisdictionBucketMap = {
|
|
238
|
+
core: JurisdictionCore;
|
|
239
|
+
};
|
|
240
|
+
type LeaveTypeCore = {
|
|
241
|
+
id: string;
|
|
242
|
+
name: string;
|
|
243
|
+
description: string | null;
|
|
244
|
+
color: string | null;
|
|
245
|
+
sortOrder: number;
|
|
246
|
+
};
|
|
247
|
+
type LeaveTypeBucketMap = {
|
|
248
|
+
core: LeaveTypeCore;
|
|
249
|
+
};
|
|
250
|
+
type LeaveCore = {
|
|
251
|
+
id: string;
|
|
252
|
+
employeeId: string;
|
|
253
|
+
leaveTypeId: string;
|
|
254
|
+
startDate: string;
|
|
255
|
+
endDate: string;
|
|
256
|
+
days: number;
|
|
257
|
+
status: string;
|
|
258
|
+
source: string;
|
|
259
|
+
};
|
|
260
|
+
type LeaveDetails = {
|
|
261
|
+
reason: string | null;
|
|
262
|
+
};
|
|
263
|
+
type LeaveBucketMap = {
|
|
264
|
+
core: LeaveCore;
|
|
265
|
+
details: LeaveDetails;
|
|
266
|
+
};
|
|
267
|
+
type LeaveBalanceCore = {
|
|
268
|
+
id: string;
|
|
269
|
+
employeeId: string;
|
|
270
|
+
leaveTypeId: string;
|
|
271
|
+
year: number;
|
|
272
|
+
balanceDays: number;
|
|
273
|
+
};
|
|
274
|
+
type LeaveBalanceBucketMap = {
|
|
275
|
+
core: LeaveBalanceCore;
|
|
276
|
+
};
|
|
277
|
+
type PolicyCore = {
|
|
278
|
+
id: string;
|
|
279
|
+
title: string;
|
|
280
|
+
code: string;
|
|
281
|
+
category: string | null;
|
|
282
|
+
description: string | null;
|
|
283
|
+
currentVersion: number;
|
|
284
|
+
requiresAcknowledgement: boolean;
|
|
285
|
+
isPublished: boolean;
|
|
286
|
+
};
|
|
287
|
+
type PolicyContent = {
|
|
288
|
+
body: string | null;
|
|
289
|
+
fileKey: string | null;
|
|
290
|
+
};
|
|
291
|
+
type PolicyBucketMap = {
|
|
292
|
+
core: PolicyCore;
|
|
293
|
+
content: PolicyContent;
|
|
294
|
+
};
|
|
295
|
+
type PolicyAcknowledgementCore = {
|
|
296
|
+
id: string;
|
|
297
|
+
policyId: string;
|
|
298
|
+
employeeId: string;
|
|
299
|
+
version: number;
|
|
300
|
+
acknowledgedAt: string;
|
|
301
|
+
};
|
|
302
|
+
type PolicyAcknowledgementBucketMap = {
|
|
303
|
+
core: PolicyAcknowledgementCore;
|
|
304
|
+
};
|
|
305
|
+
type CalendarEventCore = {
|
|
306
|
+
id: string;
|
|
307
|
+
title: string;
|
|
308
|
+
description: string | null;
|
|
309
|
+
startDate: string;
|
|
310
|
+
endDate: string | null;
|
|
311
|
+
allDay: boolean;
|
|
312
|
+
type: string;
|
|
313
|
+
location: string | null;
|
|
314
|
+
color: string | null;
|
|
315
|
+
isPublished: boolean;
|
|
316
|
+
};
|
|
317
|
+
type CalendarEventBucketMap = {
|
|
318
|
+
core: CalendarEventCore;
|
|
319
|
+
};
|
|
320
|
+
type TimesheetCore = {
|
|
321
|
+
id: string;
|
|
322
|
+
employeeId: string;
|
|
323
|
+
projectId: string | null;
|
|
324
|
+
/** Entry start (Kimai `begin`). ISO 8601. */
|
|
325
|
+
startTime: string;
|
|
326
|
+
/** Entry end (Kimai `end`); null while running. ISO 8601. */
|
|
327
|
+
endTime: string | null;
|
|
328
|
+
durationMinutes: number;
|
|
329
|
+
billable: boolean;
|
|
330
|
+
};
|
|
331
|
+
type TimesheetDetails = {
|
|
332
|
+
description: string | null;
|
|
333
|
+
activityName: string | null;
|
|
334
|
+
};
|
|
335
|
+
type TimesheetIntegrations = {
|
|
336
|
+
source: string;
|
|
337
|
+
kimaiId: string | null;
|
|
338
|
+
kimaiActivityId: string | null;
|
|
339
|
+
};
|
|
340
|
+
type TimesheetBucketMap = {
|
|
341
|
+
core: TimesheetCore;
|
|
342
|
+
details: TimesheetDetails;
|
|
343
|
+
integrations: TimesheetIntegrations;
|
|
344
|
+
};
|
|
345
|
+
/**
|
|
346
|
+
* Per-resource scope: which buckets the app may read / create / update, and
|
|
347
|
+
* whether it may delete (record-level). Mirrors the platform's per-(resource,
|
|
348
|
+
* bucket, action) authorization. `read` drives the accessor return types;
|
|
349
|
+
* `create`/`update`/`delete` gate the mutation methods at compile time.
|
|
350
|
+
*/
|
|
351
|
+
type ResourceScope<M> = {
|
|
352
|
+
read?: readonly (keyof M)[];
|
|
353
|
+
create?: readonly (keyof M)[];
|
|
354
|
+
update?: readonly (keyof M)[];
|
|
355
|
+
delete?: boolean;
|
|
356
|
+
};
|
|
357
|
+
/** A resource Nucleus owns the writes for — only `read` may be declared. */
|
|
358
|
+
type ReadOnlyResourceScope<M> = {
|
|
359
|
+
read?: readonly (keyof M)[];
|
|
360
|
+
};
|
|
219
361
|
type ScopeDeclaration = {
|
|
220
|
-
employees?:
|
|
221
|
-
projects?:
|
|
222
|
-
clients?:
|
|
223
|
-
partners?:
|
|
224
|
-
departments?:
|
|
225
|
-
projectTypes?:
|
|
226
|
-
currencies?:
|
|
227
|
-
genericRates?:
|
|
362
|
+
employees?: ReadOnlyResourceScope<EmployeeBucketMap>;
|
|
363
|
+
projects?: ResourceScope<ProjectBucketMap>;
|
|
364
|
+
clients?: ResourceScope<ClientBucketMap>;
|
|
365
|
+
partners?: ResourceScope<PartnerBucketMap>;
|
|
366
|
+
departments?: ResourceScope<DepartmentBucketMap>;
|
|
367
|
+
projectTypes?: ResourceScope<ProjectTypeBucketMap>;
|
|
368
|
+
currencies?: ResourceScope<CurrencyBucketMap>;
|
|
369
|
+
genericRates?: ResourceScope<GenericRateBucketMap>;
|
|
370
|
+
jurisdictions?: ResourceScope<JurisdictionBucketMap>;
|
|
371
|
+
leaveTypes?: ResourceScope<LeaveTypeBucketMap>;
|
|
372
|
+
leaves?: ResourceScope<LeaveBucketMap>;
|
|
373
|
+
leaveBalances?: ResourceScope<LeaveBalanceBucketMap>;
|
|
374
|
+
policies?: ResourceScope<PolicyBucketMap>;
|
|
375
|
+
policyAcknowledgements?: ResourceScope<PolicyAcknowledgementBucketMap>;
|
|
376
|
+
calendarEvents?: ResourceScope<CalendarEventBucketMap>;
|
|
377
|
+
timesheets?: ResourceScope<TimesheetBucketMap>;
|
|
228
378
|
};
|
|
379
|
+
type ReadOf<RS, M> = RS extends {
|
|
380
|
+
read: readonly (keyof M)[];
|
|
381
|
+
} ? RS['read'] : readonly [];
|
|
382
|
+
type IfCreate<RS, T> = RS extends {
|
|
383
|
+
create: readonly [unknown, ...unknown[]];
|
|
384
|
+
} ? T : never;
|
|
385
|
+
type IfUpdate<RS, T> = RS extends {
|
|
386
|
+
update: readonly [unknown, ...unknown[]];
|
|
387
|
+
} ? T : never;
|
|
388
|
+
type IfDelete<RS, T> = RS extends {
|
|
389
|
+
delete: true;
|
|
390
|
+
} ? T : never;
|
|
229
391
|
type ResolveBuckets<M, B> = B extends readonly (keyof M)[] ? [B[number]] extends [never] ? NoScope : UnionToIntersection<M[B[number]]> : NoScope;
|
|
230
|
-
type ResolveEmployee<S extends ScopeDeclaration> = ResolveBuckets<EmployeeBucketMap, S['employees']
|
|
231
|
-
type ResolveProject<S extends ScopeDeclaration> = ResolveBuckets<ProjectBucketMap, S['projects']
|
|
232
|
-
type ResolveClient<S extends ScopeDeclaration> = ResolveBuckets<ClientBucketMap, S['clients']
|
|
233
|
-
type ResolvePartner<S extends ScopeDeclaration> = ResolveBuckets<PartnerBucketMap, S['partners']
|
|
234
|
-
type ResolveDepartment<S extends ScopeDeclaration> = ResolveBuckets<DepartmentBucketMap, S['departments']
|
|
235
|
-
type ResolveProjectType<S extends ScopeDeclaration> = ResolveBuckets<ProjectTypeBucketMap, S['projectTypes']
|
|
236
|
-
type ResolveCurrency<S extends ScopeDeclaration> = ResolveBuckets<CurrencyBucketMap, S['currencies']
|
|
237
|
-
type ResolveGenericRate<S extends ScopeDeclaration> = ResolveBuckets<GenericRateBucketMap, S['genericRates']
|
|
392
|
+
type ResolveEmployee<S extends ScopeDeclaration> = ResolveBuckets<EmployeeBucketMap, ReadOf<S['employees'], EmployeeBucketMap>>;
|
|
393
|
+
type ResolveProject<S extends ScopeDeclaration> = ResolveBuckets<ProjectBucketMap, ReadOf<S['projects'], ProjectBucketMap>>;
|
|
394
|
+
type ResolveClient<S extends ScopeDeclaration> = ResolveBuckets<ClientBucketMap, ReadOf<S['clients'], ClientBucketMap>>;
|
|
395
|
+
type ResolvePartner<S extends ScopeDeclaration> = ResolveBuckets<PartnerBucketMap, ReadOf<S['partners'], PartnerBucketMap>>;
|
|
396
|
+
type ResolveDepartment<S extends ScopeDeclaration> = ResolveBuckets<DepartmentBucketMap, ReadOf<S['departments'], DepartmentBucketMap>>;
|
|
397
|
+
type ResolveProjectType<S extends ScopeDeclaration> = ResolveBuckets<ProjectTypeBucketMap, ReadOf<S['projectTypes'], ProjectTypeBucketMap>>;
|
|
398
|
+
type ResolveCurrency<S extends ScopeDeclaration> = ResolveBuckets<CurrencyBucketMap, ReadOf<S['currencies'], CurrencyBucketMap>>;
|
|
399
|
+
type ResolveGenericRate<S extends ScopeDeclaration> = ResolveBuckets<GenericRateBucketMap, ReadOf<S['genericRates'], GenericRateBucketMap>>;
|
|
400
|
+
type ResolveJurisdiction<S extends ScopeDeclaration> = ResolveBuckets<JurisdictionBucketMap, ReadOf<S['jurisdictions'], JurisdictionBucketMap>>;
|
|
401
|
+
type ResolveLeaveType<S extends ScopeDeclaration> = ResolveBuckets<LeaveTypeBucketMap, ReadOf<S['leaveTypes'], LeaveTypeBucketMap>>;
|
|
402
|
+
type ResolveLeave<S extends ScopeDeclaration> = ResolveBuckets<LeaveBucketMap, ReadOf<S['leaves'], LeaveBucketMap>>;
|
|
403
|
+
type ResolveLeaveBalance<S extends ScopeDeclaration> = ResolveBuckets<LeaveBalanceBucketMap, ReadOf<S['leaveBalances'], LeaveBalanceBucketMap>>;
|
|
404
|
+
type ResolvePolicy<S extends ScopeDeclaration> = ResolveBuckets<PolicyBucketMap, ReadOf<S['policies'], PolicyBucketMap>>;
|
|
405
|
+
type ResolvePolicyAcknowledgement<S extends ScopeDeclaration> = ResolveBuckets<PolicyAcknowledgementBucketMap, ReadOf<S['policyAcknowledgements'], PolicyAcknowledgementBucketMap>>;
|
|
406
|
+
type ResolveCalendarEvent<S extends ScopeDeclaration> = ResolveBuckets<CalendarEventBucketMap, ReadOf<S['calendarEvents'], CalendarEventBucketMap>>;
|
|
407
|
+
type ResolveTimesheet<S extends ScopeDeclaration> = ResolveBuckets<TimesheetBucketMap, ReadOf<S['timesheets'], TimesheetBucketMap>>;
|
|
238
408
|
type EmployeeExpandPath = 'manager' | 'partner';
|
|
239
409
|
type WithEmployeeExpand<T, E extends readonly EmployeeExpandPath[], S extends ScopeDeclaration> = T & ('manager' extends E[number] ? {
|
|
240
410
|
manager: ResolveEmployee<S> | null;
|
|
@@ -274,6 +444,169 @@ type PartnerExpandPath = 'employees';
|
|
|
274
444
|
type WithPartnerExpand<T, E extends readonly PartnerExpandPath[], S extends ScopeDeclaration> = T & ('employees' extends E[number] ? {
|
|
275
445
|
employees: Array<ResolveEmployee<S>>;
|
|
276
446
|
} : unknown);
|
|
447
|
+
type LeaveExpandPath = 'employee' | 'leaveType';
|
|
448
|
+
type WithLeaveExpand<T, E extends readonly LeaveExpandPath[], S extends ScopeDeclaration> = T & ('employee' extends E[number] ? {
|
|
449
|
+
employee: ResolveEmployee<S> | null;
|
|
450
|
+
} : unknown) & ('leaveType' extends E[number] ? {
|
|
451
|
+
leaveType: ResolveLeaveType<S> | null;
|
|
452
|
+
} : unknown);
|
|
453
|
+
type LeaveBalanceExpandPath = 'employee' | 'leaveType';
|
|
454
|
+
type WithLeaveBalanceExpand<T, E extends readonly LeaveBalanceExpandPath[], S extends ScopeDeclaration> = T & ('employee' extends E[number] ? {
|
|
455
|
+
employee: ResolveEmployee<S> | null;
|
|
456
|
+
} : unknown) & ('leaveType' extends E[number] ? {
|
|
457
|
+
leaveType: ResolveLeaveType<S> | null;
|
|
458
|
+
} : unknown);
|
|
459
|
+
type PolicyAcknowledgementExpandPath = 'employee' | 'policy';
|
|
460
|
+
type WithPolicyAcknowledgementExpand<T, E extends readonly PolicyAcknowledgementExpandPath[], S extends ScopeDeclaration> = T & ('employee' extends E[number] ? {
|
|
461
|
+
employee: ResolveEmployee<S> | null;
|
|
462
|
+
} : unknown) & ('policy' extends E[number] ? {
|
|
463
|
+
policy: ResolvePolicy<S> | null;
|
|
464
|
+
} : unknown);
|
|
465
|
+
type TimesheetExpandPath = 'employee' | 'project';
|
|
466
|
+
type WithTimesheetExpand<T, E extends readonly TimesheetExpandPath[], S extends ScopeDeclaration> = T & ('employee' extends E[number] ? {
|
|
467
|
+
employee: ResolveEmployee<S> | null;
|
|
468
|
+
} : unknown) & ('project' extends E[number] ? {
|
|
469
|
+
project: ResolveProject<S> | null;
|
|
470
|
+
} : unknown);
|
|
471
|
+
type LeaveCreateInput = {
|
|
472
|
+
employeeId: string;
|
|
473
|
+
leaveTypeId: string;
|
|
474
|
+
startDate: string;
|
|
475
|
+
endDate: string;
|
|
476
|
+
days: number;
|
|
477
|
+
reason?: string | null;
|
|
478
|
+
status?: string;
|
|
479
|
+
source?: string;
|
|
480
|
+
};
|
|
481
|
+
type LeaveUpdateInput = Partial<LeaveCreateInput>;
|
|
482
|
+
type ProjectCreateInput = {
|
|
483
|
+
name: string;
|
|
484
|
+
status?: string | null;
|
|
485
|
+
source?: string | null;
|
|
486
|
+
startDate?: string | null;
|
|
487
|
+
endDate?: string | null;
|
|
488
|
+
colorTag?: string | null;
|
|
489
|
+
iconName?: string | null;
|
|
490
|
+
clientId: string;
|
|
491
|
+
projectTypeId?: string | null;
|
|
492
|
+
projectManagerId?: string | null;
|
|
493
|
+
engagementLeadId?: string | null;
|
|
494
|
+
};
|
|
495
|
+
type ProjectUpdateInput = Partial<ProjectCreateInput>;
|
|
496
|
+
type ClientCreateInput = {
|
|
497
|
+
name: string;
|
|
498
|
+
code: string;
|
|
499
|
+
industry?: string | null;
|
|
500
|
+
website?: string | null;
|
|
501
|
+
country?: string | null;
|
|
502
|
+
contactPhone?: string | null;
|
|
503
|
+
defaultCurrency?: string | null;
|
|
504
|
+
primaryContactName?: string | null;
|
|
505
|
+
primaryContactEmail?: string | null;
|
|
506
|
+
notes?: string | null;
|
|
507
|
+
};
|
|
508
|
+
type ClientUpdateInput = Partial<ClientCreateInput>;
|
|
509
|
+
type PartnerCreateInput = {
|
|
510
|
+
name: string;
|
|
511
|
+
contactName?: string | null;
|
|
512
|
+
contactEmail?: string | null;
|
|
513
|
+
contactPhone?: string | null;
|
|
514
|
+
notes?: string | null;
|
|
515
|
+
};
|
|
516
|
+
type PartnerUpdateInput = Partial<PartnerCreateInput>;
|
|
517
|
+
type DepartmentCreateInput = {
|
|
518
|
+
name: string;
|
|
519
|
+
titles?: string[];
|
|
520
|
+
sortOrder?: number;
|
|
521
|
+
};
|
|
522
|
+
type DepartmentUpdateInput = Partial<DepartmentCreateInput>;
|
|
523
|
+
type ProjectTypeCreateInput = {
|
|
524
|
+
name: string;
|
|
525
|
+
description?: string | null;
|
|
526
|
+
sortOrder?: number;
|
|
527
|
+
};
|
|
528
|
+
type ProjectTypeUpdateInput = Partial<ProjectTypeCreateInput>;
|
|
529
|
+
type CurrencyCreateInput = {
|
|
530
|
+
code: string;
|
|
531
|
+
name: string;
|
|
532
|
+
symbol?: string | null;
|
|
533
|
+
isDefault?: boolean;
|
|
534
|
+
sortOrder?: number;
|
|
535
|
+
};
|
|
536
|
+
type CurrencyUpdateInput = Partial<Omit<CurrencyCreateInput, 'code'>>;
|
|
537
|
+
type GenericRateCreateInput = {
|
|
538
|
+
title: string;
|
|
539
|
+
department: string;
|
|
540
|
+
costRate: number;
|
|
541
|
+
billableRate: number;
|
|
542
|
+
currencyCode?: string;
|
|
543
|
+
};
|
|
544
|
+
type GenericRateUpdateInput = Partial<GenericRateCreateInput>;
|
|
545
|
+
type JurisdictionCreateInput = {
|
|
546
|
+
name: string;
|
|
547
|
+
code: string;
|
|
548
|
+
country?: string | null;
|
|
549
|
+
};
|
|
550
|
+
type JurisdictionUpdateInput = Partial<JurisdictionCreateInput>;
|
|
551
|
+
type LeaveTypeCreateInput = {
|
|
552
|
+
name: string;
|
|
553
|
+
description?: string | null;
|
|
554
|
+
color?: string | null;
|
|
555
|
+
sortOrder?: number;
|
|
556
|
+
};
|
|
557
|
+
type LeaveTypeUpdateInput = Partial<LeaveTypeCreateInput>;
|
|
558
|
+
type LeaveBalanceCreateInput = {
|
|
559
|
+
employeeId: string;
|
|
560
|
+
leaveTypeId: string;
|
|
561
|
+
year: number;
|
|
562
|
+
balanceDays?: number;
|
|
563
|
+
};
|
|
564
|
+
type LeaveBalanceUpdateInput = Partial<LeaveBalanceCreateInput>;
|
|
565
|
+
type PolicyCreateInput = {
|
|
566
|
+
title: string;
|
|
567
|
+
code: string;
|
|
568
|
+
category?: string | null;
|
|
569
|
+
description?: string | null;
|
|
570
|
+
body?: string | null;
|
|
571
|
+
fileKey?: string | null;
|
|
572
|
+
currentVersion?: number;
|
|
573
|
+
requiresAcknowledgement?: boolean;
|
|
574
|
+
isPublished?: boolean;
|
|
575
|
+
};
|
|
576
|
+
type PolicyUpdateInput = Partial<PolicyCreateInput>;
|
|
577
|
+
type PolicyAcknowledgementCreateInput = {
|
|
578
|
+
policyId: string;
|
|
579
|
+
employeeId: string;
|
|
580
|
+
version: number;
|
|
581
|
+
acknowledgedAt?: string;
|
|
582
|
+
};
|
|
583
|
+
type PolicyAcknowledgementUpdateInput = Partial<PolicyAcknowledgementCreateInput>;
|
|
584
|
+
type CalendarEventCreateInput = {
|
|
585
|
+
title: string;
|
|
586
|
+
description?: string | null;
|
|
587
|
+
startDate: string;
|
|
588
|
+
endDate?: string | null;
|
|
589
|
+
allDay?: boolean;
|
|
590
|
+
type?: string;
|
|
591
|
+
location?: string | null;
|
|
592
|
+
color?: string | null;
|
|
593
|
+
isPublished?: boolean;
|
|
594
|
+
};
|
|
595
|
+
type CalendarEventUpdateInput = Partial<CalendarEventCreateInput>;
|
|
596
|
+
type TimesheetCreateInput = {
|
|
597
|
+
employeeId: string;
|
|
598
|
+
projectId?: string | null;
|
|
599
|
+
startTime: string;
|
|
600
|
+
endTime?: string | null;
|
|
601
|
+
durationMinutes: number;
|
|
602
|
+
description?: string | null;
|
|
603
|
+
activityName?: string | null;
|
|
604
|
+
billable?: boolean;
|
|
605
|
+
source?: string;
|
|
606
|
+
kimaiId?: string | null;
|
|
607
|
+
kimaiActivityId?: string | null;
|
|
608
|
+
};
|
|
609
|
+
type TimesheetUpdateInput = Partial<TimesheetCreateInput>;
|
|
277
610
|
type AppScopeInfo = {
|
|
278
611
|
id: string;
|
|
279
612
|
resource: string;
|
|
@@ -281,19 +614,34 @@ type AppScopeInfo = {
|
|
|
281
614
|
status: 'active' | 'pending' | 'rejected';
|
|
282
615
|
reviewNote: string | null;
|
|
283
616
|
};
|
|
617
|
+
type AppPermissionInfo = {
|
|
618
|
+
resource: string;
|
|
619
|
+
bucket: string | null;
|
|
620
|
+
action: 'read' | 'create' | 'update' | 'delete';
|
|
621
|
+
status: 'active' | 'pending' | 'rejected';
|
|
622
|
+
reviewNote: string | null;
|
|
623
|
+
};
|
|
284
624
|
type AppInfo = {
|
|
285
625
|
id: string;
|
|
286
626
|
appId: string;
|
|
287
627
|
name: string;
|
|
288
628
|
description: string | null;
|
|
289
629
|
icon: string | null;
|
|
290
|
-
|
|
630
|
+
/** Publish lifecycle: draft | submitted | published | changes_requested | suspended. */
|
|
291
631
|
status: string;
|
|
632
|
+
redirectUris: string[];
|
|
633
|
+
submittedAt: string | null;
|
|
634
|
+
publishedAt: string | null;
|
|
635
|
+
reviewNote: string | null;
|
|
636
|
+
/** Back-compat aggregate of permissions grouped by resource. */
|
|
292
637
|
scopes: AppScopeInfo[];
|
|
638
|
+
/** Normalized per-(resource, bucket, action) permission rows. */
|
|
639
|
+
permissions?: AppPermissionInfo[];
|
|
293
640
|
tokens: {
|
|
294
641
|
id: string;
|
|
295
642
|
tokenPrefix: string;
|
|
296
|
-
environment
|
|
643
|
+
/** 'live' | 'test' — replaces the removed `environment`. */
|
|
644
|
+
mode: string;
|
|
297
645
|
status: string;
|
|
298
646
|
lastUsedAt: string | null;
|
|
299
647
|
expiresAt: string | null;
|
|
@@ -313,6 +661,8 @@ declare class NucleusTransport {
|
|
|
313
661
|
constructor(token: string, baseUrl?: string);
|
|
314
662
|
get<T>(path: string, query?: Record<string, string | number | undefined>): Promise<SuccessResult<T> | ErrorResult>;
|
|
315
663
|
post<T>(path: string, body: unknown): Promise<SuccessResult<T> | ErrorResult>;
|
|
664
|
+
put<T>(path: string, body: unknown): Promise<SuccessResult<T> | ErrorResult>;
|
|
665
|
+
patch<T>(path: string, body: unknown): Promise<SuccessResult<T> | ErrorResult>;
|
|
316
666
|
del<T = null>(path: string, query?: Record<string, string | undefined>): Promise<SuccessResult<T> | ErrorResult>;
|
|
317
667
|
getList<T>(path: string, query?: Record<string, string | number | undefined>): Promise<ListResult<T> | ErrorResult>;
|
|
318
668
|
}
|
|
@@ -353,6 +703,12 @@ declare class ProjectsAccessor<S extends ScopeDeclaration> {
|
|
|
353
703
|
getById<E extends readonly ProjectExpandPath[] = never[]>(id: string, options?: {
|
|
354
704
|
expand?: E;
|
|
355
705
|
}): Promise<SingleResult<WithProjectExpand<ResolveProject<S>, E, S>>>;
|
|
706
|
+
/** Create a project. Requires `projects.create` scope. */
|
|
707
|
+
create(data: IfCreate<S['projects'], ProjectCreateInput>): Promise<SingleResult<ResolveProject<S>>>;
|
|
708
|
+
/** Update a project. Requires `projects.update` scope. */
|
|
709
|
+
update(id: string, data: IfUpdate<S['projects'], ProjectUpdateInput>): Promise<SingleResult<ResolveProject<S>>>;
|
|
710
|
+
/** Soft-delete a project. Requires `projects.delete` scope. */
|
|
711
|
+
delete(id: IfDelete<S['projects'], string>): Promise<SingleResult<null>>;
|
|
356
712
|
}
|
|
357
713
|
|
|
358
714
|
type ClientListParams = {
|
|
@@ -372,6 +728,12 @@ declare class ClientsAccessor<S extends ScopeDeclaration> {
|
|
|
372
728
|
getById<E extends readonly ClientExpandPath[] = never[]>(id: string, options?: {
|
|
373
729
|
expand?: E;
|
|
374
730
|
}): Promise<SingleResult<WithClientExpand<ResolveClient<S>, E, S>>>;
|
|
731
|
+
/** Create a client. Requires `clients.create` scope. */
|
|
732
|
+
create(data: IfCreate<S['clients'], ClientCreateInput>): Promise<SingleResult<ResolveClient<S>>>;
|
|
733
|
+
/** Update a client. Requires `clients.update` scope. */
|
|
734
|
+
update(id: string, data: IfUpdate<S['clients'], ClientUpdateInput>): Promise<SingleResult<ResolveClient<S>>>;
|
|
735
|
+
/** Soft-delete a client. Requires `clients.delete` scope. */
|
|
736
|
+
delete(id: IfDelete<S['clients'], string>): Promise<SingleResult<null>>;
|
|
375
737
|
}
|
|
376
738
|
|
|
377
739
|
type PartnerListParams = {
|
|
@@ -389,6 +751,12 @@ declare class PartnersAccessor<S extends ScopeDeclaration> {
|
|
|
389
751
|
getById<E extends readonly PartnerExpandPath[] = never[]>(id: string, options?: {
|
|
390
752
|
expand?: E;
|
|
391
753
|
}): Promise<SingleResult<WithPartnerExpand<ResolvePartner<S>, E, S>>>;
|
|
754
|
+
/** Create a partner. Requires `partners.create` scope. */
|
|
755
|
+
create(data: IfCreate<S['partners'], PartnerCreateInput>): Promise<SingleResult<ResolvePartner<S>>>;
|
|
756
|
+
/** Update a partner. Requires `partners.update` scope. */
|
|
757
|
+
update(id: string, data: IfUpdate<S['partners'], PartnerUpdateInput>): Promise<SingleResult<ResolvePartner<S>>>;
|
|
758
|
+
/** Soft-delete a partner. Requires `partners.delete` scope. */
|
|
759
|
+
delete(id: IfDelete<S['partners'], string>): Promise<SingleResult<null>>;
|
|
392
760
|
}
|
|
393
761
|
|
|
394
762
|
type DepartmentListParams = {
|
|
@@ -401,6 +769,12 @@ declare class DepartmentsAccessor<S extends ScopeDeclaration> {
|
|
|
401
769
|
constructor(transport: NucleusTransport);
|
|
402
770
|
list(params?: DepartmentListParams): Promise<PaginatedResult<ResolveDepartment<S>>>;
|
|
403
771
|
getById(id: string): Promise<SingleResult<ResolveDepartment<S>>>;
|
|
772
|
+
/** Create a department. Requires `departments.create` scope. */
|
|
773
|
+
create(data: IfCreate<S['departments'], DepartmentCreateInput>): Promise<SingleResult<ResolveDepartment<S>>>;
|
|
774
|
+
/** Update a department. Requires `departments.update` scope. */
|
|
775
|
+
update(id: string, data: IfUpdate<S['departments'], DepartmentUpdateInput>): Promise<SingleResult<ResolveDepartment<S>>>;
|
|
776
|
+
/** Soft-delete a department. Requires `departments.delete` scope. */
|
|
777
|
+
delete(id: IfDelete<S['departments'], string>): Promise<SingleResult<null>>;
|
|
404
778
|
}
|
|
405
779
|
|
|
406
780
|
type ProjectTypeListParams = {
|
|
@@ -412,6 +786,12 @@ declare class ProjectTypesAccessor<S extends ScopeDeclaration> {
|
|
|
412
786
|
constructor(transport: NucleusTransport);
|
|
413
787
|
list(params?: ProjectTypeListParams): Promise<PaginatedResult<ResolveProjectType<S>>>;
|
|
414
788
|
getById(id: string): Promise<SingleResult<ResolveProjectType<S>>>;
|
|
789
|
+
/** Create a project type. Requires `projectTypes.create` scope. */
|
|
790
|
+
create(data: IfCreate<S['projectTypes'], ProjectTypeCreateInput>): Promise<SingleResult<ResolveProjectType<S>>>;
|
|
791
|
+
/** Update a project type. Requires `projectTypes.update` scope. */
|
|
792
|
+
update(id: string, data: IfUpdate<S['projectTypes'], ProjectTypeUpdateInput>): Promise<SingleResult<ResolveProjectType<S>>>;
|
|
793
|
+
/** Soft-delete a project type. Requires `projectTypes.delete` scope. */
|
|
794
|
+
delete(id: IfDelete<S['projectTypes'], string>): Promise<SingleResult<null>>;
|
|
415
795
|
}
|
|
416
796
|
|
|
417
797
|
type CurrencyListParams = {
|
|
@@ -423,6 +803,15 @@ declare class CurrenciesAccessor<S extends ScopeDeclaration> {
|
|
|
423
803
|
constructor(transport: NucleusTransport);
|
|
424
804
|
list(params?: CurrencyListParams): Promise<PaginatedResult<ResolveCurrency<S>>>;
|
|
425
805
|
getByCode(code: string): Promise<SingleResult<ResolveCurrency<S>>>;
|
|
806
|
+
/** Create a currency. Requires `currencies.create` scope. */
|
|
807
|
+
create(data: IfCreate<S['currencies'], CurrencyCreateInput>): Promise<SingleResult<ResolveCurrency<S>>>;
|
|
808
|
+
/**
|
|
809
|
+
* Update a currency (keyed by its ISO code; `code` itself is immutable).
|
|
810
|
+
* Requires `currencies.update` scope.
|
|
811
|
+
*/
|
|
812
|
+
update(code: string, data: IfUpdate<S['currencies'], CurrencyUpdateInput>): Promise<SingleResult<ResolveCurrency<S>>>;
|
|
813
|
+
/** Soft-delete a currency (keyed by its ISO code). Requires `currencies.delete` scope. */
|
|
814
|
+
delete(code: IfDelete<S['currencies'], string>): Promise<SingleResult<null>>;
|
|
426
815
|
}
|
|
427
816
|
|
|
428
817
|
type GenericRateListParams = {
|
|
@@ -435,6 +824,184 @@ declare class GenericRatesAccessor<S extends ScopeDeclaration> {
|
|
|
435
824
|
constructor(transport: NucleusTransport);
|
|
436
825
|
list(params?: GenericRateListParams): Promise<PaginatedResult<ResolveGenericRate<S>>>;
|
|
437
826
|
getById(id: string): Promise<SingleResult<ResolveGenericRate<S>>>;
|
|
827
|
+
/** Create a generic rate. Requires `genericRates.create` scope. */
|
|
828
|
+
create(data: IfCreate<S['genericRates'], GenericRateCreateInput>): Promise<SingleResult<ResolveGenericRate<S>>>;
|
|
829
|
+
/** Update a generic rate. Requires `genericRates.update` scope. */
|
|
830
|
+
update(id: string, data: IfUpdate<S['genericRates'], GenericRateUpdateInput>): Promise<SingleResult<ResolveGenericRate<S>>>;
|
|
831
|
+
/** Soft-delete a generic rate. Requires `genericRates.delete` scope. */
|
|
832
|
+
delete(id: IfDelete<S['genericRates'], string>): Promise<SingleResult<null>>;
|
|
833
|
+
}
|
|
834
|
+
|
|
835
|
+
type JurisdictionListParams = {
|
|
836
|
+
search?: string;
|
|
837
|
+
page?: number;
|
|
838
|
+
pageSize?: number;
|
|
839
|
+
};
|
|
840
|
+
declare class JurisdictionsAccessor<S extends ScopeDeclaration> {
|
|
841
|
+
private readonly transport;
|
|
842
|
+
constructor(transport: NucleusTransport);
|
|
843
|
+
list(params?: JurisdictionListParams): Promise<PaginatedResult<ResolveJurisdiction<S>>>;
|
|
844
|
+
getById(id: string): Promise<SingleResult<ResolveJurisdiction<S>>>;
|
|
845
|
+
/** Create a jurisdiction. Requires `jurisdictions.create` scope. */
|
|
846
|
+
create(data: IfCreate<S['jurisdictions'], JurisdictionCreateInput>): Promise<SingleResult<ResolveJurisdiction<S>>>;
|
|
847
|
+
/** Update a jurisdiction. Requires `jurisdictions.update` scope. */
|
|
848
|
+
update(id: string, data: IfUpdate<S['jurisdictions'], JurisdictionUpdateInput>): Promise<SingleResult<ResolveJurisdiction<S>>>;
|
|
849
|
+
/** Soft-delete a jurisdiction. Requires `jurisdictions.delete` scope. */
|
|
850
|
+
delete(id: IfDelete<S['jurisdictions'], string>): Promise<SingleResult<null>>;
|
|
851
|
+
}
|
|
852
|
+
|
|
853
|
+
type LeaveTypeListParams = {
|
|
854
|
+
search?: string;
|
|
855
|
+
page?: number;
|
|
856
|
+
pageSize?: number;
|
|
857
|
+
};
|
|
858
|
+
declare class LeaveTypesAccessor<S extends ScopeDeclaration> {
|
|
859
|
+
private readonly transport;
|
|
860
|
+
constructor(transport: NucleusTransport);
|
|
861
|
+
list(params?: LeaveTypeListParams): Promise<PaginatedResult<ResolveLeaveType<S>>>;
|
|
862
|
+
getById(id: string): Promise<SingleResult<ResolveLeaveType<S>>>;
|
|
863
|
+
/** Create a leave type. Requires `leaveTypes.create` scope. */
|
|
864
|
+
create(data: IfCreate<S['leaveTypes'], LeaveTypeCreateInput>): Promise<SingleResult<ResolveLeaveType<S>>>;
|
|
865
|
+
/** Update a leave type. Requires `leaveTypes.update` scope. */
|
|
866
|
+
update(id: string, data: IfUpdate<S['leaveTypes'], LeaveTypeUpdateInput>): Promise<SingleResult<ResolveLeaveType<S>>>;
|
|
867
|
+
/** Soft-delete a leave type. Requires `leaveTypes.delete` scope. */
|
|
868
|
+
delete(id: IfDelete<S['leaveTypes'], string>): Promise<SingleResult<null>>;
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
type LeaveListParams = {
|
|
872
|
+
employeeId?: string;
|
|
873
|
+
leaveTypeId?: string;
|
|
874
|
+
status?: string;
|
|
875
|
+
page?: number;
|
|
876
|
+
pageSize?: number;
|
|
877
|
+
expand?: readonly LeaveExpandPath[];
|
|
878
|
+
};
|
|
879
|
+
declare class LeavesAccessor<S extends ScopeDeclaration> {
|
|
880
|
+
private readonly transport;
|
|
881
|
+
constructor(transport: NucleusTransport);
|
|
882
|
+
list<E extends readonly LeaveExpandPath[] = never[]>(params?: LeaveListParams & {
|
|
883
|
+
expand?: E;
|
|
884
|
+
}): Promise<PaginatedResult<WithLeaveExpand<ResolveLeave<S>, E, S>>>;
|
|
885
|
+
getById<E extends readonly LeaveExpandPath[] = never[]>(id: string, options?: {
|
|
886
|
+
expand?: E;
|
|
887
|
+
}): Promise<SingleResult<WithLeaveExpand<ResolveLeave<S>, E, S>>>;
|
|
888
|
+
/** Create a leave record. Requires `leaves.create` scope. */
|
|
889
|
+
create(data: IfCreate<S['leaves'], LeaveCreateInput>): Promise<SingleResult<ResolveLeave<S>>>;
|
|
890
|
+
/** Update a leave record. Requires `leaves.update` scope. */
|
|
891
|
+
update(id: string, data: IfUpdate<S['leaves'], LeaveUpdateInput>): Promise<SingleResult<ResolveLeave<S>>>;
|
|
892
|
+
/** Soft-delete a leave record. Requires `leaves.delete` scope. */
|
|
893
|
+
delete(id: IfDelete<S['leaves'], string>): Promise<SingleResult<null>>;
|
|
894
|
+
}
|
|
895
|
+
|
|
896
|
+
type LeaveBalanceListParams = {
|
|
897
|
+
employeeId?: string;
|
|
898
|
+
leaveTypeId?: string;
|
|
899
|
+
year?: number;
|
|
900
|
+
page?: number;
|
|
901
|
+
pageSize?: number;
|
|
902
|
+
expand?: readonly LeaveBalanceExpandPath[];
|
|
903
|
+
};
|
|
904
|
+
declare class LeaveBalancesAccessor<S extends ScopeDeclaration> {
|
|
905
|
+
private readonly transport;
|
|
906
|
+
constructor(transport: NucleusTransport);
|
|
907
|
+
list<E extends readonly LeaveBalanceExpandPath[] = never[]>(params?: LeaveBalanceListParams & {
|
|
908
|
+
expand?: E;
|
|
909
|
+
}): Promise<PaginatedResult<WithLeaveBalanceExpand<ResolveLeaveBalance<S>, E, S>>>;
|
|
910
|
+
getById<E extends readonly LeaveBalanceExpandPath[] = never[]>(id: string, options?: {
|
|
911
|
+
expand?: E;
|
|
912
|
+
}): Promise<SingleResult<WithLeaveBalanceExpand<ResolveLeaveBalance<S>, E, S>>>;
|
|
913
|
+
/** Create a leave balance. Requires `leaveBalances.create` scope. */
|
|
914
|
+
create(data: IfCreate<S['leaveBalances'], LeaveBalanceCreateInput>): Promise<SingleResult<ResolveLeaveBalance<S>>>;
|
|
915
|
+
/** Update a leave balance. Requires `leaveBalances.update` scope. */
|
|
916
|
+
update(id: string, data: IfUpdate<S['leaveBalances'], LeaveBalanceUpdateInput>): Promise<SingleResult<ResolveLeaveBalance<S>>>;
|
|
917
|
+
/** Soft-delete a leave balance. Requires `leaveBalances.delete` scope. */
|
|
918
|
+
delete(id: IfDelete<S['leaveBalances'], string>): Promise<SingleResult<null>>;
|
|
919
|
+
}
|
|
920
|
+
|
|
921
|
+
type PolicyListParams = {
|
|
922
|
+
search?: string;
|
|
923
|
+
category?: string;
|
|
924
|
+
page?: number;
|
|
925
|
+
pageSize?: number;
|
|
926
|
+
};
|
|
927
|
+
declare class PoliciesAccessor<S extends ScopeDeclaration> {
|
|
928
|
+
private readonly transport;
|
|
929
|
+
constructor(transport: NucleusTransport);
|
|
930
|
+
list(params?: PolicyListParams): Promise<PaginatedResult<ResolvePolicy<S>>>;
|
|
931
|
+
getById(id: string): Promise<SingleResult<ResolvePolicy<S>>>;
|
|
932
|
+
/** Create a policy. Requires `policies.create` scope. */
|
|
933
|
+
create(data: IfCreate<S['policies'], PolicyCreateInput>): Promise<SingleResult<ResolvePolicy<S>>>;
|
|
934
|
+
/** Update a policy. Requires `policies.update` scope. */
|
|
935
|
+
update(id: string, data: IfUpdate<S['policies'], PolicyUpdateInput>): Promise<SingleResult<ResolvePolicy<S>>>;
|
|
936
|
+
/** Soft-delete a policy. Requires `policies.delete` scope. */
|
|
937
|
+
delete(id: IfDelete<S['policies'], string>): Promise<SingleResult<null>>;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
type PolicyAcknowledgementListParams = {
|
|
941
|
+
policyId?: string;
|
|
942
|
+
employeeId?: string;
|
|
943
|
+
page?: number;
|
|
944
|
+
pageSize?: number;
|
|
945
|
+
expand?: readonly PolicyAcknowledgementExpandPath[];
|
|
946
|
+
};
|
|
947
|
+
declare class PolicyAcknowledgementsAccessor<S extends ScopeDeclaration> {
|
|
948
|
+
private readonly transport;
|
|
949
|
+
constructor(transport: NucleusTransport);
|
|
950
|
+
list<E extends readonly PolicyAcknowledgementExpandPath[] = never[]>(params?: PolicyAcknowledgementListParams & {
|
|
951
|
+
expand?: E;
|
|
952
|
+
}): Promise<PaginatedResult<WithPolicyAcknowledgementExpand<ResolvePolicyAcknowledgement<S>, E, S>>>;
|
|
953
|
+
getById<E extends readonly PolicyAcknowledgementExpandPath[] = never[]>(id: string, options?: {
|
|
954
|
+
expand?: E;
|
|
955
|
+
}): Promise<SingleResult<WithPolicyAcknowledgementExpand<ResolvePolicyAcknowledgement<S>, E, S>>>;
|
|
956
|
+
/** Create a policy acknowledgement. Requires `policyAcknowledgements.create` scope. */
|
|
957
|
+
create(data: IfCreate<S['policyAcknowledgements'], PolicyAcknowledgementCreateInput>): Promise<SingleResult<ResolvePolicyAcknowledgement<S>>>;
|
|
958
|
+
/** Update a policy acknowledgement. Requires `policyAcknowledgements.update` scope. */
|
|
959
|
+
update(id: string, data: IfUpdate<S['policyAcknowledgements'], PolicyAcknowledgementUpdateInput>): Promise<SingleResult<ResolvePolicyAcknowledgement<S>>>;
|
|
960
|
+
/** Soft-delete a policy acknowledgement. Requires `policyAcknowledgements.delete` scope. */
|
|
961
|
+
delete(id: IfDelete<S['policyAcknowledgements'], string>): Promise<SingleResult<null>>;
|
|
962
|
+
}
|
|
963
|
+
|
|
964
|
+
type CalendarEventListParams = {
|
|
965
|
+
search?: string;
|
|
966
|
+
type?: string;
|
|
967
|
+
page?: number;
|
|
968
|
+
pageSize?: number;
|
|
969
|
+
};
|
|
970
|
+
declare class CalendarEventsAccessor<S extends ScopeDeclaration> {
|
|
971
|
+
private readonly transport;
|
|
972
|
+
constructor(transport: NucleusTransport);
|
|
973
|
+
list(params?: CalendarEventListParams): Promise<PaginatedResult<ResolveCalendarEvent<S>>>;
|
|
974
|
+
getById(id: string): Promise<SingleResult<ResolveCalendarEvent<S>>>;
|
|
975
|
+
/** Create a calendar event. Requires `calendarEvents.create` scope. */
|
|
976
|
+
create(data: IfCreate<S['calendarEvents'], CalendarEventCreateInput>): Promise<SingleResult<ResolveCalendarEvent<S>>>;
|
|
977
|
+
/** Update a calendar event. Requires `calendarEvents.update` scope. */
|
|
978
|
+
update(id: string, data: IfUpdate<S['calendarEvents'], CalendarEventUpdateInput>): Promise<SingleResult<ResolveCalendarEvent<S>>>;
|
|
979
|
+
/** Soft-delete a calendar event. Requires `calendarEvents.delete` scope. */
|
|
980
|
+
delete(id: IfDelete<S['calendarEvents'], string>): Promise<SingleResult<null>>;
|
|
981
|
+
}
|
|
982
|
+
|
|
983
|
+
type TimesheetListParams = {
|
|
984
|
+
employeeId?: string;
|
|
985
|
+
projectId?: string;
|
|
986
|
+
page?: number;
|
|
987
|
+
pageSize?: number;
|
|
988
|
+
expand?: readonly TimesheetExpandPath[];
|
|
989
|
+
};
|
|
990
|
+
declare class TimesheetsAccessor<S extends ScopeDeclaration> {
|
|
991
|
+
private readonly transport;
|
|
992
|
+
constructor(transport: NucleusTransport);
|
|
993
|
+
list<E extends readonly TimesheetExpandPath[] = never[]>(params?: TimesheetListParams & {
|
|
994
|
+
expand?: E;
|
|
995
|
+
}): Promise<PaginatedResult<WithTimesheetExpand<ResolveTimesheet<S>, E, S>>>;
|
|
996
|
+
getById<E extends readonly TimesheetExpandPath[] = never[]>(id: string, options?: {
|
|
997
|
+
expand?: E;
|
|
998
|
+
}): Promise<SingleResult<WithTimesheetExpand<ResolveTimesheet<S>, E, S>>>;
|
|
999
|
+
/** Create a timesheet entry. Requires `timesheets.create` scope. */
|
|
1000
|
+
create(data: IfCreate<S['timesheets'], TimesheetCreateInput>): Promise<SingleResult<ResolveTimesheet<S>>>;
|
|
1001
|
+
/** Update a timesheet entry. Requires `timesheets.update` scope. */
|
|
1002
|
+
update(id: string, data: IfUpdate<S['timesheets'], TimesheetUpdateInput>): Promise<SingleResult<ResolveTimesheet<S>>>;
|
|
1003
|
+
/** Soft-delete a timesheet entry. Requires `timesheets.delete` scope. */
|
|
1004
|
+
delete(id: IfDelete<S['timesheets'], string>): Promise<SingleResult<null>>;
|
|
438
1005
|
}
|
|
439
1006
|
|
|
440
1007
|
/**
|
|
@@ -566,9 +1133,9 @@ type NucleusClientConfig<S extends ScopeDeclaration> = {
|
|
|
566
1133
|
* export const nucleus = new NucleusClient({
|
|
567
1134
|
* token: process.env.NUCLEUS_TOKEN!,
|
|
568
1135
|
* scopes: {
|
|
569
|
-
* employees: ['identity', 'employment'],
|
|
570
|
-
* projects: ['core'],
|
|
571
|
-
*
|
|
1136
|
+
* employees: { read: ['identity', 'employment'], update: ['contact'] },
|
|
1137
|
+
* projects: { read: ['core'] },
|
|
1138
|
+
* leaves: { read: ['core'], create: ['core'], delete: true },
|
|
572
1139
|
* },
|
|
573
1140
|
* });
|
|
574
1141
|
* ```
|
|
@@ -586,6 +1153,14 @@ declare class NucleusClient<const S extends ScopeDeclaration> {
|
|
|
586
1153
|
readonly projectTypes: ProjectTypesAccessor<S>;
|
|
587
1154
|
readonly currencies: CurrenciesAccessor<S>;
|
|
588
1155
|
readonly genericRates: GenericRatesAccessor<S>;
|
|
1156
|
+
readonly jurisdictions: JurisdictionsAccessor<S>;
|
|
1157
|
+
readonly leaveTypes: LeaveTypesAccessor<S>;
|
|
1158
|
+
readonly leaves: LeavesAccessor<S>;
|
|
1159
|
+
readonly leaveBalances: LeaveBalancesAccessor<S>;
|
|
1160
|
+
readonly policies: PoliciesAccessor<S>;
|
|
1161
|
+
readonly policyAcknowledgements: PolicyAcknowledgementsAccessor<S>;
|
|
1162
|
+
readonly calendarEvents: CalendarEventsAccessor<S>;
|
|
1163
|
+
readonly timesheets: TimesheetsAccessor<S>;
|
|
589
1164
|
readonly apps: AppsAccessor;
|
|
590
1165
|
readonly files: FilesAccessor;
|
|
591
1166
|
readonly auth: AuthAccessor;
|
|
@@ -593,5 +1168,5 @@ declare class NucleusClient<const S extends ScopeDeclaration> {
|
|
|
593
1168
|
}
|
|
594
1169
|
|
|
595
1170
|
export { FilesAccessor, NucleusClient, isError };
|
|
596
|
-
export type { AppInfo, AppScopeInfo, ClientContact, ClientExpandPath, ClientFinancials, ClientIdentity, ClientNotes, CurrencyCore, DepartmentCore, EmployeeCompensation, EmployeeCompensationHistory, EmployeeContact, EmployeeEmployment, EmployeeExpandPath, EmployeeIdentity, EmployeeSensitive, ErrorCode, ErrorResult, ListParams as FileListParams, FileRecord, FileUrlResult, FileVisibility, GenericRateCore, GenericRateFinancials, GetUrlOptions, ListMeta, ListResult, NucleusClientConfig, PaginatedResult, PartnerContact, PartnerExpandPath, PartnerIdentity, PartnerNotes, ProjectCore, ProjectExpandPath, ProjectFinancials, ProjectIntegrations, ProjectMembership, ProjectTeam, ProjectTypeCore, ResolveClient, ResolveCurrency, ResolveDepartment, ResolveEmployee, ResolveGenericRate, ResolvePartner, ResolveProject, ResolveProjectType, ScopeDeclaration, SingleResult, SuccessResult, UploadParams, VerifiedToken, WithClientExpand, WithEmployeeExpand, WithPartnerExpand, WithProjectExpand };
|
|
1171
|
+
export type { AppInfo, AppPermissionInfo, AppScopeInfo, CalendarEventCore, ClientContact, ClientExpandPath, ClientFinancials, ClientIdentity, ClientNotes, CurrencyCore, DepartmentCore, EmployeeCompensation, EmployeeCompensationHistory, EmployeeContact, EmployeeEmployment, EmployeeExpandPath, EmployeeIdentity, EmployeeSensitive, ErrorCode, ErrorResult, ListParams as FileListParams, FileRecord, FileUrlResult, FileVisibility, GenericRateCore, GenericRateFinancials, GetUrlOptions, JurisdictionCore, LeaveBalanceCore, LeaveBalanceExpandPath, LeaveCore, LeaveDetails, LeaveExpandPath, LeaveTypeCore, ListMeta, ListResult, NucleusClientConfig, PaginatedResult, PartnerContact, PartnerExpandPath, PartnerIdentity, PartnerNotes, PolicyAcknowledgementCore, PolicyAcknowledgementExpandPath, PolicyContent, PolicyCore, ProjectCore, ProjectExpandPath, ProjectFinancials, ProjectIntegrations, ProjectMembership, ProjectTeam, ProjectTypeCore, ResolveCalendarEvent, ResolveClient, ResolveCurrency, ResolveDepartment, ResolveEmployee, ResolveGenericRate, ResolveJurisdiction, ResolveLeave, ResolveLeaveBalance, ResolveLeaveType, ResolvePartner, ResolvePolicy, ResolvePolicyAcknowledgement, ResolveProject, ResolveProjectType, ResolveTimesheet, ScopeDeclaration, SingleResult, SuccessResult, TimesheetCore, TimesheetDetails, TimesheetExpandPath, TimesheetIntegrations, UploadParams, VerifiedToken, WithClientExpand, WithEmployeeExpand, WithLeaveBalanceExpand, WithLeaveExpand, WithPartnerExpand, WithPolicyAcknowledgementExpand, WithProjectExpand, WithTimesheetExpand };
|
|
597
1172
|
//# sourceMappingURL=index.d.cts.map
|