@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.
Files changed (94) hide show
  1. package/README.md +19 -752
  2. package/dist/browser/ezreeport-sdk-js.mjs +727 -668
  3. package/dist/browser/ezreeport-sdk-js.mjs.map +1 -1
  4. package/dist/browser/ezreeport-sdk-js.umd.js +3 -3
  5. package/dist/browser/ezreeport-sdk-js.umd.js.map +1 -1
  6. package/dist/node/package.json +13 -11
  7. package/dist/node/src/index.js +4 -2
  8. package/dist/node/src/index.js.map +1 -1
  9. package/dist/node/src/lib/axios.js +5 -1
  10. package/dist/node/src/lib/axios.js.map +1 -1
  11. package/dist/node/src/lib/utils.js.map +1 -1
  12. package/dist/node/src/modules/auth.js.map +1 -1
  13. package/dist/node/src/modules/crons.js +35 -12
  14. package/dist/node/src/modules/crons.js.map +1 -1
  15. package/dist/node/src/modules/crons.public.js +2 -1
  16. package/dist/node/src/modules/crons.public.js.map +1 -1
  17. package/dist/node/src/modules/queues.js +56 -13
  18. package/dist/node/src/modules/queues.js.map +1 -1
  19. package/dist/node/src/modules/queues.public.js +3 -1
  20. package/dist/node/src/modules/queues.public.js.map +1 -1
  21. package/dist/node/src/modules/reports.js +11 -10
  22. package/dist/node/src/modules/reports.js.map +1 -1
  23. package/dist/node/src/modules/tasks.base.js.map +1 -1
  24. package/dist/node/src/modules/tasks.js +59 -21
  25. package/dist/node/src/modules/tasks.js.map +1 -1
  26. package/dist/node/src/modules/tasks.public.js +3 -1
  27. package/dist/node/src/modules/tasks.public.js.map +1 -1
  28. package/dist/node/{modules/history.js → src/modules/tasksActivity.js} +13 -11
  29. package/dist/node/src/modules/tasksActivity.js.map +1 -0
  30. package/dist/node/src/modules/tasksActivity.public.js +6 -0
  31. package/dist/node/src/modules/tasksActivity.public.js.map +1 -0
  32. package/dist/node/src/modules/templates.js +23 -22
  33. package/dist/node/src/modules/templates.js.map +1 -1
  34. package/dist/types/{index.d.ts → src/index.d.ts} +6 -2
  35. package/dist/types/{lib → src/lib}/axios.d.ts +1 -1
  36. package/dist/types/{lib → src/lib}/promises.d.ts +1 -0
  37. package/dist/types/{lib → src/lib}/utils.d.ts +0 -5
  38. package/dist/types/{modules → src/modules}/crons.d.ts +32 -8
  39. package/dist/types/src/modules/crons.public.d.ts +1 -0
  40. package/dist/types/{modules → src/modules}/queues.d.ts +41 -12
  41. package/dist/types/src/modules/queues.public.d.ts +1 -0
  42. package/dist/types/{modules → src/modules}/reports.d.ts +16 -15
  43. package/dist/types/src/modules/tasks.d.ts +170 -0
  44. package/dist/types/src/modules/tasks.public.d.ts +2 -0
  45. package/dist/types/src/modules/tasksActivity.d.ts +38 -0
  46. package/dist/types/src/modules/tasksActivity.public.d.ts +5 -0
  47. package/dist/types/src/modules/templates.d.ts +152 -0
  48. package/package.json +13 -11
  49. package/dist/node/index.js +0 -38
  50. package/dist/node/index.js.map +0 -1
  51. package/dist/node/lib/axios.js +0 -91
  52. package/dist/node/lib/axios.js.map +0 -1
  53. package/dist/node/lib/promises.js +0 -26
  54. package/dist/node/lib/promises.js.map +0 -1
  55. package/dist/node/lib/utils.js +0 -24
  56. package/dist/node/lib/utils.js.map +0 -1
  57. package/dist/node/modules/auth.js +0 -61
  58. package/dist/node/modules/auth.js.map +0 -1
  59. package/dist/node/modules/crons.js +0 -105
  60. package/dist/node/modules/crons.js.map +0 -1
  61. package/dist/node/modules/health.js +0 -52
  62. package/dist/node/modules/health.js.map +0 -1
  63. package/dist/node/modules/history.js.map +0 -1
  64. package/dist/node/modules/institutions.js +0 -61
  65. package/dist/node/modules/institutions.js.map +0 -1
  66. package/dist/node/modules/queues.js +0 -128
  67. package/dist/node/modules/queues.js.map +0 -1
  68. package/dist/node/modules/reports.js +0 -261
  69. package/dist/node/modules/reports.js.map +0 -1
  70. package/dist/node/modules/setup.js +0 -35
  71. package/dist/node/modules/setup.js.map +0 -1
  72. package/dist/node/modules/tasks.js +0 -187
  73. package/dist/node/modules/tasks.js.map +0 -1
  74. package/dist/node/modules/templates.js +0 -28
  75. package/dist/node/modules/templates.js.map +0 -1
  76. package/dist/types/modules/crons.public.d.ts +0 -1
  77. package/dist/types/modules/institutions.d.ts +0 -56
  78. package/dist/types/modules/queues.public.d.ts +0 -1
  79. package/dist/types/modules/tasks.d.ts +0 -125
  80. package/dist/types/modules/tasks.public.d.ts +0 -2
  81. package/dist/types/modules/templates.d.ts +0 -115
  82. /package/dist/types/{modules → src/modules}/auth.d.ts +0 -0
  83. /package/dist/types/{modules → src/modules}/auth.public.d.ts +0 -0
  84. /package/dist/types/{modules → src/modules}/health.d.ts +0 -0
  85. /package/dist/types/{modules → src/modules}/health.public.d.ts +0 -0
  86. /package/dist/types/{modules → src/modules}/history.d.ts +0 -0
  87. /package/dist/types/{modules → src/modules}/history.public.d.ts +0 -0
  88. /package/dist/types/{modules → src/modules}/namespaces.d.ts +0 -0
  89. /package/dist/types/{modules → src/modules}/namespaces.public.d.ts +0 -0
  90. /package/dist/types/{modules → src/modules}/reports.public.d.ts +0 -0
  91. /package/dist/types/{modules → src/modules}/setup.d.ts +0 -0
  92. /package/dist/types/{modules → src/modules}/setup.public.d.ts +0 -0
  93. /package/dist/types/{modules → src/modules}/tasks.base.d.ts +0 -0
  94. /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 queueName Name of the queue
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: (queueName: string) => Promise<ApiResponse<Queue>>;
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 queueName Name of the queue
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: (queueName: string) => Promise<ApiResponse<Queue>>;
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 queueName Name of the queue
90
+ * @param queueOrName Queue or queue's name
62
91
  *
