@ezpaarse-project/ezreeport-sdk-js 1.0.0-beta.5 → 1.0.0-beta.6

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 (83) hide show
  1. package/README.md +19 -752
  2. package/dist/browser/ezreeport-sdk-js.mjs +529 -495
  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 +7 -9
  7. package/dist/node/src/index.js +3 -2
  8. package/dist/node/src/index.js.map +1 -1
  9. package/dist/node/src/modules/auth.js.map +1 -1
  10. package/dist/node/src/modules/crons.js +12 -8
  11. package/dist/node/src/modules/crons.js.map +1 -1
  12. package/dist/node/src/modules/queues.js +23 -12
  13. package/dist/node/src/modules/queues.js.map +1 -1
  14. package/dist/node/src/modules/reports.js +10 -9
  15. package/dist/node/src/modules/reports.js.map +1 -1
  16. package/dist/node/src/modules/tasks.base.js.map +1 -1
  17. package/dist/node/src/modules/tasks.js +59 -21
  18. package/dist/node/src/modules/tasks.js.map +1 -1
  19. package/dist/node/src/modules/tasks.public.js +3 -1
  20. package/dist/node/src/modules/tasks.public.js.map +1 -1
  21. package/dist/node/{modules/history.js → src/modules/tasksActivity.js} +13 -11
  22. package/dist/node/src/modules/tasksActivity.js.map +1 -0
  23. package/dist/node/src/modules/tasksActivity.public.js +6 -0
  24. package/dist/node/src/modules/tasksActivity.public.js.map +1 -0
  25. package/dist/node/src/modules/templates.js +23 -22
  26. package/dist/node/src/modules/templates.js.map +1 -1
  27. package/dist/types/{index.d.ts → src/index.d.ts} +5 -2
  28. package/dist/types/{lib → src/lib}/promises.d.ts +1 -0
  29. package/dist/types/{modules → src/modules}/crons.d.ts +8 -8
  30. package/dist/types/{modules → src/modules}/queues.d.ts +12 -12
  31. package/dist/types/{modules → src/modules}/reports.d.ts +15 -14
  32. package/dist/types/{modules → src/modules}/tasks.d.ts +65 -23
  33. package/dist/types/src/modules/tasks.public.d.ts +2 -0
  34. package/dist/types/src/modules/tasksActivity.d.ts +38 -0
  35. package/dist/types/src/modules/tasksActivity.public.d.ts +5 -0
  36. package/dist/types/{modules → src/modules}/templates.d.ts +37 -21
  37. package/package.json +12 -10
  38. package/dist/node/index.js +0 -38
  39. package/dist/node/index.js.map +0 -1
  40. package/dist/node/lib/axios.js +0 -91
  41. package/dist/node/lib/axios.js.map +0 -1
  42. package/dist/node/lib/promises.js +0 -26
  43. package/dist/node/lib/promises.js.map +0 -1
  44. package/dist/node/lib/utils.js +0 -24
  45. package/dist/node/lib/utils.js.map +0 -1
  46. package/dist/node/modules/auth.js +0 -61
  47. package/dist/node/modules/auth.js.map +0 -1
  48. package/dist/node/modules/crons.js +0 -105
  49. package/dist/node/modules/crons.js.map +0 -1
  50. package/dist/node/modules/health.js +0 -52
  51. package/dist/node/modules/health.js.map +0 -1
  52. package/dist/node/modules/history.js.map +0 -1
  53. package/dist/node/modules/institutions.js +0 -61
  54. package/dist/node/modules/institutions.js.map +0 -1
  55. package/dist/node/modules/queues.js +0 -128
  56. package/dist/node/modules/queues.js.map +0 -1
  57. package/dist/node/modules/reports.js +0 -261
  58. package/dist/node/modules/reports.js.map +0 -1
  59. package/dist/node/modules/setup.js +0 -35
  60. package/dist/node/modules/setup.js.map +0 -1
  61. package/dist/node/modules/tasks.js +0 -187
  62. package/dist/node/modules/tasks.js.map +0 -1
  63. package/dist/node/modules/templates.js +0 -28
  64. package/dist/node/modules/templates.js.map +0 -1
  65. package/dist/types/modules/institutions.d.ts +0 -56
  66. package/dist/types/modules/tasks.public.d.ts +0 -2
  67. /package/dist/types/{lib → src/lib}/axios.d.ts +0 -0
  68. /package/dist/types/{lib → src/lib}/utils.d.ts +0 -0
  69. /package/dist/types/{modules → src/modules}/auth.d.ts +0 -0
  70. /package/dist/types/{modules → src/modules}/auth.public.d.ts +0 -0
  71. /package/dist/types/{modules → src/modules}/crons.public.d.ts +0 -0
  72. /package/dist/types/{modules → src/modules}/health.d.ts +0 -0
  73. /package/dist/types/{modules → src/modules}/health.public.d.ts +0 -0
  74. /package/dist/types/{modules → src/modules}/history.d.ts +0 -0
  75. /package/dist/types/{modules → src/modules}/history.public.d.ts +0 -0
  76. /package/dist/types/{modules → src/modules}/namespaces.d.ts +0 -0
  77. /package/dist/types/{modules → src/modules}/namespaces.public.d.ts +0 -0
  78. /package/dist/types/{modules → src/modules}/queues.public.d.ts +0 -0
  79. /package/dist/types/{modules → src/modules}/reports.public.d.ts +0 -0
  80. /package/dist/types/{modules → src/modules}/setup.d.ts +0 -0
  81. /package/dist/types/{modules → src/modules}/setup.public.d.ts +0 -0
  82. /package/dist/types/{modules → src/modules}/tasks.base.d.ts +0 -0
  83. /package/dist/types/{modules → src/modules}/templates.public.d.ts +0 -0
