@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 +0,0 @@
1
- {"version":3,"names":["_types","require","_lockRecordDatabaseId","_calculateExpiresOn","convertEntryToLockRecord","entry","timeout","HeadlessCmsLockRecord","exports","id","_id","targetId","_targetId","type","_type","lockedBy","_lockedBy","lockedOn","_lockedOn","updatedOn","_updatedOn","expiresOn","_expiresOn","actions","_actions","constructor","input","removeLockRecordDatabasePrefix","entryId","values","createdBy","Date","createdOn","savedOn","calculateExpiresOn","toObject","addAction","action","push","getUnlockRequested","length","undefined","find","RecordLockingLockRecordActionType","requested","getUnlockApproved","approved","getUnlockDenied","denied","isExpired","getTime"],"sources":["convertEntryToLockRecord.ts"],"sourcesContent":["import type {\n CmsEntry,\n IRecordLockingIdentity,\n IRecordLockingLockRecord,\n IRecordLockingLockRecordAction,\n IRecordLockingLockRecordApprovedAction,\n IRecordLockingLockRecordDeniedAction,\n IRecordLockingLockRecordEntryType,\n IRecordLockingLockRecordObject,\n IRecordLockingLockRecordRequestedAction,\n IRecordLockingLockRecordValues\n} from \"~/types\";\nimport { RecordLockingLockRecordActionType } from \"~/types\";\nimport { removeLockRecordDatabasePrefix } from \"~/utils/lockRecordDatabaseId\";\nimport { calculateExpiresOn } from \"~/utils/calculateExpiresOn\";\n\nexport const convertEntryToLockRecord = (\n entry: CmsEntry<IRecordLockingLockRecordValues>,\n timeout: number\n): IRecordLockingLockRecord => {\n return new HeadlessCmsLockRecord(entry, timeout);\n};\n\nexport type IHeadlessCmsLockRecordParams = Pick<\n CmsEntry<IRecordLockingLockRecordValues>,\n \"entryId\" | \"values\" | \"createdBy\" | \"createdOn\" | \"savedOn\"\n>;\n\nexport class HeadlessCmsLockRecord implements IRecordLockingLockRecord {\n private readonly _id: string;\n private readonly _targetId: string;\n private readonly _type: IRecordLockingLockRecordEntryType;\n private readonly _lockedBy: IRecordLockingIdentity;\n private readonly _lockedOn: Date;\n private readonly _updatedOn: Date;\n private readonly _expiresOn: Date;\n private _actions?: IRecordLockingLockRecordAction[];\n\n public get id(): string {\n return this._id;\n }\n\n public get targetId(): string {\n return this._targetId;\n }\n\n public get type(): IRecordLockingLockRecordEntryType {\n return this._type;\n }\n\n public get lockedBy(): IRecordLockingIdentity {\n return this._lockedBy;\n }\n\n public get lockedOn(): Date {\n return this._lockedOn;\n }\n\n public get updatedOn(): Date {\n return this._updatedOn;\n }\n\n public get expiresOn(): Date {\n return this._expiresOn;\n }\n\n public get actions(): IRecordLockingLockRecordAction[] | undefined {\n return this._actions;\n }\n\n public constructor(input: IHeadlessCmsLockRecordParams, timeout: number) {\n this._id = removeLockRecordDatabasePrefix(input.entryId);\n this._targetId = input.values.targetId;\n this._type = input.values.type;\n this._lockedBy = input.createdBy;\n this._lockedOn = new Date(input.createdOn);\n this._updatedOn = new Date(input.savedOn);\n this._expiresOn = calculateExpiresOn(input, timeout);\n this._actions = input.values.actions;\n }\n\n public toObject(): IRecordLockingLockRecordObject {\n return {\n id: this._id,\n targetId: this._targetId,\n type: this._type,\n lockedBy: this._lockedBy,\n lockedOn: this._lockedOn,\n updatedOn: this._updatedOn,\n expiresOn: this._expiresOn,\n actions: this._actions\n };\n }\n\n public addAction(action: IRecordLockingLockRecordAction) {\n if (!this._actions) {\n this._actions = [];\n }\n this._actions.push(action);\n }\n\n public getUnlockRequested(): IRecordLockingLockRecordRequestedAction | undefined {\n if (!this._actions?.length) {\n return undefined;\n }\n return this._actions.find(\n (action): action is IRecordLockingLockRecordRequestedAction =>\n action.type === RecordLockingLockRecordActionType.requested\n );\n }\n\n public getUnlockApproved(): IRecordLockingLockRecordApprovedAction | undefined {\n if (!this._actions?.length) {\n return undefined;\n }\n return this._actions.find(\n (action): action is IRecordLockingLockRecordApprovedAction =>\n action.type === RecordLockingLockRecordActionType.approved\n );\n }\n\n public getUnlockDenied(): IRecordLockingLockRecordDeniedAction | undefined {\n if (!this._actions?.length) {\n return undefined;\n }\n return this._actions.find(\n (action): action is IRecordLockingLockRecordDeniedAction =>\n action.type === RecordLockingLockRecordActionType.denied\n );\n }\n\n public isExpired(): boolean {\n return this._expiresOn.getTime() < new Date().getTime();\n }\n}\n"],"mappings":"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","ignoreList":[]}
package/utils/resolve.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.resolveList = exports.resolve = void 0;
7
- var _handlerGraphql = require("@webiny/handler-graphql");
8
- const resolve = async cb => {
9
- try {
10
- const result = await cb();
11
- return new _handlerGraphql.Response(result);
12
- } catch (ex) {
13
- return new _handlerGraphql.ErrorResponse(ex);
14
- }
15
- };
16
- exports.resolve = resolve;
17
- const resolveList = async cb => {
18
- try {
19
- const {
20
- items,
21
- meta
22
- } = await cb();
23
- return new _handlerGraphql.ListResponse(items, meta);
24
- } catch (ex) {
25
- return new _handlerGraphql.ListErrorResponse(ex);
26
- }
27
- };
28
- exports.resolveList = resolveList;
29
-
30
- //# sourceMappingURL=resolve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_handlerGraphql","require","resolve","cb","result","Response","ex","ErrorResponse","exports","resolveList","items","meta","ListResponse","ListErrorResponse"],"sources":["resolve.ts"],"sourcesContent":["import { ErrorResponse, ListErrorResponse, ListResponse, Response } from \"@webiny/handler-graphql\";\nimport type { IRecordLockingMeta } from \"~/types\";\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"],"mappings":";;;;;;AAAA,IAAAA,eAAA,GAAAC,OAAA;AAGO,MAAMC,OAAO,GAAG,MAAUC,EAAoB,IAA2C;EAC5F,IAAI;IACA,MAAMC,MAAM,GAAG,MAAMD,EAAE,CAAC,CAAC;IACzB,OAAO,IAAIE,wBAAQ,CAAID,MAAM,CAAC;EAClC,CAAC,CAAC,OAAOE,EAAE,EAAE;IACT,OAAO,IAAIC,6BAAa,CAACD,EAAE,CAAC;EAChC;AACJ,CAAC;AAACE,OAAA,CAAAN,OAAA,GAAAA,OAAA;AAOK,MAAMO,WAAW,GAAG,MACvBN,EAAmC,IACM;EACzC,IAAI;IACA,MAAM;MAAEO,KAAK;MAAEC;IAAK,CAAC,GAAG,MAAMR,EAAE,CAAC,CAAC;IAClC,OAAO,IAAIS,4BAAY,CAACF,KAAK,EAAEC,IAAI,CAAC;EACxC,CAAC,CAAC,OAAOL,EAAE,EAAE;IACT,OAAO,IAAIO,iCAAiB,CAACP,EAAE,CAAC;EACpC;AACJ,CAAC;AAACE,OAAA,CAAAC,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -1,6 +0,0 @@
1
- import type { IRecordLockingIdentity } from "../types";
2
- export interface IValidateSameIdentityParams {
3
- getIdentity: () => Pick<IRecordLockingIdentity, "id">;
4
- target: Pick<IRecordLockingIdentity, "id">;
5
- }
6
- export declare const validateSameIdentity: (params: IValidateSameIdentityParams) => void;
@@ -1,24 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.validateSameIdentity = void 0;
7
- var _apiSecurity = require("@webiny/api-security");
8
- const validateSameIdentity = params => {
9
- const {
10
- getIdentity,
11
- target
12
- } = params;
13
- const identity = getIdentity();
14
- if (identity.id === target.id) {
15
- return;
16
- }
17
- throw new _apiSecurity.NotAuthorizedError({
18
- message: "Cannot update lock record. Record is locked by another user.",
19
- code: "LOCK_UPDATE_ERROR"
20
- });
21
- };
22
- exports.validateSameIdentity = validateSameIdentity;
23
-
24
- //# sourceMappingURL=validateSameIdentity.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_apiSecurity","require","validateSameIdentity","params","getIdentity","target","identity","id","NotAuthorizedError","message","code","exports"],"sources":["validateSameIdentity.ts"],"sourcesContent":["import { NotAuthorizedError } from \"@webiny/api-security\";\nimport type { IRecordLockingIdentity } from \"~/types\";\n\nexport interface IValidateSameIdentityParams {\n getIdentity: () => Pick<IRecordLockingIdentity, \"id\">;\n target: Pick<IRecordLockingIdentity, \"id\">;\n}\n\nexport const validateSameIdentity = (params: IValidateSameIdentityParams): void => {\n const { getIdentity, target } = params;\n const identity = getIdentity();\n if (identity.id === target.id) {\n return;\n }\n throw new NotAuthorizedError({\n message: \"Cannot update lock record. Record is locked by another user.\",\n code: \"LOCK_UPDATE_ERROR\"\n });\n};\n"],"mappings":";;;;;;AAAA,IAAAA,YAAA,GAAAC,OAAA;AAQO,MAAMC,oBAAoB,GAAIC,MAAmC,IAAW;EAC/E,MAAM;IAAEC,WAAW;IAAEC;EAAO,CAAC,GAAGF,MAAM;EACtC,MAAMG,QAAQ,GAAGF,WAAW,CAAC,CAAC;EAC9B,IAAIE,QAAQ,CAACC,EAAE,KAAKF,MAAM,CAACE,EAAE,EAAE;IAC3B;EACJ;EACA,MAAM,IAAIC,+BAAkB,CAAC;IACzBC,OAAO,EAAE,8DAA8D;IACvEC,IAAI,EAAE;EACV,CAAC,CAAC;AACN,CAAC;AAACC,OAAA,CAAAT,oBAAA,GAAAA,oBAAA","ignoreList":[]}