rotacloud 1.0.30 → 1.0.32
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 +27 -1
- package/dist/cjs/interfaces/{day-notes.interface.d.ts → day-note.interface.d.ts} +1 -1
- package/dist/cjs/interfaces/{day-notes.interface.js → day-note.interface.js} +0 -0
- package/dist/cjs/interfaces/index.d.ts +3 -2
- package/dist/cjs/interfaces/index.js +3 -2
- package/dist/cjs/interfaces/query-params/day-notes-query-params.interface.d.ts +2 -2
- package/dist/cjs/interfaces/query-params/index.d.ts +1 -0
- package/dist/cjs/interfaces/query-params/index.js +1 -0
- package/dist/cjs/interfaces/query-params/settings-query-params.interface.d.ts +3 -0
- package/dist/cjs/interfaces/query-params/settings-query-params.interface.js +2 -0
- package/dist/cjs/interfaces/query-params/shifts-query-params.interface.d.ts +2 -2
- package/dist/cjs/interfaces/sdk-config.interface.d.ts +2 -0
- package/dist/cjs/interfaces/settings.interface.d.ts +64 -0
- package/dist/cjs/interfaces/settings.interface.js +2 -0
- package/dist/cjs/models/{day-notes.model.d.ts → day-note.model.d.ts} +3 -3
- package/dist/cjs/models/day-note.model.js +14 -0
- package/dist/cjs/models/settings.model.d.ts +2 -6
- package/dist/cjs/models/settings.model.js +3 -0
- package/dist/cjs/rotacloud.d.ts +6 -2
- package/dist/cjs/rotacloud.js +12 -6
- package/dist/cjs/services/accounts.service.js +11 -16
- package/dist/cjs/services/attendance.service.js +11 -16
- package/dist/cjs/services/daily-budgets.service.js +11 -16
- package/dist/cjs/services/daily-revenue.service.js +11 -16
- package/dist/cjs/services/day-notes.service.d.ts +31 -0
- package/dist/cjs/services/day-notes.service.js +103 -0
- package/dist/cjs/services/days-off.service.js +11 -16
- package/dist/cjs/services/groups.service.d.ts +3 -3
- package/dist/cjs/services/groups.service.js +11 -16
- package/dist/cjs/services/index.d.ts +1 -0
- package/dist/cjs/services/index.js +1 -0
- package/dist/cjs/services/leave-embargoes.service.js +11 -16
- package/dist/cjs/services/leave-request.service.d.ts +3 -3
- package/dist/cjs/services/leave-request.service.js +13 -18
- package/dist/cjs/services/leave.service.js +11 -16
- package/dist/cjs/services/locations.service.d.ts +3 -3
- package/dist/cjs/services/locations.service.js +11 -16
- package/dist/cjs/services/roles.service.d.ts +3 -3
- package/dist/cjs/services/roles.service.js +11 -16
- package/dist/cjs/services/service.d.ts +19 -1
- package/dist/cjs/services/service.js +38 -3
- package/dist/cjs/services/settings.service.d.ts +14 -0
- package/dist/cjs/services/settings.service.js +16 -0
- package/dist/cjs/services/shifts.service.js +11 -16
- package/dist/cjs/services/users.service.js +11 -16
- package/dist/cjs/version.js +1 -1
- package/dist/mjs/interfaces/{day-notes.interface.d.ts → day-note.interface.d.ts} +1 -1
- package/dist/mjs/interfaces/{day-notes.interface.js → day-note.interface.js} +0 -0
- package/dist/mjs/interfaces/index.d.ts +3 -2
- package/dist/mjs/interfaces/index.js +3 -2
- package/dist/mjs/interfaces/query-params/day-notes-query-params.interface.d.ts +2 -2
- package/dist/mjs/interfaces/query-params/index.d.ts +1 -0
- package/dist/mjs/interfaces/query-params/index.js +1 -0
- package/dist/mjs/interfaces/query-params/settings-query-params.interface.d.ts +3 -0
- package/dist/mjs/interfaces/query-params/settings-query-params.interface.js +1 -0
- package/dist/mjs/interfaces/query-params/shifts-query-params.interface.d.ts +2 -2
- package/dist/mjs/interfaces/sdk-config.interface.d.ts +2 -0
- package/dist/mjs/interfaces/settings.interface.d.ts +64 -0
- package/dist/mjs/interfaces/settings.interface.js +1 -0
- package/dist/mjs/models/{day-notes.model.d.ts → day-note.model.d.ts} +3 -3
- package/dist/mjs/models/day-note.model.js +10 -0
- package/dist/mjs/models/settings.model.d.ts +2 -6
- package/dist/mjs/models/settings.model.js +3 -0
- package/dist/mjs/rotacloud.d.ts +6 -2
- package/dist/mjs/rotacloud.js +14 -6
- package/dist/mjs/services/accounts.service.js +4 -9
- package/dist/mjs/services/attendance.service.js +4 -9
- package/dist/mjs/services/daily-budgets.service.js +4 -9
- package/dist/mjs/services/daily-revenue.service.js +4 -9
- package/dist/mjs/services/day-notes.service.d.ts +31 -0
- package/dist/mjs/services/day-notes.service.js +42 -0
- package/dist/mjs/services/days-off.service.js +4 -9
- package/dist/mjs/services/groups.service.d.ts +3 -3
- package/dist/mjs/services/groups.service.js +4 -9
- package/dist/mjs/services/index.d.ts +1 -0
- package/dist/mjs/services/index.js +1 -0
- package/dist/mjs/services/leave-embargoes.service.js +4 -9
- package/dist/mjs/services/leave-request.service.d.ts +3 -3
- package/dist/mjs/services/leave-request.service.js +6 -11
- package/dist/mjs/services/leave.service.js +4 -9
- package/dist/mjs/services/locations.service.d.ts +3 -3
- package/dist/mjs/services/locations.service.js +4 -9
- package/dist/mjs/services/roles.service.d.ts +3 -3
- package/dist/mjs/services/roles.service.js +4 -9
- package/dist/mjs/services/service.d.ts +19 -1
- package/dist/mjs/services/service.js +37 -2
- package/dist/mjs/services/settings.service.d.ts +14 -0
- package/dist/mjs/services/settings.service.js +13 -0
- package/dist/mjs/services/shifts.service.js +4 -9
- package/dist/mjs/services/users.service.js +4 -9
- package/dist/mjs/version.js +1 -1
- package/package.json +2 -1
- package/src/interfaces/{day-notes.interface.ts → day-note.interface.ts} +1 -1
- package/src/interfaces/index.ts +3 -2
- package/src/interfaces/query-params/day-notes-query-params.interface.ts +2 -2
- package/src/interfaces/query-params/index.ts +1 -0
- package/src/interfaces/query-params/settings-query-params.interface.ts +3 -0
- package/src/interfaces/query-params/shifts-query-params.interface.ts +2 -2
- package/src/interfaces/sdk-config.interface.ts +3 -0
- package/src/interfaces/settings.interface.ts +63 -0
- package/src/models/day-note.model.ts +19 -0
- package/src/models/settings.model.ts +5 -3
- package/src/rotacloud.ts +16 -5
- package/src/services/accounts.service.ts +4 -8
- package/src/services/attendance.service.ts +4 -8
- package/src/services/daily-budgets.service.ts +4 -8
- package/src/services/daily-revenue.service.ts +4 -8
- package/src/services/day-notes.service.ts +81 -0
- package/src/services/days-off.service.ts +4 -8
- package/src/services/groups.service.ts +7 -11
- package/src/services/index.ts +1 -0
- package/src/services/leave-embargoes.service.ts +4 -8
- package/src/services/leave-request.service.ts +8 -12
- package/src/services/leave.service.ts +4 -8
- package/src/services/locations.service.ts +7 -11
- package/src/services/roles.service.ts +7 -11
- package/src/services/service.ts +57 -3
- package/src/services/settings.service.ts +23 -0
- package/src/services/shifts.service.ts +4 -8
- package/src/services/users.service.ts +4 -8
- package/src/version.ts +1 -1
- package/dist/cjs/models/day-notes.model.js +0 -9
- package/dist/mjs/models/day-notes.model.js +0 -5
- package/src/models/day-notes.model.ts +0 -14
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
export interface PayCodes {
|
|
2
|
+
[pay_code_id: string]: string | {
|
|
3
|
+
[leave_type_id: string]: string;
|
|
4
|
+
};
|
|
5
|
+
}
|
|
6
|
+
export interface ApiSettings {
|
|
7
|
+
attendance_record_breaks: string;
|
|
8
|
+
automatically_clock_in_to_consecutive_shifts: boolean;
|
|
9
|
+
availability_employees_can_edit: boolean;
|
|
10
|
+
availability_managers_can_edit: boolean;
|
|
11
|
+
breaks_paid: boolean;
|
|
12
|
+
clock_in_out_reminders_minutes: number;
|
|
13
|
+
clock_in_without_shift_allowed: string;
|
|
14
|
+
currency_symbol: string;
|
|
15
|
+
dashboard_show_unpublished_shifts: boolean;
|
|
16
|
+
early_clock_ins_paid_from: string;
|
|
17
|
+
early_clock_in_minutes: number;
|
|
18
|
+
employee_shift_note_visibility: string;
|
|
19
|
+
employees_can_edit_timesheets: boolean;
|
|
20
|
+
employees_can_only_see_self: boolean;
|
|
21
|
+
employees_can_see_all_locations: boolean;
|
|
22
|
+
employees_can_see_everyones_leave: boolean;
|
|
23
|
+
flag_in_out_discrepancies_minutes: number;
|
|
24
|
+
holiday_accrual_rate: number;
|
|
25
|
+
late_clock_outs_paid_until: string;
|
|
26
|
+
lateness_added_after_minutes: number;
|
|
27
|
+
leave_can_request_over_allowance: boolean;
|
|
28
|
+
leave_prorate_allowances: boolean;
|
|
29
|
+
leave_requests_enabled: boolean;
|
|
30
|
+
leave_requests_notice_days: number;
|
|
31
|
+
leave_year_start_day: number;
|
|
32
|
+
leave_year_start_month: number;
|
|
33
|
+
metadata_enabled: boolean;
|
|
34
|
+
mobile_clocking_enabled: boolean;
|
|
35
|
+
no_show_notifications_minutes: number;
|
|
36
|
+
open_shift_claiming_enabled: boolean;
|
|
37
|
+
public_holiday_affects_allowance: boolean;
|
|
38
|
+
reminders_enabled: boolean;
|
|
39
|
+
rota_grouping: string;
|
|
40
|
+
rota_salaried_cost_method: string;
|
|
41
|
+
rota_show_employee_photos: boolean;
|
|
42
|
+
round_breaks: string;
|
|
43
|
+
round_breaks_direction: string;
|
|
44
|
+
round_currency: string;
|
|
45
|
+
round_currency_direction: string;
|
|
46
|
+
round_hours: string;
|
|
47
|
+
round_hours_direction: string;
|
|
48
|
+
shift_acknowledgement_enabled: boolean;
|
|
49
|
+
shift_swaps_across_locations_enabled: boolean;
|
|
50
|
+
shift_swaps_enabled: boolean;
|
|
51
|
+
shift_swaps_notice_hours: number;
|
|
52
|
+
shift_swaps_require_approval: boolean;
|
|
53
|
+
shift_swaps_shift_range_days: number;
|
|
54
|
+
show_open_shifts_from_other_locations: boolean;
|
|
55
|
+
show_shifts_from_other_locations: boolean;
|
|
56
|
+
time_format: string;
|
|
57
|
+
unavailability_notice_hours: number;
|
|
58
|
+
unavailability_requests_enabled: boolean;
|
|
59
|
+
unpaid_leave_types_included_in_accrual: number[];
|
|
60
|
+
paid_leave_types_included_in_accrual: number[];
|
|
61
|
+
week_starts: string;
|
|
62
|
+
pay_codes: PayCodes;
|
|
63
|
+
webhook_signing_secret: string;
|
|
64
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class
|
|
1
|
+
import { ApiDayNote } from '../interfaces/index.js';
|
|
2
|
+
export declare class DayNote {
|
|
3
3
|
id: number;
|
|
4
4
|
start_date: string;
|
|
5
5
|
end_date: string;
|
|
6
6
|
locations: number[];
|
|
7
7
|
title: string;
|
|
8
8
|
message: string;
|
|
9
|
-
constructor(
|
|
9
|
+
constructor(dayNote: ApiDayNote);
|
|
10
10
|
}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
[pay_code_id: string]: string | {
|
|
3
|
-
[leave_type_id: string]: string;
|
|
4
|
-
};
|
|
5
|
-
}
|
|
1
|
+
import { ApiSettings, PayCodes } from '../interfaces';
|
|
6
2
|
export declare class Settings {
|
|
7
3
|
attendance_record_breaks: string;
|
|
8
4
|
automatically_clock_in_to_consecutive_shifts: boolean;
|
|
@@ -61,5 +57,5 @@ export declare class Settings {
|
|
|
61
57
|
week_starts: string;
|
|
62
58
|
pay_codes: PayCodes;
|
|
63
59
|
webhook_signing_secret: string;
|
|
60
|
+
constructor(settings: ApiSettings);
|
|
64
61
|
}
|
|
65
|
-
export {};
|
package/dist/mjs/rotacloud.d.ts
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RolesService, ShiftsService, UsersService } from './services/index.js';
|
|
1
|
+
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RolesService, SettingsService, ShiftsService, UsersService } from './services/index.js';
|
|
2
2
|
import { SDKConfig } from './interfaces/index.js';
|
|
3
|
+
import { DayNotesService } from './services/day-notes.service.js';
|
|
3
4
|
export declare class RotaCloud {
|
|
4
5
|
static config: SDKConfig;
|
|
5
|
-
defaultAPIURI: string;
|
|
6
|
+
defaultAPIURI: string | undefined;
|
|
6
7
|
accounts: AccountsService;
|
|
7
8
|
attendance: AttendanceService;
|
|
8
9
|
auth: AuthService;
|
|
9
10
|
availability: AvailabilityService;
|
|
10
11
|
dailyBudgets: DailyBudgetsService;
|
|
11
12
|
dailyRevenue: DailyRevenueService;
|
|
13
|
+
dayNotes: DayNotesService;
|
|
12
14
|
daysOff: DaysOffService;
|
|
13
15
|
group: GroupsService;
|
|
14
16
|
leaveEmbargoes: LeaveEmbargoesService;
|
|
@@ -16,11 +18,13 @@ export declare class RotaCloud {
|
|
|
16
18
|
leave: LeaveService;
|
|
17
19
|
locations: LocationsService;
|
|
18
20
|
roles: RolesService;
|
|
21
|
+
settings: SettingsService;
|
|
19
22
|
shifts: ShiftsService;
|
|
20
23
|
users: UsersService;
|
|
21
24
|
constructor(config: SDKConfig);
|
|
22
25
|
get config(): SDKConfig;
|
|
23
26
|
set config(configVal: SDKConfig);
|
|
24
27
|
}
|
|
28
|
+
export { RetryStrategy, RetryOptions } from './services/service.js';
|
|
25
29
|
export * from './interfaces/index.js';
|
|
26
30
|
export * from './interfaces/query-params/index.js';
|
package/dist/mjs/rotacloud.js
CHANGED
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RolesService, ShiftsService, UsersService, } from './services/index.js';
|
|
1
|
+
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RetryStrategy, RolesService, SettingsService, ShiftsService, UsersService, } from './services/index.js';
|
|
2
|
+
import { DayNotesService } from './services/day-notes.service.js';
|
|
3
|
+
const DEFAULT_CONFIG = {
|
|
4
|
+
baseUri: 'https://api.rotacloud.com/v1',
|
|
5
|
+
retry: RetryStrategy.Exponential,
|
|
6
|
+
};
|
|
2
7
|
export class RotaCloud {
|
|
3
8
|
constructor(config) {
|
|
4
|
-
this.defaultAPIURI =
|
|
9
|
+
this.defaultAPIURI = DEFAULT_CONFIG.baseUri;
|
|
5
10
|
this.accounts = new AccountsService();
|
|
6
11
|
this.attendance = new AttendanceService();
|
|
7
12
|
this.auth = new AuthService();
|
|
8
13
|
this.availability = new AvailabilityService();
|
|
9
14
|
this.dailyBudgets = new DailyBudgetsService();
|
|
10
15
|
this.dailyRevenue = new DailyRevenueService();
|
|
16
|
+
this.dayNotes = new DayNotesService();
|
|
11
17
|
this.daysOff = new DaysOffService();
|
|
12
18
|
this.group = new GroupsService();
|
|
13
19
|
this.leaveEmbargoes = new LeaveEmbargoesService();
|
|
@@ -15,12 +21,13 @@ export class RotaCloud {
|
|
|
15
21
|
this.leave = new LeaveService();
|
|
16
22
|
this.locations = new LocationsService();
|
|
17
23
|
this.roles = new RolesService();
|
|
24
|
+
this.settings = new SettingsService();
|
|
18
25
|
this.shifts = new ShiftsService();
|
|
19
26
|
this.users = new UsersService();
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
27
|
+
this.config = {
|
|
28
|
+
...DEFAULT_CONFIG,
|
|
29
|
+
...config,
|
|
30
|
+
};
|
|
24
31
|
}
|
|
25
32
|
get config() {
|
|
26
33
|
return RotaCloud.config;
|
|
@@ -29,5 +36,6 @@ export class RotaCloud {
|
|
|
29
36
|
RotaCloud.config = configVal;
|
|
30
37
|
}
|
|
31
38
|
}
|
|
39
|
+
export { RetryStrategy } from './services/service.js';
|
|
32
40
|
export * from './interfaces/index.js';
|
|
33
41
|
export * from './interfaces/query-params/index.js';
|
|
@@ -15,16 +15,11 @@ class AccountsService extends Service {
|
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
17
|
async listAll(options) {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
accounts.push(account);
|
|
22
|
-
}
|
|
23
|
-
return accounts;
|
|
24
|
-
}
|
|
25
|
-
catch (err) {
|
|
26
|
-
return err;
|
|
18
|
+
const accounts = [];
|
|
19
|
+
for await (const account of this.list(options)) {
|
|
20
|
+
accounts.push(account);
|
|
27
21
|
}
|
|
22
|
+
return accounts;
|
|
28
23
|
}
|
|
29
24
|
listByPage(options) {
|
|
30
25
|
return super.iterator({ url: this.apiPath }, options).byPage();
|
|
@@ -18,16 +18,11 @@ export class AttendanceService extends Service {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
async listAll(query, options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
attendance.push(atten);
|
|
25
|
-
}
|
|
26
|
-
return attendance;
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
return err;
|
|
21
|
+
const attendance = [];
|
|
22
|
+
for await (const atten of this.list(query, options)) {
|
|
23
|
+
attendance.push(atten);
|
|
30
24
|
}
|
|
25
|
+
return attendance;
|
|
31
26
|
}
|
|
32
27
|
listByPage(query, options) {
|
|
33
28
|
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
@@ -12,16 +12,11 @@ export class DailyBudgetsService extends Service {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
async listAll(query, options) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
attendance.push(atten);
|
|
19
|
-
}
|
|
20
|
-
return attendance;
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
return err;
|
|
15
|
+
const attendance = [];
|
|
16
|
+
for await (const atten of this.list(query, options)) {
|
|
17
|
+
attendance.push(atten);
|
|
24
18
|
}
|
|
19
|
+
return attendance;
|
|
25
20
|
}
|
|
26
21
|
listByPage(query, options) {
|
|
27
22
|
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
@@ -12,16 +12,11 @@ export class DailyRevenueService extends Service {
|
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
14
|
async listAll(query, options) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
attendance.push(atten);
|
|
19
|
-
}
|
|
20
|
-
return attendance;
|
|
21
|
-
}
|
|
22
|
-
catch (err) {
|
|
23
|
-
return err;
|
|
15
|
+
const attendance = [];
|
|
16
|
+
for await (const atten of this.list(query, options)) {
|
|
17
|
+
attendance.push(atten);
|
|
24
18
|
}
|
|
19
|
+
return attendance;
|
|
25
20
|
}
|
|
26
21
|
listByPage(query, options) {
|
|
27
22
|
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
2
|
+
import { ApiDayNote } from '../interfaces/index.js';
|
|
3
|
+
import { Service, Options } from './index.js';
|
|
4
|
+
import { DayNote } from '../models/day-note.model.js';
|
|
5
|
+
import { DayNotesQueryParams } from '../interfaces/query-params/day-notes-query-params.interface';
|
|
6
|
+
export declare class DayNotesService extends Service {
|
|
7
|
+
private apiPath;
|
|
8
|
+
create(data: ApiDayNote): Promise<DayNote>;
|
|
9
|
+
create(data: ApiDayNote, options: {
|
|
10
|
+
rawResponse: true;
|
|
11
|
+
} & Options): Promise<AxiosResponse<ApiDayNote, any>>;
|
|
12
|
+
create(data: ApiDayNote, options: Options): Promise<DayNote>;
|
|
13
|
+
get(id: number): Promise<DayNote>;
|
|
14
|
+
get(id: number, options: {
|
|
15
|
+
rawResponse: true;
|
|
16
|
+
} & Options): Promise<AxiosResponse<ApiDayNote, any>>;
|
|
17
|
+
get(id: number, options: Options): Promise<DayNote>;
|
|
18
|
+
list(query: DayNotesQueryParams, options?: Options): AsyncGenerator<DayNote, void, unknown>;
|
|
19
|
+
listAll(query: DayNotesQueryParams, options?: Options): Promise<DayNote[]>;
|
|
20
|
+
listByPage(query: DayNotesQueryParams, options?: Options): AsyncGenerator<AxiosResponse<ApiDayNote[], any>, any, unknown>;
|
|
21
|
+
update(id: number, data: Partial<ApiDayNote>): Promise<DayNote>;
|
|
22
|
+
update(id: number, data: Partial<ApiDayNote>, options: {
|
|
23
|
+
rawResponse: true;
|
|
24
|
+
} & Options): Promise<AxiosResponse<ApiDayNote, any>>;
|
|
25
|
+
update(id: number, data: Partial<ApiDayNote>, options: Options): Promise<DayNote>;
|
|
26
|
+
delete(id: number): Promise<number>;
|
|
27
|
+
delete(id: number, options: {
|
|
28
|
+
rawResponse: true;
|
|
29
|
+
} & Options): Promise<AxiosResponse<any, any>>;
|
|
30
|
+
delete(id: number, options: Options): Promise<number>;
|
|
31
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { Service } from './index.js';
|
|
2
|
+
import { ErrorResponse } from '../models/error-response.model.js';
|
|
3
|
+
import { DayNote } from '../models/day-note.model.js';
|
|
4
|
+
export class DayNotesService extends Service {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.apiPath = '/day_notes';
|
|
8
|
+
}
|
|
9
|
+
create(data, options) {
|
|
10
|
+
return super.fetch({ url: this.apiPath, data, method: 'POST' }).then((res) => Promise.resolve(options?.rawResponse ? res : new DayNote(res.data)), (err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err)));
|
|
11
|
+
}
|
|
12
|
+
get(id, options) {
|
|
13
|
+
return super.fetch({ url: `${this.apiPath}/${id}` }, options).then((res) => Promise.resolve(options?.rawResponse ? res : new DayNote(res.data)), (err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err)));
|
|
14
|
+
}
|
|
15
|
+
async *list(query, options) {
|
|
16
|
+
for await (const res of super.iterator({ url: this.apiPath, params: query }, options)) {
|
|
17
|
+
yield new DayNote(res);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async listAll(query, options) {
|
|
21
|
+
const dayNotes = [];
|
|
22
|
+
for await (const dayNote of this.list(query, options)) {
|
|
23
|
+
dayNotes.push(dayNote);
|
|
24
|
+
}
|
|
25
|
+
return dayNotes;
|
|
26
|
+
}
|
|
27
|
+
listByPage(query, options) {
|
|
28
|
+
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
29
|
+
}
|
|
30
|
+
update(id, data, options) {
|
|
31
|
+
return super
|
|
32
|
+
.fetch({
|
|
33
|
+
url: `${this.apiPath}/${id}`,
|
|
34
|
+
data,
|
|
35
|
+
method: 'POST',
|
|
36
|
+
})
|
|
37
|
+
.then((res) => Promise.resolve(options?.rawResponse ? res : new DayNote(res.data)), (err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err)));
|
|
38
|
+
}
|
|
39
|
+
delete(id, options) {
|
|
40
|
+
return super.fetch({ url: `${this.apiPath}/${id}`, method: 'DELETE' }).then((res) => Promise.resolve(options?.rawResponse ? res : res.status), (err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err)));
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -24,16 +24,11 @@ export class DaysOffService extends Service {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
async listAll(query, options) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
daysOff.push(dayOff);
|
|
31
|
-
}
|
|
32
|
-
return daysOff;
|
|
33
|
-
}
|
|
34
|
-
catch (err) {
|
|
35
|
-
return err;
|
|
27
|
+
const daysOff = [];
|
|
28
|
+
for await (const dayOff of this.list(query, options)) {
|
|
29
|
+
daysOff.push(dayOff);
|
|
36
30
|
}
|
|
31
|
+
return daysOff;
|
|
37
32
|
}
|
|
38
33
|
listByPage(query, options) {
|
|
39
34
|
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
@@ -16,9 +16,9 @@ export declare class GroupsService extends Service {
|
|
|
16
16
|
rawResponse: true;
|
|
17
17
|
} & Options): Promise<AxiosResponse<ApiGroup, any>>;
|
|
18
18
|
get(id: number, options: Options): Promise<Group>;
|
|
19
|
-
list(query
|
|
20
|
-
listAll(query
|
|
21
|
-
listByPage(query
|
|
19
|
+
list(query?: GroupsQueryParams, options?: Options): AsyncGenerator<Group, void, unknown>;
|
|
20
|
+
listAll(query?: GroupsQueryParams, options?: Options): Promise<Group[]>;
|
|
21
|
+
listByPage(query?: GroupsQueryParams, options?: Options): AsyncGenerator<AxiosResponse<ApiGroup[], any>, any, unknown>;
|
|
22
22
|
update(id: number, data: Partial<ApiGroup>): Promise<Group>;
|
|
23
23
|
update(id: number, data: Partial<ApiGroup>, options: {
|
|
24
24
|
rawResponse: true;
|
|
@@ -18,16 +18,11 @@ export class GroupsService extends Service {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
async listAll(query, options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
groups.push(group);
|
|
25
|
-
}
|
|
26
|
-
return groups;
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
return err;
|
|
21
|
+
const groups = [];
|
|
22
|
+
for await (const group of this.list(query, options)) {
|
|
23
|
+
groups.push(group);
|
|
30
24
|
}
|
|
25
|
+
return groups;
|
|
31
26
|
}
|
|
32
27
|
listByPage(query, options) {
|
|
33
28
|
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
@@ -12,5 +12,6 @@ export * from './leave-embargoes.service.js';
|
|
|
12
12
|
export * from './leave.service.js';
|
|
13
13
|
export * from './locations.service.js';
|
|
14
14
|
export * from './roles.service.js';
|
|
15
|
+
export * from './settings.service.js';
|
|
15
16
|
export * from './shifts.service.js';
|
|
16
17
|
export * from './users.service.js';
|
|
@@ -12,5 +12,6 @@ export * from './leave-embargoes.service.js';
|
|
|
12
12
|
export * from './leave.service.js';
|
|
13
13
|
export * from './locations.service.js';
|
|
14
14
|
export * from './roles.service.js';
|
|
15
|
+
export * from './settings.service.js';
|
|
15
16
|
export * from './shifts.service.js';
|
|
16
17
|
export * from './users.service.js';
|
|
@@ -18,16 +18,11 @@ export class LeaveEmbargoesService extends Service {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
async listAll(query, options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
leave.push(leaveEmbargoRecord);
|
|
25
|
-
}
|
|
26
|
-
return leave;
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
return err;
|
|
21
|
+
const leave = [];
|
|
22
|
+
for await (const leaveEmbargoRecord of this.list(query, options)) {
|
|
23
|
+
leave.push(leaveEmbargoRecord);
|
|
30
24
|
}
|
|
25
|
+
return leave;
|
|
31
26
|
}
|
|
32
27
|
listByPage(query, options) {
|
|
33
28
|
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
@@ -16,9 +16,9 @@ export declare class LeaveRequestService extends Service {
|
|
|
16
16
|
rawResponse: true;
|
|
17
17
|
}): Promise<AxiosResponse<ApiLeaveRequest, any>>;
|
|
18
18
|
get(id: number, options: Options): Promise<LeaveRequest>;
|
|
19
|
-
list(query
|
|
20
|
-
listAll(query
|
|
21
|
-
listByPage(options?: Options): AsyncGenerator<AxiosResponse<ApiLeaveRequest[], any>, any, unknown>;
|
|
19
|
+
list(query?: LeaveQueryParams, options?: Options): AsyncGenerator<LeaveRequest, void, unknown>;
|
|
20
|
+
listAll(query?: LeaveQueryParams, options?: Options): Promise<LeaveRequest[]>;
|
|
21
|
+
listByPage(query?: LeaveQueryParams, options?: Options): AsyncGenerator<AxiosResponse<ApiLeaveRequest[], any>, any, unknown>;
|
|
22
22
|
update(id: number, data: Partial<ApiLeaveRequest>): Promise<LeaveRequest>;
|
|
23
23
|
update(id: number, data: Partial<ApiLeaveRequest>, options: {
|
|
24
24
|
rawResponse: true;
|
|
@@ -18,19 +18,14 @@ export class LeaveRequestService extends Service {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
async listAll(query, options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
leave.push(leaveRequestRecord);
|
|
25
|
-
}
|
|
26
|
-
return leave;
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
return err;
|
|
21
|
+
const leave = [];
|
|
22
|
+
for await (const leaveRequestRecord of this.list(query, options)) {
|
|
23
|
+
leave.push(leaveRequestRecord);
|
|
30
24
|
}
|
|
25
|
+
return leave;
|
|
31
26
|
}
|
|
32
|
-
listByPage(options) {
|
|
33
|
-
return super.iterator({ url: `${this.apiPath}
|
|
27
|
+
listByPage(query, options) {
|
|
28
|
+
return super.iterator({ url: `${this.apiPath}`, params: query }, options).byPage();
|
|
34
29
|
}
|
|
35
30
|
update(id, data, options) {
|
|
36
31
|
return super
|
|
@@ -19,16 +19,11 @@ export class LeaveService extends Service {
|
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
21
|
async listAll(query, options) {
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
leave.push(leaveRecord);
|
|
26
|
-
}
|
|
27
|
-
return leave;
|
|
28
|
-
}
|
|
29
|
-
catch (err) {
|
|
30
|
-
return err;
|
|
22
|
+
const leave = [];
|
|
23
|
+
for await (const leaveRecord of this.list(query, options)) {
|
|
24
|
+
leave.push(leaveRecord);
|
|
31
25
|
}
|
|
26
|
+
return leave;
|
|
32
27
|
}
|
|
33
28
|
async *listLeaveTypes(query, options) {
|
|
34
29
|
for await (const res of super.iterator({ url: this.apiPath, params: query }, options)) {
|
|
@@ -16,9 +16,9 @@ export declare class LocationsService extends Service {
|
|
|
16
16
|
rawResponse: true;
|
|
17
17
|
} & Options): Promise<AxiosResponse<ApiLocation, any>>;
|
|
18
18
|
get(id: number, options: Options): Promise<Location>;
|
|
19
|
-
list(query
|
|
20
|
-
listAll(query
|
|
21
|
-
listByPage(query
|
|
19
|
+
list(query?: LocationsQueryParams, options?: Options): AsyncGenerator<Location, void, unknown>;
|
|
20
|
+
listAll(query?: LocationsQueryParams, options?: Options): Promise<Location[]>;
|
|
21
|
+
listByPage(query?: LocationsQueryParams, options?: Options): AsyncGenerator<AxiosResponse<ApiLocation[], any>, any, unknown>;
|
|
22
22
|
update(id: number, data: Partial<ApiLocation>): Promise<Location>;
|
|
23
23
|
update(id: number, data: Partial<ApiLocation>, options: {
|
|
24
24
|
rawResponse: true;
|
|
@@ -18,16 +18,11 @@ export class LocationsService extends Service {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
async listAll(query, options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
locations.push(location);
|
|
25
|
-
}
|
|
26
|
-
return locations;
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
return err;
|
|
21
|
+
const locations = [];
|
|
22
|
+
for await (const location of this.list(query, options)) {
|
|
23
|
+
locations.push(location);
|
|
30
24
|
}
|
|
25
|
+
return locations;
|
|
31
26
|
}
|
|
32
27
|
listByPage(query, options) {
|
|
33
28
|
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
@@ -16,9 +16,9 @@ export declare class RolesService extends Service {
|
|
|
16
16
|
rawResponse: true;
|
|
17
17
|
} & Options): Promise<AxiosResponse<ApiRole, any>>;
|
|
18
18
|
get(id: number, options: Options): Promise<Role>;
|
|
19
|
-
list(query
|
|
20
|
-
listAll(query
|
|
21
|
-
listByPage(query
|
|
19
|
+
list(query?: RolesQueryParams, options?: Options): AsyncGenerator<Role, void, unknown>;
|
|
20
|
+
listAll(query?: RolesQueryParams, options?: Options): Promise<Role[]>;
|
|
21
|
+
listByPage(query?: RolesQueryParams, options?: Options): AsyncGenerator<AxiosResponse<ApiRole[], any>, any, unknown>;
|
|
22
22
|
update(id: number, data: Partial<ApiRole>): Promise<Role>;
|
|
23
23
|
update(id: number, data: Partial<ApiRole>, options: {
|
|
24
24
|
rawResponse: true;
|
|
@@ -18,16 +18,11 @@ export class RolesService extends Service {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
async listAll(query, options) {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
roles.push(role);
|
|
25
|
-
}
|
|
26
|
-
return roles;
|
|
27
|
-
}
|
|
28
|
-
catch (err) {
|
|
29
|
-
return err;
|
|
21
|
+
const roles = [];
|
|
22
|
+
for await (const role of this.list(query, options)) {
|
|
23
|
+
roles.push(role);
|
|
30
24
|
}
|
|
25
|
+
return roles;
|
|
31
26
|
}
|
|
32
27
|
listByPage(query, options) {
|
|
33
28
|
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
@@ -1,5 +1,22 @@
|
|
|
1
|
-
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
1
|
+
import { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
2
2
|
export declare type RequirementsOf<T, K extends keyof T> = Required<Pick<T, K>> & Partial<T>;
|
|
3
|
+
export declare enum RetryStrategy {
|
|
4
|
+
Exponential = "expo",
|
|
5
|
+
Static = "static"
|
|
6
|
+
}
|
|
7
|
+
export declare type RetryOptions = {
|
|
8
|
+
/** Use exponential back-off */
|
|
9
|
+
exponential?: false;
|
|
10
|
+
/** The maximum number of retries before erroring */
|
|
11
|
+
maxRetries: number;
|
|
12
|
+
/** Delay in milliseconds between retry attempts - not used in exponential back-off */
|
|
13
|
+
delay: number;
|
|
14
|
+
} | {
|
|
15
|
+
/** Use exponential back-off */
|
|
16
|
+
exponential: true;
|
|
17
|
+
/** The maximum number of retries before erroring */
|
|
18
|
+
maxRetries: number;
|
|
19
|
+
};
|
|
3
20
|
export interface Options {
|
|
4
21
|
rawResponse?: boolean;
|
|
5
22
|
expand?: string[];
|
|
@@ -7,6 +24,7 @@ export interface Options {
|
|
|
7
24
|
limit?: number;
|
|
8
25
|
}
|
|
9
26
|
export declare abstract class Service<ApiResponse = any> {
|
|
27
|
+
protected client: AxiosInstance;
|
|
10
28
|
isLeaveRequest(endpoint?: string): boolean;
|
|
11
29
|
private buildQueryStr;
|
|
12
30
|
private getPagingObject;
|