rotacloud 1.0.24 → 1.0.28
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/auth.interface.d.ts +8 -0
- package/dist/cjs/interfaces/auth.interface.js +2 -0
- package/dist/cjs/interfaces/index.d.ts +1 -0
- package/dist/cjs/interfaces/index.js +1 -0
- package/dist/cjs/interfaces/query-params/daily-budgets-query-params.interface.d.ts +2 -2
- package/dist/cjs/models/auth.model.d.ts +6 -0
- package/dist/cjs/models/auth.model.js +10 -0
- package/dist/cjs/models/daily-budgets.model.js +2 -0
- package/dist/cjs/rotacloud.d.ts +4 -1
- package/dist/cjs/rotacloud.js +3 -0
- package/dist/cjs/services/accounts.service.d.ts +3 -4
- package/dist/cjs/services/accounts.service.js +2 -2
- package/dist/cjs/services/attendance.service.d.ts +13 -18
- package/dist/cjs/services/attendance.service.js +6 -6
- package/dist/cjs/services/auth.service.d.ts +11 -0
- package/dist/cjs/services/auth.service.js +16 -0
- package/dist/cjs/services/availability.service.d.ts +9 -16
- package/dist/cjs/services/availability.service.js +4 -4
- package/dist/cjs/services/daily-budgets.service.d.ts +16 -0
- package/dist/cjs/services/daily-budgets.service.js +99 -0
- package/dist/cjs/services/daily-revenue.service.d.ts +16 -0
- package/dist/cjs/services/daily-revenue.service.js +99 -0
- package/dist/cjs/services/days-off.service.d.ts +8 -12
- package/dist/cjs/services/days-off.service.js +6 -6
- package/dist/cjs/services/groups.service.d.ts +13 -18
- package/dist/cjs/services/groups.service.js +6 -6
- package/dist/cjs/services/index.d.ts +3 -0
- package/dist/cjs/services/index.js +3 -0
- package/dist/cjs/services/leave-embargoes.service.d.ts +13 -18
- package/dist/cjs/services/leave-embargoes.service.js +6 -6
- package/dist/cjs/services/leave-request.service.d.ts +12 -17
- package/dist/cjs/services/leave-request.service.js +4 -4
- package/dist/cjs/services/leave.service.d.ts +13 -18
- package/dist/cjs/services/leave.service.js +9 -9
- package/dist/cjs/services/locations.service.d.ts +13 -18
- package/dist/cjs/services/locations.service.js +6 -6
- package/dist/cjs/services/roles.service.d.ts +13 -18
- package/dist/cjs/services/roles.service.js +6 -6
- package/dist/cjs/services/service.d.ts +6 -4
- package/dist/cjs/services/service.js +2 -2
- package/dist/cjs/services/shifts.service.d.ts +19 -27
- package/dist/cjs/services/shifts.service.js +6 -6
- package/dist/cjs/services/users.service.d.ts +11 -16
- package/dist/cjs/services/users.service.js +6 -6
- package/dist/cjs/version.js +1 -1
- package/dist/mjs/interfaces/auth.interface.d.ts +8 -0
- package/dist/mjs/interfaces/auth.interface.js +1 -0
- package/dist/mjs/interfaces/index.d.ts +1 -0
- package/dist/mjs/interfaces/index.js +1 -0
- package/dist/mjs/interfaces/query-params/daily-budgets-query-params.interface.d.ts +2 -2
- package/dist/mjs/models/auth.model.d.ts +6 -0
- package/dist/mjs/models/auth.model.js +6 -0
- package/dist/mjs/models/daily-budgets.model.js +2 -0
- package/dist/mjs/rotacloud.d.ts +4 -1
- package/dist/mjs/rotacloud.js +4 -1
- package/dist/mjs/services/accounts.service.d.ts +3 -4
- package/dist/mjs/services/accounts.service.js +2 -2
- package/dist/mjs/services/attendance.service.d.ts +13 -18
- package/dist/mjs/services/attendance.service.js +7 -8
- package/dist/mjs/services/auth.service.d.ts +11 -0
- package/dist/mjs/services/auth.service.js +12 -0
- package/dist/mjs/services/availability.service.d.ts +9 -16
- package/dist/mjs/services/availability.service.js +4 -4
- package/dist/mjs/services/daily-budgets.service.d.ts +16 -0
- package/dist/mjs/services/daily-budgets.service.js +38 -0
- package/dist/mjs/services/daily-revenue.service.d.ts +16 -0
- package/dist/mjs/services/daily-revenue.service.js +38 -0
- package/dist/mjs/services/days-off.service.d.ts +8 -12
- package/dist/mjs/services/days-off.service.js +7 -8
- package/dist/mjs/services/groups.service.d.ts +13 -18
- package/dist/mjs/services/groups.service.js +7 -8
- package/dist/mjs/services/index.d.ts +3 -0
- package/dist/mjs/services/index.js +3 -0
- package/dist/mjs/services/leave-embargoes.service.d.ts +13 -18
- package/dist/mjs/services/leave-embargoes.service.js +7 -8
- package/dist/mjs/services/leave-request.service.d.ts +12 -17
- package/dist/mjs/services/leave-request.service.js +5 -6
- package/dist/mjs/services/leave.service.d.ts +13 -18
- package/dist/mjs/services/leave.service.js +10 -11
- package/dist/mjs/services/locations.service.d.ts +13 -18
- package/dist/mjs/services/locations.service.js +7 -8
- package/dist/mjs/services/roles.service.d.ts +13 -18
- package/dist/mjs/services/roles.service.js +7 -8
- package/dist/mjs/services/service.d.ts +6 -4
- package/dist/mjs/services/service.js +7 -2
- package/dist/mjs/services/shifts.service.d.ts +19 -27
- package/dist/mjs/services/shifts.service.js +7 -8
- package/dist/mjs/services/users.service.d.ts +11 -16
- package/dist/mjs/services/users.service.js +6 -6
- package/dist/mjs/version.js +1 -1
- package/package.json +1 -1
- package/src/interfaces/auth.interface.ts +9 -0
- package/src/interfaces/index.ts +1 -0
- package/src/interfaces/query-params/daily-budgets-query-params.interface.ts +2 -2
- package/src/models/auth.model.ts +11 -0
- package/src/models/daily-budgets.model.ts +2 -0
- package/src/rotacloud.ts +6 -0
- package/src/services/accounts.service.ts +5 -6
- package/src/services/attendance.service.ts +20 -32
- package/src/services/auth.service.ts +19 -0
- package/src/services/availability.service.ts +14 -34
- package/src/services/daily-budgets.service.ts +53 -0
- package/src/services/daily-revenue.service.ts +53 -0
- package/src/services/days-off.service.ts +15 -21
- package/src/services/groups.service.ts +21 -23
- package/src/services/index.ts +3 -0
- package/src/services/leave-embargoes.service.ts +21 -30
- package/src/services/leave-request.service.ts +20 -31
- package/src/services/leave.service.ts +24 -29
- package/src/services/locations.service.ts +20 -26
- package/src/services/roles.service.ts +20 -24
- package/src/services/service.ts +18 -8
- package/src/services/shifts.service.ts +29 -41
- package/src/services/users.service.ts +19 -20
- package/src/version.ts +1 -1
|
@@ -5,23 +5,19 @@ import { Service, Options, RequirementsOf } from './index.js';
|
|
|
5
5
|
import { Attendance } from '../models/attendance.model.js';
|
|
6
6
|
import { ErrorResponse } from '../models/error-response.model.js';
|
|
7
7
|
import { AttendanceQueryParams } from '../interfaces/query-params/attendance-query-params.interface.js';
|
|
8
|
-
import { InternalQueryParams } from '../interfaces/query-params/internal-query-params.interface.js';
|
|
9
8
|
|
|
10
9
|
type RequiredProps = 'user' | 'in_time';
|
|
11
10
|
|
|
12
|
-
class AttendanceService extends Service {
|
|
11
|
+
export class AttendanceService extends Service {
|
|
13
12
|
private apiPath = '/attendance';
|
|
14
13
|
|
|
15
14
|
create(data: RequirementsOf<ApiAttendance, RequiredProps>): Promise<Attendance>;
|
|
16
15
|
create(
|
|
17
16
|
data: RequirementsOf<ApiAttendance, RequiredProps>,
|
|
18
|
-
options: { rawResponse: true
|
|
17
|
+
options: { rawResponse: true } & Options
|
|
19
18
|
): Promise<AxiosResponse<ApiAttendance, any>>;
|
|
20
|
-
create(
|
|
21
|
-
|
|
22
|
-
options: Options<InternalQueryParams>
|
|
23
|
-
): Promise<ApiAttendance>;
|
|
24
|
-
create(data: RequirementsOf<ApiAttendance, RequiredProps>, options?: Options<InternalQueryParams>) {
|
|
19
|
+
create(data: RequirementsOf<ApiAttendance, RequiredProps>, options: Options): Promise<ApiAttendance>;
|
|
20
|
+
create(data: RequirementsOf<ApiAttendance, RequiredProps>, options?: Options) {
|
|
25
21
|
return super.fetch<ApiAttendance>({ url: this.apiPath, data, method: 'POST' }).then(
|
|
26
22
|
(res) => Promise.resolve(options?.rawResponse ? res : new Attendance(res.data)),
|
|
27
23
|
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
@@ -29,29 +25,26 @@ class AttendanceService extends Service {
|
|
|
29
25
|
}
|
|
30
26
|
|
|
31
27
|
get(id: number): Promise<Attendance>;
|
|
32
|
-
get(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
): Promise<AxiosResponse<ApiAttendance, any>>;
|
|
36
|
-
get(id: number, options: Options<InternalQueryParams>): Promise<ApiAttendance>;
|
|
37
|
-
get(id: number, options?: Options<InternalQueryParams>) {
|
|
28
|
+
get(id: number, options: { rawResponse: true } & Options): Promise<AxiosResponse<ApiAttendance, any>>;
|
|
29
|
+
get(id: number, options: Options): Promise<Attendance>;
|
|
30
|
+
get(id: number, options?: Options) {
|
|
38
31
|
return super.fetch<ApiAttendance>({ url: `${this.apiPath}/${id}` }, options).then(
|
|
39
32
|
(res) => Promise.resolve(options?.rawResponse ? res : new Attendance(res.data)),
|
|
40
33
|
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
41
34
|
);
|
|
42
35
|
}
|
|
43
36
|
|
|
44
|
-
async *list(options?: Options
|
|
45
|
-
for await (const res of super.iterator<ApiAttendance>({ url: this.apiPath }, options)) {
|
|
37
|
+
async *list(query: AttendanceQueryParams, options?: Options) {
|
|
38
|
+
for await (const res of super.iterator<ApiAttendance>({ url: this.apiPath, params: query }, options)) {
|
|
46
39
|
yield new Attendance(res);
|
|
47
40
|
}
|
|
48
41
|
}
|
|
49
42
|
|
|
50
|
-
listAll(): Promise<Attendance[]>;
|
|
51
|
-
async listAll() {
|
|
43
|
+
listAll(query: AttendanceQueryParams, options?: Options): Promise<Attendance[]>;
|
|
44
|
+
async listAll(query: AttendanceQueryParams, options?: Options) {
|
|
52
45
|
try {
|
|
53
46
|
const attendance = [] as Attendance[];
|
|
54
|
-
for await (const atten of this.list()) {
|
|
47
|
+
for await (const atten of this.list(query, options)) {
|
|
55
48
|
attendance.push(atten);
|
|
56
49
|
}
|
|
57
50
|
return attendance;
|
|
@@ -60,18 +53,18 @@ class AttendanceService extends Service {
|
|
|
60
53
|
}
|
|
61
54
|
}
|
|
62
55
|
|
|
63
|
-
listByPage(options?: Options
|
|
64
|
-
return super.iterator<ApiAttendance>({ url: this.apiPath }, options).byPage();
|
|
56
|
+
listByPage(query: AttendanceQueryParams, options?: Options) {
|
|
57
|
+
return super.iterator<ApiAttendance>({ url: this.apiPath, params: query }, options).byPage();
|
|
65
58
|
}
|
|
66
59
|
|
|
67
60
|
update(id: number, data: Partial<ApiAttendance>): Promise<Attendance>;
|
|
68
61
|
update(
|
|
69
62
|
id: number,
|
|
70
63
|
data: Partial<ApiAttendance>,
|
|
71
|
-
options: { rawResponse: true
|
|
64
|
+
options: { rawResponse: true } & Options
|
|
72
65
|
): Promise<AxiosResponse<ApiAttendance, any>>;
|
|
73
|
-
update(id: number, data: Partial<ApiAttendance>, options: Options
|
|
74
|
-
update(id: number, data: Partial<ApiAttendance>, options?: Options
|
|
66
|
+
update(id: number, data: Partial<ApiAttendance>, options: Options): Promise<Attendance>;
|
|
67
|
+
update(id: number, data: Partial<ApiAttendance>, options?: Options) {
|
|
75
68
|
return super
|
|
76
69
|
.fetch<ApiAttendance>({
|
|
77
70
|
url: `${this.apiPath}/${id}`,
|
|
@@ -85,17 +78,12 @@ class AttendanceService extends Service {
|
|
|
85
78
|
}
|
|
86
79
|
|
|
87
80
|
delete(id: number): Promise<number>;
|
|
88
|
-
delete(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
): Promise<AxiosResponse<ApiAttendance, any>>;
|
|
92
|
-
delete(id: number, options: Options<InternalQueryParams>): Promise<number>;
|
|
93
|
-
delete(id: number, options?: Options<InternalQueryParams>) {
|
|
81
|
+
delete(id: number, options: { rawResponse: true } & Options): Promise<AxiosResponse<ApiAttendance, any>>;
|
|
82
|
+
delete(id: number, options: Options): Promise<number>;
|
|
83
|
+
delete(id: number, options?: Options) {
|
|
94
84
|
return super.fetch<ApiAttendance>({ url: `${this.apiPath}/${id}`, method: 'DELETE' }).then(
|
|
95
85
|
(res) => Promise.resolve(options?.rawResponse ? res : res.status),
|
|
96
86
|
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
97
87
|
);
|
|
98
88
|
}
|
|
99
89
|
}
|
|
100
|
-
|
|
101
|
-
export { AttendanceService };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
2
|
+
import { ApiAuth } from '../interfaces/index.js';
|
|
3
|
+
import { Service, Options } from './index.js';
|
|
4
|
+
|
|
5
|
+
import { Auth } from '../models/auth.model.js';
|
|
6
|
+
import { ErrorResponse } from '../models/error-response.model.js';
|
|
7
|
+
|
|
8
|
+
export class AuthService extends Service {
|
|
9
|
+
private apiPath = '/auth';
|
|
10
|
+
|
|
11
|
+
get(options?: { rawResponse: true } & Options): Promise<AxiosResponse<ApiAuth, any>>;
|
|
12
|
+
get(options?: Options): Promise<Auth>;
|
|
13
|
+
get(options?: Options) {
|
|
14
|
+
return super.fetch<ApiAuth>({ url: this.apiPath }, options).then(
|
|
15
|
+
(res) => Promise.resolve(options?.rawResponse ? res : new Auth(res.data)),
|
|
16
|
+
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
17
|
+
);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -1,28 +1,18 @@
|
|
|
1
1
|
import { AxiosResponse } from 'axios';
|
|
2
|
-
import { Service, Options
|
|
2
|
+
import { Service, Options } from './index.js';
|
|
3
3
|
|
|
4
|
-
import { InternalQueryParams } from '../interfaces/query-params/internal-query-params.interface.js';
|
|
5
4
|
import { AvailabilityQueryParams } from '../interfaces/query-params/availability-query-params.interface.js';
|
|
6
5
|
import { Availability } from '../models/availability.model.js';
|
|
7
6
|
import { ApiAvailability } from '../interfaces/availability.interface.js';
|
|
8
7
|
import { ErrorResponse } from '../models/error-response.model.js';
|
|
9
8
|
|
|
10
|
-
type RequiredProps = 'start' | 'end';
|
|
11
|
-
type RequiredOptions<T> = RequirementsOf<Options<T>, 'params'>;
|
|
12
|
-
|
|
13
9
|
export class AvailabilityService extends Service {
|
|
14
10
|
private apiPath = '/availability';
|
|
15
11
|
|
|
16
12
|
update(data: ApiAvailability): Promise<Availability>;
|
|
17
|
-
update(
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
): Promise<AxiosResponse<ApiAvailability>>;
|
|
21
|
-
update(
|
|
22
|
-
data: ApiAvailability,
|
|
23
|
-
options?: Options<InternalQueryParams>
|
|
24
|
-
): Promise<Availability | AxiosResponse<ApiAvailability>>;
|
|
25
|
-
update(data: ApiAvailability, options?: Options<InternalQueryParams>) {
|
|
13
|
+
update(data: ApiAvailability, options: { rawResponse: true } & Options): Promise<AxiosResponse<ApiAvailability>>;
|
|
14
|
+
update(data: ApiAvailability, options?: Options): Promise<Availability | AxiosResponse<ApiAvailability>>;
|
|
15
|
+
update(data: ApiAvailability, options?: Options) {
|
|
26
16
|
return super
|
|
27
17
|
.fetch<ApiAvailability>({
|
|
28
18
|
url: this.apiPath,
|
|
@@ -37,15 +27,9 @@ export class AvailabilityService extends Service {
|
|
|
37
27
|
|
|
38
28
|
/** Alias of {@link AvailabilityService["update"]} */
|
|
39
29
|
create(data: ApiAvailability): Promise<Availability>;
|
|
40
|
-
create(
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
): Promise<AxiosResponse<ApiAvailability>>;
|
|
44
|
-
create(
|
|
45
|
-
data: ApiAvailability,
|
|
46
|
-
options?: Options<InternalQueryParams>
|
|
47
|
-
): Promise<Availability | AxiosResponse<ApiAvailability>>;
|
|
48
|
-
create(data: ApiAvailability, options?: Options<InternalQueryParams>) {
|
|
30
|
+
create(data: ApiAvailability, options: { rawResponse: true } & Options): Promise<AxiosResponse<ApiAvailability>>;
|
|
31
|
+
create(data: ApiAvailability, options?: Options): Promise<Availability | AxiosResponse<ApiAvailability>>;
|
|
32
|
+
create(data: ApiAvailability, options?: Options) {
|
|
49
33
|
return this.update(data, options);
|
|
50
34
|
}
|
|
51
35
|
|
|
@@ -53,14 +37,10 @@ export class AvailabilityService extends Service {
|
|
|
53
37
|
delete(
|
|
54
38
|
user: number,
|
|
55
39
|
dates: string[],
|
|
56
|
-
options: { rawResponse: true
|
|
40
|
+
options: { rawResponse: true } & Options
|
|
57
41
|
): Promise<AxiosResponse<ApiAvailability>>;
|
|
58
|
-
delete(
|
|
59
|
-
|
|
60
|
-
dates: string[],
|
|
61
|
-
options?: Options<InternalQueryParams>
|
|
62
|
-
): Promise<Availability | AxiosResponse<ApiAvailability>>;
|
|
63
|
-
delete(user: number, dates: string[], options?: Options<InternalQueryParams>) {
|
|
42
|
+
delete(user: number, dates: string[], options?: Options): Promise<Availability | AxiosResponse<ApiAvailability>>;
|
|
43
|
+
delete(user: number, dates: string[], options?: Options) {
|
|
64
44
|
return this.update(
|
|
65
45
|
{
|
|
66
46
|
user,
|
|
@@ -76,13 +56,13 @@ export class AvailabilityService extends Service {
|
|
|
76
56
|
);
|
|
77
57
|
}
|
|
78
58
|
|
|
79
|
-
async *list(
|
|
80
|
-
for await (const res of super.iterator<ApiAvailability>({ url: this.apiPath }, options)) {
|
|
59
|
+
async *list(query: AvailabilityQueryParams, options?: Options) {
|
|
60
|
+
for await (const res of super.iterator<ApiAvailability>({ url: this.apiPath, params: query }, options)) {
|
|
81
61
|
yield new Availability(res);
|
|
82
62
|
}
|
|
83
63
|
}
|
|
84
64
|
|
|
85
|
-
listByPage(
|
|
86
|
-
return super.iterator<ApiAvailability>({ url: this.apiPath }, options).byPage();
|
|
65
|
+
listByPage(query: AvailabilityQueryParams, options?: Options) {
|
|
66
|
+
return super.iterator<ApiAvailability>({ url: this.apiPath, params: query }, options).byPage();
|
|
87
67
|
}
|
|
88
68
|
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
2
|
+
import { ApiDailyBudgets } from '../interfaces/daily-budgets.interface.js';
|
|
3
|
+
import { Service, Options } from './index.js';
|
|
4
|
+
|
|
5
|
+
import { DailyBudgets } from '../models/daily-budgets.model.js';
|
|
6
|
+
import { ErrorResponse } from '../models/error-response.model.js';
|
|
7
|
+
import { DailyBudgetsQueryParams } from '../interfaces/query-params/daily-budgets-query-params.interface.js';
|
|
8
|
+
|
|
9
|
+
export class DailyBudgetsService extends Service {
|
|
10
|
+
private apiPath = '/daily_budgets';
|
|
11
|
+
|
|
12
|
+
async *list(query: DailyBudgetsQueryParams, options?: Options) {
|
|
13
|
+
for await (const res of super.iterator<ApiDailyBudgets>({ url: this.apiPath, params: query }, options)) {
|
|
14
|
+
yield new DailyBudgets(res);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
listAll(query: DailyBudgetsQueryParams, options?: Options): Promise<DailyBudgets[]>;
|
|
19
|
+
async listAll(query: DailyBudgetsQueryParams, options?: Options) {
|
|
20
|
+
try {
|
|
21
|
+
const attendance = [] as DailyBudgets[];
|
|
22
|
+
for await (const atten of this.list(query, options)) {
|
|
23
|
+
attendance.push(atten);
|
|
24
|
+
}
|
|
25
|
+
return attendance;
|
|
26
|
+
} catch (err) {
|
|
27
|
+
return err;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
listByPage(query: DailyBudgetsQueryParams, options?: Options) {
|
|
32
|
+
return super.iterator<ApiDailyBudgets>({ url: this.apiPath, params: query }, options).byPage();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
update(data: Partial<ApiDailyBudgets>[]): Promise<number>;
|
|
36
|
+
update(
|
|
37
|
+
data: Partial<ApiDailyBudgets>[],
|
|
38
|
+
options: { rawResponse: true } & Options
|
|
39
|
+
): Promise<AxiosResponse<ApiDailyBudgets, any>>;
|
|
40
|
+
update(data: Partial<ApiDailyBudgets>[], options: Options): Promise<number>;
|
|
41
|
+
update(data: Partial<ApiDailyBudgets>[], options?: Options) {
|
|
42
|
+
return super
|
|
43
|
+
.fetch<ApiDailyBudgets>({
|
|
44
|
+
url: `${this.apiPath}`,
|
|
45
|
+
data,
|
|
46
|
+
method: 'POST',
|
|
47
|
+
})
|
|
48
|
+
.then(
|
|
49
|
+
(res) => Promise.resolve(options?.rawResponse ? res : res.status),
|
|
50
|
+
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { AxiosResponse } from 'axios';
|
|
2
|
+
import { ApiDailyRevenue } from '../interfaces/daily-revenue.interface.js';
|
|
3
|
+
import { Service, Options } from './index.js';
|
|
4
|
+
|
|
5
|
+
import { DailyRevenue } from '../models/daily-revenue.model.js';
|
|
6
|
+
import { ErrorResponse } from '../models/error-response.model.js';
|
|
7
|
+
import { DailyRevenueQueryParams } from '../interfaces/query-params/daily-revenue-query-params.interface.js';
|
|
8
|
+
|
|
9
|
+
export class DailyRevenueService extends Service {
|
|
10
|
+
private apiPath = '/daily_revenue';
|
|
11
|
+
|
|
12
|
+
async *list(query: DailyRevenueQueryParams, options?: Options) {
|
|
13
|
+
for await (const res of super.iterator<ApiDailyRevenue>({ url: this.apiPath, params: query }, options)) {
|
|
14
|
+
yield new DailyRevenue(res);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
listAll(query: DailyRevenueQueryParams, options?: Options): Promise<DailyRevenue[]>;
|
|
19
|
+
async listAll(query: DailyRevenueQueryParams, options?: Options) {
|
|
20
|
+
try {
|
|
21
|
+
const attendance = [] as DailyRevenue[];
|
|
22
|
+
for await (const atten of this.list(query, options)) {
|
|
23
|
+
attendance.push(atten);
|
|
24
|
+
}
|
|
25
|
+
return attendance;
|
|
26
|
+
} catch (err) {
|
|
27
|
+
return err;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
listByPage(query: DailyRevenueQueryParams, options?: Options) {
|
|
32
|
+
return super.iterator<ApiDailyRevenue>({ url: this.apiPath, params: query }, options).byPage();
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
update(data: Partial<ApiDailyRevenue>[]): Promise<number>;
|
|
36
|
+
update(
|
|
37
|
+
data: Partial<ApiDailyRevenue>[],
|
|
38
|
+
options: { rawResponse: true } & Options
|
|
39
|
+
): Promise<AxiosResponse<ApiDailyRevenue, any>>;
|
|
40
|
+
update(data: Partial<ApiDailyRevenue>[], options: Options): Promise<number>;
|
|
41
|
+
update(data: Partial<ApiDailyRevenue>[], options?: Options) {
|
|
42
|
+
return super
|
|
43
|
+
.fetch<ApiDailyRevenue>({
|
|
44
|
+
url: `${this.apiPath}`,
|
|
45
|
+
data,
|
|
46
|
+
method: 'POST',
|
|
47
|
+
})
|
|
48
|
+
.then(
|
|
49
|
+
(res) => Promise.resolve(options?.rawResponse ? res : res.status),
|
|
50
|
+
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
@@ -3,21 +3,21 @@ import { ApiDaysOff } from '../interfaces/index.js';
|
|
|
3
3
|
import { Service, Options } from './index.js';
|
|
4
4
|
|
|
5
5
|
import { ErrorResponse } from '../models/error-response.model.js';
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
import { DaysOff } from '../models/days-off.model.js';
|
|
8
8
|
import { DaysOffQueryParams } from '../interfaces/query-params/days-off-query-params.interface.js';
|
|
9
9
|
|
|
10
|
-
class DaysOffService extends Service<ApiDaysOff> {
|
|
10
|
+
export class DaysOffService extends Service<ApiDaysOff> {
|
|
11
11
|
private apiPath = '/days_off';
|
|
12
12
|
|
|
13
13
|
create(dates: string[], users: number[]): Promise<number>;
|
|
14
14
|
create(
|
|
15
15
|
dates: string[],
|
|
16
16
|
users: number[],
|
|
17
|
-
options: { rawResponse: true
|
|
17
|
+
options: { rawResponse: true } & Options
|
|
18
18
|
): Promise<AxiosResponse<ApiDaysOff, any>>;
|
|
19
|
-
create(dates: string[], users: number[], options: Options
|
|
20
|
-
create(dates: string[], users: number[], options?: Options
|
|
19
|
+
create(dates: string[], users: number[], options: Options): Promise<number>;
|
|
20
|
+
create(dates: string[], users: number[], options?: Options) {
|
|
21
21
|
return super
|
|
22
22
|
.fetch({
|
|
23
23
|
url: this.apiPath,
|
|
@@ -33,17 +33,17 @@ class DaysOffService extends Service<ApiDaysOff> {
|
|
|
33
33
|
);
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
async *list(options?: Options
|
|
37
|
-
for await (const res of super.iterator({ url: this.apiPath }, options)) {
|
|
36
|
+
async *list(query: DaysOffQueryParams, options?: Options) {
|
|
37
|
+
for await (const res of super.iterator({ url: this.apiPath, params: query }, options)) {
|
|
38
38
|
yield new DaysOff(res);
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
listAll(): Promise<DaysOff[]>;
|
|
43
|
-
async listAll() {
|
|
42
|
+
listAll(query: DaysOffQueryParams, options?: Options): Promise<DaysOff[]>;
|
|
43
|
+
async listAll(query: DaysOffQueryParams, options?: Options) {
|
|
44
44
|
try {
|
|
45
45
|
const daysOff = [] as DaysOff[];
|
|
46
|
-
for await (const dayOff of this.list()) {
|
|
46
|
+
for await (const dayOff of this.list(query, options)) {
|
|
47
47
|
daysOff.push(dayOff);
|
|
48
48
|
}
|
|
49
49
|
return daysOff;
|
|
@@ -52,18 +52,14 @@ class DaysOffService extends Service<ApiDaysOff> {
|
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
listByPage(options?: Options
|
|
56
|
-
return super.iterator({ url: this.apiPath }, options).byPage();
|
|
55
|
+
listByPage(query: DaysOffQueryParams, options?: Options) {
|
|
56
|
+
return super.iterator({ url: this.apiPath, params: query }, options).byPage();
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
delete(dates: string[], users: number[]): Promise<number>;
|
|
60
|
-
delete(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
options: { rawResponse: true; params?: InternalQueryParams }
|
|
64
|
-
): Promise<AxiosResponse<any, any>>;
|
|
65
|
-
delete(dates: string[], users: number[], options: Options<InternalQueryParams>): Promise<number>;
|
|
66
|
-
delete(dates: string[], users: number[], options?: Options<InternalQueryParams>) {
|
|
60
|
+
delete(dates: string[], users: number[], options: { rawResponse: true } & Options): Promise<AxiosResponse<any, any>>;
|
|
61
|
+
delete(dates: string[], users: number[], options: Options): Promise<number>;
|
|
62
|
+
delete(dates: string[], users: number[], options?: Options) {
|
|
67
63
|
return super
|
|
68
64
|
.fetch({
|
|
69
65
|
url: this.apiPath,
|
|
@@ -79,5 +75,3 @@ class DaysOffService extends Service<ApiDaysOff> {
|
|
|
79
75
|
);
|
|
80
76
|
}
|
|
81
77
|
}
|
|
82
|
-
|
|
83
|
-
export { DaysOffService };
|
|
@@ -3,22 +3,22 @@ import { ApiGroup } from '../interfaces/index.js';
|
|
|
3
3
|
import { Service, Options, RequirementsOf } from './index.js';
|
|
4
4
|
|
|
5
5
|
import { ErrorResponse } from '../models/error-response.model.js';
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
import { Group } from '../models/group.model.js';
|
|
8
8
|
import { GroupsQueryParams } from '../interfaces/query-params/groups-query-params.interface.js';
|
|
9
9
|
|
|
10
10
|
type RequiredProps = 'name';
|
|
11
11
|
|
|
12
|
-
class GroupsService extends Service {
|
|
12
|
+
export class GroupsService extends Service {
|
|
13
13
|
private apiPath = '/groups';
|
|
14
14
|
|
|
15
15
|
create(data: RequirementsOf<ApiGroup, RequiredProps>): Promise<Group>;
|
|
16
16
|
create(
|
|
17
17
|
data: RequirementsOf<ApiGroup, RequiredProps>,
|
|
18
|
-
options: { rawResponse: true
|
|
18
|
+
options: { rawResponse: true } & Options
|
|
19
19
|
): Promise<AxiosResponse<ApiGroup, any>>;
|
|
20
|
-
create(data: RequirementsOf<ApiGroup, RequiredProps>, options: Options
|
|
21
|
-
create(data: RequirementsOf<ApiGroup, RequiredProps>, options?: Options
|
|
20
|
+
create(data: RequirementsOf<ApiGroup, RequiredProps>, options: Options): Promise<Group>;
|
|
21
|
+
create(data: RequirementsOf<ApiGroup, RequiredProps>, options?: Options) {
|
|
22
22
|
return super.fetch<ApiGroup>({ url: this.apiPath, data, method: 'POST' }).then(
|
|
23
23
|
(res) => Promise.resolve(options?.rawResponse ? res : new Group(res.data)),
|
|
24
24
|
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
@@ -26,26 +26,26 @@ class GroupsService extends Service {
|
|
|
26
26
|
}
|
|
27
27
|
|
|
28
28
|
get(id: number): Promise<Group>;
|
|
29
|
-
get(id: number, options: { rawResponse: true
|
|
30
|
-
get(id: number, options: Options
|
|
31
|
-
get(id: number, options?: Options
|
|
29
|
+
get(id: number, options: { rawResponse: true } & Options): Promise<AxiosResponse<ApiGroup, any>>;
|
|
30
|
+
get(id: number, options: Options): Promise<Group>;
|
|
31
|
+
get(id: number, options?: Options) {
|
|
32
32
|
return super.fetch<ApiGroup>({ url: `${this.apiPath}/${id}` }, options).then(
|
|
33
33
|
(res) => Promise.resolve(options?.rawResponse ? res : new Group(res.data)),
|
|
34
34
|
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
35
35
|
);
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
async *list(options?: Options
|
|
39
|
-
for await (const res of super.iterator<ApiGroup>({ url: this.apiPath }, options)) {
|
|
38
|
+
async *list(query: GroupsQueryParams, options?: Options) {
|
|
39
|
+
for await (const res of super.iterator<ApiGroup>({ url: this.apiPath, params: query }, options)) {
|
|
40
40
|
yield new Group(res);
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
listAll(): Promise<Group[]>;
|
|
45
|
-
async listAll() {
|
|
44
|
+
listAll(query: GroupsQueryParams, options?: Options): Promise<Group[]>;
|
|
45
|
+
async listAll(query: GroupsQueryParams, options?: Options) {
|
|
46
46
|
try {
|
|
47
47
|
const groups = [] as Group[];
|
|
48
|
-
for await (const group of this.list()) {
|
|
48
|
+
for await (const group of this.list(query, options)) {
|
|
49
49
|
groups.push(group);
|
|
50
50
|
}
|
|
51
51
|
return groups;
|
|
@@ -54,18 +54,18 @@ class GroupsService extends Service {
|
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
listByPage(options?: Options
|
|
58
|
-
return super.iterator<ApiGroup>({ url: this.apiPath }, options).byPage();
|
|
57
|
+
listByPage(query: GroupsQueryParams, options?: Options) {
|
|
58
|
+
return super.iterator<ApiGroup>({ url: this.apiPath, params: query }, options).byPage();
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
update(id: number, data: Partial<ApiGroup>): Promise<Group>;
|
|
62
62
|
update(
|
|
63
63
|
id: number,
|
|
64
64
|
data: Partial<ApiGroup>,
|
|
65
|
-
options: { rawResponse: true
|
|
65
|
+
options: { rawResponse: true } & Options
|
|
66
66
|
): Promise<AxiosResponse<ApiGroup, any>>;
|
|
67
|
-
update(id: number, data: Partial<ApiGroup>, options: Options
|
|
68
|
-
update(id: number, data: Partial<ApiGroup>, options?: Options
|
|
67
|
+
update(id: number, data: Partial<ApiGroup>, options: Options): Promise<Group>;
|
|
68
|
+
update(id: number, data: Partial<ApiGroup>, options?: Options) {
|
|
69
69
|
return super
|
|
70
70
|
.fetch<ApiGroup>({
|
|
71
71
|
url: `${this.apiPath}/${id}`,
|
|
@@ -79,14 +79,12 @@ class GroupsService extends Service {
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
delete(id: number): Promise<number>;
|
|
82
|
-
delete(id: number, options: { rawResponse: true
|
|
83
|
-
delete(id: number, options: Options
|
|
84
|
-
delete(id: number, options?: Options
|
|
82
|
+
delete(id: number, options: { rawResponse: true } & Options): Promise<AxiosResponse<any, any>>;
|
|
83
|
+
delete(id: number, options: Options): Promise<number>;
|
|
84
|
+
delete(id: number, options?: Options) {
|
|
85
85
|
return super.fetch<ApiGroup>({ url: `${this.apiPath}/${id}`, method: 'DELETE' }).then(
|
|
86
86
|
(res) => Promise.resolve(options?.rawResponse ? res : res.status),
|
|
87
87
|
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
88
88
|
);
|
|
89
89
|
}
|
|
90
90
|
}
|
|
91
|
-
|
|
92
|
-
export { GroupsService };
|
package/src/services/index.ts
CHANGED
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
export * from './service.js';
|
|
2
2
|
export * from './accounts.service.js';
|
|
3
3
|
export * from './attendance.service.js';
|
|
4
|
+
export * from './auth.service.js';
|
|
4
5
|
export * from './availability.service.js';
|
|
6
|
+
export * from './daily-budgets.service.js';
|
|
7
|
+
export * from './daily-revenue.service.js';
|
|
5
8
|
export * from './days-off.service.js';
|
|
6
9
|
export * from './groups.service.js';
|
|
7
10
|
export * from './leave-request.service.js';
|
|
@@ -4,24 +4,20 @@ import { Service, Options, RequirementsOf } from './index.js';
|
|
|
4
4
|
|
|
5
5
|
import { LeaveEmbargo } from '../models/leave-embargo.model.js';
|
|
6
6
|
import { ErrorResponse } from '../models/error-response.model.js';
|
|
7
|
-
import {
|
|
8
|
-
import { InternalQueryParams } from '../interfaces/query-params/internal-query-params.interface.js';
|
|
7
|
+
import { LeaveEmbargoesQueryParams } from '../rotacloud.js';
|
|
9
8
|
|
|
10
9
|
type RequiredProps = 'start_date' | 'end_date' | 'users';
|
|
11
10
|
|
|
12
|
-
class LeaveEmbargoesService extends Service {
|
|
11
|
+
export class LeaveEmbargoesService extends Service {
|
|
13
12
|
private apiPath = '/leave_embargoes';
|
|
14
13
|
|
|
15
14
|
create(data: RequirementsOf<ApiLeaveEmbargo, RequiredProps>): Promise<LeaveEmbargo>;
|
|
16
15
|
create(
|
|
17
16
|
data: RequirementsOf<ApiLeaveEmbargo, RequiredProps>,
|
|
18
|
-
options: { rawResponse: true
|
|
17
|
+
options: { rawResponse: true } & Options
|
|
19
18
|
): Promise<AxiosResponse<ApiLeaveEmbargo, any>>;
|
|
20
|
-
create(
|
|
21
|
-
|
|
22
|
-
options: Options<InternalQueryParams>
|
|
23
|
-
): Promise<LeaveEmbargo>;
|
|
24
|
-
create(data: RequirementsOf<ApiLeaveEmbargo, RequiredProps>, options?: Options<InternalQueryParams>) {
|
|
19
|
+
create(data: RequirementsOf<ApiLeaveEmbargo, RequiredProps>, options: Options): Promise<LeaveEmbargo>;
|
|
20
|
+
create(data: RequirementsOf<ApiLeaveEmbargo, RequiredProps>, options?: Options) {
|
|
25
21
|
return super.fetch<ApiLeaveEmbargo>({ url: this.apiPath, data, method: 'POST' }).then(
|
|
26
22
|
(res) => Promise.resolve(options?.rawResponse ? res : new LeaveEmbargo(res.data)),
|
|
27
23
|
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
@@ -29,29 +25,26 @@ class LeaveEmbargoesService extends Service {
|
|
|
29
25
|
}
|
|
30
26
|
|
|
31
27
|
get(id: number): Promise<LeaveEmbargo>;
|
|
32
|
-
get(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
): Promise<AxiosResponse<ApiLeaveEmbargo, any>>;
|
|
36
|
-
get(id: number, options: Options<InternalQueryParams>): Promise<LeaveEmbargo>;
|
|
37
|
-
get(id: number, options?: Options<InternalQueryParams>) {
|
|
28
|
+
get(id: number, options: { rawResponse: true }): Promise<AxiosResponse<ApiLeaveEmbargo, any>>;
|
|
29
|
+
get(id: number, options: Options): Promise<LeaveEmbargo>;
|
|
30
|
+
get(id: number, options?: Options) {
|
|
38
31
|
return super.fetch<ApiLeaveEmbargo>({ url: `${this.apiPath}/${id}` }, options).then(
|
|
39
32
|
(res) => Promise.resolve(options?.rawResponse ? res : new LeaveEmbargo(res.data)),
|
|
40
33
|
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
41
34
|
);
|
|
42
35
|
}
|
|
43
36
|
|
|
44
|
-
async *list(options?: Options
|
|
45
|
-
for await (const res of super.iterator<ApiLeaveEmbargo>({ url: this.apiPath }, options)) {
|
|
37
|
+
async *list(query: LeaveEmbargoesQueryParams, options?: Options) {
|
|
38
|
+
for await (const res of super.iterator<ApiLeaveEmbargo>({ url: this.apiPath, params: query }, options)) {
|
|
46
39
|
yield new LeaveEmbargo(res);
|
|
47
40
|
}
|
|
48
41
|
}
|
|
49
42
|
|
|
50
|
-
listAll(): Promise<LeaveEmbargo[]>;
|
|
51
|
-
async listAll() {
|
|
43
|
+
listAll(query: LeaveEmbargoesQueryParams, options?: Options): Promise<LeaveEmbargo[]>;
|
|
44
|
+
async listAll(query: LeaveEmbargoesQueryParams, options?: Options) {
|
|
52
45
|
try {
|
|
53
46
|
const leave = [] as LeaveEmbargo[];
|
|
54
|
-
for await (const leaveEmbargoRecord of this.list()) {
|
|
47
|
+
for await (const leaveEmbargoRecord of this.list(query, options)) {
|
|
55
48
|
leave.push(leaveEmbargoRecord);
|
|
56
49
|
}
|
|
57
50
|
return leave;
|
|
@@ -60,18 +53,18 @@ class LeaveEmbargoesService extends Service {
|
|
|
60
53
|
}
|
|
61
54
|
}
|
|
62
55
|
|
|
63
|
-
listByPage(options?: Options
|
|
64
|
-
return super.iterator<ApiLeaveEmbargo>({ url: this.apiPath }, options).byPage();
|
|
56
|
+
listByPage(query: LeaveEmbargoesQueryParams, options?: Options) {
|
|
57
|
+
return super.iterator<ApiLeaveEmbargo>({ url: this.apiPath, params: query }, options).byPage();
|
|
65
58
|
}
|
|
66
59
|
|
|
67
60
|
update(id: number, data: Partial<ApiLeaveEmbargo>): Promise<LeaveEmbargo>;
|
|
68
61
|
update(
|
|
69
62
|
id: number,
|
|
70
63
|
data: Partial<ApiLeaveEmbargo>,
|
|
71
|
-
options: { rawResponse: true
|
|
64
|
+
options: { rawResponse: true } & Options
|
|
72
65
|
): Promise<AxiosResponse<ApiLeaveEmbargo, any>>;
|
|
73
|
-
update(id: number, data: Partial<ApiLeaveEmbargo>, options: Options
|
|
74
|
-
update(id: number, data: Partial<ApiLeaveEmbargo>, options?: Options
|
|
66
|
+
update(id: number, data: Partial<ApiLeaveEmbargo>, options: Options): Promise<LeaveEmbargo>;
|
|
67
|
+
update(id: number, data: Partial<ApiLeaveEmbargo>, options?: Options) {
|
|
75
68
|
return super
|
|
76
69
|
.fetch<ApiLeaveEmbargo>({
|
|
77
70
|
url: `${this.apiPath}/${id}`,
|
|
@@ -85,14 +78,12 @@ class LeaveEmbargoesService extends Service {
|
|
|
85
78
|
}
|
|
86
79
|
|
|
87
80
|
delete(id: number): Promise<number>;
|
|
88
|
-
delete(id: number, options: { rawResponse: true
|
|
89
|
-
delete(id: number, options: Options
|
|
90
|
-
delete(id: number, options?: Options
|
|
81
|
+
delete(id: number, options: { rawResponse: true } & Options): Promise<AxiosResponse<any, any>>;
|
|
82
|
+
delete(id: number, options: Options): Promise<number>;
|
|
83
|
+
delete(id: number, options?: Options) {
|
|
91
84
|
return super.fetch<ApiLeaveEmbargo>({ url: `${this.apiPath}/${id}`, method: 'DELETE' }).then(
|
|
92
85
|
(res) => Promise.resolve(options?.rawResponse ? res : res.status),
|
|
93
86
|
(err) => Promise.reject(options?.rawResponse ? err : new ErrorResponse(err))
|
|
94
87
|
);
|
|
95
88
|
}
|
|
96
89
|
}
|
|
97
|
-
|
|
98
|
-
export { LeaveEmbargoesService };
|