@webiny/app-record-locking 5.43.3 → 6.0.0-alpha.1
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/HeadlessCmsActionsAcoCell.js +46 -57
- package/components/HeadlessCmsActionsAcoCell.js.map +1 -1
- package/components/HeadlessCmsContentEntry/ContentEntryGuard.d.ts +1 -1
- package/components/HeadlessCmsContentEntry/ContentEntryGuard.js +22 -29
- package/components/HeadlessCmsContentEntry/ContentEntryGuard.js.map +1 -1
- package/components/HeadlessCmsContentEntry/ContentEntryLocker.d.ts +1 -1
- package/components/HeadlessCmsContentEntry/ContentEntryLocker.js +43 -60
- package/components/HeadlessCmsContentEntry/ContentEntryLocker.js.map +1 -1
- package/components/HeadlessCmsContentEntry/HeadlessCmsContentEntry.js +54 -67
- package/components/HeadlessCmsContentEntry/HeadlessCmsContentEntry.js.map +1 -1
- package/components/HeadlessCmsContentEntry/index.js +1 -16
- package/components/HeadlessCmsContentEntry/index.js.map +1 -1
- package/components/LockedRecord/LockedRecord.d.ts +1 -1
- package/components/LockedRecord/LockedRecord.js +51 -146
- package/components/LockedRecord/LockedRecord.js.map +1 -1
- package/components/LockedRecord/LockedRecordForceUnlock.d.ts +1 -1
- package/components/LockedRecord/LockedRecordForceUnlock.js +51 -93
- package/components/LockedRecord/LockedRecordForceUnlock.js.map +1 -1
- package/components/LockedRecord/index.js +1 -16
- package/components/LockedRecord/index.js.map +1 -1
- package/components/RecordLockingProvider.d.ts +1 -1
- package/components/RecordLockingProvider.js +57 -67
- package/components/RecordLockingProvider.js.map +1 -1
- package/components/decorators/UseContentEntriesListHookDecorator.js +10 -17
- package/components/decorators/UseContentEntriesListHookDecorator.js.map +1 -1
- package/components/decorators/UseRecordsDecorator.js +11 -16
- package/components/decorators/UseRecordsDecorator.js.map +1 -1
- package/components/decorators/UseSaveEntryDecorator.js +34 -32
- package/components/decorators/UseSaveEntryDecorator.js.map +1 -1
- package/components/permissionRenderer/RecordLockingPermissions.d.ts +1 -1
- package/components/permissionRenderer/RecordLockingPermissions.js +39 -53
- package/components/permissionRenderer/RecordLockingPermissions.js.map +1 -1
- package/components/permissionRenderer/index.d.ts +1 -1
- package/components/permissionRenderer/index.js +13 -17
- package/components/permissionRenderer/index.js.map +1 -1
- package/domain/RecordLocking.d.ts +1 -1
- package/domain/RecordLocking.js +271 -311
- package/domain/RecordLocking.js.map +1 -1
- package/domain/RecordLockingClient.d.ts +3 -3
- package/domain/RecordLockingClient.js +15 -29
- package/domain/RecordLockingClient.js.map +1 -1
- package/domain/RecordLockingGetLockRecord.d.ts +2 -2
- package/domain/RecordLockingGetLockRecord.js +16 -29
- package/domain/RecordLockingGetLockRecord.js.map +1 -1
- package/domain/RecordLockingGetLockedEntryLockRecord.d.ts +2 -2
- package/domain/RecordLockingGetLockedEntryLockRecord.js +14 -27
- package/domain/RecordLockingGetLockedEntryLockRecord.js.map +1 -1
- package/domain/RecordLockingIsEntryLocked.d.ts +2 -2
- package/domain/RecordLockingIsEntryLocked.js +14 -27
- package/domain/RecordLockingIsEntryLocked.js.map +1 -1
- package/domain/RecordLockingListLockRecords.d.ts +3 -3
- package/domain/RecordLockingListLockRecords.js +26 -37
- package/domain/RecordLockingListLockRecords.js.map +1 -1
- package/domain/RecordLockingLockEntry.d.ts +2 -2
- package/domain/RecordLockingLockEntry.js +9 -22
- package/domain/RecordLockingLockEntry.js.map +1 -1
- package/domain/RecordLockingUnlockEntry.d.ts +2 -2
- package/domain/RecordLockingUnlockEntry.js +14 -27
- package/domain/RecordLockingUnlockEntry.js.map +1 -1
- package/domain/RecordLockingUpdateEntryLock.d.ts +2 -2
- package/domain/RecordLockingUpdateEntryLock.js +14 -27
- package/domain/RecordLockingUpdateEntryLock.js.map +1 -1
- package/domain/abstractions/IRecordLocking.d.ts +2 -2
- package/domain/abstractions/IRecordLocking.js +1 -5
- package/domain/abstractions/IRecordLocking.js.map +1 -1
- package/domain/abstractions/IRecordLockingClient.d.ts +2 -2
- package/domain/abstractions/IRecordLockingClient.js +1 -5
- package/domain/abstractions/IRecordLockingClient.js.map +1 -1
- package/domain/abstractions/IRecordLockingGetLockRecord.d.ts +1 -1
- package/domain/abstractions/IRecordLockingGetLockRecord.js +1 -5
- package/domain/abstractions/IRecordLockingGetLockRecord.js.map +1 -1
- package/domain/abstractions/IRecordLockingGetLockedEntryLockRecord.d.ts +1 -1
- package/domain/abstractions/IRecordLockingGetLockedEntryLockRecord.js +1 -5
- package/domain/abstractions/IRecordLockingGetLockedEntryLockRecord.js.map +1 -1
- package/domain/abstractions/IRecordLockingIsEntryLocked.js +1 -5
- package/domain/abstractions/IRecordLockingListLockRecords.d.ts +1 -1
- package/domain/abstractions/IRecordLockingListLockRecords.js +1 -5
- package/domain/abstractions/IRecordLockingListLockRecords.js.map +1 -1
- package/domain/abstractions/IRecordLockingLockEntry.d.ts +1 -1
- package/domain/abstractions/IRecordLockingLockEntry.js +1 -5
- package/domain/abstractions/IRecordLockingLockEntry.js.map +1 -1
- package/domain/abstractions/IRecordLockingUnlockEntry.d.ts +1 -1
- package/domain/abstractions/IRecordLockingUnlockEntry.js +1 -5
- package/domain/abstractions/IRecordLockingUnlockEntry.js.map +1 -1
- package/domain/abstractions/IRecordLockingUpdateEntryLock.d.ts +1 -1
- package/domain/abstractions/IRecordLockingUpdateEntryLock.js +1 -5
- package/domain/abstractions/IRecordLockingUpdateEntryLock.js.map +1 -1
- package/domain/graphql/fields.js +28 -8
- package/domain/graphql/fields.js.map +1 -1
- package/domain/graphql/getLockRecord.d.ts +2 -2
- package/domain/graphql/getLockRecord.js +16 -12
- package/domain/graphql/getLockRecord.js.map +1 -1
- package/domain/graphql/getLockedEntryLockRecord.d.ts +2 -2
- package/domain/graphql/getLockedEntryLockRecord.js +16 -12
- package/domain/graphql/getLockedEntryLockRecord.js.map +1 -1
- package/domain/graphql/isEntryLocked.d.ts +2 -2
- package/domain/graphql/isEntryLocked.js +14 -12
- package/domain/graphql/isEntryLocked.js.map +1 -1
- package/domain/graphql/listLockRecords.d.ts +2 -2
- package/domain/graphql/listLockRecords.js +23 -14
- package/domain/graphql/listLockRecords.js.map +1 -1
- package/domain/graphql/lockEntry.d.ts +2 -2
- package/domain/graphql/lockEntry.js +17 -13
- package/domain/graphql/lockEntry.js.map +1 -1
- package/domain/graphql/unlockEntry.d.ts +2 -2
- package/domain/graphql/unlockEntry.js +16 -12
- package/domain/graphql/unlockEntry.js.map +1 -1
- package/domain/graphql/updateEntryLock.d.ts +2 -2
- package/domain/graphql/updateEntryLock.js +16 -12
- package/domain/graphql/updateEntryLock.js.map +1 -1
- package/domain/utils/createRecordLockingClient.d.ts +1 -1
- package/domain/utils/createRecordLockingClient.js +6 -12
- package/domain/utils/createRecordLockingClient.js.map +1 -1
- package/domain/utils/createRecordLockingError.d.ts +1 -1
- package/domain/utils/createRecordLockingError.js +1 -7
- package/domain/utils/createRecordLockingError.js.map +1 -1
- package/hooks/index.js +2 -27
- package/hooks/index.js.map +1 -1
- package/hooks/usePermission.js +11 -16
- package/hooks/usePermission.js.map +1 -1
- package/hooks/useRecordLocking.d.ts +1 -1
- package/hooks/useRecordLocking.js +6 -12
- package/hooks/useRecordLocking.js.map +1 -1
- package/index.js +20 -50
- package/index.js.map +1 -1
- package/package.json +17 -18
- package/types.d.ts +5 -7
- package/types.js +1 -5
- package/types.js.map +1 -1
- package/utils/createCacheKey.d.ts +1 -1
- package/utils/createCacheKey.js +5 -11
- package/utils/createCacheKey.js.map +1 -1
- package/components/assets/lock.svg +0 -13
package/types.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { GenericRecord } from "@webiny/app/types";
|
|
3
|
-
import { IRecordLockingUnlockEntryResult } from "./domain/abstractions/IRecordLockingUnlockEntry";
|
|
4
|
-
import { SecurityPermission } from "@webiny/app-security/types";
|
|
1
|
+
import type { CmsContentEntry } from "@webiny/app-headless-cms/types";
|
|
2
|
+
import type { GenericRecord } from "@webiny/app/types";
|
|
3
|
+
import type { IRecordLockingUnlockEntryResult } from "./domain/abstractions/IRecordLockingUnlockEntry";
|
|
4
|
+
import type { SecurityPermission } from "@webiny/app-security/types";
|
|
5
5
|
import type { IRecordLockingUpdateEntryLockResult } from "./domain/abstractions/IRecordLocking.js";
|
|
6
6
|
export interface IRecordLockingIdentity {
|
|
7
7
|
id: string;
|
|
@@ -14,13 +14,11 @@ export interface IRecordLockingRecordLocked {
|
|
|
14
14
|
expiresOn: string;
|
|
15
15
|
actions: IRecordLockingLockRecordAction[];
|
|
16
16
|
}
|
|
17
|
-
export interface IPossiblyRecordLockingRecord extends
|
|
17
|
+
export interface IPossiblyRecordLockingRecord extends CmsContentEntry {
|
|
18
18
|
$lockingType?: string;
|
|
19
|
-
entryId: string;
|
|
20
19
|
$locked?: IRecordLockingRecordLocked | null;
|
|
21
20
|
}
|
|
22
21
|
export interface IRecordLockingRecord extends IPossiblyRecordLockingRecord {
|
|
23
|
-
entryId: string;
|
|
24
22
|
$lockingType: string;
|
|
25
23
|
}
|
|
26
24
|
export type IIsRecordLockedParams = Pick<IRecordLockingRecord, "id" | "$lockingType">;
|
package/types.js
CHANGED
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"names":[],"sources":["types.ts"],"sourcesContent":["import type { CmsContentEntry } from \"@webiny/app-headless-cms/types\";\nimport type { GenericRecord } from \"@webiny/app/types\";\nimport type { IRecordLockingUnlockEntryResult } from \"~/domain/abstractions/IRecordLockingUnlockEntry\";\nimport type { SecurityPermission } from \"@webiny/app-security/types\";\nimport type { IRecordLockingUpdateEntryLockResult } from \"~/domain/abstractions/IRecordLocking.js\";\n\nexport interface IRecordLockingIdentity {\n id: string;\n displayName: string;\n type: string;\n}\n\nexport interface IRecordLockingRecordLocked {\n lockedBy: IRecordLockingIdentity;\n lockedOn: string;\n expiresOn: string;\n actions: IRecordLockingLockRecordAction[];\n}\n\nexport interface IPossiblyRecordLockingRecord extends CmsContentEntry {\n $lockingType?: string;\n $locked?: IRecordLockingRecordLocked | null;\n}\n\nexport interface IRecordLockingRecord extends IPossiblyRecordLockingRecord {\n $lockingType: string;\n}\n\nexport type IIsRecordLockedParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IUpdateEntryLockParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IUnlockEntryParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IFetchLockRecordParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport type IFetchLockedEntryLockRecordParams = Pick<IRecordLockingRecord, \"id\" | \"$lockingType\">;\n\nexport interface IFetchLockRecordResult {\n data: IRecordLockingLockRecord | null;\n error: IRecordLockingError | null;\n}\n\nexport interface IRecordLockingContext<\n T extends IPossiblyRecordLockingRecord = IPossiblyRecordLockingRecord\n> {\n readonly loading: boolean;\n readonly records: IPossiblyRecordLockingRecord[];\n readonly error?: IRecordLockingError | null;\n setRecords(folderId: string, type: string, records: T[]): Promise<void>;\n updateEntryLock(params: IUpdateEntryLockParams): Promise<IRecordLockingUpdateEntryLockResult>;\n isRecordLocked(params?: IIsRecordLockedParams): boolean;\n getLockRecordEntry(id: string): IRecordLockingRecord | undefined;\n fetchLockRecord(params: IFetchLockRecordParams): Promise<IFetchLockRecordResult>;\n fetchLockedEntryLockRecord(\n params: IFetchLockedEntryLockRecordParams\n ): Promise<IRecordLockingLockRecord | null>;\n unlockEntry(params: IUnlockEntryParams): Promise<IRecordLockingUnlockEntryResult>;\n removeEntryLock(params: IUnlockEntryParams): void;\n unlockEntryForce(params: IUnlockEntryParams): Promise<IRecordLockingUnlockEntryResult>;\n isLockExpired(input: Date | string): boolean;\n}\n\nexport interface IRecordLockingLockRecordAction {\n type: string;\n message: string;\n createdBy: IRecordLockingIdentity;\n createdOn: string;\n}\n\nexport interface IRecordLockingLockRecord {\n id: string;\n lockedOn: string;\n expiresOn: string;\n lockedBy: IRecordLockingIdentity;\n targetId: string;\n type: string;\n actions: IRecordLockingLockRecordAction[];\n}\n\nexport interface IRecordLockingMeta {\n totalCount: number;\n cursor: string | null;\n hasMoreItems: boolean;\n}\n\nexport interface IRecordLockingError<T = GenericRecord> {\n message: string;\n code: string;\n data?: T;\n}\n\nexport interface RecordLockingSecurityPermission extends SecurityPermission {\n canForceUnlock?: string;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { GenericRecord } from "@webiny/app/types";
|
|
1
|
+
import type { GenericRecord } from "@webiny/app/types";
|
|
2
2
|
export type ICreateCacheKeyInput = string | GenericRecord | ICreateCacheKeyInput[];
|
|
3
3
|
export declare const createCacheKey: (input: ICreateCacheKeyInput) => Promise<string>;
|
package/utils/createCacheKey.js
CHANGED
|
@@ -1,19 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createCacheKey = void 0;
|
|
7
|
-
var _cryptoHash = require("crypto-hash");
|
|
8
|
-
var createKey = function createKey(input) {
|
|
1
|
+
import { sha1 } from "crypto-hash";
|
|
2
|
+
const createKey = input => {
|
|
9
3
|
if (typeof input === "string") {
|
|
10
4
|
return input;
|
|
11
5
|
}
|
|
12
6
|
return JSON.stringify(input);
|
|
13
7
|
};
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
return
|
|
8
|
+
export const createCacheKey = input => {
|
|
9
|
+
const key = createKey(input);
|
|
10
|
+
return sha1(key, {
|
|
17
11
|
outputFormat: "hex"
|
|
18
12
|
});
|
|
19
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["sha1","createKey","input","JSON","stringify","createCacheKey","key","outputFormat"],"sources":["createCacheKey.ts"],"sourcesContent":["import type { GenericRecord } from \"@webiny/app/types\";\nimport { sha1 } from \"crypto-hash\";\n\nexport type ICreateCacheKeyInput = string | GenericRecord | ICreateCacheKeyInput[];\n\nconst createKey = (input: ICreateCacheKeyInput): string => {\n if (typeof input === \"string\") {\n return input;\n }\n return JSON.stringify(input);\n};\n\nexport const createCacheKey = (input: ICreateCacheKeyInput): Promise<string> => {\n const key = createKey(input);\n\n return sha1(key, {\n outputFormat: \"hex\"\n });\n};\n"],"mappings":"AACA,SAASA,IAAI,QAAQ,aAAa;AAIlC,MAAMC,SAAS,GAAIC,KAA2B,IAAa;EACvD,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;IAC3B,OAAOA,KAAK;EAChB;EACA,OAAOC,IAAI,CAACC,SAAS,CAACF,KAAK,CAAC;AAChC,CAAC;AAED,OAAO,MAAMG,cAAc,GAAIH,KAA2B,IAAsB;EAC5E,MAAMI,GAAG,GAAGL,SAAS,CAACC,KAAK,CAAC;EAE5B,OAAOF,IAAI,CAACM,GAAG,EAAE;IACbC,YAAY,EAAE;EAClB,CAAC,CAAC;AACN,CAAC","ignoreList":[]}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
-
<svg width="24px" height="24px" version="1.1" xmlns="http://www.w3.org/2000/svg">
|
|
3
|
-
<g stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
-
<g>
|
|
5
|
-
<g>
|
|
6
|
-
<polygon points="0 0 24 0 24 24 0 24"/>
|
|
7
|
-
<polygon opacity="0.87" points="0 0 24 0 24 24 0 24"/>
|
|
8
|
-
</g>
|
|
9
|
-
<path d="M18,8 L17,8 L17,6 C17,3.24 14.76,1 12,1 C9.24,1 7,3.24 7,6 L7,8 L6,8 C4.9,8 4,8.9 4,10 L4,20 C4,21.1 4.9,22 6,22 L18,22 C19.1,22 20,21.1 20,20 L20,10 C20,8.9 19.1,8 18,8 Z M12,17 C10.9,17 10,16.1 10,15 C10,13.9 10.9,13 12,13 C13.1,13 14,13.9 14,15 C14,16.1 13.1,17 12,17 Z M9,8 L9,6 C9,4.34 10.34,3 12,3 C13.66,3 15,4.34 15,6 L15,8 L9,8 Z"
|
|
10
|
-
fill="rgba(0, 0, 0, 0.54)" fill-rule="nonzero"/>
|
|
11
|
-
</g>
|
|
12
|
-
</g>
|
|
13
|
-
</svg>
|