@jrmc/adonis-attachment 5.2.1 → 6.0.0-alpha.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/README.md +10 -81
  2. package/build/bin/test.d.ts +2 -0
  3. package/build/bin/test.d.ts.map +1 -0
  4. package/build/bin/test.js +9 -0
  5. package/build/bin/test.js.map +1 -0
  6. package/build/commands/commands.json +1 -1
  7. package/build/commands/make/attachment_v5_migration.d.ts +17 -0
  8. package/build/commands/make/attachment_v5_migration.d.ts.map +1 -0
  9. package/build/commands/make/attachment_v5_migration.js +26 -0
  10. package/build/commands/make/attachment_v5_migration.js.map +1 -0
  11. package/build/commands/make/{converter.d.ts → attachments_table.d.ts} +6 -4
  12. package/build/commands/make/attachments_table.d.ts.map +1 -0
  13. package/build/commands/make/attachments_table.js +30 -0
  14. package/build/commands/make/attachments_table.js.map +1 -0
  15. package/build/configure.d.ts.map +1 -1
  16. package/build/configure.js +2 -1
  17. package/build/configure.js.map +1 -0
  18. package/build/index.d.ts +26 -10
  19. package/build/index.d.ts.map +1 -1
  20. package/build/index.js +16 -9
  21. package/build/index.js.map +1 -0
  22. package/build/providers/attachment_provider.d.ts +0 -19
  23. package/build/providers/attachment_provider.d.ts.map +1 -1
  24. package/build/providers/attachment_provider.js +30 -26
  25. package/build/providers/attachment_provider.js.map +1 -0
  26. package/build/services/main.d.ts +3 -3
  27. package/build/services/main.d.ts.map +1 -1
  28. package/build/services/main.js +42 -5
  29. package/build/services/main.js.map +1 -0
  30. package/build/src/adapters/adonis_drive_storage.d.ts +33 -0
  31. package/build/src/adapters/adonis_drive_storage.d.ts.map +1 -0
  32. package/build/src/adapters/adonis_drive_storage.js +35 -0
  33. package/build/src/adapters/adonis_drive_storage.js.map +1 -0
  34. package/build/src/adapters/local_file_storage.d.ts +25 -0
  35. package/build/src/adapters/local_file_storage.d.ts.map +1 -0
  36. package/build/src/adapters/local_file_storage.js +54 -0
  37. package/build/src/adapters/local_file_storage.js.map +1 -0
  38. package/build/src/controllers/attachments_controller.d.ts +13 -2
  39. package/build/src/controllers/attachments_controller.d.ts.map +1 -1
  40. package/build/src/controllers/attachments_controller.js +20 -107
  41. package/build/src/controllers/attachments_controller.js.map +1 -0
  42. package/build/src/core/attachment.d.ts +70 -0
  43. package/build/src/core/attachment.d.ts.map +1 -0
  44. package/build/src/core/attachment.js +150 -0
  45. package/build/src/core/attachment.js.map +1 -0
  46. package/build/src/core/attachment_job_processor.d.ts +30 -0
  47. package/build/src/core/attachment_job_processor.d.ts.map +1 -0
  48. package/build/src/core/attachment_job_processor.js +47 -0
  49. package/build/src/core/attachment_job_processor.js.map +1 -0
  50. package/build/src/core/attachment_options.d.ts +32 -0
  51. package/build/src/core/attachment_options.d.ts.map +1 -0
  52. package/build/src/core/attachment_options.js +24 -0
  53. package/build/src/core/attachment_options.js.map +1 -0
  54. package/build/src/core/attachment_repository.d.ts +15 -0
  55. package/build/src/core/attachment_repository.d.ts.map +1 -0
  56. package/build/src/core/attachment_repository.js +8 -0
  57. package/build/src/core/attachment_repository.js.map +1 -0
  58. package/build/src/core/attachment_service.d.ts +34 -0
  59. package/build/src/core/attachment_service.d.ts.map +1 -0
  60. package/build/src/core/attachment_service.js +93 -0
  61. package/build/src/core/attachment_service.js.map +1 -0
  62. package/build/src/core/attachment_state.d.ts +11 -0
  63. package/build/src/core/attachment_state.d.ts.map +1 -0
  64. package/build/src/core/attachment_state.js +17 -0
  65. package/build/src/core/attachment_state.js.map +1 -0
  66. package/build/src/core/index.d.ts +14 -0
  67. package/build/src/core/index.d.ts.map +1 -0
  68. package/build/src/core/index.js +11 -0
  69. package/build/src/core/index.js.map +1 -0
  70. package/build/src/core/queue.d.ts +20 -0
  71. package/build/src/core/queue.d.ts.map +1 -0
  72. package/build/src/{types/event.js → core/queue.js} +1 -0
  73. package/build/src/core/queue.js.map +1 -0
  74. package/build/src/core/storage.d.ts +23 -0
  75. package/build/src/core/storage.d.ts.map +1 -0
  76. package/build/src/{types/config.js → core/storage.js} +1 -0
  77. package/build/src/core/storage.js.map +1 -0
  78. package/build/src/define_config.d.ts +39 -20
  79. package/build/src/define_config.d.ts.map +1 -1
  80. package/build/src/define_config.js +46 -24
  81. package/build/src/define_config.js.map +1 -0
  82. package/build/src/integrations/lucid/attachment_column.d.ts +18 -0
  83. package/build/src/integrations/lucid/attachment_column.d.ts.map +1 -0
  84. package/build/src/integrations/lucid/attachment_column.js +151 -0
  85. package/build/src/integrations/lucid/attachment_column.js.map +1 -0
  86. package/build/src/integrations/lucid/attachment_model.d.ts +37 -0
  87. package/build/src/integrations/lucid/attachment_model.d.ts.map +1 -0
  88. package/build/src/integrations/lucid/attachment_model.js +99 -0
  89. package/build/src/integrations/lucid/attachment_model.js.map +1 -0
  90. package/build/src/integrations/lucid/attachment_owner.d.ts +18 -0
  91. package/build/src/integrations/lucid/attachment_owner.d.ts.map +1 -0
  92. package/build/src/integrations/lucid/attachment_owner.js +15 -0
  93. package/build/src/integrations/lucid/attachment_owner.js.map +1 -0
  94. package/build/src/integrations/lucid/attachment_relation.d.ts +60 -0
  95. package/build/src/integrations/lucid/attachment_relation.d.ts.map +1 -0
  96. package/build/src/integrations/lucid/attachment_relation.js +163 -0
  97. package/build/src/integrations/lucid/attachment_relation.js.map +1 -0
  98. package/build/src/integrations/lucid/attachments_table_stub.d.ts +21 -0
  99. package/build/src/integrations/lucid/attachments_table_stub.d.ts.map +1 -0
  100. package/build/src/integrations/lucid/attachments_table_stub.js +26 -0
  101. package/build/src/integrations/lucid/attachments_table_stub.js.map +1 -0
  102. package/build/src/integrations/lucid/create_legacy_attachment_migration_script.d.ts +13 -0
  103. package/build/src/integrations/lucid/create_legacy_attachment_migration_script.d.ts.map +1 -0
  104. package/build/src/integrations/lucid/create_legacy_attachment_migration_script.js +20 -0
  105. package/build/src/integrations/lucid/create_legacy_attachment_migration_script.js.map +1 -0
  106. package/build/src/integrations/lucid/index.d.ts +20 -0
  107. package/build/src/integrations/lucid/index.d.ts.map +1 -0
  108. package/build/src/integrations/lucid/index.js +20 -0
  109. package/build/src/integrations/lucid/index.js.map +1 -0
  110. package/build/src/integrations/lucid/lucid_attachment_lifecycle_service.d.ts +30 -0
  111. package/build/src/integrations/lucid/lucid_attachment_lifecycle_service.d.ts.map +1 -0
  112. package/build/src/integrations/lucid/lucid_attachment_lifecycle_service.js +188 -0
  113. package/build/src/integrations/lucid/lucid_attachment_lifecycle_service.js.map +1 -0
  114. package/build/src/integrations/lucid/lucid_attachment_repository.d.ts +18 -0
  115. package/build/src/integrations/lucid/lucid_attachment_repository.d.ts.map +1 -0
  116. package/build/src/integrations/lucid/lucid_attachment_repository.js +21 -0
  117. package/build/src/integrations/lucid/lucid_attachment_repository.js.map +1 -0
  118. package/build/src/integrations/lucid/lucid_attachment_store.d.ts +36 -0
  119. package/build/src/integrations/lucid/lucid_attachment_store.d.ts.map +1 -0
  120. package/build/src/integrations/lucid/lucid_attachment_store.js +179 -0
  121. package/build/src/integrations/lucid/lucid_attachment_store.js.map +1 -0
  122. package/build/src/integrations/lucid/lucid_variant_generation_service.d.ts +24 -0
  123. package/build/src/integrations/lucid/lucid_variant_generation_service.d.ts.map +1 -0
  124. package/build/src/integrations/lucid/lucid_variant_generation_service.js +42 -0
  125. package/build/src/integrations/lucid/lucid_variant_generation_service.js.map +1 -0
  126. package/build/src/integrations/lucid/migrate_legacy_attachment.d.ts +64 -0
  127. package/build/src/integrations/lucid/migrate_legacy_attachment.d.ts.map +1 -0
  128. package/build/src/integrations/lucid/migrate_legacy_attachment.js +89 -0
  129. package/build/src/integrations/lucid/migrate_legacy_attachment.js.map +1 -0
  130. package/build/src/integrations/lucid/migrate_legacy_attachment_records.d.ts +34 -0
  131. package/build/src/integrations/lucid/migrate_legacy_attachment_records.d.ts.map +1 -0
  132. package/build/src/integrations/lucid/migrate_legacy_attachment_records.js +47 -0
  133. package/build/src/integrations/lucid/migrate_legacy_attachment_records.js.map +1 -0
  134. package/build/src/integrations/lucid/render_legacy_attachment_migration_script.d.ts +11 -0
  135. package/build/src/integrations/lucid/render_legacy_attachment_migration_script.d.ts.map +1 -0
  136. package/build/src/integrations/lucid/render_legacy_attachment_migration_script.js +41 -0
  137. package/build/src/integrations/lucid/render_legacy_attachment_migration_script.js.map +1 -0
  138. package/build/src/queues/adonis_queue.d.ts +27 -0
  139. package/build/src/queues/adonis_queue.d.ts.map +1 -0
  140. package/build/src/queues/adonis_queue.js +22 -0
  141. package/build/src/queues/adonis_queue.js.map +1 -0
  142. package/build/src/queues/memory_queue.d.ts +22 -0
  143. package/build/src/queues/memory_queue.d.ts.map +1 -0
  144. package/build/src/queues/memory_queue.js +67 -0
  145. package/build/src/queues/memory_queue.js.map +1 -0
  146. package/build/src/sources/attachment_manager.d.ts +53 -0
  147. package/build/src/sources/attachment_manager.d.ts.map +1 -0
  148. package/build/src/sources/attachment_manager.js +177 -0
  149. package/build/src/sources/attachment_manager.js.map +1 -0
  150. package/build/src/variants/variant_converter.d.ts +23 -0
  151. package/build/src/variants/variant_converter.d.ts.map +1 -0
  152. package/build/src/{types/converter.js → variants/variant_converter.js} +1 -0
  153. package/build/src/variants/variant_converter.js.map +1 -0
  154. package/build/src/variants/variant_generation_service.d.ts +28 -0
  155. package/build/src/variants/variant_generation_service.d.ts.map +1 -0
  156. package/build/src/variants/variant_generation_service.js +44 -0
  157. package/build/src/variants/variant_generation_service.js.map +1 -0
  158. package/build/stubs/config/attachment.stub +12 -0
  159. package/build/stubs/main.d.ts.map +1 -1
  160. package/build/stubs/main.js +1 -0
  161. package/build/stubs/main.js.map +1 -0
  162. package/build/stubs/migrations/attachments_table.stub +39 -0
  163. package/build/tests/adonis_drive_storage.spec.d.ts +8 -0
  164. package/build/tests/adonis_drive_storage.spec.d.ts.map +1 -0
  165. package/build/tests/adonis_drive_storage.spec.js +69 -0
  166. package/build/tests/adonis_drive_storage.spec.js.map +1 -0
  167. package/build/{src/types/attachment.js → tests/adonis_queue.spec.d.ts} +1 -0
  168. package/build/tests/adonis_queue.spec.d.ts.map +1 -0
  169. package/build/tests/adonis_queue.spec.js +52 -0
  170. package/build/tests/adonis_queue.spec.js.map +1 -0
  171. package/build/tests/attachment_job_processor.spec.d.ts +8 -0
  172. package/build/tests/attachment_job_processor.spec.d.ts.map +1 -0
  173. package/build/tests/attachment_job_processor.spec.js +89 -0
  174. package/build/tests/attachment_job_processor.spec.js.map +1 -0
  175. package/build/tests/attachment_manager.spec.d.ts +8 -0
  176. package/build/tests/attachment_manager.spec.d.ts.map +1 -0
  177. package/build/tests/attachment_manager.spec.js +131 -0
  178. package/build/tests/attachment_manager.spec.js.map +1 -0
  179. package/build/tests/attachment_manager_service.spec.d.ts +8 -0
  180. package/build/tests/attachment_manager_service.spec.d.ts.map +1 -0
  181. package/build/tests/attachment_manager_service.spec.js +47 -0
  182. package/build/tests/attachment_manager_service.spec.js.map +1 -0
  183. package/build/tests/attachment_options.spec.d.ts +2 -0
  184. package/build/tests/attachment_options.spec.d.ts.map +1 -0
  185. package/build/tests/attachment_options.spec.js +31 -0
  186. package/build/tests/attachment_options.spec.js.map +1 -0
  187. package/build/tests/attachment_provider.spec.d.ts +8 -0
  188. package/build/tests/attachment_provider.spec.d.ts.map +1 -0
  189. package/build/tests/attachment_provider.spec.js +71 -0
  190. package/build/tests/attachment_provider.spec.js.map +1 -0
  191. package/build/tests/attachment_service.spec.d.ts +8 -0
  192. package/build/tests/attachment_service.spec.d.ts.map +1 -0
  193. package/build/tests/attachment_service.spec.js +146 -0
  194. package/build/tests/attachment_service.spec.js.map +1 -0
  195. package/build/tests/attachments_controller.spec.d.ts +8 -0
  196. package/build/tests/attachments_controller.spec.d.ts.map +1 -0
  197. package/build/tests/attachments_controller.spec.js +34 -0
  198. package/build/tests/attachments_controller.spec.js.map +1 -0
  199. package/build/tests/attachments_table_stub.spec.d.ts +2 -0
  200. package/build/tests/attachments_table_stub.spec.d.ts.map +1 -0
  201. package/build/tests/attachments_table_stub.spec.js +66 -0
  202. package/build/tests/attachments_table_stub.spec.js.map +1 -0
  203. package/build/tests/configure.spec.d.ts +2 -0
  204. package/build/tests/configure.spec.d.ts.map +1 -0
  205. package/build/tests/configure.spec.js +38 -0
  206. package/build/tests/configure.spec.js.map +1 -0
  207. package/build/tests/container_bindings.types.d.ts +8 -0
  208. package/build/tests/container_bindings.types.d.ts.map +1 -0
  209. package/build/tests/container_bindings.types.js +9 -0
  210. package/build/tests/container_bindings.types.js.map +1 -0
  211. package/build/tests/create_legacy_attachment_migration_script.spec.d.ts +8 -0
  212. package/build/tests/create_legacy_attachment_migration_script.spec.d.ts.map +1 -0
  213. package/build/tests/create_legacy_attachment_migration_script.spec.js +31 -0
  214. package/build/tests/create_legacy_attachment_migration_script.spec.js.map +1 -0
  215. package/build/tests/define_config.spec.d.ts +8 -0
  216. package/build/tests/define_config.spec.d.ts.map +1 -0
  217. package/build/tests/define_config.spec.js +203 -0
  218. package/build/tests/define_config.spec.js.map +1 -0
  219. package/build/tests/helpers/lucid_test_database.d.ts +9 -0
  220. package/build/tests/helpers/lucid_test_database.d.ts.map +1 -0
  221. package/build/tests/helpers/lucid_test_database.js +52 -0
  222. package/build/tests/helpers/lucid_test_database.js.map +1 -0
  223. package/build/tests/local_file_storage.spec.d.ts +8 -0
  224. package/build/tests/local_file_storage.spec.d.ts.map +1 -0
  225. package/build/tests/local_file_storage.spec.js +44 -0
  226. package/build/tests/local_file_storage.spec.js.map +1 -0
  227. package/build/tests/lucid_attachment_collection_store.spec.d.ts +2 -0
  228. package/build/tests/lucid_attachment_collection_store.spec.d.ts.map +1 -0
  229. package/build/tests/lucid_attachment_collection_store.spec.js +52 -0
  230. package/build/tests/lucid_attachment_collection_store.spec.js.map +1 -0
  231. package/build/tests/lucid_attachment_column.spec.d.ts +8 -0
  232. package/build/tests/lucid_attachment_column.spec.d.ts.map +1 -0
  233. package/build/tests/lucid_attachment_column.spec.js +193 -0
  234. package/build/tests/lucid_attachment_column.spec.js.map +1 -0
  235. package/build/tests/lucid_attachment_lifecycle_service.spec.d.ts +8 -0
  236. package/build/tests/lucid_attachment_lifecycle_service.spec.d.ts.map +1 -0
  237. package/build/tests/lucid_attachment_lifecycle_service.spec.js +378 -0
  238. package/build/tests/lucid_attachment_lifecycle_service.spec.js.map +1 -0
  239. package/build/tests/lucid_attachment_relation.spec.d.ts +8 -0
  240. package/build/tests/lucid_attachment_relation.spec.d.ts.map +1 -0
  241. package/build/tests/lucid_attachment_relation.spec.js +216 -0
  242. package/build/tests/lucid_attachment_relation.spec.js.map +1 -0
  243. package/build/tests/lucid_attachment_repository.spec.d.ts +8 -0
  244. package/build/tests/lucid_attachment_repository.spec.d.ts.map +1 -0
  245. package/build/tests/lucid_attachment_repository.spec.js +50 -0
  246. package/build/tests/lucid_attachment_repository.spec.js.map +1 -0
  247. package/build/tests/lucid_attachment_store.spec.d.ts +8 -0
  248. package/build/tests/lucid_attachment_store.spec.d.ts.map +1 -0
  249. package/build/tests/lucid_attachment_store.spec.js +73 -0
  250. package/build/tests/lucid_attachment_store.spec.js.map +1 -0
  251. package/build/tests/lucid_sqlite_integration.spec.d.ts +8 -0
  252. package/build/tests/lucid_sqlite_integration.spec.d.ts.map +1 -0
  253. package/build/tests/lucid_sqlite_integration.spec.js +103 -0
  254. package/build/tests/lucid_sqlite_integration.spec.js.map +1 -0
  255. package/build/tests/lucid_variant_generation_service.spec.d.ts +8 -0
  256. package/build/tests/lucid_variant_generation_service.spec.d.ts.map +1 -0
  257. package/build/tests/lucid_variant_generation_service.spec.js +56 -0
  258. package/build/tests/lucid_variant_generation_service.spec.js.map +1 -0
  259. package/build/tests/memory_queue.spec.d.ts +8 -0
  260. package/build/tests/memory_queue.spec.d.ts.map +1 -0
  261. package/build/tests/memory_queue.spec.js +52 -0
  262. package/build/tests/memory_queue.spec.js.map +1 -0
  263. package/build/tests/migrate_legacy_attachment.spec.d.ts +8 -0
  264. package/build/tests/migrate_legacy_attachment.spec.d.ts.map +1 -0
  265. package/build/tests/migrate_legacy_attachment.spec.js +133 -0
  266. package/build/tests/migrate_legacy_attachment.spec.js.map +1 -0
  267. package/build/tests/migrate_legacy_attachment_records.spec.d.ts +8 -0
  268. package/build/tests/migrate_legacy_attachment_records.spec.d.ts.map +1 -0
  269. package/build/tests/migrate_legacy_attachment_records.spec.js +66 -0
  270. package/build/tests/migrate_legacy_attachment_records.spec.js.map +1 -0
  271. package/build/tests/package_exports.spec.d.ts +8 -0
  272. package/build/tests/package_exports.spec.d.ts.map +1 -0
  273. package/build/tests/package_exports.spec.js +31 -0
  274. package/build/tests/package_exports.spec.js.map +1 -0
  275. package/build/tests/variant_generation_service.spec.d.ts +8 -0
  276. package/build/tests/variant_generation_service.spec.d.ts.map +1 -0
  277. package/build/tests/variant_generation_service.spec.js +79 -0
  278. package/build/tests/variant_generation_service.spec.js.map +1 -0
  279. package/package.json +82 -76
  280. package/build/commands/make/converter.d.ts.map +0 -1
  281. package/build/commands/make/converter.js +0 -28
  282. package/build/services/regenerate_service.d.ts +0 -9
  283. package/build/services/regenerate_service.d.ts.map +0 -1
  284. package/build/services/regenerate_service.js +0 -29
  285. package/build/src/adapters/blurhash.d.ts +0 -11
  286. package/build/src/adapters/blurhash.d.ts.map +0 -1
  287. package/build/src/adapters/blurhash.js +0 -12
  288. package/build/src/adapters/exif.d.ts +0 -15
  289. package/build/src/adapters/exif.d.ts.map +0 -1
  290. package/build/src/adapters/exif.js +0 -165
  291. package/build/src/adapters/ffmpeg.d.ts +0 -19
  292. package/build/src/adapters/ffmpeg.d.ts.map +0 -1
  293. package/build/src/adapters/ffmpeg.js +0 -115
  294. package/build/src/adapters/lock.d.ts +0 -9
  295. package/build/src/adapters/lock.d.ts.map +0 -1
  296. package/build/src/adapters/lock.js +0 -21
  297. package/build/src/adapters/meta.d.ts +0 -10
  298. package/build/src/adapters/meta.d.ts.map +0 -1
  299. package/build/src/adapters/meta.js +0 -49
  300. package/build/src/adapters/poppler.d.ts +0 -20
  301. package/build/src/adapters/poppler.d.ts.map +0 -1
  302. package/build/src/adapters/poppler.js +0 -117
  303. package/build/src/adapters/soffice.d.ts +0 -14
  304. package/build/src/adapters/soffice.d.ts.map +0 -1
  305. package/build/src/adapters/soffice.js +0 -64
  306. package/build/src/attachment_manager.d.ts +0 -50
  307. package/build/src/attachment_manager.d.ts.map +0 -1
  308. package/build/src/attachment_manager.js +0 -145
  309. package/build/src/attachments/attachment.d.ts +0 -42
  310. package/build/src/attachments/attachment.d.ts.map +0 -1
  311. package/build/src/attachments/attachment.js +0 -233
  312. package/build/src/attachments/attachment_base.d.ts +0 -59
  313. package/build/src/attachments/attachment_base.d.ts.map +0 -1
  314. package/build/src/attachments/attachment_base.js +0 -211
  315. package/build/src/attachments/variant_attachment.d.ts +0 -27
  316. package/build/src/attachments/variant_attachment.d.ts.map +0 -1
  317. package/build/src/attachments/variant_attachment.js +0 -40
  318. package/build/src/converters/autodetect_converter.d.ts +0 -13
  319. package/build/src/converters/autodetect_converter.d.ts.map +0 -1
  320. package/build/src/converters/autodetect_converter.js +0 -77
  321. package/build/src/converters/converter.d.ts +0 -14
  322. package/build/src/converters/converter.d.ts.map +0 -1
  323. package/build/src/converters/converter.js +0 -14
  324. package/build/src/converters/document_thumbnail_converter.d.ts +0 -14
  325. package/build/src/converters/document_thumbnail_converter.d.ts.map +0 -1
  326. package/build/src/converters/document_thumbnail_converter.js +0 -36
  327. package/build/src/converters/image_converter.d.ts +0 -13
  328. package/build/src/converters/image_converter.d.ts.map +0 -1
  329. package/build/src/converters/image_converter.js +0 -27
  330. package/build/src/converters/pdf_thumbnail_converter.d.ts +0 -14
  331. package/build/src/converters/pdf_thumbnail_converter.d.ts.map +0 -1
  332. package/build/src/converters/pdf_thumbnail_converter.js +0 -39
  333. package/build/src/converters/video_thumbnail_converter.d.ts +0 -14
  334. package/build/src/converters/video_thumbnail_converter.d.ts.map +0 -1
  335. package/build/src/converters/video_thumbnail_converter.js +0 -40
  336. package/build/src/decorators/attachment.d.ts +0 -15
  337. package/build/src/decorators/attachment.d.ts.map +0 -1
  338. package/build/src/decorators/attachment.js +0 -103
  339. package/build/src/errors.d.ts +0 -67
  340. package/build/src/errors.d.ts.map +0 -1
  341. package/build/src/errors.js +0 -68
  342. package/build/src/services/attachment/attachment_detachment_service.d.ts +0 -19
  343. package/build/src/services/attachment/attachment_detachment_service.d.ts.map +0 -1
  344. package/build/src/services/attachment/attachment_detachment_service.js +0 -66
  345. package/build/src/services/attachment/attachment_persister_service.d.ts +0 -22
  346. package/build/src/services/attachment/attachment_persister_service.d.ts.map +0 -1
  347. package/build/src/services/attachment/attachment_persister_service.js +0 -96
  348. package/build/src/services/attachment/attachment_recorder_service.d.ts +0 -68
  349. package/build/src/services/attachment/attachment_recorder_service.d.ts.map +0 -1
  350. package/build/src/services/attachment/attachment_recorder_service.js +0 -121
  351. package/build/src/services/attachment/attachment_transaction_service.d.ts +0 -26
  352. package/build/src/services/attachment/attachment_transaction_service.d.ts.map +0 -1
  353. package/build/src/services/attachment/attachment_transaction_service.js +0 -46
  354. package/build/src/services/attachment/attachment_utils.d.ts +0 -35
  355. package/build/src/services/attachment/attachment_utils.d.ts.map +0 -1
  356. package/build/src/services/attachment/attachment_utils.js +0 -71
  357. package/build/src/services/attachment/attachment_variant_service.d.ts +0 -17
  358. package/build/src/services/attachment/attachment_variant_service.d.ts.map +0 -1
  359. package/build/src/services/attachment/attachment_variant_service.js +0 -99
  360. package/build/src/services/attachment/index.d.ts +0 -15
  361. package/build/src/services/attachment/index.d.ts.map +0 -1
  362. package/build/src/services/attachment/index.js +0 -15
  363. package/build/src/services/attachment_service.d.ts +0 -8
  364. package/build/src/services/attachment_service.d.ts.map +0 -1
  365. package/build/src/services/attachment_service.js +0 -7
  366. package/build/src/services/variant/variant_generator_service.d.ts +0 -24
  367. package/build/src/services/variant/variant_generator_service.d.ts.map +0 -1
  368. package/build/src/services/variant/variant_generator_service.js +0 -101
  369. package/build/src/services/variant/variant_persister_service.d.ts +0 -24
  370. package/build/src/services/variant/variant_persister_service.d.ts.map +0 -1
  371. package/build/src/services/variant/variant_persister_service.js +0 -59
  372. package/build/src/services/variant/variant_purger_service.d.ts +0 -15
  373. package/build/src/services/variant/variant_purger_service.d.ts.map +0 -1
  374. package/build/src/services/variant/variant_purger_service.js +0 -47
  375. package/build/src/services/variant_service.d.ts +0 -13
  376. package/build/src/services/variant_service.d.ts.map +0 -1
  377. package/build/src/services/variant_service.js +0 -63
  378. package/build/src/types/attachment.d.ts +0 -100
  379. package/build/src/types/attachment.d.ts.map +0 -1
  380. package/build/src/types/config.d.ts +0 -58
  381. package/build/src/types/config.d.ts.map +0 -1
  382. package/build/src/types/converter.d.ts +0 -144
  383. package/build/src/types/converter.d.ts.map +0 -1
  384. package/build/src/types/drive.d.ts +0 -6
  385. package/build/src/types/drive.d.ts.map +0 -1
  386. package/build/src/types/drive.js +0 -1
  387. package/build/src/types/event.d.ts +0 -16
  388. package/build/src/types/event.d.ts.map +0 -1
  389. package/build/src/types/index.d.ts +0 -15
  390. package/build/src/types/index.d.ts.map +0 -1
  391. package/build/src/types/index.js +0 -14
  392. package/build/src/types/input.d.ts +0 -35
  393. package/build/src/types/input.d.ts.map +0 -1
  394. package/build/src/types/input.js +0 -7
  395. package/build/src/types/lock.d.ts +0 -14
  396. package/build/src/types/lock.d.ts.map +0 -1
  397. package/build/src/types/lock.js +0 -7
  398. package/build/src/types/metadata.d.ts +0 -24
  399. package/build/src/types/metadata.d.ts.map +0 -1
  400. package/build/src/types/metadata.js +0 -7
  401. package/build/src/types/mixin.d.ts +0 -17
  402. package/build/src/types/mixin.d.ts.map +0 -1
  403. package/build/src/types/mixin.js +0 -7
  404. package/build/src/types/regenerate.d.ts +0 -12
  405. package/build/src/types/regenerate.d.ts.map +0 -1
  406. package/build/src/types/regenerate.js +0 -7
  407. package/build/src/types/service.d.ts +0 -25
  408. package/build/src/types/service.d.ts.map +0 -1
  409. package/build/src/types/service.js +0 -7
  410. package/build/src/utils/default_values.d.ts +0 -20
  411. package/build/src/utils/default_values.d.ts.map +0 -1
  412. package/build/src/utils/default_values.js +0 -19
  413. package/build/src/utils/helpers.d.ts +0 -19
  414. package/build/src/utils/helpers.d.ts.map +0 -1
  415. package/build/src/utils/helpers.js +0 -131
  416. package/build/src/utils/hooks.d.ts +0 -12
  417. package/build/src/utils/hooks.d.ts.map +0 -1
  418. package/build/src/utils/hooks.js +0 -42
  419. package/build/src/utils/symbols.d.ts +0 -8
  420. package/build/src/utils/symbols.d.ts.map +0 -1
  421. package/build/src/utils/symbols.js +0 -7
  422. package/build/stubs/config.stub +0 -140
  423. package/build/stubs/make/converter/main.stub +0 -20
  424. package/build/tsconfig.tsbuildinfo +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"converter.d.ts","sourceRoot":"","sources":["../../../src/converters/converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,IAAI,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AAE9F,MAAM,CAAC,OAAO,OAAO,SAAU,YAAW,kBAAkB;IAC1D,OAAO,CAAC,EAAE,gBAAgB,CAAA;IAC1B,QAAQ,CAAC,EAAE,QAAQ,CAAA;gBAEP,OAAO,CAAC,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAE,QAAQ;CAI5D"}
