@ezpaarse-project/ezreeport-sdk-js 1.0.0-beta.5 → 1.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +19 -752
- package/dist/browser/ezreeport-sdk-js.mjs +727 -668
- package/dist/browser/ezreeport-sdk-js.mjs.map +1 -1
- package/dist/browser/ezreeport-sdk-js.umd.js +3 -3
- package/dist/browser/ezreeport-sdk-js.umd.js.map +1 -1
- package/dist/node/package.json +13 -11
- package/dist/node/src/index.js +4 -2
- package/dist/node/src/index.js.map +1 -1
- package/dist/node/src/lib/axios.js +5 -1
- package/dist/node/src/lib/axios.js.map +1 -1
- package/dist/node/src/lib/utils.js.map +1 -1
- package/dist/node/src/modules/auth.js.map +1 -1
- package/dist/node/src/modules/crons.js +35 -12
- package/dist/node/src/modules/crons.js.map +1 -1
- package/dist/node/src/modules/crons.public.js +2 -1
- package/dist/node/src/modules/crons.public.js.map +1 -1
- package/dist/node/src/modules/queues.js +56 -13
- package/dist/node/src/modules/queues.js.map +1 -1
- package/dist/node/src/modules/queues.public.js +3 -1
- package/dist/node/src/modules/queues.public.js.map +1 -1
- package/dist/node/src/modules/reports.js +11 -10
- package/dist/node/src/modules/reports.js.map +1 -1
- package/dist/node/src/modules/tasks.base.js.map +1 -1
- package/dist/node/src/modules/tasks.js +59 -21
- package/dist/node/src/modules/tasks.js.map +1 -1
- package/dist/node/src/modules/tasks.public.js +3 -1
- package/dist/node/src/modules/tasks.public.js.map +1 -1
- package/dist/node/{modules/history.js → src/modules/tasksActivity.js} +13 -11
- package/dist/node/src/modules/tasksActivity.js.map +1 -0
- package/dist/node/src/modules/tasksActivity.public.js +6 -0
- package/dist/node/src/modules/tasksActivity.public.js.map +1 -0
- package/dist/node/src/modules/templates.js +23 -22
- package/dist/node/src/modules/templates.js.map +1 -1
- package/dist/types/{index.d.ts → src/index.d.ts} +6 -2
- package/dist/types/{lib → src/lib}/axios.d.ts +1 -1
- package/dist/types/{lib → src/lib}/promises.d.ts +1 -0
- package/dist/types/{lib → src/lib}/utils.d.ts +0 -5
- package/dist/types/{modules → src/modules}/crons.d.ts +32 -8
- package/dist/types/src/modules/crons.public.d.ts +1 -0
- package/dist/types/{modules → src/modules}/queues.d.ts +41 -12
- package/dist/types/src/modules/queues.public.d.ts +1 -0
- package/dist/types/{modules → src/modules}/reports.d.ts +16 -15
- package/dist/types/src/modules/tasks.d.ts +170 -0
- package/dist/types/src/modules/tasks.public.d.ts +2 -0
- package/dist/types/src/modules/tasksActivity.d.ts +38 -0
- package/dist/types/src/modules/tasksActivity.public.d.ts +5 -0
- package/dist/types/src/modules/templates.d.ts +152 -0
- package/package.json +13 -11
- package/dist/node/index.js +0 -38
- package/dist/node/index.js.map +0 -1
- package/dist/node/lib/axios.js +0 -91
- package/dist/node/lib/axios.js.map +0 -1
- package/dist/node/lib/promises.js +0 -26
- package/dist/node/lib/promises.js.map +0 -1
- package/dist/node/lib/utils.js +0 -24
- package/dist/node/lib/utils.js.map +0 -1
- package/dist/node/modules/auth.js +0 -61
- package/dist/node/modules/auth.js.map +0 -1
- package/dist/node/modules/crons.js +0 -105
- package/dist/node/modules/crons.js.map +0 -1
- package/dist/node/modules/health.js +0 -52
- package/dist/node/modules/health.js.map +0 -1
- package/dist/node/modules/history.js.map +0 -1
- package/dist/node/modules/institutions.js +0 -61
- package/dist/node/modules/institutions.js.map +0 -1
- package/dist/node/modules/queues.js +0 -128
- package/dist/node/modules/queues.js.map +0 -1
- package/dist/node/modules/reports.js +0 -261
- package/dist/node/modules/reports.js.map +0 -1
- package/dist/node/modules/setup.js +0 -35
- package/dist/node/modules/setup.js.map +0 -1
- package/dist/node/modules/tasks.js +0 -187
- package/dist/node/modules/tasks.js.map +0 -1
- package/dist/node/modules/templates.js +0 -28
- package/dist/node/modules/templates.js.map +0 -1
- package/dist/types/modules/crons.public.d.ts +0 -1
- package/dist/types/modules/institutions.d.ts +0 -56
- package/dist/types/modules/queues.public.d.ts +0 -1
- package/dist/types/modules/tasks.d.ts +0 -125
- package/dist/types/modules/tasks.public.d.ts +0 -2
- package/dist/types/modules/templates.d.ts +0 -115
- /package/dist/types/{modules → src/modules}/auth.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/auth.public.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/health.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/health.public.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/history.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/history.public.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/namespaces.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/namespaces.public.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/reports.public.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/setup.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/setup.public.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/tasks.base.d.ts +0 -0
- /package/dist/types/{modules → src/modules}/templates.public.d.ts +0 -0
|
@@ -25,6 +25,9 @@ export interface Queue {
|
|
|
25
25
|
status: 'paused' | 'active';
|
|
26
26
|
name: string;
|
|
27
27
|
}
|
|
28
|
+
export interface InputQueue {
|
|
29
|
+
status: Queue['status'];
|
|
30
|
+
}
|
|
28
31
|
/**
|
|
29
32
|
* Get all available queues
|
|
30
33
|
*
|
|
@@ -33,36 +36,62 @@ export interface Queue {
|
|
|
33
36
|
* @returns All queues' names
|
|
34
37
|
*/
|
|
35
38
|
export declare const getAllQueues: () => Promise<ApiResponse<Queue[]>>;
|
|
39
|
+
/**
|
|
40
|
+
* Get specific queue
|
|
41
|
+
*
|
|
42
|
+
* Needs `general.queues-get-queue` permission
|
|
43
|
+
*
|
|
44
|
+
* @param queueOrName Queue or queue's name
|
|
45
|
+
*
|
|
46
|
+
* @returns queue info
|
|
47
|
+
*/
|
|
48
|
+
export declare const getQueue: (queueOrName: Queue | Queue['name']) => Promise<ApiResponse<Queue>>;
|
|
49
|
+
/**
|
|
50
|
+
* Update specific queue
|
|
51
|
+
*
|
|
52
|
+
* Needs `general.queues-patch-queue` permission
|
|
53
|
+
*
|
|
54
|
+
* @param queueOrName Queue or queue's name
|
|
55
|
+
*
|
|
56
|
+
* @returns queue info
|
|
57
|
+
*/
|
|
58
|
+
export declare const updateQueue: (queue: Partial<InputQueue> & {
|
|
59
|
+
name: Queue['name'];
|
|
60
|
+
}) => Promise<ApiResponse<Queue>>;
|
|
36
61
|
/**
|
|
37
62
|
* Pause queue
|
|
38
63
|
*
|
|
39
64
|
* Needs `general.queues-put-queue-pause` permission
|
|
40
65
|
*
|
|
41
|
-
* @param
|
|
66
|
+
* @param queueOrName Queue or queue's name
|
|
67
|
+
*
|
|
68
|
+
* @deprecated Use `updateQueue` instead
|
|
42
69
|
*
|
|
43
70
|
* @returns queue info
|
|
44
71
|
*/
|
|
45
|
-
export declare const pauseQueue: (
|
|
72
|
+
export declare const pauseQueue: (queueOrName: Queue | Queue['name']) => Promise<ApiResponse<Queue>>;
|
|
46
73
|
/**
|
|
47
74
|
* Resume queue
|
|
48
75
|
*
|
|
49
76
|
* Needs `general.queues-put-queue-resume` permission
|
|
50
77
|
*
|
|
51
|
-
* @param
|
|
78
|
+
* @param queueOrName Queue or queue's name
|
|
79
|
+
*
|
|
80
|
+
* @deprecated Use `updateQueue` instead
|
|
52
81
|
*
|
|
53
82
|
* @returns queue info
|
|
54
83
|
*/
|
|
55
|
-
export declare const resumeQueue: (
|
|
84
|
+
export declare const resumeQueue: (queueOrName: Queue | Queue['name']) => Promise<ApiResponse<Queue>>;
|
|
56
85
|
/**
|
|
57
86
|
* Get queue info
|
|
58
87
|
*
|
|
59
88
|
* Needs `general.queues-get-queue-jobs` permission
|
|
60
89
|
*
|
|
61
|
-
* @param
|
|
90
|
+
* @param queueOrName Queue or queue's name
|
|
62
91
|
*
|
|
63
92
|
* @returns queue info
|
|
64
93
|
*/
|
|
65
|
-
export declare const getQueueJobs: <Data, Result>(
|
|
94
|
+
export declare const getQueueJobs: <Data, Result>(queueOrName: Queue | Queue['name'], paginationOpts?: {
|
|
66
95
|
previous?: string | number | undefined;
|
|
67
96
|
count?: number | undefined;
|
|
68
97
|
} | undefined) => Promise<PaginatedApiResponse<FullJob<Data, Result>[]>>;
|
|
@@ -71,23 +100,23 @@ export declare const getQueueJobs: <Data, Result>(queueName: string, paginationO
|
|
|
71
100
|
*
|
|
72
101
|
* Needs `namespaces[namespaceId].queues-get-queue-jobs-jobId` permission
|
|
73
102
|
*
|
|
74
|
-
* @param
|
|
75
|
-
* @param
|
|
103
|
+
* @param queueOrName Queue or queue's name where job is
|
|
104
|
+
* @param jobOrId Job or job's id in queue
|
|
76
105
|
* @param namespaces
|
|
77
106
|
*
|
|
78
107
|
* @returns Job full info
|
|
79
108
|
*/
|
|
80
|
-
export declare const getJob: <Data, Result>(
|
|
109
|
+
export declare const getJob: <Data, Result>(queueOrName: Queue | Queue['name'], jobOrId: string | number | Job<Data>, namespaces?: string[]) => Promise<ApiResponse<FullJob<Data, Result>>>;
|
|
81
110
|
/**
|
|
82
111
|
* Retry job that failed
|
|
83
112
|
*
|
|
84
113
|
* Needs `namespaces[namespaceId].queues-post-queue-jobs-jobId-retry` permission
|
|
85
114
|
*
|
|
86
|
-
* @param
|
|
87
|
-
* @param
|
|
115
|
+
* @param queueOrName Queue or queue's name where job is
|
|
116
|
+
* @param jobOrId Job or job's id in queue
|
|
88
117
|
* @param namespaces
|
|
89
118
|
*
|
|
90
119
|
* @returns queue info
|
|
91
120
|
*/
|
|
92
|
-
export declare const retryJob: <Data, Result>(
|
|
121
|
+
export declare const retryJob: <Data, Result>(queueOrName: Queue | Queue['name'], jobOrId: string | number | Job<Data>, namespaces?: string[]) => Promise<ApiResponse<FullJob<Data, Result>>>;
|
|
93
122
|
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { type Job, type FullJob, type Queue, type InputQueue, getAllQueues, getQueue, updateQueue, pauseQueue, resumeQueue, getQueueJobs, getJob, retryJob, } from './queues';
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
/// <reference types="node" />
|
|
1
3
|
import { Stream } from 'stream';
|
|
2
4
|
import { type Period, type RawPeriod } from '../lib/utils';
|
|
3
|
-
import {
|
|
5
|
+
import { type FullJob, type Job, type Queue } from './queues';
|
|
4
6
|
import type { RawFullTask } from './tasks';
|
|
5
7
|
interface RawReportResultDetail {
|
|
6
8
|
createdAt: string;
|
|
@@ -53,13 +55,13 @@ type FullReportJob = FullJob<RawReportData, RawReportResult>;
|
|
|
53
55
|
*
|
|
54
56
|
* Needs `namespaces[namespaceId].tasks-post-task-run` permission
|
|
55
57
|
*
|
|
56
|
-
* @param
|
|
58
|
+
* @param taskOrId Task or id of the task
|
|
57
59
|
* @param params Other params for overriding default
|
|
58
60
|
* @param namespaces
|
|
59
61
|
*
|
|
60
62
|
* @returns Job info to track progress
|
|
61
63
|
*/
|
|
62
|
-
export declare const startGeneration: (
|
|
64
|
+
export declare const startGeneration: (taskOrId: RawFullTask | RawFullTask['id'], params?: {
|
|
63
65
|
/**
|
|
64
66
|
* Override targets of task. Also enable first level of debugging
|
|
65
67
|
* (disable generation history)
|
|
@@ -88,7 +90,7 @@ type GenerationEvents = {
|
|
|
88
90
|
* Needs `namespaces[namespaceId].tasks-post-task-run`
|
|
89
91
|
* & `namespaces[namespaceId].queues-get-queue-jobs-jobId` permissions
|
|
90
92
|
*
|
|
91
|
-
* @param
|
|
93
|
+
* @param taskOrId Task or id of the task
|
|
92
94
|
* @param params Other params for overriding default
|
|
93
95
|
* @param namespaces
|
|
94
96
|
*
|
|
@@ -100,7 +102,7 @@ type GenerationEvents = {
|
|
|
100
102
|
*
|
|
101
103
|
* @returns When generation ends, with detail
|
|
102
104
|
*/
|
|
103
|
-
export declare const startAndListenGeneration: (
|
|
105
|
+
export declare const startAndListenGeneration: (taskOrId: string | RawFullTask, params?: {
|
|
104
106
|
/**
|
|
105
107
|
* Override targets of task. Also enable first level of debugging
|
|
106
108
|
* (disable generation history)
|
|
@@ -118,7 +120,6 @@ interface ResponseTypeMap {
|
|
|
118
120
|
text: string;
|
|
119
121
|
stream: Stream;
|
|
120
122
|
}
|
|
121
|
-
type GetJobParams = Parameters<typeof getJob>;
|
|
122
123
|
/**
|
|
123
124
|
* Get report main file (the result) by giving the report's name
|
|
124
125
|
*
|
|
@@ -138,14 +139,14 @@ export declare const getReportFileByName: <Result extends keyof ResponseTypeMap
|
|
|
138
139
|
* Needs `namespaces[namespaceId].reports-get-year-yearMonth-filename`
|
|
139
140
|
* & `namespaces[namespaceId].queues-get-queue-jobs-jobId ` permission
|
|
140
141
|
*
|
|
141
|
-
* @param
|
|
142
|
-
* @param
|
|
142
|
+
* @param queueOrName Queue or queue's name where job is
|
|
143
|
+
* @param jobOrId Job or job's id in queue
|
|
143
144
|
* @param namespaces
|
|
144
145
|
* @param responseType Wanted response type
|
|
145
146
|
*
|
|
146
147
|
* @returns The report's content
|
|
147
148
|
*/
|
|
148
|
-
export declare const getReportFileByJob: <Result extends keyof ResponseTypeMap = "text">(queueName:
|
|
149
|
+
export declare const getReportFileByJob: <Result extends keyof ResponseTypeMap = "text">(queueName: Queue | Queue['name'], jobId: Job<RawReportData> | Job<RawReportData>['id'], namespaces?: string[], responseType?: Result | undefined) => Promise<ResponseTypeMap[Result]>;
|
|
149
150
|
/**
|
|
150
151
|
* Get report detail by giving the report's name
|
|
151
152
|
*
|
|
@@ -165,15 +166,15 @@ export declare const getReportDetailByName: (name: string, namespaces?: string[]
|
|
|
165
166
|
* Needs `namespaces[namespaceId].reports-get-year-yearMonth-filename`
|
|
166
167
|
* & `namespaces[namespaceId].queues-get-queue-jobs-jobId` permission
|
|
167
168
|
*
|
|
168
|
-
* @param
|
|
169
|
-
* @param
|
|
169
|
+
* @param queueOrName Queue or queue's name where job is
|
|
170
|
+
* @param jobOrId Job or job's id in queue
|
|
170
171
|
* @param namespaces
|
|
171
172
|
* @param responseType Wanted response type. **If provided with anything but `json` you will have to
|
|
172
173
|
* cast in your type to avoid auto-completion issues.**
|
|
173
174
|
*
|
|
174
175
|
* @returns The detail's content
|
|
175
176
|
*/
|
|
176
|
-
export declare const getReportDetailByJob: (queueName:
|
|
177
|
+
export declare const getReportDetailByJob: (queueName: Queue | Queue['name'], jobId: Job<RawReportData> | Job<RawReportData>['id'], namespaces?: string[], responseType?: keyof ResponseTypeMap) => Promise<ReportResult>;
|
|
177
178
|
/**
|
|
178
179
|
* Get report debug file by giving the report's name
|
|
179
180
|
*
|
|
@@ -192,12 +193,12 @@ export declare const getReportDebugByName: <Result extends keyof ResponseTypeMap
|
|
|
192
193
|
* Needs `namespaces[namespaceId].reports-get-year-yearMonth-filename`
|
|
193
194
|
* & `namespaces[namespaceId].queues-get-queue-jobs-jobId ` permission
|
|
194
195
|
*
|
|
195
|
-
* @param
|
|
196
|
-
* @param
|
|
196
|
+
* @param queueOrName Queue or queue's name where job is
|
|
197
|
+
* @param jobOrId Job or job's id in queue
|
|
197
198
|
* @param namespaces
|
|
198
199
|
* @param responseType Wanted response type
|
|
199
200
|
*
|
|
200
201
|
* @returns The debug's content
|
|
201
202
|
*/
|
|
202
|
-
export declare const getReportDebugByJob: <Result extends keyof ResponseTypeMap = "json">(queueName:
|
|
203
|
+
export declare const getReportDebugByJob: <Result extends keyof ResponseTypeMap = "json">(queueName: Queue | Queue['name'], jobId: Job<RawReportData> | Job<RawReportData>['id'], namespaces?: string[], responseType?: Result | undefined) => Promise<ResponseTypeMap[Result]>;
|
|
203
204
|
export {};
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { type ApiResponse, type PaginatedApiResponse } from '../lib/axios';
|
|
2
|
+
import { type Activity, type RawActivity } from './tasksActivity';
|
|
3
|
+
import type { Namespace } from './namespaces';
|
|
4
|
+
import { type Layout, type RawTemplate, type Template } from './templates';
|
|
5
|
+
import { type Task, type RawTaskWithNamespace, type TaskWithNamespace } from './tasks.base';
|
|
6
|
+
interface AdditionalRawTaskData {
|
|
7
|
+
template: {
|
|
8
|
+
fetchOptions?: {
|
|
9
|
+
filters?: Record<string, any>;
|
|
10
|
+
dateField?: string;
|
|
11
|
+
index: string;
|
|
12
|
+
};
|
|
13
|
+
inserts?: (Layout & {
|
|
14
|
+
at: number;
|
|
15
|
+
})[];
|
|
16
|
+
};
|
|
17
|
+
extends: RawTemplate;
|
|
18
|
+
lastExtended?: {
|
|
19
|
+
id: string;
|
|
20
|
+
tags: RawTemplate['tags'];
|
|
21
|
+
};
|
|
22
|
+
targets: string[];
|
|
23
|
+
activity: RawActivity[];
|
|
24
|
+
}
|
|
25
|
+
interface AdditionalTaskData extends Omit<AdditionalRawTaskData, 'activity' | 'extends' | 'lastExtended'> {
|
|
26
|
+
activity: Activity[];
|
|
27
|
+
extends: Template;
|
|
28
|
+
lastExtended?: {
|
|
29
|
+
id: Template['id'];
|
|
30
|
+
name: Template['name'];
|
|
31
|
+
tags: Template['tags'];
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
export interface RawFullTask extends RawTaskWithNamespace, AdditionalRawTaskData {
|
|
35
|
+
}
|
|
36
|
+
export interface FullTask extends TaskWithNamespace, AdditionalTaskData {
|
|
37
|
+
}
|
|
38
|
+
export interface InputTask extends Pick<FullTask, 'name' | 'template' | 'targets' | 'recurrence'> {
|
|
39
|
+
namespace?: Task['namespaceId'];
|
|
40
|
+
nextRun?: FullTask['nextRun'];
|
|
41
|
+
enabled?: FullTask['enabled'];
|
|
42
|
+
extends: string;
|
|
43
|
+
}
|
|
44
|
+
export type TaskList = (Task & {
|
|
45
|
+
tags: Template['tags'];
|
|
46
|
+
})[];
|
|
47
|
+
/**
|
|
48
|
+
* Get all available tasks
|
|
49
|
+
*
|
|
50
|
+
* Needs `namespaces[namespaceId].tasks-get` permission
|
|
51
|
+
*
|
|
52
|
+
* @param paginationOpts Options for pagination
|
|
53
|
+
* @param namespaces
|
|
54
|
+
*
|
|
55
|
+
* @returns All tasks' info
|
|
56
|
+
*/
|
|
57
|
+
export declare const getAllTasks: (paginationOpts?: {
|
|
58
|
+
previous?: Task['id'];
|
|
59
|
+
count?: number;
|
|
60
|
+
}, namespaces?: Namespace['id'][]) => Promise<PaginatedApiResponse<TaskList>>;
|
|
61
|
+
/**
|
|
62
|
+
* Create a new task
|
|
63
|
+
*
|
|
64
|
+
* Needs `namespaces[namespaceId].tasks-post` permission
|
|
65
|
+
*
|
|
66
|
+
* @param task Task's data
|
|
67
|
+
* @param namespaces
|
|
68
|
+
*
|
|
69
|
+
* @returns Created task's info
|
|
70
|
+
*/
|
|
71
|
+
export declare const createTask: (task: InputTask, namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
|
|
72
|
+
/**
|
|
73
|
+
* Get task info
|
|
74
|
+
*
|
|
75
|
+
* Needs `namespaces[namespaceId].tasks-get-task` permission
|
|
76
|
+
*
|
|
77
|
+
* @param taskOrId Task or Task's id
|
|
78
|
+
* @param namespaces
|
|
79
|
+
*
|
|
80
|
+
* @returns Task's info
|
|
81
|
+
*/
|
|
82
|
+
export declare const getTask: (taskOrId: Task | Task['id'], namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
|
|
83
|
+
/**
|
|
84
|
+
* Update or create a task
|
|
85
|
+
*
|
|
86
|
+
* Needs `namespaces[namespaceId].tasks-put-task` permission
|
|
87
|
+
*
|
|
88
|
+
* @param task Task's data **with id**
|
|
89
|
+
* @param namespaces
|
|
90
|
+
*
|
|
91
|
+
* @returns Updated/Created Task's info
|
|
92
|
+
*/
|
|
93
|
+
export declare const upsertTask: (task: InputTask & {
|
|
94
|
+
id: Task['id'];
|
|
95
|
+
}, namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
|
|
96
|
+
/**
|
|
97
|
+
* Update a task
|
|
98
|
+
*
|
|
99
|
+
* Needs `namespaces[namespaceId].tasks-put-task` permission
|
|
100
|
+
*
|
|
101
|
+
* @param task Task's data **with id**
|
|
102
|
+
* @param namespaces
|
|
103
|
+
*
|
|
104
|
+
* @deprecated Use `upsertTask` instead
|
|
105
|
+
*
|
|
106
|
+
* @returns Updated Task's info
|
|
107
|
+
*/
|
|
108
|
+
export declare const updateTask: (task: InputTask & {
|
|
109
|
+
id: Task['id'];
|
|
110
|
+
}, namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
|
|
111
|
+
/**
|
|
112
|
+
* Delete a task
|
|
113
|
+
*
|
|
114
|
+
* Needs `namespaces[namespaceId].tasks-delete-task` permission
|
|
115
|
+
*
|
|
116
|
+
* @param taskOrId Task or Task's id
|
|
117
|
+
* @param namespaces
|
|
118
|
+
*/
|
|
119
|
+
export declare const deleteTask: (taskOrId: Task | Task['id'], namespaces?: Namespace['id'][]) => Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Shorthand to enable task
|
|
122
|
+
*
|
|
123
|
+
* Needs `namespaces[namespaceId].tasks-put-task-enable` permission
|
|
124
|
+
*
|
|
125
|
+
* @param taskOrId Task or Task's id
|
|
126
|
+
* @param namespaces
|
|
127
|
+
*
|
|
128
|
+
* @returns Updated task's info
|
|
129
|
+
*/
|
|
130
|
+
export declare const enableTask: (taskOrId: Task | Task['id'], namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
|
|
131
|
+
/**
|
|
132
|
+
* Shorthand to disable task
|
|
133
|
+
*
|
|
134
|
+
* Needs `namespaces[namespaceId].tasks-put-task-disable` permission
|
|
135
|
+
*
|
|
136
|
+
* @param taskOrId Task or Task's id
|
|
137
|
+
* @param namespaces
|
|
138
|
+
*
|
|
139
|
+
* @returns Updated task's info
|
|
140
|
+
*/
|
|
141
|
+
export declare const disableTask: (taskOrId: Task | Task['id'], namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
|
|
142
|
+
/**
|
|
143
|
+
* Link a task to a template
|
|
144
|
+
*
|
|
145
|
+
* Needs `namespaces[namespaceId].tasks-put-task-link-template` permission
|
|
146
|
+
*
|
|
147
|
+
* @param taskOrId Task or Task's id
|
|
148
|
+
* @param templateOrId Template or Template's id
|
|
149
|
+
* @param namespaces
|
|
150
|
+
*
|
|
151
|
+
* @returns Updated task's info
|
|
152
|
+
*/
|
|
153
|
+
export declare const linkTaskToTemplate: (taskOrId: Task | Task['id'], templateOrId: Template | Template['id'], namespaces?: Namespace['id'][]) => Promise<{
|
|
154
|
+
content: FullTask;
|
|
155
|
+
status: {
|
|
156
|
+
code: number;
|
|
157
|
+
message: string;
|
|
158
|
+
};
|
|
159
|
+
}>;
|
|
160
|
+
/**
|
|
161
|
+
* Unlink a task to a template
|
|
162
|
+
*
|
|
163
|
+
* Needs `namespaces[namespaceId].tasks-delete-task-link-template` permission
|
|
164
|
+
*
|
|
165
|
+
* @param taskOrId Task or Task's id
|
|
166
|
+
* @param templateOrId Template or Template's id
|
|
167
|
+
* @param namespaces
|
|
168
|
+
*/
|
|
169
|
+
export declare const unlinkTaskToTemplate: (taskOrId: Task | Task['id'], templateOrId: Template | Template['id'], namespaces?: Namespace['id'][]) => Promise<void>;
|
|
170
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export { type FullTask, type InputTask, type TaskList, getAllTasks, getTask, createTask, updateTask, upsertTask, deleteTask, enableTask, disableTask, linkTaskToTemplate, unlinkTaskToTemplate, } from './tasks';
|
|
2
|
+
export { Recurrence, type Task, type TaskWithNamespace, } from './tasks.base';
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { type PaginatedApiResponse } from '../lib/axios';
|
|
2
|
+
import { type TaskWithNamespace } from './tasks.base';
|
|
3
|
+
export interface RawActivity {
|
|
4
|
+
id: string;
|
|
5
|
+
taskId: string;
|
|
6
|
+
type: string;
|
|
7
|
+
message: string;
|
|
8
|
+
data?: object;
|
|
9
|
+
createdAt: string;
|
|
10
|
+
}
|
|
11
|
+
export interface Activity extends Omit<RawActivity, 'createdAt'> {
|
|
12
|
+
createdAt: Date;
|
|
13
|
+
}
|
|
14
|
+
export interface ActivityWithTask extends Omit<Activity, 'taskId'> {
|
|
15
|
+
task: TaskWithNamespace;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Transform raw data from JSON, to JS usable data
|
|
19
|
+
*
|
|
20
|
+
* @param entry Raw history entry
|
|
21
|
+
*
|
|
22
|
+
* @returns Parsed history entry
|
|
23
|
+
*/
|
|
24
|
+
export declare const parseActivity: (entry: RawActivity) => Activity;
|
|
25
|
+
/**
|
|
26
|
+
* Get all available history entries
|
|
27
|
+
*
|
|
28
|
+
* Needs `namespaces[namespaceId].history-get` permission
|
|
29
|
+
*
|
|
30
|
+
* @param paginationOpts Options for pagination
|
|
31
|
+
* @param namespaces
|
|
32
|
+
*
|
|
33
|
+
* @returns All history entries' info
|
|
34
|
+
*/
|
|
35
|
+
export declare const getAllEntries: (paginationOpts?: {
|
|
36
|
+
previous?: Activity['id'];
|
|
37
|
+
count?: number;
|
|
38
|
+
}, namespaces?: string[]) => Promise<PaginatedApiResponse<ActivityWithTask[]>>;
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
import { type ApiResponse } from '../lib/axios';
|
|
2
|
+
import { type RawTask, type Task } from './tasks.base';
|
|
3
|
+
interface FigureFetchOptions {
|
|
4
|
+
fetchCount?: string;
|
|
5
|
+
filters?: Record<string, any>;
|
|
6
|
+
}
|
|
7
|
+
interface FigureFetchOptionsAggs extends FigureFetchOptions {
|
|
8
|
+
aggs?: Record<string, any>[];
|
|
9
|
+
}
|
|
10
|
+
interface FigureFetchOptionsBuckets extends FigureFetchOptions {
|
|
11
|
+
buckets?: Record<string, any>[];
|
|
12
|
+
metric?: Record<string, any>;
|
|
13
|
+
}
|
|
14
|
+
export interface Figure {
|
|
15
|
+
type: string;
|
|
16
|
+
data?: string | unknown[];
|
|
17
|
+
params: Record<string, any>;
|
|
18
|
+
fetchOptions?: FigureFetchOptionsAggs | FigureFetchOptionsBuckets;
|
|
19
|
+
slots?: number[];
|
|
20
|
+
}
|
|
21
|
+
export interface Layout {
|
|
22
|
+
data?: unknown;
|
|
23
|
+
fetcher?: string;
|
|
24
|
+
fetchOptions?: {
|
|
25
|
+
fetchCount?: string;
|
|
26
|
+
filters?: Record<string, any>;
|
|
27
|
+
};
|
|
28
|
+
figures: Figure[];
|
|
29
|
+
}
|
|
30
|
+
export interface RawTemplate {
|
|
31
|
+
id: string;
|
|
32
|
+
name: string;
|
|
33
|
+
pageCount: number;
|
|
34
|
+
tags: {
|
|
35
|
+
name: string;
|
|
36
|
+
color?: string;
|
|
37
|
+
}[];
|
|
38
|
+
createdAt: string;
|
|
39
|
+
updatedAt?: string;
|
|
40
|
+
}
|
|
41
|
+
export interface Template extends Omit<RawTemplate, 'createdAt' | 'updatedAt'> {
|
|
42
|
+
createdAt: Date;
|
|
43
|
+
updatedAt?: Date;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Transform raw data from JSON, to JS usable data
|
|
47
|
+
*
|
|
48
|
+
* @param template Raw template
|
|
49
|
+
*
|
|
50
|
+
* @returns Parsed template
|
|
51
|
+
*/
|
|
52
|
+
export declare const parseTemplate: (template: RawTemplate) => Template;
|
|
53
|
+
export interface RawFullTemplate extends RawTemplate {
|
|
54
|
+
body: {
|
|
55
|
+
renderer?: string;
|
|
56
|
+
renderOptions?: {
|
|
57
|
+
grid?: {
|
|
58
|
+
cols: number;
|
|
59
|
+
rows: number;
|
|
60
|
+
};
|
|
61
|
+
};
|
|
62
|
+
fetchOptions?: {
|
|
63
|
+
filters?: Record<string, any>;
|
|
64
|
+
dateField: string;
|
|
65
|
+
};
|
|
66
|
+
layouts: Layout[];
|
|
67
|
+
};
|
|
68
|
+
tasks: RawTask[];
|
|
69
|
+
}
|
|
70
|
+
export interface FullTemplate extends Omit<RawFullTemplate, 'tasks' | 'createdAt' | 'updatedAt'> {
|
|
71
|
+
createdAt: Date;
|
|
72
|
+
updatedAt?: Date;
|
|
73
|
+
tasks: Task[];
|
|
74
|
+
}
|
|
75
|
+
export interface InputTemplate {
|
|
76
|
+
name: FullTemplate['name'];
|
|
77
|
+
body: FullTemplate['body'];
|
|
78
|
+
tags: FullTemplate['tags'];
|
|
79
|
+
}
|
|
80
|
+
type TemplateListResponse = ApiResponse<Template[]> & {
|
|
81
|
+
meta: {
|
|
82
|
+
default: string;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
/**
|
|
86
|
+
* Get all available templates
|
|
87
|
+
*
|
|
88
|
+
* Needs `general.templates-get` permission
|
|
89
|
+
*
|
|
90
|
+
* @returns All templates' info
|
|
91
|
+
*/
|
|
92
|
+
export declare const getAllTemplates: () => Promise<TemplateListResponse>;
|
|
93
|
+
/**
|
|
94
|
+
* Get template info
|
|
95
|
+
*
|
|
96
|
+
* Needs `general.templates-get-template` permission
|
|
97
|
+
*
|
|
98
|
+
* @param templateOrId Template or Template's id
|
|
99
|
+
*
|
|
100
|
+
* @returns Template info
|
|
101
|
+
*/
|
|
102
|
+
export declare const getTemplate: (templateOrId: Template | Template['id']) => Promise<ApiResponse<FullTemplate>>;
|
|
103
|
+
/**
|
|
104
|
+
* Create a new template
|
|
105
|
+
*
|
|
106
|
+
* Needs `general.templates-post` permission
|
|
107
|
+
*
|
|
108
|
+
* @param template Template's data
|
|
109
|
+
* @param namespaces
|
|
110
|
+
*
|
|
111
|
+
* @returns Created template's info
|
|
112
|
+
*/
|
|
113
|
+
export declare const createTemplate: (template: InputTemplate) => Promise<ApiResponse<FullTemplate>>;
|
|
114
|
+
/**
|
|
115
|
+
* Update or create a template
|
|
116
|
+
*
|
|
117
|
+
* Needs `general.templates-put-template` permission
|
|
118
|
+
*
|
|
119
|
+
* @param template Template's data **with id**
|
|
120
|
+
* @param namespaces
|
|
121
|
+
*
|
|
122
|
+
* @returns Updated/Created Template's info
|
|
123
|
+
*/
|
|
124
|
+
export declare const upsertTemplate: (template: InputTemplate & {
|
|
125
|
+
id: Template['id'];
|
|
126
|
+
}) => Promise<ApiResponse<FullTemplate>>;
|
|
127
|
+
/**
|
|
128
|
+
* Update a template
|
|
129
|
+
*
|
|
130
|
+
* Needs `general.templates-put-template` permission
|
|
131
|
+
*
|
|
132
|
+
* @param id Template's id
|
|
133
|
+
* @param template New Template's data
|
|
134
|
+
* @param namespaces
|
|
135
|
+
*
|
|
136
|
+
* @deprecated use `upsertTemplate` instead
|
|
137
|
+
*
|
|
138
|
+
* @returns Updated Template's info
|
|
139
|
+
*/
|
|
140
|
+
export declare const updateTemplate: (template: InputTemplate & {
|
|
141
|
+
id: Template['id'];
|
|
142
|
+
}) => Promise<ApiResponse<FullTemplate>>;
|
|
143
|
+
/**
|
|
144
|
+
* Delete a template
|
|
145
|
+
*
|
|
146
|
+
* Needs `general.templates-delete-template` permission
|
|
147
|
+
*
|
|
148
|
+
* @param templateOrId Template or Template's id
|
|
149
|
+
* @param namespaces
|
|
150
|
+
*/
|
|
151
|
+
export declare const deleteTemplate: (templateOrId: Template | Template['id']) => Promise<void>;
|
|
152
|
+
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ezpaarse-project/ezreeport-sdk-js",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.7",
|
|
4
4
|
"description": "JS SDK to communicate with ezReeport API",
|
|
5
5
|
"homepage": "https://github.com/ezpaarse-project/ezreeport#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -18,19 +18,21 @@
|
|
|
18
18
|
"require": "./dist/browser/ezreeport-sdk-js.umd.js"
|
|
19
19
|
},
|
|
20
20
|
"node": {
|
|
21
|
-
"default": "./dist/node/index.js"
|
|
21
|
+
"default": "./dist/node/src/index.js"
|
|
22
22
|
}
|
|
23
23
|
},
|
|
24
|
-
"types": "./dist/types/index.d.ts",
|
|
24
|
+
"types": "./dist/types/src/index.d.ts",
|
|
25
25
|
"files": [
|
|
26
26
|
"dist"
|
|
27
27
|
],
|
|
28
28
|
"scripts": {
|
|
29
|
-
"build": "run-s build:web build:node build:
|
|
29
|
+
"build": "run-s build:web build:node build:docs",
|
|
30
30
|
"build:node-vite": "tsc && BUILD_TARGET=node vite build",
|
|
31
31
|
"build:node": "tsc --project tsconfig.node.json",
|
|
32
|
-
"build:types": "tsc && BUILD_TARGET=types vite build",
|
|
33
32
|
"build:web": "tsc && BUILD_TARGET=browser vite build",
|
|
33
|
+
"build:docs": "typedoc src/index.ts",
|
|
34
|
+
"docs": "vite docs --open",
|
|
35
|
+
"dev": "run-p \"build:docs -- --watch\" docs",
|
|
34
36
|
"lint": "eslint --fix .",
|
|
35
37
|
"test": "npm run build && npm -w ezreeport-tests run test:sdk"
|
|
36
38
|
},
|
|
@@ -40,15 +42,15 @@
|
|
|
40
42
|
]
|
|
41
43
|
},
|
|
42
44
|
"dependencies": {
|
|
43
|
-
"axios": "^1.
|
|
45
|
+
"axios": "^1.5.0",
|
|
44
46
|
"date-fns": "^2.30.0",
|
|
45
|
-
"events": "^3.3.0"
|
|
46
|
-
"typescript": "^5.1.3",
|
|
47
|
-
"vite": "^4.3.9",
|
|
48
|
-
"vite-plugin-dts": "^2.3.0"
|
|
47
|
+
"events": "^3.3.0"
|
|
49
48
|
},
|
|
50
49
|
"devDependencies": {
|
|
51
|
-
"@types/node": "^20.
|
|
50
|
+
"@types/node": "^20.6.0",
|
|
51
|
+
"typedoc": "^0.25.1",
|
|
52
|
+
"typescript": "^5.2.2",
|
|
53
|
+
"vite": "^4.4.9"
|
|
52
54
|
},
|
|
53
55
|
"engines": {
|
|
54
56
|
"node": "^16 || ^18"
|
package/dist/node/index.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.templates = exports.tasks = exports.setup = exports.reports = exports.queues = exports.institutions = exports.history = exports.health = exports.crons = exports.auth = void 0;
|
|
27
|
-
/* eslint-disable no-multiple-empty-lines */
|
|
28
|
-
exports.auth = __importStar(require("./modules/auth"));
|
|
29
|
-
exports.crons = __importStar(require("./modules/crons"));
|
|
30
|
-
exports.health = __importStar(require("./modules/health"));
|
|
31
|
-
exports.history = __importStar(require("./modules/history"));
|
|
32
|
-
exports.institutions = __importStar(require("./modules/institutions"));
|
|
33
|
-
exports.queues = __importStar(require("./modules/queues"));
|
|
34
|
-
exports.reports = __importStar(require("./modules/reports"));
|
|
35
|
-
exports.setup = __importStar(require("./modules/setup"));
|
|
36
|
-
exports.tasks = __importStar(require("./modules/tasks"));
|
|
37
|
-
exports.templates = __importStar(require("./modules/templates"));
|
|
38
|
-
//# sourceMappingURL=index.js.map
|