@webiny/app-record-locking 5.41.4 → 5.42.0-beta.0
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/components/HeadlessCmsContentEntry/ContentEntryGuard.js +2 -41
- package/components/HeadlessCmsContentEntry/ContentEntryGuard.js.map +1 -1
- package/components/HeadlessCmsContentEntry/HeadlessCmsContentEntry.js.map +1 -1
- package/components/RecordLockingProvider.js.map +1 -1
- package/components/decorators/UseRecordsDecorator.js.map +1 -1
- package/domain/RecordLocking.js.map +1 -1
- package/domain/RecordLockingClient.js.map +1 -1
- package/domain/RecordLockingGetLockRecord.js.map +1 -1
- package/domain/RecordLockingGetLockedEntryLockRecord.js.map +1 -1
- package/domain/RecordLockingIsEntryLocked.js.map +1 -1
- package/domain/RecordLockingListLockRecords.js.map +1 -1
- package/domain/RecordLockingLockEntry.js.map +1 -1
- package/domain/RecordLockingUnlockEntry.js.map +1 -1
- package/domain/RecordLockingUnlockEntryRequest.js.map +1 -1
- package/domain/RecordLockingUpdateEntryLock.js.map +1 -1
- package/package.json +16 -22
|
@@ -7,46 +7,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.ContentEntryGuard = void 0;
|
|
9
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
-
var
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
11
11
|
var _hooks = require("../../hooks");
|
|
12
|
-
var _Elevation = require("@webiny/ui/Elevation");
|
|
13
12
|
var _Progress = require("@webiny/ui/Progress");
|
|
14
|
-
var _emotion = require("emotion");
|
|
15
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
16
13
|
var _LockedRecord = require("../LockedRecord");
|
|
17
|
-
function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
|
|
18
|
-
var DetailsContainer = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
|
|
19
|
-
target: "ecb7tlj1"
|
|
20
|
-
} : {
|
|
21
|
-
target: "ecb7tlj1",
|
|
22
|
-
label: "DetailsContainer"
|
|
23
|
-
})(process.env.NODE_ENV === "production" ? {
|
|
24
|
-
name: "1ypyu3l",
|
|
25
|
-
styles: "height:calc(100% - 10px);overflow:hidden;position:relative;nav{background-color:var(--mdc-theme-surface);}"
|
|
26
|
-
} : {
|
|
27
|
-
name: "1ypyu3l",
|
|
28
|
-
styles: "height:calc(100% - 10px);overflow:hidden;position:relative;nav{background-color:var(--mdc-theme-surface);}",
|
|
29
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbnRlbnRFbnRyeUd1YXJkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFVeUIiLCJmaWxlIjoiQ29udGVudEVudHJ5R3VhcmQudHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdXNlUmVjb3JkTG9ja2luZyB9IGZyb20gXCJ+L2hvb2tzXCI7XG5pbXBvcnQgeyBFbGV2YXRpb24gfSBmcm9tIFwiQHdlYmlueS91aS9FbGV2YXRpb25cIjtcbmltcG9ydCB7IENpcmN1bGFyUHJvZ3Jlc3MgfSBmcm9tIFwiQHdlYmlueS91aS9Qcm9ncmVzc1wiO1xuaW1wb3J0IHsgY3NzIH0gZnJvbSBcImVtb3Rpb25cIjtcbmltcG9ydCBzdHlsZWQgZnJvbSBcIkBlbW90aW9uL3N0eWxlZFwiO1xuaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IExvY2tlZFJlY29yZCB9IGZyb20gXCIuLi9Mb2NrZWRSZWNvcmRcIjtcbmltcG9ydCB7IElSZWNvcmRMb2NraW5nTG9ja1JlY29yZCB9IGZyb20gXCJ+L3R5cGVzXCI7XG5pbXBvcnQgeyBDbXNDb250ZW50RW50cnksIENtc01vZGVsIH0gZnJvbSBcIkB3ZWJpbnkvYXBwLWhlYWRsZXNzLWNtcy90eXBlc1wiO1xuXG5jb25zdCBEZXRhaWxzQ29udGFpbmVyID0gc3R5bGVkKFwiZGl2XCIpKHtcbiAgICBoZWlnaHQ6IFwiY2FsYygxMDAlIC0gMTBweClcIixcbiAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICAgIG5hdjoge1xuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLXN1cmZhY2UpXCJcbiAgICB9XG59KTtcblxuY29uc3QgUmVuZGVyQmxvY2sgPSBzdHlsZWQoXCJkaXZcIikoe1xuICAgIHBvc2l0aW9uOiBcInJlbGF0aXZlXCIsXG4gICAgekluZGV4OiAwLFxuICAgIGJhY2tncm91bmRDb2xvcjogXCJ2YXIoLS1tZGMtdGhlbWUtYmFja2dyb3VuZClcIixcbiAgICBoZWlnaHQ6IFwiMTAwJVwiLFxuICAgIHBhZGRpbmc6IDI1XG59KTtcblxuY29uc3QgZWxldmF0aW9uU3R5bGVzID0gY3NzKHtcbiAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICAgIGhlaWdodDogXCIxMDAlXCJcbn0pO1xuXG5leHBvcnQgaW50ZXJmYWNlIElDb250ZW50RW50cnlHdWFyZFByb3BzIHtcbiAgICBsb2FkaW5nOiBib29sZWFuO1xuICAgIGVudHJ5OiBDbXNDb250ZW50RW50cnk7XG4gICAgbW9kZWw6IENtc01vZGVsO1xuICAgIGNoaWxkcmVuOiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG59XG5cbmV4cG9ydCBjb25zdCBDb250ZW50RW50cnlHdWFyZCA9IChwcm9wczogSUNvbnRlbnRFbnRyeUd1YXJkUHJvcHMpID0+IHtcbiAgICBjb25zdCB7IGxvYWRpbmcsIGVudHJ5LCBtb2RlbCwgY2hpbGRyZW4gfSA9IHByb3BzO1xuICAgIGNvbnN0IHsgZmV0Y2hMb2NrZWRFbnRyeUxvY2tSZWNvcmQgfSA9IHVzZVJlY29yZExvY2tpbmcoKTtcblxuICAgIGNvbnN0IFtsb2NrZWQsIHNldExvY2tlZF0gPSB1c2VTdGF0ZTxJUmVjb3JkTG9ja2luZ0xvY2tSZWNvcmQgfCBudWxsIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gICAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAgICAgaWYgKCFlbnRyeS5pZCB8fCBsb2FkaW5nIHx8IGxvY2tlZCAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgKGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGZldGNoTG9ja2VkRW50cnlMb2NrUmVjb3JkKHtcbiAgICAgICAgICAgICAgICBpZDogZW50cnkuaWQsXG4gICAgICAgICAgICAgICAgJGxvY2tpbmdUeXBlOiBtb2RlbC5tb2RlbElkXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHNldExvY2tlZChyZXN1bHQpO1xuICAgICAgICB9KSgpO1xuICAgIH0sIFtlbnRyeS5pZCwgbG9hZGluZ10pO1xuXG4gICAgaWYgKGxvY2tlZCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8RGV0YWlsc0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8UmVuZGVyQmxvY2s+XG4gICAgICAgICAgICAgICAgICAgIDxFbGV2YXRpb24gej17Mn0gY2xhc3NOYW1lPXtlbGV2YXRpb25TdHlsZXN9PlxuICAgICAgICAgICAgICAgICAgICAgICAgPENpcmN1bGFyUHJvZ3Jlc3MgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9FbGV2YXRpb24+XG4gICAgICAgICAgICAgICAgPC9SZW5kZXJCbG9jaz5cbiAgICAgICAgICAgIDwvRGV0YWlsc0NvbnRhaW5lcj5cbiAgICAgICAgKTtcbiAgICB9IGVsc2UgaWYgKGxvY2tlZCkge1xuICAgICAgICByZXR1cm4gPExvY2tlZFJlY29yZCByZWNvcmQ9e2xvY2tlZH0gLz47XG4gICAgfVxuXG4gICAgcmV0dXJuIGNoaWxkcmVuO1xufTtcbiJdfQ== */",
|
|
30
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
31
|
-
});
|
|
32
|
-
var RenderBlock = /*#__PURE__*/(0, _base.default)("div", process.env.NODE_ENV === "production" ? {
|
|
33
|
-
target: "ecb7tlj0"
|
|
34
|
-
} : {
|
|
35
|
-
target: "ecb7tlj0",
|
|
36
|
-
label: "RenderBlock"
|
|
37
|
-
})(process.env.NODE_ENV === "production" ? {
|
|
38
|
-
name: "8nvd3k",
|
|
39
|
-
styles: "position:relative;z-index:0;background-color:var(--mdc-theme-background);height:100%;padding:25px"
|
|
40
|
-
} : {
|
|
41
|
-
name: "8nvd3k",
|
|
42
|
-
styles: "position:relative;z-index:0;background-color:var(--mdc-theme-background);height:100%;padding:25px",
|
|
43
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkNvbnRlbnRFbnRyeUd1YXJkLnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtQm9CIiwiZmlsZSI6IkNvbnRlbnRFbnRyeUd1YXJkLnRzeCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVJlY29yZExvY2tpbmcgfSBmcm9tIFwifi9ob29rc1wiO1xuaW1wb3J0IHsgRWxldmF0aW9uIH0gZnJvbSBcIkB3ZWJpbnkvdWkvRWxldmF0aW9uXCI7XG5pbXBvcnQgeyBDaXJjdWxhclByb2dyZXNzIH0gZnJvbSBcIkB3ZWJpbnkvdWkvUHJvZ3Jlc3NcIjtcbmltcG9ydCB7IGNzcyB9IGZyb20gXCJlbW90aW9uXCI7XG5pbXBvcnQgc3R5bGVkIGZyb20gXCJAZW1vdGlvbi9zdHlsZWRcIjtcbmltcG9ydCBSZWFjdCwgeyB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBMb2NrZWRSZWNvcmQgfSBmcm9tIFwiLi4vTG9ja2VkUmVjb3JkXCI7XG5pbXBvcnQgeyBJUmVjb3JkTG9ja2luZ0xvY2tSZWNvcmQgfSBmcm9tIFwifi90eXBlc1wiO1xuaW1wb3J0IHsgQ21zQ29udGVudEVudHJ5LCBDbXNNb2RlbCB9IGZyb20gXCJAd2ViaW55L2FwcC1oZWFkbGVzcy1jbXMvdHlwZXNcIjtcblxuY29uc3QgRGV0YWlsc0NvbnRhaW5lciA9IHN0eWxlZChcImRpdlwiKSh7XG4gICAgaGVpZ2h0OiBcImNhbGMoMTAwJSAtIDEwcHgpXCIsXG4gICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgICBuYXY6IHtcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInZhcigtLW1kYy10aGVtZS1zdXJmYWNlKVwiXG4gICAgfVxufSk7XG5cbmNvbnN0IFJlbmRlckJsb2NrID0gc3R5bGVkKFwiZGl2XCIpKHtcbiAgICBwb3NpdGlvbjogXCJyZWxhdGl2ZVwiLFxuICAgIHpJbmRleDogMCxcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IFwidmFyKC0tbWRjLXRoZW1lLWJhY2tncm91bmQpXCIsXG4gICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICBwYWRkaW5nOiAyNVxufSk7XG5cbmNvbnN0IGVsZXZhdGlvblN0eWxlcyA9IGNzcyh7XG4gICAgcG9zaXRpb246IFwicmVsYXRpdmVcIixcbiAgICBoZWlnaHQ6IFwiMTAwJVwiXG59KTtcblxuZXhwb3J0IGludGVyZmFjZSBJQ29udGVudEVudHJ5R3VhcmRQcm9wcyB7XG4gICAgbG9hZGluZzogYm9vbGVhbjtcbiAgICBlbnRyeTogQ21zQ29udGVudEVudHJ5O1xuICAgIG1vZGVsOiBDbXNNb2RlbDtcbiAgICBjaGlsZHJlbjogUmVhY3QuUmVhY3RFbGVtZW50O1xufVxuXG5leHBvcnQgY29uc3QgQ29udGVudEVudHJ5R3VhcmQgPSAocHJvcHM6IElDb250ZW50RW50cnlHdWFyZFByb3BzKSA9PiB7XG4gICAgY29uc3QgeyBsb2FkaW5nLCBlbnRyeSwgbW9kZWwsIGNoaWxkcmVuIH0gPSBwcm9wcztcbiAgICBjb25zdCB7IGZldGNoTG9ja2VkRW50cnlMb2NrUmVjb3JkIH0gPSB1c2VSZWNvcmRMb2NraW5nKCk7XG5cbiAgICBjb25zdCBbbG9ja2VkLCBzZXRMb2NrZWRdID0gdXNlU3RhdGU8SVJlY29yZExvY2tpbmdMb2NrUmVjb3JkIHwgbnVsbCB8IHVuZGVmaW5lZD4odW5kZWZpbmVkKTtcblxuICAgIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgICAgIGlmICghZW50cnkuaWQgfHwgbG9hZGluZyB8fCBsb2NrZWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIChhc3luYyAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBmZXRjaExvY2tlZEVudHJ5TG9ja1JlY29yZCh7XG4gICAgICAgICAgICAgICAgaWQ6IGVudHJ5LmlkLFxuICAgICAgICAgICAgICAgICRsb2NraW5nVHlwZTogbW9kZWwubW9kZWxJZFxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICBzZXRMb2NrZWQocmVzdWx0KTtcbiAgICAgICAgfSkoKTtcbiAgICB9LCBbZW50cnkuaWQsIGxvYWRpbmddKTtcblxuICAgIGlmIChsb2NrZWQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgPERldGFpbHNDb250YWluZXI+XG4gICAgICAgICAgICAgICAgPFJlbmRlckJsb2NrPlxuICAgICAgICAgICAgICAgICAgICA8RWxldmF0aW9uIHo9ezJ9IGNsYXNzTmFtZT17ZWxldmF0aW9uU3R5bGVzfT5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxDaXJjdWxhclByb2dyZXNzIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvRWxldmF0aW9uPlxuICAgICAgICAgICAgICAgIDwvUmVuZGVyQmxvY2s+XG4gICAgICAgICAgICA8L0RldGFpbHNDb250YWluZXI+XG4gICAgICAgICk7XG4gICAgfSBlbHNlIGlmIChsb2NrZWQpIHtcbiAgICAgICAgcmV0dXJuIDxMb2NrZWRSZWNvcmQgcmVjb3JkPXtsb2NrZWR9IC8+O1xuICAgIH1cblxuICAgIHJldHVybiBjaGlsZHJlbjtcbn07XG4iXX0= */",
|
|
44
|
-
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
45
|
-
});
|
|
46
|
-
var elevationStyles = (0, _emotion.css)({
|
|
47
|
-
position: "relative",
|
|
48
|
-
height: "100%"
|
|
49
|
-
});
|
|
50
14
|
var ContentEntryGuard = exports.ContentEntryGuard = function ContentEntryGuard(props) {
|
|
51
15
|
var loading = props.loading,
|
|
52
16
|
entry = props.entry,
|
|
@@ -71,10 +35,7 @@ var ContentEntryGuard = exports.ContentEntryGuard = function ContentEntryGuard(p
|
|
|
71
35
|
})();
|
|
72
36
|
}, [entry.id, loading]);
|
|
73
37
|
if (locked === undefined) {
|
|
74
|
-
return /*#__PURE__*/_react.default.createElement(
|
|
75
|
-
z: 2,
|
|
76
|
-
className: elevationStyles
|
|
77
|
-
}, /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, null))));
|
|
38
|
+
return /*#__PURE__*/_react.default.createElement(_Progress.CircularProgress, null);
|
|
78
39
|
} else if (locked) {
|
|
79
40
|
return /*#__PURE__*/_react.default.createElement(_LockedRecord.LockedRecord, {
|
|
80
41
|
record: locked
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_hooks","_Progress","_LockedRecord","ContentEntryGuard","exports","props","loading","entry","model","children","_useRecordLocking","useRecordLocking","fetchLockedEntryLockRecord","_useState","useState","undefined","_useState2","_slicedToArray2","default","locked","setLocked","useEffect","id","result","$lockingType","modelId","createElement","CircularProgress","LockedRecord","record"],"sources":["ContentEntryGuard.tsx"],"sourcesContent":["import React, { useEffect, useState } from \"react\";\nimport { useRecordLocking } from \"~/hooks\";\nimport { CircularProgress } from \"@webiny/ui/Progress\";\nimport { LockedRecord } from \"../LockedRecord\";\nimport { IRecordLockingLockRecord } from \"~/types\";\nimport { CmsContentEntry, CmsModel } from \"@webiny/app-headless-cms/types\";\n\nexport interface IContentEntryGuardProps {\n loading: boolean;\n entry: CmsContentEntry;\n model: CmsModel;\n children: React.ReactElement;\n}\n\nexport const ContentEntryGuard = (props: IContentEntryGuardProps) => {\n const { loading, entry, model, children } = props;\n const { fetchLockedEntryLockRecord } = useRecordLocking();\n\n const [locked, setLocked] = useState<IRecordLockingLockRecord | null | undefined>(undefined);\n\n useEffect(() => {\n if (!entry.id || loading || locked !== undefined) {\n return;\n }\n (async () => {\n const result = await fetchLockedEntryLockRecord({\n id: entry.id,\n $lockingType: model.modelId\n });\n setLocked(result);\n })();\n }, [entry.id, loading]);\n\n if (locked === undefined) {\n return <CircularProgress />;\n } else if (locked) {\n return <LockedRecord record={locked} />;\n }\n\n return children;\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,aAAA,GAAAH,OAAA;AAWO,IAAMI,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAAIE,KAA8B,EAAK;EACjE,IAAQC,OAAO,GAA6BD,KAAK,CAAzCC,OAAO;IAAEC,KAAK,GAAsBF,KAAK,CAAhCE,KAAK;IAAEC,KAAK,GAAeH,KAAK,CAAzBG,KAAK;IAAEC,QAAQ,GAAKJ,KAAK,CAAlBI,QAAQ;EACvC,IAAAC,iBAAA,GAAuC,IAAAC,uBAAgB,EAAC,CAAC;IAAjDC,0BAA0B,GAAAF,iBAAA,CAA1BE,0BAA0B;EAElC,IAAAC,SAAA,GAA4B,IAAAC,eAAQ,EAA8CC,SAAS,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAL,SAAA;IAArFM,MAAM,GAAAH,UAAA;IAAEI,SAAS,GAAAJ,UAAA;EAExB,IAAAK,gBAAS,EAAC,YAAM;IACZ,IAAI,CAACd,KAAK,CAACe,EAAE,IAAIhB,OAAO,IAAIa,MAAM,KAAKJ,SAAS,EAAE;MAC9C;IACJ;IACA,CAAC,kBAAY;MACT,IAAMQ,MAAM,GAAG,MAAMX,0BAA0B,CAAC;QAC5CU,EAAE,EAAEf,KAAK,CAACe,EAAE;QACZE,YAAY,EAAEhB,KAAK,CAACiB;MACxB,CAAC,CAAC;MACFL,SAAS,CAACG,MAAM,CAAC;IACrB,CAAC,EAAE,CAAC;EACR,CAAC,EAAE,CAAChB,KAAK,CAACe,EAAE,EAAEhB,OAAO,CAAC,CAAC;EAEvB,IAAIa,MAAM,KAAKJ,SAAS,EAAE;IACtB,oBAAOlB,MAAA,CAAAqB,OAAA,CAAAQ,aAAA,CAACzB,SAAA,CAAA0B,gBAAgB,MAAE,CAAC;EAC/B,CAAC,MAAM,IAAIR,MAAM,EAAE;IACf,oBAAOtB,MAAA,CAAAqB,OAAA,CAAAQ,aAAA,CAACxB,aAAA,CAAA0B,YAAY;MAACC,MAAM,EAAEV;IAAO,CAAE,CAAC;EAC3C;EAEA,OAAOV,QAAQ;AACnB,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_appHeadlessCms","_reactRouter","_ContentEntryGuard","_ContentEntryLocker","ContentEntry","ContentEntryEditorConfig","SingletonContentEntry","DisablePrompt","createGenericContext","PromptDecorator","Prompt","createDecorator","Original","props","_DisablePrompt$useHoo","useHook","disablePrompt","when","default","createElement","message","ContentEntryDecorator","RecordLockingContentEntry","_useState","useState","_useState2","_slicedToArray2","setDisablePrompt","_ContentEntry$useCont","useContentEntry","entry","contentModel","loading","_ContentEntryListConf","ContentEntryListConfig","ContentEntries","useContentEntriesList","navigateTo","id","Provider","model","ContentEntryGuard","Object","assign","ContentEntryLocker","onDisablePrompt","flag","onEntryUnlocked","SingletonContentEntryDecorator","RecordLockingSingletonContentEntry","_useState3","_useState4","_SingletonContentEntr","useSingletonContentEntry","HeadlessCmsContentEntry","exports","Fragment","CompositionScope","name"],"sources":["HeadlessCmsContentEntry.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { CompositionScope, createGenericContext } from \"@webiny/app-admin\";\nimport { ContentEntryEditorConfig, ContentEntryListConfig } from \"@webiny/app-headless-cms\";\nimport { Prompt } from \"@webiny/react-router\";\nimport { ContentEntryGuard } from \"./ContentEntryGuard\";\nimport { ContentEntryLocker } from \"./ContentEntryLocker\";\n\nconst { ContentEntry, SingletonContentEntry } = ContentEntryEditorConfig;\n\nconst DisablePrompt = createGenericContext<{ disablePrompt: boolean }>(\"DisablePrompt\");\n\nconst PromptDecorator = Prompt.createDecorator(Original => {\n return function Prompt(props) {\n const { disablePrompt } = DisablePrompt.useHook();\n const when = disablePrompt === true ? false : props.when;\n return <Original message={props.message} when={when} />;\n };\n});\n\nconst ContentEntryDecorator = ContentEntry.createDecorator(Original => {\n return function RecordLockingContentEntry() {\n const [disablePrompt, setDisablePrompt] = useState(false);\n const { entry, contentModel, loading } = ContentEntry.useContentEntry();\n const { navigateTo } = ContentEntryListConfig.ContentEntries.useContentEntriesList();\n /**\n * New entry does not have ID yet.\n */\n if (!entry?.id) {\n return (\n <DisablePrompt.Provider disablePrompt={disablePrompt}>\n <Original />\n </DisablePrompt.Provider>\n );\n }\n /**\n * Continue with existing entry.\n */\n const props = { entry, model: contentModel };\n\n return (\n <ContentEntryGuard {...props} loading={loading}>\n <ContentEntryLocker\n {...props}\n onDisablePrompt={flag => setDisablePrompt(flag)}\n onEntryUnlocked={navigateTo}\n >\n <DisablePrompt.Provider disablePrompt={disablePrompt}>\n <Original />\n </DisablePrompt.Provider>\n </ContentEntryLocker>\n </ContentEntryGuard>\n );\n };\n});\n\nconst SingletonContentEntryDecorator = SingletonContentEntry.createDecorator(Original => {\n return function RecordLockingSingletonContentEntry() {\n const [disablePrompt, setDisablePrompt] = useState(false);\n const { entry, contentModel, loading } = SingletonContentEntry.useSingletonContentEntry();\n\n const props = { entry, model: contentModel };\n\n return (\n <ContentEntryGuard {...props} loading={loading}>\n <ContentEntryLocker\n {...props}\n onDisablePrompt={flag => setDisablePrompt(flag)}\n onEntryUnlocked={() => {\n // There's nowhere to go, since singleton entry doesn't have a list view.\n }}\n >\n <DisablePrompt.Provider disablePrompt={disablePrompt}>\n <Original />\n </DisablePrompt.Provider>\n </ContentEntryLocker>\n </ContentEntryGuard>\n );\n };\n});\n\nexport const HeadlessCmsContentEntry = () => {\n return (\n <>\n <ContentEntryDecorator />\n <SingletonContentEntryDecorator />\n <CompositionScope name={\"cms.contentEntryForm\"}>\n <PromptDecorator />\n </CompositionScope>\n </>\n );\n};\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AACA,IAAAI,kBAAA,GAAAJ,OAAA;AACA,IAAAK,mBAAA,GAAAL,OAAA;AAEA,IAAQM,YAAY,GAA4BC,wCAAwB,CAAhED,YAAY;EAAEE,qBAAqB,GAAKD,wCAAwB,CAAlDC,qBAAqB;AAE3C,IAAMC,aAAa,GAAG,IAAAC,8BAAoB,EAA6B,eAAe,CAAC;AAEvF,IAAMC,eAAe,GAAGC,mBAAM,CAACC,eAAe,CAAC,UAAAC,QAAQ,EAAI;EACvD,OAAO,SAASF,MAAMA,CAACG,KAAK,EAAE;IAC1B,IAAAC,qBAAA,GAA0BP,aAAa,CAACQ,OAAO,CAAC,CAAC;MAAzCC,aAAa,GAAAF,qBAAA,CAAbE,aAAa;IACrB,IAAMC,IAAI,GAAGD,aAAa,KAAK,IAAI,GAAG,KAAK,GAAGH,KAAK,CAACI,IAAI;IACxD,oBAAOrB,MAAA,CAAAsB,OAAA,CAAAC,aAAA,CAACP,QAAQ;MAACQ,OAAO,EAAEP,KAAK,CAACO,OAAQ;MAACH,IAAI,EAAEA;IAAK,CAAE,CAAC;EAC3D,CAAC;AACL,CAAC,CAAC;AAEF,IAAMI,qBAAqB,GAAGjB,YAAY,CAACO,eAAe,CAAC,UAAAC,QAAQ,EAAI;EACnE,OAAO,SAASU,yBAAyBA,CAAA,EAAG;IACxC,IAAAC,SAAA,GAA0C,IAAAC,eAAQ,EAAC,KAAK,CAAC;MAAAC,UAAA,OAAAC,eAAA,CAAAR,OAAA,EAAAK,SAAA;MAAlDP,aAAa,GAAAS,UAAA;MAAEE,gBAAgB,GAAAF,UAAA;IACtC,IAAAG,qBAAA,GAAyCxB,YAAY,CAACyB,eAAe,CAAC,CAAC;MAA/DC,KAAK,GAAAF,qBAAA,CAALE,KAAK;MAAEC,YAAY,GAAAH,qBAAA,CAAZG,YAAY;MAAEC,OAAO,GAAAJ,qBAAA,CAAPI,OAAO;IACpC,IAAAC,qBAAA,GAAuBC,sCAAsB,CAACC,cAAc,CAACC,qBAAqB,CAAC,CAAC;MAA5EC,UAAU,GAAAJ,qBAAA,CAAVI,UAAU;IAClB;AACR;AACA;IACQ,IAAI,CAACP,KAAK,EAAEQ,EAAE,EAAE;MACZ,oBACI1C,MAAA,CAAAsB,OAAA,CAAAC,aAAA,CAACZ,aAAa,CAACgC,QAAQ;QAACvB,aAAa,EAAEA;MAAc,gBACjDpB,MAAA,CAAAsB,OAAA,CAAAC,aAAA,CAACP,QAAQ,MAAE,CACS,CAAC;IAEjC;IACA;AACR;AACA;IACQ,IAAMC,KAAK,GAAG;MAAEiB,KAAK,EAALA,KAAK;MAAEU,KAAK,EAAET;IAAa,CAAC;IAE5C,oBACInC,MAAA,CAAAsB,OAAA,CAAAC,aAAA,CAACjB,kBAAA,CAAAuC,iBAAiB,EAAAC,MAAA,CAAAC,MAAA,KAAK9B,KAAK;MAAEmB,OAAO,EAAEA;IAAQ,iBAC3CpC,MAAA,CAAAsB,OAAA,CAAAC,aAAA,CAAChB,mBAAA,CAAAyC,kBAAkB,EAAAF,MAAA,CAAAC,MAAA,KACX9B,KAAK;MACTgC,eAAe,EAAE,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_appAdmin","_appHeadlessCms","_reactRouter","_ContentEntryGuard","_ContentEntryLocker","ContentEntry","ContentEntryEditorConfig","SingletonContentEntry","DisablePrompt","createGenericContext","PromptDecorator","Prompt","createDecorator","Original","props","_DisablePrompt$useHoo","useHook","disablePrompt","when","default","createElement","message","ContentEntryDecorator","RecordLockingContentEntry","_useState","useState","_useState2","_slicedToArray2","setDisablePrompt","_ContentEntry$useCont","useContentEntry","entry","contentModel","loading","_ContentEntryListConf","ContentEntryListConfig","ContentEntries","useContentEntriesList","navigateTo","id","Provider","model","ContentEntryGuard","Object","assign","ContentEntryLocker","onDisablePrompt","flag","onEntryUnlocked","SingletonContentEntryDecorator","RecordLockingSingletonContentEntry","_useState3","_useState4","_SingletonContentEntr","useSingletonContentEntry","HeadlessCmsContentEntry","exports","Fragment","CompositionScope","name"],"sources":["HeadlessCmsContentEntry.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport { CompositionScope, createGenericContext } from \"@webiny/app-admin\";\nimport { ContentEntryEditorConfig, ContentEntryListConfig } from \"@webiny/app-headless-cms\";\nimport { Prompt } from \"@webiny/react-router\";\nimport { ContentEntryGuard } from \"./ContentEntryGuard\";\nimport { ContentEntryLocker } from \"./ContentEntryLocker\";\n\nconst { ContentEntry, SingletonContentEntry } = ContentEntryEditorConfig;\n\nconst DisablePrompt = createGenericContext<{ disablePrompt: boolean }>(\"DisablePrompt\");\n\nconst PromptDecorator = Prompt.createDecorator(Original => {\n return function Prompt(props) {\n const { disablePrompt } = DisablePrompt.useHook();\n const when = disablePrompt === true ? false : props.when;\n return <Original message={props.message} when={when} />;\n };\n});\n\nconst ContentEntryDecorator = ContentEntry.createDecorator(Original => {\n return function RecordLockingContentEntry() {\n const [disablePrompt, setDisablePrompt] = useState(false);\n const { entry, contentModel, loading } = ContentEntry.useContentEntry();\n const { navigateTo } = ContentEntryListConfig.ContentEntries.useContentEntriesList();\n /**\n * New entry does not have ID yet.\n */\n if (!entry?.id) {\n return (\n <DisablePrompt.Provider disablePrompt={disablePrompt}>\n <Original />\n </DisablePrompt.Provider>\n );\n }\n /**\n * Continue with existing entry.\n */\n const props = { entry, model: contentModel };\n\n return (\n <ContentEntryGuard {...props} loading={loading}>\n <ContentEntryLocker\n {...props}\n onDisablePrompt={flag => setDisablePrompt(flag)}\n onEntryUnlocked={navigateTo}\n >\n <DisablePrompt.Provider disablePrompt={disablePrompt}>\n <Original />\n </DisablePrompt.Provider>\n </ContentEntryLocker>\n </ContentEntryGuard>\n );\n };\n});\n\nconst SingletonContentEntryDecorator = SingletonContentEntry.createDecorator(Original => {\n return function RecordLockingSingletonContentEntry() {\n const [disablePrompt, setDisablePrompt] = useState(false);\n const { entry, contentModel, loading } = SingletonContentEntry.useSingletonContentEntry();\n\n const props = { entry, model: contentModel };\n\n return (\n <ContentEntryGuard {...props} loading={loading}>\n <ContentEntryLocker\n {...props}\n onDisablePrompt={flag => setDisablePrompt(flag)}\n onEntryUnlocked={() => {\n // There's nowhere to go, since singleton entry doesn't have a list view.\n }}\n >\n <DisablePrompt.Provider disablePrompt={disablePrompt}>\n <Original />\n </DisablePrompt.Provider>\n </ContentEntryLocker>\n </ContentEntryGuard>\n );\n };\n});\n\nexport const HeadlessCmsContentEntry = () => {\n return (\n <>\n <ContentEntryDecorator />\n <SingletonContentEntryDecorator />\n <CompositionScope name={\"cms.contentEntryForm\"}>\n <PromptDecorator />\n </CompositionScope>\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_RecordLocking","_appAdmin","RecordLockingContext","exports","React","createContext","isSameArray","existingRecords","newRecords","length","every","record","some","newRecord","id","savedOn","RecordLockingProvider","props","client","useApolloClient","_useState","useState","_useState2","_slicedToArray2","default","loading","setLoading","recordLocking","useMemo","createRecordLocking","_useStateIfMounted","useStateIfMounted","_useStateIfMounted2","error","setError","_useStateIfMounted3","_useStateIfMounted4","records","setRecords","setRecordsIfNeeded","useCallback","sameArray","value","updateEntryLock","params","result","target","data","message","code","prev","map","item","entryId","_objectSpread2","$locked","unlockEntry","unlockEntryForce","isLockExpired","input","isRecordLocked","getLockRecordEntry","removeEntryLock","fetchLockRecord","ex","fetchLockedEntryLockRecord","folderId","type","createElement","Provider","Object","assign"],"sources":["RecordLockingProvider.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { createRecordLocking } from \"~/domain/RecordLocking\";\nimport {\n IFetchLockedEntryLockRecordParams,\n IFetchLockRecordParams,\n IPossiblyRecordLockingRecord,\n IRecordLockingContext,\n IRecordLockingError,\n IUnlockEntryParams,\n IUpdateEntryLockParams\n} from \"~/types\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\n\nexport interface IRecordLockingProviderProps {\n children: React.ReactNode;\n}\n\nexport const RecordLockingContext = React.createContext({} as unknown as IRecordLockingContext);\n\nconst isSameArray = (\n existingRecords: Pick<IPossiblyRecordLockingRecord, \"id\" | \"savedOn\">[],\n newRecords: Pick<IPossiblyRecordLockingRecord, \"id\" | \"savedOn\">[]\n): boolean => {\n if (existingRecords.length !== newRecords.length) {\n return false;\n }\n return existingRecords.every(record => {\n return newRecords.some(\n newRecord => newRecord.id === record.id && newRecord.savedOn === record.savedOn\n );\n });\n};\n\nexport const RecordLockingProvider = (props: IRecordLockingProviderProps) => {\n const client = useApolloClient();\n\n const [loading, setLoading] = useState(false);\n\n const recordLocking = useMemo(() => {\n return createRecordLocking({\n client,\n setLoading\n });\n }, []);\n\n const [error, setError] = useStateIfMounted<IRecordLockingError | null>(null);\n\n const [records, setRecords] = useStateIfMounted<IPossiblyRecordLockingRecord[]>([]);\n\n const setRecordsIfNeeded = useCallback(\n (newRecords: IPossiblyRecordLockingRecord[]) => {\n const sameArray = isSameArray(records, newRecords);\n if (sameArray) {\n return;\n }\n setRecords(newRecords);\n },\n [records]\n );\n\n const value: IRecordLockingContext = {\n async updateEntryLock(params: IUpdateEntryLockParams) {\n const result = await recordLocking.updateEntryLock(params);\n if (result.error) {\n setError(result.error);\n return;\n }\n const target = result.data;\n if (!target?.id) {\n setError({\n message: \"No data returned from server.\",\n code: \"NO_DATA\"\n });\n return;\n }\n\n setRecords(prev => {\n return prev.map(item => {\n if (item.entryId === target.id) {\n return {\n ...item,\n $locked: result.data\n };\n }\n return item;\n });\n });\n },\n async unlockEntry(params: IUnlockEntryParams) {\n return await recordLocking.unlockEntry(params);\n },\n async unlockEntryForce(params: IUnlockEntryParams) {\n return await recordLocking.unlockEntry(params, true);\n },\n isLockExpired(input: Date | string): boolean {\n return recordLocking.isLockExpired(input);\n },\n isRecordLocked(record) {\n if (!record) {\n return false;\n }\n return recordLocking.isRecordLocked(record);\n },\n getLockRecordEntry(id: string) {\n return recordLocking.getLockRecordEntry(id);\n },\n removeEntryLock(params: IUnlockEntryParams) {\n return recordLocking.removeEntryLock(params);\n },\n async fetchLockRecord(params: IFetchLockRecordParams) {\n try {\n return await recordLocking.fetchLockRecord(params);\n } catch (ex) {\n return {\n data: null,\n error: ex\n };\n }\n },\n async fetchLockedEntryLockRecord(params: IFetchLockedEntryLockRecordParams) {\n return recordLocking.fetchLockedEntryLockRecord(params);\n },\n async setRecords(folderId, type, newRecords) {\n setRecordsIfNeeded(newRecords);\n\n const result = await recordLocking.setRecords(folderId, type, newRecords);\n if (!result) {\n return;\n }\n setRecords(result);\n },\n error,\n records,\n loading\n };\n\n return <RecordLockingContext.Provider {...props} value={value} />;\n};\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,WAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAUA,IAAAG,SAAA,GAAAH,OAAA;AAMO,IAAMI,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,gBAAGE,cAAK,CAACC,aAAa,CAAC,CAAC,CAAqC,CAAC;AAE/F,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CACbC,eAAuE,EACvEC,UAAkE,EACxD;EACV,IAAID,eAAe,CAACE,MAAM,KAAKD,UAAU,CAACC,MAAM,EAAE;IAC9C,OAAO,KAAK;EAChB;EACA,OAAOF,eAAe,CAACG,KAAK,CAAC,UAAAC,MAAM,EAAI;IACnC,OAAOH,UAAU,CAACI,IAAI,CAClB,UAAAC,SAAS;MAAA,OAAIA,SAAS,CAACC,EAAE,KAAKH,MAAM,CAACG,EAAE,IAAID,SAAS,CAACE,OAAO,KAAKJ,MAAM,CAACI,OAAO;IAAA,CACnF,CAAC;EACL,CAAC,CAAC;AACN,CAAC;AAEM,IAAMC,qBAAqB,GAAAb,OAAA,CAAAa,qBAAA,GAAG,SAAxBA,qBAAqBA,CAAIC,KAAkC,EAAK;EACzE,IAAMC,MAAM,GAAG,IAAAC,2BAAe,EAAC,CAAC;EAEhC,IAAAC,SAAA,GAA8B,IAAAC,eAAQ,EAAC,KAAK,CAAC;IAAAC,UAAA,OAAAC,eAAA,CAAAC,OAAA,EAAAJ,SAAA;IAAtCK,OAAO,GAAAH,UAAA;IAAEI,UAAU,GAAAJ,UAAA;EAE1B,IAAMK,aAAa,GAAG,IAAAC,cAAO,EAAC,YAAM;IAChC,OAAO,IAAAC,kCAAmB,EAAC;MACvBX,MAAM,EAANA,MAAM;MACNQ,UAAU,EAAVA;IACJ,CAAC,CAAC;EACN,CAAC,EAAE,EAAE,CAAC;EAEN,IAAAI,kBAAA,GAA0B,IAAAC,2BAAiB,EAA6B,IAAI,CAAC;IAAAC,mBAAA,OAAAT,eAAA,CAAAC,OAAA,EAAAM,kBAAA;IAAtEG,KAAK,GAAAD,mBAAA;IAAEE,QAAQ,GAAAF,mBAAA;EAEtB,IAAAG,mBAAA,GAA8B,IAAAJ,2BAAiB,EAAiC,EAAE,CAAC;IAAAK,mBAAA,OAAAb,eAAA,CAAAC,OAAA,EAAAW,mBAAA;IAA5EE,OAAO,GAAAD,mBAAA;IAAEE,WAAU,GAAAF,mBAAA;EAE1B,IAAMG,kBAAkB,GAAG,IAAAC,kBAAW,EAClC,UAAChC,UAA0C,EAAK;IAC5C,IAAMiC,SAAS,GAAGnC,WAAW,CAAC+B,OAAO,EAAE7B,UAAU,CAAC;IAClD,IAAIiC,SAAS,EAAE;MACX;IACJ;IACAH,WAAU,CAAC9B,UAAU,CAAC;EAC1B,CAAC,EACD,CAAC6B,OAAO,CACZ,CAAC;EAED,IAAMK,KAA4B,GAAG;IAC3BC,eAAe,
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_reactHooks","_RecordLocking","_appAdmin","RecordLockingContext","exports","React","createContext","isSameArray","existingRecords","newRecords","length","every","record","some","newRecord","id","savedOn","RecordLockingProvider","props","client","useApolloClient","_useState","useState","_useState2","_slicedToArray2","default","loading","setLoading","recordLocking","useMemo","createRecordLocking","_useStateIfMounted","useStateIfMounted","_useStateIfMounted2","error","setError","_useStateIfMounted3","_useStateIfMounted4","records","setRecords","setRecordsIfNeeded","useCallback","sameArray","value","updateEntryLock","params","result","target","data","message","code","prev","map","item","entryId","_objectSpread2","$locked","unlockEntry","unlockEntryForce","isLockExpired","input","isRecordLocked","getLockRecordEntry","removeEntryLock","fetchLockRecord","ex","fetchLockedEntryLockRecord","folderId","type","createElement","Provider","Object","assign"],"sources":["RecordLockingProvider.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useState } from \"react\";\nimport { useApolloClient } from \"@apollo/react-hooks\";\nimport { createRecordLocking } from \"~/domain/RecordLocking\";\nimport {\n IFetchLockedEntryLockRecordParams,\n IFetchLockRecordParams,\n IPossiblyRecordLockingRecord,\n IRecordLockingContext,\n IRecordLockingError,\n IUnlockEntryParams,\n IUpdateEntryLockParams\n} from \"~/types\";\nimport { useStateIfMounted } from \"@webiny/app-admin\";\n\nexport interface IRecordLockingProviderProps {\n children: React.ReactNode;\n}\n\nexport const RecordLockingContext = React.createContext({} as unknown as IRecordLockingContext);\n\nconst isSameArray = (\n existingRecords: Pick<IPossiblyRecordLockingRecord, \"id\" | \"savedOn\">[],\n newRecords: Pick<IPossiblyRecordLockingRecord, \"id\" | \"savedOn\">[]\n): boolean => {\n if (existingRecords.length !== newRecords.length) {\n return false;\n }\n return existingRecords.every(record => {\n return newRecords.some(\n newRecord => newRecord.id === record.id && newRecord.savedOn === record.savedOn\n );\n });\n};\n\nexport const RecordLockingProvider = (props: IRecordLockingProviderProps) => {\n const client = useApolloClient();\n\n const [loading, setLoading] = useState(false);\n\n const recordLocking = useMemo(() => {\n return createRecordLocking({\n client,\n setLoading\n });\n }, []);\n\n const [error, setError] = useStateIfMounted<IRecordLockingError | null>(null);\n\n const [records, setRecords] = useStateIfMounted<IPossiblyRecordLockingRecord[]>([]);\n\n const setRecordsIfNeeded = useCallback(\n (newRecords: IPossiblyRecordLockingRecord[]) => {\n const sameArray = isSameArray(records, newRecords);\n if (sameArray) {\n return;\n }\n setRecords(newRecords);\n },\n [records]\n );\n\n const value: IRecordLockingContext = {\n async updateEntryLock(params: IUpdateEntryLockParams) {\n const result = await recordLocking.updateEntryLock(params);\n if (result.error) {\n setError(result.error);\n return;\n }\n const target = result.data;\n if (!target?.id) {\n setError({\n message: \"No data returned from server.\",\n code: \"NO_DATA\"\n });\n return;\n }\n\n setRecords(prev => {\n return prev.map(item => {\n if (item.entryId === target.id) {\n return {\n ...item,\n $locked: result.data\n };\n }\n return item;\n });\n });\n },\n async unlockEntry(params: IUnlockEntryParams) {\n return await recordLocking.unlockEntry(params);\n },\n async unlockEntryForce(params: IUnlockEntryParams) {\n return await recordLocking.unlockEntry(params, true);\n },\n isLockExpired(input: Date | string): boolean {\n return recordLocking.isLockExpired(input);\n },\n isRecordLocked(record) {\n if (!record) {\n return false;\n }\n return recordLocking.isRecordLocked(record);\n },\n getLockRecordEntry(id: string) {\n return recordLocking.getLockRecordEntry(id);\n },\n removeEntryLock(params: IUnlockEntryParams) {\n return recordLocking.removeEntryLock(params);\n },\n async fetchLockRecord(params: IFetchLockRecordParams) {\n try {\n return await recordLocking.fetchLockRecord(params);\n } catch (ex) {\n return {\n data: null,\n error: ex\n };\n }\n },\n async fetchLockedEntryLockRecord(params: IFetchLockedEntryLockRecordParams) {\n return recordLocking.fetchLockedEntryLockRecord(params);\n },\n async setRecords(folderId, type, newRecords) {\n setRecordsIfNeeded(newRecords);\n\n const result = await recordLocking.setRecords(folderId, type, newRecords);\n if (!result) {\n return;\n }\n setRecords(result);\n },\n error,\n records,\n loading\n };\n\n return <RecordLockingContext.Provider {...props} value={value} />;\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_appAco","require","UseRecordsDecorator","exports","useRecords","createDecorator","baseHook","folderId","hook","_objectSpread2","default","updateRecordInCache","record","savedOn","Date","toISOString"],"sources":["UseRecordsDecorator.tsx"],"sourcesContent":["import { useRecords } from \"@webiny/app-aco\";\n\n/**\n * When record locking mechanism is checking for records equality, it compares record `id` and `savedOn`.\n * When you're updating ACO cache, you're just passing the new content entry value(s), and sometimes you might\n * be doing it without the `savedOn`, and that causes record locking to keep its old state.\n *\n * This decorator ensures that calls to `updateRecordInCache` always include a `savedOn` timestamp.\n */\nexport const UseRecordsDecorator = useRecords.createDecorator(baseHook => {\n return (folderId?: string) => {\n const hook = baseHook(folderId);\n\n return {\n ...hook,\n updateRecordInCache(record: any) {\n hook.updateRecordInCache({\n ...record,\n savedOn: new Date().toISOString()\n });\n }\n };\n };\n});\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAGE,kBAAU,CAACC,eAAe,CAAC,UAAAC,QAAQ,EAAI;EACtE,OAAO,UAACC,QAAiB,EAAK;IAC1B,IAAMC,IAAI,GAAGF,QAAQ,CAACC,QAAQ,CAAC;IAE/B,WAAAE,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOF,IAAI;MACPG,mBAAmB,
|
|
1
|
+
{"version":3,"names":["_appAco","require","UseRecordsDecorator","exports","useRecords","createDecorator","baseHook","folderId","hook","_objectSpread2","default","updateRecordInCache","record","savedOn","Date","toISOString"],"sources":["UseRecordsDecorator.tsx"],"sourcesContent":["import { useRecords } from \"@webiny/app-aco\";\n\n/**\n * When record locking mechanism is checking for records equality, it compares record `id` and `savedOn`.\n * When you're updating ACO cache, you're just passing the new content entry value(s), and sometimes you might\n * be doing it without the `savedOn`, and that causes record locking to keep its old state.\n *\n * This decorator ensures that calls to `updateRecordInCache` always include a `savedOn` timestamp.\n */\nexport const UseRecordsDecorator = useRecords.createDecorator(baseHook => {\n return (folderId?: string) => {\n const hook = baseHook(folderId);\n\n return {\n ...hook,\n updateRecordInCache(record: any) {\n hook.updateRecordInCache({\n ...record,\n savedOn: new Date().toISOString()\n });\n }\n };\n };\n});\n"],"mappings":";;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAGE,kBAAU,CAACC,eAAe,CAAC,UAAAC,QAAQ,EAAI;EACtE,OAAO,UAACC,QAAiB,EAAK;IAC1B,IAAMC,IAAI,GAAGF,QAAQ,CAACC,QAAQ,CAAC;IAE/B,WAAAE,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACOF,IAAI;MACPG,mBAAmB,WAAnBA,mBAAmBA,CAACC,MAAW,EAAE;QAC7BJ,IAAI,CAACG,mBAAmB,KAAAF,cAAA,CAAAC,OAAA,MAAAD,cAAA,CAAAC,OAAA,MACjBE,MAAM;UACTC,OAAO,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,WAAW,CAAC;QAAC,EACpC,CAAC;MACN;IAAC;EAET,CAAC;AACL,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_RecordLockingGetLockRecord","require","_RecordLockingIsEntryLocked","_RecordLockingListLockRecords","_RecordLockingLockEntry","_RecordLockingUnlockEntry","_RecordLockingUnlockEntryRequest","_RecordLockingClient","_createRecordLockingError","_parseIdentifier9","_createCacheKey","_RecordLockingUpdateEntryLock","_RecordLockingGetLockedEntryLockRecord","RecordLocking","params","_classCallCheck2","default","_defineProperty2","client","_setLoading","setLoading","_getLockRecord","getLockRecord","_getLockedEntryLockRecord","getLockedEntryLockRecord","_isEntryLocked","isEntryLocked","_listLockRecords","listLockRecords","_lockEntry","lockEntry","_unlockEntry","unlockEntry","_unlockEntryRequest","unlockEntryRequest","_updateEntryLock","updateEntryLock","_createClass2","key","value","setRecords","folderId","type","records","result","fetchAndAssignRecords","undefined","map","record","_parseIdentifier","parseIdentifier","id","entryId","_objectSpread2","$lockingType","$locked","$selectable","fetchLockRecord","_parseIdentifier2","execute","data","error","ex","fetchLockedEntryLockRecord","_parseIdentifier3","getLockRecordEntry","find","_parseIdentifier4","isRecordLocked","r","_parseIdentifier5","expiresOn","isExpired","isLockExpired","triggerOnError","removeEntryLock","index","findIndex","force","onError","cb","onErrorCb","setIsLoading","input","Date","loading","_this","length","assignedIdList","assignRecords","where","id_in","limit","console","createRecordLockingError","message","code","_iterator","_createForOfIteratorHelper2","_step","_loop","_parseIdentifier6","concat","lockedBy","lockedOn","actions","s","n","done","err","e","f","_this2","keys","_parseIdentifier7","cacheKey","createCacheKey","currentRecordsCacheKey","currentRecordType","currentFolderId","reduce","collection","_parseIdentifier8","push","$type","createRecordLocking","exports","config","RecordLockingClient","RecordLockingGetLockRecord","RecordLockingGetLockedEntryLockRecord","RecordLockingIsEntryLocked","RecordLockingListLockRecords","RecordLockingLockEntry","RecordLockingUnlockEntry","RecordLockingUnlockEntryRequest","RecordLockingUpdateEntryLock"],"sources":["RecordLocking.ts"],"sourcesContent":["import { IRecordLocking, IRecordLockingUpdateEntryLockResult } from \"./abstractions/IRecordLocking\";\nimport { ApolloClient } from \"apollo-client\";\nimport { RecordLockingGetLockRecord } from \"./RecordLockingGetLockRecord\";\nimport { RecordLockingIsEntryLocked } from \"./RecordLockingIsEntryLocked\";\nimport { RecordLockingListLockRecords } from \"./RecordLockingListLockRecords\";\nimport { RecordLockingLockEntry } from \"./RecordLockingLockEntry\";\nimport { RecordLockingUnlockEntry } from \"./RecordLockingUnlockEntry\";\nimport { RecordLockingUnlockEntryRequest } from \"./RecordLockingUnlockEntryRequest\";\nimport { RecordLockingClient } from \"./RecordLockingClient\";\nimport { IRecordLockingGetLockRecord } from \"./abstractions/IRecordLockingGetLockRecord\";\nimport { IRecordLockingIsEntryLocked } from \"./abstractions/IRecordLockingIsEntryLocked\";\nimport {\n IRecordLockingListLockRecords,\n IRecordLockingListLockRecordsResult\n} from \"./abstractions/IRecordLockingListLockRecords\";\nimport { IRecordLockingLockEntry } from \"./abstractions/IRecordLockingLockEntry\";\nimport {\n IRecordLockingUnlockEntry,\n IRecordLockingUnlockEntryResult\n} from \"./abstractions/IRecordLockingUnlockEntry\";\nimport { IRecordLockingUnlockEntryRequest } from \"./abstractions/IRecordLockingUnlockEntryRequest\";\nimport {\n IFetchLockedEntryLockRecordParams,\n IFetchLockRecordParams,\n IFetchLockRecordResult,\n IIsRecordLockedParams,\n IRecordLockingError,\n IRecordLockingLockRecord,\n IRecordLockingRecord,\n IPossiblyRecordLockingRecord,\n IUnlockEntryParams,\n IUpdateEntryLockParams\n} from \"~/types\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\nimport { createRecordLockingError } from \"./utils/createRecordLockingError\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier\";\nimport { createCacheKey } from \"~/utils/createCacheKey\";\nimport { RecordLockingUpdateEntryLock } from \"~/domain/RecordLockingUpdateEntryLock\";\nimport { IRecordLockingUpdateEntryLock } from \"~/domain/abstractions/IRecordLockingUpdateEntryLock\";\nimport { RecordLockingGetLockedEntryLockRecord } from \"~/domain/RecordLockingGetLockedEntryLockRecord\";\nimport { IRecordLockingGetLockedEntryLockRecord } from \"./abstractions/IRecordLockingGetLockedEntryLockRecord\";\n\nexport interface ICreateRecordLockingParams {\n client: ApolloClient<any>;\n setLoading: (loading: boolean) => void;\n}\n\nexport interface IRecordLockingParams {\n client: IRecordLockingClient;\n setLoading: (loading: boolean) => void;\n getLockRecord: IRecordLockingGetLockRecord;\n getLockedEntryLockRecord: IRecordLockingGetLockedEntryLockRecord;\n isEntryLocked: IRecordLockingIsEntryLocked;\n listLockRecords: IRecordLockingListLockRecords;\n lockEntry: IRecordLockingLockEntry;\n unlockEntry: IRecordLockingUnlockEntry;\n unlockEntryRequest: IRecordLockingUnlockEntryRequest;\n updateEntryLock: IRecordLockingUpdateEntryLock;\n}\n\nexport interface IOnErrorCb {\n (error: IRecordLockingError): void;\n}\n\nclass RecordLocking<T extends IPossiblyRecordLockingRecord = IPossiblyRecordLockingRecord>\n implements IRecordLocking<T>\n{\n private currentRecordType?: string;\n private currentFolderId?: string;\n private currentRecordsCacheKey?: string;\n private readonly _setLoading: (loading: boolean) => void;\n public loading = false;\n public records: IRecordLockingRecord[] = [];\n\n private readonly client: IRecordLockingClient;\n private readonly _getLockRecord: IRecordLockingGetLockRecord;\n private readonly _isEntryLocked: IRecordLockingIsEntryLocked;\n private readonly _getLockedEntryLockRecord: IRecordLockingGetLockedEntryLockRecord;\n private readonly _listLockRecords: IRecordLockingListLockRecords;\n private readonly _lockEntry: IRecordLockingLockEntry;\n private readonly _unlockEntry: IRecordLockingUnlockEntry;\n private readonly _unlockEntryRequest: IRecordLockingUnlockEntryRequest;\n private readonly _updateEntryLock: IRecordLockingUpdateEntryLock;\n\n private onErrorCb: IOnErrorCb | null = null;\n\n public constructor(params: IRecordLockingParams) {\n this.client = params.client;\n this._setLoading = params.setLoading;\n this._getLockRecord = params.getLockRecord;\n this._getLockedEntryLockRecord = params.getLockedEntryLockRecord;\n this._isEntryLocked = params.isEntryLocked;\n this._listLockRecords = params.listLockRecords;\n this._lockEntry = params.lockEntry;\n this._unlockEntry = params.unlockEntry;\n this._unlockEntryRequest = params.unlockEntryRequest;\n this._updateEntryLock = params.updateEntryLock;\n }\n\n public async setRecords(\n folderId: string,\n type: string,\n records: T[]\n ): Promise<IRecordLockingRecord[] | undefined> {\n const result = await this.fetchAndAssignRecords(folderId, type, records);\n if (!result) {\n return undefined;\n }\n\n return result.map(record => {\n const { id: entryId } = parseIdentifier(record.id);\n return {\n ...record,\n $lockingType: type,\n $locked: record.$locked,\n $selectable: record.$locked ? false : record.$selectable,\n entryId\n };\n });\n }\n\n public async fetchLockRecord(params: IFetchLockRecordParams): Promise<IFetchLockRecordResult> {\n const { id, $lockingType } = params;\n\n const { id: entryId } = parseIdentifier(id);\n\n try {\n const result = await this._getLockRecord.execute({\n id: entryId,\n type: $lockingType\n });\n\n return {\n data: result.data,\n error: result.error\n };\n } catch (ex) {\n return {\n data: null,\n error: ex\n };\n }\n }\n\n public async fetchLockedEntryLockRecord(\n params: IFetchLockedEntryLockRecordParams\n ): Promise<IRecordLockingLockRecord | null> {\n const { id, $lockingType } = params;\n\n const { id: entryId } = parseIdentifier(id);\n const result = await this._getLockedEntryLockRecord.execute({\n id: entryId,\n type: $lockingType\n });\n return result.data;\n }\n\n public getLockRecordEntry(id: string): IRecordLockingRecord | undefined {\n return this.records.find(record => {\n const { id: entryId } = parseIdentifier(id);\n return record.entryId === entryId;\n });\n }\n\n public isRecordLocked(record: IIsRecordLockedParams): boolean {\n const result = this.records.find(r => {\n const { id: entryId } = parseIdentifier(record.id);\n\n return r.entryId === entryId && !!r.$locked && r.$lockingType === record.$lockingType;\n });\n if (!result?.$locked?.expiresOn) {\n return false;\n }\n const isExpired = this.isLockExpired(result.$locked.expiresOn);\n return !isExpired;\n }\n\n public async updateEntryLock(\n params: IUpdateEntryLockParams\n ): Promise<IRecordLockingUpdateEntryLockResult> {\n try {\n return await this._updateEntryLock.execute({\n id: params.id,\n type: params.$lockingType\n });\n } catch (ex) {\n this.triggerOnError(ex);\n return {\n data: null,\n error: ex\n };\n }\n }\n\n public removeEntryLock(params: IUnlockEntryParams): void {\n const index = this.records.findIndex(record => {\n return record.entryId === params.id && record.$lockingType === params.$lockingType;\n });\n if (index === -1) {\n return;\n }\n this.records[index] = {\n ...this.records[index],\n $locked: null,\n $selectable: true\n };\n }\n\n public async unlockEntry(\n params: IUnlockEntryParams,\n force?: boolean\n ): Promise<IRecordLockingUnlockEntryResult> {\n try {\n const result = await this._unlockEntry.execute({\n id: params.id,\n type: params.$lockingType,\n force\n });\n\n const id = result.data?.id;\n if (!id) {\n return result;\n }\n const index = this.records.findIndex(r => r.entryId === id);\n if (index === -1) {\n return result;\n }\n\n this.records[index] = {\n ...this.records[index],\n $locked: undefined,\n $selectable: true\n };\n\n return result;\n } catch (ex) {\n this.triggerOnError(ex);\n return {\n data: null,\n error: ex\n };\n }\n }\n\n public onError(cb: IOnErrorCb): void {\n this.onErrorCb = cb;\n }\n\n public triggerOnError(error: IRecordLockingError): void {\n this.setIsLoading(false);\n if (!this.onErrorCb) {\n return;\n }\n this.onErrorCb(error);\n }\n\n public isLockExpired(input: Date | string): boolean {\n const expiresOn = new Date(input);\n return expiresOn <= new Date();\n }\n\n private setIsLoading(loading: boolean): void {\n this._setLoading(loading);\n this.loading = loading;\n }\n\n private async fetchAndAssignRecords(\n folderId: string,\n type: string,\n records: T[]\n ): Promise<IPossiblyRecordLockingRecord[] | undefined> {\n if (records.length === 0) {\n return;\n } else if (this.loading) {\n return;\n }\n const assignedIdList = await this.assignRecords(folderId, type, records);\n if (assignedIdList.length === 0) {\n return;\n }\n this.setIsLoading(true);\n let result: IRecordLockingListLockRecordsResult;\n try {\n result = await this._listLockRecords.execute({\n where: {\n id_in: assignedIdList,\n type\n },\n limit: 10000\n });\n } catch (ex) {\n console.error(ex);\n this.triggerOnError(ex);\n return;\n } finally {\n this.setIsLoading(false);\n }\n if (result.error) {\n this.triggerOnError(result.error);\n return;\n } else if (!result.data) {\n this.triggerOnError(\n createRecordLockingError({\n message: `There is no data in the result and there is no error. Please check the network tab for more info.`,\n code: \"NO_DATA_IN_RESULT\"\n })\n );\n return;\n } else if (result.data.length === 0) {\n return;\n }\n\n for (const record of result.data) {\n const index = this.records.findIndex(r => {\n const { id: entryId } = parseIdentifier(record.id);\n return r.entryId === entryId;\n });\n if (index < 0) {\n console.error(`There is no record with id ${record.id} in the records array.`);\n continue;\n }\n this.records[index] = {\n ...this.records[index],\n $locked: {\n lockedBy: record.lockedBy,\n expiresOn: record.expiresOn,\n lockedOn: record.lockedOn,\n actions: record.actions\n }\n };\n }\n\n return this.records;\n }\n /**\n * Assign records and return the assigned ID list.\n */\n private async assignRecords(folderId: string, type: string, records: T[]): Promise<string[]> {\n /**\n * First we check the record keys against ones in the local cache.\n */\n const keys = records.map(record => {\n if (record.entryId) {\n return record.entryId;\n }\n const { id: entryId } = parseIdentifier(record.id);\n return entryId;\n });\n const cacheKey = await createCacheKey(keys);\n if (this.currentRecordsCacheKey === cacheKey) {\n return [];\n }\n this.currentRecordsCacheKey = cacheKey;\n\n /**\n * Reset records if new type is not as same as the old type / folderId.\n */\n if (this.currentRecordType !== type || this.currentFolderId !== folderId) {\n this.records = [];\n this.currentRecordType = type;\n this.currentFolderId = folderId;\n }\n\n return records.reduce<string[]>((collection, record) => {\n const { id: entryId } = parseIdentifier(record.id);\n const index = this.records.findIndex(r => r.entryId === entryId);\n if (index >= 0) {\n return collection;\n }\n this.records.push({\n ...record,\n entryId,\n $lockingType: type,\n $locked: undefined\n });\n if (record.$type !== \"RECORD\") {\n return collection;\n }\n collection.push(entryId);\n return collection;\n }, []);\n }\n}\n\nexport const createRecordLocking = <T extends IRecordLockingRecord>(\n config: ICreateRecordLockingParams\n): IRecordLocking => {\n const client = new RecordLockingClient({\n client: config.client\n });\n\n const getLockRecord = new RecordLockingGetLockRecord({\n client\n });\n\n const getLockedEntryLockRecord = new RecordLockingGetLockedEntryLockRecord({\n client\n });\n\n const isEntryLocked = new RecordLockingIsEntryLocked({\n client\n });\n\n const listLockRecords = new RecordLockingListLockRecords({\n client\n });\n\n const lockEntry = new RecordLockingLockEntry({\n client\n });\n\n const unlockEntry = new RecordLockingUnlockEntry({\n client\n });\n const unlockEntryRequest = new RecordLockingUnlockEntryRequest({\n client\n });\n\n const updateEntryLock = new RecordLockingUpdateEntryLock({\n client\n });\n\n return new RecordLocking<T>({\n client,\n setLoading: config.setLoading,\n getLockRecord,\n getLockedEntryLockRecord,\n isEntryLocked,\n listLockRecords,\n updateEntryLock,\n lockEntry,\n unlockEntry,\n unlockEntryRequest\n });\n};\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_RecordLockingGetLockRecord","require","_RecordLockingIsEntryLocked","_RecordLockingListLockRecords","_RecordLockingLockEntry","_RecordLockingUnlockEntry","_RecordLockingUnlockEntryRequest","_RecordLockingClient","_createRecordLockingError","_parseIdentifier9","_createCacheKey","_RecordLockingUpdateEntryLock","_RecordLockingGetLockedEntryLockRecord","RecordLocking","params","_classCallCheck2","default","_defineProperty2","client","_setLoading","setLoading","_getLockRecord","getLockRecord","_getLockedEntryLockRecord","getLockedEntryLockRecord","_isEntryLocked","isEntryLocked","_listLockRecords","listLockRecords","_lockEntry","lockEntry","_unlockEntry","unlockEntry","_unlockEntryRequest","unlockEntryRequest","_updateEntryLock","updateEntryLock","_createClass2","key","value","setRecords","folderId","type","records","result","fetchAndAssignRecords","undefined","map","record","_parseIdentifier","parseIdentifier","id","entryId","_objectSpread2","$lockingType","$locked","$selectable","fetchLockRecord","_parseIdentifier2","execute","data","error","ex","fetchLockedEntryLockRecord","_parseIdentifier3","getLockRecordEntry","find","_parseIdentifier4","isRecordLocked","r","_parseIdentifier5","expiresOn","isExpired","isLockExpired","triggerOnError","removeEntryLock","index","findIndex","force","onError","cb","onErrorCb","setIsLoading","input","Date","loading","_this","length","assignedIdList","assignRecords","where","id_in","limit","console","createRecordLockingError","message","code","_iterator","_createForOfIteratorHelper2","_step","_loop","_parseIdentifier6","concat","lockedBy","lockedOn","actions","s","n","done","err","e","f","_this2","keys","_parseIdentifier7","cacheKey","createCacheKey","currentRecordsCacheKey","currentRecordType","currentFolderId","reduce","collection","_parseIdentifier8","push","$type","createRecordLocking","exports","config","RecordLockingClient","RecordLockingGetLockRecord","RecordLockingGetLockedEntryLockRecord","RecordLockingIsEntryLocked","RecordLockingListLockRecords","RecordLockingLockEntry","RecordLockingUnlockEntry","RecordLockingUnlockEntryRequest","RecordLockingUpdateEntryLock"],"sources":["RecordLocking.ts"],"sourcesContent":["import { IRecordLocking, IRecordLockingUpdateEntryLockResult } from \"./abstractions/IRecordLocking\";\nimport { ApolloClient } from \"apollo-client\";\nimport { RecordLockingGetLockRecord } from \"./RecordLockingGetLockRecord\";\nimport { RecordLockingIsEntryLocked } from \"./RecordLockingIsEntryLocked\";\nimport { RecordLockingListLockRecords } from \"./RecordLockingListLockRecords\";\nimport { RecordLockingLockEntry } from \"./RecordLockingLockEntry\";\nimport { RecordLockingUnlockEntry } from \"./RecordLockingUnlockEntry\";\nimport { RecordLockingUnlockEntryRequest } from \"./RecordLockingUnlockEntryRequest\";\nimport { RecordLockingClient } from \"./RecordLockingClient\";\nimport { IRecordLockingGetLockRecord } from \"./abstractions/IRecordLockingGetLockRecord\";\nimport { IRecordLockingIsEntryLocked } from \"./abstractions/IRecordLockingIsEntryLocked\";\nimport {\n IRecordLockingListLockRecords,\n IRecordLockingListLockRecordsResult\n} from \"./abstractions/IRecordLockingListLockRecords\";\nimport { IRecordLockingLockEntry } from \"./abstractions/IRecordLockingLockEntry\";\nimport {\n IRecordLockingUnlockEntry,\n IRecordLockingUnlockEntryResult\n} from \"./abstractions/IRecordLockingUnlockEntry\";\nimport { IRecordLockingUnlockEntryRequest } from \"./abstractions/IRecordLockingUnlockEntryRequest\";\nimport {\n IFetchLockedEntryLockRecordParams,\n IFetchLockRecordParams,\n IFetchLockRecordResult,\n IIsRecordLockedParams,\n IRecordLockingError,\n IRecordLockingLockRecord,\n IRecordLockingRecord,\n IPossiblyRecordLockingRecord,\n IUnlockEntryParams,\n IUpdateEntryLockParams\n} from \"~/types\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\nimport { createRecordLockingError } from \"./utils/createRecordLockingError\";\nimport { parseIdentifier } from \"@webiny/utils/parseIdentifier\";\nimport { createCacheKey } from \"~/utils/createCacheKey\";\nimport { RecordLockingUpdateEntryLock } from \"~/domain/RecordLockingUpdateEntryLock\";\nimport { IRecordLockingUpdateEntryLock } from \"~/domain/abstractions/IRecordLockingUpdateEntryLock\";\nimport { RecordLockingGetLockedEntryLockRecord } from \"~/domain/RecordLockingGetLockedEntryLockRecord\";\nimport { IRecordLockingGetLockedEntryLockRecord } from \"./abstractions/IRecordLockingGetLockedEntryLockRecord\";\n\nexport interface ICreateRecordLockingParams {\n client: ApolloClient<any>;\n setLoading: (loading: boolean) => void;\n}\n\nexport interface IRecordLockingParams {\n client: IRecordLockingClient;\n setLoading: (loading: boolean) => void;\n getLockRecord: IRecordLockingGetLockRecord;\n getLockedEntryLockRecord: IRecordLockingGetLockedEntryLockRecord;\n isEntryLocked: IRecordLockingIsEntryLocked;\n listLockRecords: IRecordLockingListLockRecords;\n lockEntry: IRecordLockingLockEntry;\n unlockEntry: IRecordLockingUnlockEntry;\n unlockEntryRequest: IRecordLockingUnlockEntryRequest;\n updateEntryLock: IRecordLockingUpdateEntryLock;\n}\n\nexport interface IOnErrorCb {\n (error: IRecordLockingError): void;\n}\n\nclass RecordLocking<T extends IPossiblyRecordLockingRecord = IPossiblyRecordLockingRecord>\n implements IRecordLocking<T>\n{\n private currentRecordType?: string;\n private currentFolderId?: string;\n private currentRecordsCacheKey?: string;\n private readonly _setLoading: (loading: boolean) => void;\n public loading = false;\n public records: IRecordLockingRecord[] = [];\n\n private readonly client: IRecordLockingClient;\n private readonly _getLockRecord: IRecordLockingGetLockRecord;\n private readonly _isEntryLocked: IRecordLockingIsEntryLocked;\n private readonly _getLockedEntryLockRecord: IRecordLockingGetLockedEntryLockRecord;\n private readonly _listLockRecords: IRecordLockingListLockRecords;\n private readonly _lockEntry: IRecordLockingLockEntry;\n private readonly _unlockEntry: IRecordLockingUnlockEntry;\n private readonly _unlockEntryRequest: IRecordLockingUnlockEntryRequest;\n private readonly _updateEntryLock: IRecordLockingUpdateEntryLock;\n\n private onErrorCb: IOnErrorCb | null = null;\n\n public constructor(params: IRecordLockingParams) {\n this.client = params.client;\n this._setLoading = params.setLoading;\n this._getLockRecord = params.getLockRecord;\n this._getLockedEntryLockRecord = params.getLockedEntryLockRecord;\n this._isEntryLocked = params.isEntryLocked;\n this._listLockRecords = params.listLockRecords;\n this._lockEntry = params.lockEntry;\n this._unlockEntry = params.unlockEntry;\n this._unlockEntryRequest = params.unlockEntryRequest;\n this._updateEntryLock = params.updateEntryLock;\n }\n\n public async setRecords(\n folderId: string,\n type: string,\n records: T[]\n ): Promise<IRecordLockingRecord[] | undefined> {\n const result = await this.fetchAndAssignRecords(folderId, type, records);\n if (!result) {\n return undefined;\n }\n\n return result.map(record => {\n const { id: entryId } = parseIdentifier(record.id);\n return {\n ...record,\n $lockingType: type,\n $locked: record.$locked,\n $selectable: record.$locked ? false : record.$selectable,\n entryId\n };\n });\n }\n\n public async fetchLockRecord(params: IFetchLockRecordParams): Promise<IFetchLockRecordResult> {\n const { id, $lockingType } = params;\n\n const { id: entryId } = parseIdentifier(id);\n\n try {\n const result = await this._getLockRecord.execute({\n id: entryId,\n type: $lockingType\n });\n\n return {\n data: result.data,\n error: result.error\n };\n } catch (ex) {\n return {\n data: null,\n error: ex\n };\n }\n }\n\n public async fetchLockedEntryLockRecord(\n params: IFetchLockedEntryLockRecordParams\n ): Promise<IRecordLockingLockRecord | null> {\n const { id, $lockingType } = params;\n\n const { id: entryId } = parseIdentifier(id);\n const result = await this._getLockedEntryLockRecord.execute({\n id: entryId,\n type: $lockingType\n });\n return result.data;\n }\n\n public getLockRecordEntry(id: string): IRecordLockingRecord | undefined {\n return this.records.find(record => {\n const { id: entryId } = parseIdentifier(id);\n return record.entryId === entryId;\n });\n }\n\n public isRecordLocked(record: IIsRecordLockedParams): boolean {\n const result = this.records.find(r => {\n const { id: entryId } = parseIdentifier(record.id);\n\n return r.entryId === entryId && !!r.$locked && r.$lockingType === record.$lockingType;\n });\n if (!result?.$locked?.expiresOn) {\n return false;\n }\n const isExpired = this.isLockExpired(result.$locked.expiresOn);\n return !isExpired;\n }\n\n public async updateEntryLock(\n params: IUpdateEntryLockParams\n ): Promise<IRecordLockingUpdateEntryLockResult> {\n try {\n return await this._updateEntryLock.execute({\n id: params.id,\n type: params.$lockingType\n });\n } catch (ex) {\n this.triggerOnError(ex);\n return {\n data: null,\n error: ex\n };\n }\n }\n\n public removeEntryLock(params: IUnlockEntryParams): void {\n const index = this.records.findIndex(record => {\n return record.entryId === params.id && record.$lockingType === params.$lockingType;\n });\n if (index === -1) {\n return;\n }\n this.records[index] = {\n ...this.records[index],\n $locked: null,\n $selectable: true\n };\n }\n\n public async unlockEntry(\n params: IUnlockEntryParams,\n force?: boolean\n ): Promise<IRecordLockingUnlockEntryResult> {\n try {\n const result = await this._unlockEntry.execute({\n id: params.id,\n type: params.$lockingType,\n force\n });\n\n const id = result.data?.id;\n if (!id) {\n return result;\n }\n const index = this.records.findIndex(r => r.entryId === id);\n if (index === -1) {\n return result;\n }\n\n this.records[index] = {\n ...this.records[index],\n $locked: undefined,\n $selectable: true\n };\n\n return result;\n } catch (ex) {\n this.triggerOnError(ex);\n return {\n data: null,\n error: ex\n };\n }\n }\n\n public onError(cb: IOnErrorCb): void {\n this.onErrorCb = cb;\n }\n\n public triggerOnError(error: IRecordLockingError): void {\n this.setIsLoading(false);\n if (!this.onErrorCb) {\n return;\n }\n this.onErrorCb(error);\n }\n\n public isLockExpired(input: Date | string): boolean {\n const expiresOn = new Date(input);\n return expiresOn <= new Date();\n }\n\n private setIsLoading(loading: boolean): void {\n this._setLoading(loading);\n this.loading = loading;\n }\n\n private async fetchAndAssignRecords(\n folderId: string,\n type: string,\n records: T[]\n ): Promise<IPossiblyRecordLockingRecord[] | undefined> {\n if (records.length === 0) {\n return;\n } else if (this.loading) {\n return;\n }\n const assignedIdList = await this.assignRecords(folderId, type, records);\n if (assignedIdList.length === 0) {\n return;\n }\n this.setIsLoading(true);\n let result: IRecordLockingListLockRecordsResult;\n try {\n result = await this._listLockRecords.execute({\n where: {\n id_in: assignedIdList,\n type\n },\n limit: 10000\n });\n } catch (ex) {\n console.error(ex);\n this.triggerOnError(ex);\n return;\n } finally {\n this.setIsLoading(false);\n }\n if (result.error) {\n this.triggerOnError(result.error);\n return;\n } else if (!result.data) {\n this.triggerOnError(\n createRecordLockingError({\n message: `There is no data in the result and there is no error. Please check the network tab for more info.`,\n code: \"NO_DATA_IN_RESULT\"\n })\n );\n return;\n } else if (result.data.length === 0) {\n return;\n }\n\n for (const record of result.data) {\n const index = this.records.findIndex(r => {\n const { id: entryId } = parseIdentifier(record.id);\n return r.entryId === entryId;\n });\n if (index < 0) {\n console.error(`There is no record with id ${record.id} in the records array.`);\n continue;\n }\n this.records[index] = {\n ...this.records[index],\n $locked: {\n lockedBy: record.lockedBy,\n expiresOn: record.expiresOn,\n lockedOn: record.lockedOn,\n actions: record.actions\n }\n };\n }\n\n return this.records;\n }\n /**\n * Assign records and return the assigned ID list.\n */\n private async assignRecords(folderId: string, type: string, records: T[]): Promise<string[]> {\n /**\n * First we check the record keys against ones in the local cache.\n */\n const keys = records.map(record => {\n if (record.entryId) {\n return record.entryId;\n }\n const { id: entryId } = parseIdentifier(record.id);\n return entryId;\n });\n const cacheKey = await createCacheKey(keys);\n if (this.currentRecordsCacheKey === cacheKey) {\n return [];\n }\n this.currentRecordsCacheKey = cacheKey;\n\n /**\n * Reset records if new type is not as same as the old type / folderId.\n */\n if (this.currentRecordType !== type || this.currentFolderId !== folderId) {\n this.records = [];\n this.currentRecordType = type;\n this.currentFolderId = folderId;\n }\n\n return records.reduce<string[]>((collection, record) => {\n const { id: entryId } = parseIdentifier(record.id);\n const index = this.records.findIndex(r => r.entryId === entryId);\n if (index >= 0) {\n return collection;\n }\n this.records.push({\n ...record,\n entryId,\n $lockingType: type,\n $locked: undefined\n });\n if (record.$type !== \"RECORD\") {\n return collection;\n }\n collection.push(entryId);\n return collection;\n }, []);\n }\n}\n\nexport const createRecordLocking = <T extends IRecordLockingRecord>(\n config: ICreateRecordLockingParams\n): IRecordLocking => {\n const client = new RecordLockingClient({\n client: config.client\n });\n\n const getLockRecord = new RecordLockingGetLockRecord({\n client\n });\n\n const getLockedEntryLockRecord = new RecordLockingGetLockedEntryLockRecord({\n client\n });\n\n const isEntryLocked = new RecordLockingIsEntryLocked({\n client\n });\n\n const listLockRecords = new RecordLockingListLockRecords({\n client\n });\n\n const lockEntry = new RecordLockingLockEntry({\n client\n });\n\n const unlockEntry = new RecordLockingUnlockEntry({\n client\n });\n const unlockEntryRequest = new RecordLockingUnlockEntryRequest({\n client\n });\n\n const updateEntryLock = new RecordLockingUpdateEntryLock({\n client\n });\n\n return new RecordLocking<T>({\n client,\n setLoading: config.setLoading,\n getLockRecord,\n getLockedEntryLockRecord,\n isEntryLocked,\n listLockRecords,\n updateEntryLock,\n lockEntry,\n unlockEntry,\n unlockEntryRequest\n });\n};\n"],"mappings":";;;;;;;;;;;;AAEA,IAAAA,2BAAA,GAAAC,OAAA;AACA,IAAAC,2BAAA,GAAAD,OAAA;AACA,IAAAE,6BAAA,GAAAF,OAAA;AACA,IAAAG,uBAAA,GAAAH,OAAA;AACA,IAAAI,yBAAA,GAAAJ,OAAA;AACA,IAAAK,gCAAA,GAAAL,OAAA;AACA,IAAAM,oBAAA,GAAAN,OAAA;AA0BA,IAAAO,yBAAA,GAAAP,OAAA;AACA,IAAAQ,iBAAA,GAAAR,OAAA;AACA,IAAAS,eAAA,GAAAT,OAAA;AACA,IAAAU,6BAAA,GAAAV,OAAA;AAEA,IAAAW,sCAAA,GAAAX,OAAA;AAAuG,IAyBjGY,aAAa;EAsBf,SAAAA,cAAmBC,MAA4B,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAH,aAAA;IAAA,IAAAI,gBAAA,CAAAD,OAAA,mBAfhC,KAAK;IAAA,IAAAC,gBAAA,CAAAD,OAAA,mBACmB,EAAE;IAAA,IAAAC,gBAAA,CAAAD,OAAA,qBAYJ,IAAI;IAGvC,IAAI,CAACE,MAAM,GAAGJ,MAAM,CAACI,MAAM;IAC3B,IAAI,CAACC,WAAW,GAAGL,MAAM,CAACM,UAAU;IACpC,IAAI,CAACC,cAAc,GAAGP,MAAM,CAACQ,aAAa;IAC1C,IAAI,CAACC,yBAAyB,GAAGT,MAAM,CAACU,wBAAwB;IAChE,IAAI,CAACC,cAAc,GAAGX,MAAM,CAACY,aAAa;IAC1C,IAAI,CAACC,gBAAgB,GAAGb,MAAM,CAACc,eAAe;IAC9C,IAAI,CAACC,UAAU,GAAGf,MAAM,CAACgB,SAAS;IAClC,IAAI,CAACC,YAAY,GAAGjB,MAAM,CAACkB,WAAW;IACtC,IAAI,CAACC,mBAAmB,GAAGnB,MAAM,CAACoB,kBAAkB;IACpD,IAAI,CAACC,gBAAgB,GAAGrB,MAAM,CAACsB,eAAe;EAClD;EAAC,WAAAC,aAAA,CAAArB,OAAA,EAAAH,aAAA;IAAAyB,GAAA;IAAAC,KAAA,EAED,eAAaC,UAAUA,CACnBC,QAAgB,EAChBC,IAAY,EACZC,OAAY,EAC+B;MAC3C,IAAMC,MAAM,GAAG,MAAM,IAAI,CAACC,qBAAqB,CAACJ,QAAQ,EAAEC,IAAI,EAAEC,OAAO,CAAC;MACxE,IAAI,CAACC,MAAM,EAAE;QACT,OAAOE,SAAS;MACpB;MAEA,OAAOF,MAAM,CAACG,GAAG,CAAC,UAAAC,MAAM,EAAI;QACxB,IAAAC,gBAAA,GAAwB,IAAAC,iCAAe,EAACF,MAAM,CAACG,EAAE,CAAC;UAAtCC,OAAO,GAAAH,gBAAA,CAAXE,EAAE;QACV,WAAAE,cAAA,CAAArC,OAAA,MAAAqC,cAAA,CAAArC,OAAA,MACOgC,MAAM;UACTM,YAAY,EAAEZ,IAAI;UAClBa,OAAO,EAAEP,MAAM,CAACO,OAAO;UACvBC,WAAW,EAAER,MAAM,CAACO,OAAO,GAAG,KAAK,GAAGP,MAAM,CAACQ,WAAW;UACxDJ,OAAO,EAAPA;QAAO;MAEf,CAAC,CAAC;IACN;EAAC;IAAAd,GAAA;IAAAC,KAAA,EAED,eAAakB,eAAeA,CAAC3C,MAA8B,EAAmC;MAC1F,IAAQqC,EAAE,GAAmBrC,MAAM,CAA3BqC,EAAE;QAAEG,YAAY,GAAKxC,MAAM,CAAvBwC,YAAY;MAExB,IAAAI,iBAAA,GAAwB,IAAAR,iCAAe,EAACC,EAAE,CAAC;QAA/BC,OAAO,GAAAM,iBAAA,CAAXP,EAAE;MAEV,IAAI;QACA,IAAMP,MAAM,GAAG,MAAM,IAAI,CAACvB,cAAc,CAACsC,OAAO,CAAC;UAC7CR,EAAE,EAAEC,OAAO;UACXV,IAAI,EAAEY;QACV,CAAC,CAAC;QAEF,OAAO;UACHM,IAAI,EAAEhB,MAAM,CAACgB,IAAI;UACjBC,KAAK,EAAEjB,MAAM,CAACiB;QAClB,CAAC;MACL,CAAC,CAAC,OAAOC,EAAE,EAAE;QACT,OAAO;UACHF,IAAI,EAAE,IAAI;UACVC,KAAK,EAAEC;QACX,CAAC;MACL;IACJ;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,eAAawB,0BAA0BA,CACnCjD,MAAyC,EACD;MACxC,IAAQqC,EAAE,GAAmBrC,MAAM,CAA3BqC,EAAE;QAAEG,YAAY,GAAKxC,MAAM,CAAvBwC,YAAY;MAExB,IAAAU,iBAAA,GAAwB,IAAAd,iCAAe,EAACC,EAAE,CAAC;QAA/BC,OAAO,GAAAY,iBAAA,CAAXb,EAAE;MACV,IAAMP,MAAM,GAAG,MAAM,IAAI,CAACrB,yBAAyB,CAACoC,OAAO,CAAC;QACxDR,EAAE,EAAEC,OAAO;QACXV,IAAI,EAAEY;MACV,CAAC,CAAC;MACF,OAAOV,MAAM,CAACgB,IAAI;IACtB;EAAC;IAAAtB,GAAA;IAAAC,KAAA,EAED,SAAO0B,kBAAkBA,CAACd,EAAU,EAAoC;MACpE,OAAO,IAAI,CAACR,OAAO,CAACuB,IAAI,CAAC,UAAAlB,MAAM,EAAI;QAC/B,IAAAmB,iBAAA,GAAwB,IAAAjB,iCAAe,EAACC,EAAE,CAAC;UAA/BC,OAAO,GAAAe,iBAAA,CAAXhB,EAAE;QACV,OAAOH,MAAM,CAACI,OAAO,KAAKA,OAAO;MACrC,CAAC,CAAC;IACN;EAAC;IAAAd,GAAA;IAAAC,KAAA,EAED,SAAO6B,cAAcA,CAACpB,MAA6B,EAAW;MAC1D,IAAMJ,MAAM,GAAG,IAAI,CAACD,OAAO,CAACuB,IAAI,CAAC,UAAAG,CAAC,EAAI;QAClC,IAAAC,iBAAA,GAAwB,IAAApB,iCAAe,EAACF,MAAM,CAACG,EAAE,CAAC;UAAtCC,OAAO,GAAAkB,iBAAA,CAAXnB,EAAE;QAEV,OAAOkB,CAAC,CAACjB,OAAO,KAAKA,OAAO,IAAI,CAAC,CAACiB,CAAC,CAACd,OAAO,IAAIc,CAAC,CAACf,YAAY,KAAKN,MAAM,CAACM,YAAY;MACzF,CAAC,CAAC;MACF,IAAI,CAACV,MAAM,EAAEW,OAAO,EAAEgB,SAAS,EAAE;QAC7B,OAAO,KAAK;MAChB;MACA,IAAMC,SAAS,GAAG,IAAI,CAACC,aAAa,CAAC7B,MAAM,CAACW,OAAO,CAACgB,SAAS,CAAC;MAC9D,OAAO,CAACC,SAAS;IACrB;EAAC;IAAAlC,GAAA;IAAAC,KAAA,EAED,eAAaH,eAAeA,CACxBtB,MAA8B,EACc;MAC5C,IAAI;QACA,OAAO,MAAM,IAAI,CAACqB,gBAAgB,CAACwB,OAAO,CAAC;UACvCR,EAAE,EAAErC,MAAM,CAACqC,EAAE;UACbT,IAAI,EAAE5B,MAAM,CAACwC;QACjB,CAAC,CAAC;MACN,CAAC,CAAC,OAAOQ,EAAE,EAAE;QACT,IAAI,CAACY,cAAc,CAACZ,EAAE,CAAC;QACvB,OAAO;UACHF,IAAI,EAAE,IAAI;UACVC,KAAK,EAAEC;QACX,CAAC;MACL;IACJ;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAOoC,eAAeA,CAAC7D,MAA0B,EAAQ;MACrD,IAAM8D,KAAK,GAAG,IAAI,CAACjC,OAAO,CAACkC,SAAS,CAAC,UAAA7B,MAAM,EAAI;QAC3C,OAAOA,MAAM,CAACI,OAAO,KAAKtC,MAAM,CAACqC,EAAE,IAAIH,MAAM,CAACM,YAAY,KAAKxC,MAAM,CAACwC,YAAY;MACtF,CAAC,CAAC;MACF,IAAIsB,KAAK,KAAK,CAAC,CAAC,EAAE;QACd;MACJ;MACA,IAAI,CAACjC,OAAO,CAACiC,KAAK,CAAC,OAAAvB,cAAA,CAAArC,OAAA,MAAAqC,cAAA,CAAArC,OAAA,MACZ,IAAI,CAAC2B,OAAO,CAACiC,KAAK,CAAC;QACtBrB,OAAO,EAAE,IAAI;QACbC,WAAW,EAAE;MAAI,EACpB;IACL;EAAC;IAAAlB,GAAA;IAAAC,KAAA,EAED,eAAaP,WAAWA,CACpBlB,MAA0B,EAC1BgE,KAAe,EACyB;MACxC,IAAI;QACA,IAAMlC,MAAM,GAAG,MAAM,IAAI,CAACb,YAAY,CAAC4B,OAAO,CAAC;UAC3CR,EAAE,EAAErC,MAAM,CAACqC,EAAE;UACbT,IAAI,EAAE5B,MAAM,CAACwC,YAAY;UACzBwB,KAAK,EAALA;QACJ,CAAC,CAAC;QAEF,IAAM3B,EAAE,GAAGP,MAAM,CAACgB,IAAI,EAAET,EAAE;QAC1B,IAAI,CAACA,EAAE,EAAE;UACL,OAAOP,MAAM;QACjB;QACA,IAAMgC,KAAK,GAAG,IAAI,CAACjC,OAAO,CAACkC,SAAS,CAAC,UAAAR,CAAC;UAAA,OAAIA,CAAC,CAACjB,OAAO,KAAKD,EAAE;QAAA,EAAC;QAC3D,IAAIyB,KAAK,KAAK,CAAC,CAAC,EAAE;UACd,OAAOhC,MAAM;QACjB;QAEA,IAAI,CAACD,OAAO,CAACiC,KAAK,CAAC,OAAAvB,cAAA,CAAArC,OAAA,MAAAqC,cAAA,CAAArC,OAAA,MACZ,IAAI,CAAC2B,OAAO,CAACiC,KAAK,CAAC;UACtBrB,OAAO,EAAET,SAAS;UAClBU,WAAW,EAAE;QAAI,EACpB;QAED,OAAOZ,MAAM;MACjB,CAAC,CAAC,OAAOkB,EAAE,EAAE;QACT,IAAI,CAACY,cAAc,CAACZ,EAAE,CAAC;QACvB,OAAO;UACHF,IAAI,EAAE,IAAI;UACVC,KAAK,EAAEC;QACX,CAAC;MACL;IACJ;EAAC;IAAAxB,GAAA;IAAAC,KAAA,EAED,SAAOwC,OAAOA,CAACC,EAAc,EAAQ;MACjC,IAAI,CAACC,SAAS,GAAGD,EAAE;IACvB;EAAC;IAAA1C,GAAA;IAAAC,KAAA,EAED,SAAOmC,cAAcA,CAACb,KAA0B,EAAQ;MACpD,IAAI,CAACqB,YAAY,CAAC,KAAK,CAAC;MACxB,IAAI,CAAC,IAAI,CAACD,SAAS,EAAE;QACjB;MACJ;MACA,IAAI,CAACA,SAAS,CAACpB,KAAK,CAAC;IACzB;EAAC;IAAAvB,GAAA;IAAAC,KAAA,EAED,SAAOkC,aAAaA,CAACU,KAAoB,EAAW;MAChD,IAAMZ,SAAS,GAAG,IAAIa,IAAI,CAACD,KAAK,CAAC;MACjC,OAAOZ,SAAS,IAAI,IAAIa,IAAI,CAAC,CAAC;IAClC;EAAC;IAAA9C,GAAA;IAAAC,KAAA,EAED,SAAQ2C,YAAYA,CAACG,OAAgB,EAAQ;MACzC,IAAI,CAAClE,WAAW,CAACkE,OAAO,CAAC;MACzB,IAAI,CAACA,OAAO,GAAGA,OAAO;IAC1B;EAAC;IAAA/C,GAAA;IAAAC,KAAA,EAED,eAAcM,qBAAqBA,CAC/BJ,QAAgB,EAChBC,IAAY,EACZC,OAAY,EACuC;MAAA,IAAA2C,KAAA;MACnD,IAAI3C,OAAO,CAAC4C,MAAM,KAAK,CAAC,EAAE;QACtB;MACJ,CAAC,MAAM,IAAI,IAAI,CAACF,OAAO,EAAE;QACrB;MACJ;MACA,IAAMG,cAAc,GAAG,MAAM,IAAI,CAACC,aAAa,CAAChD,QAAQ,EAAEC,IAAI,EAAEC,OAAO,CAAC;MACxE,IAAI6C,cAAc,CAACD,MAAM,KAAK,CAAC,EAAE;QAC7B;MACJ;MACA,IAAI,CAACL,YAAY,CAAC,IAAI,CAAC;MACvB,IAAItC,MAA2C;MAC/C,IAAI;QACAA,MAAM,GAAG,MAAM,IAAI,CAACjB,gBAAgB,CAACgC,OAAO,CAAC;UACzC+B,KAAK,EAAE;YACHC,KAAK,EAAEH,cAAc;YACrB9C,IAAI,EAAJA;UACJ,CAAC;UACDkD,KAAK,EAAE;QACX,CAAC,CAAC;MACN,CAAC,CAAC,OAAO9B,EAAE,EAAE;QACT+B,OAAO,CAAChC,KAAK,CAACC,EAAE,CAAC;QACjB,IAAI,CAACY,cAAc,CAACZ,EAAE,CAAC;QACvB;MACJ,CAAC,SAAS;QACN,IAAI,CAACoB,YAAY,CAAC,KAAK,CAAC;MAC5B;MACA,IAAItC,MAAM,CAACiB,KAAK,EAAE;QACd,IAAI,CAACa,cAAc,CAAC9B,MAAM,CAACiB,KAAK,CAAC;QACjC;MACJ,CAAC,MAAM,IAAI,CAACjB,MAAM,CAACgB,IAAI,EAAE;QACrB,IAAI,CAACc,cAAc,CACf,IAAAoB,kDAAwB,EAAC;UACrBC,OAAO,qGAAqG;UAC5GC,IAAI,EAAE;QACV,CAAC,CACL,CAAC;QACD;MACJ,CAAC,MAAM,IAAIpD,MAAM,CAACgB,IAAI,CAAC2B,MAAM,KAAK,CAAC,EAAE;QACjC;MACJ;MAAC,IAAAU,SAAA,OAAAC,2BAAA,CAAAlF,OAAA,EAEoB4B,MAAM,CAACgB,IAAI;QAAAuC,KAAA;MAAA;QAAA,IAAAC,KAAA,kBAAAA,MAAA,EAAE;UAAA,IAAvBpD,MAAM,GAAAmD,KAAA,CAAA5D,KAAA;UACb,IAAMqC,KAAK,GAAGU,KAAI,CAAC3C,OAAO,CAACkC,SAAS,CAAC,UAAAR,CAAC,EAAI;YACtC,IAAAgC,iBAAA,GAAwB,IAAAnD,iCAAe,EAACF,MAAM,CAACG,EAAE,CAAC;cAAtCC,OAAO,GAAAiD,iBAAA,CAAXlD,EAAE;YACV,OAAOkB,CAAC,CAACjB,OAAO,KAAKA,OAAO;UAChC,CAAC,CAAC;UACF,IAAIwB,KAAK,GAAG,CAAC,EAAE;YACXiB,OAAO,CAAChC,KAAK,+BAAAyC,MAAA,CAA+BtD,MAAM,CAACG,EAAE,2BAAwB,CAAC;YAAC;UAEnF;UACAmC,KAAI,CAAC3C,OAAO,CAACiC,KAAK,CAAC,OAAAvB,cAAA,CAAArC,OAAA,MAAAqC,cAAA,CAAArC,OAAA,MACZsE,KAAI,CAAC3C,OAAO,CAACiC,KAAK,CAAC;YACtBrB,OAAO,EAAE;cACLgD,QAAQ,EAAEvD,MAAM,CAACuD,QAAQ;cACzBhC,SAAS,EAAEvB,MAAM,CAACuB,SAAS;cAC3BiC,QAAQ,EAAExD,MAAM,CAACwD,QAAQ;cACzBC,OAAO,EAAEzD,MAAM,CAACyD;YACpB;UAAC,EACJ;QACL,CAAC;QAlBD,KAAAR,SAAA,CAAAS,CAAA,MAAAP,KAAA,GAAAF,SAAA,CAAAU,CAAA,IAAAC,IAAA;UAAA,UAAAR,KAAA,IAOQ;QAAS;MAWhB,SAAAS,GAAA;QAAAZ,SAAA,CAAAa,CAAA,CAAAD,GAAA;MAAA;QAAAZ,SAAA,CAAAc,CAAA;MAAA;MAED,OAAO,IAAI,CAACpE,OAAO;IACvB;IACA;AACJ;AACA;EAFI;IAAAL,GAAA;IAAAC,KAAA,EAGA,eAAckD,aAAaA,CAAChD,QAAgB,EAAEC,IAAY,EAAEC,OAAY,EAAqB;MAAA,IAAAqE,MAAA;MACzF;AACR;AACA;MACQ,IAAMC,IAAI,GAAGtE,OAAO,CAACI,GAAG,CAAC,UAAAC,MAAM,EAAI;QAC/B,IAAIA,MAAM,CAACI,OAAO,EAAE;UAChB,OAAOJ,MAAM,CAACI,OAAO;QACzB;QACA,IAAA8D,iBAAA,GAAwB,IAAAhE,iCAAe,EAACF,MAAM,CAACG,EAAE,CAAC;UAAtCC,OAAO,GAAA8D,iBAAA,CAAX/D,EAAE;QACV,OAAOC,OAAO;MAClB,CAAC,CAAC;MACF,IAAM+D,QAAQ,GAAG,MAAM,IAAAC,8BAAc,EAACH,IAAI,CAAC;MAC3C,IAAI,IAAI,CAACI,sBAAsB,KAAKF,QAAQ,EAAE;QAC1C,OAAO,EAAE;MACb;MACA,IAAI,CAACE,sBAAsB,GAAGF,QAAQ;;MAEtC;AACR;AACA;MACQ,IAAI,IAAI,CAACG,iBAAiB,KAAK5E,IAAI,IAAI,IAAI,CAAC6E,eAAe,KAAK9E,QAAQ,EAAE;QACtE,IAAI,CAACE,OAAO,GAAG,EAAE;QACjB,IAAI,CAAC2E,iBAAiB,GAAG5E,IAAI;QAC7B,IAAI,CAAC6E,eAAe,GAAG9E,QAAQ;MACnC;MAEA,OAAOE,OAAO,CAAC6E,MAAM,CAAW,UAACC,UAAU,EAAEzE,MAAM,EAAK;QACpD,IAAA0E,iBAAA,GAAwB,IAAAxE,iCAAe,EAACF,MAAM,CAACG,EAAE,CAAC;UAAtCC,OAAO,GAAAsE,iBAAA,CAAXvE,EAAE;QACV,IAAMyB,KAAK,GAAGoC,MAAI,CAACrE,OAAO,CAACkC,SAAS,CAAC,UAAAR,CAAC;UAAA,OAAIA,CAAC,CAACjB,OAAO,KAAKA,OAAO;QAAA,EAAC;QAChE,IAAIwB,KAAK,IAAI,CAAC,EAAE;UACZ,OAAO6C,UAAU;QACrB;QACAT,MAAI,CAACrE,OAAO,CAACgF,IAAI,KAAAtE,cAAA,CAAArC,OAAA,MAAAqC,cAAA,CAAArC,OAAA,MACVgC,MAAM;UACTI,OAAO,EAAPA,OAAO;UACPE,YAAY,EAAEZ,IAAI;UAClBa,OAAO,EAAET;QAAS,EACrB,CAAC;QACF,IAAIE,MAAM,CAAC4E,KAAK,KAAK,QAAQ,EAAE;UAC3B,OAAOH,UAAU;QACrB;QACAA,UAAU,CAACE,IAAI,CAACvE,OAAO,CAAC;QACxB,OAAOqE,UAAU;MACrB,CAAC,EAAE,EAAE,CAAC;IACV;EAAC;AAAA;AAGE,IAAMI,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA,GAAG,SAAtBA,mBAAmBA,CAC5BE,MAAkC,EACjB;EACjB,IAAM7G,MAAM,GAAG,IAAI8G,wCAAmB,CAAC;IACnC9G,MAAM,EAAE6G,MAAM,CAAC7G;EACnB,CAAC,CAAC;EAEF,IAAMI,aAAa,GAAG,IAAI2G,sDAA0B,CAAC;IACjD/G,MAAM,EAANA;EACJ,CAAC,CAAC;EAEF,IAAMM,wBAAwB,GAAG,IAAI0G,4EAAqC,CAAC;IACvEhH,MAAM,EAANA;EACJ,CAAC,CAAC;EAEF,IAAMQ,aAAa,GAAG,IAAIyG,sDAA0B,CAAC;IACjDjH,MAAM,EAANA;EACJ,CAAC,CAAC;EAEF,IAAMU,eAAe,GAAG,IAAIwG,0DAA4B,CAAC;IACrDlH,MAAM,EAANA;EACJ,CAAC,CAAC;EAEF,IAAMY,SAAS,GAAG,IAAIuG,8CAAsB,CAAC;IACzCnH,MAAM,EAANA;EACJ,CAAC,CAAC;EAEF,IAAMc,WAAW,GAAG,IAAIsG,kDAAwB,CAAC;IAC7CpH,MAAM,EAANA;EACJ,CAAC,CAAC;EACF,IAAMgB,kBAAkB,GAAG,IAAIqG,gEAA+B,CAAC;IAC3DrH,MAAM,EAANA;EACJ,CAAC,CAAC;EAEF,IAAMkB,eAAe,GAAG,IAAIoG,0DAA4B,CAAC;IACrDtH,MAAM,EAANA;EACJ,CAAC,CAAC;EAEF,OAAO,IAAIL,aAAa,CAAI;IACxBK,MAAM,EAANA,MAAM;IACNE,UAAU,EAAE2G,MAAM,CAAC3G,UAAU;IAC7BE,aAAa,EAAbA,aAAa;IACbE,wBAAwB,EAAxBA,wBAAwB;IACxBE,aAAa,EAAbA,aAAa;IACbE,eAAe,EAAfA,eAAe;IACfQ,eAAe,EAAfA,eAAe;IACfN,SAAS,EAATA,SAAS;IACTE,WAAW,EAAXA,WAAW;IACXE,kBAAkB,EAAlBA;EACJ,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["RecordLockingClient","exports","params","_classCallCheck2","default","client","_createClass2","key","value","query","_objectSpread2","fetchPolicy","mutation","options","mutate"],"sources":["RecordLockingClient.ts"],"sourcesContent":["import { ApolloClient, ApolloQueryResult, MutationOptions, QueryOptions } from \"apollo-client\";\nimport { FetchResult } from \"apollo-link\";\nimport { IRecordLockingClient } from \"~/domain/abstractions/IRecordLockingClient\";\n\nexport interface IRecordLockingClientParams {\n client: ApolloClient<any>;\n}\n\nexport class RecordLockingClient implements IRecordLockingClient {\n private readonly client: ApolloClient<any>;\n\n public constructor(params: IRecordLockingClientParams) {\n this.client = params.client;\n }\n\n public async query<T, R>(params: QueryOptions<R>): Promise<ApolloQueryResult<T>> {\n return this.client.query<T, R>({\n ...params,\n fetchPolicy: \"network-only\"\n });\n }\n\n public async mutation<T, R>(options: MutationOptions<T, R>): Promise<FetchResult<T>> {\n return this.client.mutate<T, R>({\n ...options,\n fetchPolicy: \"no-cache\"\n });\n }\n}\n"],"mappings":";;;;;;;;;;IAQaA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA;EAG5B,SAAAA,oBAAmBE,MAAkC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,mBAAA;IACnD,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,mBAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,
|
|
1
|
+
{"version":3,"names":["RecordLockingClient","exports","params","_classCallCheck2","default","client","_createClass2","key","value","query","_objectSpread2","fetchPolicy","mutation","options","mutate"],"sources":["RecordLockingClient.ts"],"sourcesContent":["import { ApolloClient, ApolloQueryResult, MutationOptions, QueryOptions } from \"apollo-client\";\nimport { FetchResult } from \"apollo-link\";\nimport { IRecordLockingClient } from \"~/domain/abstractions/IRecordLockingClient\";\n\nexport interface IRecordLockingClientParams {\n client: ApolloClient<any>;\n}\n\nexport class RecordLockingClient implements IRecordLockingClient {\n private readonly client: ApolloClient<any>;\n\n public constructor(params: IRecordLockingClientParams) {\n this.client = params.client;\n }\n\n public async query<T, R>(params: QueryOptions<R>): Promise<ApolloQueryResult<T>> {\n return this.client.query<T, R>({\n ...params,\n fetchPolicy: \"network-only\"\n });\n }\n\n public async mutation<T, R>(options: MutationOptions<T, R>): Promise<FetchResult<T>> {\n return this.client.mutate<T, R>({\n ...options,\n fetchPolicy: \"no-cache\"\n });\n }\n}\n"],"mappings":";;;;;;;;;;IAQaA,mBAAmB,GAAAC,OAAA,CAAAD,mBAAA;EAG5B,SAAAA,oBAAmBE,MAAkC,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,mBAAA;IACnD,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,mBAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,eAAaC,KAAKA,CAAOP,MAAuB,EAAiC;MAC7E,OAAO,IAAI,CAACG,MAAM,CAACI,KAAK,KAAAC,cAAA,CAAAN,OAAA,MAAAM,cAAA,CAAAN,OAAA,MACjBF,MAAM;QACTS,WAAW,EAAE;MAAc,EAC9B,CAAC;IACN;EAAC;IAAAJ,GAAA;IAAAC,KAAA,EAED,eAAaI,QAAQA,CAAOC,OAA8B,EAA2B;MACjF,OAAO,IAAI,CAACR,MAAM,CAACS,MAAM,KAAAJ,cAAA,CAAAN,OAAA,MAAAM,cAAA,CAAAN,OAAA,MAClBS,OAAO;QACVF,WAAW,EAAE;MAAU,EAC1B,CAAC;IACN;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getLockRecord","require","_error","RecordLockingGetLockRecord","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","query","GET_LOCK_RECORD_QUERY","variables","data","recordLocking","getLockRecord","error","WebinyError"],"sources":["RecordLockingGetLockRecord.ts"],"sourcesContent":["import {\n IRecordLockingGetLockRecord,\n IRecordLockingGetLockRecordExecuteParams,\n IRecordLockingGetLockRecordExecuteResult\n} from \"~/domain/abstractions/IRecordLockingGetLockRecord\";\nimport { IRecordLockingClient } from \"~/domain/abstractions/IRecordLockingClient\";\nimport {\n GET_LOCK_RECORD_QUERY,\n IRecordLockingGetLockRecordResponse,\n IRecordLockingGetLockRecordVariables\n} from \"~/domain/graphql/getLockRecord\";\nimport { WebinyError } from \"@webiny/error\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingGetLockRecord implements IRecordLockingGetLockRecord {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n params: IRecordLockingGetLockRecordExecuteParams\n ): Promise<IRecordLockingGetLockRecordExecuteResult> {\n const result = await this.client.query<\n IRecordLockingGetLockRecordResponse,\n IRecordLockingGetLockRecordVariables\n >({\n query: GET_LOCK_RECORD_QUERY,\n variables: params\n });\n if (result.data.recordLocking.getLockRecord.error) {\n throw new WebinyError(result.data.recordLocking.getLockRecord.error);\n } else if (!result.data.recordLocking.getLockRecord.data) {\n throw new WebinyError(\"No data returned from server.\");\n }\n return result.data.recordLocking.getLockRecord;\n }\n}\n"],"mappings":";;;;;;;;;AAMA,IAAAA,cAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AAA4C,IAM/BE,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA;EAGnC,SAAAA,2BAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,0BAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,0BAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,
|
|
1
|
+
{"version":3,"names":["_getLockRecord","require","_error","RecordLockingGetLockRecord","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","query","GET_LOCK_RECORD_QUERY","variables","data","recordLocking","getLockRecord","error","WebinyError"],"sources":["RecordLockingGetLockRecord.ts"],"sourcesContent":["import {\n IRecordLockingGetLockRecord,\n IRecordLockingGetLockRecordExecuteParams,\n IRecordLockingGetLockRecordExecuteResult\n} from \"~/domain/abstractions/IRecordLockingGetLockRecord\";\nimport { IRecordLockingClient } from \"~/domain/abstractions/IRecordLockingClient\";\nimport {\n GET_LOCK_RECORD_QUERY,\n IRecordLockingGetLockRecordResponse,\n IRecordLockingGetLockRecordVariables\n} from \"~/domain/graphql/getLockRecord\";\nimport { WebinyError } from \"@webiny/error\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingGetLockRecord implements IRecordLockingGetLockRecord {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n params: IRecordLockingGetLockRecordExecuteParams\n ): Promise<IRecordLockingGetLockRecordExecuteResult> {\n const result = await this.client.query<\n IRecordLockingGetLockRecordResponse,\n IRecordLockingGetLockRecordVariables\n >({\n query: GET_LOCK_RECORD_QUERY,\n variables: params\n });\n if (result.data.recordLocking.getLockRecord.error) {\n throw new WebinyError(result.data.recordLocking.getLockRecord.error);\n } else if (!result.data.recordLocking.getLockRecord.data) {\n throw new WebinyError(\"No data returned from server.\");\n }\n return result.data.recordLocking.getLockRecord;\n }\n}\n"],"mappings":";;;;;;;;;AAMA,IAAAA,cAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AAA4C,IAM/BE,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA;EAGnC,SAAAA,2BAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,0BAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,0BAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,eAAaC,OAAOA,CAChBP,MAAgD,EACC;MACjD,IAAMQ,MAAM,GAAG,MAAM,IAAI,CAACL,MAAM,CAACM,KAAK,CAGpC;QACEA,KAAK,EAAEC,oCAAqB;QAC5BC,SAAS,EAAEX;MACf,CAAC,CAAC;MACF,IAAIQ,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,aAAa,CAACC,KAAK,EAAE;QAC/C,MAAM,IAAIC,kBAAW,CAACR,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,aAAa,CAACC,KAAK,CAAC;MACxE,CAAC,MAAM,IAAI,CAACP,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,aAAa,CAACF,IAAI,EAAE;QACtD,MAAM,IAAII,kBAAW,CAAC,+BAA+B,CAAC;MAC1D;MACA,OAAOR,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,aAAa;IAClD;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_getLockedEntryLockRecord","require","_error","RecordLockingGetLockedEntryLockRecord","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","query","GET_LOCKED_ENTRY_LOCK_RECORD_QUERY","variables","data","recordLocking","getLockedEntryLockRecord","error","WebinyError"],"sources":["RecordLockingGetLockedEntryLockRecord.ts"],"sourcesContent":["import { IRecordLockingClient } from \"~/domain/abstractions/IRecordLockingClient\";\nimport {\n GET_LOCKED_ENTRY_LOCK_RECORD_QUERY,\n IRecordLockingGetLockedEntryLockRecordResponse,\n IRecordLockingGetLockedEntryLockRecordVariables\n} from \"~/domain/graphql/getLockedEntryLockRecord\";\nimport { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingGetLockedEntryLockRecord,\n IRecordLockingGetLockedEntryLockRecordExecuteParams,\n IRecordLockingGetLockedEntryLockRecordExecuteResult\n} from \"~/domain/abstractions/IRecordLockingGetLockedEntryLockRecord\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingGetLockedEntryLockRecord\n implements IRecordLockingGetLockedEntryLockRecord\n{\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n params: IRecordLockingGetLockedEntryLockRecordExecuteParams\n ): Promise<IRecordLockingGetLockedEntryLockRecordExecuteResult> {\n const result = await this.client.query<\n IRecordLockingGetLockedEntryLockRecordResponse,\n IRecordLockingGetLockedEntryLockRecordVariables\n >({\n query: GET_LOCKED_ENTRY_LOCK_RECORD_QUERY,\n variables: params\n });\n if (result.data.recordLocking.getLockedEntryLockRecord.error) {\n throw new WebinyError(result.data.recordLocking.getLockedEntryLockRecord.error);\n }\n return result.data.recordLocking.getLockedEntryLockRecord;\n }\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,yBAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AAA4C,IAW/BE,qCAAqC,GAAAC,OAAA,CAAAD,qCAAA;EAK9C,SAAAA,sCAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,qCAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,qCAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,
|
|
1
|
+
{"version":3,"names":["_getLockedEntryLockRecord","require","_error","RecordLockingGetLockedEntryLockRecord","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","query","GET_LOCKED_ENTRY_LOCK_RECORD_QUERY","variables","data","recordLocking","getLockedEntryLockRecord","error","WebinyError"],"sources":["RecordLockingGetLockedEntryLockRecord.ts"],"sourcesContent":["import { IRecordLockingClient } from \"~/domain/abstractions/IRecordLockingClient\";\nimport {\n GET_LOCKED_ENTRY_LOCK_RECORD_QUERY,\n IRecordLockingGetLockedEntryLockRecordResponse,\n IRecordLockingGetLockedEntryLockRecordVariables\n} from \"~/domain/graphql/getLockedEntryLockRecord\";\nimport { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingGetLockedEntryLockRecord,\n IRecordLockingGetLockedEntryLockRecordExecuteParams,\n IRecordLockingGetLockedEntryLockRecordExecuteResult\n} from \"~/domain/abstractions/IRecordLockingGetLockedEntryLockRecord\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingGetLockedEntryLockRecord\n implements IRecordLockingGetLockedEntryLockRecord\n{\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n params: IRecordLockingGetLockedEntryLockRecordExecuteParams\n ): Promise<IRecordLockingGetLockedEntryLockRecordExecuteResult> {\n const result = await this.client.query<\n IRecordLockingGetLockedEntryLockRecordResponse,\n IRecordLockingGetLockedEntryLockRecordVariables\n >({\n query: GET_LOCKED_ENTRY_LOCK_RECORD_QUERY,\n variables: params\n });\n if (result.data.recordLocking.getLockedEntryLockRecord.error) {\n throw new WebinyError(result.data.recordLocking.getLockedEntryLockRecord.error);\n }\n return result.data.recordLocking.getLockedEntryLockRecord;\n }\n}\n"],"mappings":";;;;;;;;;AACA,IAAAA,yBAAA,GAAAC,OAAA;AAKA,IAAAC,MAAA,GAAAD,OAAA;AAA4C,IAW/BE,qCAAqC,GAAAC,OAAA,CAAAD,qCAAA;EAK9C,SAAAA,sCAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,qCAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,qCAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,eAAaC,OAAOA,CAChBP,MAA2D,EACC;MAC5D,IAAMQ,MAAM,GAAG,MAAM,IAAI,CAACL,MAAM,CAACM,KAAK,CAGpC;QACEA,KAAK,EAAEC,4DAAkC;QACzCC,SAAS,EAAEX;MACf,CAAC,CAAC;MACF,IAAIQ,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,wBAAwB,CAACC,KAAK,EAAE;QAC1D,MAAM,IAAIC,kBAAW,CAACR,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,wBAAwB,CAACC,KAAK,CAAC;MACnF;MACA,OAAOP,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,wBAAwB;IAC7D;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_isEntryLocked","require","RecordLockingIsEntryLocked","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","query","IS_ENTRY_LOCKED_QUERY","variables","data","recordLocking","isEntryLocked","_unused"],"sources":["RecordLockingIsEntryLocked.ts"],"sourcesContent":["import {\n IRecordLockingIsEntryLocked,\n IRecordLockingIsEntryLockedParams,\n IRecordLockingIsEntryLockedResult\n} from \"~/domain/abstractions/IRecordLockingIsEntryLocked\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\nimport {\n IRecordLockingIsEntryLockedResponse,\n IRecordLockingIsEntryLockedVariables,\n IS_ENTRY_LOCKED_QUERY\n} from \"~/domain/graphql/isEntryLocked\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingIsEntryLocked implements IRecordLockingIsEntryLocked {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n params: IRecordLockingIsEntryLockedParams\n ): Promise<IRecordLockingIsEntryLockedResult> {\n try {\n const result = await this.client.query<\n IRecordLockingIsEntryLockedResponse,\n IRecordLockingIsEntryLockedVariables\n >({\n query: IS_ENTRY_LOCKED_QUERY,\n variables: params\n });\n return !!result.data.recordLocking.isEntryLocked.data;\n } catch {\n return false;\n }\n }\n}\n"],"mappings":";;;;;;;;;AAMA,IAAAA,cAAA,GAAAC,OAAA;AAIwC,IAM3BC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA;EAGnC,SAAAA,2BAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,0BAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,0BAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,
|
|
1
|
+
{"version":3,"names":["_isEntryLocked","require","RecordLockingIsEntryLocked","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","query","IS_ENTRY_LOCKED_QUERY","variables","data","recordLocking","isEntryLocked","_unused"],"sources":["RecordLockingIsEntryLocked.ts"],"sourcesContent":["import {\n IRecordLockingIsEntryLocked,\n IRecordLockingIsEntryLockedParams,\n IRecordLockingIsEntryLockedResult\n} from \"~/domain/abstractions/IRecordLockingIsEntryLocked\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\nimport {\n IRecordLockingIsEntryLockedResponse,\n IRecordLockingIsEntryLockedVariables,\n IS_ENTRY_LOCKED_QUERY\n} from \"~/domain/graphql/isEntryLocked\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingIsEntryLocked implements IRecordLockingIsEntryLocked {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n params: IRecordLockingIsEntryLockedParams\n ): Promise<IRecordLockingIsEntryLockedResult> {\n try {\n const result = await this.client.query<\n IRecordLockingIsEntryLockedResponse,\n IRecordLockingIsEntryLockedVariables\n >({\n query: IS_ENTRY_LOCKED_QUERY,\n variables: params\n });\n return !!result.data.recordLocking.isEntryLocked.data;\n } catch {\n return false;\n }\n }\n}\n"],"mappings":";;;;;;;;;AAMA,IAAAA,cAAA,GAAAC,OAAA;AAIwC,IAM3BC,0BAA0B,GAAAC,OAAA,CAAAD,0BAAA;EAGnC,SAAAA,2BAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,0BAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,0BAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,eAAaC,OAAOA,CAChBP,MAAyC,EACC;MAC1C,IAAI;QACA,IAAMQ,MAAM,GAAG,MAAM,IAAI,CAACL,MAAM,CAACM,KAAK,CAGpC;UACEA,KAAK,EAAEC,oCAAqB;UAC5BC,SAAS,EAAEX;QACf,CAAC,CAAC;QACF,OAAO,CAAC,CAACQ,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,aAAa,CAACF,IAAI;MACzD,CAAC,CAAC,OAAAG,OAAA,EAAM;QACJ,OAAO,KAAK;MAChB;IACJ;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","require","_createRecordLockingClient","_listLockRecords","RecordLockingListLockRecords","exports","params","_classCallCheck2","default","client","createRecordLockingClient","_createClass2","key","value","execute","where","sort","limit","after","result","query","LIST_LOCK_RECORDS","variables","data","recordLocking","listLockRecords","WebinyError"],"sources":["RecordLockingListLockRecords.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { ApolloClient } from \"apollo-client\";\nimport {\n IRecordLockingListLockRecords,\n IRecordLockingListLockRecordsParams,\n IRecordLockingListLockRecordsResult\n} from \"./abstractions/IRecordLockingListLockRecords\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\nimport { createRecordLockingClient } from \"./utils/createRecordLockingClient\";\nimport {\n IRecordLockingListLockedRecordsResponse,\n IRecordLockingListLockedRecordsVariables,\n LIST_LOCK_RECORDS\n} from \"~/domain/graphql/listLockRecords\";\n\ninterface Params {\n client: IRecordLockingClient | ApolloClient<any>;\n}\n\nexport class RecordLockingListLockRecords implements IRecordLockingListLockRecords {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = createRecordLockingClient(params.client);\n }\n public async execute(\n params: IRecordLockingListLockRecordsParams\n ): Promise<IRecordLockingListLockRecordsResult> {\n const { where, sort, limit, after } = params;\n\n const result = await this.client.query<\n IRecordLockingListLockedRecordsResponse,\n IRecordLockingListLockedRecordsVariables\n >({\n query: LIST_LOCK_RECORDS,\n variables: {\n where,\n sort,\n limit,\n after\n }\n });\n if (!result.data?.recordLocking?.listLockRecords) {\n throw new WebinyError(\"No data returned from server.\");\n }\n return result.data.recordLocking.listLockRecords;\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAI0C,IAM7BG,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA;EAGrC,SAAAA,6BAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,4BAAA;IAC/B,IAAI,CAACK,MAAM,GAAG,IAAAC,oDAAyB,EAACJ,MAAM,CAACG,MAAM,CAAC;EAC1D;EAAC,WAAAE,aAAA,CAAAH,OAAA,EAAAJ,4BAAA;IAAAQ,GAAA;IAAAC,KAAA,EACD,
|
|
1
|
+
{"version":3,"names":["_error","require","_createRecordLockingClient","_listLockRecords","RecordLockingListLockRecords","exports","params","_classCallCheck2","default","client","createRecordLockingClient","_createClass2","key","value","execute","where","sort","limit","after","result","query","LIST_LOCK_RECORDS","variables","data","recordLocking","listLockRecords","WebinyError"],"sources":["RecordLockingListLockRecords.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport { ApolloClient } from \"apollo-client\";\nimport {\n IRecordLockingListLockRecords,\n IRecordLockingListLockRecordsParams,\n IRecordLockingListLockRecordsResult\n} from \"./abstractions/IRecordLockingListLockRecords\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\nimport { createRecordLockingClient } from \"./utils/createRecordLockingClient\";\nimport {\n IRecordLockingListLockedRecordsResponse,\n IRecordLockingListLockedRecordsVariables,\n LIST_LOCK_RECORDS\n} from \"~/domain/graphql/listLockRecords\";\n\ninterface Params {\n client: IRecordLockingClient | ApolloClient<any>;\n}\n\nexport class RecordLockingListLockRecords implements IRecordLockingListLockRecords {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = createRecordLockingClient(params.client);\n }\n public async execute(\n params: IRecordLockingListLockRecordsParams\n ): Promise<IRecordLockingListLockRecordsResult> {\n const { where, sort, limit, after } = params;\n\n const result = await this.client.query<\n IRecordLockingListLockedRecordsResponse,\n IRecordLockingListLockedRecordsVariables\n >({\n query: LIST_LOCK_RECORDS,\n variables: {\n where,\n sort,\n limit,\n after\n }\n });\n if (!result.data?.recordLocking?.listLockRecords) {\n throw new WebinyError(\"No data returned from server.\");\n }\n return result.data.recordLocking.listLockRecords;\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAQA,IAAAC,0BAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAI0C,IAM7BG,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA;EAGrC,SAAAA,6BAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,4BAAA;IAC/B,IAAI,CAACK,MAAM,GAAG,IAAAC,oDAAyB,EAACJ,MAAM,CAACG,MAAM,CAAC;EAC1D;EAAC,WAAAE,aAAA,CAAAH,OAAA,EAAAJ,4BAAA;IAAAQ,GAAA;IAAAC,KAAA,EACD,eAAaC,OAAOA,CAChBR,MAA2C,EACC;MAC5C,IAAQS,KAAK,GAAyBT,MAAM,CAApCS,KAAK;QAAEC,IAAI,GAAmBV,MAAM,CAA7BU,IAAI;QAAEC,KAAK,GAAYX,MAAM,CAAvBW,KAAK;QAAEC,KAAK,GAAKZ,MAAM,CAAhBY,KAAK;MAEjC,IAAMC,MAAM,GAAG,MAAM,IAAI,CAACV,MAAM,CAACW,KAAK,CAGpC;QACEA,KAAK,EAAEC,kCAAiB;QACxBC,SAAS,EAAE;UACPP,KAAK,EAALA,KAAK;UACLC,IAAI,EAAJA,IAAI;UACJC,KAAK,EAALA,KAAK;UACLC,KAAK,EAALA;QACJ;MACJ,CAAC,CAAC;MACF,IAAI,CAACC,MAAM,CAACI,IAAI,EAAEC,aAAa,EAAEC,eAAe,EAAE;QAC9C,MAAM,IAAIC,kBAAW,CAAC,+BAA+B,CAAC;MAC1D;MACA,OAAOP,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,eAAe;IACpD;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","require","RecordLockingLockEntry","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","WebinyError"],"sources":["RecordLockingLockEntry.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingLockEntry,\n IRecordLockingLockEntryParams,\n IRecordLockingLockEntryResult\n} from \"~/domain/abstractions/IRecordLockingLockEntry\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingLockEntry implements IRecordLockingLockEntry {\n // eslint-disable-next-line\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n // eslint-disable-next-line\n params: IRecordLockingLockEntryParams\n ): Promise<IRecordLockingLockEntryResult> {\n throw new WebinyError(\"Method not implemented.\");\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAA4C,IAY/BC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA;EAC/B;;EAGA,SAAAA,uBAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,sBAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,sBAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,
|
|
1
|
+
{"version":3,"names":["_error","require","RecordLockingLockEntry","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","WebinyError"],"sources":["RecordLockingLockEntry.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingLockEntry,\n IRecordLockingLockEntryParams,\n IRecordLockingLockEntryResult\n} from \"~/domain/abstractions/IRecordLockingLockEntry\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingLockEntry implements IRecordLockingLockEntry {\n // eslint-disable-next-line\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n // eslint-disable-next-line\n params: IRecordLockingLockEntryParams\n ): Promise<IRecordLockingLockEntryResult> {\n throw new WebinyError(\"Method not implemented.\");\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAA4C,IAY/BC,sBAAsB,GAAAC,OAAA,CAAAD,sBAAA;EAC/B;;EAGA,SAAAA,uBAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,sBAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,sBAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,eAAaC,OAAOA;IAChB;IACAP,MAAqC,EACC;MACtC,MAAM,IAAIQ,kBAAW,CAAC,yBAAyB,CAAC;IACpD;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","require","_unlockEntry","RecordLockingUnlockEntry","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","mutation","UNLOCK_ENTRY_MUTATION","variables","data","recordLocking","unlockEntry","WebinyError"],"sources":["RecordLockingUnlockEntry.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingUnlockEntry,\n IRecordLockingUnlockEntryParams,\n IRecordLockingUnlockEntryResult\n} from \"~/domain/abstractions/IRecordLockingUnlockEntry\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\nimport {\n RecordLockingUnlockEntryResponse,\n IRecordLockingUnlockEntryVariables,\n UNLOCK_ENTRY_MUTATION\n} from \"~/domain/graphql/unlockEntry\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingUnlockEntry implements IRecordLockingUnlockEntry {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n params: IRecordLockingUnlockEntryParams\n ): Promise<IRecordLockingUnlockEntryResult> {\n const result = await this.client.mutation<\n RecordLockingUnlockEntryResponse,\n IRecordLockingUnlockEntryVariables\n >({\n mutation: UNLOCK_ENTRY_MUTATION,\n variables: params\n });\n if (!result.data?.recordLocking?.unlockEntry) {\n throw new WebinyError(\"No data returned from server.\");\n }\n return result.data.recordLocking.unlockEntry;\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,YAAA,GAAAD,OAAA;AAIsC,IAMzBE,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA;EAGjC,SAAAA,yBAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,wBAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,wBAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,
|
|
1
|
+
{"version":3,"names":["_error","require","_unlockEntry","RecordLockingUnlockEntry","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","mutation","UNLOCK_ENTRY_MUTATION","variables","data","recordLocking","unlockEntry","WebinyError"],"sources":["RecordLockingUnlockEntry.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingUnlockEntry,\n IRecordLockingUnlockEntryParams,\n IRecordLockingUnlockEntryResult\n} from \"~/domain/abstractions/IRecordLockingUnlockEntry\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\nimport {\n RecordLockingUnlockEntryResponse,\n IRecordLockingUnlockEntryVariables,\n UNLOCK_ENTRY_MUTATION\n} from \"~/domain/graphql/unlockEntry\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingUnlockEntry implements IRecordLockingUnlockEntry {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n params: IRecordLockingUnlockEntryParams\n ): Promise<IRecordLockingUnlockEntryResult> {\n const result = await this.client.mutation<\n RecordLockingUnlockEntryResponse,\n IRecordLockingUnlockEntryVariables\n >({\n mutation: UNLOCK_ENTRY_MUTATION,\n variables: params\n });\n if (!result.data?.recordLocking?.unlockEntry) {\n throw new WebinyError(\"No data returned from server.\");\n }\n return result.data.recordLocking.unlockEntry;\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,YAAA,GAAAD,OAAA;AAIsC,IAMzBE,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA;EAGjC,SAAAA,yBAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,wBAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,wBAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,eAAaC,OAAOA,CAChBP,MAAuC,EACC;MACxC,IAAMQ,MAAM,GAAG,MAAM,IAAI,CAACL,MAAM,CAACM,QAAQ,CAGvC;QACEA,QAAQ,EAAEC,kCAAqB;QAC/BC,SAAS,EAAEX;MACf,CAAC,CAAC;MACF,IAAI,CAACQ,MAAM,CAACI,IAAI,EAAEC,aAAa,EAAEC,WAAW,EAAE;QAC1C,MAAM,IAAIC,kBAAW,CAAC,+BAA+B,CAAC;MAC1D;MACA,OAAOP,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,WAAW;IAChD;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","require","RecordLockingUnlockEntryRequest","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","WebinyError"],"sources":["RecordLockingUnlockEntryRequest.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingUnlockEntryRequest,\n IRecordLockingUnlockEntryRequestParams,\n IRecordLockingUnlockEntryRequestResult\n} from \"~/domain/abstractions/IRecordLockingUnlockEntryRequest\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingUnlockEntryRequest implements IRecordLockingUnlockEntryRequest {\n // @eslint-disable-next-line\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n // eslint-disable-next-line\n params: IRecordLockingUnlockEntryRequestParams\n ): Promise<IRecordLockingUnlockEntryRequestResult> {\n throw new WebinyError(\"Method not implemented.\");\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAA4C,IAY/BC,+BAA+B,GAAAC,OAAA,CAAAD,+BAAA;EACxC;;EAGA,SAAAA,gCAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,+BAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,+BAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,
|
|
1
|
+
{"version":3,"names":["_error","require","RecordLockingUnlockEntryRequest","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","WebinyError"],"sources":["RecordLockingUnlockEntryRequest.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingUnlockEntryRequest,\n IRecordLockingUnlockEntryRequestParams,\n IRecordLockingUnlockEntryRequestResult\n} from \"~/domain/abstractions/IRecordLockingUnlockEntryRequest\";\nimport { IRecordLockingClient } from \"./abstractions/IRecordLockingClient\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingUnlockEntryRequest implements IRecordLockingUnlockEntryRequest {\n // @eslint-disable-next-line\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n public async execute(\n // eslint-disable-next-line\n params: IRecordLockingUnlockEntryRequestParams\n ): Promise<IRecordLockingUnlockEntryRequestResult> {\n throw new WebinyError(\"Method not implemented.\");\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAA4C,IAY/BC,+BAA+B,GAAAC,OAAA,CAAAD,+BAAA;EACxC;;EAGA,SAAAA,gCAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,+BAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,+BAAA;IAAAO,GAAA;IAAAC,KAAA,EACD,eAAaC,OAAOA;IAChB;IACAP,MAA8C,EACC;MAC/C,MAAM,IAAIQ,kBAAW,CAAC,yBAAyB,CAAC;IACpD;EAAC;AAAA","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_error","require","_updateEntryLock","RecordLockingUpdateEntryLock","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","mutation","UPDATE_ENTRY_LOCK","variables","data","recordLocking","updateEntryLock","WebinyError"],"sources":["RecordLockingUpdateEntryLock.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingUpdateEntryLock,\n IRecordLockingUpdateEntryLockExecuteParams,\n IRecordLockingUpdateEntryLockExecuteResult\n} from \"~/domain/abstractions/IRecordLockingUpdateEntryLock\";\nimport { IRecordLockingClient } from \"~/domain/abstractions/IRecordLockingClient\";\nimport {\n IRecordLockingUpdateEntryLockResponse,\n IRecordLockingUpdateEntryLockVariables,\n UPDATE_ENTRY_LOCK\n} from \"~/domain/graphql/updateEntryLock\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingUpdateEntryLock implements IRecordLockingUpdateEntryLock {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n\n public async execute(\n params: IRecordLockingUpdateEntryLockExecuteParams\n ): Promise<IRecordLockingUpdateEntryLockExecuteResult> {\n const result = await this.client.mutation<\n IRecordLockingUpdateEntryLockResponse,\n IRecordLockingUpdateEntryLockVariables\n >({\n mutation: UPDATE_ENTRY_LOCK,\n variables: params\n });\n if (!result.data?.recordLocking?.updateEntryLock) {\n throw new WebinyError(\"No data returned from server.\");\n }\n return result.data.recordLocking.updateEntryLock;\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,gBAAA,GAAAD,OAAA;AAI0C,IAM7BE,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA;EAGrC,SAAAA,6BAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,4BAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,4BAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,
|
|
1
|
+
{"version":3,"names":["_error","require","_updateEntryLock","RecordLockingUpdateEntryLock","exports","params","_classCallCheck2","default","client","_createClass2","key","value","execute","result","mutation","UPDATE_ENTRY_LOCK","variables","data","recordLocking","updateEntryLock","WebinyError"],"sources":["RecordLockingUpdateEntryLock.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport {\n IRecordLockingUpdateEntryLock,\n IRecordLockingUpdateEntryLockExecuteParams,\n IRecordLockingUpdateEntryLockExecuteResult\n} from \"~/domain/abstractions/IRecordLockingUpdateEntryLock\";\nimport { IRecordLockingClient } from \"~/domain/abstractions/IRecordLockingClient\";\nimport {\n IRecordLockingUpdateEntryLockResponse,\n IRecordLockingUpdateEntryLockVariables,\n UPDATE_ENTRY_LOCK\n} from \"~/domain/graphql/updateEntryLock\";\n\ninterface Params {\n client: IRecordLockingClient;\n}\n\nexport class RecordLockingUpdateEntryLock implements IRecordLockingUpdateEntryLock {\n private readonly client: IRecordLockingClient;\n\n public constructor(params: Params) {\n this.client = params.client;\n }\n\n public async execute(\n params: IRecordLockingUpdateEntryLockExecuteParams\n ): Promise<IRecordLockingUpdateEntryLockExecuteResult> {\n const result = await this.client.mutation<\n IRecordLockingUpdateEntryLockResponse,\n IRecordLockingUpdateEntryLockVariables\n >({\n mutation: UPDATE_ENTRY_LOCK,\n variables: params\n });\n if (!result.data?.recordLocking?.updateEntryLock) {\n throw new WebinyError(\"No data returned from server.\");\n }\n return result.data.recordLocking.updateEntryLock;\n }\n}\n"],"mappings":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAOA,IAAAC,gBAAA,GAAAD,OAAA;AAI0C,IAM7BE,4BAA4B,GAAAC,OAAA,CAAAD,4BAAA;EAGrC,SAAAA,6BAAmBE,MAAc,EAAE;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAJ,4BAAA;IAC/B,IAAI,CAACK,MAAM,GAAGH,MAAM,CAACG,MAAM;EAC/B;EAAC,WAAAC,aAAA,CAAAF,OAAA,EAAAJ,4BAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,eAAaC,OAAOA,CAChBP,MAAkD,EACC;MACnD,IAAMQ,MAAM,GAAG,MAAM,IAAI,CAACL,MAAM,CAACM,QAAQ,CAGvC;QACEA,QAAQ,EAAEC,kCAAiB;QAC3BC,SAAS,EAAEX;MACf,CAAC,CAAC;MACF,IAAI,CAACQ,MAAM,CAACI,IAAI,EAAEC,aAAa,EAAEC,eAAe,EAAE;QAC9C,MAAM,IAAIC,kBAAW,CAAC,+BAA+B,CAAC;MAC1D;MACA,OAAOP,MAAM,CAACI,IAAI,CAACC,aAAa,CAACC,eAAe;IACpD;EAAC;AAAA","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/app-record-locking",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.42.0-beta.0",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -16,34 +16,28 @@
|
|
|
16
16
|
"@apollo/react-hooks": "3.1.5",
|
|
17
17
|
"@emotion/styled": "11.10.6",
|
|
18
18
|
"@material-design-icons/svg": "0.14.13",
|
|
19
|
-
"@webiny/app": "5.
|
|
20
|
-
"@webiny/app-aco": "5.
|
|
21
|
-
"@webiny/app-admin": "5.
|
|
22
|
-
"@webiny/app-headless-cms": "5.
|
|
23
|
-
"@webiny/app-security": "5.
|
|
24
|
-
"@webiny/app-wcp": "5.
|
|
25
|
-
"@webiny/app-websockets": "5.
|
|
26
|
-
"@webiny/error": "5.
|
|
27
|
-
"@webiny/react-router": "5.
|
|
28
|
-
"@webiny/ui": "5.
|
|
29
|
-
"@webiny/utils": "5.
|
|
19
|
+
"@webiny/app": "5.42.0-beta.0",
|
|
20
|
+
"@webiny/app-aco": "5.42.0-beta.0",
|
|
21
|
+
"@webiny/app-admin": "5.42.0-beta.0",
|
|
22
|
+
"@webiny/app-headless-cms": "5.42.0-beta.0",
|
|
23
|
+
"@webiny/app-security": "5.42.0-beta.0",
|
|
24
|
+
"@webiny/app-wcp": "5.42.0-beta.0",
|
|
25
|
+
"@webiny/app-websockets": "5.42.0-beta.0",
|
|
26
|
+
"@webiny/error": "5.42.0-beta.0",
|
|
27
|
+
"@webiny/react-router": "5.42.0-beta.0",
|
|
28
|
+
"@webiny/ui": "5.42.0-beta.0",
|
|
29
|
+
"@webiny/utils": "5.42.0-beta.0",
|
|
30
30
|
"apollo-client": "2.6.10",
|
|
31
31
|
"apollo-link": "1.2.14",
|
|
32
32
|
"crypto-hash": "3.0.0",
|
|
33
|
-
"emotion": "10.0.27",
|
|
34
33
|
"graphql-tag": "2.12.6",
|
|
35
34
|
"react": "18.2.0",
|
|
36
35
|
"react-dom": "18.2.0"
|
|
37
36
|
},
|
|
38
37
|
"devDependencies": {
|
|
39
|
-
"@
|
|
40
|
-
"@
|
|
41
|
-
"
|
|
42
|
-
"@babel/preset-react": "7.24.1",
|
|
43
|
-
"@babel/preset-typescript": "7.24.1",
|
|
44
|
-
"@webiny/cli": "5.41.4",
|
|
45
|
-
"@webiny/project-utils": "5.41.4",
|
|
46
|
-
"rimraf": "5.0.5",
|
|
38
|
+
"@webiny/cli": "5.42.0-beta.0",
|
|
39
|
+
"@webiny/project-utils": "5.42.0-beta.0",
|
|
40
|
+
"rimraf": "6.0.1",
|
|
47
41
|
"ttypescript": "1.5.15",
|
|
48
42
|
"typescript": "4.9.5"
|
|
49
43
|
},
|
|
@@ -55,5 +49,5 @@
|
|
|
55
49
|
"build": "yarn webiny run build",
|
|
56
50
|
"watch": "yarn webiny run watch"
|
|
57
51
|
},
|
|
58
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "ebf90f62ed3f28114ffdb012b7e5f80988af53d3"
|
|
59
53
|
}
|