63
92
  * @returns queue info
64
93
  */
65
- export declare const getQueueJobs: <Data, Result>(queueName: string, paginationOpts?: {
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 queueName Name of queue where job is
75
- * @param jobId Id of the job in queue
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>(queueName: string, jobId: string | number, namespaces?: string[]) => Promise<ApiResponse<FullJob<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 queueName Name of queue where job is
87
- * @param jobId Id of the job in queue
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>(queueName: string, jobId: string | number, namespaces?: string[]) => Promise<ApiResponse<FullJob<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 { getJob, type FullJob, type Job } from './queues';
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 taskId Id of the task
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: (taskId: RawFullTask['id'], params?: {
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 taskId Id of the task
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: (taskId: string, params?: {
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 queueName Name of queue where job is
142
- * @param jobId Id of the job in queue
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: GetJobParams[0], jobId: GetJobParams[1], namespaces?: GetJobParams[2], responseType?: Result | undefined) => Promise<ResponseTypeMap[Result]>;
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 queueName Name of queue where job is
169
- * @param jobId Id of the job in queue
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: GetJobParams[0], jobId: GetJobParams[1], namespaces?: GetJobParams[2], responseType?: keyof ResponseTypeMap) => Promise<ReportResult>;
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 queueName Name of queue where job is
196
- * @param jobId Id of the job in queue
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: GetJobParams[0], jobId: GetJobParams[1], namespaces?: GetJobParams[2], responseType?: Result | undefined) => Promise<ResponseTypeMap[Result]>;
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,5 @@
1
+ export {
2
+ /** @deprecated Use `Activity` instead */
3
+ type Activity as History,
4
+ /** @deprecated Use `ActivityWithTask` instead */
5
+ type ActivityWithTask as HistoryWithTask, type Activity, type ActivityWithTask, getAllEntries, } from './tasksActivity';
@@ -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.5",
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:types",
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.4.0",
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.2.5"
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"
@@ -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