@webiny/api-record-locking 6.0.0-alpha.5 → 6.0.0-rc.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.
Files changed (295) hide show
  1. package/README.md +10 -9
  2. package/domain/LockRecord.d.ts +45 -0
  3. package/{utils/convertEntryToLockRecord.js → domain/LockRecord.js} +10 -21
  4. package/domain/LockRecord.js.map +1 -0
  5. package/domain/RecordLockingModel.d.ts +9 -0
  6. package/domain/RecordLockingModel.js +29 -0
  7. package/domain/RecordLockingModel.js.map +1 -0
  8. package/domain/abstractions.d.ts +18 -0
  9. package/domain/abstractions.js +10 -0
  10. package/domain/abstractions.js.map +1 -0
  11. package/domain/calculateExpiresOn.d.ts +1 -0
  12. package/domain/calculateExpiresOn.js +9 -0
  13. package/domain/calculateExpiresOn.js.map +1 -0
  14. package/domain/errors.d.ts +71 -0
  15. package/domain/errors.js +95 -0
  16. package/domain/errors.js.map +1 -0
  17. package/domain/index.d.ts +4 -0
  18. package/domain/index.js +6 -0
  19. package/domain/index.js.map +1 -0
  20. package/domain/types.d.ts +44 -0
  21. package/domain/types.js +12 -0
  22. package/domain/types.js.map +1 -0
  23. package/features/GetLockRecord/GetLockRecordRepository.d.ts +16 -0
  24. package/features/GetLockRecord/GetLockRecordRepository.js +37 -0
  25. package/features/GetLockRecord/GetLockRecordRepository.js.map +1 -0
  26. package/features/GetLockRecord/GetLockRecordUseCase.d.ts +12 -0
  27. package/features/GetLockRecord/GetLockRecordUseCase.js +15 -0
  28. package/features/GetLockRecord/GetLockRecordUseCase.js.map +1 -0
  29. package/features/GetLockRecord/abstractions.d.ts +41 -0
  30. package/features/GetLockRecord/abstractions.js +17 -0
  31. package/features/GetLockRecord/abstractions.js.map +1 -0
  32. package/features/GetLockRecord/feature.d.ts +1 -0
  33. package/features/GetLockRecord/feature.js +12 -0
  34. package/features/GetLockRecord/feature.js.map +1 -0
  35. package/features/GetLockRecord/index.d.ts +2 -0
  36. package/features/GetLockRecord/index.js +4 -0
  37. package/features/GetLockRecord/index.js.map +1 -0
  38. package/features/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.d.ts +15 -0
  39. package/features/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.js +39 -0
  40. package/features/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.js.map +1 -0
  41. package/features/GetLockedEntryLockRecord/abstractions.d.ts +26 -0
  42. package/features/GetLockedEntryLockRecord/abstractions.js +13 -0
  43. package/features/GetLockedEntryLockRecord/abstractions.js.map +1 -0
  44. package/features/GetLockedEntryLockRecord/feature.d.ts +1 -0
  45. package/features/GetLockedEntryLockRecord/feature.js +10 -0
  46. package/features/GetLockedEntryLockRecord/feature.js.map +1 -0
  47. package/features/GetLockedEntryLockRecord/index.d.ts +2 -0
  48. package/features/GetLockedEntryLockRecord/index.js +4 -0
  49. package/features/GetLockedEntryLockRecord/index.js.map +1 -0
  50. package/features/IsEntryLocked/IsEntryLockedUseCase.d.ts +14 -0
  51. package/features/IsEntryLocked/IsEntryLockedUseCase.js +39 -0
  52. package/features/IsEntryLocked/IsEntryLockedUseCase.js.map +1 -0
  53. package/features/IsEntryLocked/abstractions.d.ts +24 -0
  54. package/features/IsEntryLocked/abstractions.js +12 -0
  55. package/features/IsEntryLocked/abstractions.js.map +1 -0
  56. package/features/IsEntryLocked/feature.d.ts +1 -0
  57. package/features/IsEntryLocked/feature.js +10 -0
  58. package/features/IsEntryLocked/feature.js.map +1 -0
  59. package/features/IsEntryLocked/index.d.ts +1 -0
  60. package/features/IsEntryLocked/index.js +3 -0
  61. package/features/IsEntryLocked/index.js.map +1 -0
  62. package/features/KickOutCurrentUser/KickOutCurrentUserUseCase.d.ts +15 -0
  63. package/features/KickOutCurrentUser/KickOutCurrentUserUseCase.js +42 -0
  64. package/features/KickOutCurrentUser/KickOutCurrentUserUseCase.js.map +1 -0
  65. package/features/KickOutCurrentUser/abstractions.d.ts +17 -0
  66. package/features/KickOutCurrentUser/abstractions.js +9 -0
  67. package/features/KickOutCurrentUser/abstractions.js.map +1 -0
  68. package/features/KickOutCurrentUser/feature.d.ts +1 -0
  69. package/features/KickOutCurrentUser/feature.js +10 -0
  70. package/features/KickOutCurrentUser/feature.js.map +1 -0
  71. package/features/KickOutCurrentUser/index.d.ts +1 -0
  72. package/features/KickOutCurrentUser/index.js +3 -0
  73. package/features/KickOutCurrentUser/index.js.map +1 -0
  74. package/features/ListAllLockRecords/ListAllLockRecordsRepository.d.ts +16 -0
  75. package/features/ListAllLockRecords/ListAllLockRecordsRepository.js +43 -0
  76. package/features/ListAllLockRecords/ListAllLockRecordsRepository.js.map +1 -0
  77. package/features/ListAllLockRecords/ListAllLockRecordsUseCase.d.ts +11 -0
  78. package/features/ListAllLockRecords/ListAllLockRecordsUseCase.js +15 -0
  79. package/features/ListAllLockRecords/ListAllLockRecordsUseCase.js.map +1 -0
  80. package/features/ListAllLockRecords/abstractions.d.ts +40 -0
  81. package/features/ListAllLockRecords/abstractions.js +17 -0
  82. package/features/ListAllLockRecords/abstractions.js.map +1 -0
  83. package/features/ListAllLockRecords/feature.d.ts +1 -0
  84. package/features/ListAllLockRecords/feature.js +12 -0
  85. package/features/ListAllLockRecords/feature.js.map +1 -0
  86. package/features/ListAllLockRecords/index.d.ts +2 -0
  87. package/features/ListAllLockRecords/index.js +4 -0
  88. package/features/ListAllLockRecords/index.js.map +1 -0
  89. package/features/ListLockRecords/ListLockRecordsRepository.d.ts +15 -0
  90. package/features/ListLockRecords/ListLockRecordsRepository.js +43 -0
  91. package/features/ListLockRecords/ListLockRecordsRepository.js.map +1 -0
  92. package/features/ListLockRecords/ListLockRecordsUseCase.d.ts +15 -0
  93. package/features/ListLockRecords/ListLockRecordsUseCase.js +30 -0
  94. package/features/ListLockRecords/ListLockRecordsUseCase.js.map +1 -0
  95. package/features/ListLockRecords/abstractions.d.ts +45 -0
  96. package/features/ListLockRecords/abstractions.js +17 -0
  97. package/features/ListLockRecords/abstractions.js.map +1 -0
  98. package/features/ListLockRecords/feature.d.ts +1 -0
  99. package/features/ListLockRecords/feature.js +12 -0
  100. package/features/ListLockRecords/feature.js.map +1 -0
  101. package/features/ListLockRecords/index.d.ts +1 -0
  102. package/features/ListLockRecords/index.js +3 -0
  103. package/features/ListLockRecords/index.js.map +1 -0
  104. package/features/LockEntry/LockEntryEventsDecorator.d.ts +14 -0
  105. package/features/LockEntry/LockEntryEventsDecorator.js +40 -0
  106. package/features/LockEntry/LockEntryEventsDecorator.js.map +1 -0
  107. package/features/LockEntry/LockEntryRepository.d.ts +16 -0
  108. package/features/LockEntry/LockEntryRepository.js +42 -0
  109. package/features/LockEntry/LockEntryRepository.js.map +1 -0
  110. package/features/LockEntry/LockEntryUseCase.d.ts +14 -0
  111. package/features/LockEntry/LockEntryUseCase.js +36 -0
  112. package/features/LockEntry/LockEntryUseCase.js.map +1 -0
  113. package/features/LockEntry/abstractions.d.ts +41 -0
  114. package/features/LockEntry/abstractions.js +17 -0
  115. package/features/LockEntry/abstractions.js.map +1 -0
  116. package/features/LockEntry/events.d.ts +45 -0
  117. package/features/LockEntry/events.js +40 -0
  118. package/features/LockEntry/events.js.map +1 -0
  119. package/features/LockEntry/feature.d.ts +1 -0
  120. package/features/LockEntry/feature.js +14 -0
  121. package/features/LockEntry/feature.js.map +1 -0
  122. package/features/LockEntry/index.d.ts +1 -0
  123. package/features/LockEntry/index.js +3 -0
  124. package/features/LockEntry/index.js.map +1 -0
  125. package/features/RecordLockingFeature.d.ts +12 -0
  126. package/features/RecordLockingFeature.js +36 -0
  127. package/features/RecordLockingFeature.js.map +1 -0
  128. package/features/UnlockEntry/UnlockEntryEventsDecorator.d.ts +14 -0
  129. package/features/UnlockEntry/UnlockEntryEventsDecorator.js +41 -0
  130. package/features/UnlockEntry/UnlockEntryEventsDecorator.js.map +1 -0
  131. package/features/UnlockEntry/UnlockEntryRepository.d.ts +14 -0
  132. package/features/UnlockEntry/UnlockEntryRepository.js +40 -0
  133. package/features/UnlockEntry/UnlockEntryRepository.js.map +1 -0
  134. package/features/UnlockEntry/UnlockEntryUseCase.d.ts +18 -0
  135. package/features/UnlockEntry/UnlockEntryUseCase.js +81 -0
  136. package/features/UnlockEntry/UnlockEntryUseCase.js.map +1 -0
  137. package/features/UnlockEntry/abstractions.d.ts +44 -0
  138. package/features/UnlockEntry/abstractions.js +17 -0
  139. package/features/UnlockEntry/abstractions.js.map +1 -0
  140. package/features/UnlockEntry/events.d.ts +46 -0
  141. package/features/UnlockEntry/events.js +40 -0
  142. package/features/UnlockEntry/events.js.map +1 -0
  143. package/features/UnlockEntry/feature.d.ts +1 -0
  144. package/features/UnlockEntry/feature.js +14 -0
  145. package/features/UnlockEntry/feature.js.map +1 -0
  146. package/features/UnlockEntry/hasFullAccessPermission.d.ts +2 -0
  147. package/features/UnlockEntry/hasFullAccessPermission.js +10 -0
  148. package/features/UnlockEntry/hasFullAccessPermission.js.map +1 -0
  149. package/features/UnlockEntry/index.d.ts +1 -0
  150. package/features/UnlockEntry/index.js +3 -0
  151. package/features/UnlockEntry/index.js.map +1 -0
  152. package/features/UnlockEntryRequest/UnlockEntryRequestEventsDecorator.d.ts +14 -0
  153. package/features/UnlockEntryRequest/UnlockEntryRequestEventsDecorator.js +40 -0
  154. package/features/UnlockEntryRequest/UnlockEntryRequestEventsDecorator.js.map +1 -0
  155. package/features/UnlockEntryRequest/UnlockEntryRequestRepository.d.ts +17 -0
  156. package/features/UnlockEntryRequest/UnlockEntryRequestRepository.js +43 -0
  157. package/features/UnlockEntryRequest/UnlockEntryRequestRepository.js.map +1 -0
  158. package/features/UnlockEntryRequest/UnlockEntryRequestUseCase.d.ts +16 -0
  159. package/features/UnlockEntryRequest/UnlockEntryRequestUseCase.js +92 -0
  160. package/features/UnlockEntryRequest/UnlockEntryRequestUseCase.js.map +1 -0
  161. package/features/UnlockEntryRequest/abstractions.d.ts +42 -0
  162. package/features/UnlockEntryRequest/abstractions.js +17 -0
  163. package/features/UnlockEntryRequest/abstractions.js.map +1 -0
  164. package/features/UnlockEntryRequest/events.d.ts +45 -0
  165. package/features/UnlockEntryRequest/events.js +40 -0
  166. package/features/UnlockEntryRequest/events.js.map +1 -0
  167. package/features/UnlockEntryRequest/feature.d.ts +1 -0
  168. package/features/UnlockEntryRequest/feature.js +14 -0
  169. package/features/UnlockEntryRequest/feature.js.map +1 -0
  170. package/features/UnlockEntryRequest/index.d.ts +3 -0
  171. package/features/UnlockEntryRequest/index.js +5 -0
  172. package/features/UnlockEntryRequest/index.js.map +1 -0
  173. package/features/UpdateEntryLock/UpdateEntryLockRepository.d.ts +20 -0
  174. package/features/UpdateEntryLock/UpdateEntryLockRepository.js +63 -0
  175. package/features/UpdateEntryLock/UpdateEntryLockRepository.js.map +1 -0
  176. package/features/UpdateEntryLock/UpdateEntryLockUseCase.d.ts +18 -0
  177. package/features/UpdateEntryLock/UpdateEntryLockUseCase.js +62 -0
  178. package/features/UpdateEntryLock/UpdateEntryLockUseCase.js.map +1 -0
  179. package/features/UpdateEntryLock/abstractions.d.ts +42 -0
  180. package/features/UpdateEntryLock/abstractions.js +17 -0
  181. package/features/UpdateEntryLock/abstractions.js.map +1 -0
  182. package/features/UpdateEntryLock/feature.d.ts +1 -0
  183. package/features/UpdateEntryLock/feature.js +12 -0
  184. package/features/UpdateEntryLock/feature.js.map +1 -0
  185. package/features/UpdateEntryLock/index.d.ts +1 -0
  186. package/features/UpdateEntryLock/index.js +3 -0
  187. package/features/UpdateEntryLock/index.js.map +1 -0
  188. package/graphql/checkPermissions.d.ts +5 -0
  189. package/graphql/checkPermissions.js +14 -0
  190. package/graphql/checkPermissions.js.map +1 -0
  191. package/{utils → graphql}/resolve.d.ts +2 -2
  192. package/graphql/resolve.js +22 -0
  193. package/graphql/resolve.js.map +1 -0
  194. package/graphql/schema.d.ts +7 -3
  195. package/graphql/schema.js +99 -61
  196. package/graphql/schema.js.map +1 -1
  197. package/index.d.ts +3 -3
  198. package/index.js +48 -25
  199. package/index.js.map +1 -1
  200. package/package.json +21 -25
  201. package/types.d.ts +3 -132
  202. package/types.js +2 -20
  203. package/types.js.map +1 -1
  204. package/utils/convertWhereCondition.d.ts +1 -1
  205. package/utils/convertWhereCondition.js +11 -14
  206. package/utils/convertWhereCondition.js.map +1 -1
  207. package/utils/getTimeout.js +1 -8
  208. package/utils/getTimeout.js.map +1 -1
  209. package/utils/lockRecordDatabaseId.js +4 -12
  210. package/utils/lockRecordDatabaseId.js.map +1 -1
  211. package/abstractions/IGetLockRecordUseCase.d.ts +0 -8
  212. package/abstractions/IGetLockRecordUseCase.js +0 -7
  213. package/abstractions/IGetLockRecordUseCase.js.map +0 -1
  214. package/abstractions/IGetLockedEntryLockRecordUseCase.d.ts +0 -8
  215. package/abstractions/IGetLockedEntryLockRecordUseCase.js +0 -7
  216. package/abstractions/IGetLockedEntryLockRecordUseCase.js.map +0 -1
  217. package/abstractions/IIsEntryLocked.d.ts +0 -8
  218. package/abstractions/IIsEntryLocked.js +0 -7
  219. package/abstractions/IIsEntryLocked.js.map +0 -1
  220. package/abstractions/IKickOutCurrentUserUseCase.d.ts +0 -5
  221. package/abstractions/IKickOutCurrentUserUseCase.js +0 -7
  222. package/abstractions/IKickOutCurrentUserUseCase.js.map +0 -1
  223. package/abstractions/IListAllLockRecordsUseCase.d.ts +0 -9
  224. package/abstractions/IListAllLockRecordsUseCase.js +0 -7
  225. package/abstractions/IListAllLockRecordsUseCase.js.map +0 -1
  226. package/abstractions/IListLockRecordsUseCase.d.ts +0 -10
  227. package/abstractions/IListLockRecordsUseCase.js +0 -7
  228. package/abstractions/IListLockRecordsUseCase.js.map +0 -1
  229. package/abstractions/ILockEntryUseCase.d.ts +0 -11
  230. package/abstractions/ILockEntryUseCase.js +0 -7
  231. package/abstractions/ILockEntryUseCase.js.map +0 -1
  232. package/abstractions/IUnlockEntryRequestUseCase.d.ts +0 -11
  233. package/abstractions/IUnlockEntryRequestUseCase.js +0 -7
  234. package/abstractions/IUnlockEntryRequestUseCase.js.map +0 -1
  235. package/abstractions/IUnlockEntryUseCase.d.ts +0 -12
  236. package/abstractions/IUnlockEntryUseCase.js +0 -7
  237. package/abstractions/IUnlockEntryUseCase.js.map +0 -1
  238. package/abstractions/IUpdateEntryLockUseCase.d.ts +0 -11
  239. package/abstractions/IUpdateEntryLockUseCase.js +0 -7
  240. package/abstractions/IUpdateEntryLockUseCase.js.map +0 -1
  241. package/crud/crud.d.ts +0 -7
  242. package/crud/crud.js +0 -204
  243. package/crud/crud.js.map +0 -1
  244. package/crud/model.d.ts +0 -2
  245. package/crud/model.js +0 -127
  246. package/crud/model.js.map +0 -1
  247. package/useCases/GetLockRecord/GetLockRecordUseCase.d.ts +0 -16
  248. package/useCases/GetLockRecord/GetLockRecordUseCase.js +0 -39
  249. package/useCases/GetLockRecord/GetLockRecordUseCase.js.map +0 -1
  250. package/useCases/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.d.ts +0 -16
  251. package/useCases/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.js +0 -29
  252. package/useCases/GetLockedEntryLockRecord/GetLockedEntryLockRecordUseCase.js.map +0 -1
  253. package/useCases/IsEntryLocked/IsEntryLockedUseCase.d.ts +0 -13
  254. package/useCases/IsEntryLocked/IsEntryLockedUseCase.js +0 -31
  255. package/useCases/IsEntryLocked/IsEntryLockedUseCase.js.map +0 -1
  256. package/useCases/KickOutCurrentUser/KickOutCurrentUserUseCase.d.ts +0 -12
  257. package/useCases/KickOutCurrentUser/KickOutCurrentUserUseCase.js +0 -46
  258. package/useCases/KickOutCurrentUser/KickOutCurrentUserUseCase.js.map +0 -1
  259. package/useCases/ListAllLockRecordsUseCase/ListAllLockRecordsUseCase.d.ts +0 -13
  260. package/useCases/ListAllLockRecordsUseCase/ListAllLockRecordsUseCase.js +0 -34
  261. package/useCases/ListAllLockRecordsUseCase/ListAllLockRecordsUseCase.js.map +0 -1
  262. package/useCases/ListLockRecordsUseCase/ListLockRecordsUseCase.d.ts +0 -14
  263. package/useCases/ListLockRecordsUseCase/ListLockRecordsUseCase.js +0 -27
  264. package/useCases/ListLockRecordsUseCase/ListLockRecordsUseCase.js.map +0 -1
  265. package/useCases/LockEntryUseCase/LockEntryUseCase.d.ts +0 -21
  266. package/useCases/LockEntryUseCase/LockEntryUseCase.js +0 -64
  267. package/useCases/LockEntryUseCase/LockEntryUseCase.js.map +0 -1
  268. package/useCases/UnlockEntryUseCase/UnlockEntryUseCase.d.ts +0 -23
  269. package/useCases/UnlockEntryUseCase/UnlockEntryUseCase.js +0 -90
  270. package/useCases/UnlockEntryUseCase/UnlockEntryUseCase.js.map +0 -1
  271. package/useCases/UnlockRequestUseCase/UnlockEntryRequestUseCase.d.ts +0 -21
  272. package/useCases/UnlockRequestUseCase/UnlockEntryRequestUseCase.js +0 -82
  273. package/useCases/UnlockRequestUseCase/UnlockEntryRequestUseCase.js.map +0 -1
  274. package/useCases/UpdateEntryLock/UpdateEntryLockUseCase.d.ts +0 -26
  275. package/useCases/UpdateEntryLock/UpdateEntryLockUseCase.js +0 -93
  276. package/useCases/UpdateEntryLock/UpdateEntryLockUseCase.js.map +0 -1
  277. package/useCases/index.d.ts +0 -31
  278. package/useCases/index.js +0 -96
  279. package/useCases/index.js.map +0 -1
  280. package/useCases/types.d.ts +0 -5
  281. package/useCases/types.js +0 -7
  282. package/useCases/types.js.map +0 -1
  283. package/utils/calculateExpiresOn.d.ts +0 -2
  284. package/utils/calculateExpiresOn.js +0 -16
  285. package/utils/calculateExpiresOn.js.map +0 -1
  286. package/utils/checkPermissions.d.ts +0 -7
  287. package/utils/checkPermissions.js +0 -21
  288. package/utils/checkPermissions.js.map +0 -1
  289. package/utils/convertEntryToLockRecord.d.ts +0 -28
  290. package/utils/convertEntryToLockRecord.js.map +0 -1
  291. package/utils/resolve.js +0 -30
  292. package/utils/resolve.js.map +0 -1
  293. package/utils/validateSameIdentity.d.ts +0 -6
  294. package/utils/validateSameIdentity.js +0 -24
  295. package/utils/validateSameIdentity.js.map +0 -1
