@webiny/app-record-locking 6.1.0 → 6.2.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.
@@ -1,6 +1,7 @@
1
1
  import React from "react";
2
2
  import { AdminConfig } from "@webiny/app-admin";
3
3
  import { ReactComponent as LockIcon } from "@webiny/icons/lock.svg";
4
+ import { RECORD_LOCKING_PERMISSIONS_SCHEMA } from "../domain/permissionsSchema.js";
4
5
  const {
5
6
  Security
6
7
  } = AdminConfig;
@@ -10,12 +11,7 @@ export const SecurityPermissions = () => {
10
11
  title: "Record Locking",
11
12
  description: "Manage Record Locking permissions.",
12
13
  icon: /*#__PURE__*/React.createElement(LockIcon, null),
13
- schema: {
14
- prefix: "recordLocking",
15
- fullAccess: {
16
- canForceUnlock: true
17
- }
18
- }
14
+ schema: RECORD_LOCKING_PERMISSIONS_SCHEMA
19
15
  }));
20
16
  };
21
17
 
@@ -1 +1 @@
1
- {"version":3,"names":["React","AdminConfig","ReactComponent","LockIcon","Security","SecurityPermissions","createElement","Permissions","name","title","description","icon","schema","prefix","fullAccess","canForceUnlock"],"sources":["SecurityPermissions.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { ReactComponent as LockIcon } from \"@webiny/icons/lock.svg\";\n\nconst { Security } = AdminConfig;\n\nexport const SecurityPermissions = () => {\n return (\n <AdminConfig>\n <Security.Permissions\n name=\"record-locking\"\n title=\"Record Locking\"\n description=\"Manage Record Locking permissions.\"\n icon={<LockIcon />}\n schema={{\n prefix: \"recordLocking\",\n fullAccess: { canForceUnlock: true }\n }}\n />\n </AdminConfig>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,cAAc,IAAIC,QAAQ,QAAQ,wBAAwB;AAEnE,MAAM;EAAEC;AAAS,CAAC,GAAGH,WAAW;AAEhC,OAAO,MAAMI,mBAAmB,GAAGA,CAAA,KAAM;EACrC,oBACIL,KAAA,CAAAM,aAAA,CAACL,WAAW,qBACRD,KAAA,CAAAM,aAAA,CAACF,QAAQ,CAACG,WAAW;IACjBC,IAAI,EAAC,gBAAgB;IACrBC,KAAK,EAAC,gBAAgB;IACtBC,WAAW,EAAC,oCAAoC;IAChDC,IAAI,eAAEX,KAAA,CAAAM,aAAA,CAACH,QAAQ,MAAE,CAAE;IACnBS,MAAM,EAAE;MACJC,MAAM,EAAE,eAAe;MACvBC,UAAU,EAAE;QAAEC,cAAc,EAAE;MAAK;IACvC;EAAE,CACL,CACQ,CAAC;AAEtB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","AdminConfig","ReactComponent","LockIcon","RECORD_LOCKING_PERMISSIONS_SCHEMA","Security","SecurityPermissions","createElement","Permissions","name","title","description","icon","schema"],"sources":["SecurityPermissions.tsx"],"sourcesContent":["import React from \"react\";\nimport { AdminConfig } from \"@webiny/app-admin\";\nimport { ReactComponent as LockIcon } from \"@webiny/icons/lock.svg\";\nimport { RECORD_LOCKING_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\n\nconst { Security } = AdminConfig;\n\nexport const SecurityPermissions = () => {\n return (\n <AdminConfig>\n <Security.Permissions\n name=\"record-locking\"\n title=\"Record Locking\"\n description=\"Manage Record Locking permissions.\"\n icon={<LockIcon />}\n schema={RECORD_LOCKING_PERMISSIONS_SCHEMA}\n />\n </AdminConfig>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,cAAc,IAAIC,QAAQ,QAAQ,wBAAwB;AACnE,SAASC,iCAAiC;AAE1C,MAAM;EAAEC;AAAS,CAAC,GAAGJ,WAAW;AAEhC,OAAO,MAAMK,mBAAmB,GAAGA,CAAA,KAAM;EACrC,oBACIN,KAAA,CAAAO,aAAA,CAACN,WAAW,qBACRD,KAAA,CAAAO,aAAA,CAACF,QAAQ,CAACG,WAAW;IACjBC,IAAI,EAAC,gBAAgB;IACrBC,KAAK,EAAC,gBAAgB;IACtBC,WAAW,EAAC,oCAAoC;IAChDC,IAAI,eAAEZ,KAAA,CAAAO,aAAA,CAACJ,QAAQ,MAAE,CAAE;IACnBU,MAAM,EAAET;EAAkC,CAC7C,CACQ,CAAC;AAEtB,CAAC","ignoreList":[]}
@@ -0,0 +1,6 @@
1
+ export declare const RECORD_LOCKING_PERMISSIONS_SCHEMA: {
2
+ readonly prefix: "recordLocking";
3
+ readonly fullAccess: {
4
+ readonly canForceUnlock: true;
5
+ };
6
+ };
@@ -0,0 +1,9 @@
1
+ import { createPermissionSchema } from "@webiny/app-admin";
2
+ export const RECORD_LOCKING_PERMISSIONS_SCHEMA = createPermissionSchema({
3
+ prefix: "recordLocking",
4
+ fullAccess: {
5
+ canForceUnlock: true
6
+ }
7
+ });
8
+
9
+ //# sourceMappingURL=permissionsSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createPermissionSchema","RECORD_LOCKING_PERMISSIONS_SCHEMA","prefix","fullAccess","canForceUnlock"],"sources":["permissionsSchema.ts"],"sourcesContent":["import { createPermissionSchema } from \"@webiny/app-admin\";\n\nexport const RECORD_LOCKING_PERMISSIONS_SCHEMA = createPermissionSchema({\n prefix: \"recordLocking\",\n fullAccess: { canForceUnlock: true }\n});\n"],"mappings":"AAAA,SAASA,sBAAsB,QAAQ,mBAAmB;AAE1D,OAAO,MAAMC,iCAAiC,GAAGD,sBAAsB,CAAC;EACpEE,MAAM,EAAE,eAAe;EACvBC,UAAU,EAAE;IAAEC,cAAc,EAAE;EAAK;AACvC,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,17 @@
1
+ import type { Permissions } from "@webiny/app-admin/exports/admin/security.js";
2
+ import { RECORD_LOCKING_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
3
+ export declare const RecordLockingPermissions: import("@webiny/di").Abstraction<{
4
+ canAccess: (entityId: never) => boolean;
5
+ canAction: (action: string, entityId: never) => boolean;
6
+ } & {
7
+ canRead: (entityId: string) => boolean;
8
+ canCreate: (entityId: string) => boolean;
9
+ canEdit: (entityId: string, item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
10
+ canDelete: (entityId: string, item?: import("@webiny/app-admin/permissions").OwnableItem) => boolean;
11
+ } & {
12
+ canPublish: (entityId: string) => boolean;
13
+ canUnpublish: (entityId: string) => boolean;
14
+ }>;
15
+ export declare namespace RecordLockingPermissions {
16
+ type Interface = Permissions<typeof RECORD_LOCKING_PERMISSIONS_SCHEMA>;
17
+ }
@@ -0,0 +1,5 @@
1
+ import { createPermissionsAbstraction } from "@webiny/app-admin/exports/admin/security.js";
2
+ import { RECORD_LOCKING_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
3
+ export const RecordLockingPermissions = createPermissionsAbstraction(RECORD_LOCKING_PERMISSIONS_SCHEMA);
4
+
5
+ //# sourceMappingURL=abstractions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createPermissionsAbstraction","RECORD_LOCKING_PERMISSIONS_SCHEMA","RecordLockingPermissions"],"sources":["abstractions.ts"],"sourcesContent":["import { createPermissionsAbstraction } from \"@webiny/app-admin/exports/admin/security.js\";\nimport type { Permissions } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { RECORD_LOCKING_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\n\nexport const RecordLockingPermissions = createPermissionsAbstraction(\n RECORD_LOCKING_PERMISSIONS_SCHEMA\n);\n\nexport namespace RecordLockingPermissions {\n export type Interface = Permissions<typeof RECORD_LOCKING_PERMISSIONS_SCHEMA>;\n}\n"],"mappings":"AAAA,SAASA,4BAA4B,QAAQ,6CAA6C;AAE1F,SAASC,iCAAiC;AAE1C,OAAO,MAAMC,wBAAwB,GAAGF,4BAA4B,CAChEC,iCACJ,CAAC","ignoreList":[]}
@@ -0,0 +1,14 @@
1
+ export declare const RecordLockingPermissionsFeature: import("@webiny/feature/admin/createFeature.js").FeatureDefinition<{
2
+ permissions: {
3
+ canAccess: (entityId: never) => boolean;
4
+ canAction: (action: string, entityId: never) => boolean;
5
+ } & {
6
+ canRead: (entityId: string) => boolean;
7
+ canCreate: (entityId: string) => boolean;
8
+ canEdit: (entityId: string, item?: import("@webiny/app-admin/index.js").OwnableItem) => boolean;
9
+ canDelete: (entityId: string, item?: import("@webiny/app-admin/index.js").OwnableItem) => boolean;
10
+ } & {
11
+ canPublish: (entityId: string) => boolean;
12
+ canUnpublish: (entityId: string) => boolean;
13
+ };
14
+ }, []>;
@@ -0,0 +1,6 @@
1
+ import { createPermissionsFeature } from "@webiny/app-admin/exports/admin/security.js";
2
+ import { RECORD_LOCKING_PERMISSIONS_SCHEMA } from "../../domain/permissionsSchema.js";
3
+ import { RecordLockingPermissions } from "./abstractions.js";
4
+ export const RecordLockingPermissionsFeature = createPermissionsFeature(RECORD_LOCKING_PERMISSIONS_SCHEMA, RecordLockingPermissions);
5
+
6
+ //# sourceMappingURL=feature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createPermissionsFeature","RECORD_LOCKING_PERMISSIONS_SCHEMA","RecordLockingPermissions","RecordLockingPermissionsFeature"],"sources":["feature.ts"],"sourcesContent":["import { createPermissionsFeature } from \"@webiny/app-admin/exports/admin/security.js\";\nimport { RECORD_LOCKING_PERMISSIONS_SCHEMA } from \"~/domain/permissionsSchema.js\";\nimport { RecordLockingPermissions } from \"./abstractions.js\";\n\nexport const RecordLockingPermissionsFeature = createPermissionsFeature(\n RECORD_LOCKING_PERMISSIONS_SCHEMA,\n RecordLockingPermissions\n);\n"],"mappings":"AAAA,SAASA,wBAAwB,QAAQ,6CAA6C;AACtF,SAASC,iCAAiC;AAC1C,SAASC,wBAAwB;AAEjC,OAAO,MAAMC,+BAA+B,GAAGH,wBAAwB,CACnEC,iCAAiC,EACjCC,wBACJ,CAAC","ignoreList":[]}
package/index.js CHANGED
@@ -1,10 +1,12 @@
1
1
  import React from "react";
2
2
  import { Provider } from "@webiny/app";
3
+ import { RegisterFeature } from "@webiny/app-admin";
3
4
  import { RecordLockingProvider as RecordLockingProviderComponent } from "./components/RecordLockingProvider.js";
4
5
  import { HeadlessCmsActionsAcoCell } from "./components/HeadlessCmsActionsAcoCell.js";
5
6
  import { HeadlessCmsContentEntry } from "./components/HeadlessCmsContentEntry/index.js";
6
7
  import { useWcp } from "@webiny/app-admin";
7
8
  import { SecurityPermissions } from "./components/SecurityPermissions.js";
9
+ import { RecordLockingPermissionsFeature } from "./features/permissions/feature.js";
8
10
  export * from "./components/RecordLockingProvider.js";
9
11
  export * from "./hooks/index.js";
10
12
  const RecordLockingHoc = Component => {
@@ -19,7 +21,9 @@ export const RecordLocking = () => {
19
21
  if (!wcp.canUseRecordLocking()) {
20
22
  return null;
21
23
  }
22
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(SecurityPermissions, null), /*#__PURE__*/React.createElement(Provider, {
24
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(RegisterFeature, {
25
+ feature: RecordLockingPermissionsFeature
26
+ }), /*#__PURE__*/React.createElement(SecurityPermissions, null), /*#__PURE__*/React.createElement(Provider, {
23
27
  hoc: RecordLockingHoc
24
28
  }), /*#__PURE__*/React.createElement(HeadlessCmsActionsAcoCell, null), /*#__PURE__*/React.createElement(HeadlessCmsContentEntry, null));
25
29
  };
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"names":["React","Provider","RecordLockingProvider","RecordLockingProviderComponent","HeadlessCmsActionsAcoCell","HeadlessCmsContentEntry","useWcp","SecurityPermissions","RecordLockingHoc","Component","children","createElement","RecordLocking","wcp","canUseRecordLocking","Fragment","hoc"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Provider } from \"@webiny/app\";\nimport { RecordLockingProvider as RecordLockingProviderComponent } from \"~/components/RecordLockingProvider.js\";\nimport { HeadlessCmsActionsAcoCell } from \"~/components/HeadlessCmsActionsAcoCell.js\";\nimport { HeadlessCmsContentEntry } from \"~/components/HeadlessCmsContentEntry/index.js\";\nimport { useWcp } from \"@webiny/app-admin\";\nimport { SecurityPermissions } from \"~/components/SecurityPermissions.js\";\n\nexport * from \"~/components/RecordLockingProvider.js\";\nexport * from \"~/hooks/index.js\";\n\nexport interface RecordLockingProviderProps {\n children: React.ReactNode;\n}\n\nconst RecordLockingHoc = (Component: React.ComponentType<RecordLockingProviderProps>) => {\n return function RecordLockingProvider({ children }: RecordLockingProviderProps) {\n return (\n <Component>\n <RecordLockingProviderComponent>{children}</RecordLockingProviderComponent>\n </Component>\n );\n };\n};\n\nexport const RecordLocking = () => {\n const wcp = useWcp();\n\n if (!wcp.canUseRecordLocking()) {\n return null;\n }\n\n return (\n <>\n <SecurityPermissions />\n <Provider hoc={RecordLockingHoc} />\n <HeadlessCmsActionsAcoCell />\n <HeadlessCmsContentEntry />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,qBAAqB,IAAIC,8BAA8B;AAChE,SAASC,yBAAyB;AAClC,SAASC,uBAAuB;AAChC,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,mBAAmB;AAE5B;AACA;AAMA,MAAMC,gBAAgB,GAAIC,SAA0D,IAAK;EACrF,OAAO,SAASP,qBAAqBA,CAAC;IAAEQ;EAAqC,CAAC,EAAE;IAC5E,oBACIV,KAAA,CAAAW,aAAA,CAACF,SAAS,qBACNT,KAAA,CAAAW,aAAA,CAACR,8BAA8B,QAAEO,QAAyC,CACnE,CAAC;EAEpB,CAAC;AACL,CAAC;AAED,OAAO,MAAME,aAAa,GAAGA,CAAA,KAAM;EAC/B,MAAMC,GAAG,GAAGP,MAAM,CAAC,CAAC;EAEpB,IAAI,CAACO,GAAG,CAACC,mBAAmB,CAAC,CAAC,EAAE;IAC5B,OAAO,IAAI;EACf;EAEA,oBACId,KAAA,CAAAW,aAAA,CAAAX,KAAA,CAAAe,QAAA,qBACIf,KAAA,CAAAW,aAAA,CAACJ,mBAAmB,MAAE,CAAC,eACvBP,KAAA,CAAAW,aAAA,CAACV,QAAQ;IAACe,GAAG,EAAER;EAAiB,CAAE,CAAC,eACnCR,KAAA,CAAAW,aAAA,CAACP,yBAAyB,MAAE,CAAC,eAC7BJ,KAAA,CAAAW,aAAA,CAACN,uBAAuB,MAAE,CAC5B,CAAC;AAEX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","Provider","RegisterFeature","RecordLockingProvider","RecordLockingProviderComponent","HeadlessCmsActionsAcoCell","HeadlessCmsContentEntry","useWcp","SecurityPermissions","RecordLockingPermissionsFeature","RecordLockingHoc","Component","children","createElement","RecordLocking","wcp","canUseRecordLocking","Fragment","feature","hoc"],"sources":["index.tsx"],"sourcesContent":["import React from \"react\";\nimport { Provider } from \"@webiny/app\";\nimport { RegisterFeature } from \"@webiny/app-admin\";\nimport { RecordLockingProvider as RecordLockingProviderComponent } from \"~/components/RecordLockingProvider.js\";\nimport { HeadlessCmsActionsAcoCell } from \"~/components/HeadlessCmsActionsAcoCell.js\";\nimport { HeadlessCmsContentEntry } from \"~/components/HeadlessCmsContentEntry/index.js\";\nimport { useWcp } from \"@webiny/app-admin\";\nimport { SecurityPermissions } from \"~/components/SecurityPermissions.js\";\nimport { RecordLockingPermissionsFeature } from \"~/features/permissions/feature.js\";\n\nexport * from \"~/components/RecordLockingProvider.js\";\nexport * from \"~/hooks/index.js\";\n\nexport interface RecordLockingProviderProps {\n children: React.ReactNode;\n}\n\nconst RecordLockingHoc = (Component: React.ComponentType<RecordLockingProviderProps>) => {\n return function RecordLockingProvider({ children }: RecordLockingProviderProps) {\n return (\n <Component>\n <RecordLockingProviderComponent>{children}</RecordLockingProviderComponent>\n </Component>\n );\n };\n};\n\nexport const RecordLocking = () => {\n const wcp = useWcp();\n\n if (!wcp.canUseRecordLocking()) {\n return null;\n }\n\n return (\n <>\n <RegisterFeature feature={RecordLockingPermissionsFeature} />\n <SecurityPermissions />\n <Provider hoc={RecordLockingHoc} />\n <HeadlessCmsActionsAcoCell />\n <HeadlessCmsContentEntry />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,qBAAqB,IAAIC,8BAA8B;AAChE,SAASC,yBAAyB;AAClC,SAASC,uBAAuB;AAChC,SAASC,MAAM,QAAQ,mBAAmB;AAC1C,SAASC,mBAAmB;AAC5B,SAASC,+BAA+B;AAExC;AACA;AAMA,MAAMC,gBAAgB,GAAIC,SAA0D,IAAK;EACrF,OAAO,SAASR,qBAAqBA,CAAC;IAAES;EAAqC,CAAC,EAAE;IAC5E,oBACIZ,KAAA,CAAAa,aAAA,CAACF,SAAS,qBACNX,KAAA,CAAAa,aAAA,CAACT,8BAA8B,QAAEQ,QAAyC,CACnE,CAAC;EAEpB,CAAC;AACL,CAAC;AAED,OAAO,MAAME,aAAa,GAAGA,CAAA,KAAM;EAC/B,MAAMC,GAAG,GAAGR,MAAM,CAAC,CAAC;EAEpB,IAAI,CAACQ,GAAG,CAACC,mBAAmB,CAAC,CAAC,EAAE;IAC5B,OAAO,IAAI;EACf;EAEA,oBACIhB,KAAA,CAAAa,aAAA,CAAAb,KAAA,CAAAiB,QAAA,qBACIjB,KAAA,CAAAa,aAAA,CAACX,eAAe;IAACgB,OAAO,EAAET;EAAgC,CAAE,CAAC,eAC7DT,KAAA,CAAAa,aAAA,CAACL,mBAAmB,MAAE,CAAC,eACvBR,KAAA,CAAAa,aAAA,CAACZ,QAAQ;IAACkB,GAAG,EAAET;EAAiB,CAAE,CAAC,eACnCV,KAAA,CAAAa,aAAA,CAACR,yBAAyB,MAAE,CAAC,eAC7BL,KAAA,CAAAa,aAAA,CAACP,uBAAuB,MAAE,CAC5B,CAAC;AAEX,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webiny/app-record-locking",
3
- "version": "6.1.0",
3
+ "version": "6.2.0-beta.0",
4
4
  "type": "module",
5
5
  "main": "index.js",
6
6
  "repository": {
@@ -15,24 +15,24 @@
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
17
  "@apollo/react-hooks": "3.1.5",
18
- "@webiny/admin-ui": "6.1.0",
19
- "@webiny/app": "6.1.0",
20
- "@webiny/app-aco": "6.1.0",
21
- "@webiny/app-admin": "6.1.0",
22
- "@webiny/app-headless-cms": "6.1.0",
23
- "@webiny/app-websockets": "6.1.0",
24
- "@webiny/error": "6.1.0",
25
- "@webiny/icons": "6.1.0",
26
- "@webiny/utils": "6.1.0",
18
+ "@webiny/admin-ui": "6.2.0-beta.0",
19
+ "@webiny/app": "6.2.0-beta.0",
20
+ "@webiny/app-aco": "6.2.0-beta.0",
21
+ "@webiny/app-admin": "6.2.0-beta.0",
22
+ "@webiny/app-headless-cms": "6.2.0-beta.0",
23
+ "@webiny/app-websockets": "6.2.0-beta.0",
24
+ "@webiny/error": "6.2.0-beta.0",
25
+ "@webiny/icons": "6.2.0-beta.0",
26
+ "@webiny/utils": "6.2.0-beta.0",
27
27
  "apollo-client": "2.6.10",
28
28
  "apollo-link": "1.2.14",
29
29
  "crypto-hash": "4.0.1",
30
30
  "graphql-tag": "2.12.6",
31
- "react": "18.2.0",
32
- "react-dom": "18.2.0"
31
+ "react": "18.3.1",
32
+ "react-dom": "18.3.1"
33
33
  },
34
34
  "devDependencies": {
35
- "@webiny/build-tools": "6.1.0",
35
+ "@webiny/build-tools": "6.2.0-beta.0",
36
36
  "rimraf": "6.1.3",
37
37
  "typescript": "5.9.3"
38
38
  },
@@ -40,5 +40,5 @@
40
40
  "access": "public",
41
41
  "directory": "dist"
42
42
  },
43
- "gitHead": "65e0ac1889b3392c99b8cac6cde508e1e831c715"
43
+ "gitHead": "3d3148358b6febbc857371930871743bec3b3939"
44
44
  }