@ezpaarse-project/ezreeport-sdk-js 1.3.0 → 2.0.0-beta.2
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 +9 -10
- package/dist/api-C_g0ldUn.d.ts +24 -0
- package/dist/api-D8l8Ds3U.mjs +19 -0
- package/dist/api-D8l8Ds3U.mjs.map +1 -0
- package/dist/api-DVzOqMA2.js +2 -0
- package/dist/api-DVzOqMA2.js.map +1 -0
- package/dist/auth.d.ts +47 -0
- package/dist/auth.js +2 -0
- package/dist/auth.js.map +1 -0
- package/dist/auth.mjs +7 -0
- package/dist/auth.mjs.map +1 -0
- package/dist/body-BqAn9vHJ.d.ts +16 -0
- package/dist/crons.d.ts +16 -0
- package/dist/crons.js +2 -0
- package/dist/crons.js.map +1 -0
- package/dist/crons.mjs +90 -0
- package/dist/crons.mjs.map +1 -0
- package/dist/decorator-C2gcn2rK.js +2 -0
- package/dist/decorator-C2gcn2rK.js.map +1 -0
- package/dist/decorator-DBkj--6g.mjs +26 -0
- package/dist/decorator-DBkj--6g.mjs.map +1 -0
- package/dist/elastic.d.ts +26 -0
- package/dist/elastic.js +2 -0
- package/dist/elastic.js.map +1 -0
- package/dist/elastic.mjs +45 -0
- package/dist/elastic.mjs.map +1 -0
- package/dist/fetch-Hd-ajPIl.js +2 -0
- package/dist/fetch-Hd-ajPIl.js.map +1 -0
- package/dist/fetch-xZFTa3q1.mjs +16 -0
- package/dist/fetch-xZFTa3q1.mjs.map +1 -0
- package/dist/health.d.ts +47 -0
- package/dist/health.js +2 -0
- package/dist/health.js.map +1 -0
- package/dist/health.mjs +41 -0
- package/dist/health.mjs.map +1 -0
- package/dist/helpers/aggregations.d.ts +109 -0
- package/dist/helpers/aggregations.js +2 -0
- package/dist/helpers/aggregations.js.map +1 -0
- package/dist/helpers/aggregations.mjs +42 -0
- package/dist/helpers/aggregations.mjs.map +1 -0
- package/dist/helpers/figures.d.ts +221 -0
- package/dist/helpers/figures.js +2 -0
- package/dist/helpers/figures.js.map +1 -0
- package/dist/helpers/figures.mjs +33 -0
- package/dist/helpers/figures.mjs.map +1 -0
- package/dist/helpers/filters.d.ts +8 -0
- package/dist/helpers/filters.js +2 -0
- package/dist/helpers/filters.js.map +1 -0
- package/dist/helpers/filters.mjs +7 -0
- package/dist/helpers/filters.mjs.map +1 -0
- package/dist/helpers/jobs.d.ts +109 -0
- package/dist/helpers/jobs.js +2 -0
- package/dist/helpers/jobs.js.map +1 -0
- package/dist/helpers/jobs.mjs +390 -0
- package/dist/helpers/jobs.mjs.map +1 -0
- package/dist/helpers/layouts.d.ts +19 -0
- package/dist/helpers/layouts.js +2 -0
- package/dist/helpers/layouts.js.map +1 -0
- package/dist/helpers/layouts.mjs +44 -0
- package/dist/helpers/layouts.mjs.map +1 -0
- package/dist/helpers/permissions.d.ts +15 -0
- package/dist/helpers/permissions.js +2 -0
- package/dist/helpers/permissions.js.map +1 -0
- package/dist/helpers/permissions.mjs +40 -0
- package/dist/helpers/permissions.mjs.map +1 -0
- package/dist/helpers/task-presets.d.ts +16 -0
- package/dist/helpers/task-presets.js +2 -0
- package/dist/helpers/task-presets.js.map +1 -0
- package/dist/helpers/task-presets.mjs +36 -0
- package/dist/helpers/task-presets.mjs.map +1 -0
- package/dist/helpers/tasks.d.ts +56 -0
- package/dist/helpers/tasks.js +2 -0
- package/dist/helpers/tasks.js.map +1 -0
- package/dist/helpers/tasks.mjs +195 -0
- package/dist/helpers/tasks.mjs.map +1 -0
- package/dist/helpers/templates.d.ts +34 -0
- package/dist/helpers/templates.js +2 -0
- package/dist/helpers/templates.js.map +1 -0
- package/dist/helpers/templates.mjs +130 -0
- package/dist/helpers/templates.mjs.map +1 -0
- package/dist/index-6ma-WCUD.d.ts +109 -0
- package/dist/index-btsFMVmd.js +2 -0
- package/dist/index-btsFMVmd.js.map +1 -0
- package/dist/index-niBfS4wD.mjs +331 -0
- package/dist/index-niBfS4wD.mjs.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +7 -0
- package/dist/index.mjs.map +1 -0
- package/dist/methods-BBsb3M5p.mjs +142 -0
- package/dist/methods-BBsb3M5p.mjs.map +1 -0
- package/dist/methods-BJfwYB1p.mjs +126 -0
- package/dist/methods-BJfwYB1p.mjs.map +1 -0
- package/dist/methods-CGdoP4Hi.js +2 -0
- package/dist/methods-CGdoP4Hi.js.map +1 -0
- package/dist/methods-CO0p8irP.js +2 -0
- package/dist/methods-CO0p8irP.js.map +1 -0
- package/dist/methods-DOB4Ry8E.mjs +147 -0
- package/dist/methods-DOB4Ry8E.mjs.map +1 -0
- package/dist/methods-DU5cbtLn.js +2 -0
- package/dist/methods-DU5cbtLn.js.map +1 -0
- package/dist/methods-DUqC5qzU.mjs +146 -0
- package/dist/methods-DUqC5qzU.mjs.map +1 -0
- package/dist/methods-DY2VLwGd.mjs +116 -0
- package/dist/methods-DY2VLwGd.mjs.map +1 -0
- package/dist/methods-Jar1Wkpj.js +2 -0
- package/dist/methods-Jar1Wkpj.js.map +1 -0
- package/dist/methods-M4GU2OL5.mjs +51 -0
- package/dist/methods-M4GU2OL5.mjs.map +1 -0
- package/dist/methods-cUjyNkoK.js +2 -0
- package/dist/methods-cUjyNkoK.js.map +1 -0
- package/dist/methods-uWDk6_pk.js +2 -0
- package/dist/methods-uWDk6_pk.js.map +1 -0
- package/dist/namespaces.d.ts +28 -0
- package/dist/namespaces.js +2 -0
- package/dist/namespaces.js.map +1 -0
- package/dist/namespaces.mjs +2 -0
- package/dist/namespaces.mjs.map +1 -0
- package/dist/queues.d.ts +6 -0
- package/dist/queues.js +2 -0
- package/dist/queues.js.map +1 -0
- package/dist/queues.mjs +10 -0
- package/dist/queues.mjs.map +1 -0
- package/dist/reports.d.ts +85 -0
- package/dist/reports.js +2 -0
- package/dist/reports.js.map +1 -0
- package/dist/reports.mjs +12 -0
- package/dist/reports.mjs.map +1 -0
- package/dist/task-activity.d.ts +33 -0
- package/dist/task-activity.js +2 -0
- package/dist/task-activity.js.map +1 -0
- package/dist/task-activity.mjs +66 -0
- package/dist/task-activity.mjs.map +1 -0
- package/dist/task-presets.d.ts +61 -0
- package/dist/task-presets.js +2 -0
- package/dist/task-presets.js.map +1 -0
- package/dist/task-presets.mjs +10 -0
- package/dist/task-presets.mjs.map +1 -0
- package/dist/tasks-1x680qAf.mjs +34 -0
- package/dist/tasks-1x680qAf.mjs.map +1 -0
- package/dist/tasks-BDFAJ6Oi.d.ts +12 -0
- package/dist/tasks-hn70eL7B.js +2 -0
- package/dist/tasks-hn70eL7B.js.map +1 -0
- package/dist/tasks.d.ts +60 -0
- package/dist/tasks.js +2 -0
- package/dist/tasks.js.map +1 -0
- package/dist/tasks.mjs +10 -0
- package/dist/tasks.mjs.map +1 -0
- package/dist/templates-BgRTZc5c.d.ts +14 -0
- package/dist/templates-yZjsVuN9.js +2 -0
- package/dist/templates-yZjsVuN9.js.map +1 -0
- package/dist/templates-zMmVXt6k.mjs +30 -0
- package/dist/templates-zMmVXt6k.mjs.map +1 -0
- package/dist/templates.d.ts +51 -0
- package/dist/templates.js +2 -0
- package/dist/templates.js.map +1 -0
- package/dist/templates.mjs +9 -0
- package/dist/templates.mjs.map +1 -0
- package/dist/transform-DzLAfSJo.js +2 -0
- package/dist/transform-DzLAfSJo.js.map +1 -0
- package/dist/transform-EpMTJExd.mjs +26 -0
- package/dist/transform-EpMTJExd.mjs.map +1 -0
- package/dist/types-BGlpjxH9.d.ts +50 -0
- package/dist/types-C4AhJDkW.d.ts +77 -0
- package/dist/types-DcoMmjs3.d.ts +101 -0
- package/dist/types-jXqGnCKQ.d.ts +79 -0
- package/package.json +126 -25
- package/dist/browser/ezreeport-sdk-js.mjs +0 -979
- package/dist/browser/ezreeport-sdk-js.mjs.map +0 -1
- package/dist/browser/ezreeport-sdk-js.umd.js +0 -2
- package/dist/browser/ezreeport-sdk-js.umd.js.map +0 -1
- package/dist/node/ezreeport-sdk-js.js +0 -2
- package/dist/node/ezreeport-sdk-js.js.map +0 -1
- package/dist/node/ezreeport-sdk-js.mjs +0 -979
- package/dist/node/ezreeport-sdk-js.mjs.map +0 -1
- package/dist/types/index.d.ts +0 -32
- package/dist/types/lib/axios.d.ts +0 -51
- package/dist/types/lib/promises.d.ts +0 -21
- package/dist/types/lib/utils.d.ts +0 -27
- package/dist/types/modules/auth.d.ts +0 -90
- package/dist/types/modules/auth.public.d.ts +0 -1
- package/dist/types/modules/crons.d.ts +0 -102
- package/dist/types/modules/crons.public.d.ts +0 -1
- package/dist/types/modules/elastic.d.ts +0 -33
- package/dist/types/modules/elastic.public.d.ts +0 -1
- package/dist/types/modules/health.d.ts +0 -53
- package/dist/types/modules/health.public.d.ts +0 -1
- package/dist/types/modules/namespaces.d.ts +0 -29
- package/dist/types/modules/namespaces.public.d.ts +0 -1
- package/dist/types/modules/queues.d.ts +0 -120
- package/dist/types/modules/queues.public.d.ts +0 -1
- package/dist/types/modules/reports.d.ts +0 -204
- package/dist/types/modules/reports.public.d.ts +0 -1
- package/dist/types/modules/setup.d.ts +0 -17
- package/dist/types/modules/setup.public.d.ts +0 -2
- package/dist/types/modules/tasks.base.d.ts +0 -48
- package/dist/types/modules/tasks.d.ts +0 -249
- package/dist/types/modules/tasks.public.d.ts +0 -2
- package/dist/types/modules/tasksActivity.d.ts +0 -36
- package/dist/types/modules/tasksActivity.public.d.ts +0 -5
- package/dist/types/modules/tasksPresets.d.ts +0 -87
- package/dist/types/modules/tasksPresets.public.d.ts +0 -1
- package/dist/types/modules/templates.d.ts +0 -155
- package/dist/types/modules/templates.public.d.ts +0 -1
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { h as i } from "../templates-zMmVXt6k.mjs";
|
|
2
|
+
import { c as h, a as m, l as L } from "../templates-zMmVXt6k.mjs";
|
|
3
|
+
import { c as T, a as O, t as k } from "../tasks-1x680qAf.mjs";
|
|
4
|
+
function n(e) {
|
|
5
|
+
return "at" in e;
|
|
6
|
+
}
|
|
7
|
+
function f(e) {
|
|
8
|
+
return !n(e);
|
|
9
|
+
}
|
|
10
|
+
function p(e) {
|
|
11
|
+
return e.hash !== i(e);
|
|
12
|
+
}
|
|
13
|
+
function c(e, r, t) {
|
|
14
|
+
if (e.figures.some((a) => a.id === r.id))
|
|
15
|
+
throw new Error(`Figure "${r.id}" already exists`);
|
|
16
|
+
return e.figures.splice(t != null ? t : e.figures.length, 0, r), r;
|
|
17
|
+
}
|
|
18
|
+
function l(e, r) {
|
|
19
|
+
const t = e;
|
|
20
|
+
return t.figures = e.figures.filter((a) => a.id !== r.id), e;
|
|
21
|
+
}
|
|
22
|
+
function d(e, r, t) {
|
|
23
|
+
const a = e.figures.findIndex((s) => s.id === r.id);
|
|
24
|
+
if (a < 0)
|
|
25
|
+
throw new Error(`Figure "${r.id}" not found`);
|
|
26
|
+
const o = e;
|
|
27
|
+
return o.figures[a] = t, e;
|
|
28
|
+
}
|
|
29
|
+
export {
|
|
30
|
+
c as addFigureOfHelper,
|
|
31
|
+
h as createLayoutHelper,
|
|
32
|
+
m as createLayoutHelperFrom,
|
|
33
|
+
T as createTaskLayoutHelper,
|
|
34
|
+
O as createTaskLayoutHelperFrom,
|
|
35
|
+
p as hasLayoutHelperChanged,
|
|
36
|
+
i as hashLayout,
|
|
37
|
+
n as isTaskLayoutHelper,
|
|
38
|
+
f as isTemplateLayoutHelper,
|
|
39
|
+
L as layoutHelperToJSON,
|
|
40
|
+
l as removeFigureOfHelper,
|
|
41
|
+
k as taskLayoutHelperToJSON,
|
|
42
|
+
d as updateFigureOfHelper
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=layouts.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layouts.mjs","sources":["../../src/helpers/templates/editor/layouts/index.ts"],"sourcesContent":["import { hashLayout, type LayoutHelper } from './templates';\nimport type { TaskLayoutHelper } from './tasks';\nimport type { AnyFigureHelper } from '../figures';\n\nexport type AnyLayoutHelper = LayoutHelper | TaskLayoutHelper;\n\nexport function isTaskLayoutHelper(layout: AnyLayoutHelper): layout is TaskLayoutHelper {\n return 'at' in layout;\n}\n\nexport function isTemplateLayoutHelper(layout: AnyLayoutHelper): layout is LayoutHelper {\n return !isTaskLayoutHelper(layout);\n}\n\nexport function hasLayoutHelperChanged(layout: AnyLayoutHelper): boolean {\n return layout.hash !== hashLayout(layout);\n}\n\nexport function addFigureOfHelper(\n layout: AnyLayoutHelper,\n figure: AnyFigureHelper,\n index?: number,\n): AnyFigureHelper {\n if (layout.figures.some((f) => f.id === figure.id)) {\n throw new Error(`Figure \"${figure.id}\" already exists`);\n }\n layout.figures.splice(index ?? layout.figures.length, 0, figure);\n return figure;\n}\n\nexport function removeFigureOfHelper(\n layout: AnyLayoutHelper,\n figure: AnyFigureHelper,\n): AnyLayoutHelper {\n const l = layout;\n l.figures = layout.figures.filter((f) => f.id !== figure.id);\n return layout;\n}\n\nexport function updateFigureOfHelper(\n layout: AnyLayoutHelper,\n oldFigure: AnyFigureHelper,\n newFigure: AnyFigureHelper,\n): AnyLayoutHelper {\n const index = layout.figures.findIndex((f) => f.id === oldFigure.id);\n if (index < 0) {\n throw new Error(`Figure \"${oldFigure.id}\" not found`);\n }\n const l = layout;\n l.figures[index] = newFigure;\n return layout;\n}\n\nexport * from './templates';\nexport * from './tasks';\n"],"names":["isTaskLayoutHelper","layout","isTemplateLayoutHelper","hasLayoutHelperChanged","hashLayout","addFigureOfHelper","figure","index","f","removeFigureOfHelper","l","updateFigureOfHelper","oldFigure","newFigure"],"mappings":";;;AAMO,SAASA,EAAmBC,GAAqD;AACtF,SAAO,QAAQA;AACjB;AAEO,SAASC,EAAuBD,GAAiD;AAC/E,SAAA,CAACD,EAAmBC,CAAM;AACnC;AAEO,SAASE,EAAuBF,GAAkC;AAChE,SAAAA,EAAO,SAASG,EAAWH,CAAM;AAC1C;AAEgB,SAAAI,EACdJ,GACAK,GACAC,GACiB;AACb,MAAAN,EAAO,QAAQ,KAAK,CAACO,MAAMA,EAAE,OAAOF,EAAO,EAAE;AAC/C,UAAM,IAAI,MAAM,WAAWA,EAAO,EAAE,kBAAkB;AAExD,SAAAL,EAAO,QAAQ,OAAOM,KAAA,OAAAA,IAASN,EAAO,QAAQ,QAAQ,GAAGK,CAAM,GACxDA;AACT;AAEgB,SAAAG,EACdR,GACAK,GACiB;AACjB,QAAMI,IAAIT;AACR,SAAAS,EAAA,UAAUT,EAAO,QAAQ,OAAO,CAACO,MAAMA,EAAE,OAAOF,EAAO,EAAE,GACpDL;AACT;AAEgB,SAAAU,EACdV,GACAW,GACAC,GACiB;AACX,QAAAN,IAAQN,EAAO,QAAQ,UAAU,CAACO,MAAMA,EAAE,OAAOI,EAAU,EAAE;AACnE,MAAIL,IAAQ;AACV,UAAM,IAAI,MAAM,WAAWK,EAAU,EAAE,aAAa;AAEtD,QAAMF,IAAIT;AACR,SAAAS,EAAA,QAAQH,CAAK,IAAIM,GACZZ;AACT;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Refresh current user permissions
|
|
3
|
+
*/
|
|
4
|
+
declare function refreshPermissions(): Promise<void>;
|
|
5
|
+
/**
|
|
6
|
+
* Check if the user have the permission to use the function
|
|
7
|
+
*
|
|
8
|
+
* @param fnc The function
|
|
9
|
+
* @param namespaceId The namespaces where the function can be used, check if at least one is true
|
|
10
|
+
*
|
|
11
|
+
* @returns If the user have the permission
|
|
12
|
+
*/
|
|
13
|
+
declare function hasPermission(fnc: Function, namespaceIds?: string[]): boolean;
|
|
14
|
+
|
|
15
|
+
export { hasPermission, refreshPermissions };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var m=(s,i,r)=>new Promise((t,n)=>{var u=e=>{try{o(r.next(e))}catch(a){n(a)}},l=e=>{try{o(r.throw(e))}catch(a){n(a)}},o=e=>e.done?t(e.value):Promise.resolve(e.value).then(u,l);o((r=r.apply(s,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const P=require("../methods-Jar1Wkpj.js"),f=require("../decorator-C2gcn2rK.js");let c;function h(){return m(this,null,function*(){c=yield P.getCurrentPermissions()})}function y(s,i){if(!f.isSDKFunction(s))return console.warn(`[ezr][hasPermission] Function ${s.name} is not compatible with ezrPermission decorator`),!0;if(!c)return console.warn("[ezr][hasPermission] No current permissions set, please call refreshPermissions() first"),!1;const{general:r,namespaces:t}=c;return s.ezrPermissions.every(({permission:n,isNamespaced:u})=>u?(i!=null?i:Object.keys(t)).some(o=>{var e;return((e=t[o])==null?void 0:e[n])||!1}):r[n]||!1)}exports.hasPermission=y;exports.refreshPermissions=h;
|
|
2
|
+
//# sourceMappingURL=permissions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.js","sources":["../../src/helpers/permissions/index.ts"],"sourcesContent":["import { getCurrentPermissions } from '~/modules/auth/methods';\nimport type { UserPermissions } from '~/modules/auth/types';\n\nimport { isSDKFunction } from './decorator';\n\nlet currentUserPermissions: UserPermissions | undefined;\n\n/**\n * Refresh current user permissions\n */\nexport async function refreshPermissions(): Promise<void> {\n currentUserPermissions = await getCurrentPermissions();\n}\n\n/**\n * Check if the user have the permission to use the function\n *\n * @param fnc The function\n * @param namespaceId The namespaces where the function can be used, check if at least one is true\n *\n * @returns If the user have the permission\n */\nexport function hasPermission(fnc: Function, namespaceIds?: string[]): boolean {\n if (!isSDKFunction(fnc)) {\n // eslint-disable-next-line no-console\n console.warn(`[ezr][hasPermission] Function ${fnc.name} is not compatible with ezrPermission decorator`);\n return true;\n }\n\n if (!currentUserPermissions) {\n // eslint-disable-next-line no-console\n console.warn('[ezr][hasPermission] No current permissions set, please call refreshPermissions() first');\n return false;\n }\n\n const { general, namespaces } = currentUserPermissions;\n return fnc.ezrPermissions.every(({ permission, isNamespaced }) => {\n if (!isNamespaced) {\n return general[permission] || false;\n }\n\n // If no namespace provided, check if at least one is true\n const nIds = namespaceIds ?? Object.keys(namespaces);\n\n return nIds.some((id) => namespaces[id]?.[permission] || false);\n });\n}\n"],"names":["currentUserPermissions","refreshPermissions","__async","getCurrentPermissions","hasPermission","fnc","namespaceIds","isSDKFunction","general","namespaces","permission","isNamespaced","id","_a"],"mappings":"6WAKA,IAAIA,EAKJ,SAAsBC,GAAoC,QAAAC,EAAA,sBACxDF,EAAyB,MAAMG,EAAAA,sBAAsB,CACvD,GAUgB,SAAAC,EAAcC,EAAeC,EAAkC,CACzE,GAAA,CAACC,EAAAA,cAAcF,CAAG,EAEpB,eAAQ,KAAK,iCAAiCA,EAAI,IAAI,iDAAiD,EAChG,GAGT,GAAI,CAACL,EAEH,eAAQ,KAAK,yFAAyF,EAC/F,GAGH,KAAA,CAAE,QAAAQ,EAAS,WAAAC,CAAA,EAAeT,EAChC,OAAOK,EAAI,eAAe,MAAM,CAAC,CAAE,WAAAK,EAAY,aAAAC,KACxCA,GAKQL,GAAA,KAAAA,EAAgB,OAAO,KAAKG,CAAU,GAEvC,KAAMG,GAAA,OAAO,QAAAC,EAAAJ,EAAWG,CAAE,IAAb,YAAAC,EAAiBH,KAAe,GAAK,EANrDF,EAAQE,CAAU,GAAK,EAOjC,CACH"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
var l = (e, i, s) => new Promise((t, n) => {
|
|
2
|
+
var a = (r) => {
|
|
3
|
+
try {
|
|
4
|
+
o(s.next(r));
|
|
5
|
+
} catch (m) {
|
|
6
|
+
n(m);
|
|
7
|
+
}
|
|
8
|
+
}, f = (r) => {
|
|
9
|
+
try {
|
|
10
|
+
o(s.throw(r));
|
|
11
|
+
} catch (m) {
|
|
12
|
+
n(m);
|
|
13
|
+
}
|
|
14
|
+
}, o = (r) => r.done ? t(r.value) : Promise.resolve(r.value).then(a, f);
|
|
15
|
+
o((s = s.apply(e, i)).next());
|
|
16
|
+
});
|
|
17
|
+
import { a as c } from "../methods-M4GU2OL5.mjs";
|
|
18
|
+
import { i as P } from "../decorator-DBkj--6g.mjs";
|
|
19
|
+
let u;
|
|
20
|
+
function y() {
|
|
21
|
+
return l(this, null, function* () {
|
|
22
|
+
u = yield c();
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
function b(e, i) {
|
|
26
|
+
if (!P(e))
|
|
27
|
+
return console.warn(`[ezr][hasPermission] Function ${e.name} is not compatible with ezrPermission decorator`), !0;
|
|
28
|
+
if (!u)
|
|
29
|
+
return console.warn("[ezr][hasPermission] No current permissions set, please call refreshPermissions() first"), !1;
|
|
30
|
+
const { general: s, namespaces: t } = u;
|
|
31
|
+
return e.ezrPermissions.every(({ permission: n, isNamespaced: a }) => a ? (i != null ? i : Object.keys(t)).some((o) => {
|
|
32
|
+
var r;
|
|
33
|
+
return ((r = t[o]) == null ? void 0 : r[n]) || !1;
|
|
34
|
+
}) : s[n] || !1);
|
|
35
|
+
}
|
|
36
|
+
export {
|
|
37
|
+
b as hasPermission,
|
|
38
|
+
y as refreshPermissions
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=permissions.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permissions.mjs","sources":["../../src/helpers/permissions/index.ts"],"sourcesContent":["import { getCurrentPermissions } from '~/modules/auth/methods';\nimport type { UserPermissions } from '~/modules/auth/types';\n\nimport { isSDKFunction } from './decorator';\n\nlet currentUserPermissions: UserPermissions | undefined;\n\n/**\n * Refresh current user permissions\n */\nexport async function refreshPermissions(): Promise<void> {\n currentUserPermissions = await getCurrentPermissions();\n}\n\n/**\n * Check if the user have the permission to use the function\n *\n * @param fnc The function\n * @param namespaceId The namespaces where the function can be used, check if at least one is true\n *\n * @returns If the user have the permission\n */\nexport function hasPermission(fnc: Function, namespaceIds?: string[]): boolean {\n if (!isSDKFunction(fnc)) {\n // eslint-disable-next-line no-console\n console.warn(`[ezr][hasPermission] Function ${fnc.name} is not compatible with ezrPermission decorator`);\n return true;\n }\n\n if (!currentUserPermissions) {\n // eslint-disable-next-line no-console\n console.warn('[ezr][hasPermission] No current permissions set, please call refreshPermissions() first');\n return false;\n }\n\n const { general, namespaces } = currentUserPermissions;\n return fnc.ezrPermissions.every(({ permission, isNamespaced }) => {\n if (!isNamespaced) {\n return general[permission] || false;\n }\n\n // If no namespace provided, check if at least one is true\n const nIds = namespaceIds ?? Object.keys(namespaces);\n\n return nIds.some((id) => namespaces[id]?.[permission] || false);\n });\n}\n"],"names":["currentUserPermissions","refreshPermissions","__async","getCurrentPermissions","hasPermission","fnc","namespaceIds","isSDKFunction","general","namespaces","permission","isNamespaced","id","_a"],"mappings":";;;;;;;;;;;;;;;;;;AAKA,IAAIA;AAKJ,SAAsBC,IAAoC;AAAA,SAAAC,EAAA;AACxD,IAAAF,IAAyB,MAAMG,EAAsB;AAAA,EACvD;AAAA;AAUgB,SAAAC,EAAcC,GAAeC,GAAkC;AACzE,MAAA,CAACC,EAAcF,CAAG;AAEpB,mBAAQ,KAAK,iCAAiCA,EAAI,IAAI,iDAAiD,GAChG;AAGT,MAAI,CAACL;AAEH,mBAAQ,KAAK,yFAAyF,GAC/F;AAGH,QAAA,EAAE,SAAAQ,GAAS,YAAAC,EAAA,IAAeT;AAChC,SAAOK,EAAI,eAAe,MAAM,CAAC,EAAE,YAAAK,GAAY,cAAAC,QACxCA,KAKQL,KAAA,OAAAA,IAAgB,OAAO,KAAKG,CAAU,GAEvC,KAAK,CAACG,MAAA;;AAAO,aAAAC,IAAAJ,EAAWG,CAAE,MAAb,gBAAAC,EAAiBH,OAAe;AAAA,GAAK,IANrDF,EAAQE,CAAU,KAAK,EAOjC;AACH;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { T as TaskPreset } from '../types-BGlpjxH9.js';
|
|
2
|
+
import '../types-DcoMmjs3.js';
|
|
3
|
+
import '../types-C4AhJDkW.js';
|
|
4
|
+
import '../namespaces.js';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Change visibility of a preset
|
|
8
|
+
*
|
|
9
|
+
* @param presetOrId Preset or Preset's id
|
|
10
|
+
* @param hidden New state
|
|
11
|
+
*
|
|
12
|
+
* @returns Updated preset
|
|
13
|
+
*/
|
|
14
|
+
declare function changeTaskPresetVisibility(presetOrId: TaskPreset | string, hidden: boolean): Promise<TaskPreset>;
|
|
15
|
+
|
|
16
|
+
export { changeTaskPresetVisibility };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var u=(s,i,e)=>new Promise((c,o)=>{var d=t=>{try{a(e.next(t))}catch(n){o(n)}},g=t=>{try{a(e.throw(t))}catch(n){o(n)}},a=t=>t.done?c(t.value):Promise.resolve(t.value).then(d,g);a((e=e.apply(s,i)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("../methods-CO0p8irP.js"),l=require("../decorator-C2gcn2rK.js");function p(s,i){return u(this,null,function*(){let e=s;return typeof e=="string"&&(e=yield r.getTaskPreset(s)),yield r.upsertTaskPreset({id:e.id,name:e.name,templateId:e.templateId,recurrence:e.recurrence,fetchOptions:e.fetchOptions,hidden:i})})}l.assignDependencies(p,[r.getTaskPreset,r.upsertTaskPreset]);exports.changeTaskPresetVisibility=p;
|
|
2
|
+
//# sourceMappingURL=task-presets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-presets.js","sources":["../../src/helpers/task-presets/index.ts"],"sourcesContent":["import { getTaskPreset, upsertTaskPreset, type TaskPreset } from '~/modules/task-presets';\n\nimport { assignDependencies } from '~/helpers/permissions/decorator';\n\n/**\n * Change visibility of a preset\n *\n * @param presetOrId Preset or Preset's id\n * @param hidden New state\n *\n * @returns Updated preset\n */\n// eslint-disable-next-line import/prefer-default-export\nexport async function changeTaskPresetVisibility(\n presetOrId: TaskPreset | string,\n hidden: boolean,\n): Promise<TaskPreset> {\n let base = presetOrId;\n if (typeof base === 'string') {\n base = await getTaskPreset(presetOrId);\n }\n\n const preset = await upsertTaskPreset({\n id: base.id,\n name: base.name,\n templateId: base.templateId,\n recurrence: base.recurrence,\n fetchOptions: base.fetchOptions,\n hidden,\n });\n\n return preset;\n}\nassignDependencies(changeTaskPresetVisibility, [getTaskPreset, upsertTaskPreset]);\n"],"names":["changeTaskPresetVisibility","presetOrId","hidden","__async","base","getTaskPreset","upsertTaskPreset","assignDependencies"],"mappings":"6WAasB,SAAAA,EACpBC,EACAC,EACqB,QAAAC,EAAA,sBACrB,IAAIC,EAAOH,EACP,OAAA,OAAOG,GAAS,WACXA,EAAA,MAAMC,gBAAcJ,CAAU,GAGxB,MAAMK,mBAAiB,CACpC,GAAIF,EAAK,GACT,KAAMA,EAAK,KACX,WAAYA,EAAK,WACjB,WAAYA,EAAK,WACjB,aAAcA,EAAK,aACnB,OAAAF,CAAA,CACD,CAGH,GACAK,EAAA,mBAAmBP,EAA4B,CAACK,gBAAeC,EAAAA,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
var p = (s, a, e) => new Promise((n, c) => {
|
|
2
|
+
var f = (t) => {
|
|
3
|
+
try {
|
|
4
|
+
r(e.next(t));
|
|
5
|
+
} catch (i) {
|
|
6
|
+
c(i);
|
|
7
|
+
}
|
|
8
|
+
}, u = (t) => {
|
|
9
|
+
try {
|
|
10
|
+
r(e.throw(t));
|
|
11
|
+
} catch (i) {
|
|
12
|
+
c(i);
|
|
13
|
+
}
|
|
14
|
+
}, r = (t) => t.done ? n(t.value) : Promise.resolve(t.value).then(f, u);
|
|
15
|
+
r((e = e.apply(s, a)).next());
|
|
16
|
+
});
|
|
17
|
+
import { a as o, u as m } from "../methods-BBsb3M5p.mjs";
|
|
18
|
+
import { b as d } from "../decorator-DBkj--6g.mjs";
|
|
19
|
+
function g(s, a) {
|
|
20
|
+
return p(this, null, function* () {
|
|
21
|
+
let e = s;
|
|
22
|
+
return typeof e == "string" && (e = yield o(s)), yield m({
|
|
23
|
+
id: e.id,
|
|
24
|
+
name: e.name,
|
|
25
|
+
templateId: e.templateId,
|
|
26
|
+
recurrence: e.recurrence,
|
|
27
|
+
fetchOptions: e.fetchOptions,
|
|
28
|
+
hidden: a
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
d(g, [o, m]);
|
|
33
|
+
export {
|
|
34
|
+
g as changeTaskPresetVisibility
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=task-presets.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"task-presets.mjs","sources":["../../src/helpers/task-presets/index.ts"],"sourcesContent":["import { getTaskPreset, upsertTaskPreset, type TaskPreset } from '~/modules/task-presets';\n\nimport { assignDependencies } from '~/helpers/permissions/decorator';\n\n/**\n * Change visibility of a preset\n *\n * @param presetOrId Preset or Preset's id\n * @param hidden New state\n *\n * @returns Updated preset\n */\n// eslint-disable-next-line import/prefer-default-export\nexport async function changeTaskPresetVisibility(\n presetOrId: TaskPreset | string,\n hidden: boolean,\n): Promise<TaskPreset> {\n let base = presetOrId;\n if (typeof base === 'string') {\n base = await getTaskPreset(presetOrId);\n }\n\n const preset = await upsertTaskPreset({\n id: base.id,\n name: base.name,\n templateId: base.templateId,\n recurrence: base.recurrence,\n fetchOptions: base.fetchOptions,\n hidden,\n });\n\n return preset;\n}\nassignDependencies(changeTaskPresetVisibility, [getTaskPreset, upsertTaskPreset]);\n"],"names":["changeTaskPresetVisibility","presetOrId","hidden","__async","base","getTaskPreset","upsertTaskPreset","assignDependencies"],"mappings":";;;;;;;;;;;;;;;;;;AAasB,SAAAA,EACpBC,GACAC,GACqB;AAAA,SAAAC,EAAA;AACrB,QAAIC,IAAOH;AACP,WAAA,OAAOG,KAAS,aACXA,IAAA,MAAMC,EAAcJ,CAAU,IAGxB,MAAMK,EAAiB;AAAA,MACpC,IAAIF,EAAK;AAAA,MACT,MAAMA,EAAK;AAAA,MACX,YAAYA,EAAK;AAAA,MACjB,YAAYA,EAAK;AAAA,MACjB,cAAcA,EAAK;AAAA,MACnB,QAAAF;AAAA,IAAA,CACD;AAAA,EAGH;AAAA;AACAK,EAAmBP,GAA4B,CAACK,GAAeC,CAAgB,CAAC;"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { a as TaskRecurrence, L as LastExtended, T as Task } from '../types-C4AhJDkW.js';
|
|
2
|
+
import { T as TemplateBodyHelper } from '../body-BqAn9vHJ.js';
|
|
3
|
+
import { L as LayoutHelper } from '../templates-BgRTZc5c.js';
|
|
4
|
+
import { c as TemplateFilter } from '../types-DcoMmjs3.js';
|
|
5
|
+
import { T as TaskLayoutHelper } from '../tasks-BDFAJ6Oi.js';
|
|
6
|
+
import '../namespaces.js';
|
|
7
|
+
import './figures.js';
|
|
8
|
+
import './aggregations.js';
|
|
9
|
+
|
|
10
|
+
interface TaskBodyHelper {
|
|
11
|
+
readonly version: number;
|
|
12
|
+
filters: Map<string, TemplateFilter>;
|
|
13
|
+
index: string;
|
|
14
|
+
dateField?: string;
|
|
15
|
+
inserts: TaskLayoutHelper[];
|
|
16
|
+
}
|
|
17
|
+
declare function addLayoutOfHelper(body: TaskBodyHelper, layout: TaskLayoutHelper): TaskBodyHelper;
|
|
18
|
+
declare function removeLayoutOfHelper(body: TaskBodyHelper, layout: TaskLayoutHelper): TaskBodyHelper;
|
|
19
|
+
declare function updateLayoutOfHelper(body: TaskBodyHelper, oldLayout: TaskLayoutHelper, newLayout: TaskLayoutHelper): TaskBodyHelper;
|
|
20
|
+
|
|
21
|
+
interface TaskHelper {
|
|
22
|
+
readonly id: string;
|
|
23
|
+
name: string;
|
|
24
|
+
description: string;
|
|
25
|
+
namespaceId: string;
|
|
26
|
+
extendedId: string;
|
|
27
|
+
template: TaskBodyHelper;
|
|
28
|
+
targets: string[];
|
|
29
|
+
recurrence: TaskRecurrence;
|
|
30
|
+
nextRun: Date;
|
|
31
|
+
enabled: boolean;
|
|
32
|
+
readonly lastExtended?: LastExtended | null;
|
|
33
|
+
readonly lastRun?: Date;
|
|
34
|
+
readonly createdAt: Date;
|
|
35
|
+
readonly updatedAt?: Date;
|
|
36
|
+
readonly hash: string;
|
|
37
|
+
}
|
|
38
|
+
declare function createTaskHelper(name?: string, description?: string, namespaceId?: string, extendedId?: string, template?: TaskBodyHelper, targets?: string[], recurrence?: TaskRecurrence, nextRun?: Date, enabled?: boolean, lastExtended?: LastExtended, lastRun?: Date, id?: string, createdAt?: Date, updatedAt?: Date): TaskHelper;
|
|
39
|
+
declare function createTaskHelperFrom(task: Task): TaskHelper;
|
|
40
|
+
declare function taskHelperToJSON(task: TaskHelper): Task;
|
|
41
|
+
declare function hasTaskChanged(task: TaskHelper): boolean;
|
|
42
|
+
declare function getLayoutsOfHelpers(taskBody: TaskBodyHelper, templateBody: TemplateBodyHelper): (LayoutHelper & {
|
|
43
|
+
readonly: boolean;
|
|
44
|
+
})[];
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Change enable state of a task
|
|
48
|
+
*
|
|
49
|
+
* @param taskOrId Task or Task's id
|
|
50
|
+
* @param enabled New state
|
|
51
|
+
*
|
|
52
|
+
* @returns Updated task
|
|
53
|
+
*/
|
|
54
|
+
declare function changeTaskEnableState(taskOrId: Omit<Task, 'template'> | string, enabled: boolean): Promise<Task>;
|
|
55
|
+
|
|
56
|
+
export { type TaskBodyHelper, type TaskHelper, addLayoutOfHelper, changeTaskEnableState, createTaskHelper, createTaskHelperFrom, getLayoutsOfHelpers, hasTaskChanged, removeLayoutOfHelper, taskHelperToJSON, updateLayoutOfHelper };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var F=Object.defineProperty,R=Object.defineProperties;var b=Object.getOwnPropertyDescriptors;var u=Object.getOwnPropertySymbols;var T=Object.prototype.hasOwnProperty,H=Object.prototype.propertyIsEnumerable;var x=(e,r,n)=>r in e?F(e,r,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[r]=n,f=(e,r)=>{for(var n in r||(r={}))T.call(r,n)&&x(e,n,r[n]);if(u)for(var n of u(r))H.call(r,n)&&x(e,n,r[n]);return e},m=(e,r)=>R(e,b(r));var g=(e,r)=>{var n={};for(var t in e)T.call(e,t)&&r.indexOf(t)<0&&(n[t]=e[t]);if(e!=null&&u)for(var t of u(e))r.indexOf(t)<0&&H.call(e,t)&&(n[t]=e[t]);return n};var h=(e,r,n)=>new Promise((t,a)=>{var d=s=>{try{i(n.next(s))}catch(c){a(c)}},o=s=>{try{i(n.throw(s))}catch(c){a(c)}},i=s=>s.done?t(s.value):Promise.resolve(s.value).then(d,o);i((n=n.apply(e,r)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=require("../decorator-C2gcn2rK.js"),l=require("../methods-cUjyNkoK.js"),D=require("object-hash"),y=require("../tasks-hn70eL7B.js");function I(e="",r="",n=[],t=[]){var a;return{version:2,dateField:r,inserts:n,filters:new Map((a=t==null?void 0:t.map(d=>[d.name,d]))!=null?a:[]),index:e}}function J(e){return I(e.index,e.dateField,e.inserts.map(r=>y.createTaskLayoutHelperFrom(r)),e.filters)}function N(e){return{version:e.version,index:e.index,inserts:e.inserts.map(r=>y.taskLayoutHelperToJSON(r)),dateField:e.dateField,filters:Array.from(e.filters.values())}}function B(e,r){if(e.inserts.some(n=>n.id===r.id))throw new Error(`Layout "${r.id}" already exists`);return e.inserts.splice(r.at,0,r),e}function j(e,r){const n=e;return n.inserts=e.inserts.filter(t=>t.id!==r.id),e}function C(e,r,n){const t=e.inserts.findIndex(d=>d.id===r.id);if(t<0)throw new Error(`Layout "${r.id}" not found`);const a=e;return a.inserts[t]=n,e}function O(e){return D({name:e.name,extendedId:e.extendedId,template:e.template,targets:e.targets,recurrence:e.recurrence,nextRun:e.nextRun,enabled:e.enabled})}function L(e="",r="",n="",t="",a,d=[],o="DAILY",i,s=!0,c,E,v="",A=new Date,S){const p={id:v,name:e,description:r,namespaceId:n,extendedId:t,template:a!=null?a:I(),targets:d,recurrence:o,nextRun:i!=null?i:new Date,enabled:s,lastExtended:c,lastRun:E,createdAt:A,updatedAt:S,hash:""};return p.hash=O(p),p}function M(e){var r;return L(e.name,e.description,e.namespaceId,e.extendedId,J(e.template),e.targets,e.recurrence,e.nextRun,e.enabled,(r=e.lastExtended)!=null?r:void 0,e.lastRun,e.id,e.createdAt,e.updatedAt)}function $(e){return{id:e.id,name:e.name,description:e.description,namespaceId:e.namespaceId,extendedId:e.extendedId,template:N(e.template),targets:e.targets,recurrence:e.recurrence,nextRun:e.nextRun,enabled:e.enabled,lastExtended:e.lastExtended,lastRun:e.lastRun,createdAt:e.createdAt,updatedAt:e.updatedAt}}function P(e){return e.hash!==O(e)}function Y(e,r){const n=r.layouts.map(d=>m(f({},d),{readonly:!0}));for(const t of e.inserts){const a=t,{at:d}=a,o=g(a,["at"]);n.splice(d,0,m(f({},o),{readonly:!1}))}return n}function w(e,r){return h(this,null,function*(){const n=yield l.getTask(e);return yield l.upsertTask({id:n.id,name:n.name,description:n.description,extendedId:n.extendedId,namespaceId:n.namespaceId,nextRun:n.nextRun,recurrence:n.recurrence,targets:n.targets,template:n.template,lastExtended:n.lastExtended,enabled:r})})}q.assignDependencies(w,[l.getTask,l.upsertTask]);exports.addLayoutOfHelper=B;exports.changeTaskEnableState=w;exports.createTaskHelper=L;exports.createTaskHelperFrom=M;exports.getLayoutsOfHelpers=Y;exports.hasTaskChanged=P;exports.removeLayoutOfHelper=j;exports.taskHelperToJSON=$;exports.updateLayoutOfHelper=C;
|
|
2
|
+
//# sourceMappingURL=tasks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.js","sources":["../../src/helpers/tasks/editor/body.ts","../../src/helpers/tasks/editor/index.ts","../../src/helpers/tasks/index.ts"],"sourcesContent":["import type { TemplateFilter } from '~/modules/templates';\nimport type { Task } from '~/modules/tasks';\n\nimport {\n createTaskLayoutHelperFrom,\n taskLayoutHelperToJSON,\n type TaskLayoutHelper,\n} from '../../templates/editor/layouts';\n\nexport interface TaskBodyHelper {\n readonly version: number;\n filters: Map<string, TemplateFilter>;\n index: string;\n dateField?: string;\n inserts: TaskLayoutHelper[];\n}\n\nexport function createTaskBodyHelper(\n index: string = '',\n dateField: string = '',\n inserts: TaskLayoutHelper[] = [],\n filters: TemplateFilter[] = [],\n): TaskBodyHelper {\n return {\n version: 2,\n dateField,\n inserts,\n filters: new Map(filters?.map((filter) => [filter.name, filter]) ?? []),\n index,\n };\n}\n\nexport function createTaskBodyHelperFrom(template: Task['template']): TaskBodyHelper {\n return createTaskBodyHelper(\n template.index,\n template.dateField,\n template.inserts.map((l) => createTaskLayoutHelperFrom(l)),\n template.filters,\n );\n}\n\nexport function taskBodyHelperToJSON(template: TaskBodyHelper): Task['template'] {\n return {\n version: template.version,\n index: template.index,\n inserts: template.inserts.map((l) => taskLayoutHelperToJSON(l)),\n dateField: template.dateField,\n filters: Array.from(template.filters.values()),\n };\n}\n\nexport function addLayoutOfHelper(\n body: TaskBodyHelper,\n layout: TaskLayoutHelper,\n): TaskBodyHelper {\n if (body.inserts.some((l) => l.id === layout.id)) {\n throw new Error(`Layout \"${layout.id}\" already exists`);\n }\n body.inserts.splice(layout.at, 0, layout);\n return body;\n}\n\nexport function removeLayoutOfHelper(\n body: TaskBodyHelper,\n layout: TaskLayoutHelper,\n): TaskBodyHelper {\n const template = body;\n template.inserts = body.inserts.filter((l) => l.id !== layout.id);\n return body;\n}\n\nexport function updateLayoutOfHelper(\n body: TaskBodyHelper,\n oldLayout: TaskLayoutHelper,\n newLayout: TaskLayoutHelper,\n): TaskBodyHelper {\n const index = body.inserts.findIndex((l) => l.id === oldLayout.id);\n if (index < 0) {\n throw new Error(`Layout \"${oldLayout.id}\" not found`);\n }\n const template = body;\n template.inserts[index] = newLayout;\n return body;\n}\n","import objectHash from 'object-hash';\n\nimport type { Task } from '~/modules/tasks';\nimport type { LastExtended, TaskRecurrence } from '~/modules/tasks/types';\n\nimport type { TemplateBodyHelper } from '../../templates/editor/body';\nimport type { LayoutHelper } from '../../templates/editor/layouts';\nimport {\n createTaskBodyHelper,\n createTaskBodyHelperFrom,\n taskBodyHelperToJSON,\n type TaskBodyHelper,\n} from './body';\n\nexport interface TaskHelper {\n readonly id: string;\n name: string;\n description: string;\n namespaceId: string;\n extendedId: string;\n template: TaskBodyHelper;\n targets: string[];\n recurrence: TaskRecurrence;\n nextRun: Date;\n enabled: boolean;\n readonly lastExtended?: LastExtended | null;\n readonly lastRun?: Date;\n readonly createdAt: Date;\n readonly updatedAt?: Date;\n readonly hash: string;\n}\n\nfunction hashTask(task: TaskHelper | Task): string {\n return objectHash({\n name: task.name,\n extendedId: task.extendedId,\n template: task.template,\n targets: task.targets,\n recurrence: task.recurrence,\n nextRun: task.nextRun,\n enabled: task.enabled,\n });\n}\n\nexport function createTaskHelper(\n name: string = '',\n description: string = '',\n namespaceId: string = '',\n extendedId: string = '',\n template?: TaskBodyHelper,\n targets: string[] = [],\n recurrence: TaskRecurrence = 'DAILY',\n nextRun?: Date,\n enabled: boolean = true,\n lastExtended?: LastExtended,\n lastRun?: Date,\n id: string = '',\n createdAt: Date = new Date(),\n updatedAt?: Date,\n): TaskHelper {\n const task = {\n id,\n name,\n description,\n namespaceId,\n extendedId,\n template: template ?? createTaskBodyHelper(),\n targets,\n recurrence,\n nextRun: nextRun ?? new Date(), // TODO: recurrence\n enabled,\n lastExtended,\n lastRun,\n createdAt,\n updatedAt,\n hash: '',\n };\n\n task.hash = hashTask(task);\n\n return task;\n}\n\nexport function createTaskHelperFrom(task: Task): TaskHelper {\n return createTaskHelper(\n task.name,\n task.description,\n task.namespaceId,\n task.extendedId,\n createTaskBodyHelperFrom(task.template),\n task.targets,\n task.recurrence,\n task.nextRun,\n task.enabled,\n task.lastExtended ?? undefined,\n task.lastRun,\n task.id,\n task.createdAt,\n task.updatedAt,\n );\n}\n\nexport function taskHelperToJSON(task: TaskHelper): Task {\n return {\n id: task.id,\n name: task.name,\n description: task.description,\n namespaceId: task.namespaceId,\n extendedId: task.extendedId,\n template: taskBodyHelperToJSON(task.template),\n targets: task.targets,\n recurrence: task.recurrence,\n nextRun: task.nextRun,\n enabled: task.enabled,\n lastExtended: task.lastExtended,\n lastRun: task.lastRun,\n createdAt: task.createdAt,\n updatedAt: task.updatedAt,\n };\n}\n\nexport function hasTaskChanged(task: TaskHelper): boolean {\n return task.hash !== hashTask(task);\n}\n\nexport function getLayoutsOfHelpers(\n taskBody: TaskBodyHelper,\n templateBody: TemplateBodyHelper,\n): (LayoutHelper & { readonly: boolean })[] {\n const layouts = templateBody.layouts.map((l) => ({ ...l, readonly: true }));\n // eslint-disable-next-line no-restricted-syntax\n for (const { at, ...layout } of taskBody.inserts) {\n layouts.splice(at, 0, { ...layout, readonly: false });\n }\n return layouts;\n}\n\nexport {\n type TaskBodyHelper,\n addLayoutOfHelper,\n removeLayoutOfHelper,\n updateLayoutOfHelper,\n} from './body';\n","import { assignDependencies } from '~/helpers/permissions/decorator';\n\nimport { getTask, upsertTask, type Task } from '~/modules/tasks';\n\nexport * from './editor';\n\n/**\n * Change enable state of a task\n *\n * @param taskOrId Task or Task's id\n * @param enabled New state\n *\n * @returns Updated task\n */\n// eslint-disable-next-line import/prefer-default-export\nexport async function changeTaskEnableState(\n taskOrId: Omit<Task, 'template'> | string,\n enabled: boolean,\n): Promise<Task> {\n const base = await getTask(taskOrId);\n\n const task = await upsertTask({\n id: base.id,\n name: base.name,\n description: base.description,\n extendedId: base.extendedId,\n namespaceId: base.namespaceId,\n nextRun: base.nextRun,\n recurrence: base.recurrence,\n targets: base.targets,\n template: base.template,\n lastExtended: base.lastExtended,\n enabled,\n });\n\n return task;\n}\nassignDependencies(changeTaskEnableState, [getTask, upsertTask]);\n"],"names":["createTaskBodyHelper","index","dateField","inserts","filters","_a","filter","createTaskBodyHelperFrom","template","l","createTaskLayoutHelperFrom","taskBodyHelperToJSON","taskLayoutHelperToJSON","addLayoutOfHelper","body","layout","removeLayoutOfHelper","updateLayoutOfHelper","oldLayout","newLayout","hashTask","task","objectHash","createTaskHelper","name","description","namespaceId","extendedId","targets","recurrence","nextRun","enabled","lastExtended","lastRun","id","createdAt","updatedAt","createTaskHelperFrom","taskHelperToJSON","hasTaskChanged","getLayoutsOfHelpers","taskBody","templateBody","layouts","__spreadProps","__spreadValues","_b","at","__objRest","changeTaskEnableState","taskOrId","__async","base","getTask","upsertTask","assignDependencies"],"mappings":"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"}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
var R = Object.defineProperty, v = Object.defineProperties;
|
|
2
|
+
var F = Object.getOwnPropertyDescriptors;
|
|
3
|
+
var u = Object.getOwnPropertySymbols;
|
|
4
|
+
var x = Object.prototype.hasOwnProperty, h = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var f = (e, r, n) => r in e ? R(e, r, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[r] = n, l = (e, r) => {
|
|
6
|
+
for (var n in r || (r = {}))
|
|
7
|
+
x.call(r, n) && f(e, n, r[n]);
|
|
8
|
+
if (u)
|
|
9
|
+
for (var n of u(r))
|
|
10
|
+
h.call(r, n) && f(e, n, r[n]);
|
|
11
|
+
return e;
|
|
12
|
+
}, m = (e, r) => v(e, F(r));
|
|
13
|
+
var I = (e, r) => {
|
|
14
|
+
var n = {};
|
|
15
|
+
for (var t in e)
|
|
16
|
+
x.call(e, t) && r.indexOf(t) < 0 && (n[t] = e[t]);
|
|
17
|
+
if (e != null && u)
|
|
18
|
+
for (var t of u(e))
|
|
19
|
+
r.indexOf(t) < 0 && h.call(e, t) && (n[t] = e[t]);
|
|
20
|
+
return n;
|
|
21
|
+
};
|
|
22
|
+
var H = (e, r, n) => new Promise((t, d) => {
|
|
23
|
+
var a = (i) => {
|
|
24
|
+
try {
|
|
25
|
+
s(n.next(i));
|
|
26
|
+
} catch (c) {
|
|
27
|
+
d(c);
|
|
28
|
+
}
|
|
29
|
+
}, o = (i) => {
|
|
30
|
+
try {
|
|
31
|
+
s(n.throw(i));
|
|
32
|
+
} catch (c) {
|
|
33
|
+
d(c);
|
|
34
|
+
}
|
|
35
|
+
}, s = (i) => i.done ? t(i.value) : Promise.resolve(i.value).then(a, o);
|
|
36
|
+
s((n = n.apply(e, r)).next());
|
|
37
|
+
});
|
|
38
|
+
import { b as D } from "../decorator-DBkj--6g.mjs";
|
|
39
|
+
import { a as T, u as g } from "../methods-DOB4Ry8E.mjs";
|
|
40
|
+
import S from "object-hash";
|
|
41
|
+
import { a as b, t as B } from "../tasks-1x680qAf.mjs";
|
|
42
|
+
function w(e = "", r = "", n = [], t = []) {
|
|
43
|
+
var d;
|
|
44
|
+
return {
|
|
45
|
+
version: 2,
|
|
46
|
+
dateField: r,
|
|
47
|
+
inserts: n,
|
|
48
|
+
filters: new Map((d = t == null ? void 0 : t.map((a) => [a.name, a])) != null ? d : []),
|
|
49
|
+
index: e
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
function J(e) {
|
|
53
|
+
return w(
|
|
54
|
+
e.index,
|
|
55
|
+
e.dateField,
|
|
56
|
+
e.inserts.map((r) => b(r)),
|
|
57
|
+
e.filters
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
function N(e) {
|
|
61
|
+
return {
|
|
62
|
+
version: e.version,
|
|
63
|
+
index: e.index,
|
|
64
|
+
inserts: e.inserts.map((r) => B(r)),
|
|
65
|
+
dateField: e.dateField,
|
|
66
|
+
filters: Array.from(e.filters.values())
|
|
67
|
+
};
|
|
68
|
+
}
|
|
69
|
+
function G(e, r) {
|
|
70
|
+
if (e.inserts.some((n) => n.id === r.id))
|
|
71
|
+
throw new Error(`Layout "${r.id}" already exists`);
|
|
72
|
+
return e.inserts.splice(r.at, 0, r), e;
|
|
73
|
+
}
|
|
74
|
+
function K(e, r) {
|
|
75
|
+
const n = e;
|
|
76
|
+
return n.inserts = e.inserts.filter((t) => t.id !== r.id), e;
|
|
77
|
+
}
|
|
78
|
+
function P(e, r, n) {
|
|
79
|
+
const t = e.inserts.findIndex((a) => a.id === r.id);
|
|
80
|
+
if (t < 0)
|
|
81
|
+
throw new Error(`Layout "${r.id}" not found`);
|
|
82
|
+
const d = e;
|
|
83
|
+
return d.inserts[t] = n, e;
|
|
84
|
+
}
|
|
85
|
+
function y(e) {
|
|
86
|
+
return S({
|
|
87
|
+
name: e.name,
|
|
88
|
+
extendedId: e.extendedId,
|
|
89
|
+
template: e.template,
|
|
90
|
+
targets: e.targets,
|
|
91
|
+
recurrence: e.recurrence,
|
|
92
|
+
nextRun: e.nextRun,
|
|
93
|
+
enabled: e.enabled
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
function $(e = "", r = "", n = "", t = "", d, a = [], o = "DAILY", s, i = !0, c, A, E = "", L = /* @__PURE__ */ new Date(), O) {
|
|
97
|
+
const p = {
|
|
98
|
+
id: E,
|
|
99
|
+
name: e,
|
|
100
|
+
description: r,
|
|
101
|
+
namespaceId: n,
|
|
102
|
+
extendedId: t,
|
|
103
|
+
template: d != null ? d : w(),
|
|
104
|
+
targets: a,
|
|
105
|
+
recurrence: o,
|
|
106
|
+
nextRun: s != null ? s : /* @__PURE__ */ new Date(),
|
|
107
|
+
// TODO: recurrence
|
|
108
|
+
enabled: i,
|
|
109
|
+
lastExtended: c,
|
|
110
|
+
lastRun: A,
|
|
111
|
+
createdAt: L,
|
|
112
|
+
updatedAt: O,
|
|
113
|
+
hash: ""
|
|
114
|
+
};
|
|
115
|
+
return p.hash = y(p), p;
|
|
116
|
+
}
|
|
117
|
+
function Q(e) {
|
|
118
|
+
var r;
|
|
119
|
+
return $(
|
|
120
|
+
e.name,
|
|
121
|
+
e.description,
|
|
122
|
+
e.namespaceId,
|
|
123
|
+
e.extendedId,
|
|
124
|
+
J(e.template),
|
|
125
|
+
e.targets,
|
|
126
|
+
e.recurrence,
|
|
127
|
+
e.nextRun,
|
|
128
|
+
e.enabled,
|
|
129
|
+
(r = e.lastExtended) != null ? r : void 0,
|
|
130
|
+
e.lastRun,
|
|
131
|
+
e.id,
|
|
132
|
+
e.createdAt,
|
|
133
|
+
e.updatedAt
|
|
134
|
+
);
|
|
135
|
+
}
|
|
136
|
+
function U(e) {
|
|
137
|
+
return {
|
|
138
|
+
id: e.id,
|
|
139
|
+
name: e.name,
|
|
140
|
+
description: e.description,
|
|
141
|
+
namespaceId: e.namespaceId,
|
|
142
|
+
extendedId: e.extendedId,
|
|
143
|
+
template: N(e.template),
|
|
144
|
+
targets: e.targets,
|
|
145
|
+
recurrence: e.recurrence,
|
|
146
|
+
nextRun: e.nextRun,
|
|
147
|
+
enabled: e.enabled,
|
|
148
|
+
lastExtended: e.lastExtended,
|
|
149
|
+
lastRun: e.lastRun,
|
|
150
|
+
createdAt: e.createdAt,
|
|
151
|
+
updatedAt: e.updatedAt
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
function V(e) {
|
|
155
|
+
return e.hash !== y(e);
|
|
156
|
+
}
|
|
157
|
+
function W(e, r) {
|
|
158
|
+
const n = r.layouts.map((a) => m(l({}, a), { readonly: !0 }));
|
|
159
|
+
for (const t of e.inserts) {
|
|
160
|
+
const d = t, { at: a } = d, o = I(d, ["at"]);
|
|
161
|
+
n.splice(a, 0, m(l({}, o), { readonly: !1 }));
|
|
162
|
+
}
|
|
163
|
+
return n;
|
|
164
|
+
}
|
|
165
|
+
function j(e, r) {
|
|
166
|
+
return H(this, null, function* () {
|
|
167
|
+
const n = yield T(e);
|
|
168
|
+
return yield g({
|
|
169
|
+
id: n.id,
|
|
170
|
+
name: n.name,
|
|
171
|
+
description: n.description,
|
|
172
|
+
extendedId: n.extendedId,
|
|
173
|
+
namespaceId: n.namespaceId,
|
|
174
|
+
nextRun: n.nextRun,
|
|
175
|
+
recurrence: n.recurrence,
|
|
176
|
+
targets: n.targets,
|
|
177
|
+
template: n.template,
|
|
178
|
+
lastExtended: n.lastExtended,
|
|
179
|
+
enabled: r
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
D(j, [T, g]);
|
|
184
|
+
export {
|
|
185
|
+
G as addLayoutOfHelper,
|
|
186
|
+
j as changeTaskEnableState,
|
|
187
|
+
$ as createTaskHelper,
|
|
188
|
+
Q as createTaskHelperFrom,
|
|
189
|
+
W as getLayoutsOfHelpers,
|
|
190
|
+
V as hasTaskChanged,
|
|
191
|
+
K as removeLayoutOfHelper,
|
|
192
|
+
U as taskHelperToJSON,
|
|
193
|
+
P as updateLayoutOfHelper
|
|
194
|
+
};
|
|
195
|
+
//# sourceMappingURL=tasks.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tasks.mjs","sources":["../../src/helpers/tasks/editor/body.ts","../../src/helpers/tasks/editor/index.ts","../../src/helpers/tasks/index.ts"],"sourcesContent":["import type { TemplateFilter } from '~/modules/templates';\nimport type { Task } from '~/modules/tasks';\n\nimport {\n createTaskLayoutHelperFrom,\n taskLayoutHelperToJSON,\n type TaskLayoutHelper,\n} from '../../templates/editor/layouts';\n\nexport interface TaskBodyHelper {\n readonly version: number;\n filters: Map<string, TemplateFilter>;\n index: string;\n dateField?: string;\n inserts: TaskLayoutHelper[];\n}\n\nexport function createTaskBodyHelper(\n index: string = '',\n dateField: string = '',\n inserts: TaskLayoutHelper[] = [],\n filters: TemplateFilter[] = [],\n): TaskBodyHelper {\n return {\n version: 2,\n dateField,\n inserts,\n filters: new Map(filters?.map((filter) => [filter.name, filter]) ?? []),\n index,\n };\n}\n\nexport function createTaskBodyHelperFrom(template: Task['template']): TaskBodyHelper {\n return createTaskBodyHelper(\n template.index,\n template.dateField,\n template.inserts.map((l) => createTaskLayoutHelperFrom(l)),\n template.filters,\n );\n}\n\nexport function taskBodyHelperToJSON(template: TaskBodyHelper): Task['template'] {\n return {\n version: template.version,\n index: template.index,\n inserts: template.inserts.map((l) => taskLayoutHelperToJSON(l)),\n dateField: template.dateField,\n filters: Array.from(template.filters.values()),\n };\n}\n\nexport function addLayoutOfHelper(\n body: TaskBodyHelper,\n layout: TaskLayoutHelper,\n): TaskBodyHelper {\n if (body.inserts.some((l) => l.id === layout.id)) {\n throw new Error(`Layout \"${layout.id}\" already exists`);\n }\n body.inserts.splice(layout.at, 0, layout);\n return body;\n}\n\nexport function removeLayoutOfHelper(\n body: TaskBodyHelper,\n layout: TaskLayoutHelper,\n): TaskBodyHelper {\n const template = body;\n template.inserts = body.inserts.filter((l) => l.id !== layout.id);\n return body;\n}\n\nexport function updateLayoutOfHelper(\n body: TaskBodyHelper,\n oldLayout: TaskLayoutHelper,\n newLayout: TaskLayoutHelper,\n): TaskBodyHelper {\n const index = body.inserts.findIndex((l) => l.id === oldLayout.id);\n if (index < 0) {\n throw new Error(`Layout \"${oldLayout.id}\" not found`);\n }\n const template = body;\n template.inserts[index] = newLayout;\n return body;\n}\n","import objectHash from 'object-hash';\n\nimport type { Task } from '~/modules/tasks';\nimport type { LastExtended, TaskRecurrence } from '~/modules/tasks/types';\n\nimport type { TemplateBodyHelper } from '../../templates/editor/body';\nimport type { LayoutHelper } from '../../templates/editor/layouts';\nimport {\n createTaskBodyHelper,\n createTaskBodyHelperFrom,\n taskBodyHelperToJSON,\n type TaskBodyHelper,\n} from './body';\n\nexport interface TaskHelper {\n readonly id: string;\n name: string;\n description: string;\n namespaceId: string;\n extendedId: string;\n template: TaskBodyHelper;\n targets: string[];\n recurrence: TaskRecurrence;\n nextRun: Date;\n enabled: boolean;\n readonly lastExtended?: LastExtended | null;\n readonly lastRun?: Date;\n readonly createdAt: Date;\n readonly updatedAt?: Date;\n readonly hash: string;\n}\n\nfunction hashTask(task: TaskHelper | Task): string {\n return objectHash({\n name: task.name,\n extendedId: task.extendedId,\n template: task.template,\n targets: task.targets,\n recurrence: task.recurrence,\n nextRun: task.nextRun,\n enabled: task.enabled,\n });\n}\n\nexport function createTaskHelper(\n name: string = '',\n description: string = '',\n namespaceId: string = '',\n extendedId: string = '',\n template?: TaskBodyHelper,\n targets: string[] = [],\n recurrence: TaskRecurrence = 'DAILY',\n nextRun?: Date,\n enabled: boolean = true,\n lastExtended?: LastExtended,\n lastRun?: Date,\n id: string = '',\n createdAt: Date = new Date(),\n updatedAt?: Date,\n): TaskHelper {\n const task = {\n id,\n name,\n description,\n namespaceId,\n extendedId,\n template: template ?? createTaskBodyHelper(),\n targets,\n recurrence,\n nextRun: nextRun ?? new Date(), // TODO: recurrence\n enabled,\n lastExtended,\n lastRun,\n createdAt,\n updatedAt,\n hash: '',\n };\n\n task.hash = hashTask(task);\n\n return task;\n}\n\nexport function createTaskHelperFrom(task: Task): TaskHelper {\n return createTaskHelper(\n task.name,\n task.description,\n task.namespaceId,\n task.extendedId,\n createTaskBodyHelperFrom(task.template),\n task.targets,\n task.recurrence,\n task.nextRun,\n task.enabled,\n task.lastExtended ?? undefined,\n task.lastRun,\n task.id,\n task.createdAt,\n task.updatedAt,\n );\n}\n\nexport function taskHelperToJSON(task: TaskHelper): Task {\n return {\n id: task.id,\n name: task.name,\n description: task.description,\n namespaceId: task.namespaceId,\n extendedId: task.extendedId,\n template: taskBodyHelperToJSON(task.template),\n targets: task.targets,\n recurrence: task.recurrence,\n nextRun: task.nextRun,\n enabled: task.enabled,\n lastExtended: task.lastExtended,\n lastRun: task.lastRun,\n createdAt: task.createdAt,\n updatedAt: task.updatedAt,\n };\n}\n\nexport function hasTaskChanged(task: TaskHelper): boolean {\n return task.hash !== hashTask(task);\n}\n\nexport function getLayoutsOfHelpers(\n taskBody: TaskBodyHelper,\n templateBody: TemplateBodyHelper,\n): (LayoutHelper & { readonly: boolean })[] {\n const layouts = templateBody.layouts.map((l) => ({ ...l, readonly: true }));\n // eslint-disable-next-line no-restricted-syntax\n for (const { at, ...layout } of taskBody.inserts) {\n layouts.splice(at, 0, { ...layout, readonly: false });\n }\n return layouts;\n}\n\nexport {\n type TaskBodyHelper,\n addLayoutOfHelper,\n removeLayoutOfHelper,\n updateLayoutOfHelper,\n} from './body';\n","import { assignDependencies } from '~/helpers/permissions/decorator';\n\nimport { getTask, upsertTask, type Task } from '~/modules/tasks';\n\nexport * from './editor';\n\n/**\n * Change enable state of a task\n *\n * @param taskOrId Task or Task's id\n * @param enabled New state\n *\n * @returns Updated task\n */\n// eslint-disable-next-line import/prefer-default-export\nexport async function changeTaskEnableState(\n taskOrId: Omit<Task, 'template'> | string,\n enabled: boolean,\n): Promise<Task> {\n const base = await getTask(taskOrId);\n\n const task = await upsertTask({\n id: base.id,\n name: base.name,\n description: base.description,\n extendedId: base.extendedId,\n namespaceId: base.namespaceId,\n nextRun: base.nextRun,\n recurrence: base.recurrence,\n targets: base.targets,\n template: base.template,\n lastExtended: base.lastExtended,\n enabled,\n });\n\n return task;\n}\nassignDependencies(changeTaskEnableState, [getTask, upsertTask]);\n"],"names":["createTaskBodyHelper","index","dateField","inserts","filters","_a","filter","createTaskBodyHelperFrom","template","l","createTaskLayoutHelperFrom","taskBodyHelperToJSON","taskLayoutHelperToJSON","addLayoutOfHelper","body","layout","removeLayoutOfHelper","updateLayoutOfHelper","oldLayout","newLayout","hashTask","task","objectHash","createTaskHelper","name","description","namespaceId","extendedId","targets","recurrence","nextRun","enabled","lastExtended","lastRun","id","createdAt","updatedAt","createTaskHelperFrom","taskHelperToJSON","hasTaskChanged","getLayoutsOfHelpers","taskBody","templateBody","layouts","__spreadProps","__spreadValues","_b","at","__objRest","changeTaskEnableState","taskOrId","__async","base","getTask","upsertTask","assignDependencies"],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { f as TemplateTag, T as Template, I as InputTemplate } from '../types-DcoMmjs3.js';
|
|
2
|
+
import { T as TemplateBodyHelper } from '../body-BqAn9vHJ.js';
|
|
3
|
+
export { a as addLayoutOfHelper, r as removeLayoutOfHelper, u as updateLayoutOfHelper } from '../body-BqAn9vHJ.js';
|
|
4
|
+
import '../templates-BgRTZc5c.js';
|
|
5
|
+
import './figures.js';
|
|
6
|
+
import './aggregations.js';
|
|
7
|
+
|
|
8
|
+
type TemplateTagMap = Map<string, TemplateTag>;
|
|
9
|
+
|
|
10
|
+
interface TemplateHelper {
|
|
11
|
+
readonly id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
body: TemplateBodyHelper;
|
|
14
|
+
tags: TemplateTagMap;
|
|
15
|
+
readonly createdAt: Date;
|
|
16
|
+
readonly updatedAt?: Date;
|
|
17
|
+
readonly hash: string;
|
|
18
|
+
}
|
|
19
|
+
declare function createTemplateHelper(name?: string, body?: TemplateBodyHelper, tags?: TemplateTagMap, id?: string, createdAt?: Date, updatedAt?: Date): TemplateHelper;
|
|
20
|
+
declare function createTemplateHelperFrom(template: Template): TemplateHelper;
|
|
21
|
+
declare function templateHelperToJSON(template: TemplateHelper): InputTemplate;
|
|
22
|
+
declare function hasTemplateChanged(template: TemplateHelper): boolean;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Change visibility of a template
|
|
26
|
+
*
|
|
27
|
+
* @param templateOrId Template or Template's id
|
|
28
|
+
* @param hidden New state
|
|
29
|
+
*
|
|
30
|
+
* @returns Updated template
|
|
31
|
+
*/
|
|
32
|
+
declare function changeTemplateVisibility(templateOrId: Omit<Template, 'body'> | string, hidden: boolean): Promise<Template>;
|
|
33
|
+
|
|
34
|
+
export { TemplateBodyHelper, type TemplateHelper, TemplateTag, type TemplateTagMap, changeTemplateVisibility, createTemplateHelper, createTemplateHelperFrom, hasTemplateChanged, templateHelperToJSON };
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var c=(e,t,a)=>new Promise((r,n)=>{var o=s=>{try{l(a.next(s))}catch(p){n(p)}},i=s=>{try{l(a.throw(s))}catch(p){n(p)}},l=s=>s.done?r(s.value):Promise.resolve(s.value).then(o,i);l((a=a.apply(e,t)).next())});Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("../methods-uWDk6_pk.js"),h=require("../decorator-C2gcn2rK.js"),H=require("object-hash"),m=require("../templates-yZjsVuN9.js");function d(e,t="",a=[],r=[],n){var o;return{version:2,dateField:t,layouts:a,filters:new Map((o=r==null?void 0:r.map(i=>[i.name,i]))!=null?o:[]),grid:n,index:e}}function y(e){return d(e.index,e.dateField,e.layouts.map(t=>m.createLayoutHelperFrom(t)),e.filters,e.grid)}function O(e){return{version:e.version,dateField:e.dateField,layouts:e.layouts.map(t=>m.layoutHelperToJSON(t)),filters:Array.from(e.filters.values()),grid:e.grid,index:e.index}}function w(e,t,a){if(e.layouts.some(r=>r.id===t.id))throw new Error(`Layout "${t.id}" already exists`);return e.layouts.splice(a!=null?a:e.layouts.length,0,t),e}function v(e,t){const a=e;return a.layouts=e.layouts.filter(r=>r.id!==t.id),e}function L(e,t,a){const r=e.layouts.findIndex(o=>o.id===t.id);if(r<0)throw new Error(`Layout "${t.id}" not found`);const n=e;return n.layouts[r]=a,e}function f(e){return H({name:e.name,body:e.body,tags:e.tags})}function g(e="",t,a=new Map,r="",n=new Date,o){const i={id:r,name:e,body:t!=null?t:d(),tags:a,createdAt:n,updatedAt:o,hash:""};return i.hash=f(i),i}function F(e){var t,a;return g(e.name,y(e.body),new Map((a=(t=e.tags)==null?void 0:t.map(r=>[r.name,r]))!=null?a:[]),e.id,e.createdAt,e.updatedAt)}function S(e){return{name:e.name,body:O(e.body),tags:Array.from(e.tags.values())}}function q(e){return e.hash!==f(e)}function T(e,t){return c(this,null,function*(){const a=yield u.getTemplate(e);return yield u.upsertTemplate({id:a.id,name:a.name,tags:a.tags,body:a.body,hidden:t})})}h.assignDependencies(T,[u.getTemplate,u.upsertTemplate]);exports.addLayoutOfHelper=w;exports.changeTemplateVisibility=T;exports.createTemplateHelper=g;exports.createTemplateHelperFrom=F;exports.hasTemplateChanged=q;exports.removeLayoutOfHelper=v;exports.templateHelperToJSON=S;exports.updateLayoutOfHelper=L;
|
|
2
|
+
//# sourceMappingURL=templates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.js","sources":["../../src/helpers/templates/editor/body.ts","../../src/helpers/templates/editor/index.ts","../../src/helpers/templates/index.ts"],"sourcesContent":["import type { TemplateBody, TemplateFilter, TemplateBodyGrid } from '~/modules/templates';\nimport { createLayoutHelperFrom, layoutHelperToJSON, type LayoutHelper } from './layouts';\n\nexport interface TemplateBodyHelper {\n readonly version: number;\n filters: Map<string, TemplateFilter>;\n index?: string;\n dateField: string;\n layouts: LayoutHelper[];\n grid?: TemplateBodyGrid;\n}\n\nexport function createTemplateBodyHelper(\n index?: string,\n dateField: string = '',\n layouts: LayoutHelper[] = [],\n filters: TemplateFilter[] = [],\n grid?: TemplateBodyGrid,\n): TemplateBodyHelper {\n return {\n version: 2,\n dateField,\n layouts,\n filters: new Map(filters?.map((filter) => [filter.name, filter]) ?? []),\n grid,\n index,\n };\n}\n\nexport function createTemplateBodyHelperFrom(body: TemplateBody): TemplateBodyHelper {\n return createTemplateBodyHelper(\n body.index,\n body.dateField,\n body.layouts.map((l) => createLayoutHelperFrom(l)),\n body.filters,\n body.grid,\n );\n}\n\nexport function templateHelperBodyToJSON(body: TemplateBodyHelper): TemplateBody {\n return {\n version: body.version,\n dateField: body.dateField,\n layouts: body.layouts.map((l) => layoutHelperToJSON(l)),\n filters: Array.from(body.filters.values()),\n grid: body.grid,\n index: body.index,\n };\n}\n\nexport function addLayoutOfHelper(\n body: TemplateBodyHelper,\n layout: LayoutHelper,\n index?: number,\n): TemplateBodyHelper {\n if (body.layouts.some((l) => l.id === layout.id)) {\n throw new Error(`Layout \"${layout.id}\" already exists`);\n }\n body.layouts.splice(index ?? body.layouts.length, 0, layout);\n return body;\n}\n\nexport function removeLayoutOfHelper(\n body: TemplateBodyHelper,\n layout: LayoutHelper,\n): TemplateBodyHelper {\n const template = body;\n template.layouts = body.layouts.filter((l) => l.id !== layout.id);\n return body;\n}\n\nexport function updateLayoutOfHelper(\n body: TemplateBodyHelper,\n oldLayout: LayoutHelper,\n newLayout: LayoutHelper,\n): TemplateBodyHelper {\n const index = body.layouts.findIndex((l) => l.id === oldLayout.id);\n if (index < 0) {\n throw new Error(`Layout \"${oldLayout.id}\" not found`);\n }\n const template = body;\n template.layouts[index] = newLayout;\n return body;\n}\n","import objectHash from 'object-hash';\nimport type { InputTemplate, Template } from '~/modules/templates';\n\nimport type { TemplateTagMap } from './tags';\nimport {\n createTemplateBodyHelper,\n createTemplateBodyHelperFrom,\n templateHelperBodyToJSON,\n type TemplateBodyHelper,\n} from './body';\n\nexport interface TemplateHelper {\n readonly id: string;\n name: string;\n body: TemplateBodyHelper;\n tags: TemplateTagMap;\n readonly createdAt: Date;\n readonly updatedAt?: Date;\n readonly hash: string;\n}\n\nfunction hashTemplate(template: Template | TemplateHelper): string {\n return objectHash({\n name: template.name,\n body: template.body,\n tags: template.tags,\n });\n}\n\nexport function createTemplateHelper(\n name: string = '',\n body?: TemplateBodyHelper,\n tags: TemplateTagMap = new Map(),\n id: string = '',\n createdAt: Date = new Date(),\n updatedAt?: Date,\n): TemplateHelper {\n const template = {\n id,\n name,\n body: body ?? createTemplateBodyHelper(),\n tags,\n createdAt,\n updatedAt,\n hash: '',\n };\n\n template.hash = hashTemplate(template);\n\n return template;\n}\n\nexport function createTemplateHelperFrom(template: Template): TemplateHelper {\n return createTemplateHelper(\n template.name,\n createTemplateBodyHelperFrom(template.body),\n new Map(template.tags?.map((t) => [t.name, t]) ?? []),\n template.id,\n template.createdAt,\n template.updatedAt,\n );\n}\n\nexport function templateHelperToJSON(template: TemplateHelper): InputTemplate {\n return {\n name: template.name,\n body: templateHelperBodyToJSON(template.body),\n tags: Array.from(template.tags.values()),\n };\n}\n\nexport function hasTemplateChanged(template: TemplateHelper): boolean {\n return template.hash !== hashTemplate(template);\n}\n\nexport {\n type TemplateBodyHelper,\n addLayoutOfHelper,\n removeLayoutOfHelper,\n updateLayoutOfHelper,\n} from './body';\nexport * from './tags';\n","import { type Template, getTemplate, upsertTemplate } from '~/modules/templates';\n\nimport { assignDependencies } from '~/helpers/permissions/decorator';\n\nexport * from './editor';\n\n/**\n * Change visibility of a template\n *\n * @param templateOrId Template or Template's id\n * @param hidden New state\n *\n * @returns Updated template\n */\nexport async function changeTemplateVisibility(\n templateOrId: Omit<Template, 'body'> | string,\n hidden: boolean,\n): Promise<Template> {\n const base = await getTemplate(templateOrId);\n\n const template = await upsertTemplate({\n id: base.id,\n name: base.name,\n tags: base.tags,\n body: base.body,\n hidden,\n });\n\n return template;\n}\nassignDependencies(changeTemplateVisibility, [getTemplate, upsertTemplate]);\n"],"names":["createTemplateBodyHelper","index","dateField","layouts","filters","grid","_a","filter","createTemplateBodyHelperFrom","body","l","createLayoutHelperFrom","templateHelperBodyToJSON","layoutHelperToJSON","addLayoutOfHelper","layout","removeLayoutOfHelper","template","updateLayoutOfHelper","oldLayout","newLayout","hashTemplate","objectHash","createTemplateHelper","name","tags","id","createdAt","updatedAt","createTemplateHelperFrom","_b","t","templateHelperToJSON","hasTemplateChanged","changeTemplateVisibility","templateOrId","hidden","__async","base","getTemplate","upsertTemplate","assignDependencies"],"mappings":"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"}
|