@@ -1,24 +1,16 @@
1
- "use strict";
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 => {
3
+ export const createLockRecordDatabaseId = input => {
10
4
  const {
11
5
  id
12
- } = (0, _utils.parseIdentifier)(input);
6
+ } = parseIdentifier(input);
13
7
  if (id.startsWith(WBY_LM_PREFIX)) {
14
8
  return id;
15
9
  }
16
10
  return `${WBY_LM_PREFIX}${id}`;
17
11
  };
18
- exports.createLockRecordDatabaseId = createLockRecordDatabaseId;
19
- const removeLockRecordDatabasePrefix = id => {
12
+ export const removeLockRecordDatabasePrefix = id => {
20
13
  return id.replace(WBY_LM_PREFIX, "");
21
14
  };
22
- exports.removeLockRecordDatabasePrefix = removeLockRecordDatabasePrefix;
23
15
 
24
16
  //# sourceMappingURL=lockRecordDatabaseId.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_utils","require","WBY_LM_PREFIX","createLockRecordDatabaseId","input","id","parseIdentifier","startsWith","exports","removeLockRecordDatabasePrefix","replace"],"sources":["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"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,MAAMC,aAAa,GAAG,SAAS;AAExB,MAAMC,0BAA0B,GAAIC,KAAa,IAAa;EACjE,MAAM;IAAEC;EAAG,CAAC,GAAG,IAAAC,sBAAe,EAACF,KAAK,CAAC;EACrC,IAAIC,EAAE,CAACE,UAAU,CAACL,aAAa,CAAC,EAAE;IAC9B,OAAOG,EAAE;EACb;EACA,OAAO,GAAGH,aAAa,GAAGG,EAAE,EAAE;AAClC,CAAC;AAACG,OAAA,CAAAL,0BAAA,GAAAA,0BAAA;AAEK,MAAMM,8BAA8B,GAAIJ,EAAU,IAAK;EAC1D,OAAOA,EAAE,CAACK,OAAO,CAACR,aAAa,EAAE,EAAE,CAAC;AACxC,CAAC;AAACM,OAAA,CAAAC,8BAAA,GAAAA,8BAAA","ignoreList":[]}
1
+ {"version":3,"names":["parseIdentifier","WBY_LM_PREFIX","createLockRecordDatabaseId","input","id","startsWith","removeLockRecordDatabasePrefix","replace"],"sources":["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"],"mappings":"AAAA,SAASA,eAAe,QAAQ,eAAe;AAE/C,MAAMC,aAAa,GAAG,SAAS;AAE/B,OAAO,MAAMC,0BAA0B,GAAIC,KAAa,IAAa;EACjE,MAAM;IAAEC;EAAG,CAAC,GAAGJ,eAAe,CAACG,KAAK,CAAC;EACrC,IAAIC,EAAE,CAACC,UAAU,CAACJ,aAAa,CAAC,EAAE;IAC9B,OAAOG,EAAE;EACb;EACA,OAAO,GAAGH,aAAa,GAAGG,EAAE,EAAE;AAClC,CAAC;AAED,OAAO,MAAME,8BAA8B,GAAIF,EAAU,IAAK;EAC1D,OAAOA,EAAE,CAACG,OAAO,CAACN,aAAa,EAAE,EAAE,CAAC;AACxC,CAAC","ignoreList":[]}
@@ -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,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=IGetLockRecordUseCase.js.map
@@ -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,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=IGetLockedEntryLockRecordUseCase.js.map
@@ -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,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=IIsEntryLocked.js.map
@@ -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":[]}
@@ -1,5 +0,0 @@
1
- import type { IRecordLockingLockRecord } from "../types";
2
- export type IKickOutCurrentUserUseCaseExecuteParams = IRecordLockingLockRecord;
3
- export interface IKickOutCurrentUserUseCase {
4
- execute(params: IKickOutCurrentUserUseCaseExecuteParams): Promise<void>;
5
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=IKickOutCurrentUserUseCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["IKickOutCurrentUserUseCase.ts"],"sourcesContent":["import type { IRecordLockingLockRecord } from \"~/types\";\n\nexport type IKickOutCurrentUserUseCaseExecuteParams = IRecordLockingLockRecord;\n\nexport interface IKickOutCurrentUserUseCase {\n execute(params: IKickOutCurrentUserUseCaseExecuteParams): Promise<void>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,9 +0,0 @@
1
- import type { IRecordLockingListAllLockRecordsParams, IRecordLockingListAllLockRecordsResponse } from "../types";
2
- export type IListAllLockRecordsUseCaseExecuteParams = IRecordLockingListAllLockRecordsParams;
3
- export type IListAllLockRecordsUseCaseExecuteResponse = IRecordLockingListAllLockRecordsResponse;
4
- export interface IListAllLockRecordsUseCaseExecute {
5
- (params: IListAllLockRecordsUseCaseExecuteParams): Promise<IListAllLockRecordsUseCaseExecuteResponse>;
6
- }
7
- export interface IListAllLockRecordsUseCase {
8
- execute: IListAllLockRecordsUseCaseExecute;
9
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=IListAllLockRecordsUseCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["IListAllLockRecordsUseCase.ts"],"sourcesContent":["import type {\n IRecordLockingListAllLockRecordsParams,\n IRecordLockingListAllLockRecordsResponse\n} from \"~/types\";\n\nexport type IListAllLockRecordsUseCaseExecuteParams = IRecordLockingListAllLockRecordsParams;\n\nexport type IListAllLockRecordsUseCaseExecuteResponse = IRecordLockingListAllLockRecordsResponse;\n\nexport interface IListAllLockRecordsUseCaseExecute {\n (\n params: IListAllLockRecordsUseCaseExecuteParams\n ): Promise<IListAllLockRecordsUseCaseExecuteResponse>;\n}\n\nexport interface IListAllLockRecordsUseCase {\n execute: IListAllLockRecordsUseCaseExecute;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,10 +0,0 @@
1
- import type { IListAllLockRecordsUseCaseExecuteParams } from "./IListAllLockRecordsUseCase";
2
- import type { IRecordLockingListAllLockRecordsResponse } from "../types";
3
- export type IListLockRecordsUseCaseExecuteParams = IListAllLockRecordsUseCaseExecuteParams;
4
- export type IListLockRecordsUseCaseExecuteResponse = IRecordLockingListAllLockRecordsResponse;
5
- export interface IListLockRecordsUseCaseExecute {
6
- (params: IListLockRecordsUseCaseExecuteParams): Promise<IListLockRecordsUseCaseExecuteResponse>;
7
- }
8
- export interface IListLockRecordsUseCase {
9
- execute: IListLockRecordsUseCaseExecute;
10
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=IListLockRecordsUseCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["IListLockRecordsUseCase.ts"],"sourcesContent":["import type { IListAllLockRecordsUseCaseExecuteParams } from \"./IListAllLockRecordsUseCase\";\nimport type { IRecordLockingListAllLockRecordsResponse } from \"~/types\";\n\nexport type IListLockRecordsUseCaseExecuteParams = IListAllLockRecordsUseCaseExecuteParams;\n\nexport type IListLockRecordsUseCaseExecuteResponse = IRecordLockingListAllLockRecordsResponse;\n\nexport interface IListLockRecordsUseCaseExecute {\n (params: IListLockRecordsUseCaseExecuteParams): Promise<IListLockRecordsUseCaseExecuteResponse>;\n}\n\nexport interface IListLockRecordsUseCase {\n execute: IListLockRecordsUseCaseExecute;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- import type { IRecordLockingLockRecord, IRecordLockingLockRecordEntryType } from "../types";
2
- export interface ILockEntryUseCaseExecuteParams {
3
- id: string;
4
- type: IRecordLockingLockRecordEntryType;
5
- }
6
- export interface ILockEntryUseCaseExecute {
7
- (params: ILockEntryUseCaseExecuteParams): Promise<IRecordLockingLockRecord>;
8
- }
9
- export interface ILockEntryUseCase {
10
- execute: ILockEntryUseCaseExecute;
11
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=ILockEntryUseCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["ILockEntryUseCase.ts"],"sourcesContent":["import type { IRecordLockingLockRecord, IRecordLockingLockRecordEntryType } from \"~/types\";\n\nexport interface ILockEntryUseCaseExecuteParams {\n id: string;\n type: IRecordLockingLockRecordEntryType;\n}\n\nexport interface ILockEntryUseCaseExecute {\n (params: ILockEntryUseCaseExecuteParams): Promise<IRecordLockingLockRecord>;\n}\n\nexport interface ILockEntryUseCase {\n execute: ILockEntryUseCaseExecute;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- import type { IRecordLockingLockRecord, IRecordLockingLockRecordEntryType } from "../types";
2
- export interface IUnlockEntryRequestUseCaseExecuteParams {
3
- id: string;
4
- type: IRecordLockingLockRecordEntryType;
5
- }
6
- export interface IUnlockEntryRequestUseCaseExecute {
7
- (params: IUnlockEntryRequestUseCaseExecuteParams): Promise<IRecordLockingLockRecord>;
8
- }
9
- export interface IUnlockEntryRequestUseCase {
10
- execute: IUnlockEntryRequestUseCaseExecute;
11
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=IUnlockEntryRequestUseCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["IUnlockEntryRequestUseCase.ts"],"sourcesContent":["import type { IRecordLockingLockRecord, IRecordLockingLockRecordEntryType } from \"~/types\";\n\nexport interface IUnlockEntryRequestUseCaseExecuteParams {\n id: string;\n type: IRecordLockingLockRecordEntryType;\n}\n\nexport interface IUnlockEntryRequestUseCaseExecute {\n (params: IUnlockEntryRequestUseCaseExecuteParams): Promise<IRecordLockingLockRecord>;\n}\n\nexport interface IUnlockEntryRequestUseCase {\n execute: IUnlockEntryRequestUseCaseExecute;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,12 +0,0 @@
1
- import type { IRecordLockingLockRecord, IRecordLockingLockRecordEntryType } from "../types";
2
- export interface IUnlockEntryUseCaseExecuteParams {
3
- id: string;
4
- type: IRecordLockingLockRecordEntryType;
5
- force?: boolean;
6
- }
7
- export interface IUnlockEntryUseCaseExecute {
8
- (params: IUnlockEntryUseCaseExecuteParams): Promise<IRecordLockingLockRecord>;
9
- }
10
- export interface IUnlockEntryUseCase {
11
- execute: IUnlockEntryUseCaseExecute;
12
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=IUnlockEntryUseCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["IUnlockEntryUseCase.ts"],"sourcesContent":["import type { IRecordLockingLockRecord, IRecordLockingLockRecordEntryType } from \"~/types\";\n\nexport interface IUnlockEntryUseCaseExecuteParams {\n id: string;\n type: IRecordLockingLockRecordEntryType;\n force?: boolean;\n}\n\nexport interface IUnlockEntryUseCaseExecute {\n (params: IUnlockEntryUseCaseExecuteParams): Promise<IRecordLockingLockRecord>;\n}\n\nexport interface IUnlockEntryUseCase {\n execute: IUnlockEntryUseCaseExecute;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1,11 +0,0 @@
1
- import type { IRecordLockingLockRecord, IRecordLockingLockRecordEntryType } from "../types";
2
- export interface IUpdateEntryLockUseCaseExecuteParams {
3
- id: string;
4
- type: IRecordLockingLockRecordEntryType;
5
- }
6
- export interface IUpdateEntryLockUseCaseExecute {
7
- (params: IUpdateEntryLockUseCaseExecuteParams): Promise<IRecordLockingLockRecord>;
8
- }
9
- export interface IUpdateEntryLockUseCase {
10
- execute: IUpdateEntryLockUseCaseExecute;
11
- }
@@ -1,7 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
-
7
- //# sourceMappingURL=IUpdateEntryLockUseCase.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":[],"sources":["IUpdateEntryLockUseCase.ts"],"sourcesContent":["import type { IRecordLockingLockRecord, IRecordLockingLockRecordEntryType } from \"~/types\";\n\nexport interface IUpdateEntryLockUseCaseExecuteParams {\n id: string;\n type: IRecordLockingLockRecordEntryType;\n}\n\nexport interface IUpdateEntryLockUseCaseExecute {\n (params: IUpdateEntryLockUseCaseExecuteParams): Promise<IRecordLockingLockRecord>;\n}\n\nexport interface IUpdateEntryLockUseCase {\n execute: IUpdateEntryLockUseCaseExecute;\n}\n"],"mappings":"","ignoreList":[]}
package/crud/crud.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { Context, IRecordLocking } from "../types";
2
- interface Params {
3
- context: Pick<Context, "plugins" | "cms" | "benchmark" | "security" | "websockets">;
4
- timeout?: number;
5
- }
6
- export declare const createRecordLockingCrud: (params: Params) => Promise<IRecordLocking>;
7
- export {};
package/crud/crud.js DELETED
@@ -1,204 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.createRecordLockingCrud = void 0;
7
- var _error = require("@webiny/error");
8
- var _model = require("./model");
9
- var _useCases = require("../useCases");
10
- var _pubsub = require("@webiny/pubsub");
11
- var _getTimeout = require("../utils/getTimeout");
12
- const createRecordLockingCrud = async params => {
13
- const {
14
- context
15
- } = params;
16
- const getTimeout = () => {
17
- return (0, _getTimeout.getTimeout)(params.timeout);
18
- };
19
- const getModel = async () => {
20
- const model = await context.cms.getModel(_model.RECORD_LOCKING_MODEL_ID);
21
- if (model) {
22
- return model;
23
- }
24
- throw new _error.WebinyError("Record Locking model not found.", "MODEL_NOT_FOUND", {
25
- modelId: _model.RECORD_LOCKING_MODEL_ID
26
- });
27
- };
28
- const getManager = async () => {
29
- return await context.cms.getEntryManager(_model.RECORD_LOCKING_MODEL_ID);
30
- };
31
- const getSecurity = () => {
32
- return context.security;
33
- };
34
- const getIdentity = () => {
35
- const identity = context.security.getIdentity();
36
- if (!identity) {
37
- throw new _error.WebinyError("Identity missing.");
38
- }
39
- return {
40
- id: identity.id,
41
- displayName: identity.displayName,
42
- type: identity.type
43
- };
44
- };
45
- const hasRecordLockingAccess = async () => {
46
- const hasFulLAccess = await context.security.hasFullAccess();
47
- if (hasFulLAccess) {
48
- return true;
49
- }
50
- const permission = await context.security.getPermission("recordLocking");
51
- return permission?.canForceUnlock === "yes";
52
- };
53
- const onEntryBeforeLock = (0, _pubsub.createTopic)("cms.recordLocking.onEntryBeforeLock");
54
- const onEntryAfterLock = (0, _pubsub.createTopic)("cms.recordLocking.onEntryAfterLock");
55
- const onEntryLockError = (0, _pubsub.createTopic)("cms.recordLocking.onEntryLockError");
56
- const onEntryBeforeUnlock = (0, _pubsub.createTopic)("cms.recordLocking.onEntryBeforeUnlock");
57
- const onEntryAfterUnlock = (0, _pubsub.createTopic)("cms.recordLocking.onEntryAfterUnlock");
58
- const onEntryUnlockError = (0, _pubsub.createTopic)("cms.recordLocking.onEntryUnlockError");
59
- const onEntryBeforeUnlockRequest = (0, _pubsub.createTopic)("cms.recordLocking.onEntryBeforeUnlockRequest");
60
- const onEntryAfterUnlockRequest = (0, _pubsub.createTopic)("cms.recordLocking.onEntryAfterUnlockRequest");
61
- const onEntryUnlockRequestError = (0, _pubsub.createTopic)("cms.recordLocking.onEntryUnlockRequestError");
62
- const getWebsockets = () => {
63
- return context.websockets;
64
- };
65
- const {
66
- listLockRecordsUseCase,
67
- listAllLockRecordsUseCase,
68
- getLockRecordUseCase,
69
- isEntryLockedUseCase,
70
- getLockedEntryLockRecordUseCase,
71
- lockEntryUseCase,
72
- updateEntryLockUseCase,
73
- unlockEntryUseCase,
74
- unlockEntryRequestUseCase
75
- } = (0, _useCases.createUseCases)({
76
- getIdentity,
77
- getManager,
78
- getSecurity,
79
- hasRecordLockingAccess,
80
- getWebsockets,
81
- getTimeout
82
- });
83
- const listAllLockRecords = async params => {
84
- return context.benchmark.measure("recordLocking.listAllLockRecords", async () => {
85
- return listAllLockRecordsUseCase.execute(params);
86
- });
87
- };
88
- const listLockRecords = async params => {
89
- return context.benchmark.measure("recordLocking.listLockRecords", async () => {
90
- return listLockRecordsUseCase.execute(params);
91
- });
92
- };
93
- const getLockRecord = async params => {
94
- return context.benchmark.measure("recordLocking.getLockRecord", async () => {
95
- return getLockRecordUseCase.execute(params);
96
- });
97
- };
98
- const isEntryLocked = async params => {
99
- return context.benchmark.measure("recordLocking.isEntryLocked", async () => {
100
- return isEntryLockedUseCase.execute(params);
101
- });
102
- };
103
- const getLockedEntryLockRecord = async params => {
104
- return context.benchmark.measure("recordLocking.getLockedEntryLockRecord", async () => {
105
- return getLockedEntryLockRecordUseCase.execute(params);
106
- });
107
- };
108
- const lockEntry = async params => {
109
- return context.benchmark.measure("recordLocking.lockEntry", async () => {
110
- try {
111
- await onEntryBeforeLock.publish(params);
112
- const record = await lockEntryUseCase.execute(params);
113
- await onEntryAfterLock.publish({
114
- ...params,
115
- record
116
- });
117
- return record;
118
- } catch (ex) {
119
- await onEntryLockError.publish({
120
- ...params,
121
- error: ex
122
- });
123
- throw ex;
124
- }
125
- });
126
- };
127
- const updateEntryLock = async params => {
128
- return context.benchmark.measure("recordLocking.updateEntryLock", async () => {
129
- return updateEntryLockUseCase.execute(params);
130
- });
131
- };
132
- const unlockEntry = async params => {
133
- return context.benchmark.measure("recordLocking.unlockEntry", async () => {
134
- try {
135
- await onEntryBeforeUnlock.publish({
136
- ...params,
137
- getIdentity
138
- });
139
- const record = await unlockEntryUseCase.execute(params);
140
- await onEntryAfterUnlock.publish({
141
- ...params,
142
- record
143
- });
144
- return record;
145
- } catch (ex) {
146
- await onEntryUnlockError.publish({
147
- ...params,
148
- error: ex
149
- });
150
- throw ex;
151
- }
152
- });
153
- };
154
- const unlockEntryRequest = async params => {
155
- return context.benchmark.measure("recordLocking.unlockEntryRequest", async () => {
156
- try {
157
- await onEntryBeforeUnlockRequest.publish(params);
158
- const record = await unlockEntryRequestUseCase.execute(params);
159
- await onEntryAfterUnlockRequest.publish({
160
- ...params,
161
- record
162
- });
163
- return record;
164
- } catch (ex) {
165
- await onEntryUnlockRequestError.publish({
166
- ...params,
167
- error: ex
168
- });
169
- throw ex;
170
- }
171
- });
172
- };
173
- return {
174
- /**
175
- * Lifecycle events
176
- */
177
- onEntryBeforeLock,
178
- onEntryAfterLock,
179
- onEntryLockError,
180
- onEntryBeforeUnlock,
181
- onEntryAfterUnlock,
182
- onEntryUnlockError,
183
- onEntryBeforeUnlockRequest,
184
- onEntryAfterUnlockRequest,
185
- onEntryUnlockRequestError,
186
- /**
187
- * Methods
188
- */
189
- getModel,
190
- listLockRecords,
191
- listAllLockRecords,
192
- getLockRecord,
193
- isEntryLocked,
194
- getLockedEntryLockRecord,
195
- lockEntry,
196
- updateEntryLock,
197
- unlockEntry,
198
- unlockEntryRequest,
199
- getTimeout
200
- };
201
- };
202
- exports.createRecordLockingCrud = createRecordLockingCrud;
203
-
204
- //# sourceMappingURL=crud.js.map
package/crud/crud.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"names":["_error","require","_model","_useCases","_pubsub","_getTimeout","createRecordLockingCrud","params","context","getTimeout","baseGetTimeout","timeout","getModel","model","cms","RECORD_LOCKING_MODEL_ID","WebinyError","modelId","getManager","getEntryManager","getSecurity","security","getIdentity","identity","id","displayName","type","hasRecordLockingAccess","hasFulLAccess","hasFullAccess","permission","getPermission","canForceUnlock","onEntryBeforeLock","createTopic","onEntryAfterLock","onEntryLockError","onEntryBeforeUnlock","onEntryAfterUnlock","onEntryUnlockError","onEntryBeforeUnlockRequest","onEntryAfterUnlockRequest","onEntryUnlockRequestError","getWebsockets","websockets","listLockRecordsUseCase","listAllLockRecordsUseCase","getLockRecordUseCase","isEntryLockedUseCase","getLockedEntryLockRecordUseCase","lockEntryUseCase","updateEntryLockUseCase","unlockEntryUseCase","unlockEntryRequestUseCase","createUseCases","listAllLockRecords","benchmark","measure","execute","listLockRecords","getLockRecord","isEntryLocked","getLockedEntryLockRecord","lockEntry","publish","record","ex","error","updateEntryLock","unlockEntry","unlockEntryRequest","exports"],"sources":["crud.ts"],"sourcesContent":["import { WebinyError } from \"@webiny/error\";\nimport type {\n Context,\n IGetIdentity,\n IGetWebsocketsContextCallable,\n IHasRecordLockingAccessCallable,\n IRecordLocking,\n IRecordLockingLockRecordValues,\n IRecordLockingModelManager,\n OnEntryAfterLockTopicParams,\n OnEntryAfterUnlockRequestTopicParams,\n OnEntryAfterUnlockTopicParams,\n OnEntryBeforeLockTopicParams,\n OnEntryBeforeUnlockRequestTopicParams,\n OnEntryBeforeUnlockTopicParams,\n OnEntryLockErrorTopicParams,\n OnEntryUnlockErrorTopicParams,\n OnEntryUnlockRequestErrorTopicParams,\n RecordLockingSecurityPermission\n} from \"~/types\";\nimport { RECORD_LOCKING_MODEL_ID } from \"./model\";\nimport type { IGetLockRecordUseCaseExecute } from \"~/abstractions/IGetLockRecordUseCase\";\nimport type { IIsEntryLockedUseCaseExecute } from \"~/abstractions/IIsEntryLocked\";\nimport type { ILockEntryUseCaseExecute } from \"~/abstractions/ILockEntryUseCase\";\nimport type { IUnlockEntryUseCaseExecute } from \"~/abstractions/IUnlockEntryUseCase\";\nimport { createUseCases } from \"~/useCases\";\nimport type { IUnlockEntryRequestUseCaseExecute } from \"~/abstractions/IUnlockEntryRequestUseCase\";\nimport { createTopic } from \"@webiny/pubsub\";\nimport type { IListAllLockRecordsUseCaseExecute } from \"~/abstractions/IListAllLockRecordsUseCase\";\nimport type { IListLockRecordsUseCaseExecute } from \"~/abstractions/IListLockRecordsUseCase\";\nimport type { IUpdateEntryLockUseCaseExecute } from \"~/abstractions/IUpdateEntryLockUseCase\";\nimport type { IGetLockedEntryLockRecordUseCaseExecute } from \"~/abstractions/IGetLockedEntryLockRecordUseCase\";\nimport { getTimeout as baseGetTimeout } from \"~/utils/getTimeout\";\n\ninterface Params {\n context: Pick<Context, \"plugins\" | \"cms\" | \"benchmark\" | \"security\" | \"websockets\">;\n timeout?: number;\n}\n\nexport const createRecordLockingCrud = async (params: Params): Promise<IRecordLocking> => {\n const { context } = params;\n const getTimeout = (): number => {\n return baseGetTimeout(params.timeout);\n };\n const getModel = async () => {\n const model = await context.cms.getModel(RECORD_LOCKING_MODEL_ID);\n if (model) {\n return model;\n }\n throw new WebinyError(\"Record Locking model not found.\", \"MODEL_NOT_FOUND\", {\n modelId: RECORD_LOCKING_MODEL_ID\n });\n };\n\n const getManager = async (): Promise<IRecordLockingModelManager> => {\n return await context.cms.getEntryManager<IRecordLockingLockRecordValues>(\n RECORD_LOCKING_MODEL_ID\n );\n };\n\n const getSecurity = () => {\n return context.security;\n };\n\n const getIdentity: IGetIdentity = () => {\n const identity = context.security.getIdentity();\n if (!identity) {\n throw new WebinyError(\"Identity missing.\");\n }\n return {\n id: identity.id,\n displayName: identity.displayName,\n type: identity.type\n };\n };\n\n const hasRecordLockingAccess: IHasRecordLockingAccessCallable = async () => {\n const hasFulLAccess = await context.security.hasFullAccess();\n if (hasFulLAccess) {\n return true;\n }\n const permission = await context.security.getPermission<RecordLockingSecurityPermission>(\n \"recordLocking\"\n );\n return permission?.canForceUnlock === \"yes\";\n };\n\n const onEntryBeforeLock = createTopic<OnEntryBeforeLockTopicParams>(\n \"cms.recordLocking.onEntryBeforeLock\"\n );\n const onEntryAfterLock = createTopic<OnEntryAfterLockTopicParams>(\n \"cms.recordLocking.onEntryAfterLock\"\n );\n const onEntryLockError = createTopic<OnEntryLockErrorTopicParams>(\n \"cms.recordLocking.onEntryLockError\"\n );\n\n const onEntryBeforeUnlock = createTopic<OnEntryBeforeUnlockTopicParams>(\n \"cms.recordLocking.onEntryBeforeUnlock\"\n );\n const onEntryAfterUnlock = createTopic<OnEntryAfterUnlockTopicParams>(\n \"cms.recordLocking.onEntryAfterUnlock\"\n );\n const onEntryUnlockError = createTopic<OnEntryUnlockErrorTopicParams>(\n \"cms.recordLocking.onEntryUnlockError\"\n );\n\n const onEntryBeforeUnlockRequest = createTopic<OnEntryBeforeUnlockRequestTopicParams>(\n \"cms.recordLocking.onEntryBeforeUnlockRequest\"\n );\n const onEntryAfterUnlockRequest = createTopic<OnEntryAfterUnlockRequestTopicParams>(\n \"cms.recordLocking.onEntryAfterUnlockRequest\"\n );\n const onEntryUnlockRequestError = createTopic<OnEntryUnlockRequestErrorTopicParams>(\n \"cms.recordLocking.onEntryUnlockRequestError\"\n );\n\n const getWebsockets: IGetWebsocketsContextCallable = () => {\n return context.websockets;\n };\n\n const {\n listLockRecordsUseCase,\n listAllLockRecordsUseCase,\n getLockRecordUseCase,\n isEntryLockedUseCase,\n getLockedEntryLockRecordUseCase,\n lockEntryUseCase,\n updateEntryLockUseCase,\n unlockEntryUseCase,\n unlockEntryRequestUseCase\n } = createUseCases({\n getIdentity,\n getManager,\n getSecurity,\n hasRecordLockingAccess,\n getWebsockets,\n getTimeout\n });\n\n const listAllLockRecords: IListAllLockRecordsUseCaseExecute = async params => {\n return context.benchmark.measure(\"recordLocking.listAllLockRecords\", async () => {\n return listAllLockRecordsUseCase.execute(params);\n });\n };\n\n const listLockRecords: IListLockRecordsUseCaseExecute = async params => {\n return context.benchmark.measure(\"recordLocking.listLockRecords\", async () => {\n return listLockRecordsUseCase.execute(params);\n });\n };\n\n const getLockRecord: IGetLockRecordUseCaseExecute = async params => {\n return context.benchmark.measure(\"recordLocking.getLockRecord\", async () => {\n return getLockRecordUseCase.execute(params);\n });\n };\n\n const isEntryLocked: IIsEntryLockedUseCaseExecute = async params => {\n return context.benchmark.measure(\"recordLocking.isEntryLocked\", async () => {\n return isEntryLockedUseCase.execute(params);\n });\n };\n\n const getLockedEntryLockRecord: IGetLockedEntryLockRecordUseCaseExecute = async params => {\n return context.benchmark.measure(\"recordLocking.getLockedEntryLockRecord\", async () => {\n return getLockedEntryLockRecordUseCase.execute(params);\n });\n };\n\n const lockEntry: ILockEntryUseCaseExecute = async params => {\n return context.benchmark.measure(\"recordLocking.lockEntry\", async () => {\n try {\n await onEntryBeforeLock.publish(params);\n const record = await lockEntryUseCase.execute(params);\n await onEntryAfterLock.publish({\n ...params,\n record\n });\n return record;\n } catch (ex) {\n await onEntryLockError.publish({\n ...params,\n error: ex\n });\n throw ex;\n }\n });\n };\n\n const updateEntryLock: IUpdateEntryLockUseCaseExecute = async params => {\n return context.benchmark.measure(\"recordLocking.updateEntryLock\", async () => {\n return updateEntryLockUseCase.execute(params);\n });\n };\n\n const unlockEntry: IUnlockEntryUseCaseExecute = async params => {\n return context.benchmark.measure(\"recordLocking.unlockEntry\", async () => {\n try {\n await onEntryBeforeUnlock.publish({\n ...params,\n getIdentity\n });\n const record = await unlockEntryUseCase.execute(params);\n await onEntryAfterUnlock.publish({\n ...params,\n record\n });\n return record;\n } catch (ex) {\n await onEntryUnlockError.publish({\n ...params,\n error: ex\n });\n throw ex;\n }\n });\n };\n\n const unlockEntryRequest: IUnlockEntryRequestUseCaseExecute = async params => {\n return context.benchmark.measure(\"recordLocking.unlockEntryRequest\", async () => {\n try {\n await onEntryBeforeUnlockRequest.publish(params);\n const record = await unlockEntryRequestUseCase.execute(params);\n await onEntryAfterUnlockRequest.publish({\n ...params,\n record\n });\n return record;\n } catch (ex) {\n await onEntryUnlockRequestError.publish({\n ...params,\n error: ex\n });\n throw ex;\n }\n });\n };\n\n return {\n /**\n * Lifecycle events\n */\n onEntryBeforeLock,\n onEntryAfterLock,\n onEntryLockError,\n onEntryBeforeUnlock,\n onEntryAfterUnlock,\n onEntryUnlockError,\n onEntryBeforeUnlockRequest,\n onEntryAfterUnlockRequest,\n onEntryUnlockRequestError,\n /**\n * Methods\n */\n getModel,\n listLockRecords,\n listAllLockRecords,\n getLockRecord,\n isEntryLocked,\n getLockedEntryLockRecord,\n lockEntry,\n updateEntryLock,\n unlockEntry,\n unlockEntryRequest,\n getTimeout\n };\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAoBA,IAAAC,MAAA,GAAAD,OAAA;AAKA,IAAAE,SAAA,GAAAF,OAAA;AAEA,IAAAG,OAAA,GAAAH,OAAA;AAKA,IAAAI,WAAA,GAAAJ,OAAA;AAOO,MAAMK,uBAAuB,GAAG,MAAOC,MAAc,IAA8B;EACtF,MAAM;IAAEC;EAAQ,CAAC,GAAGD,MAAM;EAC1B,MAAME,UAAU,GAAGA,CAAA,KAAc;IAC7B,OAAO,IAAAC,sBAAc,EAACH,MAAM,CAACI,OAAO,CAAC;EACzC,CAAC;EACD,MAAMC,QAAQ,GAAG,MAAAA,CAAA,KAAY;IACzB,MAAMC,KAAK,GAAG,MAAML,OAAO,CAACM,GAAG,CAACF,QAAQ,CAACG,8BAAuB,CAAC;IACjE,IAAIF,KAAK,EAAE;MACP,OAAOA,KAAK;IAChB;IACA,MAAM,IAAIG,kBAAW,CAAC,iCAAiC,EAAE,iBAAiB,EAAE;MACxEC,OAAO,EAAEF;IACb,CAAC,CAAC;EACN,CAAC;EAED,MAAMG,UAAU,GAAG,MAAAA,CAAA,KAAiD;IAChE,OAAO,MAAMV,OAAO,CAACM,GAAG,CAACK,eAAe,CACpCJ,8BACJ,CAAC;EACL,CAAC;EAED,MAAMK,WAAW,GAAGA,CAAA,KAAM;IACtB,OAAOZ,OAAO,CAACa,QAAQ;EAC3B,CAAC;EAED,MAAMC,WAAyB,GAAGA,CAAA,KAAM;IACpC,MAAMC,QAAQ,GAAGf,OAAO,CAACa,QAAQ,CAACC,WAAW,CAAC,CAAC;IAC/C,IAAI,CAACC,QAAQ,EAAE;MACX,MAAM,IAAIP,kBAAW,CAAC,mBAAmB,CAAC;IAC9C;IACA,OAAO;MACHQ,EAAE,EAAED,QAAQ,CAACC,EAAE;MACfC,WAAW,EAAEF,QAAQ,CAACE,WAAW;MACjCC,IAAI,EAAEH,QAAQ,CAACG;IACnB,CAAC;EACL,CAAC;EAED,MAAMC,sBAAuD,GAAG,MAAAA,CAAA,KAAY;IACxE,MAAMC,aAAa,GAAG,MAAMpB,OAAO,CAACa,QAAQ,CAACQ,aAAa,CAAC,CAAC;IAC5D,IAAID,aAAa,EAAE;MACf,OAAO,IAAI;IACf;IACA,MAAME,UAAU,GAAG,MAAMtB,OAAO,CAACa,QAAQ,CAACU,aAAa,CACnD,eACJ,CAAC;IACD,OAAOD,UAAU,EAAEE,cAAc,KAAK,KAAK;EAC/C,CAAC;EAED,MAAMC,iBAAiB,GAAG,IAAAC,mBAAW,EACjC,qCACJ,CAAC;EACD,MAAMC,gBAAgB,GAAG,IAAAD,mBAAW,EAChC,oCACJ,CAAC;EACD,MAAME,gBAAgB,GAAG,IAAAF,mBAAW,EAChC,oCACJ,CAAC;EAED,MAAMG,mBAAmB,GAAG,IAAAH,mBAAW,EACnC,uCACJ,CAAC;EACD,MAAMI,kBAAkB,GAAG,IAAAJ,mBAAW,EAClC,sCACJ,CAAC;EACD,MAAMK,kBAAkB,GAAG,IAAAL,mBAAW,EAClC,sCACJ,CAAC;EAED,MAAMM,0BAA0B,GAAG,IAAAN,mBAAW,EAC1C,8CACJ,CAAC;EACD,MAAMO,yBAAyB,GAAG,IAAAP,mBAAW,EACzC,6CACJ,CAAC;EACD,MAAMQ,yBAAyB,GAAG,IAAAR,mBAAW,EACzC,6CACJ,CAAC;EAED,MAAMS,aAA4C,GAAGA,CAAA,KAAM;IACvD,OAAOnC,OAAO,CAACoC,UAAU;EAC7B,CAAC;EAED,MAAM;IACFC,sBAAsB;IACtBC,yBAAyB;IACzBC,oBAAoB;IACpBC,oBAAoB;IACpBC,+BAA+B;IAC/BC,gBAAgB;IAChBC,sBAAsB;IACtBC,kBAAkB;IAClBC;EACJ,CAAC,GAAG,IAAAC,wBAAc,EAAC;IACfhC,WAAW;IACXJ,UAAU;IACVE,WAAW;IACXO,sBAAsB;IACtBgB,aAAa;IACblC;EACJ,CAAC,CAAC;EAEF,MAAM8C,kBAAqD,GAAG,MAAMhD,MAAM,IAAI;IAC1E,OAAOC,OAAO,CAACgD,SAAS,CAACC,OAAO,CAAC,kCAAkC,EAAE,YAAY;MAC7E,OAAOX,yBAAyB,CAACY,OAAO,CAACnD,MAAM,CAAC;IACpD,CAAC,CAAC;EACN,CAAC;EAED,MAAMoD,eAA+C,GAAG,MAAMpD,MAAM,IAAI;IACpE,OAAOC,OAAO,CAACgD,SAAS,CAACC,OAAO,CAAC,+BAA+B,EAAE,YAAY;MAC1E,OAAOZ,sBAAsB,CAACa,OAAO,CAACnD,MAAM,CAAC;IACjD,CAAC,CAAC;EACN,CAAC;EAED,MAAMqD,aAA2C,GAAG,MAAMrD,MAAM,IAAI;IAChE,OAAOC,OAAO,CAACgD,SAAS,CAACC,OAAO,CAAC,6BAA6B,EAAE,YAAY;MACxE,OAAOV,oBAAoB,CAACW,OAAO,CAACnD,MAAM,CAAC;IAC/C,CAAC,CAAC;EACN,CAAC;EAED,MAAMsD,aAA2C,GAAG,MAAMtD,MAAM,IAAI;IAChE,OAAOC,OAAO,CAACgD,SAAS,CAACC,OAAO,CAAC,6BAA6B,EAAE,YAAY;MACxE,OAAOT,oBAAoB,CAACU,OAAO,CAACnD,MAAM,CAAC;IAC/C,CAAC,CAAC;EACN,CAAC;EAED,MAAMuD,wBAAiE,GAAG,MAAMvD,MAAM,IAAI;IACtF,OAAOC,OAAO,CAACgD,SAAS,CAACC,OAAO,CAAC,wCAAwC,EAAE,YAAY;MACnF,OAAOR,+BAA+B,CAACS,OAAO,CAACnD,MAAM,CAAC;IAC1D,CAAC,CAAC;EACN,CAAC;EAED,MAAMwD,SAAmC,GAAG,MAAMxD,MAAM,IAAI;IACxD,OAAOC,OAAO,CAACgD,SAAS,CAACC,OAAO,CAAC,yBAAyB,EAAE,YAAY;MACpE,IAAI;QACA,MAAMxB,iBAAiB,CAAC+B,OAAO,CAACzD,MAAM,CAAC;QACvC,MAAM0D,MAAM,GAAG,MAAMf,gBAAgB,CAACQ,OAAO,CAACnD,MAAM,CAAC;QACrD,MAAM4B,gBAAgB,CAAC6B,OAAO,CAAC;UAC3B,GAAGzD,MAAM;UACT0D;QACJ,CAAC,CAAC;QACF,OAAOA,MAAM;MACjB,CAAC,CAAC,OAAOC,EAAE,EAAE;QACT,MAAM9B,gBAAgB,CAAC4B,OAAO,CAAC;UAC3B,GAAGzD,MAAM;UACT4D,KAAK,EAAED;QACX,CAAC,CAAC;QACF,MAAMA,EAAE;MACZ;IACJ,CAAC,CAAC;EACN,CAAC;EAED,MAAME,eAA+C,GAAG,MAAM7D,MAAM,IAAI;IACpE,OAAOC,OAAO,CAACgD,SAAS,CAACC,OAAO,CAAC,+BAA+B,EAAE,YAAY;MAC1E,OAAON,sBAAsB,CAACO,OAAO,CAACnD,MAAM,CAAC;IACjD,CAAC,CAAC;EACN,CAAC;EAED,MAAM8D,WAAuC,GAAG,MAAM9D,MAAM,IAAI;IAC5D,OAAOC,OAAO,CAACgD,SAAS,CAACC,OAAO,CAAC,2BAA2B,EAAE,YAAY;MACtE,IAAI;QACA,MAAMpB,mBAAmB,CAAC2B,OAAO,CAAC;UAC9B,GAAGzD,MAAM;UACTe;QACJ,CAAC,CAAC;QACF,MAAM2C,MAAM,GAAG,MAAMb,kBAAkB,CAACM,OAAO,CAACnD,MAAM,CAAC;QACvD,MAAM+B,kBAAkB,CAAC0B,OAAO,CAAC;UAC7B,GAAGzD,MAAM;UACT0D;QACJ,CAAC,CAAC;QACF,OAAOA,MAAM;MACjB,CAAC,CAAC,OAAOC,EAAE,EAAE;QACT,MAAM3B,kBAAkB,CAACyB,OAAO,CAAC;UAC7B,GAAGzD,MAAM;UACT4D,KAAK,EAAED;QACX,CAAC,CAAC;QACF,MAAMA,EAAE;MACZ;IACJ,CAAC,CAAC;EACN,CAAC;EAED,MAAMI,kBAAqD,GAAG,MAAM/D,MAAM,IAAI;IAC1E,OAAOC,OAAO,CAACgD,SAAS,CAACC,OAAO,CAAC,kCAAkC,EAAE,YAAY;MAC7E,IAAI;QACA,MAAMjB,0BAA0B,CAACwB,OAAO,CAACzD,MAAM,CAAC;QAChD,MAAM0D,MAAM,GAAG,MAAMZ,yBAAyB,CAACK,OAAO,CAACnD,MAAM,CAAC;QAC9D,MAAMkC,yBAAyB,CAACuB,OAAO,CAAC;UACpC,GAAGzD,MAAM;UACT0D;QACJ,CAAC,CAAC;QACF,OAAOA,MAAM;MACjB,CAAC,CAAC,OAAOC,EAAE,EAAE;QACT,MAAMxB,yBAAyB,CAACsB,OAAO,CAAC;UACpC,GAAGzD,MAAM;UACT4D,KAAK,EAAED;QACX,CAAC,CAAC;QACF,MAAMA,EAAE;MACZ;IACJ,CAAC,CAAC;EACN,CAAC;EAED,OAAO;IACH;AACR;AACA;IACQjC,iBAAiB;IACjBE,gBAAgB;IAChBC,gBAAgB;IAChBC,mBAAmB;IACnBC,kBAAkB;IAClBC,kBAAkB;IAClBC,0BAA0B;IAC1BC,yBAAyB;IACzBC,yBAAyB;IACzB;AACR;AACA;IACQ9B,QAAQ;IACR+C,eAAe;IACfJ,kBAAkB;IAClBK,aAAa;IACbC,aAAa;IACbC,wBAAwB;IACxBC,SAAS;IACTK,eAAe;IACfC,WAAW;IACXC,kBAAkB;IAClB7D;EACJ,CAAC;AACL,CAAC;AAAC8D,OAAA,CAAAjE,uBAAA,GAAAA,uBAAA","ignoreList":[]}
package/crud/model.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare const RECORD_LOCKING_MODEL_ID = "wby_recordLocking";
2
- export declare const createLockingModel: () => import("@webiny/api-headless-cms").CmsModelPlugin;