@@ -23,9 +23,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
23
23
  return (mod && mod.__esModule) ? mod : { "default": mod };
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.deleteTemplate = exports.updateTemplate = exports.upsertTemplate = exports.createTemplate = exports.getTemplate = exports.getAllTemplates = void 0;
26
+ exports.deleteTemplate = exports.updateTemplate = exports.upsertTemplate = exports.createTemplate = exports.getTemplate = exports.getAllTemplates = exports.parseTemplate = void 0;
27
27
  const date_fns_1 = require("date-fns");
28
28
  const axios_1 = __importDefault(require("../lib/axios"));
29
+ const tasks_base_1 = require("./tasks.base");
29
30
  /**
30
31
  * Transform raw data from JSON, to JS usable data
31
32
  *
@@ -34,6 +35,7 @@ const axios_1 = __importDefault(require("../lib/axios"));
34
35
  * @returns Parsed template
35
36
  */
36
37
  const parseTemplate = (template) => (Object.assign(Object.assign({}, template), { createdAt: (0, date_fns_1.parseISO)(template.createdAt), updatedAt: template.updatedAt ? (0, date_fns_1.parseISO)(template.updatedAt) : undefined }));
38
+ exports.parseTemplate = parseTemplate;
37
39
  /**
38
40
  * Transform raw data from JSON, to JS usable data
39
41
  *
@@ -42,8 +44,8 @@ const parseTemplate = (template) => (Object.assign(Object.assign({}, template),
42
44
  * @returns Parsed template
43
45
  */
44
46
  const parseFullTemplate = (template) => {
45
- const { body } = template, rawTemplate = __rest(template, ["body"]);
46
- return Object.assign(Object.assign({}, parseTemplate(rawTemplate)), { body });
47
+ const { body, tasks } = template, rawTemplate = __rest(template, ["body", "tasks"]);
48
+ return Object.assign(Object.assign({}, (0, exports.parseTemplate)(rawTemplate)), { tasks: tasks.map(tasks_base_1.parseTask), body });
47
49
  };
48
50
  /**
49
51
  * Get all available templates
@@ -54,20 +56,22 @@ const parseFullTemplate = (template) => {
54
56
  */
