@webiny/api-record-locking 0.0.0-unstable.eb196ccd2f → 0.0.0-unstable.eb81deee7e
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -9
- package/RecordLockingAppFeature.d.ts +11 -0
- package/RecordLockingAppFeature.js +20 -0
- package/RecordLockingAppFeature.js.map +1 -0
- package/domain/LockRecord.d.ts +45 -0
- package/domain/LockRecord.js +73 -0
- package/domain/LockRecord.js.map +1 -0
- package/domain/RecordLockingModel.d.ts +9 -0
- package/domain/RecordLockingModel.js +33 -0
- package/domain/RecordLockingModel.js.map +1 -0
- package/domain/abstractions.d.ts +24 -0
- package/domain/abstractions.js +6 -0
- package/domain/abstractions.js.map +1 -0
- package/domain/calculateExpiresOn.d.ts +1 -0
- package/domain/calculateExpiresOn.js +8 -0
- package/domain/calculateExpiresOn.js.map +1 -0
- package/domain/errors.d.ts +71 -0
- package/domain/errors.js +85 -0
- package/domain/errors.js.map +1 -0
- package/domain/index.d.ts +4 -0
- package/domain/index.js +4 -0
- package/domain/types.d.ts +44 -0
- package/domain/types.js +9 -0
- package/domain/types.js.map +1 -0
- package/features/GetLockRecord/GetLockRecordRepository.d.ts +17 -0
- package/features/GetLockRecord/GetLockRecordRepository.js +45 -0
- package/features/GetLockRecord/GetLockRecordRepository.js.map +1 -0
- package/features/GetLockRecord/GetLockRecordUseCase.d.ts +12 -0
- package/features/GetLockRecord/GetLockRecordUseCase.js +18 -0
- package/features/GetLockRecord/GetLockRecordUseCase.js.map +1 -0
- package/features/GetLockRecord/abstractions.d.ts +41 -0
- package/features/GetLockRecord/abstractions.js +6 -0
- package/features/GetLockRecord/abstractions.js.map +1 -0
- package/features/GetLockRecord/feature.d.ts +4 -0
- package/features/GetLockRecord/feature.js +13 -0
- package/features/GetLockRecord/feature.js.map +1 -0
- package/features/GetLockRecord/index.d.ts +2 -0
- package/features/GetLockRecord/index.js +2 -0
- package/features/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.d.ts +15 -0
- package/features/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.js +30 -0
- package/features/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.js.map +1 -0
- package/features/GetLockedEntryLockRecord/abstractions.d.ts +26 -0
- package/features/GetLockedEntryLockRecord/abstractions.js +5 -0
- package/features/GetLockedEntryLockRecord/abstractions.js.map +1 -0
- package/features/GetLockedEntryLockRecord/feature.d.ts +4 -0
- package/features/GetLockedEntryLockRecord/feature.js +11 -0
- package/features/GetLockedEntryLockRecord/feature.js.map +1 -0
- package/features/GetLockedEntryLockRecord/index.d.ts +2 -0
- package/features/GetLockedEntryLockRecord/index.js +2 -0
- package/features/IsEntryLocked/IsEntryLockedUseCase.d.ts +14 -0
- package/features/IsEntryLocked/IsEntryLockedUseCase.js +33 -0
- package/features/IsEntryLocked/IsEntryLockedUseCase.js.map +1 -0
- package/features/IsEntryLocked/abstractions.d.ts +24 -0
- package/features/IsEntryLocked/abstractions.js +5 -0
- package/features/IsEntryLocked/abstractions.js.map +1 -0
- package/features/IsEntryLocked/feature.d.ts +4 -0
- package/features/IsEntryLocked/feature.js +11 -0
- package/features/IsEntryLocked/feature.js.map +1 -0
- package/features/IsEntryLocked/index.d.ts +1 -0
- package/features/IsEntryLocked/index.js +1 -0
- package/features/KickOutCurrentUser/KickOutCurrentUserUseCase.d.ts +15 -0
- package/features/KickOutCurrentUser/KickOutCurrentUserUseCase.js +36 -0
- package/features/KickOutCurrentUser/KickOutCurrentUserUseCase.js.map +1 -0
- package/features/KickOutCurrentUser/abstractions.d.ts +17 -0
- package/features/KickOutCurrentUser/abstractions.js +5 -0
- package/features/KickOutCurrentUser/abstractions.js.map +1 -0
- package/features/KickOutCurrentUser/feature.d.ts +4 -0
- package/features/KickOutCurrentUser/feature.js +11 -0
- package/features/KickOutCurrentUser/feature.js.map +1 -0
- package/features/KickOutCurrentUser/index.d.ts +1 -0
- package/features/KickOutCurrentUser/index.js +1 -0
- package/features/ListAllLockRecords/ListAllLockRecordsRepository.d.ts +18 -0
- package/features/ListAllLockRecords/ListAllLockRecordsRepository.js +50 -0
- package/features/ListAllLockRecords/ListAllLockRecordsRepository.js.map +1 -0
- package/features/ListAllLockRecords/ListAllLockRecordsUseCase.d.ts +11 -0
- package/features/ListAllLockRecords/ListAllLockRecordsUseCase.js +18 -0
- package/features/ListAllLockRecords/ListAllLockRecordsUseCase.js.map +1 -0
- package/features/ListAllLockRecords/abstractions.d.ts +40 -0
- package/features/ListAllLockRecords/abstractions.js +6 -0
- package/features/ListAllLockRecords/abstractions.js.map +1 -0
- package/features/ListAllLockRecords/feature.d.ts +4 -0
- package/features/ListAllLockRecords/feature.js +13 -0
- package/features/ListAllLockRecords/feature.js.map +1 -0
- package/features/ListAllLockRecords/index.d.ts +2 -0
- package/features/ListAllLockRecords/index.js +2 -0
- package/features/ListLockRecords/ListLockRecordsRepository.d.ts +18 -0
- package/features/ListLockRecords/ListLockRecordsRepository.js +50 -0
- package/features/ListLockRecords/ListLockRecordsRepository.js.map +1 -0
- package/features/ListLockRecords/ListLockRecordsUseCase.d.ts +15 -0
- package/features/ListLockRecords/ListLockRecordsUseCase.js +33 -0
- package/features/ListLockRecords/ListLockRecordsUseCase.js.map +1 -0
- package/features/ListLockRecords/abstractions.d.ts +45 -0
- package/features/ListLockRecords/abstractions.js +6 -0
- package/features/ListLockRecords/abstractions.js.map +1 -0
- package/features/ListLockRecords/feature.d.ts +4 -0
- package/features/ListLockRecords/feature.js +13 -0
- package/features/ListLockRecords/feature.js.map +1 -0
- package/features/ListLockRecords/index.d.ts +1 -0
- package/features/ListLockRecords/index.js +1 -0
- package/features/LockEntry/LockEntryEventsDecorator.d.ts +14 -0
- package/features/LockEntry/LockEntryEventsDecorator.js +40 -0
- package/features/LockEntry/LockEntryEventsDecorator.js.map +1 -0
- package/features/LockEntry/LockEntryRepository.d.ts +17 -0
- package/features/LockEntry/LockEntryRepository.js +46 -0
- package/features/LockEntry/LockEntryRepository.js.map +1 -0
- package/features/LockEntry/LockEntryUseCase.d.ts +14 -0
- package/features/LockEntry/LockEntryUseCase.js +31 -0
- package/features/LockEntry/LockEntryUseCase.js.map +1 -0
- package/features/LockEntry/abstractions.d.ts +41 -0
- package/features/LockEntry/abstractions.js +6 -0
- package/features/LockEntry/abstractions.js.map +1 -0
- package/features/LockEntry/events.d.ts +45 -0
- package/features/LockEntry/events.js +32 -0
- package/features/LockEntry/events.js.map +1 -0
- package/features/LockEntry/feature.d.ts +4 -0
- package/features/LockEntry/feature.js +15 -0
- package/features/LockEntry/feature.js.map +1 -0
- package/features/LockEntry/index.d.ts +1 -0
- package/features/LockEntry/index.js +1 -0
- package/features/RecordLockingFeature.d.ts +10 -0
- package/features/RecordLockingFeature.js +35 -0
- package/features/RecordLockingFeature.js.map +1 -0
- package/features/RecordLockingModelProvider.d.ts +18 -0
- package/features/RecordLockingModelProvider.js +22 -0
- package/features/RecordLockingModelProvider.js.map +1 -0
- package/features/UnlockEntry/UnlockEntryEventsDecorator.d.ts +14 -0
- package/features/UnlockEntry/UnlockEntryEventsDecorator.js +41 -0
- package/features/UnlockEntry/UnlockEntryEventsDecorator.js.map +1 -0
- package/features/UnlockEntry/UnlockEntryRepository.d.ts +14 -0
- package/features/UnlockEntry/UnlockEntryRepository.js +43 -0
- package/features/UnlockEntry/UnlockEntryRepository.js.map +1 -0
- package/features/UnlockEntry/UnlockEntryUseCase.d.ts +18 -0
- package/features/UnlockEntry/UnlockEntryUseCase.js +65 -0
- package/features/UnlockEntry/UnlockEntryUseCase.js.map +1 -0
- package/features/UnlockEntry/abstractions.d.ts +44 -0
- package/features/UnlockEntry/abstractions.js +6 -0
- package/features/UnlockEntry/abstractions.js.map +1 -0
- package/features/UnlockEntry/events.d.ts +46 -0
- package/features/UnlockEntry/events.js +32 -0
- package/features/UnlockEntry/events.js.map +1 -0
- package/features/UnlockEntry/feature.d.ts +4 -0
- package/features/UnlockEntry/feature.js +15 -0
- package/features/UnlockEntry/feature.js.map +1 -0
- package/features/UnlockEntry/hasFullAccessPermission.d.ts +2 -0
- package/features/UnlockEntry/hasFullAccessPermission.js +9 -0
- package/features/UnlockEntry/hasFullAccessPermission.js.map +1 -0
- package/features/UnlockEntry/index.d.ts +1 -0
- package/features/UnlockEntry/index.js +1 -0
- package/features/UnlockEntryRequest/UnlockEntryRequestEventsDecorator.d.ts +14 -0
- package/features/UnlockEntryRequest/UnlockEntryRequestEventsDecorator.js +40 -0
- package/features/UnlockEntryRequest/UnlockEntryRequestEventsDecorator.js.map +1 -0
- package/features/UnlockEntryRequest/UnlockEntryRequestRepository.d.ts +17 -0
- package/features/UnlockEntryRequest/UnlockEntryRequestRepository.js +45 -0
- package/features/UnlockEntryRequest/UnlockEntryRequestRepository.js.map +1 -0
- package/features/UnlockEntryRequest/UnlockEntryRequestUseCase.d.ts +16 -0
- package/features/UnlockEntryRequest/UnlockEntryRequestUseCase.js +75 -0
- package/features/UnlockEntryRequest/UnlockEntryRequestUseCase.js.map +1 -0
- package/features/UnlockEntryRequest/abstractions.d.ts +42 -0
- package/features/UnlockEntryRequest/abstractions.js +6 -0
- package/features/UnlockEntryRequest/abstractions.js.map +1 -0
- package/features/UnlockEntryRequest/events.d.ts +45 -0
- package/features/UnlockEntryRequest/events.js +32 -0
- package/features/UnlockEntryRequest/events.js.map +1 -0
- package/features/UnlockEntryRequest/feature.d.ts +4 -0
- package/features/UnlockEntryRequest/feature.js +15 -0
- package/features/UnlockEntryRequest/feature.js.map +1 -0
- package/features/UnlockEntryRequest/index.d.ts +3 -0
- package/features/UnlockEntryRequest/index.js +3 -0
- package/features/UpdateEntryLock/UpdateEntryLockRepository.d.ts +21 -0
- package/features/UpdateEntryLock/UpdateEntryLockRepository.js +61 -0
- package/features/UpdateEntryLock/UpdateEntryLockRepository.js.map +1 -0
- package/features/UpdateEntryLock/UpdateEntryLockUseCase.d.ts +18 -0
- package/features/UpdateEntryLock/UpdateEntryLockUseCase.js +51 -0
- package/features/UpdateEntryLock/UpdateEntryLockUseCase.js.map +1 -0
- package/features/UpdateEntryLock/abstractions.d.ts +42 -0
- package/features/UpdateEntryLock/abstractions.js +6 -0
- package/features/UpdateEntryLock/abstractions.js.map +1 -0
- package/features/UpdateEntryLock/feature.d.ts +4 -0
- package/features/UpdateEntryLock/feature.js +13 -0
- package/features/UpdateEntryLock/feature.js.map +1 -0
- package/features/UpdateEntryLock/index.d.ts +1 -0
- package/features/UpdateEntryLock/index.js +1 -0
- package/graphql/RecordLockingGraphQLSchema.d.ts +25 -0
- package/graphql/RecordLockingGraphQLSchema.js +390 -0
- package/graphql/RecordLockingGraphQLSchema.js.map +1 -0
- package/graphql/checkPermissions.d.ts +5 -0
- package/graphql/checkPermissions.js +8 -0
- package/graphql/checkPermissions.js.map +1 -0
- package/{utils → graphql}/resolve.d.ts +3 -3
- package/graphql/resolve.js +20 -0
- package/graphql/resolve.js.map +1 -0
- package/index.d.ts +2 -9
- package/index.js +1 -39
- package/package.json +29 -28
- package/types.d.ts +3 -132
- package/types.js +6 -27
- package/types.js.map +1 -1
- package/utils/convertWhereCondition.d.ts +1 -1
- package/utils/convertWhereCondition.js +21 -36
- package/utils/convertWhereCondition.js.map +1 -1
- package/utils/getTimeout.js +8 -22
- package/utils/getTimeout.js.map +1 -1
- package/utils/lockRecordDatabaseId.js +7 -20
- package/utils/lockRecordDatabaseId.js.map +1 -1
- package/abstractions/IGetLockRecordUseCase.d.ts +0 -8
- package/abstractions/IGetLockRecordUseCase.js +0 -7
- package/abstractions/IGetLockRecordUseCase.js.map +0 -1
- package/abstractions/IGetLockedEntryLockRecordUseCase.d.ts +0 -8
- package/abstractions/IGetLockedEntryLockRecordUseCase.js +0 -7
- package/abstractions/IGetLockedEntryLockRecordUseCase.js.map +0 -1
- package/abstractions/IIsEntryLocked.d.ts +0 -8
- package/abstractions/IIsEntryLocked.js +0 -7
- package/abstractions/IIsEntryLocked.js.map +0 -1
- package/abstractions/IKickOutCurrentUserUseCase.d.ts +0 -5
- package/abstractions/IKickOutCurrentUserUseCase.js +0 -7
- package/abstractions/IKickOutCurrentUserUseCase.js.map +0 -1
- package/abstractions/IListAllLockRecordsUseCase.d.ts +0 -9
- package/abstractions/IListAllLockRecordsUseCase.js +0 -7
- package/abstractions/IListAllLockRecordsUseCase.js.map +0 -1
- package/abstractions/IListLockRecordsUseCase.d.ts +0 -10
- package/abstractions/IListLockRecordsUseCase.js +0 -7
- package/abstractions/IListLockRecordsUseCase.js.map +0 -1
- package/abstractions/ILockEntryUseCase.d.ts +0 -11
- package/abstractions/ILockEntryUseCase.js +0 -7
- package/abstractions/ILockEntryUseCase.js.map +0 -1
- package/abstractions/IUnlockEntryRequestUseCase.d.ts +0 -11
- package/abstractions/IUnlockEntryRequestUseCase.js +0 -7
- package/abstractions/IUnlockEntryRequestUseCase.js.map +0 -1
- package/abstractions/IUnlockEntryUseCase.d.ts +0 -12
- package/abstractions/IUnlockEntryUseCase.js +0 -7
- package/abstractions/IUnlockEntryUseCase.js.map +0 -1
- package/abstractions/IUpdateEntryLockUseCase.d.ts +0 -11
- package/abstractions/IUpdateEntryLockUseCase.js +0 -7
- package/abstractions/IUpdateEntryLockUseCase.js.map +0 -1
- package/crud/crud.d.ts +0 -7
- package/crud/crud.js +0 -204
- package/crud/crud.js.map +0 -1
- package/crud/model.d.ts +0 -2
- package/crud/model.js +0 -127
- package/crud/model.js.map +0 -1
- package/graphql/schema.d.ts +0 -7
- package/graphql/schema.js +0 -280
- package/graphql/schema.js.map +0 -1
- package/index.js.map +0 -1
- package/useCases/GetLockRecord/GetLockRecordUseCase.d.ts +0 -16
- package/useCases/GetLockRecord/GetLockRecordUseCase.js +0 -39
- package/useCases/GetLockRecord/GetLockRecordUseCase.js.map +0 -1
- package/useCases/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.d.ts +0 -16
- package/useCases/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.js +0 -29
- package/useCases/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.js.map +0 -1
- package/useCases/IsEntryLocked/IsEntryLockedUseCase.d.ts +0 -13
- package/useCases/IsEntryLocked/IsEntryLockedUseCase.js +0 -31
- package/useCases/IsEntryLocked/IsEntryLockedUseCase.js.map +0 -1
- package/useCases/KickOutCurrentUser/KickOutCurrentUserUseCase.d.ts +0 -12
- package/useCases/KickOutCurrentUser/KickOutCurrentUserUseCase.js +0 -46
- package/useCases/KickOutCurrentUser/KickOutCurrentUserUseCase.js.map +0 -1
- package/useCases/ListAllLockRecordsUseCase/ListAllLockRecordsUseCase.d.ts +0 -13
- package/useCases/ListAllLockRecordsUseCase/ListAllLockRecordsUseCase.js +0 -34
- package/useCases/ListAllLockRecordsUseCase/ListAllLockRecordsUseCase.js.map +0 -1
- package/useCases/ListLockRecordsUseCase/ListLockRecordsUseCase.d.ts +0 -14
- package/useCases/ListLockRecordsUseCase/ListLockRecordsUseCase.js +0 -27
- package/useCases/ListLockRecordsUseCase/ListLockRecordsUseCase.js.map +0 -1
- package/useCases/LockEntryUseCase/LockEntryUseCase.d.ts +0 -21
- package/useCases/LockEntryUseCase/LockEntryUseCase.js +0 -64
- package/useCases/LockEntryUseCase/LockEntryUseCase.js.map +0 -1
- package/useCases/UnlockEntryUseCase/UnlockEntryUseCase.d.ts +0 -23
- package/useCases/UnlockEntryUseCase/UnlockEntryUseCase.js +0 -90
- package/useCases/UnlockEntryUseCase/UnlockEntryUseCase.js.map +0 -1
- package/useCases/UnlockRequestUseCase/UnlockEntryRequestUseCase.d.ts +0 -21
- package/useCases/UnlockRequestUseCase/UnlockEntryRequestUseCase.js +0 -82
- package/useCases/UnlockRequestUseCase/UnlockEntryRequestUseCase.js.map +0 -1
- package/useCases/UpdateEntryLock/UpdateEntryLockUseCase.d.ts +0 -26
- package/useCases/UpdateEntryLock/UpdateEntryLockUseCase.js +0 -93
- package/useCases/UpdateEntryLock/UpdateEntryLockUseCase.js.map +0 -1
- package/useCases/index.d.ts +0 -31
- package/useCases/index.js +0 -96
- package/useCases/index.js.map +0 -1
- package/useCases/types.d.ts +0 -5
- package/useCases/types.js +0 -7
- package/useCases/types.js.map +0 -1
- package/utils/calculateExpiresOn.d.ts +0 -2
- package/utils/calculateExpiresOn.js +0 -16
- package/utils/calculateExpiresOn.js.map +0 -1
- package/utils/checkPermissions.d.ts +0 -7
- package/utils/checkPermissions.js +0 -21
- package/utils/checkPermissions.js.map +0 -1
- package/utils/convertEntryToLockRecord.d.ts +0 -28
- package/utils/convertEntryToLockRecord.js +0 -91
- package/utils/convertEntryToLockRecord.js.map +0 -1
- package/utils/resolve.js +0 -30
- package/utils/resolve.js.map +0 -1
- package/utils/validateSameIdentity.d.ts +0 -6
- package/utils/validateSameIdentity.js +0 -24
- package/utils/validateSameIdentity.js.map +0 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ErrorResponse, Response } from "@webiny/
|
|
2
|
-
import type { IRecordLockingMeta } from "../types";
|
|
1
|
+
import { ErrorResponse, Response } from "@webiny/api-graphql";
|
|
2
|
+
import type { IRecordLockingMeta } from "../types.js";
|
|
3
3
|
export declare const resolve: <T>(cb: () => Promise<T>) => Promise<Response<T> | ErrorResponse>;
|
|
4
4
|
export interface IListResponse<T> {
|
|
5
5
|
items: T[];
|
|
6
6
|
meta: IRecordLockingMeta;
|
|
7
7
|
}
|
|
8
|
-
export declare const resolveList: <T>(cb: () => Promise<IListResponse<T>>) => Promise<
|
|
8
|
+
export declare const resolveList: <T>(cb: () => Promise<IListResponse<T>>) => Promise<Response<T[]> | ErrorResponse>;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ErrorResponse, ListErrorResponse, ListResponse, Response } from "@webiny/api-graphql";
|
|
2
|
+
const resolve = async (cb)=>{
|
|
3
|
+
try {
|
|
4
|
+
const result = await cb();
|
|
5
|
+
return new Response(result);
|
|
6
|
+
} catch (ex) {
|
|
7
|
+
return new ErrorResponse(ex);
|
|
8
|
+
}
|
|
9
|
+
};
|
|
10
|
+
const resolveList = async (cb)=>{
|
|
11
|
+
try {
|
|
12
|
+
const { items, meta } = await cb();
|
|
13
|
+
return new ListResponse(items, meta);
|
|
14
|
+
} catch (ex) {
|
|
15
|
+
return new ListErrorResponse(ex);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
export { resolve, resolveList };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"graphql/resolve.js","sources":["../../src/graphql/resolve.ts"],"sourcesContent":["import { ErrorResponse, ListErrorResponse, ListResponse, Response } from \"@webiny/api-graphql\";\nimport type { IRecordLockingMeta } from \"~/types.js\";\n\nexport const resolve = async <T>(cb: () => Promise<T>): Promise<Response<T> | ErrorResponse> => {\n try {\n const result = await cb();\n return new Response<T>(result);\n } catch (ex) {\n return new ErrorResponse(ex);\n }\n};\n\nexport interface IListResponse<T> {\n items: T[];\n meta: IRecordLockingMeta;\n}\n\nexport const resolveList = async <T>(\n cb: () => Promise<IListResponse<T>>\n): Promise<Response<T[]> | ErrorResponse> => {\n try {\n const { items, meta } = await cb();\n return new ListResponse(items, meta);\n } catch (ex) {\n return new ListErrorResponse(ex);\n }\n};\n"],"names":["resolve","cb","result","Response","ex","ErrorResponse","resolveList","items","meta","ListResponse","ListErrorResponse"],"mappings":";AAGO,MAAMA,UAAU,OAAUC;IAC7B,IAAI;QACA,MAAMC,SAAS,MAAMD;QACrB,OAAO,IAAIE,SAAYD;IAC3B,EAAE,OAAOE,IAAI;QACT,OAAO,IAAIC,cAAcD;IAC7B;AACJ;AAOO,MAAME,cAAc,OACvBL;IAEA,IAAI;QACA,MAAM,EAAEM,KAAK,EAAEC,IAAI,EAAE,GAAG,MAAMP;QAC9B,OAAO,IAAIQ,aAAaF,OAAOC;IACnC,EAAE,OAAOJ,IAAI;QACT,OAAO,IAAIM,kBAAkBN;IACjC;AACJ"}
|
package/index.d.ts
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
export interface ICreateContextPluginParams {
|
|
4
|
-
/**
|
|
5
|
-
* A number of seconds after last activity to wait before the record is automatically unlocked.
|
|
6
|
-
*/
|
|
7
|
-
timeout?: number;
|
|
8
|
-
}
|
|
9
|
-
export declare const createRecordLocking: (params?: ICreateContextPluginParams) => ContextPlugin<Context>[];
|
|
1
|
+
export { RecordLockingAppFeature } from "./RecordLockingAppFeature.js";
|
|
2
|
+
export type { IRecordLockingAppFeatureParams } from "./RecordLockingAppFeature.js";
|
package/index.js
CHANGED
|
@@ -1,39 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createRecordLocking = void 0;
|
|
7
|
-
var _schema = require("./graphql/schema");
|
|
8
|
-
var _api = require("@webiny/api");
|
|
9
|
-
var _crud = require("./crud/crud");
|
|
10
|
-
var _model = require("./crud/model");
|
|
11
|
-
var _apiHeadlessCms = require("@webiny/api-headless-cms");
|
|
12
|
-
const createContextPlugin = params => {
|
|
13
|
-
const plugin = new _api.ContextPlugin(async context => {
|
|
14
|
-
if (!context.wcp.canUseRecordLocking()) {
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const ready = await (0, _apiHeadlessCms.isHeadlessCmsReady)(context);
|
|
18
|
-
if (!ready) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
context.plugins.register((0, _model.createLockingModel)());
|
|
22
|
-
context.recordLocking = await (0, _crud.createRecordLockingCrud)({
|
|
23
|
-
context,
|
|
24
|
-
timeout: params?.timeout
|
|
25
|
-
});
|
|
26
|
-
const graphQlPlugin = await (0, _schema.createGraphQLSchema)({
|
|
27
|
-
context
|
|
28
|
-
});
|
|
29
|
-
context.plugins.register(graphQlPlugin);
|
|
30
|
-
});
|
|
31
|
-
plugin.name = "context.recordLocking";
|
|
32
|
-
return plugin;
|
|
33
|
-
};
|
|
34
|
-
const createRecordLocking = params => {
|
|
35
|
-
return [createContextPlugin(params)];
|
|
36
|
-
};
|
|
37
|
-
exports.createRecordLocking = createRecordLocking;
|
|
38
|
-
|
|
39
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export { RecordLockingAppFeature } from "./RecordLockingAppFeature.js";
|
package/package.json
CHANGED
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@webiny/api-record-locking",
|
|
3
|
-
"version": "0.0.0-unstable.
|
|
4
|
-
"
|
|
3
|
+
"version": "0.0.0-unstable.eb81deee7e",
|
|
4
|
+
"type": "module",
|
|
5
|
+
"exports": {
|
|
6
|
+
".": "./index.js",
|
|
7
|
+
"./*": "./*"
|
|
8
|
+
},
|
|
5
9
|
"repository": {
|
|
6
10
|
"type": "git",
|
|
7
11
|
"url": "https://github.com/webiny/webiny-js.git"
|
|
@@ -12,35 +16,32 @@
|
|
|
12
16
|
],
|
|
13
17
|
"license": "MIT",
|
|
14
18
|
"dependencies": {
|
|
15
|
-
"@webiny/api": "0.0.0-unstable.
|
|
16
|
-
"@webiny/api-
|
|
17
|
-
"@webiny/api-
|
|
18
|
-
"@webiny/
|
|
19
|
-
"@webiny/
|
|
20
|
-
"@webiny/handler
|
|
21
|
-
"@webiny/
|
|
22
|
-
"@webiny/plugins": "0.0.0-unstable.eb196ccd2f",
|
|
23
|
-
"@webiny/pubsub": "0.0.0-unstable.eb196ccd2f",
|
|
24
|
-
"@webiny/utils": "0.0.0-unstable.eb196ccd2f"
|
|
19
|
+
"@webiny/api": "0.0.0-unstable.eb81deee7e",
|
|
20
|
+
"@webiny/api-graphql": "0.0.0-unstable.eb81deee7e",
|
|
21
|
+
"@webiny/api-headless-cms": "0.0.0-unstable.eb81deee7e",
|
|
22
|
+
"@webiny/api-websockets": "0.0.0-unstable.eb81deee7e",
|
|
23
|
+
"@webiny/feature": "0.0.0-unstable.eb81deee7e",
|
|
24
|
+
"@webiny/handler": "0.0.0-unstable.eb81deee7e",
|
|
25
|
+
"@webiny/utils": "0.0.0-unstable.eb81deee7e"
|
|
25
26
|
},
|
|
26
27
|
"devDependencies": {
|
|
27
|
-
"@webiny/api-
|
|
28
|
-
"@webiny/api-
|
|
29
|
-
"@webiny/
|
|
30
|
-
"@webiny/
|
|
31
|
-
"@webiny/
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
28
|
+
"@webiny/api-core": "0.0.0-unstable.eb81deee7e",
|
|
29
|
+
"@webiny/api-core-testing": "0.0.0-unstable.eb81deee7e",
|
|
30
|
+
"@webiny/build-tools": "0.0.0-unstable.eb81deee7e",
|
|
31
|
+
"@webiny/di": "1.1.0",
|
|
32
|
+
"@webiny/event-handler-core": "0.0.0-unstable.eb81deee7e",
|
|
33
|
+
"@webiny/wcp": "0.0.0-unstable.eb81deee7e",
|
|
34
|
+
"graphql": "16.14.2",
|
|
35
|
+
"rimraf": "6.1.3",
|
|
36
|
+
"type-fest": "5.8.0",
|
|
37
|
+
"typescript": "7.0.2",
|
|
38
|
+
"vitest": "4.1.11"
|
|
36
39
|
},
|
|
37
40
|
"publishConfig": {
|
|
38
|
-
"access": "public"
|
|
39
|
-
"directory": "dist"
|
|
40
|
-
},
|
|
41
|
-
"scripts": {
|
|
42
|
-
"build": "node ../cli/bin.js run build",
|
|
43
|
-
"watch": "node ../cli/bin.js run watch"
|
|
41
|
+
"access": "public"
|
|
44
42
|
},
|
|
45
|
-
"gitHead": "
|
|
43
|
+
"gitHead": "8476da73b653c89cc1474d968baf55c1b0ae0e5f",
|
|
44
|
+
"webiny": {
|
|
45
|
+
"publishFrom": "dist"
|
|
46
|
+
}
|
|
46
47
|
}
|
package/types.d.ts
CHANGED
|
@@ -1,26 +1,8 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import { CmsEntry, CmsError } from "@webiny/api-headless-cms/types";
|
|
3
|
-
|
|
4
|
-
import type { Context as IWebsocketsContext, IWebsocketsContextObject } from "@webiny/api-websockets/types";
|
|
5
|
-
import type { SecurityPermission } from "@webiny/api-security/types";
|
|
6
|
-
export { CmsError, CmsEntry };
|
|
1
|
+
import type { CmsEntryListParams, CmsEntryMeta, CmsIdentity } from "@webiny/api-headless-cms/types/index.js";
|
|
2
|
+
import { CmsEntry, CmsError } from "@webiny/api-headless-cms/types/index.js";
|
|
3
|
+
export type { CmsError, CmsEntry };
|
|
7
4
|
export type IRecordLockingIdentity = CmsIdentity;
|
|
8
|
-
export type IRecordLockingModelManager = CmsModelManager<IRecordLockingLockRecordValues>;
|
|
9
5
|
export type IRecordLockingMeta = CmsEntryMeta;
|
|
10
|
-
export interface IHasRecordLockingAccessCallable {
|
|
11
|
-
(): Promise<boolean>;
|
|
12
|
-
}
|
|
13
|
-
export interface IGetWebsocketsContextCallable {
|
|
14
|
-
(): IWebsocketsContextObject;
|
|
15
|
-
}
|
|
16
|
-
export interface IGetIdentity {
|
|
17
|
-
(): IRecordLockingIdentity;
|
|
18
|
-
}
|
|
19
|
-
export interface IRecordLockingLockRecordValues {
|
|
20
|
-
targetId: string;
|
|
21
|
-
type: IRecordLockingLockRecordEntryType;
|
|
22
|
-
actions?: IRecordLockingLockRecordAction[];
|
|
23
|
-
}
|
|
24
6
|
export declare enum RecordLockingLockRecordActionType {
|
|
25
7
|
requested = "requested",
|
|
26
8
|
approved = "approved",
|
|
@@ -69,114 +51,3 @@ export interface IRecordLockingLockRecord extends IRecordLockingLockRecordObject
|
|
|
69
51
|
export type IRecordLockingLockRecordEntryType = string;
|
|
70
52
|
export type IRecordLockingListAllLockRecordsParams = Pick<CmsEntryListParams, "where" | "limit" | "sort" | "after">;
|
|
71
53
|
export type IRecordLockingListLockRecordsParams = IRecordLockingListAllLockRecordsParams;
|
|
72
|
-
export interface IRecordLockingListAllLockRecordsResponse {
|
|
73
|
-
items: IRecordLockingLockRecord[];
|
|
74
|
-
meta: IRecordLockingMeta;
|
|
75
|
-
}
|
|
76
|
-
export type IRecordLockingListLockRecordsResponse = IRecordLockingListAllLockRecordsResponse;
|
|
77
|
-
export interface IRecordLockingGetLockRecordParams {
|
|
78
|
-
id: string;
|
|
79
|
-
type: IRecordLockingLockRecordEntryType;
|
|
80
|
-
}
|
|
81
|
-
export interface IRecordLockingIsLockedParams {
|
|
82
|
-
id: string;
|
|
83
|
-
type: IRecordLockingLockRecordEntryType;
|
|
84
|
-
}
|
|
85
|
-
export interface IRecordLockingGetLockedEntryLockRecordParams {
|
|
86
|
-
id: string;
|
|
87
|
-
type: IRecordLockingLockRecordEntryType;
|
|
88
|
-
}
|
|
89
|
-
export interface IRecordLockingLockEntryParams {
|
|
90
|
-
id: string;
|
|
91
|
-
type: IRecordLockingLockRecordEntryType;
|
|
92
|
-
}
|
|
93
|
-
export interface IRecordLockingUpdateEntryLockParams {
|
|
94
|
-
id: string;
|
|
95
|
-
type: IRecordLockingLockRecordEntryType;
|
|
96
|
-
}
|
|
97
|
-
export interface IRecordLockingUnlockEntryParams {
|
|
98
|
-
id: string;
|
|
99
|
-
type: IRecordLockingLockRecordEntryType;
|
|
100
|
-
force?: boolean;
|
|
101
|
-
}
|
|
102
|
-
export interface IRecordLockingUnlockEntryRequestParams {
|
|
103
|
-
id: string;
|
|
104
|
-
type: IRecordLockingLockRecordEntryType;
|
|
105
|
-
}
|
|
106
|
-
export interface OnEntryBeforeLockTopicParams {
|
|
107
|
-
id: string;
|
|
108
|
-
type: IRecordLockingLockRecordEntryType;
|
|
109
|
-
}
|
|
110
|
-
export interface OnEntryAfterLockTopicParams {
|
|
111
|
-
id: string;
|
|
112
|
-
type: IRecordLockingLockRecordEntryType;
|
|
113
|
-
record: IRecordLockingLockRecord;
|
|
114
|
-
}
|
|
115
|
-
export interface OnEntryLockErrorTopicParams {
|
|
116
|
-
id: string;
|
|
117
|
-
type: IRecordLockingLockRecordEntryType;
|
|
118
|
-
error: CmsError;
|
|
119
|
-
}
|
|
120
|
-
export interface OnEntryBeforeUnlockTopicParams {
|
|
121
|
-
id: string;
|
|
122
|
-
type: IRecordLockingLockRecordEntryType;
|
|
123
|
-
getIdentity: IGetIdentity;
|
|
124
|
-
}
|
|
125
|
-
export interface OnEntryAfterUnlockTopicParams {
|
|
126
|
-
id: string;
|
|
127
|
-
type: IRecordLockingLockRecordEntryType;
|
|
128
|
-
record: IRecordLockingLockRecord;
|
|
129
|
-
}
|
|
130
|
-
export interface OnEntryUnlockErrorTopicParams {
|
|
131
|
-
id: string;
|
|
132
|
-
type: IRecordLockingLockRecordEntryType;
|
|
133
|
-
error: CmsError;
|
|
134
|
-
}
|
|
135
|
-
export interface OnEntryBeforeUnlockRequestTopicParams {
|
|
136
|
-
id: string;
|
|
137
|
-
type: IRecordLockingLockRecordEntryType;
|
|
138
|
-
}
|
|
139
|
-
export interface OnEntryAfterUnlockRequestTopicParams {
|
|
140
|
-
id: string;
|
|
141
|
-
type: IRecordLockingLockRecordEntryType;
|
|
142
|
-
record: IRecordLockingLockRecord;
|
|
143
|
-
}
|
|
144
|
-
export interface OnEntryUnlockRequestErrorTopicParams {
|
|
145
|
-
id: string;
|
|
146
|
-
type: IRecordLockingLockRecordEntryType;
|
|
147
|
-
error: CmsError;
|
|
148
|
-
}
|
|
149
|
-
export interface IRecordLocking {
|
|
150
|
-
/**
|
|
151
|
-
* In milliseconds.
|
|
152
|
-
*/
|
|
153
|
-
getTimeout: () => number;
|
|
154
|
-
onEntryBeforeLock: Topic<OnEntryBeforeLockTopicParams>;
|
|
155
|
-
onEntryAfterLock: Topic<OnEntryAfterLockTopicParams>;
|
|
156
|
-
onEntryLockError: Topic<OnEntryLockErrorTopicParams>;
|
|
157
|
-
onEntryBeforeUnlock: Topic<OnEntryBeforeUnlockTopicParams>;
|
|
158
|
-
onEntryAfterUnlock: Topic<OnEntryAfterUnlockTopicParams>;
|
|
159
|
-
onEntryUnlockError: Topic<OnEntryUnlockErrorTopicParams>;
|
|
160
|
-
onEntryBeforeUnlockRequest: Topic<OnEntryBeforeUnlockRequestTopicParams>;
|
|
161
|
-
onEntryAfterUnlockRequest: Topic<OnEntryAfterUnlockRequestTopicParams>;
|
|
162
|
-
onEntryUnlockRequestError: Topic<OnEntryUnlockRequestErrorTopicParams>;
|
|
163
|
-
getModel(): Promise<CmsModel>;
|
|
164
|
-
listAllLockRecords(params?: IRecordLockingListAllLockRecordsParams): Promise<IRecordLockingListAllLockRecordsResponse>;
|
|
165
|
-
/**
|
|
166
|
-
* Same call as listAllLockRecords, except this one will filter out records with expired lock.
|
|
167
|
-
*/
|
|
168
|
-
listLockRecords(params?: IRecordLockingListLockRecordsParams): Promise<IRecordLockingListLockRecordsResponse>;
|
|
169
|
-
getLockRecord(params: IRecordLockingGetLockRecordParams): Promise<IRecordLockingLockRecord | null>;
|
|
170
|
-
isEntryLocked(params: IRecordLockingIsLockedParams): Promise<boolean>;
|
|
171
|
-
getLockedEntryLockRecord(params: IRecordLockingGetLockedEntryLockRecordParams): Promise<IRecordLockingLockRecord | null>;
|
|
172
|
-
lockEntry(params: IRecordLockingLockEntryParams): Promise<IRecordLockingLockRecord>;
|
|
173
|
-
updateEntryLock(params: IRecordLockingUpdateEntryLockParams): Promise<IRecordLockingLockRecord>;
|
|
174
|
-
unlockEntry(params: IRecordLockingUnlockEntryParams): Promise<IRecordLockingLockRecord>;
|
|
175
|
-
unlockEntryRequest(params: IRecordLockingUnlockEntryRequestParams): Promise<IRecordLockingLockRecord>;
|
|
176
|
-
}
|
|
177
|
-
export interface Context extends CmsContext, IWebsocketsContext {
|
|
178
|
-
recordLocking: IRecordLocking;
|
|
179
|
-
}
|
|
180
|
-
export interface RecordLockingSecurityPermission extends SecurityPermission {
|
|
181
|
-
canForceUnlock?: string;
|
|
182
|
-
}
|
package/types.js
CHANGED
|
@@ -1,30 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
Object.defineProperty(exports, "CmsEntry", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function () {
|
|
9
|
-
return _types.CmsEntry;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "CmsError", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _types.CmsError;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
exports.RecordLockingLockRecordActionType = void 0;
|
|
19
|
-
var _types = require("@webiny/api-headless-cms/types");
|
|
20
|
-
let RecordLockingLockRecordActionType = exports.RecordLockingLockRecordActionType = /*#__PURE__*/function (RecordLockingLockRecordActionType) {
|
|
21
|
-
RecordLockingLockRecordActionType["requested"] = "requested";
|
|
22
|
-
RecordLockingLockRecordActionType["approved"] = "approved";
|
|
23
|
-
RecordLockingLockRecordActionType["denied"] = "denied";
|
|
24
|
-
return RecordLockingLockRecordActionType;
|
|
1
|
+
var types_RecordLockingLockRecordActionType = /*#__PURE__*/ function(RecordLockingLockRecordActionType) {
|
|
2
|
+
RecordLockingLockRecordActionType["requested"] = "requested";
|
|
3
|
+
RecordLockingLockRecordActionType["approved"] = "approved";
|
|
4
|
+
RecordLockingLockRecordActionType["denied"] = "denied";
|
|
5
|
+
return RecordLockingLockRecordActionType;
|
|
25
6
|
}({});
|
|
26
|
-
|
|
27
|
-
* Do not use any special chars other than #, as we use this to create lock record IDs.
|
|
28
|
-
*/
|
|
7
|
+
export { types_RecordLockingLockRecordActionType as RecordLockingLockRecordActionType };
|
|
29
8
|
|
|
30
9
|
//# sourceMappingURL=types.js.map
|
package/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"types.js","sources":["../src/types.ts"],"sourcesContent":["import type {\n CmsEntryListParams,\n CmsEntryMeta,\n CmsIdentity\n} from \"@webiny/api-headless-cms/types/index.js\";\nimport { CmsEntry, CmsError } from \"@webiny/api-headless-cms/types/index.js\";\n\nexport type { CmsError, CmsEntry };\n\nexport type IRecordLockingIdentity = CmsIdentity;\n\nexport type IRecordLockingMeta = CmsEntryMeta;\n\nexport enum RecordLockingLockRecordActionType {\n requested = \"requested\",\n approved = \"approved\",\n denied = \"denied\"\n}\n\nexport interface IRecordLockingLockRecordRequestedAction {\n type: RecordLockingLockRecordActionType.requested;\n message?: string;\n createdOn: Date;\n createdBy: IRecordLockingIdentity;\n}\n\nexport interface IRecordLockingLockRecordApprovedAction {\n type: RecordLockingLockRecordActionType.approved;\n message?: string;\n createdOn: Date;\n createdBy: IRecordLockingIdentity;\n}\n\nexport interface IRecordLockingLockRecordDeniedAction {\n type: RecordLockingLockRecordActionType.denied;\n message?: string;\n createdOn: Date;\n createdBy: IRecordLockingIdentity;\n}\n\nexport type IRecordLockingLockRecordAction =\n | IRecordLockingLockRecordRequestedAction\n | IRecordLockingLockRecordApprovedAction\n | IRecordLockingLockRecordDeniedAction;\n\nexport interface IRecordLockingLockRecordObject {\n id: string;\n targetId: string;\n type: IRecordLockingLockRecordEntryType;\n lockedBy: IRecordLockingIdentity;\n lockedOn: Date;\n updatedOn: Date;\n expiresOn: Date;\n actions?: IRecordLockingLockRecordAction[];\n}\n\nexport interface IRecordLockingLockRecord extends IRecordLockingLockRecordObject {\n toObject(): IRecordLockingLockRecordObject;\n addAction(action: IRecordLockingLockRecordAction): void;\n getUnlockRequested(): IRecordLockingLockRecordRequestedAction | undefined;\n getUnlockApproved(): IRecordLockingLockRecordApprovedAction | undefined;\n getUnlockDenied(): IRecordLockingLockRecordDeniedAction | undefined;\n isExpired(): boolean;\n}\n\n/**\n * Do not use any special chars other than #, as we use this to create lock record IDs.\n */\nexport type IRecordLockingLockRecordEntryType = string;\n\nexport type IRecordLockingListAllLockRecordsParams = Pick<\n CmsEntryListParams,\n \"where\" | \"limit\" | \"sort\" | \"after\"\n>;\n\nexport type IRecordLockingListLockRecordsParams = IRecordLockingListAllLockRecordsParams;\n"],"names":["RecordLockingLockRecordActionType"],"mappings":"AAaO,IAAKA,0CAAiCA,WAAAA,GAAAA,SAAjCA,iCAAiC;;;;WAAjCA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IRecordLockingListLockRecordsParams } from "../types";
|
|
1
|
+
import type { IRecordLockingListLockRecordsParams } from "../types.js";
|
|
2
2
|
type IWhere = IRecordLockingListLockRecordsParams["where"] | undefined;
|
|
3
3
|
export declare const convertWhereCondition: (where: IWhere) => IWhere;
|
|
4
4
|
export {};
|
|
@@ -1,41 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
});
|
|
6
|
-
exports.convertWhereCondition = void 0;
|
|
7
|
-
var _lockRecordDatabaseId = require("./lockRecordDatabaseId");
|
|
8
|
-
const attachPrefix = value => {
|
|
9
|
-
if (!value) {
|
|
10
|
-
return value;
|
|
11
|
-
} else if (Array.isArray(value)) {
|
|
12
|
-
return value.map(_lockRecordDatabaseId.createLockRecordDatabaseId);
|
|
13
|
-
}
|
|
14
|
-
return (0, _lockRecordDatabaseId.createLockRecordDatabaseId)(value);
|
|
1
|
+
import { createLockRecordDatabaseId } from "./lockRecordDatabaseId.js";
|
|
2
|
+
const attachPrefix = (value)=>{
|
|
3
|
+
if (Array.isArray(value)) return value.map(createLockRecordDatabaseId);
|
|
4
|
+
return createLockRecordDatabaseId(value);
|
|
15
5
|
};
|
|
16
|
-
const convertWhereCondition = where
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
continue;
|
|
6
|
+
const convertWhereCondition = (where)=>{
|
|
7
|
+
if (!where) return where;
|
|
8
|
+
for(const key in where){
|
|
9
|
+
if (key.startsWith("AND") || key.startsWith("OR")) {
|
|
10
|
+
const value = where[key];
|
|
11
|
+
if (!value) continue;
|
|
12
|
+
for(const subKey in value)value[subKey] = convertWhereCondition(value[subKey]);
|
|
13
|
+
continue;
|
|
14
|
+
}
|
|
15
|
+
if (false === key.startsWith("id")) continue;
|
|
16
|
+
const value = where[key];
|
|
17
|
+
if (!value) continue;
|
|
18
|
+
const newKey = key.replace("id", "entryId");
|
|
19
|
+
where[newKey] = attachPrefix(where[key]);
|
|
20
|
+
delete where[key];
|
|
32
21
|
}
|
|
33
|
-
|
|
34
|
-
where[newKey] = attachPrefix(where[key]);
|
|
35
|
-
delete where[key];
|
|
36
|
-
}
|
|
37
|
-
return where;
|
|
22
|
+
return where;
|
|
38
23
|
};
|
|
39
|
-
|
|
24
|
+
export { convertWhereCondition };
|
|
40
25
|
|
|
41
26
|
//# sourceMappingURL=convertWhereCondition.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/convertWhereCondition.js","sources":["../../src/utils/convertWhereCondition.ts"],"sourcesContent":["import type { IRecordLockingListLockRecordsParams } from \"~/types.js\";\nimport { createLockRecordDatabaseId } from \"~/utils/lockRecordDatabaseId.js\";\n\ntype IWhere = IRecordLockingListLockRecordsParams[\"where\"] | undefined;\n\nconst attachPrefix = (value: string | string[]) => {\n if (Array.isArray(value)) {\n return value.map(createLockRecordDatabaseId);\n }\n return createLockRecordDatabaseId(value);\n};\n\nexport const convertWhereCondition = (where: IWhere): IWhere => {\n if (!where) {\n return where;\n }\n for (const key in where) {\n if (key.startsWith(\"AND\") || key.startsWith(\"OR\")) {\n const value = where[key as keyof typeof where] as IWhere[] | undefined;\n if (!value) {\n continue;\n }\n for (const subKey in value) {\n value[subKey] = convertWhereCondition(value[subKey]);\n }\n continue;\n } else if (key.startsWith(\"id\") === false) {\n continue;\n }\n const value = where[key as keyof typeof where];\n if (!value) {\n continue;\n }\n\n const newKey = key.replace(\"id\", \"entryId\") as keyof typeof where;\n // @ts-expect-error\n where[newKey] = attachPrefix(where[key]);\n // @ts-expect-error\n delete where[key];\n }\n return where;\n};\n"],"names":["attachPrefix","value","Array","createLockRecordDatabaseId","convertWhereCondition","where","key","subKey","newKey"],"mappings":";AAKA,MAAMA,eAAe,CAACC;IAClB,IAAIC,MAAM,OAAO,CAACD,QACd,OAAOA,MAAM,GAAG,CAACE;IAErB,OAAOA,2BAA2BF;AACtC;AAEO,MAAMG,wBAAwB,CAACC;IAClC,IAAI,CAACA,OACD,OAAOA;IAEX,IAAK,MAAMC,OAAOD,MAAO;QACrB,IAAIC,IAAI,UAAU,CAAC,UAAUA,IAAI,UAAU,CAAC,OAAO;YAC/C,MAAML,QAAQI,KAAK,CAACC,IAA0B;YAC9C,IAAI,CAACL,OACD;YAEJ,IAAK,MAAMM,UAAUN,MACjBA,KAAK,CAACM,OAAO,GAAGH,sBAAsBH,KAAK,CAACM,OAAO;YAEvD;QACJ;QAAO,IAAID,AAAyB,UAAzBA,IAAI,UAAU,CAAC,OACtB;QAEJ,MAAML,QAAQI,KAAK,CAACC,IAA0B;QAC9C,IAAI,CAACL,OACD;QAGJ,MAAMO,SAASF,IAAI,OAAO,CAAC,MAAM;QAEjCD,KAAK,CAACG,OAAO,GAAGR,aAAaK,KAAK,CAACC,IAAI;QAEvC,OAAOD,KAAK,CAACC,IAAI;IACrB;IACA,OAAOD;AACX"}
|
package/utils/getTimeout.js
CHANGED
|
@@ -1,28 +1,14 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getTimeout = void 0;
|
|
7
1
|
const minTimeoutInSeconds = 30;
|
|
8
2
|
const defaultTimeoutInSeconds = 60;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const getTimeout = input => {
|
|
14
|
-
if (input && input > 0) {
|
|
15
|
-
if (input < minTimeoutInSeconds) {
|
|
16
|
-
return minTimeoutInSeconds * 1000;
|
|
3
|
+
const getTimeout = (input)=>{
|
|
4
|
+
if (input && input > 0) {
|
|
5
|
+
if (input < minTimeoutInSeconds) return 1000 * minTimeoutInSeconds;
|
|
6
|
+
return 1000 * input;
|
|
17
7
|
}
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
if (!userDefined || isNaN(userDefined) || userDefined <= 0) {
|
|
22
|
-
return defaultTimeoutInSeconds * 1000;
|
|
23
|
-
}
|
|
24
|
-
return userDefined * 1000;
|
|
8
|
+
const userDefined = process.env.WEBINY_RECORD_LOCK_TIMEOUT ? parseInt(process.env.WEBINY_RECORD_LOCK_TIMEOUT) : void 0;
|
|
9
|
+
if (!userDefined || isNaN(userDefined) || userDefined <= 0) return 1000 * defaultTimeoutInSeconds;
|
|
10
|
+
return 1000 * userDefined;
|
|
25
11
|
};
|
|
26
|
-
|
|
12
|
+
export { getTimeout };
|
|
27
13
|
|
|
28
14
|
//# sourceMappingURL=getTimeout.js.map
|
package/utils/getTimeout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/getTimeout.js","sources":["../../src/utils/getTimeout.ts"],"sourcesContent":["const minTimeoutInSeconds = 30;\nconst defaultTimeoutInSeconds = 60;\n/**\n * Input is in seconds.\n * Output is milliseconds.\n */\nexport const getTimeout = (input: number | undefined) => {\n if (input && input > 0) {\n if (input < minTimeoutInSeconds) {\n return minTimeoutInSeconds * 1000;\n }\n return input * 1000;\n }\n const userDefined = process.env.WEBINY_RECORD_LOCK_TIMEOUT\n ? parseInt(process.env.WEBINY_RECORD_LOCK_TIMEOUT)\n : undefined;\n if (!userDefined || isNaN(userDefined) || userDefined <= 0) {\n return defaultTimeoutInSeconds * 1000;\n }\n return userDefined * 1000;\n};\n"],"names":["minTimeoutInSeconds","defaultTimeoutInSeconds","getTimeout","input","userDefined","process","parseInt","undefined","isNaN"],"mappings":"AAAA,MAAMA,sBAAsB;AAC5B,MAAMC,0BAA0B;AAKzB,MAAMC,aAAa,CAACC;IACvB,IAAIA,SAASA,QAAQ,GAAG;QACpB,IAAIA,QAAQH,qBACR,OAAOA,AAAsB,OAAtBA;QAEX,OAAOG,AAAQ,OAARA;IACX;IACA,MAAMC,cAAcC,QAAQ,GAAG,CAAC,0BAA0B,GACpDC,SAASD,QAAQ,GAAG,CAAC,0BAA0B,IAC/CE;IACN,IAAI,CAACH,eAAeI,MAAMJ,gBAAgBA,eAAe,GACrD,OAAOH,AAA0B,OAA1BA;IAEX,OAAOG,AAAc,OAAdA;AACX"}
|
|
@@ -1,24 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.removeLockRecordDatabasePrefix = exports.createLockRecordDatabaseId = void 0;
|
|
7
|
-
var _utils = require("@webiny/utils");
|
|
1
|
+
import { parseIdentifier } from "@webiny/utils";
|
|
8
2
|
const WBY_LM_PREFIX = "wby-lm-";
|
|
9
|
-
const createLockRecordDatabaseId = input
|
|
10
|
-
|
|
11
|
-
id
|
|
12
|
-
|
|
13
|
-
if (id.startsWith(WBY_LM_PREFIX)) {
|
|
14
|
-
return id;
|
|
15
|
-
}
|
|
16
|
-
return `${WBY_LM_PREFIX}${id}`;
|
|
17
|
-
};
|
|
18
|
-
exports.createLockRecordDatabaseId = createLockRecordDatabaseId;
|
|
19
|
-
const removeLockRecordDatabasePrefix = id => {
|
|
20
|
-
return id.replace(WBY_LM_PREFIX, "");
|
|
3
|
+
const createLockRecordDatabaseId = (input)=>{
|
|
4
|
+
const { id } = parseIdentifier(input);
|
|
5
|
+
if (id.startsWith(WBY_LM_PREFIX)) return id;
|
|
6
|
+
return `${WBY_LM_PREFIX}${id}`;
|
|
21
7
|
};
|
|
22
|
-
|
|
8
|
+
const removeLockRecordDatabasePrefix = (id)=>id.replace(WBY_LM_PREFIX, "");
|
|
9
|
+
export { createLockRecordDatabaseId, removeLockRecordDatabasePrefix };
|
|
23
10
|
|
|
24
11
|
//# sourceMappingURL=lockRecordDatabaseId.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"utils/lockRecordDatabaseId.js","sources":["../../src/utils/lockRecordDatabaseId.ts"],"sourcesContent":["import { parseIdentifier } from \"@webiny/utils\";\n\nconst WBY_LM_PREFIX = \"wby-lm-\";\n\nexport const createLockRecordDatabaseId = (input: string): string => {\n const { id } = parseIdentifier(input);\n if (id.startsWith(WBY_LM_PREFIX)) {\n return id;\n }\n return `${WBY_LM_PREFIX}${id}`;\n};\n\nexport const removeLockRecordDatabasePrefix = (id: string) => {\n return id.replace(WBY_LM_PREFIX, \"\");\n};\n"],"names":["WBY_LM_PREFIX","createLockRecordDatabaseId","input","id","parseIdentifier","removeLockRecordDatabasePrefix"],"mappings":";AAEA,MAAMA,gBAAgB;AAEf,MAAMC,6BAA6B,CAACC;IACvC,MAAM,EAAEC,EAAE,EAAE,GAAGC,gBAAgBF;IAC/B,IAAIC,GAAG,UAAU,CAACH,gBACd,OAAOG;IAEX,OAAO,GAAGH,gBAAgBG,IAAI;AAClC;AAEO,MAAME,iCAAiC,CAACF,KACpCA,GAAG,OAAO,CAACH,eAAe"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { IRecordLockingGetLockRecordParams, IRecordLockingLockRecord } from "../types";
|
|
2
|
-
export type IGetLockRecordUseCaseExecuteParams = IRecordLockingGetLockRecordParams;
|
|
3
|
-
export interface IGetLockRecordUseCaseExecute {
|
|
4
|
-
(params: IGetLockRecordUseCaseExecuteParams): Promise<IRecordLockingLockRecord | null>;
|
|
5
|
-
}
|
|
6
|
-
export interface IGetLockRecordUseCase {
|
|
7
|
-
execute: IGetLockRecordUseCaseExecute;
|
|
8
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IGetLockRecordUseCase.ts"],"sourcesContent":["import type { IRecordLockingGetLockRecordParams, IRecordLockingLockRecord } from \"~/types\";\n\nexport type IGetLockRecordUseCaseExecuteParams = IRecordLockingGetLockRecordParams;\n\nexport interface IGetLockRecordUseCaseExecute {\n (params: IGetLockRecordUseCaseExecuteParams): Promise<IRecordLockingLockRecord | null>;\n}\n\nexport interface IGetLockRecordUseCase {\n execute: IGetLockRecordUseCaseExecute;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { IRecordLockingIsLockedParams, IRecordLockingLockRecord } from "../types";
|
|
2
|
-
export type IGetLockedEntryLockRecordUseCaseExecuteParams = IRecordLockingIsLockedParams;
|
|
3
|
-
export interface IGetLockedEntryLockRecordUseCaseExecute {
|
|
4
|
-
(params: IGetLockedEntryLockRecordUseCaseExecuteParams): Promise<IRecordLockingLockRecord | null>;
|
|
5
|
-
}
|
|
6
|
-
export interface IGetLockedEntryLockRecordUseCase {
|
|
7
|
-
execute: IGetLockedEntryLockRecordUseCaseExecute;
|
|
8
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IGetLockedEntryLockRecordUseCase.ts"],"sourcesContent":["import type { IRecordLockingIsLockedParams, IRecordLockingLockRecord } from \"~/types\";\n\nexport type IGetLockedEntryLockRecordUseCaseExecuteParams = IRecordLockingIsLockedParams;\n\nexport interface IGetLockedEntryLockRecordUseCaseExecute {\n (\n params: IGetLockedEntryLockRecordUseCaseExecuteParams\n ): Promise<IRecordLockingLockRecord | null>;\n}\n\nexport interface IGetLockedEntryLockRecordUseCase {\n execute: IGetLockedEntryLockRecordUseCaseExecute;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { IRecordLockingIsLockedParams } from "../types";
|
|
2
|
-
export type IIsEntryLockedUseCaseExecuteParams = IRecordLockingIsLockedParams;
|
|
3
|
-
export interface IIsEntryLockedUseCaseExecute {
|
|
4
|
-
(params: IIsEntryLockedUseCaseExecuteParams): Promise<boolean>;
|
|
5
|
-
}
|
|
6
|
-
export interface IIsEntryLockedUseCase {
|
|
7
|
-
execute: IIsEntryLockedUseCaseExecute;
|
|
8
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["IIsEntryLocked.ts"],"sourcesContent":["import type { IRecordLockingIsLockedParams } from \"~/types\";\n\nexport type IIsEntryLockedUseCaseExecuteParams = IRecordLockingIsLockedParams;\n\nexport interface IIsEntryLockedUseCaseExecute {\n (params: IIsEntryLockedUseCaseExecuteParams): Promise<boolean>;\n}\n\nexport interface IIsEntryLockedUseCase {\n execute: IIsEntryLockedUseCaseExecute;\n}\n"],"mappings":"","ignoreList":[]}
|