rotacloud 1.0.41 → 1.0.43
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/dist/cjs/interfaces/index.d.ts +2 -0
- package/dist/cjs/interfaces/index.js +2 -0
- package/dist/cjs/interfaces/query-params/index.d.ts +2 -0
- package/dist/cjs/interfaces/query-params/index.js +2 -0
- package/dist/cjs/interfaces/query-params/toil-accruals-query-params.interface.d.ts +4 -0
- package/dist/cjs/interfaces/query-params/toil-accruals-query-params.interface.js +2 -0
- package/dist/cjs/interfaces/query-params/toil-allowance-query-params.interface.d.ts +3 -0
- package/dist/cjs/interfaces/query-params/toil-allowance-query-params.interface.js +2 -0
- package/dist/cjs/interfaces/toil-accrual.interface.d.ts +14 -0
- package/dist/cjs/interfaces/toil-accrual.interface.js +2 -0
- package/dist/cjs/interfaces/toil-allowance.interface.d.ts +7 -0
- package/dist/cjs/interfaces/toil-allowance.interface.js +2 -0
- package/dist/cjs/models/index.d.ts +2 -0
- package/dist/cjs/models/index.js +2 -0
- package/dist/cjs/models/toil-accrual.model.d.ts +16 -0
- package/dist/cjs/models/toil-accrual.model.js +20 -0
- package/dist/cjs/models/toil-allowance.model.d.ts +9 -0
- package/dist/cjs/models/toil-allowance.model.js +13 -0
- package/dist/cjs/rotacloud.d.ts +3 -1
- package/dist/cjs/rotacloud.js +2 -0
- package/dist/cjs/services/index.d.ts +2 -0
- package/dist/cjs/services/index.js +2 -0
- package/dist/cjs/services/leave-request.service.js +5 -1
- package/dist/cjs/services/leave.service.js +1 -1
- package/dist/cjs/services/service.d.ts +1 -0
- package/dist/cjs/services/service.js +1 -1
- package/dist/cjs/services/toil-accruals.service.d.ts +28 -0
- package/dist/cjs/services/toil-accruals.service.js +99 -0
- package/dist/cjs/services/toil-allowance.service.d.ts +10 -0
- package/dist/cjs/services/toil-allowance.service.js +84 -0
- package/dist/cjs/version.js +1 -1
- package/dist/mjs/interfaces/index.d.ts +2 -0
- package/dist/mjs/interfaces/index.js +2 -0
- package/dist/mjs/interfaces/query-params/index.d.ts +2 -0
- package/dist/mjs/interfaces/query-params/index.js +2 -0
- package/dist/mjs/interfaces/query-params/toil-accruals-query-params.interface.d.ts +4 -0
- package/dist/mjs/interfaces/query-params/toil-accruals-query-params.interface.js +1 -0
- package/dist/mjs/interfaces/query-params/toil-allowance-query-params.interface.d.ts +3 -0
- package/dist/mjs/interfaces/query-params/toil-allowance-query-params.interface.js +1 -0
- package/dist/mjs/interfaces/toil-accrual.interface.d.ts +14 -0
- package/dist/mjs/interfaces/toil-accrual.interface.js +1 -0
- package/dist/mjs/interfaces/toil-allowance.interface.d.ts +7 -0
- package/dist/mjs/interfaces/toil-allowance.interface.js +1 -0
- package/dist/mjs/models/index.d.ts +2 -0
- package/dist/mjs/models/index.js +2 -0
- package/dist/mjs/models/toil-accrual.model.d.ts +16 -0
- package/dist/mjs/models/toil-accrual.model.js +16 -0
- package/dist/mjs/models/toil-allowance.model.d.ts +9 -0
- package/dist/mjs/models/toil-allowance.model.js +9 -0
- package/dist/mjs/rotacloud.d.ts +3 -1
- package/dist/mjs/rotacloud.js +3 -1
- package/dist/mjs/services/index.d.ts +2 -0
- package/dist/mjs/services/index.js +2 -0
- package/dist/mjs/services/leave-request.service.js +5 -1
- package/dist/mjs/services/leave.service.js +1 -1
- package/dist/mjs/services/service.d.ts +1 -0
- package/dist/mjs/services/service.js +1 -0
- package/dist/mjs/services/toil-accruals.service.d.ts +28 -0
- package/dist/mjs/services/toil-accruals.service.js +38 -0
- package/dist/mjs/services/toil-allowance.service.d.ts +10 -0
- package/dist/mjs/services/toil-allowance.service.js +23 -0
- package/dist/mjs/version.js +1 -1
- package/package.json +1 -1
- package/src/interfaces/index.ts +2 -0
- package/src/interfaces/query-params/index.ts +2 -0
- package/src/interfaces/query-params/toil-accruals-query-params.interface.ts +4 -0
- package/src/interfaces/query-params/toil-allowance-query-params.interface.ts +3 -0
- package/src/interfaces/toil-accrual.interface.ts +14 -0
- package/src/interfaces/toil-allowance.interface.ts +7 -0
- package/src/models/index.ts +2 -0
- package/src/models/toil-accrual.model.ts +30 -0
- package/src/models/toil-allowance.model.ts +16 -0
- package/src/rotacloud.ts +4 -0
- package/src/services/index.ts +2 -0
- package/src/services/leave-request.service.ts +8 -1
- package/src/services/leave.service.ts +1 -1
- package/src/services/service.ts +2 -0
- package/src/services/toil-accruals.service.ts +59 -0
- package/src/services/toil-allowance.service.ts +29 -0
- package/src/version.ts +1 -1
|
@@ -28,4 +28,6 @@ export * from './role.interface.js';
|
|
|
28
28
|
export * from './sdk-config.interface.js';
|
|
29
29
|
export * from './settings.interface.js';
|
|
30
30
|
export * from './shift.interface.js';
|
|
31
|
+
export * from './toil-accrual.interface.js';
|
|
32
|
+
export * from './toil-allowance.interface.js';
|
|
31
33
|
export * from './user.interface.js';
|
|
@@ -40,4 +40,6 @@ __exportStar(require("./role.interface.js"), exports);
|
|
|
40
40
|
__exportStar(require("./sdk-config.interface.js"), exports);
|
|
41
41
|
__exportStar(require("./settings.interface.js"), exports);
|
|
42
42
|
__exportStar(require("./shift.interface.js"), exports);
|
|
43
|
+
__exportStar(require("./toil-accrual.interface.js"), exports);
|
|
44
|
+
__exportStar(require("./toil-allowance.interface.js"), exports);
|
|
43
45
|
__exportStar(require("./user.interface.js"), exports);
|
|
@@ -21,5 +21,7 @@ export * from './settings-query-params.interface.js';
|
|
|
21
21
|
export * from './shifts-query-params.interface.js';
|
|
22
22
|
export * from './swap-requests-query-params.interface.js';
|
|
23
23
|
export * from './terminals-query-params.interface.js';
|
|
24
|
+
export * from './toil-accruals-query-params.interface.js';
|
|
25
|
+
export * from './toil-allowance-query-params.interface.js';
|
|
24
26
|
export * from './unavailability-requests-query-params.interface.js';
|
|
25
27
|
export * from './users-query-params.interface.js';
|
|
@@ -33,5 +33,7 @@ __exportStar(require("./settings-query-params.interface.js"), exports);
|
|
|
33
33
|
__exportStar(require("./shifts-query-params.interface.js"), exports);
|
|
34
34
|
__exportStar(require("./swap-requests-query-params.interface.js"), exports);
|
|
35
35
|
__exportStar(require("./terminals-query-params.interface.js"), exports);
|
|
36
|
+
__exportStar(require("./toil-accruals-query-params.interface.js"), exports);
|
|
37
|
+
__exportStar(require("./toil-allowance-query-params.interface.js"), exports);
|
|
36
38
|
__exportStar(require("./unavailability-requests-query-params.interface.js"), exports);
|
|
37
39
|
__exportStar(require("./users-query-params.interface.js"), exports);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ApiToilAccrual {
|
|
2
|
+
comments: string;
|
|
3
|
+
created_at: number;
|
|
4
|
+
created_by: number | null;
|
|
5
|
+
date: string;
|
|
6
|
+
deleted: boolean;
|
|
7
|
+
deleted_at: string | null;
|
|
8
|
+
deleted_by: number | null;
|
|
9
|
+
duration_hours: number;
|
|
10
|
+
id: number;
|
|
11
|
+
leave_year: number;
|
|
12
|
+
location_id: number | null;
|
|
13
|
+
user_id: number;
|
|
14
|
+
}
|
|
@@ -26,4 +26,6 @@ export * from './role.model.js';
|
|
|
26
26
|
export * from './settings.model.js';
|
|
27
27
|
export * from './shift.model.js';
|
|
28
28
|
export * from './terminal.model.js';
|
|
29
|
+
export * from './toil-accrual.model.js';
|
|
30
|
+
export * from './toil-allowance.model.js';
|
|
29
31
|
export * from './user.model.js';
|
package/dist/cjs/models/index.js
CHANGED
|
@@ -38,4 +38,6 @@ __exportStar(require("./role.model.js"), exports);
|
|
|
38
38
|
__exportStar(require("./settings.model.js"), exports);
|
|
39
39
|
__exportStar(require("./shift.model.js"), exports);
|
|
40
40
|
__exportStar(require("./terminal.model.js"), exports);
|
|
41
|
+
__exportStar(require("./toil-accrual.model.js"), exports);
|
|
42
|
+
__exportStar(require("./toil-allowance.model.js"), exports);
|
|
41
43
|
__exportStar(require("./user.model.js"), exports);
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ApiToilAccrual } from '../interfaces/toil-accrual.interface';
|
|
2
|
+
export declare class ToilAccrual {
|
|
3
|
+
comments: string;
|
|
4
|
+
created_at: number;
|
|
5
|
+
created_by: number | null;
|
|
6
|
+
date: string;
|
|
7
|
+
deleted: boolean;
|
|
8
|
+
deleted_at: string | null;
|
|
9
|
+
deleted_by: number | null;
|
|
10
|
+
duration_hours: number;
|
|
11
|
+
id: number;
|
|
12
|
+
leave_year: number;
|
|
13
|
+
location_id: number | null;
|
|
14
|
+
user_id: number;
|
|
15
|
+
constructor(accrual: ApiToilAccrual);
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ToilAccrual = void 0;
|
|
4
|
+
class ToilAccrual {
|
|
5
|
+
constructor(accrual) {
|
|
6
|
+
this.comments = accrual.comments;
|
|
7
|
+
this.created_at = accrual.created_at;
|
|
8
|
+
this.created_by = accrual.created_by;
|
|
9
|
+
this.date = accrual.date;
|
|
10
|
+
this.deleted = accrual.deleted;
|
|
11
|
+
this.deleted_at = accrual.deleted_at;
|
|
12
|
+
this.deleted_by = accrual.deleted_by;
|
|
13
|
+
this.duration_hours = accrual.duration_hours;
|
|
14
|
+
this.id = accrual.id;
|
|
15
|
+
this.leave_year = accrual.leave_year;
|
|
16
|
+
this.location_id = accrual.location_id;
|
|
17
|
+
this.user_id = accrual.user_id;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
exports.ToilAccrual = ToilAccrual;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ApiToilAllowance } from '../interfaces/toil-allowance.interface';
|
|
2
|
+
export declare class ToilAllowance {
|
|
3
|
+
user: number;
|
|
4
|
+
accrued_hours: number;
|
|
5
|
+
remaining_hours: number;
|
|
6
|
+
used_hours: number;
|
|
7
|
+
has_toil_records: boolean;
|
|
8
|
+
constructor(allowance: ApiToilAllowance);
|
|
9
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ToilAllowance = void 0;
|
|
4
|
+
class ToilAllowance {
|
|
5
|
+
constructor(allowance) {
|
|
6
|
+
this.user = allowance.user;
|
|
7
|
+
this.accrued_hours = allowance.accrued_hours;
|
|
8
|
+
this.remaining_hours = allowance.accrued_hours;
|
|
9
|
+
this.used_hours = allowance.used_hours;
|
|
10
|
+
this.has_toil_records = allowance.has_toil_records;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.ToilAllowance = ToilAllowance;
|
package/dist/cjs/rotacloud.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RolesService, SettingsService, ShiftsService, UsersService } from './services/index.js';
|
|
1
|
+
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RolesService, SettingsService, ShiftsService, ToilAccrualsService, ToilAllowanceService, UsersService } from './services/index.js';
|
|
2
2
|
import { SDKConfig } from './interfaces/index.js';
|
|
3
3
|
import { DayNotesService } from './services/day-notes.service.js';
|
|
4
4
|
export declare class RotaCloud {
|
|
@@ -20,6 +20,8 @@ export declare class RotaCloud {
|
|
|
20
20
|
roles: RolesService;
|
|
21
21
|
settings: SettingsService;
|
|
22
22
|
shifts: ShiftsService;
|
|
23
|
+
toilAccruals: ToilAccrualsService;
|
|
24
|
+
toilAllowance: ToilAllowanceService;
|
|
23
25
|
users: UsersService;
|
|
24
26
|
constructor(config: SDKConfig);
|
|
25
27
|
get config(): SDKConfig;
|
package/dist/cjs/rotacloud.js
CHANGED
|
@@ -36,6 +36,8 @@ class RotaCloud {
|
|
|
36
36
|
this.roles = new index_js_1.RolesService();
|
|
37
37
|
this.settings = new index_js_1.SettingsService();
|
|
38
38
|
this.shifts = new index_js_1.ShiftsService();
|
|
39
|
+
this.toilAccruals = new index_js_1.ToilAccrualsService();
|
|
40
|
+
this.toilAllowance = new index_js_1.ToilAllowanceService();
|
|
39
41
|
this.users = new index_js_1.UsersService();
|
|
40
42
|
this.config = Object.assign(Object.assign({}, DEFAULT_CONFIG), config);
|
|
41
43
|
}
|
|
@@ -14,4 +14,6 @@ export * from './locations.service.js';
|
|
|
14
14
|
export * from './roles.service.js';
|
|
15
15
|
export * from './settings.service.js';
|
|
16
16
|
export * from './shifts.service.js';
|
|
17
|
+
export * from './toil-accruals.service.js';
|
|
18
|
+
export * from './toil-allowance.service.js';
|
|
17
19
|
export * from './users.service.js';
|
|
@@ -26,4 +26,6 @@ __exportStar(require("./locations.service.js"), exports);
|
|
|
26
26
|
__exportStar(require("./roles.service.js"), exports);
|
|
27
27
|
__exportStar(require("./settings.service.js"), exports);
|
|
28
28
|
__exportStar(require("./shifts.service.js"), exports);
|
|
29
|
+
__exportStar(require("./toil-accruals.service.js"), exports);
|
|
30
|
+
__exportStar(require("./toil-allowance.service.js"), exports);
|
|
29
31
|
__exportStar(require("./users.service.js"), exports);
|
|
@@ -38,7 +38,11 @@ class LeaveRequestService extends index_js_1.Service {
|
|
|
38
38
|
}
|
|
39
39
|
create(data, options) {
|
|
40
40
|
return super
|
|
41
|
-
.fetch({
|
|
41
|
+
.fetch({
|
|
42
|
+
url: this.apiPath,
|
|
43
|
+
data,
|
|
44
|
+
method: 'POST',
|
|
45
|
+
}, options)
|
|
42
46
|
.then((res) => Promise.resolve((options === null || options === void 0 ? void 0 : options.rawResponse) ? res : new leave_request_model_js_1.LeaveRequest(res.data)));
|
|
43
47
|
}
|
|
44
48
|
get(id, options) {
|
|
@@ -39,7 +39,7 @@ class LeaveService extends index_js_1.Service {
|
|
|
39
39
|
}
|
|
40
40
|
create(data, options) {
|
|
41
41
|
return super
|
|
42
|
-
.fetch({ url: this.apiPath, data, method: 'POST' })
|
|
42
|
+
.fetch({ url: this.apiPath, data, method: 'POST' }, options)
|
|
43
43
|
.then((res) => Promise.resolve((options === null || options === void 0 ? void 0 : options.rawResponse) ? res : [...res.data.map((leave) => new leave_model_js_1.Leave(leave))]));
|
|
44
44
|
}
|
|
45
45
|
get(id, options) {
|
|
@@ -122,7 +122,7 @@ class Service {
|
|
|
122
122
|
// need to convert user field in payload to a header for creating leave_requests when using an API key
|
|
123
123
|
this.isLeaveRequest(httpOptions.url) ? (headers.User = `${httpOptions.data.user}`) : undefined;
|
|
124
124
|
}
|
|
125
|
-
const reqObject = Object.assign(Object.assign({}, httpOptions), { baseURL: rotacloud_js_1.RotaCloud.config.baseUri, headers, params: Object.assign({ expand: options === null || options === void 0 ? void 0 : options.expand, fields: options === null || options === void 0 ? void 0 : options.fields, limit: options === null || options === void 0 ? void 0 : options.limit }, httpOptions === null || httpOptions === void 0 ? void 0 : httpOptions.params), paramsSerializer: this.buildQueryStr });
|
|
125
|
+
const reqObject = Object.assign(Object.assign({}, httpOptions), { baseURL: rotacloud_js_1.RotaCloud.config.baseUri, headers, params: Object.assign({ expand: options === null || options === void 0 ? void 0 : options.expand, fields: options === null || options === void 0 ? void 0 : options.fields, limit: options === null || options === void 0 ? void 0 : options.limit, dry_run: options === null || options === void 0 ? void 0 : options.dryRun }, httpOptions === null || httpOptions === void 0 ? void 0 : httpOptions.params), paramsSerializer: this.buildQueryStr });
|
|
126
126
|
if (rotacloud_js_1.RotaCloud.config.retry) {
|
|
127
127
|
const retryConfig = typeof rotacloud_js_1.RotaCloud.config.retry === 'string'
|
|
128
128
|
? DEFAULT_RETRY_STRATEGY_OPTIONS[rotacloud_js_1.RotaCloud.config.retry]
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
2
|
+
import { Options, RequirementsOf, Service } from './service';
|
|
3
|
+
import { ToilAccrualsQueryParams } from '../interfaces/query-params/toil-accruals-query-params.interface';
|
|
4
|
+
import { ToilAccrual } from '../models/toil-accrual.model';
|
|
5
|
+
import { ApiToilAccrual } from '../interfaces/toil-accrual.interface';
|
|
6
|
+
declare type RequiredProps = 'duration_hours' | 'date' | 'leave_year' | 'user_id';
|
|
7
|
+
export declare class ToilAccrualsService extends Service {
|
|
8
|
+
private apiPath;
|
|
9
|
+
create(data: RequirementsOf<ApiToilAccrual, RequiredProps>): Promise<ToilAccrual>;
|
|
10
|
+
create(data: RequirementsOf<ApiToilAccrual, RequiredProps>, options: {
|
|
11
|
+
rawResponse: true;
|
|
12
|
+
} & Options): Promise<AxiosResponse<ApiToilAccrual, any>>;
|
|
13
|
+
create(data: RequirementsOf<ApiToilAccrual, RequiredProps>, options: Options): Promise<ToilAccrual>;
|
|
14
|
+
get(id: number): Promise<ToilAccrual>;
|
|
15
|
+
get(id: number, options: {
|
|
16
|
+
rawResponse: true;
|
|
17
|
+
} & Options): Promise<AxiosResponse<ToilAccrual, any>>;
|
|
18
|
+
get(id: number, options: Options): Promise<ToilAccrual>;
|
|
19
|
+
list(query: ToilAccrualsQueryParams, options?: Options): AsyncGenerator<ToilAccrual, void, unknown>;
|
|
20
|
+
listAll(query: ToilAccrualsQueryParams, options?: Options): Promise<ToilAccrual[]>;
|
|
21
|
+
listByPage(query: ToilAccrualsQueryParams, options?: Options): AsyncGenerator<AxiosResponse<ApiToilAccrual[], any>, any, unknown>;
|
|
22
|
+
delete(id: number): Promise<number>;
|
|
23
|
+
delete(id: number, options: {
|
|
24
|
+
rawResponse: true;
|
|
25
|
+
} & Options): Promise<AxiosResponse<any, any>>;
|
|
26
|
+
delete(id: number, options: Options): Promise<number>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
+
var m = o[Symbol.asyncIterator], i;
|
|
14
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
15
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
16
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
17
|
+
};
|
|
18
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
19
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
20
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
21
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
22
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
23
|
+
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
24
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
25
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
26
|
+
function fulfill(value) { resume("next", value); }
|
|
27
|
+
function reject(value) { resume("throw", value); }
|
|
28
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.ToilAccrualsService = void 0;
|
|
32
|
+
const service_1 = require("./service");
|
|
33
|
+
const toil_accrual_model_1 = require("../models/toil-accrual.model");
|
|
34
|
+
class ToilAccrualsService extends service_1.Service {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
this.apiPath = '/toil_accruals';
|
|
38
|
+
}
|
|
39
|
+
create(data, options) {
|
|
40
|
+
return super
|
|
41
|
+
.fetch({ url: this.apiPath, data, method: 'POST' })
|
|
42
|
+
.then((res) => Promise.resolve((options === null || options === void 0 ? void 0 : options.rawResponse) ? res : new toil_accrual_model_1.ToilAccrual(res.data)));
|
|
43
|
+
}
|
|
44
|
+
get(id, options) {
|
|
45
|
+
return super
|
|
46
|
+
.fetch({ url: `${this.apiPath}/${id}` }, options)
|
|
47
|
+
.then((res) => Promise.resolve((options === null || options === void 0 ? void 0 : options.rawResponse) ? res : new toil_accrual_model_1.ToilAccrual(res.data)));
|
|
48
|
+
}
|
|
49
|
+
list(query, options) {
|
|
50
|
+
const _super = Object.create(null, {
|
|
51
|
+
iterator: { get: () => super.iterator }
|
|
52
|
+
});
|
|
53
|
+
return __asyncGenerator(this, arguments, function* list_1() {
|
|
54
|
+
var e_1, _a;
|
|
55
|
+
try {
|
|
56
|
+
for (var _b = __asyncValues(_super.iterator.call(this, { url: this.apiPath, params: query }, options)), _c; _c = yield __await(_b.next()), !_c.done;) {
|
|
57
|
+
const res = _c.value;
|
|
58
|
+
yield yield __await(new toil_accrual_model_1.ToilAccrual(res));
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
62
|
+
finally {
|
|
63
|
+
try {
|
|
64
|
+
if (_c && !_c.done && (_a = _b.return)) yield __await(_a.call(_b));
|
|
65
|
+
}
|
|
66
|
+
finally { if (e_1) throw e_1.error; }
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
listAll(query, options) {
|
|
71
|
+
var e_2, _a;
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const toilAccruals = [];
|
|
74
|
+
try {
|
|
75
|
+
for (var _b = __asyncValues(this.list(query, options)), _c; _c = yield _b.next(), !_c.done;) {
|
|
76
|
+
const accrual = _c.value;
|
|
77
|
+
toilAccruals.push(accrual);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
81
|
+
finally {
|
|
82
|
+
try {
|
|
83
|
+
if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);
|
|
84
|
+
}
|
|
85
|
+
finally { if (e_2) throw e_2.error; }
|
|
86
|
+
}
|
|
87
|
+
return toilAccruals;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
listByPage(query, options) {
|
|
91
|
+
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
92
|
+
}
|
|
93
|
+
delete(id, options) {
|
|
94
|
+
return super
|
|
95
|
+
.fetch({ url: `${this.apiPath}/${id}`, method: 'DELETE' })
|
|
96
|
+
.then((res) => Promise.resolve((options === null || options === void 0 ? void 0 : options.rawResponse) ? res : res.status));
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
exports.ToilAccrualsService = ToilAccrualsService;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Options, Service } from './service';
|
|
2
|
+
import { ToilAllowanceQueryParams } from '../interfaces/query-params/toil-allowance-query-params.interface';
|
|
3
|
+
import { ApiToilAllowance } from '../interfaces/toil-allowance.interface';
|
|
4
|
+
import { ToilAllowance } from '../models/toil-allowance.model';
|
|
5
|
+
export declare class ToilAllowanceService extends Service {
|
|
6
|
+
private apiPath;
|
|
7
|
+
list(year: number, query: ToilAllowanceQueryParams, options?: Options): AsyncGenerator<ToilAllowance, void, unknown>;
|
|
8
|
+
listAll(year: number, query: ToilAllowanceQueryParams, options?: Options): Promise<ToilAllowance[]>;
|
|
9
|
+
listByPage(year: number, query: ToilAllowanceQueryParams, options?: Options): AsyncGenerator<import("axios").AxiosResponse<ApiToilAllowance[][], any>, any, unknown>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|
12
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
13
|
+
var m = o[Symbol.asyncIterator], i;
|
|
14
|
+
return m ? m.call(o) : (o = typeof __values === "function" ? __values(o) : o[Symbol.iterator](), i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i);
|
|
15
|
+
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
|
16
|
+
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
|
17
|
+
};
|
|
18
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
19
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
20
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
21
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
22
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
23
|
+
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
24
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
25
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
26
|
+
function fulfill(value) { resume("next", value); }
|
|
27
|
+
function reject(value) { resume("throw", value); }
|
|
28
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.ToilAllowanceService = void 0;
|
|
32
|
+
const service_1 = require("./service");
|
|
33
|
+
const toil_allowance_model_1 = require("../models/toil-allowance.model");
|
|
34
|
+
class ToilAllowanceService extends service_1.Service {
|
|
35
|
+
constructor() {
|
|
36
|
+
super(...arguments);
|
|
37
|
+
this.apiPath = '/toil_allowance';
|
|
38
|
+
}
|
|
39
|
+
list(year, query, options) {
|
|
40
|
+
const _super = Object.create(null, {
|
|
41
|
+
iterator: { get: () => super.iterator }
|
|
42
|
+
});
|
|
43
|
+
return __asyncGenerator(this, arguments, function* list_1() {
|
|
44
|
+
var e_1, _a;
|
|
45
|
+
try {
|
|
46
|
+
for (var _b = __asyncValues(_super.iterator.call(this, { url: `${this.apiPath}/${year}`, params: query }, options)), _c; _c = yield __await(_b.next()), !_c.done;) {
|
|
47
|
+
const res = _c.value;
|
|
48
|
+
yield yield __await(new toil_allowance_model_1.ToilAllowance(res));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
52
|
+
finally {
|
|
53
|
+
try {
|
|
54
|
+
if (_c && !_c.done && (_a = _b.return)) yield __await(_a.call(_b));
|
|
55
|
+
}
|
|
56
|
+
finally { if (e_1) throw e_1.error; }
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
listAll(year, query, options) {
|
|
61
|
+
var e_2, _a;
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const toilAllowances = [];
|
|
64
|
+
try {
|
|
65
|
+
for (var _b = __asyncValues(this.list(year, query, options)), _c; _c = yield _b.next(), !_c.done;) {
|
|
66
|
+
const allowance = _c.value;
|
|
67
|
+
toilAllowances.push(allowance);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
71
|
+
finally {
|
|
72
|
+
try {
|
|
73
|
+
if (_c && !_c.done && (_a = _b.return)) yield _a.call(_b);
|
|
74
|
+
}
|
|
75
|
+
finally { if (e_2) throw e_2.error; }
|
|
76
|
+
}
|
|
77
|
+
return toilAllowances;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
listByPage(year, query, options) {
|
|
81
|
+
return super.iterator({ url: `${this.apiPath}/${year}`, params: query }, options).byPage();
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.ToilAllowanceService = ToilAllowanceService;
|
package/dist/cjs/version.js
CHANGED
|
@@ -28,4 +28,6 @@ export * from './role.interface.js';
|
|
|
28
28
|
export * from './sdk-config.interface.js';
|
|
29
29
|
export * from './settings.interface.js';
|
|
30
30
|
export * from './shift.interface.js';
|
|
31
|
+
export * from './toil-accrual.interface.js';
|
|
32
|
+
export * from './toil-allowance.interface.js';
|
|
31
33
|
export * from './user.interface.js';
|
|
@@ -28,4 +28,6 @@ export * from './role.interface.js';
|
|
|
28
28
|
export * from './sdk-config.interface.js';
|
|
29
29
|
export * from './settings.interface.js';
|
|
30
30
|
export * from './shift.interface.js';
|
|
31
|
+
export * from './toil-accrual.interface.js';
|
|
32
|
+
export * from './toil-allowance.interface.js';
|
|
31
33
|
export * from './user.interface.js';
|
|
@@ -21,5 +21,7 @@ export * from './settings-query-params.interface.js';
|
|
|
21
21
|
export * from './shifts-query-params.interface.js';
|
|
22
22
|
export * from './swap-requests-query-params.interface.js';
|
|
23
23
|
export * from './terminals-query-params.interface.js';
|
|
24
|
+
export * from './toil-accruals-query-params.interface.js';
|
|
25
|
+
export * from './toil-allowance-query-params.interface.js';
|
|
24
26
|
export * from './unavailability-requests-query-params.interface.js';
|
|
25
27
|
export * from './users-query-params.interface.js';
|
|
@@ -21,5 +21,7 @@ export * from './settings-query-params.interface.js';
|
|
|
21
21
|
export * from './shifts-query-params.interface.js';
|
|
22
22
|
export * from './swap-requests-query-params.interface.js';
|
|
23
23
|
export * from './terminals-query-params.interface.js';
|
|
24
|
+
export * from './toil-accruals-query-params.interface.js';
|
|
25
|
+
export * from './toil-allowance-query-params.interface.js';
|
|
24
26
|
export * from './unavailability-requests-query-params.interface.js';
|
|
25
27
|
export * from './users-query-params.interface.js';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ApiToilAccrual {
|
|
2
|
+
comments: string;
|
|
3
|
+
created_at: number;
|
|
4
|
+
created_by: number | null;
|
|
5
|
+
date: string;
|
|
6
|
+
deleted: boolean;
|
|
7
|
+
deleted_at: string | null;
|
|
8
|
+
deleted_by: number | null;
|
|
9
|
+
duration_hours: number;
|
|
10
|
+
id: number;
|
|
11
|
+
leave_year: number;
|
|
12
|
+
location_id: number | null;
|
|
13
|
+
user_id: number;
|
|
14
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -26,4 +26,6 @@ export * from './role.model.js';
|
|
|
26
26
|
export * from './settings.model.js';
|
|
27
27
|
export * from './shift.model.js';
|
|
28
28
|
export * from './terminal.model.js';
|
|
29
|
+
export * from './toil-accrual.model.js';
|
|
30
|
+
export * from './toil-allowance.model.js';
|
|
29
31
|
export * from './user.model.js';
|
package/dist/mjs/models/index.js
CHANGED
|
@@ -26,4 +26,6 @@ export * from './role.model.js';
|
|
|
26
26
|
export * from './settings.model.js';
|
|
27
27
|
export * from './shift.model.js';
|
|
28
28
|
export * from './terminal.model.js';
|
|
29
|
+
export * from './toil-accrual.model.js';
|
|
30
|
+
export * from './toil-allowance.model.js';
|
|
29
31
|
export * from './user.model.js';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ApiToilAccrual } from '../interfaces/toil-accrual.interface';
|
|
2
|
+
export declare class ToilAccrual {
|
|
3
|
+
comments: string;
|
|
4
|
+
created_at: number;
|
|
5
|
+
created_by: number | null;
|
|
6
|
+
date: string;
|
|
7
|
+
deleted: boolean;
|
|
8
|
+
deleted_at: string | null;
|
|
9
|
+
deleted_by: number | null;
|
|
10
|
+
duration_hours: number;
|
|
11
|
+
id: number;
|
|
12
|
+
leave_year: number;
|
|
13
|
+
location_id: number | null;
|
|
14
|
+
user_id: number;
|
|
15
|
+
constructor(accrual: ApiToilAccrual);
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export class ToilAccrual {
|
|
2
|
+
constructor(accrual) {
|
|
3
|
+
this.comments = accrual.comments;
|
|
4
|
+
this.created_at = accrual.created_at;
|
|
5
|
+
this.created_by = accrual.created_by;
|
|
6
|
+
this.date = accrual.date;
|
|
7
|
+
this.deleted = accrual.deleted;
|
|
8
|
+
this.deleted_at = accrual.deleted_at;
|
|
9
|
+
this.deleted_by = accrual.deleted_by;
|
|
10
|
+
this.duration_hours = accrual.duration_hours;
|
|
11
|
+
this.id = accrual.id;
|
|
12
|
+
this.leave_year = accrual.leave_year;
|
|
13
|
+
this.location_id = accrual.location_id;
|
|
14
|
+
this.user_id = accrual.user_id;
|
|
15
|
+
}
|
|
16
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ApiToilAllowance } from '../interfaces/toil-allowance.interface';
|
|
2
|
+
export declare class ToilAllowance {
|
|
3
|
+
user: number;
|
|
4
|
+
accrued_hours: number;
|
|
5
|
+
remaining_hours: number;
|
|
6
|
+
used_hours: number;
|
|
7
|
+
has_toil_records: boolean;
|
|
8
|
+
constructor(allowance: ApiToilAllowance);
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export class ToilAllowance {
|
|
2
|
+
constructor(allowance) {
|
|
3
|
+
this.user = allowance.user;
|
|
4
|
+
this.accrued_hours = allowance.accrued_hours;
|
|
5
|
+
this.remaining_hours = allowance.accrued_hours;
|
|
6
|
+
this.used_hours = allowance.used_hours;
|
|
7
|
+
this.has_toil_records = allowance.has_toil_records;
|
|
8
|
+
}
|
|
9
|
+
}
|
package/dist/mjs/rotacloud.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RolesService, SettingsService, ShiftsService, UsersService } from './services/index.js';
|
|
1
|
+
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RolesService, SettingsService, ShiftsService, ToilAccrualsService, ToilAllowanceService, UsersService } from './services/index.js';
|
|
2
2
|
import { SDKConfig } from './interfaces/index.js';
|
|
3
3
|
import { DayNotesService } from './services/day-notes.service.js';
|
|
4
4
|
export declare class RotaCloud {
|
|
@@ -20,6 +20,8 @@ export declare class RotaCloud {
|
|
|
20
20
|
roles: RolesService;
|
|
21
21
|
settings: SettingsService;
|
|
22
22
|
shifts: ShiftsService;
|
|
23
|
+
toilAccruals: ToilAccrualsService;
|
|
24
|
+
toilAllowance: ToilAllowanceService;
|
|
23
25
|
users: UsersService;
|
|
24
26
|
constructor(config: SDKConfig);
|
|
25
27
|
get config(): SDKConfig;
|
package/dist/mjs/rotacloud.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RetryStrategy, RolesService, SettingsService, ShiftsService, UsersService, } from './services/index.js';
|
|
1
|
+
import { AccountsService, AttendanceService, AuthService, AvailabilityService, DailyBudgetsService, DailyRevenueService, DaysOffService, GroupsService, LeaveEmbargoesService, LeaveRequestService, LeaveService, LocationsService, RetryStrategy, RolesService, SettingsService, ShiftsService, ToilAccrualsService, ToilAllowanceService, UsersService, } from './services/index.js';
|
|
2
2
|
import { DayNotesService } from './services/day-notes.service.js';
|
|
3
3
|
const DEFAULT_CONFIG = {
|
|
4
4
|
baseUri: 'https://api.rotacloud.com/v1',
|
|
@@ -23,6 +23,8 @@ export class RotaCloud {
|
|
|
23
23
|
this.roles = new RolesService();
|
|
24
24
|
this.settings = new SettingsService();
|
|
25
25
|
this.shifts = new ShiftsService();
|
|
26
|
+
this.toilAccruals = new ToilAccrualsService();
|
|
27
|
+
this.toilAllowance = new ToilAllowanceService();
|
|
26
28
|
this.users = new UsersService();
|
|
27
29
|
this.config = {
|
|
28
30
|
...DEFAULT_CONFIG,
|
|
@@ -14,4 +14,6 @@ export * from './locations.service.js';
|
|
|
14
14
|
export * from './roles.service.js';
|
|
15
15
|
export * from './settings.service.js';
|
|
16
16
|
export * from './shifts.service.js';
|
|
17
|
+
export * from './toil-accruals.service.js';
|
|
18
|
+
export * from './toil-allowance.service.js';
|
|
17
19
|
export * from './users.service.js';
|
|
@@ -14,4 +14,6 @@ export * from './locations.service.js';
|
|
|
14
14
|
export * from './roles.service.js';
|
|
15
15
|
export * from './settings.service.js';
|
|
16
16
|
export * from './shifts.service.js';
|
|
17
|
+
export * from './toil-accruals.service.js';
|
|
18
|
+
export * from './toil-allowance.service.js';
|
|
17
19
|
export * from './users.service.js';
|
|
@@ -7,7 +7,11 @@ export class LeaveRequestService extends Service {
|
|
|
7
7
|
}
|
|
8
8
|
create(data, options) {
|
|
9
9
|
return super
|
|
10
|
-
.fetch({
|
|
10
|
+
.fetch({
|
|
11
|
+
url: this.apiPath,
|
|
12
|
+
data,
|
|
13
|
+
method: 'POST',
|
|
14
|
+
}, options)
|
|
11
15
|
.then((res) => Promise.resolve(options?.rawResponse ? res : new LeaveRequest(res.data)));
|
|
12
16
|
}
|
|
13
17
|
get(id, options) {
|
|
@@ -8,7 +8,7 @@ export class LeaveService extends Service {
|
|
|
8
8
|
}
|
|
9
9
|
create(data, options) {
|
|
10
10
|
return super
|
|
11
|
-
.fetch({ url: this.apiPath, data, method: 'POST' })
|
|
11
|
+
.fetch({ url: this.apiPath, data, method: 'POST' }, options)
|
|
12
12
|
.then((res) => Promise.resolve(options?.rawResponse ? res : [...res.data.map((leave) => new Leave(leave))]));
|
|
13
13
|
}
|
|
14
14
|
get(id, options) {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
2
|
+
import { Options, RequirementsOf, Service } from './service';
|
|
3
|
+
import { ToilAccrualsQueryParams } from '../interfaces/query-params/toil-accruals-query-params.interface';
|
|
4
|
+
import { ToilAccrual } from '../models/toil-accrual.model';
|
|
5
|
+
import { ApiToilAccrual } from '../interfaces/toil-accrual.interface';
|
|
6
|
+
declare type RequiredProps = 'duration_hours' | 'date' | 'leave_year' | 'user_id';
|
|
7
|
+
export declare class ToilAccrualsService extends Service {
|
|
8
|
+
private apiPath;
|
|
9
|
+
create(data: RequirementsOf<ApiToilAccrual, RequiredProps>): Promise<ToilAccrual>;
|
|
10
|
+
create(data: RequirementsOf<ApiToilAccrual, RequiredProps>, options: {
|
|
11
|
+
rawResponse: true;
|
|
12
|
+
} & Options): Promise<AxiosResponse<ApiToilAccrual, any>>;
|
|
13
|
+
create(data: RequirementsOf<ApiToilAccrual, RequiredProps>, options: Options): Promise<ToilAccrual>;
|
|
14
|
+
get(id: number): Promise<ToilAccrual>;
|
|
15
|
+
get(id: number, options: {
|
|
16
|
+
rawResponse: true;
|
|
17
|
+
} & Options): Promise<AxiosResponse<ToilAccrual, any>>;
|
|
18
|
+
get(id: number, options: Options): Promise<ToilAccrual>;
|
|
19
|
+
list(query: ToilAccrualsQueryParams, options?: Options): AsyncGenerator<ToilAccrual, void, unknown>;
|
|
20
|
+
listAll(query: ToilAccrualsQueryParams, options?: Options): Promise<ToilAccrual[]>;
|
|
21
|
+
listByPage(query: ToilAccrualsQueryParams, options?: Options): AsyncGenerator<AxiosResponse<ApiToilAccrual[], any>, any, unknown>;
|
|
22
|
+
delete(id: number): Promise<number>;
|
|
23
|
+
delete(id: number, options: {
|
|
24
|
+
rawResponse: true;
|
|
25
|
+
} & Options): Promise<AxiosResponse<any, any>>;
|
|
26
|
+
delete(id: number, options: Options): Promise<number>;
|
|
27
|
+
}
|
|
28
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { Service } from './service';
|
|
2
|
+
import { ToilAccrual } from '../models/toil-accrual.model';
|
|
3
|
+
export class ToilAccrualsService extends Service {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.apiPath = '/toil_accruals';
|
|
7
|
+
}
|
|
8
|
+
create(data, options) {
|
|
9
|
+
return super
|
|
10
|
+
.fetch({ url: this.apiPath, data, method: 'POST' })
|
|
11
|
+
.then((res) => Promise.resolve(options?.rawResponse ? res : new ToilAccrual(res.data)));
|
|
12
|
+
}
|
|
13
|
+
get(id, options) {
|
|
14
|
+
return super
|
|
15
|
+
.fetch({ url: `${this.apiPath}/${id}` }, options)
|
|
16
|
+
.then((res) => Promise.resolve(options?.rawResponse ? res : new ToilAccrual(res.data)));
|
|
17
|
+
}
|
|
18
|
+
async *list(query, options) {
|
|
19
|
+
for await (const res of super.iterator({ url: this.apiPath, params: query }, options)) {
|
|
20
|
+
yield new ToilAccrual(res);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
async listAll(query, options) {
|
|
24
|
+
const toilAccruals = [];
|
|
25
|
+
for await (const accrual of this.list(query, options)) {
|
|
26
|
+
toilAccruals.push(accrual);
|
|
27
|
+
}
|
|
28
|
+
return toilAccruals;
|
|
29
|
+
}
|
|
30
|
+
listByPage(query, options) {
|
|
31
|
+
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
32
|
+
}
|
|
33
|
+
delete(id, options) {
|
|
34
|
+
return super
|
|
35
|
+
.fetch({ url: `${this.apiPath}/${id}`, method: 'DELETE' })
|
|
36
|
+
.then((res) => Promise.resolve(options?.rawResponse ? res : res.status));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Options, Service } from './service';
|
|
2
|
+
import { ToilAllowanceQueryParams } from '../interfaces/query-params/toil-allowance-query-params.interface';
|
|
3
|
+
import { ApiToilAllowance } from '../interfaces/toil-allowance.interface';
|
|
4
|
+
import { ToilAllowance } from '../models/toil-allowance.model';
|
|
5
|
+
export declare class ToilAllowanceService extends Service {
|
|
6
|
+
private apiPath;
|
|
7
|
+
list(year: number, query: ToilAllowanceQueryParams, options?: Options): AsyncGenerator<ToilAllowance, void, unknown>;
|
|
8
|
+
listAll(year: number, query: ToilAllowanceQueryParams, options?: Options): Promise<ToilAllowance[]>;
|
|
9
|
+
listByPage(year: number, query: ToilAllowanceQueryParams, options?: Options): AsyncGenerator<import("axios").AxiosResponse<ApiToilAllowance[][], any>, any, unknown>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Service } from './service';
|
|
2
|
+
import { ToilAllowance } from '../models/toil-allowance.model';
|
|
3
|
+
export class ToilAllowanceService extends Service {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.apiPath = '/toil_allowance';
|
|
7
|
+
}
|
|
8
|
+
async *list(year, query, options) {
|
|
9
|
+
for await (const res of super.iterator({ url: `${this.apiPath}/${year}`, params: query }, options)) {
|
|
10
|
+
yield new ToilAllowance(res);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
async listAll(year, query, options) {
|
|
14
|
+
const toilAllowances = [];
|
|
15
|
+
for await (const allowance of this.list(year, query, options)) {
|
|
16
|
+
toilAllowances.push(allowance);
|
|
17
|
+
}
|
|
18
|
+
return toilAllowances;
|
|
19
|
+
}
|
|
20
|
+
listByPage(year, query, options) {
|
|
21
|
+
return super.iterator({ url: `${this.apiPath}/${year}`, params: query }, options).byPage();
|
|
22
|
+
}
|
|
23
|
+
}
|
package/dist/mjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const Version = { version: '1.0.
|
|
1
|
+
export const Version = { version: '1.0.43' };
|
package/package.json
CHANGED
package/src/interfaces/index.ts
CHANGED
|
@@ -28,4 +28,6 @@ export * from './role.interface.js';
|
|
|
28
28
|
export * from './sdk-config.interface.js';
|
|
29
29
|
export * from './settings.interface.js';
|
|
30
30
|
export * from './shift.interface.js';
|
|
31
|
+
export * from './toil-accrual.interface.js';
|
|
32
|
+
export * from './toil-allowance.interface.js';
|
|
31
33
|
export * from './user.interface.js';
|
|
@@ -21,5 +21,7 @@ export * from './settings-query-params.interface.js';
|
|
|
21
21
|
export * from './shifts-query-params.interface.js';
|
|
22
22
|
export * from './swap-requests-query-params.interface.js';
|
|
23
23
|
export * from './terminals-query-params.interface.js';
|
|
24
|
+
export * from './toil-accruals-query-params.interface.js';
|
|
25
|
+
export * from './toil-allowance-query-params.interface.js';
|
|
24
26
|
export * from './unavailability-requests-query-params.interface.js';
|
|
25
27
|
export * from './users-query-params.interface.js';
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export interface ApiToilAccrual {
|
|
2
|
+
comments: string;
|
|
3
|
+
created_at: number;
|
|
4
|
+
created_by: number | null;
|
|
5
|
+
date: string;
|
|
6
|
+
deleted: boolean;
|
|
7
|
+
deleted_at: string | null;
|
|
8
|
+
deleted_by: number | null;
|
|
9
|
+
duration_hours: number;
|
|
10
|
+
id: number;
|
|
11
|
+
leave_year: number;
|
|
12
|
+
location_id: number | null;
|
|
13
|
+
user_id: number;
|
|
14
|
+
}
|
package/src/models/index.ts
CHANGED
|
@@ -26,4 +26,6 @@ export * from './role.model.js';
|
|
|
26
26
|
export * from './settings.model.js';
|
|
27
27
|
export * from './shift.model.js';
|
|
28
28
|
export * from './terminal.model.js';
|
|
29
|
+
export * from './toil-accrual.model.js';
|
|
30
|
+
export * from './toil-allowance.model.js';
|
|
29
31
|
export * from './user.model.js';
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { ApiToilAccrual } from '../interfaces/toil-accrual.interface';
|
|
2
|
+
|
|
3
|
+
export class ToilAccrual {
|
|
4
|
+
public comments: string;
|
|
5
|
+
public created_at: number;
|
|
6
|
+
public created_by: number | null;
|
|
7
|
+
public date: string;
|
|
8
|
+
public deleted: boolean;
|
|
9
|
+
public deleted_at: string | null;
|
|
10
|
+
public deleted_by: number | null;
|
|
11
|
+
public duration_hours: number;
|
|
12
|
+
public id: number;
|
|
13
|
+
public leave_year: number;
|
|
14
|
+
public location_id: number | null;
|
|
15
|
+
public user_id: number;
|
|
16
|
+
constructor(accrual: ApiToilAccrual) {
|
|
17
|
+
this.comments = accrual.comments;
|
|
18
|
+
this.created_at = accrual.created_at;
|
|
19
|
+
this.created_by = accrual.created_by;
|
|
20
|
+
this.date = accrual.date;
|
|
21
|
+
this.deleted = accrual.deleted;
|
|
22
|
+
this.deleted_at = accrual.deleted_at;
|
|
23
|
+
this.deleted_by = accrual.deleted_by;
|
|
24
|
+
this.duration_hours = accrual.duration_hours;
|
|
25
|
+
this.id = accrual.id;
|
|
26
|
+
this.leave_year = accrual.leave_year;
|
|
27
|
+
this.location_id = accrual.location_id;
|
|
28
|
+
this.user_id = accrual.user_id;
|
|
29
|
+
}
|
|
30
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ApiToilAllowance } from '../interfaces/toil-allowance.interface';
|
|
2
|
+
|
|
3
|
+
export class ToilAllowance {
|
|
4
|
+
public user: number;
|
|
5
|
+
public accrued_hours: number;
|
|
6
|
+
public remaining_hours: number;
|
|
7
|
+
public used_hours: number;
|
|
8
|
+
public has_toil_records: boolean;
|
|
9
|
+
constructor(allowance: ApiToilAllowance) {
|
|
10
|
+
this.user = allowance.user;
|
|
11
|
+
this.accrued_hours = allowance.accrued_hours;
|
|
12
|
+
this.remaining_hours = allowance.accrued_hours;
|
|
13
|
+
this.used_hours = allowance.used_hours;
|
|
14
|
+
this.has_toil_records = allowance.has_toil_records;
|
|
15
|
+
}
|
|
16
|
+
}
|
package/src/rotacloud.ts
CHANGED
|
@@ -15,6 +15,8 @@ import {
|
|
|
15
15
|
RolesService,
|
|
16
16
|
SettingsService,
|
|
17
17
|
ShiftsService,
|
|
18
|
+
ToilAccrualsService,
|
|
19
|
+
ToilAllowanceService,
|
|
18
20
|
UsersService,
|
|
19
21
|
} from './services/index.js';
|
|
20
22
|
import { SDKConfig } from './interfaces/index.js';
|
|
@@ -45,6 +47,8 @@ export class RotaCloud {
|
|
|
45
47
|
public roles = new RolesService();
|
|
46
48
|
public settings = new SettingsService();
|
|
47
49
|
public shifts = new ShiftsService();
|
|
50
|
+
public toilAccruals = new ToilAccrualsService();
|
|
51
|
+
public toilAllowance = new ToilAllowanceService();
|
|
48
52
|
public users = new UsersService();
|
|
49
53
|
|
|
50
54
|
constructor(config: SDKConfig) {
|
package/src/services/index.ts
CHANGED
|
@@ -14,4 +14,6 @@ export * from './locations.service.js';
|
|
|
14
14
|
export * from './roles.service.js';
|
|
15
15
|
export * from './settings.service.js';
|
|
16
16
|
export * from './shifts.service.js';
|
|
17
|
+
export * from './toil-accruals.service.js';
|
|
18
|
+
export * from './toil-allowance.service.js';
|
|
17
19
|
export * from './users.service.js';
|
|
@@ -19,7 +19,14 @@ export class LeaveRequestService extends Service {
|
|
|
19
19
|
create(data: RequirementsOf<ApiLeaveRequest, RequiredProps>, options: Options): Promise<LeaveRequest>;
|
|
20
20
|
create(data: RequirementsOf<ApiLeaveRequest, RequiredProps>, options?: Options) {
|
|
21
21
|
return super
|
|
22
|
-
.fetch<ApiLeaveRequest>(
|
|
22
|
+
.fetch<ApiLeaveRequest>(
|
|
23
|
+
{
|
|
24
|
+
url: this.apiPath,
|
|
25
|
+
data,
|
|
26
|
+
method: 'POST',
|
|
27
|
+
},
|
|
28
|
+
options
|
|
29
|
+
)
|
|
23
30
|
.then((res) => Promise.resolve(options?.rawResponse ? res : new LeaveRequest(res.data)));
|
|
24
31
|
}
|
|
25
32
|
|
|
@@ -21,7 +21,7 @@ export class LeaveService extends Service {
|
|
|
21
21
|
create(data: RequirementsOf<ApiLeave, RequiredProps>, options: Options): Promise<Leave[]>;
|
|
22
22
|
create(data: RequirementsOf<ApiLeave, RequiredProps>, options?: Options) {
|
|
23
23
|
return super
|
|
24
|
-
.fetch<ApiLeave[]>({ url: this.apiPath, data, method: 'POST' })
|
|
24
|
+
.fetch<ApiLeave[]>({ url: this.apiPath, data, method: 'POST' }, options)
|
|
25
25
|
.then((res) => Promise.resolve(options?.rawResponse ? res : [...res.data.map((leave) => new Leave(leave))]));
|
|
26
26
|
}
|
|
27
27
|
|
package/src/services/service.ts
CHANGED
|
@@ -47,6 +47,7 @@ export interface Options {
|
|
|
47
47
|
expand?: string[];
|
|
48
48
|
fields?: string[];
|
|
49
49
|
limit?: number;
|
|
50
|
+
dryRun?: boolean;
|
|
50
51
|
}
|
|
51
52
|
|
|
52
53
|
interface PagingObject {
|
|
@@ -145,6 +146,7 @@ export abstract class Service<ApiResponse = any> {
|
|
|
145
146
|
expand: options?.expand,
|
|
146
147
|
fields: options?.fields,
|
|
147
148
|
limit: options?.limit,
|
|
149
|
+
dry_run: options?.dryRun,
|
|
148
150
|
...httpOptions?.params,
|
|
149
151
|
},
|
|
150
152
|
paramsSerializer: this.buildQueryStr,
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
2
|
+
import { Options, RequirementsOf, Service } from './service';
|
|
3
|
+
import { ToilAccrualsQueryParams } from '../interfaces/query-params/toil-accruals-query-params.interface';
|
|
4
|
+
import { ToilAccrual } from '../models/toil-accrual.model';
|
|
5
|
+
import { ApiToilAccrual } from '../interfaces/toil-accrual.interface';
|
|
6
|
+
|
|
7
|
+
type RequiredProps = 'duration_hours' | 'date' | 'leave_year' | 'user_id';
|
|
8
|
+
|
|
9
|
+
export class ToilAccrualsService extends Service {
|
|
10
|
+
private apiPath = '/toil_accruals';
|
|
11
|
+
|
|
12
|
+
create(data: RequirementsOf<ApiToilAccrual, RequiredProps>): Promise<ToilAccrual>;
|
|
13
|
+
create(
|
|
14
|
+
data: RequirementsOf<ApiToilAccrual, RequiredProps>,
|
|
15
|
+
options: { rawResponse: true } & Options
|
|
16
|
+
): Promise<AxiosResponse<ApiToilAccrual, any>>;
|
|
17
|
+
create(data: RequirementsOf<ApiToilAccrual, RequiredProps>, options: Options): Promise<ToilAccrual>;
|
|
18
|
+
create(data: RequirementsOf<ApiToilAccrual, RequiredProps>, options?: Options) {
|
|
19
|
+
return super
|
|
20
|
+
.fetch<ToilAccrual>({ url: this.apiPath, data, method: 'POST' })
|
|
21
|
+
.then((res) => Promise.resolve(options?.rawResponse ? res : new ToilAccrual(res.data)));
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
get(id: number): Promise<ToilAccrual>;
|
|
25
|
+
get(id: number, options: { rawResponse: true } & Options): Promise<AxiosResponse<ToilAccrual, any>>;
|
|
26
|
+
get(id: number, options: Options): Promise<ToilAccrual>;
|
|
27
|
+
get(id: number, options?: Options) {
|
|
28
|
+
return super
|
|
29
|
+
.fetch<ToilAccrual>({ url: `${this.apiPath}/${id}` }, options)
|
|
30
|
+
.then((res) => Promise.resolve(options?.rawResponse ? res : new ToilAccrual(res.data)));
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
async *list(query: ToilAccrualsQueryParams, options?: Options) {
|
|
34
|
+
for await (const res of super.iterator<ApiToilAccrual>({ url: this.apiPath, params: query }, options)) {
|
|
35
|
+
yield new ToilAccrual(res);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
async listAll(query: ToilAccrualsQueryParams, options?: Options): Promise<ToilAccrual[]> {
|
|
40
|
+
const toilAccruals = [] as ToilAccrual[];
|
|
41
|
+
for await (const accrual of this.list(query, options)) {
|
|
42
|
+
toilAccruals.push(accrual);
|
|
43
|
+
}
|
|
44
|
+
return toilAccruals;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
listByPage(query: ToilAccrualsQueryParams, options?: Options) {
|
|
48
|
+
return super.iterator<ApiToilAccrual>({ url: this.apiPath, params: query }, options).byPage();
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
delete(id: number): Promise<number>;
|
|
52
|
+
delete(id: number, options: { rawResponse: true } & Options): Promise<AxiosResponse<any, any>>;
|
|
53
|
+
delete(id: number, options: Options): Promise<number>;
|
|
54
|
+
delete(id: number, options?: Options) {
|
|
55
|
+
return super
|
|
56
|
+
.fetch<ApiToilAccrual>({ url: `${this.apiPath}/${id}`, method: 'DELETE' })
|
|
57
|
+
.then((res) => Promise.resolve(options?.rawResponse ? res : res.status));
|
|
58
|
+
}
|
|
59
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Options, Service } from './service';
|
|
2
|
+
import { ToilAllowanceQueryParams } from '../interfaces/query-params/toil-allowance-query-params.interface';
|
|
3
|
+
import { ApiToilAllowance } from '../interfaces/toil-allowance.interface';
|
|
4
|
+
import { ToilAllowance } from '../models/toil-allowance.model';
|
|
5
|
+
|
|
6
|
+
export class ToilAllowanceService extends Service {
|
|
7
|
+
private apiPath = '/toil_allowance';
|
|
8
|
+
|
|
9
|
+
async *list(year: number, query: ToilAllowanceQueryParams, options?: Options) {
|
|
10
|
+
for await (const res of super.iterator<ApiToilAllowance>(
|
|
11
|
+
{ url: `${this.apiPath}/${year}`, params: query },
|
|
12
|
+
options
|
|
13
|
+
)) {
|
|
14
|
+
yield new ToilAllowance(res);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
async listAll(year: number, query: ToilAllowanceQueryParams, options?: Options): Promise<ToilAllowance[]> {
|
|
19
|
+
const toilAllowances = [] as ToilAllowance[];
|
|
20
|
+
for await (const allowance of this.list(year, query, options)) {
|
|
21
|
+
toilAllowances.push(allowance);
|
|
22
|
+
}
|
|
23
|
+
return toilAllowances;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
listByPage(year: number, query: ToilAllowanceQueryParams, options?: Options) {
|
|
27
|
+
return super.iterator<ApiToilAllowance[]>({ url: `${this.apiPath}/${year}`, params: query }, options).byPage();
|
|
28
|
+
}
|
|
29
|
+
}
|
package/src/version.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export const Version = { version: '1.0.
|
|
1
|
+
export const Version = { version: '1.0.43' };
|