@@ -1,14 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- export default class Converter {
8
- options;
9
- binPaths;
10
- constructor(options, binPaths) {
11
- this.options = options;
12
- this.binPaths = binPaths;
13
- }
14
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import type { ConverterAttributes } from '../types/converter.js';
8
- import type { Input } from '../types/input.js';
9
- import Converter from './converter.js';
10
- export default class DocumentThumbnailConverter extends Converter {
11
- handle({ input, options }: ConverterAttributes): Promise<Input>;
12
- documentToImage(input: Input): Promise<string>;
13
- }
14
- //# sourceMappingURL=document_thumbnail_converter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document_thumbnail_converter.d.ts","sourceRoot":"","sources":["../../../src/converters/document_thumbnail_converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAG9C,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAItC,MAAM,CAAC,OAAO,OAAO,0BAA2B,SAAQ,SAAS;IACzD,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC;IAc/D,eAAe,CAAC,KAAK,EAAE,KAAK;CAiBnC"}
@@ -1,36 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import { bufferToTempFile } from '../utils/helpers.js';
8
- import Converter from './converter.js';
9
- import ImageConverter from './image_converter.js';
10
- import Soffice from '../adapters/soffice.js';
11
- export default class DocumentThumbnailConverter extends Converter {
12
- async handle({ input, options }) {
13
- const filePath = await this.documentToImage(input);
14
- if (options && filePath) {
15
- const converter = new ImageConverter();
16
- return await converter.handle({
17
- input: filePath,
18
- options,
19
- });
20
- }
21
- return filePath;
22
- }
23
- async documentToImage(input) {
24
- let file = input;
25
- if (Buffer.isBuffer(input)) {
26
- file = await bufferToTempFile(input);
27
- }
28
- const soffice = new Soffice(file);
29
- if (this.binPaths) {
30
- if (this.binPaths.sofficePath) {
31
- soffice.setSofficePath(this.binPaths.sofficePath);
32
- }
33
- }
34
- return soffice.convert();
35
- }
36
- }
@@ -1,13 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import type { ConverterAttributes } from '../types/converter.js';
8
- import type { Input } from '../types/input.js';
9
- import Converter from './converter.js';
10
- export default class ImageConverter extends Converter {
11
- handle({ input, options }: ConverterAttributes): Promise<Input>;
12
- }
13
- //# sourceMappingURL=image_converter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image_converter.d.ts","sourceRoot":"","sources":["../../../src/converters/image_converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAGtC,MAAM,CAAC,OAAO,OAAO,cAAe,SAAQ,SAAS;IAC7C,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC;CAsBtE"}
@@ -1,27 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import Converter from './converter.js';
8
- import { use } from '../utils/helpers.js';
9
- export default class ImageConverter extends Converter {
10
- async handle({ input, options }) {
11
- const sharp = await use('sharp');
12
- const resize = options?.resize || {};
13
- let format = options?.format || 'webp';
14
- const autoOrient = options?.autoOrient ?? true;
15
- let formatoptions = {};
16
- if (typeof format !== 'string') {
17
- formatoptions = format?.options;
18
- format = format.format;
19
- }
20
- const image = sharp(input).withMetadata();
21
- if (autoOrient) {
22
- image.autoOrient();
23
- }
24
- const buffer = await image.resize(resize).toFormat(format, formatoptions).toBuffer();
25
- return buffer;
26
- }
27
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import type { ConverterAttributes } from '../types/converter.js';
8
- import type { Input } from '../types/input.js';
9
- import Converter from './converter.js';
10
- export default class PdfThumbnailConverter extends Converter {
11
- handle({ input, options }: ConverterAttributes): Promise<Input>;
12
- pdfToImage(input: Input): Promise<string>;
13
- }
14
- //# sourceMappingURL=pdf_thumbnail_converter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pdf_thumbnail_converter.d.ts","sourceRoot":"","sources":["../../../src/converters/pdf_thumbnail_converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAKtC,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,SAAS;IACpD,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC;IAc/D,UAAU,CAAC,KAAK,EAAE,KAAK;CAoB9B"}
@@ -1,39 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import Converter from './converter.js';
8
- import ImageConverter from './image_converter.js';
9
- import Poppler from '../adapters/poppler.js';
10
- import { bufferToTempFile } from '../utils/helpers.js';
11
- export default class PdfThumbnailConverter extends Converter {
12
- async handle({ input, options }) {
13
- const filePath = await this.pdfToImage(input);
14
- if (options && filePath) {
15
- const converter = new ImageConverter();
16
- return await converter.handle({
17
- input: filePath,
18
- options,
19
- });
20
- }
21
- return filePath;
22
- }
23
- async pdfToImage(input) {
24
- let file = input;
25
- if (Buffer.isBuffer(input)) {
26
- file = await bufferToTempFile(input);
27
- }
28
- const poppler = new Poppler(file);
29
- if (this.binPaths) {
30
- if (this.binPaths.pdftoppmPath) {
31
- poppler.setPdfToPpmPath(this.binPaths.pdftoppmPath);
32
- }
33
- }
34
- return poppler.pdfToPpm({
35
- page: this.options?.startPage || 1,
36
- dpi: 300,
37
- });
38
- }
39
- }
@@ -1,14 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import type { ConverterAttributes } from '../types/converter.js';
8
- import type { Input } from '../types/input.js';
9
- import Converter from './converter.js';
10
- export default class VideoThumbnailConvert extends Converter {
11
- handle({ input, options }: ConverterAttributes): Promise<Input | undefined>;
12
- videoToImage(input: Input): Promise<string | undefined>;
13
- }
14
- //# sourceMappingURL=video_thumbnail_converter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"video_thumbnail_converter.d.ts","sourceRoot":"","sources":["../../../src/converters/video_thumbnail_converter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAChE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C,OAAO,SAAS,MAAM,gBAAgB,CAAA;AAKtC,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,SAAS;IACpD,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,mBAAmB,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAc3E,YAAY,CAAC,KAAK,EAAE,KAAK;CAmBhC"}
@@ -1,40 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import Converter from './converter.js';
8
- import ImageConverter from './image_converter.js';
9
- import { bufferToTempFile } from '../utils/helpers.js';
10
- import FFmpeg from '../adapters/ffmpeg.js';
11
- export default class VideoThumbnailConvert extends Converter {
12
- async handle({ input, options }) {
13
- const filePath = await this.videoToImage(input);
14
- if (options && filePath) {
15
- const converter = new ImageConverter();
16
- return converter.handle({
17
- input: filePath,
18
- options,
19
- });
20
- }
21
- else {
22
- return filePath;
23
- }
24
- }
25
- async videoToImage(input) {
26
- let file = input;
27
- if (Buffer.isBuffer(input)) {
28
- file = await bufferToTempFile(input);
29
- }
30
- const ffmpeg = new FFmpeg(file);
31
- if (this.binPaths) {
32
- if (this.binPaths.ffmpegPath) {
33
- ffmpeg.setFfmpegPath(this.binPaths.ffmpegPath);
34
- }
35
- }
36
- return ffmpeg.screenshots({
37
- time: this.options?.startTime || 2,
38
- });
39
- }
40
- }
@@ -1,15 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import type { LucidModel, LucidRow } from '@adonisjs/lucid/types/model';
8
- import type { LucidOptions } from '../types/attachment.js';
9
- import type { AttributeOfRowWithAttachment } from '../types/mixin.js';
10
- export declare const bootModel: (model: LucidModel & {
11
- $attachments: AttributeOfRowWithAttachment;
12
- }) => void;
13
- export declare const attachment: <T = LucidRow>(options?: LucidOptions<T>) => (target: any, attributeName: string) => void;
14
- export declare const attachments: <T = LucidRow>(options?: LucidOptions<T>) => (target: any, attributeName: string) => void;
15
- //# sourceMappingURL=attachment.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachment.d.ts","sourceRoot":"","sources":["../../../src/decorators/attachment.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAA;AACvE,OAAO,KAAK,EAAc,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAKtE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,mBAAmB,CAAA;AAYrE,eAAO,MAAM,SAAS,GACpB,OAAO,UAAU,GAAG;IAClB,YAAY,EAAE,4BAA4B,CAAA;CAC3C,SA0BF,CAAA;AAgED,eAAO,MAAM,UAAU,GAtBpB,CAAC,uBAAuB,YAAY,CAAC,CAAC,CAAC,MACrB,QAAQ,GAAG,EAAE,eAAe,MAAM,SAqBJ,CAAA;AACnD,eAAO,MAAM,WAAW,GAvBrB,CAAC,uBAAuB,YAAY,CAAC,CAAC,CAAC,MACrB,QAAQ,GAAG,EAAE,eAAe,MAAM,SAmCpD,CAAA"}
@@ -1,103 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import attachmentManager from '../../services/main.js';
8
- import { optionsSym } from '../utils/symbols.js';
9
- import { defaultOptionsDecorator } from '../utils/default_values.js';
10
- import { afterFindHook, afterFetchHook, beforeSaveHook, afterSaveHook, beforeDeleteHook, } from '../utils/hooks.js';
11
- import { defaultStateAttributeMixin } from '../utils/default_values.js';
12
- export const bootModel = (model) => {
13
- model.boot();
14
- model.$attachments = structuredClone(defaultStateAttributeMixin);
15
- /**
16
- * Registering all hooks only once
17
- */
18
- if (!model.$hooks.has('find', afterFindHook)) {
19
- model.after('find', afterFindHook);
20
- }
21
- if (!model.$hooks.has('fetch', afterFetchHook)) {
22
- model.after('fetch', afterFetchHook);
23
- }
24
- if (!model.$hooks.has('paginate', afterFetchHook)) {
25
- model.after('paginate', afterFetchHook);
26
- }
27
- if (!model.$hooks.has('save', beforeSaveHook)) {
28
- model.before('save', beforeSaveHook);
29
- }
30
- if (!model.$hooks.has('save', afterSaveHook)) {
31
- model.after('save', afterSaveHook);
32
- }
33
- if (!model.$hooks.has('delete', beforeDeleteHook)) {
34
- model.before('delete', beforeDeleteHook);
35
- }
36
- };
37
- const makeColumnOptions = (options) => {
38
- const { disk, folder, variants, meta, rename, ...columnOptions } = {
39
- ...defaultOptionsDecorator,
40
- ...options,
41
- };
42
- return {
43
- consume: (value) => {
44
- if (value) {
45
- const attachment = attachmentManager.createFromDbResponse(value);
46
- attachment?.setOptions({ disk, folder, variants });
47
- if (options && options?.meta !== undefined) {
48
- attachment?.setOptions({ meta: options.meta });
49
- }
50
- if (options && options?.rename !== undefined) {
51
- attachment?.setOptions({ rename: options.rename });
52
- }
53
- if (options && options?.preComputeUrl !== undefined) {
54
- attachment?.setOptions({ preComputeUrl: options.preComputeUrl });
55
- }
56
- return attachment;
57
- }
58
- else {
59
- return null;
60
- }
61
- },
62
- prepare: (value) => {
63
- if (!value)
64
- return null;
65
- return value.toDbString();
66
- },
67
- serialize: options?.serialize !== undefined
68
- ? options?.serialize
69
- : (value) => (value ? value.toJSON() : null),
70
- ...columnOptions,
71
- };
72
- };
73
- const makeAttachmentDecorator = (columnOptionsTransformer) => (options) => {
74
- return function (target, attributeName) {
75
- if (!target[optionsSym]) {
76
- target[optionsSym] = {};
77
- }
78
- target[optionsSym][attributeName] = options;
79
- const Model = target.constructor;
80
- bootModel(Model);
81
- const columnOptions = makeColumnOptions(options);
82
- const transformedColumnOptions = columnOptionsTransformer
83
- ? columnOptionsTransformer(columnOptions)
84
- : columnOptions;
85
- Model.$addColumn(attributeName, transformedColumnOptions);
86
- };
87
- };
88
- export const attachment = makeAttachmentDecorator();
89
- export const attachments = makeAttachmentDecorator((columnOptions) => ({
90
- consume: (value) => {
91
- if (value) {
92
- const data = typeof value === 'string' ? JSON.parse(value) : value;
93
- return data.map(columnOptions.consume);
94
- }
95
- return null;
96
- },
97
- prepare: (value) => {
98
- if (!value)
99
- return null;
100
- return JSON.stringify(value.map((v) => JSON.parse(v.toDbString())));
101
- },
102
- serialize: (value) => (value ? value.map(columnOptions.serialize) : null),
103
- }));
@@ -1,67 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- /**
8
- * Unable to write file to the destination
9
- */
10
- export declare const E_CANNOT_WRITE_FILE: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
11
- /**
12
- * Unable to read file
13
- */
14
- export declare const E_CANNOT_READ_FILE: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
15
- /**
16
- * Unable to delete file
17
- */
18
- export declare const E_CANNOT_DELETE_FILE: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
19
- /**
20
- * Unable to set file visibility
21
- */
22
- export declare const E_CANNOT_SET_VISIBILITY: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
23
- /**
24
- * Unable to generate URL for a file
25
- */
26
- export declare const E_CANNOT_GENERATE_URL: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
27
- /**
28
- * Unable to generate temp file
29
- */
30
- export declare const E_CANNOT_GENERATE_TEMP_FILE: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
31
- /**
32
- * The file key has unallowed set of characters
33
- */
34
- export declare const E_UNALLOWED_CHARACTERS: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
35
- /**
36
- * Key post normalization leads to an empty string
37
- */
38
- export declare const E_INVALID_KEY: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
39
- /**
40
- * Missing package
41
- */
42
- export declare const E_MISSING_PACKAGE: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
43
- /**
44
- * Unable to create Attachment Object
45
- */
46
- export declare const E_CANNOT_CREATE_ATTACHMENT: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
47
- /**
48
- * Unable to create variant
49
- */
50
- export declare const E_CANNOT_CREATE_VARIANT: new (args: [key: string], options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
51
- /**
52
- * Missing path
53
- */
54
- export declare const E_CANNOT_PATH_BY_CONVERTER: new (args?: any, options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
55
- /**
56
- * Is not a Buffer
57
- */
58
- export declare const E_ISNOT_BUFFER: new (args?: any, options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
59
- /**
60
- * Is not a Base64
61
- */
62
- export declare const E_ISNOT_BASE64: new (args?: any, options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
63
- /**
64
- * Unable to read file
65
- */
66
- export declare const ENOENT: new (args?: any, options?: ErrorOptions) => import("@adonisjs/core/exceptions").Exception;
67
- //# sourceMappingURL=errors.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH;;GAEG;AACH,eAAO,MAAM,mBAAmB,oGAA6B,CAAA;AAE7D;;GAEG;AACH,eAAO,MAAM,kBAAkB,oGAA4B,CAAA;AAE3D;;GAEG;AACH,eAAO,MAAM,oBAAoB,oGAA8B,CAAA;AAE/D;;GAEG;AACH,eAAO,MAAM,uBAAuB,oGAAiC,CAAA;AAErE;;GAEG;AACH,eAAO,MAAM,qBAAqB,oGAA+B,CAAA;AAEjE;;GAEG;AACH,eAAO,MAAM,2BAA2B,oGAGvC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,oGAAgC,CAAA;AAEnE;;GAEG;AACH,eAAO,MAAM,aAAa,oGAAuB,CAAA;AAEjD;;GAEG;AACH,eAAO,MAAM,iBAAiB,oGAG7B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,oGAGtC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,uBAAuB,oGAGnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,0BAA0B,2FAGtC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,2FAAmD,CAAA;AAE9E;;GAEG;AACH,eAAO,MAAM,cAAc,2FAAmD,CAAA;AAE9E;;GAEG;AACH,eAAO,MAAM,MAAM,2FAA0C,CAAA"}
@@ -1,68 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import { createError } from '@adonisjs/core/exceptions';
8
- import { errors } from 'flydrive';
9
- /**
10
- * Unable to write file to the destination
11
- */
12
- export const E_CANNOT_WRITE_FILE = errors.E_CANNOT_WRITE_FILE;
13
- /**
14
- * Unable to read file
15
- */
16
- export const E_CANNOT_READ_FILE = errors.E_CANNOT_READ_FILE;
17
- /**
18
- * Unable to delete file
19
- */
20
- export const E_CANNOT_DELETE_FILE = errors.E_CANNOT_DELETE_FILE;
21
- /**
22
- * Unable to set file visibility
23
- */
24
- export const E_CANNOT_SET_VISIBILITY = errors.E_CANNOT_SET_VISIBILITY;
25
- /**
26
- * Unable to generate URL for a file
27
- */
28
- export const E_CANNOT_GENERATE_URL = errors.E_CANNOT_GENERATE_URL;
29
- /**
30
- * Unable to generate temp file
31
- */
32
- export const E_CANNOT_GENERATE_TEMP_FILE = createError('Cannot generate temp file "%s"', 'E_CANNOT_GENERATE_TEMP_FILE');
33
- /**
34
- * The file key has unallowed set of characters
35
- */
36
- export const E_UNALLOWED_CHARACTERS = errors.E_UNALLOWED_CHARACTERS;
37
- /**
38
- * Key post normalization leads to an empty string
39
- */
40
- export const E_INVALID_KEY = errors.E_INVALID_KEY;
41
- /**
42
- * Missing package
43
- */
44
- export const E_MISSING_PACKAGE = createError('Missing package, please install "%s"', 'E_MISSING_PACKAGE');
45
- /**
46
- * Unable to create Attachment Object
47
- */
48
- export const E_CANNOT_CREATE_ATTACHMENT = createError('Cannot create attachment from database response. Missing attribute "%s"', 'E_CANNOT_CREATE_ATTACHMENT');
49
- /**
50
- * Unable to create variant
51
- */
52
- export const E_CANNOT_CREATE_VARIANT = createError('Cannot create variant. "%s"', 'E_CANNOT_CREATE_VARIANT');
53
- /**
54
- * Missing path
55
- */
56
- export const E_CANNOT_PATH_BY_CONVERTER = createError('Path not found', 'E_CANNOT_PATH_BY_CONVERTER');
57
- /**
58
- * Is not a Buffer
59
- */
60
- export const E_ISNOT_BUFFER = createError('Is not a Buffer', 'E_ISNOT_BUFFER');
61
- /**
62
- * Is not a Base64
63
- */
64
- export const E_ISNOT_BASE64 = createError('Is not a Base64', 'E_ISNOT_BASE64');
65
- /**
66
- * Unable to read file
67
- */
68
- export const ENOENT = createError('File not found', 'ENOENT');
@@ -1,19 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import type { RecordWithAttachment as RecordWithAttachmentImplementation } from '../../types/service.js';
8
- export declare class AttachmentDetachmentService {
9
- #private;
10
- /**
11
- * Detach dirty attachments (mark for deletion)
12
- */
13
- detach(record: RecordWithAttachmentImplementation): Promise<void>;
14
- /**
15
- * Detach all attachments (mark all for deletion)
16
- */
17
- detachAll(record: RecordWithAttachmentImplementation): Promise<void>;
18
- }
19
- //# sourceMappingURL=attachment_detachment_service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachment_detachment_service.d.ts","sourceRoot":"","sources":["../../../../src/services/attachment/attachment_detachment_service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,oBAAoB,IAAI,kCAAkC,EAAE,MAAM,wBAAwB,CAAA;AAIxG,qBAAa,2BAA2B;;IACtC;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCvE;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;CAgC3E"}
@@ -1,66 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import { AttachmentUtils } from './attachment_utils.js';
8
- export class AttachmentDetachmentService {
9
- /**
10
- * Detach dirty attachments (mark for deletion)
11
- */
12
- async detach(record) {
13
- const attachmentAttributeNames = AttachmentUtils.getDirtyAttributeNamesOfAttachment(record.row);
14
- await Promise.allSettled(attachmentAttributeNames.map(async (name) => {
15
- let attachments = [];
16
- const options = AttachmentUtils.getOptionsByAttributeName(record.row, name);
17
- if (record.row.$dirty[name] === null) {
18
- attachments = AttachmentUtils.getOriginalAttachmentsByAttributeName(record.row, name);
19
- }
20
- else {
21
- const originalAttachments = AttachmentUtils.getOriginalAttachmentsByAttributeName(record.row, name);
22
- const newAttachments = AttachmentUtils.getAttachmentsByAttributeName(record.row, name);
23
- /**
24
- * Clean Attachments changed
25
- */
26
- for (let i = 0; i < originalAttachments.length; i++) {
27
- if (newAttachments.includes(originalAttachments[i])) {
28
- continue;
29
- }
30
- /**
31
- * If there was an existing file, then we must get rid of it
32
- */
33
- if (originalAttachments[i]) {
34
- originalAttachments[i].setOptions(options);
35
- attachments.push(originalAttachments[i]);
36
- }
37
- }
38
- }
39
- await this.#moveForDeletion(attachments);
40
- await this.#markForDeletion(attachments, record);
41
- }));
42
- }
43
- /**
44
- * Detach all attachments (mark all for deletion)
45
- */
46
- async detachAll(record) {
47
- const attachmentAttributeNames = AttachmentUtils.getAttributeNamesOfAttachment(record.row);
48
- await Promise.allSettled(attachmentAttributeNames.map((name) => {
49
- const options = AttachmentUtils.getOptionsByAttributeName(record.row, name);
50
- const attachments = AttachmentUtils.getAttachmentsByAttributeName(record.row, name);
51
- for (let i = 0; i < attachments.length; i++) {
52
- attachments[i].setOptions(options);
53
- }
54
- this.#markForDeletion(attachments, record);
55
- }));
56
- }
57
- /**
58
- * Mark attachments for deletion by adding them to detached array
59
- */
60
- async #markForDeletion(attachments, record) {
61
- await Promise.allSettled(attachments.map((attachment) => record.row.$attachments.detached.push(attachment)));
62
- }
63
- async #moveForDeletion(attachments) {
64
- await Promise.allSettled(attachments.map((attachment) => attachment.moveFileForDelete()));
65
- }
66
- }
@@ -1,22 +0,0 @@
1
- /**
2
- * @jrmc/adonis-attachment
3
- *
4
- * @license MIT
5
- * @copyright Jeremy Chaufourier <jeremy@chaufourier.fr>
6
- */
7
- import type { RecordWithAttachment as RecordWithAttachmentImplementation } from '../../types/service.js';
8
- export declare class AttachmentPersisterService {
9
- /**
10
- * Persist attachments before saving the row to the database
11
- */
12
- persistAttachments(record: RecordWithAttachmentImplementation): Promise<void>;
13
- /**
14
- * Pre-compute URLs for all attachments
15
- */
16
- preComputeUrls(record: RecordWithAttachmentImplementation): Promise<void>;
17
- /**
18
- * Set key IDs for all attachments using encryption
19
- */
20
- setKeyIds(record: RecordWithAttachmentImplementation): Promise<void>;
21
- }
22
- //# sourceMappingURL=attachment_persister_service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"attachment_persister_service.d.ts","sourceRoot":"","sources":["../../../../src/services/attachment/attachment_persister_service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,oBAAoB,IAAI,kCAAkC,EAAE,MAAM,wBAAwB,CAAA;AAKxG,qBAAa,0BAA0B;IACrC;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;IAiDnF;;OAEG;IACG,cAAc,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB/E;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,kCAAkC,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B3E"}