55
57
  const getAllTemplates = () => __awaiter(void 0, void 0, void 0, function* () {
56
58
  const _a = yield axios_1.default.$get('/templates'), { content } = _a, response = __rest(_a, ["content"]);
57
- return Object.assign(Object.assign({}, response), { content: content.map(parseTemplate) });
59
+ const r = response;
60
+ return Object.assign(Object.assign({}, r), { content: content.map(exports.parseTemplate) });
58
61
  });
59
62
  exports.getAllTemplates = getAllTemplates;
60
63
  /**
61
64
  * Get template info
62
65
  *
63
- * Needs `general.templates-get-name(*)` permission
66
+ * Needs `general.templates-get-template` permission
64
67
  *
65
- * @param name Template's name
68
+ * @param templateOrId Template or Template's id
66
69
  *
67
70
  * @returns Template info
68
71
  */
69
- const getTemplate = (name) => __awaiter(void 0, void 0, void 0, function* () {
70
- const _b = yield axios_1.default.$get(`/templates/${name}`), { content } = _b, response = __rest(_b, ["content"]);
72
+ const getTemplate = (templateOrId) => __awaiter(void 0, void 0, void 0, function* () {
73
+ const id = typeof templateOrId === 'string' ? templateOrId : templateOrId.id;
74
+ const _b = yield axios_1.default.$get(`/templates/${id}`), { content } = _b, response = __rest(_b, ["content"]);
71
75
  return Object.assign(Object.assign({}, response), { content: parseFullTemplate(content) });
72
76
  });
73
77
  exports.getTemplate = getTemplate;
@@ -79,8 +83,6 @@ exports.getTemplate = getTemplate;
79
83
  * @param template Template's data
80
84
  * @param namespaces
81
85
  *
82
- * @deprecated use `upsertTemplate` instead
83
- *
84
86
  * @returns Created template's info
85
87
  */
86
88
  const createTemplate = (template) => __awaiter(void 0, void 0, void 0, function* () {
@@ -91,23 +93,23 @@ exports.createTemplate = createTemplate;
91
93
  /**
92
94
  * Update or create a template
93
95
  *
94
- * Needs `general.templates-put-name(*)` permission
96
+ * Needs `general.templates-put-template` permission
95
97
  *
96
- * @param id Template's id
97
- * @param template Template's data
98
+ * @param template Template's data **with id**
98
99
  * @param namespaces
99
100
  *
100
101
  * @returns Updated/Created Template's info
101
102
  */
102
- const upsertTemplate = (name, template) => __awaiter(void 0, void 0, void 0, function* () {
103
- const _d = yield axios_1.default.$put(`/templates/${name}`, template), { content } = _d, response = __rest(_d, ["content"]);
103
+ const upsertTemplate = (template) => __awaiter(void 0, void 0, void 0, function* () {
104
+ const { id } = template, t = __rest(template, ["id"]);
105
+ const _d = yield axios_1.default.$put(`/templates/${id}`, t), { content } = _d, response = __rest(_d, ["content"]);
104
106
  return Object.assign(Object.assign({}, response), { content: parseFullTemplate(content) });
105
107
  });
106
108
  exports.upsertTemplate = upsertTemplate;
107
109
  /**
108
110
  * Update a template
109
111
  *
110
- * Needs `general.templates-put-name(*)` permission
112
+ * Needs `general.templates-put-template` permission
111
113
  *
112
114
  * @param id Template's id
113
115
  * @param template New Template's data
@@ -121,15 +123,14 @@ exports.updateTemplate = exports.upsertTemplate;
121
123
  /**
122
124
  * Delete a template
123
125
  *
124
- * Needs `general.templates-delete-name(*)` permission
126
+ * Needs `general.templates-delete-template` permission
125
127
  *
126
- * @param id Template's id
128
+ * @param templateOrId Template or Template's id
127
129
  * @param namespaces
128
- *
129
- * @returns Deleted Template's info
130
130
  */
131
- const deleteTemplate = (name) => __awaiter(void 0, void 0, void 0, function* () {
132
- yield axios_1.default.$delete(`/templates/${name}`);
131
+ const deleteTemplate = (templateOrId) => __awaiter(void 0, void 0, void 0, function* () {
132
+ const id = typeof templateOrId === 'string' ? templateOrId : templateOrId.id;
133
+ yield axios_1.default.$delete(`/templates/${id}`);
133
134
  });
134
135
  exports.deleteTemplate = deleteTemplate;
135
136
  //# sourceMappingURL=templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../src/modules/templates.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAoC;AACpC,yDAAuD;AAoCvD;;;;;;GAMG;AACH,MAAM,aAAa,GAAG,CAAC,QAAqB,EAAY,EAAE,CAAC,iCACtD,QAAQ,KAEX,SAAS,EAAE,IAAA,mBAAQ,EAAC,QAAQ,CAAC,SAAS,CAAC,EACvC,SAAS,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAA,mBAAQ,EAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,IACxE,CAAC;AAiBH;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CAAC,QAAyB,EAAgB,EAAE;IACpE,MAAM,EAAE,IAAI,KAAqB,QAAQ,EAAxB,WAAW,UAAK,QAAQ,EAAnC,QAAwB,CAAW,CAAC;IAE1C,uCACK,aAAa,CAAC,WAAW,CAAC,KAC7B,IAAI,IACJ;AACJ,CAAC,CAAC;AAOF;;;;;;GAMG;AACI,MAAM,eAAe,GAAG,GAA2C,EAAE;IAC1E,MAAM,KAA2B,MAAM,eAAK,CAAC,IAAI,CAAgB,YAAY,CAAC,EAAxE,EAAE,OAAO,OAA+D,EAA1D,QAAQ,cAAtB,WAAwB,CAAgD,CAAC;IAE/E,uCACK,QAAQ,KACX,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,IACnC;AACJ,CAAC,CAAA,CAAC;AAPW,QAAA,eAAe,mBAO1B;AAEF;;;;;;;;GAQG;AACI,MAAM,WAAW,GAAG,CAAO,IAAsB,EAAsC,EAAE;IAC9F,MAAM,KAA2B,MAAM,eAAK,CAAC,IAAI,CAAkB,cAAc,IAAI,EAAE,CAAC,EAAlF,EAAE,OAAO,OAAyE,EAApE,QAAQ,cAAtB,WAAwB,CAA0D,CAAC;IAEzF,uCACK,QAAQ,KACX,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,IACnC;AACJ,CAAC,CAAA,CAAC;AAPW,QAAA,WAAW,eAOtB;AAEF;;;;;;;;;;;GAWG;AACI,MAAM,cAAc,GAAG,CAC5B,QAAoD,EAChB,EAAE;IACtC,MAAM,KAA2B,MAAM,eAAK,CAAC,KAAK,CAChD,YAAY,EACZ,QAAQ,CACT,EAHK,EAAE,OAAO,OAGd,EAHmB,QAAQ,cAAtB,WAAwB,CAG7B,CAAC;IAEF,uCACK,QAAQ,KACX,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,IACnC;AACJ,CAAC,CAAA,CAAC;AAZW,QAAA,cAAc,kBAYzB;AAEF;;;;;;;;;;GAUG;AACI,MAAM,cAAc,GAAG,CAC5B,IAAsB,EACtB,QAAuB,EACa,EAAE;IACtC,MAAM,KAA2B,MAAM,eAAK,CAAC,IAAI,CAC/C,cAAc,IAAI,EAAE,EACpB,QAAQ,CACT,EAHK,EAAE,OAAO,OAGd,EAHmB,QAAQ,cAAtB,WAAwB,CAG7B,CAAC;IAEF,uCACK,QAAQ,KACX,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,IACnC;AACJ,CAAC,CAAA,CAAC;AAbW,QAAA,cAAc,kBAazB;AAEF;;;;;;;;;;;;GAYG;AACU,QAAA,cAAc,GAAG,sBAAc,CAAC;AAE7C;;;;;;;;;GASG;AACI,MAAM,cAAc,GAAG,CAAO,IAAsB,EAAiB,EAAE;IAC5E,MAAM,eAAK,CAAC,OAAO,CAAkB,cAAc,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAA,CAAC;AAFW,QAAA,cAAc,kBAEzB"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../../../src/modules/templates.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  export * as auth from './modules/auth.public';
2
2
  export * as crons from './modules/crons.public';
3
3
  export * as health from './modules/health.public';
4
- export * as history from './modules/history.public';
4
+ export * as history from './modules/tasksActivity.public';
5
+ export * as tasksActivity from './modules/tasksActivity.public';
5
6
  export * as namespaces from './modules/namespaces.public';
6
7
  export * as queues from './modules/queues.public';
7
8
  export * as reports from './modules/reports.public';
@@ -13,12 +14,14 @@ export type EzReeportSDK = {
13
14
  auth: typeof import('./modules/auth.public');
14
15
  crons: typeof import('./modules/crons.public');
15
16
  health: typeof import('./modules/health.public');
16
- history: typeof import('./modules/history.public');
17
+ /** @deprecated Use `tasksActivity` instead */
18
+ history: typeof import('./modules/tasksActivity.public');
17
19
  namespaces: typeof import('./modules/namespaces.public');
18
20
  queues: typeof import('./modules/queues.public');
19
21
  reports: typeof import('./modules/reports.public');
20
22
  setup: typeof import('./modules/setup.public');
21
23
  tasks: typeof import('./modules/tasks.public');
24
+ tasksActivity: typeof import('./modules/tasksActivity.public');
22
25
  templates: typeof import('./modules/templates.public');
23
26
  version: string;
24
27
  };
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import EventEmitter from 'events';
2
3
  interface EventfulListener<E extends Record<string, any[]>> {
3
4
  on: <P extends keyof E>(eventName: P, listener: (...args: E[P]) => void) => this;
@@ -22,21 +22,21 @@ export declare const getAllCrons: () => Promise<ApiResponse<Cron[]>>;
22
22
  *
23
23
  * Needs `general.crons-get-cron` permission
24
24
  *
25
- * @param name Cron name
25
+ * @param cronOrName Cron or Cron name
26
26
  *
27
27
  * @returns Cron's info
28
28
  */
29
- export declare const getCron: (name: Cron['name']) => Promise<ApiResponse<Cron>>;
29
+ export declare const getCron: (cronOrName: Cron | Cron['name']) => Promise<ApiResponse<Cron>>;
30
30
  /**
31
31
  * Start cron
32
32
  *
33
33
  * Needs `general.crons-put-cron-start` permission
34
34
  *
35
- * @param name Cron name
35
+ * @param cronOrName Cron or Cron name
36
36
  *
37
37
  * @returns Cron's info
38
38
  */
39
- export declare const startCron: (name: Cron['name']) => Promise<{
39
+ export declare const startCron: (cronOrName: Cron | Cron['name']) => Promise<{
40
40
  content: Cron;
41
41
  status: {
42
42
  code: number;
@@ -48,11 +48,11 @@ export declare const startCron: (name: Cron['name']) => Promise<{
48
48
  *
49
49
  * Needs `general.crons-put-cron-stop` permission
50
50
  *
51
- * @param name Cron name
51
+ * @param cronOrName Cron or Cron name
52
52
  *
53
53
  * @returns Cron's info
54
54
  */
55
- export declare const stopCron: (name: Cron['name']) => Promise<{
55
+ export declare const stopCron: (cronOrName: Cron | Cron['name']) => Promise<{
56
56
  content: Cron;
57
57
  status: {
58
58
  code: number;
@@ -64,11 +64,11 @@ export declare const stopCron: (name: Cron['name']) => Promise<{
64
64
  *
65
65
  * Needs `general.crons-post-cron-force` permission
66
66
  *
67
- * @param name Cron name
67
+ * @param cronOrName Cron or Cron name
68
68
  *
69
69
  * @returns Cron's info
70
70
  */
71
- export declare const forceCron: (name: Cron['name']) => Promise<{
71
+ export declare const forceCron: (cronOrName: Cron | Cron['name']) => Promise<{
72
72
  content: Cron;
73
73
  status: {
74
74
  code: number;
@@ -38,31 +38,31 @@ export declare const getAllQueues: () => Promise<ApiResponse<Queue[]>>;
38
38
  *
39
39
  * Needs `general.queues-put-queue-pause` permission
40
40
  *
41
- * @param queueName Name of the queue
41
+ * @param queueOrName Queue or queue's name
42
42
  *
43
43
  * @returns queue info
44
44
  */
45
- export declare const pauseQueue: (queueName: string) => Promise<ApiResponse<Queue>>;
45
+ export declare const pauseQueue: (queueOrName: Queue | Queue['name']) => Promise<ApiResponse<Queue>>;
46
46
  /**
47
47
  * Resume queue
48
48
  *
49
49
  * Needs `general.queues-put-queue-resume` permission
50
50
  *
51
- * @param queueName Name of the queue
51
+ * @param queueOrName Queue or queue's name
52
52
  *
53
53
  * @returns queue info
54
54
  */
55
- export declare const resumeQueue: (queueName: string) => Promise<ApiResponse<Queue>>;
55
+ export declare const resumeQueue: (queueOrName: Queue | Queue['name']) => Promise<ApiResponse<Queue>>;
56
56
  /**
57
57
  * Get queue info
58
58
  *
59
59
  * Needs `general.queues-get-queue-jobs` permission
60
60
  *
61
- * @param queueName Name of the queue
61
+ * @param queueOrName Queue or queue's name
62
62
  *
63
63
  * @returns queue info
64
64
  */
65
- export declare const getQueueJobs: <Data, Result>(queueName: string, paginationOpts?: {
65
+ export declare const getQueueJobs: <Data, Result>(queueOrName: Queue | Queue['name'], paginationOpts?: {
66
66
  previous?: string | number | undefined;
67
67
  count?: number | undefined;
68
68
  } | undefined) => Promise<PaginatedApiResponse<FullJob<Data, Result>[]>>;
@@ -71,23 +71,23 @@ export declare const getQueueJobs: <Data, Result>(queueName: string, paginationO
71
71
  *
72
72
  * Needs `namespaces[namespaceId].queues-get-queue-jobs-jobId` permission
73
73
  *
74
- * @param queueName Name of queue where job is
75
- * @param jobId Id of the job in queue
74
+ * @param queueOrName Queue or queue's name where job is
75
+ * @param jobOrId Job or job's id in queue
76
76
  * @param namespaces
77
77
  *
78
78
  * @returns Job full info
79
79
  */
80
- export declare const getJob: <Data, Result>(queueName: string, jobId: string | number, namespaces?: string[]) => Promise<ApiResponse<FullJob<Data, Result>>>;
80
+ export declare const getJob: <Data, Result>(queueOrName: Queue | Queue['name'], jobOrId: string | number | Job<Data>, namespaces?: string[]) => Promise<ApiResponse<FullJob<Data, Result>>>;
81
81
  /**
82
82
  * Retry job that failed
83
83
  *
84
84
  * Needs `namespaces[namespaceId].queues-post-queue-jobs-jobId-retry` permission
85
85
  *
86
- * @param queueName Name of queue where job is
87
- * @param jobId Id of the job in queue
86
+ * @param queueOrName Queue or queue's name where job is
87
+ * @param jobOrId Job or job's id in queue
88
88
  * @param namespaces
89
89
  *
90
90
  * @returns queue info
91
91
  */
92
- export declare const retryJob: <Data, Result>(queueName: string, jobId: string | number, namespaces?: string[]) => Promise<ApiResponse<FullJob<Data, Result>>>;
92
+ export declare const retryJob: <Data, Result>(queueOrName: Queue | Queue['name'], jobOrId: string | number | Job<Data>, namespaces?: string[]) => Promise<ApiResponse<FullJob<Data, Result>>>;
93
93
  export {};
@@ -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 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)
@@ -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 {};
@@ -1,22 +1,32 @@
1
1
  import { type ApiResponse, type PaginatedApiResponse } from '../lib/axios';
2
2
  import type { JsonObject } from '../lib/utils';
3
- import { type History, type RawHistory } from './history';
3
+ import { type Activity, type RawActivity } from './tasksActivity';
4
4
  import type { Namespace } from './namespaces';
5
+ import { type Layout, type RawTemplate, type Template } from './templates';
5
6
  import { type Task, type RawTaskWithNamespace, type TaskWithNamespace } from './tasks.base';
6
- import type { Layout } from './templates';
7
7
  interface AdditionalRawTaskData {
8
8
  template: {
9
- extends: string;
10
9
  fetchOptions?: JsonObject;
11
10
  inserts?: (Layout & {
12
11
  at: number;
13
12
  })[];
14
13
  };
14
+ extends: RawTemplate;
15
+ lastExtended?: {
16
+ id: string;
17
+ tags: RawTemplate['tags'];
18
+ };
15
19
  targets: string[];
16
- history: RawHistory[];
20
+ activity: RawActivity[];
17
21
  }
18
- interface AdditionalTaskData extends Omit<AdditionalRawTaskData, 'history'> {
19
- history: History[];
22
+ interface AdditionalTaskData extends Omit<AdditionalRawTaskData, 'activity' | 'extends' | 'lastExtended'> {
23
+ activity: Activity[];
24
+ extends: Template;
25
+ lastExtended?: {
26
+ id: Template['id'];
27
+ name: Template['name'];
28
+ tags: Template['tags'];
29
+ };
20
30
  }
21
31
  export interface RawFullTask extends RawTaskWithNamespace, AdditionalRawTaskData {
22
32
  }
@@ -26,7 +36,11 @@ export interface InputTask extends Pick<FullTask, 'name' | 'template' | 'targets
26
36
  namespace?: Task['namespaceId'];
27
37
  nextRun?: FullTask['nextRun'];
28
38
  enabled?: FullTask['enabled'];
39
+ extends: string;
29
40
  }
41
+ export type TaskList = (Task & {
42
+ tags: Template['tags'];
43
+ })[];
30
44
  /**
31
45
  * Get all available tasks
32
46
  *
@@ -40,7 +54,7 @@ export interface InputTask extends Pick<FullTask, 'name' | 'template' | 'targets
40
54
  export declare const getAllTasks: (paginationOpts?: {
41
55
  previous?: Task['id'];
42
56
  count?: number;
43
- }, namespaces?: Namespace['id'][]) => Promise<PaginatedApiResponse<Task[]>>;
57
+ }, namespaces?: Namespace['id'][]) => Promise<PaginatedApiResponse<TaskList>>;
44
58
  /**
45
59
  * Create a new task
46
60
  *
@@ -57,69 +71,97 @@ export declare const createTask: (task: InputTask, namespaces?: Namespace['id'][
57
71
  *
58
72
  * Needs `namespaces[namespaceId].tasks-get-task` permission
59
73
  *
60
- * @param id Task's id
74
+ * @param taskOrId Task or Task's id
61
75
  * @param namespaces
62
76
  *
63
77
  * @returns Task's info
64
78
  */
65
- export declare const getTask: (id: Task['id'], namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
79
+ export declare const getTask: (taskOrId: Task | Task['id'], namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
66
80
  /**
67
81
  * Update or create a task
68
82
  *
69
83
  * Needs `namespaces[namespaceId].tasks-put-task` permission
70
84
  *
71
- * @param id Task's id
72
- * @param task Task's data
85
+ * @param task Task's data **with id**
73
86
  * @param namespaces
74
87
  *
75
88
  * @returns Updated/Created Task's info
76
89
  */
77
- export declare const upsertTask: (id: Task['id'], task: InputTask, namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
90
+ export declare const upsertTask: (task: InputTask & {
91
+ id: Task['id'];
92
+ }, namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
78
93
  /**
79
94
  * Update a task
80
95
  *
81
96
  * Needs `namespaces[namespaceId].tasks-put-task` permission
82
97
  *
83
- * @param id Task's id
84
- * @param task New Task's data
98
+ * @param task Task's data **with id**
85
99
  * @param namespaces
86
100
  *
87
101
  * @deprecated Use `upsertTask` instead
88
102
  *
89
103
  * @returns Updated Task's info
90
104
  */
91
- export declare const updateTask: (id: Task['id'], task: InputTask, namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
105
+ export declare const updateTask: (task: InputTask & {
106
+ id: Task['id'];
107
+ }, namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
92
108
  /**
93
109
  * Delete a task
94
110
  *
95
111
  * Needs `namespaces[namespaceId].tasks-delete-task` permission
96
112
  *
97
- * @param id Task's id
113
+ * @param taskOrId Task or Task's id
98
114
  * @param namespaces
99
- *
100
- * @returns Deleted Task's info
101
115
  */
102
- export declare const deleteTask: (id: Task['id'], namespaces?: Namespace['id'][]) => Promise<void>;
116
+ export declare const deleteTask: (taskOrId: Task | Task['id'], namespaces?: Namespace['id'][]) => Promise<void>;
103
117
  /**
104
118
  * Shorthand to enable task
105
119
  *
106
120
  * Needs `namespaces[namespaceId].tasks-put-task-enable` permission
107
121
  *
108
- * @param id Task's id
122
+ * @param taskOrId Task or Task's id
109
123
  * @param namespaces
110
124
  *
111
125
  * @returns Updated task's info
112
126
  */
113
- export declare const enableTask: (id: Task['id'], namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
127
+ export declare const enableTask: (taskOrId: Task | Task['id'], namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
114
128
  /**
115
129
  * Shorthand to disable task
116
130
  *
117
131
  * Needs `namespaces[namespaceId].tasks-put-task-disable` permission
118
132
  *
119
- * @param id Task's id
133
+ * @param taskOrId Task or Task's id
120
134
  * @param namespaces
121
135
  *
122
136
  * @returns Updated task's info
123
137
  */
124
- export declare const disableTask: (id: Task['id'], namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
138
+ export declare const disableTask: (taskOrId: Task | Task['id'], namespaces?: Namespace['id'][]) => Promise<ApiResponse<FullTask>>;
139
+ /**
140
+ * Link a task to a template
141
+ *
142
+ * Needs `namespaces[namespaceId].tasks-put-task-link-template` permission
143
+ *
144
+ * @param taskOrId Task or Task's id
145
+ * @param templateOrId Template or Template's id
146
+ * @param namespaces
147
+ *
148
+ * @returns Updated task's info
149
+ */
150
+ export declare const linkTaskToTemplate: (taskOrId: Task | Task['id'], templateOrId: Template | Template['id'], namespaces?: Namespace['id'][]) => Promise<{
151
+ content: FullTask;
152
+ status: {
153
+ code: number;
154
+ message: string;
155
+ };
156
+ }>;
157
+ /**
158
+ * Unlink a task to a template
159
+ *
160
+ * Needs `namespaces[namespaceId].tasks-delete-task-link-template` permission
161
+ *
162
+ * @param taskOrId Task or Task's id
163
+ * @param templateOrId Template or Template's id
164
+ * @param namespaces
165
+ */
166
+ export declare const unlinkTaskToTemplate: (taskOrId: Task | Task['id'], templateOrId: Template | Template['id'], namespaces?: Namespace['id'][]) => Promise<void>;
125
167
  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';