@tulip-systems/core 0.10.0 → 0.10.2

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 (678) hide show
  1. package/dist/auth/client.d.mts +11 -11
  2. package/dist/auth/client.mjs +10 -10
  3. package/dist/auth/server.d.mts +8 -8
  4. package/dist/auth/server.mjs +8 -8
  5. package/dist/auth.d.mts +5 -5
  6. package/dist/auth.mjs +4 -4
  7. package/dist/commands/client.d.mts +16 -16
  8. package/dist/commands/client.mjs +16 -16
  9. package/dist/commands.d.mts +3 -3
  10. package/dist/commands.mjs +3 -3
  11. package/dist/components/client.d.mts +49 -48
  12. package/dist/components/client.mjs +49 -48
  13. package/dist/components/editor/extensions/file-handler/extension.d.mts +1 -1
  14. package/dist/components/editor/extensions/image/extension.d.mts +1 -1
  15. package/dist/components/editor/extensions/skeleton/extension.mjs +1 -1
  16. package/dist/components/editor/lib/constants.d.mts +1 -1
  17. package/dist/components/editor/lib/extensions.d.mts +1 -1
  18. package/dist/components/editor/lib/helpers.d.mts +5 -1
  19. package/dist/components/editor/lib/helpers.mjs +8 -1
  20. package/dist/components/layouts/root-layout.server.d.mts +3 -2
  21. package/dist/components/layouts/root-layout.server.mjs +1 -3
  22. package/dist/components/server.d.mts +3 -3
  23. package/dist/components/server.mjs +2 -2
  24. package/dist/components/themes/color-theme-provider.client.d.mts +27 -0
  25. package/dist/components/themes/color-theme-provider.client.mjs +59 -0
  26. package/dist/components/themes/color-theme.d.mts +29 -0
  27. package/dist/components/themes/color-theme.mjs +32 -0
  28. package/dist/components/ui/item.d.mts +1 -1
  29. package/dist/components.d.mts +41 -40
  30. package/dist/components.mjs +40 -39
  31. package/dist/config.d.mts +5 -7
  32. package/dist/config.mjs +4 -5
  33. package/dist/data-tables/client.d.mts +21 -21
  34. package/dist/data-tables/client.mjs +21 -21
  35. package/dist/data-tables/server.d.mts +7 -7
  36. package/dist/data-tables/server.mjs +7 -7
  37. package/dist/data-tables.d.mts +15 -14
  38. package/dist/data-tables.mjs +14 -13
  39. package/dist/database/server.d.mts +1 -1
  40. package/dist/database/server.mjs +1 -1
  41. package/dist/database.d.mts +2 -2
  42. package/dist/database.mjs +1 -1
  43. package/dist/emails/server.d.mts +1 -1
  44. package/dist/emails/server.mjs +1 -1
  45. package/dist/inline/client.d.mts +15 -15
  46. package/dist/inline/client.mjs +15 -15
  47. package/dist/inline.d.mts +1 -1
  48. package/dist/inline.mjs +1 -1
  49. package/dist/lib/client.d.mts +4 -4
  50. package/dist/lib/client.mjs +4 -4
  51. package/dist/lib/utils/url.d.mts +15 -4
  52. package/dist/lib/utils/url.mjs +17 -8
  53. package/dist/lib.d.mts +7 -7
  54. package/dist/lib.mjs +6 -6
  55. package/dist/modules/auth/components/create-first-user-guard.server.d.mts +4 -3
  56. package/dist/modules/auth/components/guard.server.d.mts +5 -5
  57. package/dist/modules/auth/components/guard.server.mjs +3 -4
  58. package/dist/modules/auth/handler/create-client.client.d.mts +28 -6382
  59. package/dist/modules/auth/handler/create-client.client.mjs +4 -16
  60. package/dist/modules/auth/handler/proxy.server.d.mts +1 -0
  61. package/dist/modules/auth/handler/proxy.server.mjs +1 -1
  62. package/dist/modules/auth/handler/route.server.d.mts +2 -4
  63. package/dist/modules/auth/handler/route.server.mjs +3 -3
  64. package/dist/modules/auth/handler/service.server.d.mts +41 -2079
  65. package/dist/modules/auth/handler/service.server.mjs +40 -60
  66. package/dist/modules/auth/hooks/use-auth-client.d.mts +5 -6
  67. package/dist/modules/auth/hooks/use-permission.d.mts +7 -7
  68. package/dist/modules/auth/hooks/use-permission.mjs +1 -1
  69. package/dist/modules/auth/hooks/use-session.d.mts +13 -35
  70. package/dist/modules/auth/hooks/use-session.mjs +3 -0
  71. package/dist/modules/auth/lib/helpers.server.d.mts +7 -77
  72. package/dist/modules/auth/lib/helpers.server.mjs +4 -34
  73. package/dist/modules/auth/lib/permissions.d.mts +22 -3
  74. package/dist/modules/auth/plugins/admin.d.mts +917 -0
  75. package/dist/modules/auth/plugins/admin.mjs +18 -0
  76. package/dist/modules/auth/plugins/email-otp.d.mts +554 -0
  77. package/dist/modules/auth/plugins/email-otp.mjs +34 -0
  78. package/dist/modules/config/lib/context.d.mts +5 -4
  79. package/dist/modules/data-tables/lib/converters/dto.d.mts +12 -1
  80. package/dist/modules/data-tables/lib/converters/dto.mjs +13 -1
  81. package/dist/modules/data-tables/lib/converters/filters.d.mts +1 -1
  82. package/dist/modules/data-tables/server/get-data.server.d.mts +3 -2
  83. package/dist/modules/inline/lib/variants.d.mts +1 -1
  84. package/dist/modules/router/handler/init.server.d.mts +43 -51
  85. package/dist/modules/router/handler/init.server.mjs +24 -41
  86. package/dist/modules/router/handler/route.server.d.mts +6 -3
  87. package/dist/modules/router/handler/route.server.mjs +6 -9
  88. package/dist/modules/router/lib/query-client.server.d.mts +2 -2
  89. package/dist/modules/router/lib/query-client.server.mjs +3 -3
  90. package/dist/modules/storage/components/dropzone.client.d.mts +2 -2
  91. package/dist/modules/storage/lib/router-handlers.server.d.mts +6 -7
  92. package/dist/modules/storage/lib/router-handlers.server.mjs +2 -2
  93. package/dist/modules/storage/lib/{procedures.server.d.mts → router.server.d.mts} +42 -19
  94. package/dist/modules/storage/lib/router.server.mjs +21 -0
  95. package/dist/modules/storage/lib/service.server.d.mts +19 -19
  96. package/dist/modules/storage/lib/upload.client.d.mts +9 -10
  97. package/dist/router/client.d.mts +1 -1
  98. package/dist/router/client.mjs +1 -1
  99. package/dist/router/server.d.mts +7 -8
  100. package/dist/router/server.mjs +7 -8
  101. package/dist/router.d.mts +2 -2
  102. package/dist/router.mjs +2 -2
  103. package/dist/storage/client.d.mts +8 -8
  104. package/dist/storage/client.mjs +8 -8
  105. package/dist/storage/server.d.mts +5 -5
  106. package/dist/storage/server.mjs +5 -5
  107. package/dist/storage.d.mts +8 -8
  108. package/dist/storage.mjs +7 -7
  109. package/package.json +2 -2
  110. package/src/components/editor/lib/helpers.ts +8 -0
  111. package/src/components/entry.client.ts +1 -1
  112. package/src/components/entry.ts +1 -1
  113. package/src/components/layouts/root-layout.server.tsx +4 -2
  114. package/src/components/themes/color-theme-provider.client.tsx +82 -0
  115. package/src/components/themes/color-theme.ts +32 -0
  116. package/src/lib/utils/url.ts +19 -8
  117. package/src/modules/auth/components/create-first-user-guard.server.tsx +5 -4
  118. package/src/modules/auth/components/create-first-user-page.client.tsx +6 -1
  119. package/src/modules/auth/components/forget-password-page.client.tsx +3 -2
  120. package/src/modules/auth/components/guard.server.tsx +6 -7
  121. package/src/modules/auth/components/login-page.client.tsx +3 -1
  122. package/src/modules/auth/components/reset-password-page.client.tsx +3 -2
  123. package/src/modules/auth/db/schema.ts +1 -1
  124. package/src/modules/auth/entry.server.ts +0 -1
  125. package/src/modules/auth/handler/create-client.client.ts +43 -41
  126. package/src/modules/auth/handler/proxy.server.ts +4 -2
  127. package/src/modules/auth/handler/route.server.ts +6 -5
  128. package/src/modules/auth/handler/service.server.ts +70 -94
  129. package/src/modules/auth/hooks/use-auth-client.tsx +6 -18
  130. package/src/modules/auth/hooks/use-permission.ts +23 -9
  131. package/src/modules/auth/hooks/use-session.ts +18 -5
  132. package/src/modules/auth/lib/helpers.server.ts +16 -44
  133. package/src/modules/auth/lib/permissions.ts +35 -2
  134. package/src/modules/auth/plugins/admin.ts +28 -0
  135. package/src/modules/auth/plugins/email-otp.ts +43 -0
  136. package/src/modules/config/entry.ts +0 -3
  137. package/src/modules/config/lib/context.ts +8 -4
  138. package/src/modules/data-tables/components/filters/date-range.client.tsx +1 -5
  139. package/src/modules/data-tables/entry.ts +1 -0
  140. package/src/modules/data-tables/lib/converters/dto.ts +12 -0
  141. package/src/modules/data-tables/lib/converters/filters.ts +1 -1
  142. package/src/modules/data-tables/lib/filters/parsers.ts +1 -2
  143. package/src/modules/data-tables/server/get-data.server.ts +8 -3
  144. package/src/modules/inline/components/inputs/combobox-dropdown.client.tsx +1 -3
  145. package/src/modules/inline/components/inputs/combobox.client.tsx +2 -8
  146. package/src/modules/inline/components/inputs/date-time.client.tsx +4 -24
  147. package/src/modules/inline/components/inputs/date.client.tsx +3 -11
  148. package/src/modules/inline/components/inputs/editor.client.tsx +9 -10
  149. package/src/modules/inline/components/inputs/input.client.tsx +10 -33
  150. package/src/modules/inline/components/inputs/select.client.tsx +3 -16
  151. package/src/modules/inline/components/inputs/switch.client.tsx +3 -16
  152. package/src/modules/router/entry.server.ts +0 -1
  153. package/src/modules/router/handler/init.server.ts +58 -62
  154. package/src/modules/router/handler/route.server.ts +19 -19
  155. package/src/modules/router/lib/query-client.server.tsx +2 -2
  156. package/src/modules/storage/entry.server.ts +1 -1
  157. package/src/modules/storage/lib/router-handlers.server.ts +8 -10
  158. package/src/modules/storage/lib/router.server.ts +53 -0
  159. package/src/modules/storage/lib/upload.client.ts +9 -21
  160. package/src/styles.css +255 -2
  161. package/dist/dist/config.d.mts +0 -5
  162. package/dist/dist/modules/auth/handler/service.server.d.mts +0 -8
  163. package/dist/dist/modules/auth/lib/permissions.d.mts +0 -2
  164. package/dist/dist/modules/config/lib/context.d.mts +0 -4
  165. package/dist/dist/modules/config/paths/helpers.d.mts +0 -1
  166. package/dist/dist/modules/config/paths/types.d.mts +0 -3
  167. package/dist/dist/modules/database/lib/helpers.d.mts +0 -2
  168. package/dist/dist/modules/database/lib/service.server.d.mts +0 -2
  169. package/dist/dist/modules/database/lib/types.d.mts +0 -5
  170. package/dist/dist/modules/emails/lib/service.server.d.mts +0 -2
  171. package/dist/dist/modules/storage/lib/schema.d.mts +0 -1
  172. package/dist/dist/modules/storage/lib/service.server.d.mts +0 -5
  173. package/dist/dist/modules/storage/lib/validators.d.mts +0 -4
  174. package/dist/dist/modules/storage/providers/lib/types.d.mts +0 -1
  175. package/dist/dist/modules/storage/providers/lib/validators.d.mts +0 -2
  176. package/dist/modules/router/handler/context.server.d.mts +0 -62
  177. package/dist/modules/router/handler/context.server.mjs +0 -20
  178. package/dist/modules/storage/lib/procedures.server.mjs +0 -21
  179. package/dist/src/components/common/icons.d.mts +0 -60
  180. package/dist/src/components/common/icons.mjs +0 -121
  181. package/dist/src/components/common/status.d.mts +0 -52
  182. package/dist/src/components/common/status.mjs +0 -55
  183. package/dist/src/components/editor/components/content.client.d.mts +0 -6
  184. package/dist/src/components/editor/components/content.client.mjs +0 -16
  185. package/dist/src/components/editor/components/editor.client.d.mts +0 -48
  186. package/dist/src/components/editor/components/editor.client.mjs +0 -55
  187. package/dist/src/components/editor/components/menu-nodes.client.mjs +0 -92
  188. package/dist/src/components/editor/components/menu.client.d.mts +0 -9
  189. package/dist/src/components/editor/components/menu.client.mjs +0 -168
  190. package/dist/src/components/editor/extensions/file-handler/extension.d.mts +0 -20
  191. package/dist/src/components/editor/extensions/file-handler/extension.mjs +0 -39
  192. package/dist/src/components/editor/extensions/file-handler/strategy.d.mts +0 -26
  193. package/dist/src/components/editor/extensions/file-handler/strategy.mjs +0 -110
  194. package/dist/src/components/editor/extensions/file-handler/utils.mjs +0 -49
  195. package/dist/src/components/editor/extensions/image/extension.d.mts +0 -7
  196. package/dist/src/components/editor/extensions/image/extension.mjs +0 -50
  197. package/dist/src/components/editor/extensions/skeleton/extension.mjs +0 -40
  198. package/dist/src/components/editor/extensions/skeleton/renderer.mjs +0 -24
  199. package/dist/src/components/editor/lib/constants.d.mts +0 -62
  200. package/dist/src/components/editor/lib/constants.mjs +0 -101
  201. package/dist/src/components/editor/lib/extensions.d.mts +0 -67
  202. package/dist/src/components/editor/lib/extensions.mjs +0 -49
  203. package/dist/src/components/editor/lib/helpers.d.mts +0 -21
  204. package/dist/src/components/editor/lib/helpers.mjs +0 -68
  205. package/dist/src/components/editor/lib/types.d.mts +0 -9
  206. package/dist/src/components/editor/lib/variants.mjs +0 -15
  207. package/dist/src/components/emails/forget-password-email.mjs +0 -50
  208. package/dist/src/components/header/back-button.client.d.mts +0 -9
  209. package/dist/src/components/header/back-button.client.mjs +0 -42
  210. package/dist/src/components/header/bottom-bar.client.d.mts +0 -28
  211. package/dist/src/components/header/bottom-bar.client.mjs +0 -37
  212. package/dist/src/components/header/breadcrumbs.client.d.mts +0 -34
  213. package/dist/src/components/header/breadcrumbs.client.mjs +0 -63
  214. package/dist/src/components/header/header.client.d.mts +0 -11
  215. package/dist/src/components/header/header.client.mjs +0 -14
  216. package/dist/src/components/header/indicator.client.mjs +0 -24
  217. package/dist/src/components/header/mobile-nav-switcher.client.d.mts +0 -9
  218. package/dist/src/components/header/mobile-nav-switcher.client.mjs +0 -18
  219. package/dist/src/components/header/top-bar.client.d.mts +0 -42
  220. package/dist/src/components/header/top-bar.client.mjs +0 -47
  221. package/dist/src/components/layouts/admin-content.client.d.mts +0 -12
  222. package/dist/src/components/layouts/admin-content.client.mjs +0 -22
  223. package/dist/src/components/layouts/admin-error-pages.d.mts +0 -22
  224. package/dist/src/components/layouts/admin-error-pages.mjs +0 -59
  225. package/dist/src/components/layouts/admin-layout.d.mts +0 -7
  226. package/dist/src/components/layouts/admin-layout.mjs +0 -13
  227. package/dist/src/components/layouts/admin-loading.d.mts +0 -7
  228. package/dist/src/components/layouts/admin-loading.mjs +0 -13
  229. package/dist/src/components/layouts/empty-page.d.mts +0 -30
  230. package/dist/src/components/layouts/empty-page.mjs +0 -28
  231. package/dist/src/components/layouts/error-page.d.mts +0 -47
  232. package/dist/src/components/layouts/error-page.mjs +0 -53
  233. package/dist/src/components/layouts/error-sections.d.mts +0 -28
  234. package/dist/src/components/layouts/error-sections.mjs +0 -46
  235. package/dist/src/components/layouts/list-layout.d.mts +0 -11
  236. package/dist/src/components/layouts/list-layout.mjs +0 -14
  237. package/dist/src/components/layouts/providers.client.d.mts +0 -9
  238. package/dist/src/components/layouts/providers.client.mjs +0 -31
  239. package/dist/src/components/layouts/root-error-pages.d.mts +0 -9
  240. package/dist/src/components/layouts/root-error-pages.mjs +0 -16
  241. package/dist/src/components/layouts/root-layout.server.d.mts +0 -36
  242. package/dist/src/components/layouts/root-layout.server.mjs +0 -46
  243. package/dist/src/components/layouts/root-loading.d.mts +0 -6
  244. package/dist/src/components/layouts/root-loading.mjs +0 -13
  245. package/dist/src/components/layouts/tab-layout.d.mts +0 -22
  246. package/dist/src/components/layouts/tab-layout.mjs +0 -50
  247. package/dist/src/components/lists/data-list.d.mts +0 -30
  248. package/dist/src/components/lists/data-list.mjs +0 -35
  249. package/dist/src/components/lists/data-stack.d.mts +0 -48
  250. package/dist/src/components/lists/data-stack.mjs +0 -56
  251. package/dist/src/components/navigation/admin-sidebar-header.client.mjs +0 -92
  252. package/dist/src/components/navigation/admin-sidebar-paths.client.d.mts +0 -91
  253. package/dist/src/components/navigation/admin-sidebar-paths.client.mjs +0 -143
  254. package/dist/src/components/navigation/admin-sidebar-skeleton.mjs +0 -30
  255. package/dist/src/components/ui/accordion.client.d.mts +0 -25
  256. package/dist/src/components/ui/accordion.client.mjs +0 -57
  257. package/dist/src/components/ui/alert-dialog.client.d.mts +0 -60
  258. package/dist/src/components/ui/alert-dialog.client.mjs +0 -103
  259. package/dist/src/components/ui/alert.d.mts +0 -28
  260. package/dist/src/components/ui/alert.mjs +0 -44
  261. package/dist/src/components/ui/aspect-ratio.client.d.mts +0 -9
  262. package/dist/src/components/ui/aspect-ratio.client.mjs +0 -15
  263. package/dist/src/components/ui/avatar.client.d.mts +0 -34
  264. package/dist/src/components/ui/avatar.client.mjs +0 -53
  265. package/dist/src/components/ui/badge.d.mts +0 -19
  266. package/dist/src/components/ui/badge.mjs +0 -28
  267. package/dist/src/components/ui/breadcrumb.d.mts +0 -37
  268. package/dist/src/components/ui/breadcrumb.mjs +0 -70
  269. package/dist/src/components/ui/button-group.d.mts +0 -28
  270. package/dist/src/components/ui/button-group.mjs +0 -40
  271. package/dist/src/components/ui/button.d.mts +0 -21
  272. package/dist/src/components/ui/button.mjs +0 -48
  273. package/dist/src/components/ui/calendar.client.d.mts +0 -30
  274. package/dist/src/components/ui/calendar.client.mjs +0 -113
  275. package/dist/src/components/ui/card.d.mts +0 -37
  276. package/dist/src/components/ui/card.mjs +0 -57
  277. package/dist/src/components/ui/carousel.client.d.mts +0 -56
  278. package/dist/src/components/ui/carousel.client.mjs +0 -135
  279. package/dist/src/components/ui/chart.client.d.mts +0 -71
  280. package/dist/src/components/ui/chart.client.mjs +0 -142
  281. package/dist/src/components/ui/checkbox.client.d.mts +0 -11
  282. package/dist/src/components/ui/checkbox.client.mjs +0 -23
  283. package/dist/src/components/ui/collapsible.client.d.mts +0 -15
  284. package/dist/src/components/ui/collapsible.client.mjs +0 -27
  285. package/dist/src/components/ui/color-picker.client.d.mts +0 -15
  286. package/dist/src/components/ui/color-picker.client.mjs +0 -38
  287. package/dist/src/components/ui/combobox-dropdown.client.d.mts +0 -45
  288. package/dist/src/components/ui/combobox-dropdown.client.mjs +0 -94
  289. package/dist/src/components/ui/combobox.client.d.mts +0 -30
  290. package/dist/src/components/ui/combobox.client.mjs +0 -66
  291. package/dist/src/components/ui/command.client.d.mts +0 -58
  292. package/dist/src/components/ui/command.client.mjs +0 -97
  293. package/dist/src/components/ui/context-menu.client.d.mts +0 -85
  294. package/dist/src/components/ui/context-menu.client.mjs +0 -127
  295. package/dist/src/components/ui/date-picker.client.d.mts +0 -20
  296. package/dist/src/components/ui/date-picker.client.mjs +0 -43
  297. package/dist/src/components/ui/dialog.client.d.mts +0 -51
  298. package/dist/src/components/ui/dialog.client.mjs +0 -98
  299. package/dist/src/components/ui/drawer.client.d.mts +0 -44
  300. package/dist/src/components/ui/drawer.client.mjs +0 -80
  301. package/dist/src/components/ui/dropdown-menu.client.d.mts +0 -84
  302. package/dist/src/components/ui/dropdown-menu.client.mjs +0 -130
  303. package/dist/src/components/ui/empty.d.mts +0 -35
  304. package/dist/src/components/ui/empty.mjs +0 -61
  305. package/dist/src/components/ui/field.client.d.mts +0 -64
  306. package/dist/src/components/ui/field.client.mjs +0 -113
  307. package/dist/src/components/ui/form.client.d.mts +0 -47
  308. package/dist/src/components/ui/form.client.mjs +0 -92
  309. package/dist/src/components/ui/hover-card.client.d.mts +0 -19
  310. package/dist/src/components/ui/hover-card.client.mjs +0 -34
  311. package/dist/src/components/ui/input-date-time.client.d.mts +0 -22
  312. package/dist/src/components/ui/input-date-time.client.mjs +0 -33
  313. package/dist/src/components/ui/input-date.d.mts +0 -13
  314. package/dist/src/components/ui/input-date.mjs +0 -15
  315. package/dist/src/components/ui/input-group.client.d.mts +0 -58
  316. package/dist/src/components/ui/input-group.client.mjs +0 -105
  317. package/dist/src/components/ui/input-recipient.d.mts +0 -26
  318. package/dist/src/components/ui/input-recipient.mjs +0 -218
  319. package/dist/src/components/ui/input-time.d.mts +0 -13
  320. package/dist/src/components/ui/input-time.mjs +0 -15
  321. package/dist/src/components/ui/input.d.mts +0 -11
  322. package/dist/src/components/ui/input.mjs +0 -15
  323. package/dist/src/components/ui/item.d.mts +0 -62
  324. package/dist/src/components/ui/item.mjs +0 -118
  325. package/dist/src/components/ui/kbd.d.mts +0 -13
  326. package/dist/src/components/ui/kbd.mjs +0 -21
  327. package/dist/src/components/ui/label.d.mts +0 -11
  328. package/dist/src/components/ui/label.mjs +0 -17
  329. package/dist/src/components/ui/loader.d.mts +0 -6
  330. package/dist/src/components/ui/loader.mjs +0 -62
  331. package/dist/src/components/ui/navigation-menu.d.mts +0 -46
  332. package/dist/src/components/ui/navigation-menu.mjs +0 -81
  333. package/dist/src/components/ui/pagination.d.mts +0 -45
  334. package/dist/src/components/ui/pagination.mjs +0 -87
  335. package/dist/src/components/ui/popover.client.d.mts +0 -34
  336. package/dist/src/components/ui/popover.client.mjs +0 -58
  337. package/dist/src/components/ui/progress.client.d.mts +0 -12
  338. package/dist/src/components/ui/progress.client.mjs +0 -22
  339. package/dist/src/components/ui/radio-group.d.mts +0 -15
  340. package/dist/src/components/ui/radio-group.mjs +0 -29
  341. package/dist/src/components/ui/resizable.client.d.mts +0 -20
  342. package/dist/src/components/ui/resizable.client.mjs +0 -31
  343. package/dist/src/components/ui/scroll-area.d.mts +0 -17
  344. package/dist/src/components/ui/scroll-area.mjs +0 -39
  345. package/dist/src/components/ui/select.client.d.mts +0 -53
  346. package/dist/src/components/ui/select.client.mjs +0 -102
  347. package/dist/src/components/ui/separator.d.mts +0 -13
  348. package/dist/src/components/ui/separator.mjs +0 -19
  349. package/dist/src/components/ui/sheet.client.d.mts +0 -42
  350. package/dist/src/components/ui/sheet.client.mjs +0 -92
  351. package/dist/src/components/ui/sidebar.client.d.mts +0 -167
  352. package/dist/src/components/ui/sidebar.client.mjs +0 -373
  353. package/dist/src/components/ui/skeleton.d.mts +0 -9
  354. package/dist/src/components/ui/skeleton.mjs +0 -14
  355. package/dist/src/components/ui/slider.d.mts +0 -15
  356. package/dist/src/components/ui/slider.mjs +0 -39
  357. package/dist/src/components/ui/sonner.client.d.mts +0 -9
  358. package/dist/src/components/ui/sonner.client.mjs +0 -24
  359. package/dist/src/components/ui/spinner.d.mts +0 -9
  360. package/dist/src/components/ui/spinner.mjs +0 -16
  361. package/dist/src/components/ui/switch.client.d.mts +0 -14
  362. package/dist/src/components/ui/switch.client.mjs +0 -22
  363. package/dist/src/components/ui/tabs.client.d.mts +0 -30
  364. package/dist/src/components/ui/tabs.client.mjs +0 -48
  365. package/dist/src/components/ui/textarea.d.mts +0 -10
  366. package/dist/src/components/ui/textarea.mjs +0 -14
  367. package/dist/src/components/ui/toggle-group.client.d.mts +0 -28
  368. package/dist/src/components/ui/toggle-group.client.mjs +0 -54
  369. package/dist/src/components/ui/toggle.client.d.mts +0 -19
  370. package/dist/src/components/ui/toggle.client.mjs +0 -39
  371. package/dist/src/components/ui/tooltip.client.d.mts +0 -23
  372. package/dist/src/components/ui/tooltip.client.mjs +0 -38
  373. package/dist/src/lib/hooks/use-action.d.mts +0 -16
  374. package/dist/src/lib/hooks/use-action.mjs +0 -41
  375. package/dist/src/lib/hooks/use-indicator.d.mts +0 -39
  376. package/dist/src/lib/hooks/use-indicator.mjs +0 -63
  377. package/dist/src/lib/hooks/use-mobile.client.d.mts +0 -6
  378. package/dist/src/lib/hooks/use-mobile.client.mjs +0 -21
  379. package/dist/src/lib/types/config.d.mts +0 -11
  380. package/dist/src/lib/utils/array-move.d.mts +0 -10
  381. package/dist/src/lib/utils/array-move.mjs +0 -12
  382. package/dist/src/lib/utils/cn.d.mts +0 -6
  383. package/dist/src/lib/utils/cn.mjs +0 -10
  384. package/dist/src/lib/utils/fonts.d.mts +0 -7
  385. package/dist/src/lib/utils/fonts.mjs +0 -11
  386. package/dist/src/lib/utils/format.d.mts +0 -51
  387. package/dist/src/lib/utils/format.mjs +0 -113
  388. package/dist/src/lib/utils/manifest.d.mts +0 -7
  389. package/dist/src/lib/utils/manifest.mjs +0 -35
  390. package/dist/src/lib/utils/markdown.d.mts +0 -9
  391. package/dist/src/lib/utils/markdown.mjs +0 -14
  392. package/dist/src/lib/utils/url.d.mts +0 -9
  393. package/dist/src/lib/utils/url.mjs +0 -15
  394. package/dist/src/lib/utils/user-agent.mjs +0 -74
  395. package/dist/src/modules/auth/components/allowed.client.d.mts +0 -33
  396. package/dist/src/modules/auth/components/allowed.client.mjs +0 -19
  397. package/dist/src/modules/auth/components/auth-layout.server.d.mts +0 -9
  398. package/dist/src/modules/auth/components/auth-layout.server.mjs +0 -36
  399. package/dist/src/modules/auth/components/auth-loading.d.mts +0 -6
  400. package/dist/src/modules/auth/components/auth-loading.mjs +0 -17
  401. package/dist/src/modules/auth/components/create-first-user-guard.server.d.mts +0 -15
  402. package/dist/src/modules/auth/components/create-first-user-guard.server.mjs +0 -15
  403. package/dist/src/modules/auth/components/create-first-user-page.client.d.mts +0 -6
  404. package/dist/src/modules/auth/components/create-first-user-page.client.mjs +0 -153
  405. package/dist/src/modules/auth/components/forget-password-page.client.d.mts +0 -6
  406. package/dist/src/modules/auth/components/forget-password-page.client.mjs +0 -72
  407. package/dist/src/modules/auth/components/guard.server.d.mts +0 -14
  408. package/dist/src/modules/auth/components/guard.server.mjs +0 -20
  409. package/dist/src/modules/auth/components/login-page.client.d.mts +0 -11
  410. package/dist/src/modules/auth/components/login-page.client.mjs +0 -155
  411. package/dist/src/modules/auth/components/reset-password-page.client.d.mts +0 -11
  412. package/dist/src/modules/auth/components/reset-password-page.client.mjs +0 -121
  413. package/dist/src/modules/auth/components/update-password-command.d.mts +0 -22
  414. package/dist/src/modules/auth/components/update-password-command.mjs +0 -47
  415. package/dist/src/modules/auth/db/schema.d.mts +0 -983
  416. package/dist/src/modules/auth/db/schema.mjs +0 -101
  417. package/dist/src/modules/auth/handler/create-client.client.d.mts +0 -6393
  418. package/dist/src/modules/auth/handler/create-client.client.mjs +0 -25
  419. package/dist/src/modules/auth/handler/proxy.server.d.mts +0 -11
  420. package/dist/src/modules/auth/handler/proxy.server.mjs +0 -20
  421. package/dist/src/modules/auth/handler/route.server.d.mts +0 -16
  422. package/dist/src/modules/auth/handler/route.server.mjs +0 -28
  423. package/dist/src/modules/auth/handler/service.server.d.mts +0 -2101
  424. package/dist/src/modules/auth/handler/service.server.mjs +0 -87
  425. package/dist/src/modules/auth/hooks/use-auth-client.d.mts +0 -23
  426. package/dist/src/modules/auth/hooks/use-auth-client.mjs +0 -30
  427. package/dist/src/modules/auth/hooks/use-permission.d.mts +0 -42
  428. package/dist/src/modules/auth/hooks/use-permission.mjs +0 -57
  429. package/dist/src/modules/auth/hooks/use-session.d.mts +0 -40
  430. package/dist/src/modules/auth/hooks/use-session.mjs +0 -22
  431. package/dist/src/modules/auth/lib/helpers.server.d.mts +0 -84
  432. package/dist/src/modules/auth/lib/helpers.server.mjs +0 -41
  433. package/dist/src/modules/auth/lib/permissions.d.mts +0 -17
  434. package/dist/src/modules/auth/lib/permissions.mjs +0 -14
  435. package/dist/src/modules/auth/lib/validators.d.mts +0 -299
  436. package/dist/src/modules/auth/lib/validators.mjs +0 -59
  437. package/dist/src/modules/commands/components/menus/context-menu.client.d.mts +0 -39
  438. package/dist/src/modules/commands/components/menus/context-menu.client.mjs +0 -47
  439. package/dist/src/modules/commands/components/menus/dropdown-menu.client.d.mts +0 -29
  440. package/dist/src/modules/commands/components/menus/dropdown-menu.client.mjs +0 -58
  441. package/dist/src/modules/commands/components/menus/floating-menu.client.d.mts +0 -29
  442. package/dist/src/modules/commands/components/menus/floating-menu.client.mjs +0 -33
  443. package/dist/src/modules/commands/components/menus/inline-menu.client.d.mts +0 -29
  444. package/dist/src/modules/commands/components/menus/inline-menu.client.mjs +0 -41
  445. package/dist/src/modules/commands/components/menus/responsive-menu.client.d.mts +0 -16
  446. package/dist/src/modules/commands/components/menus/responsive-menu.client.mjs +0 -22
  447. package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.d.mts +0 -65
  448. package/dist/src/modules/commands/components/primitives/alert-dialog-command.client.mjs +0 -138
  449. package/dist/src/modules/commands/components/primitives/click-command.client.d.mts +0 -26
  450. package/dist/src/modules/commands/components/primitives/click-command.client.mjs +0 -52
  451. package/dist/src/modules/commands/components/primitives/command-trigger.client.d.mts +0 -17
  452. package/dist/src/modules/commands/components/primitives/command-trigger.client.mjs +0 -42
  453. package/dist/src/modules/commands/components/primitives/dialog-command.client.d.mts +0 -53
  454. package/dist/src/modules/commands/components/primitives/dialog-command.client.mjs +0 -116
  455. package/dist/src/modules/commands/components/primitives/dropdown-command.client.d.mts +0 -47
  456. package/dist/src/modules/commands/components/primitives/dropdown-command.client.mjs +0 -131
  457. package/dist/src/modules/commands/components/primitives/empty-command.client.d.mts +0 -20
  458. package/dist/src/modules/commands/components/primitives/empty-command.client.mjs +0 -44
  459. package/dist/src/modules/commands/components/primitives/form-dialog-command.client.d.mts +0 -71
  460. package/dist/src/modules/commands/components/primitives/form-dialog-command.client.mjs +0 -163
  461. package/dist/src/modules/commands/components/render-command.mjs +0 -48
  462. package/dist/src/modules/commands/components/utils/archive-command.client.d.mts +0 -24
  463. package/dist/src/modules/commands/components/utils/archive-command.client.mjs +0 -29
  464. package/dist/src/modules/commands/components/utils/delete-command.client.d.mts +0 -20
  465. package/dist/src/modules/commands/components/utils/delete-command.client.mjs +0 -28
  466. package/dist/src/modules/commands/hooks/use-command-mutation.client.d.mts +0 -11
  467. package/dist/src/modules/commands/hooks/use-command-mutation.client.mjs +0 -39
  468. package/dist/src/modules/commands/hooks/use-command.client.d.mts +0 -31
  469. package/dist/src/modules/commands/hooks/use-command.client.mjs +0 -45
  470. package/dist/src/modules/commands/lib/builder.d.mts +0 -135
  471. package/dist/src/modules/commands/lib/builder.mjs +0 -82
  472. package/dist/src/modules/commands/lib/registery.d.mts +0 -68
  473. package/dist/src/modules/commands/lib/registery.mjs +0 -103
  474. package/dist/src/modules/commands/lib/utils.d.mts +0 -11
  475. package/dist/src/modules/commands/lib/utils.mjs +0 -14
  476. package/dist/src/modules/config/lib/config.d.mts +0 -16
  477. package/dist/src/modules/config/lib/config.mjs +0 -8
  478. package/dist/src/modules/config/lib/context.d.mts +0 -17
  479. package/dist/src/modules/config/lib/context.mjs +0 -7
  480. package/dist/src/modules/config/paths/helpers.d.mts +0 -9
  481. package/dist/src/modules/config/paths/helpers.mjs +0 -8
  482. package/dist/src/modules/config/paths/types.d.mts +0 -31
  483. package/dist/src/modules/data-tables/components/cell/common.client.d.mts +0 -26
  484. package/dist/src/modules/data-tables/components/cell/common.client.mjs +0 -35
  485. package/dist/src/modules/data-tables/components/cell/index.client.d.mts +0 -10
  486. package/dist/src/modules/data-tables/components/cell/index.client.mjs +0 -24
  487. package/dist/src/modules/data-tables/components/cell/select.client.d.mts +0 -10
  488. package/dist/src/modules/data-tables/components/cell/select.client.mjs +0 -36
  489. package/dist/src/modules/data-tables/components/column-header.d.mts +0 -15
  490. package/dist/src/modules/data-tables/components/column-header.mjs +0 -46
  491. package/dist/src/modules/data-tables/components/filters/combobox.client.d.mts +0 -27
  492. package/dist/src/modules/data-tables/components/filters/combobox.client.mjs +0 -97
  493. package/dist/src/modules/data-tables/components/filters/date-range.client.d.mts +0 -24
  494. package/dist/src/modules/data-tables/components/filters/date-range.client.mjs +0 -99
  495. package/dist/src/modules/data-tables/components/filters/search.client.d.mts +0 -17
  496. package/dist/src/modules/data-tables/components/filters/search.client.mjs +0 -32
  497. package/dist/src/modules/data-tables/components/filters/slider.client.d.mts +0 -22
  498. package/dist/src/modules/data-tables/components/filters/slider.client.mjs +0 -128
  499. package/dist/src/modules/data-tables/components/filters/toggle.client.d.mts +0 -17
  500. package/dist/src/modules/data-tables/components/filters/toggle.client.mjs +0 -25
  501. package/dist/src/modules/data-tables/components/footer.mjs +0 -31
  502. package/dist/src/modules/data-tables/components/header.d.mts +0 -40
  503. package/dist/src/modules/data-tables/components/header.mjs +0 -43
  504. package/dist/src/modules/data-tables/components/layout.d.mts +0 -11
  505. package/dist/src/modules/data-tables/components/layout.mjs +0 -14
  506. package/dist/src/modules/data-tables/components/search-input.client.d.mts +0 -6
  507. package/dist/src/modules/data-tables/components/search-input.client.mjs +0 -19
  508. package/dist/src/modules/data-tables/components/skeleton.d.mts +0 -6
  509. package/dist/src/modules/data-tables/components/skeleton.mjs +0 -21
  510. package/dist/src/modules/data-tables/components/table.d.mts +0 -33
  511. package/dist/src/modules/data-tables/components/table.mjs +0 -55
  512. package/dist/src/modules/data-tables/components/toolbar.d.mts +0 -22
  513. package/dist/src/modules/data-tables/components/toolbar.mjs +0 -21
  514. package/dist/src/modules/data-tables/hooks/use-context.client.d.mts +0 -47
  515. package/dist/src/modules/data-tables/hooks/use-context.client.mjs +0 -34
  516. package/dist/src/modules/data-tables/hooks/use-search.client.mjs +0 -39
  517. package/dist/src/modules/data-tables/hooks/use-selection.client.mjs +0 -44
  518. package/dist/src/modules/data-tables/hooks/use-table.client.d.mts +0 -10
  519. package/dist/src/modules/data-tables/hooks/use-table.client.mjs +0 -55
  520. package/dist/src/modules/data-tables/lib/converters/dto.d.mts +0 -50
  521. package/dist/src/modules/data-tables/lib/converters/dto.mjs +0 -24
  522. package/dist/src/modules/data-tables/lib/converters/filters.d.mts +0 -41
  523. package/dist/src/modules/data-tables/lib/converters/filters.mjs +0 -38
  524. package/dist/src/modules/data-tables/lib/converters/pagination.d.mts +0 -17
  525. package/dist/src/modules/data-tables/lib/converters/pagination.mjs +0 -15
  526. package/dist/src/modules/data-tables/lib/converters/search.d.mts +0 -16
  527. package/dist/src/modules/data-tables/lib/converters/search.mjs +0 -15
  528. package/dist/src/modules/data-tables/lib/converters/sorting.d.mts +0 -48
  529. package/dist/src/modules/data-tables/lib/converters/sorting.mjs +0 -55
  530. package/dist/src/modules/data-tables/lib/filters/config.d.mts +0 -13
  531. package/dist/src/modules/data-tables/lib/filters/config.mjs +0 -5
  532. package/dist/src/modules/data-tables/lib/filters/helpers.d.mts +0 -10
  533. package/dist/src/modules/data-tables/lib/filters/helpers.mjs +0 -16
  534. package/dist/src/modules/data-tables/lib/filters/parsers.d.mts +0 -46
  535. package/dist/src/modules/data-tables/lib/filters/parsers.mjs +0 -47
  536. package/dist/src/modules/data-tables/lib/filters/resolvers.d.mts +0 -28
  537. package/dist/src/modules/data-tables/lib/filters/resolvers.mjs +0 -55
  538. package/dist/src/modules/data-tables/lib/helpers/create-column.mjs +0 -10
  539. package/dist/src/modules/data-tables/lib/search-params.d.mts +0 -21
  540. package/dist/src/modules/data-tables/lib/search-params.mjs +0 -16
  541. package/dist/src/modules/data-tables/lib/types.d.mts +0 -54
  542. package/dist/src/modules/data-tables/lib/validators.d.mts +0 -19
  543. package/dist/src/modules/data-tables/lib/validators.mjs +0 -16
  544. package/dist/src/modules/data-tables/server/get-data.server.d.mts +0 -29
  545. package/dist/src/modules/data-tables/server/get-data.server.mjs +0 -47
  546. package/dist/src/modules/data-tables/strategies/helpers/sorting.mjs +0 -37
  547. package/dist/src/modules/data-tables/strategies/infinite/components.mjs +0 -50
  548. package/dist/src/modules/data-tables/strategies/infinite/strategy.d.mts +0 -20
  549. package/dist/src/modules/data-tables/strategies/infinite/strategy.mjs +0 -50
  550. package/dist/src/modules/data-tables/strategies/local/components.mjs +0 -25
  551. package/dist/src/modules/data-tables/strategies/local/strategy.d.mts +0 -12
  552. package/dist/src/modules/data-tables/strategies/local/strategy.mjs +0 -31
  553. package/dist/src/modules/data-tables/strategies/pagination/components.mjs +0 -131
  554. package/dist/src/modules/data-tables/strategies/pagination/strategy.d.mts +0 -12
  555. package/dist/src/modules/data-tables/strategies/pagination/strategy.mjs +0 -45
  556. package/dist/src/modules/data-tables/tables/data-table/components/body.mjs +0 -32
  557. package/dist/src/modules/data-tables/tables/data-table/components/header.mjs +0 -12
  558. package/dist/src/modules/data-tables/tables/data-table/components/row.mjs +0 -13
  559. package/dist/src/modules/data-tables/tables/data-table/components/table.d.mts +0 -8
  560. package/dist/src/modules/data-tables/tables/data-table/components/table.mjs +0 -42
  561. package/dist/src/modules/data-tables/tables/inline-table/components/body.mjs +0 -69
  562. package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.d.mts +0 -11
  563. package/dist/src/modules/data-tables/tables/inline-table/components/cells/common.mjs +0 -14
  564. package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.d.mts +0 -24
  565. package/dist/src/modules/data-tables/tables/inline-table/components/cells/drag-handle.client.mjs +0 -38
  566. package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.d.mts +0 -11
  567. package/dist/src/modules/data-tables/tables/inline-table/components/cells/read-only.mjs +0 -14
  568. package/dist/src/modules/data-tables/tables/inline-table/components/header.mjs +0 -10
  569. package/dist/src/modules/data-tables/tables/inline-table/components/row.client.mjs +0 -24
  570. package/dist/src/modules/data-tables/tables/inline-table/components/table.d.mts +0 -14
  571. package/dist/src/modules/data-tables/tables/inline-table/components/table.mjs +0 -52
  572. package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.d.mts +0 -48
  573. package/dist/src/modules/data-tables/tables/inline-table/hooks/context.client.mjs +0 -58
  574. package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.d.mts +0 -29
  575. package/dist/src/modules/data-tables/tables/inline-table/hooks/use-hotkeys.client.mjs +0 -94
  576. package/dist/src/modules/database/lib/helpers.d.mts +0 -15
  577. package/dist/src/modules/database/lib/helpers.mjs +0 -16
  578. package/dist/src/modules/database/lib/service.server.d.mts +0 -33
  579. package/dist/src/modules/database/lib/service.server.mjs +0 -23
  580. package/dist/src/modules/database/lib/types.d.mts +0 -4
  581. package/dist/src/modules/emails/lib/service.server.d.mts +0 -28
  582. package/dist/src/modules/emails/lib/service.server.mjs +0 -20
  583. package/dist/src/modules/inline/components/cell.client.d.mts +0 -20
  584. package/dist/src/modules/inline/components/cell.client.mjs +0 -46
  585. package/dist/src/modules/inline/components/field.client.d.mts +0 -36
  586. package/dist/src/modules/inline/components/field.client.mjs +0 -61
  587. package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.d.mts +0 -28
  588. package/dist/src/modules/inline/components/inputs/combobox-dropdown.client.mjs +0 -49
  589. package/dist/src/modules/inline/components/inputs/combobox.client.d.mts +0 -23
  590. package/dist/src/modules/inline/components/inputs/combobox.client.mjs +0 -45
  591. package/dist/src/modules/inline/components/inputs/date-time.client.d.mts +0 -25
  592. package/dist/src/modules/inline/components/inputs/date-time.client.mjs +0 -48
  593. package/dist/src/modules/inline/components/inputs/date.client.d.mts +0 -66
  594. package/dist/src/modules/inline/components/inputs/date.client.mjs +0 -175
  595. package/dist/src/modules/inline/components/inputs/editor.client.d.mts +0 -26
  596. package/dist/src/modules/inline/components/inputs/editor.client.mjs +0 -51
  597. package/dist/src/modules/inline/components/inputs/input-recipient.client.d.mts +0 -27
  598. package/dist/src/modules/inline/components/inputs/input-recipient.client.mjs +0 -48
  599. package/dist/src/modules/inline/components/inputs/input.client.d.mts +0 -54
  600. package/dist/src/modules/inline/components/inputs/input.client.mjs +0 -129
  601. package/dist/src/modules/inline/components/inputs/select.client.d.mts +0 -32
  602. package/dist/src/modules/inline/components/inputs/select.client.mjs +0 -64
  603. package/dist/src/modules/inline/components/inputs/switch.client.d.mts +0 -22
  604. package/dist/src/modules/inline/components/inputs/switch.client.mjs +0 -42
  605. package/dist/src/modules/inline/components/inputs/toggle.client.d.mts +0 -24
  606. package/dist/src/modules/inline/components/inputs/toggle.client.mjs +0 -47
  607. package/dist/src/modules/inline/hooks/inline-provider.d.mts +0 -28
  608. package/dist/src/modules/inline/hooks/inline-provider.mjs +0 -25
  609. package/dist/src/modules/inline/hooks/inline-state.client.d.mts +0 -30
  610. package/dist/src/modules/inline/hooks/inline-state.client.mjs +0 -25
  611. package/dist/src/modules/inline/hooks/use-inline.client.d.mts +0 -144
  612. package/dist/src/modules/inline/hooks/use-inline.client.mjs +0 -125
  613. package/dist/src/modules/inline/lib/validators.d.mts +0 -56
  614. package/dist/src/modules/inline/lib/validators.mjs +0 -34
  615. package/dist/src/modules/inline/lib/variants.d.mts +0 -11
  616. package/dist/src/modules/inline/lib/variants.mjs +0 -21
  617. package/dist/src/modules/router/handler/caller.client.d.mts +0 -10
  618. package/dist/src/modules/router/handler/caller.client.mjs +0 -23
  619. package/dist/src/modules/router/handler/caller.server.d.mts +0 -6
  620. package/dist/src/modules/router/handler/caller.server.mjs +0 -7
  621. package/dist/src/modules/router/handler/context.server.d.mts +0 -62
  622. package/dist/src/modules/router/handler/context.server.mjs +0 -20
  623. package/dist/src/modules/router/handler/init.server.d.mts +0 -65
  624. package/dist/src/modules/router/handler/init.server.mjs +0 -55
  625. package/dist/src/modules/router/handler/register.server.d.mts +0 -8
  626. package/dist/src/modules/router/handler/register.server.mjs +0 -10
  627. package/dist/src/modules/router/handler/route.server.d.mts +0 -21
  628. package/dist/src/modules/router/handler/route.server.mjs +0 -32
  629. package/dist/src/modules/router/lib/error.server.d.mts +0 -2
  630. package/dist/src/modules/router/lib/error.server.mjs +0 -3
  631. package/dist/src/modules/router/lib/helpers.mjs +0 -7
  632. package/dist/src/modules/router/lib/query-client.d.mts +0 -10
  633. package/dist/src/modules/router/lib/query-client.mjs +0 -50
  634. package/dist/src/modules/router/lib/query-client.server.d.mts +0 -17
  635. package/dist/src/modules/router/lib/query-client.server.mjs +0 -23
  636. package/dist/src/modules/router/lib/validators.d.mts +0 -12
  637. package/dist/src/modules/router/lib/validators.mjs +0 -10
  638. package/dist/src/modules/storage/components/dropzone-context.client.d.mts +0 -18
  639. package/dist/src/modules/storage/components/dropzone-context.client.mjs +0 -17
  640. package/dist/src/modules/storage/components/dropzone.client.d.mts +0 -52
  641. package/dist/src/modules/storage/components/dropzone.client.mjs +0 -110
  642. package/dist/src/modules/storage/components/image-grid.client.d.mts +0 -32
  643. package/dist/src/modules/storage/components/image-grid.client.mjs +0 -167
  644. package/dist/src/modules/storage/components/image.client.d.mts +0 -7
  645. package/dist/src/modules/storage/components/image.client.mjs +0 -16
  646. package/dist/src/modules/storage/components/upload-button.client.d.mts +0 -11
  647. package/dist/src/modules/storage/components/upload-button.client.mjs +0 -33
  648. package/dist/src/modules/storage/components/upload-zone-context.client.d.mts +0 -30
  649. package/dist/src/modules/storage/components/upload-zone-context.client.mjs +0 -20
  650. package/dist/src/modules/storage/components/upload-zone.client.d.mts +0 -27
  651. package/dist/src/modules/storage/components/upload-zone.client.mjs +0 -111
  652. package/dist/src/modules/storage/lib/constants.d.mts +0 -5
  653. package/dist/src/modules/storage/lib/constants.mjs +0 -5
  654. package/dist/src/modules/storage/lib/helpers.d.mts +0 -29
  655. package/dist/src/modules/storage/lib/helpers.mjs +0 -49
  656. package/dist/src/modules/storage/lib/procedures.server.d.mts +0 -1990
  657. package/dist/src/modules/storage/lib/procedures.server.mjs +0 -21
  658. package/dist/src/modules/storage/lib/router-handlers.server.d.mts +0 -40
  659. package/dist/src/modules/storage/lib/router-handlers.server.mjs +0 -123
  660. package/dist/src/modules/storage/lib/schema.d.mts +0 -291
  661. package/dist/src/modules/storage/lib/schema.mjs +0 -37
  662. package/dist/src/modules/storage/lib/service.server.d.mts +0 -2217
  663. package/dist/src/modules/storage/lib/service.server.mjs +0 -514
  664. package/dist/src/modules/storage/lib/upload.client.d.mts +0 -57
  665. package/dist/src/modules/storage/lib/upload.client.mjs +0 -86
  666. package/dist/src/modules/storage/lib/validators.d.mts +0 -935
  667. package/dist/src/modules/storage/lib/validators.mjs +0 -52
  668. package/dist/src/modules/storage/providers/adapters/s3.server.d.mts +0 -18
  669. package/dist/src/modules/storage/providers/adapters/s3.server.mjs +0 -172
  670. package/dist/src/modules/storage/providers/lib/constants.d.mts +0 -5
  671. package/dist/src/modules/storage/providers/lib/constants.mjs +0 -5
  672. package/dist/src/modules/storage/providers/lib/errors.d.mts +0 -11
  673. package/dist/src/modules/storage/providers/lib/errors.mjs +0 -12
  674. package/dist/src/modules/storage/providers/lib/types.d.mts +0 -20
  675. package/dist/src/modules/storage/providers/lib/validators.d.mts +0 -111
  676. package/dist/src/modules/storage/providers/lib/validators.mjs +0 -74
  677. package/src/modules/router/handler/context.server.ts +0 -28
  678. package/src/modules/storage/lib/procedures.server.ts +0 -60
@@ -1,2217 +0,0 @@
1
- import { TDatabaseSchema } from "../../database/lib/types.mjs";
2
- import { Database } from "../../database/lib/service.server.mjs";
3
- import { GetObjectURLOptions } from "../providers/lib/validators.mjs";
4
- import { StorageAdapter } from "../providers/lib/types.mjs";
5
- import { ConfirmUploadInput, PresignUploadInput, UploadInput } from "./validators.mjs";
6
- import * as drizzle_orm_pg_core0 from "drizzle-orm/pg-core";
7
- import * as node_stream0 from "node:stream";
8
-
9
- //#region src/modules/storage/lib/service.server.d.ts
10
- type StorageConfig<TSchema extends TDatabaseSchema> = {
11
- db: Database<TSchema>;
12
- adapter: StorageAdapter;
13
- prefix?: string;
14
- };
15
- /**
16
- * Storage service for working with asset metadata and object storage.
17
- *
18
- * Use `Storage.init()` to create a fully configured instance in app code.
19
- *
20
- * @param props - Storage configuration, including `db` and `adapter`
21
- * @returns A ready-to-use `Storage` instance
22
- * @example
23
- * const storage = Storage.init({
24
- * db: drizzle(dbConnection),
25
- * adapter: new StorageS3Adapter({
26
- * bucketName: "my-app-uploads",
27
- * region: "us-east-1",
28
- * credentials: {
29
- * accessKeyId: process.env.AWS_ACCESS_KEY_ID,
30
- * secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
31
- * },
32
- * }),
33
- * });
34
- */
35
- declare class Storage<TSchema extends TDatabaseSchema> {
36
- #private;
37
- prefix: string;
38
- private constructor();
39
- /**
40
- * Create a storage service instance.
41
- *
42
- * This keeps the public API aligned with other Tulip services such as
43
- * `Database.init()`, `Email.init()`, and `Auth.init()`.
44
- *
45
- * @param props - Storage configuration, including `db` and `adapter`
46
- * @returns A new `Storage` instance
47
- * @example
48
- * const storage = Storage.init({
49
- * db: drizzle(dbConnection),
50
- * adapter: new StorageS3Adapter({
51
- * bucketName: "my-app-uploads",
52
- * region: "us-east-1",
53
- * credentials: {
54
- * accessKeyId: process.env.AWS_ACCESS_KEY_ID,
55
- * secretAccessKey: process.env.AWS_SECRET_ACCESS_KEY,
56
- * },
57
- * }),
58
- * });
59
- */
60
- static init<TSchema extends TDatabaseSchema>(props: StorageConfig<TSchema>): Storage<TSchema>;
61
- /**
62
- * Builds a query to fetch a storage asset by its ID and the current adapter's provider.
63
- * @param id - The asset ID to search for
64
- * @returns A dynamic Drizzle query for fetching a single asset
65
- * @example
66
- * let query = storageService.getAssetByIdQuery("asset-123");
67
- * query = query.where(eq(storageAssets.contentType, "image/png")); // Add additional conditions if needed
68
- * const [asset] = await query;
69
- */
70
- getAssetByIdQuery(id: string): drizzle_orm_pg_core0.PgSelectBase<"storage_assets", {
71
- provider: drizzle_orm_pg_core0.PgColumn<{
72
- name: "provider";
73
- tableName: "storage_assets";
74
- dataType: "string";
75
- columnType: "PgText";
76
- data: "s3";
77
- driverParam: string;
78
- notNull: true;
79
- hasDefault: false;
80
- isPrimaryKey: false;
81
- isAutoincrement: false;
82
- hasRuntimeDefault: false;
83
- enumValues: ["s3"];
84
- baseColumn: never;
85
- identity: undefined;
86
- generated: undefined;
87
- }, {}, {}>;
88
- bucket: drizzle_orm_pg_core0.PgColumn<{
89
- name: "bucket";
90
- tableName: "storage_assets";
91
- dataType: "string";
92
- columnType: "PgText";
93
- data: string;
94
- driverParam: string;
95
- notNull: true;
96
- hasDefault: false;
97
- isPrimaryKey: false;
98
- isAutoincrement: false;
99
- hasRuntimeDefault: false;
100
- enumValues: [string, ...string[]];
101
- baseColumn: never;
102
- identity: undefined;
103
- generated: undefined;
104
- }, {}, {}>;
105
- key: drizzle_orm_pg_core0.PgColumn<{
106
- name: "key";
107
- tableName: "storage_assets";
108
- dataType: "string";
109
- columnType: "PgText";
110
- data: string;
111
- driverParam: string;
112
- notNull: true;
113
- hasDefault: false;
114
- isPrimaryKey: false;
115
- isAutoincrement: false;
116
- hasRuntimeDefault: false;
117
- enumValues: [string, ...string[]];
118
- baseColumn: never;
119
- identity: undefined;
120
- generated: undefined;
121
- }, {}, {}>;
122
- status: drizzle_orm_pg_core0.PgColumn<{
123
- name: "status";
124
- tableName: "storage_assets";
125
- dataType: "string";
126
- columnType: "PgEnumColumn";
127
- data: "error" | "pending" | "ready";
128
- driverParam: string;
129
- notNull: true;
130
- hasDefault: false;
131
- isPrimaryKey: false;
132
- isAutoincrement: false;
133
- hasRuntimeDefault: false;
134
- enumValues: ["pending", "ready", "error"];
135
- baseColumn: never;
136
- identity: undefined;
137
- generated: undefined;
138
- }, {}, {}>;
139
- visibility: drizzle_orm_pg_core0.PgColumn<{
140
- name: "visibility";
141
- tableName: "storage_assets";
142
- dataType: "string";
143
- columnType: "PgEnumColumn";
144
- data: "private" | "public";
145
- driverParam: string;
146
- notNull: true;
147
- hasDefault: true;
148
- isPrimaryKey: false;
149
- isAutoincrement: false;
150
- hasRuntimeDefault: false;
151
- enumValues: ["private", "public"];
152
- baseColumn: never;
153
- identity: undefined;
154
- generated: undefined;
155
- }, {}, {}>;
156
- size: drizzle_orm_pg_core0.PgColumn<{
157
- name: "size";
158
- tableName: "storage_assets";
159
- dataType: "number";
160
- columnType: "PgInteger";
161
- data: number;
162
- driverParam: string | number;
163
- notNull: false;
164
- hasDefault: true;
165
- isPrimaryKey: false;
166
- isAutoincrement: false;
167
- hasRuntimeDefault: false;
168
- enumValues: undefined;
169
- baseColumn: never;
170
- identity: undefined;
171
- generated: undefined;
172
- }, {}, {}>;
173
- contentType: drizzle_orm_pg_core0.PgColumn<{
174
- name: "contentType";
175
- tableName: "storage_assets";
176
- dataType: "string";
177
- columnType: "PgVarchar";
178
- data: string;
179
- driverParam: string;
180
- notNull: false;
181
- hasDefault: false;
182
- isPrimaryKey: false;
183
- isAutoincrement: false;
184
- hasRuntimeDefault: false;
185
- enumValues: [string, ...string[]];
186
- baseColumn: never;
187
- identity: undefined;
188
- generated: undefined;
189
- }, {}, {
190
- length: 255;
191
- }>;
192
- uploadId: drizzle_orm_pg_core0.PgColumn<{
193
- name: "uploadId";
194
- tableName: "storage_assets";
195
- dataType: "string";
196
- columnType: "PgUUID";
197
- data: string;
198
- driverParam: string;
199
- notNull: true;
200
- hasDefault: true;
201
- isPrimaryKey: false;
202
- isAutoincrement: false;
203
- hasRuntimeDefault: false;
204
- enumValues: undefined;
205
- baseColumn: never;
206
- identity: undefined;
207
- generated: undefined;
208
- }, {}, {}>;
209
- name: drizzle_orm_pg_core0.PgColumn<{
210
- name: "name";
211
- tableName: "storage_assets";
212
- dataType: "string";
213
- columnType: "PgText";
214
- data: string;
215
- driverParam: string;
216
- notNull: false;
217
- hasDefault: false;
218
- isPrimaryKey: false;
219
- isAutoincrement: false;
220
- hasRuntimeDefault: false;
221
- enumValues: [string, ...string[]];
222
- baseColumn: never;
223
- identity: undefined;
224
- generated: undefined;
225
- }, {}, {}>;
226
- metadata: drizzle_orm_pg_core0.PgColumn<{
227
- name: "metadata";
228
- tableName: "storage_assets";
229
- dataType: "json";
230
- columnType: "PgJsonb";
231
- data: unknown;
232
- driverParam: unknown;
233
- notNull: false;
234
- hasDefault: false;
235
- isPrimaryKey: false;
236
- isAutoincrement: false;
237
- hasRuntimeDefault: false;
238
- enumValues: undefined;
239
- baseColumn: never;
240
- identity: undefined;
241
- generated: undefined;
242
- }, {}, {}>;
243
- etag: drizzle_orm_pg_core0.PgColumn<{
244
- name: "etag";
245
- tableName: "storage_assets";
246
- dataType: "string";
247
- columnType: "PgText";
248
- data: string;
249
- driverParam: string;
250
- notNull: false;
251
- hasDefault: false;
252
- isPrimaryKey: false;
253
- isAutoincrement: false;
254
- hasRuntimeDefault: false;
255
- enumValues: [string, ...string[]];
256
- baseColumn: never;
257
- identity: undefined;
258
- generated: undefined;
259
- }, {}, {}>;
260
- uploadedAt: drizzle_orm_pg_core0.PgColumn<{
261
- name: "uploadedAt";
262
- tableName: "storage_assets";
263
- dataType: "date";
264
- columnType: "PgTimestamp";
265
- data: Date;
266
- driverParam: string;
267
- notNull: true;
268
- hasDefault: true;
269
- isPrimaryKey: false;
270
- isAutoincrement: false;
271
- hasRuntimeDefault: false;
272
- enumValues: undefined;
273
- baseColumn: never;
274
- identity: undefined;
275
- generated: undefined;
276
- }, {}, {}>;
277
- deletedAt: drizzle_orm_pg_core0.PgColumn<{
278
- name: "deletedAt";
279
- tableName: "storage_assets";
280
- dataType: "date";
281
- columnType: "PgTimestamp";
282
- data: Date;
283
- driverParam: string;
284
- notNull: false;
285
- hasDefault: false;
286
- isPrimaryKey: false;
287
- isAutoincrement: false;
288
- hasRuntimeDefault: false;
289
- enumValues: undefined;
290
- baseColumn: never;
291
- identity: undefined;
292
- generated: undefined;
293
- }, {}, {}>;
294
- id: drizzle_orm_pg_core0.PgColumn<{
295
- name: "id";
296
- tableName: "storage_assets";
297
- dataType: "string";
298
- columnType: "PgUUID";
299
- data: string;
300
- driverParam: string;
301
- notNull: true;
302
- hasDefault: true;
303
- isPrimaryKey: true;
304
- isAutoincrement: false;
305
- hasRuntimeDefault: true;
306
- enumValues: undefined;
307
- baseColumn: never;
308
- identity: undefined;
309
- generated: undefined;
310
- }, {}, {}>;
311
- createdAt: drizzle_orm_pg_core0.PgColumn<{
312
- name: "createdAt";
313
- tableName: "storage_assets";
314
- dataType: "date";
315
- columnType: "PgTimestamp";
316
- data: Date;
317
- driverParam: string;
318
- notNull: true;
319
- hasDefault: true;
320
- isPrimaryKey: false;
321
- isAutoincrement: false;
322
- hasRuntimeDefault: false;
323
- enumValues: undefined;
324
- baseColumn: never;
325
- identity: undefined;
326
- generated: undefined;
327
- }, {}, {}>;
328
- updatedAt: drizzle_orm_pg_core0.PgColumn<{
329
- name: "updatedAt";
330
- tableName: "storage_assets";
331
- dataType: "date";
332
- columnType: "PgTimestamp";
333
- data: Date;
334
- driverParam: string;
335
- notNull: true;
336
- hasDefault: true;
337
- isPrimaryKey: false;
338
- isAutoincrement: false;
339
- hasRuntimeDefault: false;
340
- enumValues: undefined;
341
- baseColumn: never;
342
- identity: undefined;
343
- generated: undefined;
344
- }, {}, {}>;
345
- }, "single", Record<"storage_assets", "not-null">, true, never, {
346
- provider: "s3";
347
- bucket: string;
348
- key: string;
349
- status: "error" | "pending" | "ready";
350
- visibility: "private" | "public";
351
- size: number | null;
352
- contentType: string | null;
353
- uploadId: string;
354
- name: string | null;
355
- metadata: unknown;
356
- etag: string | null;
357
- uploadedAt: Date;
358
- deletedAt: Date | null;
359
- id: string;
360
- createdAt: Date;
361
- updatedAt: Date;
362
- }[], {
363
- provider: drizzle_orm_pg_core0.PgColumn<{
364
- name: "provider";
365
- tableName: "storage_assets";
366
- dataType: "string";
367
- columnType: "PgText";
368
- data: "s3";
369
- driverParam: string;
370
- notNull: true;
371
- hasDefault: false;
372
- isPrimaryKey: false;
373
- isAutoincrement: false;
374
- hasRuntimeDefault: false;
375
- enumValues: ["s3"];
376
- baseColumn: never;
377
- identity: undefined;
378
- generated: undefined;
379
- }, {}, {}>;
380
- bucket: drizzle_orm_pg_core0.PgColumn<{
381
- name: "bucket";
382
- tableName: "storage_assets";
383
- dataType: "string";
384
- columnType: "PgText";
385
- data: string;
386
- driverParam: string;
387
- notNull: true;
388
- hasDefault: false;
389
- isPrimaryKey: false;
390
- isAutoincrement: false;
391
- hasRuntimeDefault: false;
392
- enumValues: [string, ...string[]];
393
- baseColumn: never;
394
- identity: undefined;
395
- generated: undefined;
396
- }, {}, {}>;
397
- key: drizzle_orm_pg_core0.PgColumn<{
398
- name: "key";
399
- tableName: "storage_assets";
400
- dataType: "string";
401
- columnType: "PgText";
402
- data: string;
403
- driverParam: string;
404
- notNull: true;
405
- hasDefault: false;
406
- isPrimaryKey: false;
407
- isAutoincrement: false;
408
- hasRuntimeDefault: false;
409
- enumValues: [string, ...string[]];
410
- baseColumn: never;
411
- identity: undefined;
412
- generated: undefined;
413
- }, {}, {}>;
414
- status: drizzle_orm_pg_core0.PgColumn<{
415
- name: "status";
416
- tableName: "storage_assets";
417
- dataType: "string";
418
- columnType: "PgEnumColumn";
419
- data: "error" | "pending" | "ready";
420
- driverParam: string;
421
- notNull: true;
422
- hasDefault: false;
423
- isPrimaryKey: false;
424
- isAutoincrement: false;
425
- hasRuntimeDefault: false;
426
- enumValues: ["pending", "ready", "error"];
427
- baseColumn: never;
428
- identity: undefined;
429
- generated: undefined;
430
- }, {}, {}>;
431
- visibility: drizzle_orm_pg_core0.PgColumn<{
432
- name: "visibility";
433
- tableName: "storage_assets";
434
- dataType: "string";
435
- columnType: "PgEnumColumn";
436
- data: "private" | "public";
437
- driverParam: string;
438
- notNull: true;
439
- hasDefault: true;
440
- isPrimaryKey: false;
441
- isAutoincrement: false;
442
- hasRuntimeDefault: false;
443
- enumValues: ["private", "public"];
444
- baseColumn: never;
445
- identity: undefined;
446
- generated: undefined;
447
- }, {}, {}>;
448
- size: drizzle_orm_pg_core0.PgColumn<{
449
- name: "size";
450
- tableName: "storage_assets";
451
- dataType: "number";
452
- columnType: "PgInteger";
453
- data: number;
454
- driverParam: string | number;
455
- notNull: false;
456
- hasDefault: true;
457
- isPrimaryKey: false;
458
- isAutoincrement: false;
459
- hasRuntimeDefault: false;
460
- enumValues: undefined;
461
- baseColumn: never;
462
- identity: undefined;
463
- generated: undefined;
464
- }, {}, {}>;
465
- contentType: drizzle_orm_pg_core0.PgColumn<{
466
- name: "contentType";
467
- tableName: "storage_assets";
468
- dataType: "string";
469
- columnType: "PgVarchar";
470
- data: string;
471
- driverParam: string;
472
- notNull: false;
473
- hasDefault: false;
474
- isPrimaryKey: false;
475
- isAutoincrement: false;
476
- hasRuntimeDefault: false;
477
- enumValues: [string, ...string[]];
478
- baseColumn: never;
479
- identity: undefined;
480
- generated: undefined;
481
- }, {}, {
482
- length: 255;
483
- }>;
484
- uploadId: drizzle_orm_pg_core0.PgColumn<{
485
- name: "uploadId";
486
- tableName: "storage_assets";
487
- dataType: "string";
488
- columnType: "PgUUID";
489
- data: string;
490
- driverParam: string;
491
- notNull: true;
492
- hasDefault: true;
493
- isPrimaryKey: false;
494
- isAutoincrement: false;
495
- hasRuntimeDefault: false;
496
- enumValues: undefined;
497
- baseColumn: never;
498
- identity: undefined;
499
- generated: undefined;
500
- }, {}, {}>;
501
- name: drizzle_orm_pg_core0.PgColumn<{
502
- name: "name";
503
- tableName: "storage_assets";
504
- dataType: "string";
505
- columnType: "PgText";
506
- data: string;
507
- driverParam: string;
508
- notNull: false;
509
- hasDefault: false;
510
- isPrimaryKey: false;
511
- isAutoincrement: false;
512
- hasRuntimeDefault: false;
513
- enumValues: [string, ...string[]];
514
- baseColumn: never;
515
- identity: undefined;
516
- generated: undefined;
517
- }, {}, {}>;
518
- metadata: drizzle_orm_pg_core0.PgColumn<{
519
- name: "metadata";
520
- tableName: "storage_assets";
521
- dataType: "json";
522
- columnType: "PgJsonb";
523
- data: unknown;
524
- driverParam: unknown;
525
- notNull: false;
526
- hasDefault: false;
527
- isPrimaryKey: false;
528
- isAutoincrement: false;
529
- hasRuntimeDefault: false;
530
- enumValues: undefined;
531
- baseColumn: never;
532
- identity: undefined;
533
- generated: undefined;
534
- }, {}, {}>;
535
- etag: drizzle_orm_pg_core0.PgColumn<{
536
- name: "etag";
537
- tableName: "storage_assets";
538
- dataType: "string";
539
- columnType: "PgText";
540
- data: string;
541
- driverParam: string;
542
- notNull: false;
543
- hasDefault: false;
544
- isPrimaryKey: false;
545
- isAutoincrement: false;
546
- hasRuntimeDefault: false;
547
- enumValues: [string, ...string[]];
548
- baseColumn: never;
549
- identity: undefined;
550
- generated: undefined;
551
- }, {}, {}>;
552
- uploadedAt: drizzle_orm_pg_core0.PgColumn<{
553
- name: "uploadedAt";
554
- tableName: "storage_assets";
555
- dataType: "date";
556
- columnType: "PgTimestamp";
557
- data: Date;
558
- driverParam: string;
559
- notNull: true;
560
- hasDefault: true;
561
- isPrimaryKey: false;
562
- isAutoincrement: false;
563
- hasRuntimeDefault: false;
564
- enumValues: undefined;
565
- baseColumn: never;
566
- identity: undefined;
567
- generated: undefined;
568
- }, {}, {}>;
569
- deletedAt: drizzle_orm_pg_core0.PgColumn<{
570
- name: "deletedAt";
571
- tableName: "storage_assets";
572
- dataType: "date";
573
- columnType: "PgTimestamp";
574
- data: Date;
575
- driverParam: string;
576
- notNull: false;
577
- hasDefault: false;
578
- isPrimaryKey: false;
579
- isAutoincrement: false;
580
- hasRuntimeDefault: false;
581
- enumValues: undefined;
582
- baseColumn: never;
583
- identity: undefined;
584
- generated: undefined;
585
- }, {}, {}>;
586
- id: drizzle_orm_pg_core0.PgColumn<{
587
- name: "id";
588
- tableName: "storage_assets";
589
- dataType: "string";
590
- columnType: "PgUUID";
591
- data: string;
592
- driverParam: string;
593
- notNull: true;
594
- hasDefault: true;
595
- isPrimaryKey: true;
596
- isAutoincrement: false;
597
- hasRuntimeDefault: true;
598
- enumValues: undefined;
599
- baseColumn: never;
600
- identity: undefined;
601
- generated: undefined;
602
- }, {}, {}>;
603
- createdAt: drizzle_orm_pg_core0.PgColumn<{
604
- name: "createdAt";
605
- tableName: "storage_assets";
606
- dataType: "date";
607
- columnType: "PgTimestamp";
608
- data: Date;
609
- driverParam: string;
610
- notNull: true;
611
- hasDefault: true;
612
- isPrimaryKey: false;
613
- isAutoincrement: false;
614
- hasRuntimeDefault: false;
615
- enumValues: undefined;
616
- baseColumn: never;
617
- identity: undefined;
618
- generated: undefined;
619
- }, {}, {}>;
620
- updatedAt: drizzle_orm_pg_core0.PgColumn<{
621
- name: "updatedAt";
622
- tableName: "storage_assets";
623
- dataType: "date";
624
- columnType: "PgTimestamp";
625
- data: Date;
626
- driverParam: string;
627
- notNull: true;
628
- hasDefault: true;
629
- isPrimaryKey: false;
630
- isAutoincrement: false;
631
- hasRuntimeDefault: false;
632
- enumValues: undefined;
633
- baseColumn: never;
634
- identity: undefined;
635
- generated: undefined;
636
- }, {}, {}>;
637
- }>;
638
- /**
639
- * Fetches a storage asset by its ID.
640
- * @param id - The asset ID to retrieve
641
- * @returns The asset object if found, otherwise null
642
- * @example
643
- * const asset = await storageService.getAssetById("asset-123");
644
- * if (asset) {
645
- * console.log(asset.key, asset.contentType);
646
- * }
647
- */
648
- getAssetById(id: string): Promise<{
649
- provider: "s3";
650
- bucket: string;
651
- key: string;
652
- status: "error" | "pending" | "ready";
653
- visibility: "private" | "public";
654
- size: number | null;
655
- contentType: string | null;
656
- uploadId: string;
657
- name: string | null;
658
- metadata: unknown;
659
- etag: string | null;
660
- uploadedAt: Date;
661
- deletedAt: Date | null;
662
- id: string;
663
- createdAt: Date;
664
- updatedAt: Date;
665
- } | null>;
666
- /**
667
- * Builds a query to fetch a single ready storage asset by key
668
- * within the current adapter provider scope.
669
- *
670
- * Notes:
671
- * - Scoped to `this.#adapter.key` to avoid cross-provider leakage.
672
- * - Targets ready assets by default.
673
- * - Uniqueness is expected on `(provider, bucket, key)`.
674
- *
675
- * @param key - The object key stored in `storage_assets.key`
676
- * @returns A dynamic Drizzle query returning max 1 row
677
- * @example
678
- * let query = storageService.getAssetByKeyQuery("uploads/abc/main");
679
- * query = query.leftJoin(otherTable, eq(otherTable.assetId, storageAssets.id));
680
- * const [asset] = await query;
681
- */
682
- getAssetByKeyQuery(key: string): drizzle_orm_pg_core0.PgSelectBase<"storage_assets", {
683
- provider: drizzle_orm_pg_core0.PgColumn<{
684
- name: "provider";
685
- tableName: "storage_assets";
686
- dataType: "string";
687
- columnType: "PgText";
688
- data: "s3";
689
- driverParam: string;
690
- notNull: true;
691
- hasDefault: false;
692
- isPrimaryKey: false;
693
- isAutoincrement: false;
694
- hasRuntimeDefault: false;
695
- enumValues: ["s3"];
696
- baseColumn: never;
697
- identity: undefined;
698
- generated: undefined;
699
- }, {}, {}>;
700
- bucket: drizzle_orm_pg_core0.PgColumn<{
701
- name: "bucket";
702
- tableName: "storage_assets";
703
- dataType: "string";
704
- columnType: "PgText";
705
- data: string;
706
- driverParam: string;
707
- notNull: true;
708
- hasDefault: false;
709
- isPrimaryKey: false;
710
- isAutoincrement: false;
711
- hasRuntimeDefault: false;
712
- enumValues: [string, ...string[]];
713
- baseColumn: never;
714
- identity: undefined;
715
- generated: undefined;
716
- }, {}, {}>;
717
- key: drizzle_orm_pg_core0.PgColumn<{
718
- name: "key";
719
- tableName: "storage_assets";
720
- dataType: "string";
721
- columnType: "PgText";
722
- data: string;
723
- driverParam: string;
724
- notNull: true;
725
- hasDefault: false;
726
- isPrimaryKey: false;
727
- isAutoincrement: false;
728
- hasRuntimeDefault: false;
729
- enumValues: [string, ...string[]];
730
- baseColumn: never;
731
- identity: undefined;
732
- generated: undefined;
733
- }, {}, {}>;
734
- status: drizzle_orm_pg_core0.PgColumn<{
735
- name: "status";
736
- tableName: "storage_assets";
737
- dataType: "string";
738
- columnType: "PgEnumColumn";
739
- data: "error" | "pending" | "ready";
740
- driverParam: string;
741
- notNull: true;
742
- hasDefault: false;
743
- isPrimaryKey: false;
744
- isAutoincrement: false;
745
- hasRuntimeDefault: false;
746
- enumValues: ["pending", "ready", "error"];
747
- baseColumn: never;
748
- identity: undefined;
749
- generated: undefined;
750
- }, {}, {}>;
751
- visibility: drizzle_orm_pg_core0.PgColumn<{
752
- name: "visibility";
753
- tableName: "storage_assets";
754
- dataType: "string";
755
- columnType: "PgEnumColumn";
756
- data: "private" | "public";
757
- driverParam: string;
758
- notNull: true;
759
- hasDefault: true;
760
- isPrimaryKey: false;
761
- isAutoincrement: false;
762
- hasRuntimeDefault: false;
763
- enumValues: ["private", "public"];
764
- baseColumn: never;
765
- identity: undefined;
766
- generated: undefined;
767
- }, {}, {}>;
768
- size: drizzle_orm_pg_core0.PgColumn<{
769
- name: "size";
770
- tableName: "storage_assets";
771
- dataType: "number";
772
- columnType: "PgInteger";
773
- data: number;
774
- driverParam: string | number;
775
- notNull: false;
776
- hasDefault: true;
777
- isPrimaryKey: false;
778
- isAutoincrement: false;
779
- hasRuntimeDefault: false;
780
- enumValues: undefined;
781
- baseColumn: never;
782
- identity: undefined;
783
- generated: undefined;
784
- }, {}, {}>;
785
- contentType: drizzle_orm_pg_core0.PgColumn<{
786
- name: "contentType";
787
- tableName: "storage_assets";
788
- dataType: "string";
789
- columnType: "PgVarchar";
790
- data: string;
791
- driverParam: string;
792
- notNull: false;
793
- hasDefault: false;
794
- isPrimaryKey: false;
795
- isAutoincrement: false;
796
- hasRuntimeDefault: false;
797
- enumValues: [string, ...string[]];
798
- baseColumn: never;
799
- identity: undefined;
800
- generated: undefined;
801
- }, {}, {
802
- length: 255;
803
- }>;
804
- uploadId: drizzle_orm_pg_core0.PgColumn<{
805
- name: "uploadId";
806
- tableName: "storage_assets";
807
- dataType: "string";
808
- columnType: "PgUUID";
809
- data: string;
810
- driverParam: string;
811
- notNull: true;
812
- hasDefault: true;
813
- isPrimaryKey: false;
814
- isAutoincrement: false;
815
- hasRuntimeDefault: false;
816
- enumValues: undefined;
817
- baseColumn: never;
818
- identity: undefined;
819
- generated: undefined;
820
- }, {}, {}>;
821
- name: drizzle_orm_pg_core0.PgColumn<{
822
- name: "name";
823
- tableName: "storage_assets";
824
- dataType: "string";
825
- columnType: "PgText";
826
- data: string;
827
- driverParam: string;
828
- notNull: false;
829
- hasDefault: false;
830
- isPrimaryKey: false;
831
- isAutoincrement: false;
832
- hasRuntimeDefault: false;
833
- enumValues: [string, ...string[]];
834
- baseColumn: never;
835
- identity: undefined;
836
- generated: undefined;
837
- }, {}, {}>;
838
- metadata: drizzle_orm_pg_core0.PgColumn<{
839
- name: "metadata";
840
- tableName: "storage_assets";
841
- dataType: "json";
842
- columnType: "PgJsonb";
843
- data: unknown;
844
- driverParam: unknown;
845
- notNull: false;
846
- hasDefault: false;
847
- isPrimaryKey: false;
848
- isAutoincrement: false;
849
- hasRuntimeDefault: false;
850
- enumValues: undefined;
851
- baseColumn: never;
852
- identity: undefined;
853
- generated: undefined;
854
- }, {}, {}>;
855
- etag: drizzle_orm_pg_core0.PgColumn<{
856
- name: "etag";
857
- tableName: "storage_assets";
858
- dataType: "string";
859
- columnType: "PgText";
860
- data: string;
861
- driverParam: string;
862
- notNull: false;
863
- hasDefault: false;
864
- isPrimaryKey: false;
865
- isAutoincrement: false;
866
- hasRuntimeDefault: false;
867
- enumValues: [string, ...string[]];
868
- baseColumn: never;
869
- identity: undefined;
870
- generated: undefined;
871
- }, {}, {}>;
872
- uploadedAt: drizzle_orm_pg_core0.PgColumn<{
873
- name: "uploadedAt";
874
- tableName: "storage_assets";
875
- dataType: "date";
876
- columnType: "PgTimestamp";
877
- data: Date;
878
- driverParam: string;
879
- notNull: true;
880
- hasDefault: true;
881
- isPrimaryKey: false;
882
- isAutoincrement: false;
883
- hasRuntimeDefault: false;
884
- enumValues: undefined;
885
- baseColumn: never;
886
- identity: undefined;
887
- generated: undefined;
888
- }, {}, {}>;
889
- deletedAt: drizzle_orm_pg_core0.PgColumn<{
890
- name: "deletedAt";
891
- tableName: "storage_assets";
892
- dataType: "date";
893
- columnType: "PgTimestamp";
894
- data: Date;
895
- driverParam: string;
896
- notNull: false;
897
- hasDefault: false;
898
- isPrimaryKey: false;
899
- isAutoincrement: false;
900
- hasRuntimeDefault: false;
901
- enumValues: undefined;
902
- baseColumn: never;
903
- identity: undefined;
904
- generated: undefined;
905
- }, {}, {}>;
906
- id: drizzle_orm_pg_core0.PgColumn<{
907
- name: "id";
908
- tableName: "storage_assets";
909
- dataType: "string";
910
- columnType: "PgUUID";
911
- data: string;
912
- driverParam: string;
913
- notNull: true;
914
- hasDefault: true;
915
- isPrimaryKey: true;
916
- isAutoincrement: false;
917
- hasRuntimeDefault: true;
918
- enumValues: undefined;
919
- baseColumn: never;
920
- identity: undefined;
921
- generated: undefined;
922
- }, {}, {}>;
923
- createdAt: drizzle_orm_pg_core0.PgColumn<{
924
- name: "createdAt";
925
- tableName: "storage_assets";
926
- dataType: "date";
927
- columnType: "PgTimestamp";
928
- data: Date;
929
- driverParam: string;
930
- notNull: true;
931
- hasDefault: true;
932
- isPrimaryKey: false;
933
- isAutoincrement: false;
934
- hasRuntimeDefault: false;
935
- enumValues: undefined;
936
- baseColumn: never;
937
- identity: undefined;
938
- generated: undefined;
939
- }, {}, {}>;
940
- updatedAt: drizzle_orm_pg_core0.PgColumn<{
941
- name: "updatedAt";
942
- tableName: "storage_assets";
943
- dataType: "date";
944
- columnType: "PgTimestamp";
945
- data: Date;
946
- driverParam: string;
947
- notNull: true;
948
- hasDefault: true;
949
- isPrimaryKey: false;
950
- isAutoincrement: false;
951
- hasRuntimeDefault: false;
952
- enumValues: undefined;
953
- baseColumn: never;
954
- identity: undefined;
955
- generated: undefined;
956
- }, {}, {}>;
957
- }, "single", Record<"storage_assets", "not-null">, true, never, {
958
- provider: "s3";
959
- bucket: string;
960
- key: string;
961
- status: "error" | "pending" | "ready";
962
- visibility: "private" | "public";
963
- size: number | null;
964
- contentType: string | null;
965
- uploadId: string;
966
- name: string | null;
967
- metadata: unknown;
968
- etag: string | null;
969
- uploadedAt: Date;
970
- deletedAt: Date | null;
971
- id: string;
972
- createdAt: Date;
973
- updatedAt: Date;
974
- }[], {
975
- provider: drizzle_orm_pg_core0.PgColumn<{
976
- name: "provider";
977
- tableName: "storage_assets";
978
- dataType: "string";
979
- columnType: "PgText";
980
- data: "s3";
981
- driverParam: string;
982
- notNull: true;
983
- hasDefault: false;
984
- isPrimaryKey: false;
985
- isAutoincrement: false;
986
- hasRuntimeDefault: false;
987
- enumValues: ["s3"];
988
- baseColumn: never;
989
- identity: undefined;
990
- generated: undefined;
991
- }, {}, {}>;
992
- bucket: drizzle_orm_pg_core0.PgColumn<{
993
- name: "bucket";
994
- tableName: "storage_assets";
995
- dataType: "string";
996
- columnType: "PgText";
997
- data: string;
998
- driverParam: string;
999
- notNull: true;
1000
- hasDefault: false;
1001
- isPrimaryKey: false;
1002
- isAutoincrement: false;
1003
- hasRuntimeDefault: false;
1004
- enumValues: [string, ...string[]];
1005
- baseColumn: never;
1006
- identity: undefined;
1007
- generated: undefined;
1008
- }, {}, {}>;
1009
- key: drizzle_orm_pg_core0.PgColumn<{
1010
- name: "key";
1011
- tableName: "storage_assets";
1012
- dataType: "string";
1013
- columnType: "PgText";
1014
- data: string;
1015
- driverParam: string;
1016
- notNull: true;
1017
- hasDefault: false;
1018
- isPrimaryKey: false;
1019
- isAutoincrement: false;
1020
- hasRuntimeDefault: false;
1021
- enumValues: [string, ...string[]];
1022
- baseColumn: never;
1023
- identity: undefined;
1024
- generated: undefined;
1025
- }, {}, {}>;
1026
- status: drizzle_orm_pg_core0.PgColumn<{
1027
- name: "status";
1028
- tableName: "storage_assets";
1029
- dataType: "string";
1030
- columnType: "PgEnumColumn";
1031
- data: "error" | "pending" | "ready";
1032
- driverParam: string;
1033
- notNull: true;
1034
- hasDefault: false;
1035
- isPrimaryKey: false;
1036
- isAutoincrement: false;
1037
- hasRuntimeDefault: false;
1038
- enumValues: ["pending", "ready", "error"];
1039
- baseColumn: never;
1040
- identity: undefined;
1041
- generated: undefined;
1042
- }, {}, {}>;
1043
- visibility: drizzle_orm_pg_core0.PgColumn<{
1044
- name: "visibility";
1045
- tableName: "storage_assets";
1046
- dataType: "string";
1047
- columnType: "PgEnumColumn";
1048
- data: "private" | "public";
1049
- driverParam: string;
1050
- notNull: true;
1051
- hasDefault: true;
1052
- isPrimaryKey: false;
1053
- isAutoincrement: false;
1054
- hasRuntimeDefault: false;
1055
- enumValues: ["private", "public"];
1056
- baseColumn: never;
1057
- identity: undefined;
1058
- generated: undefined;
1059
- }, {}, {}>;
1060
- size: drizzle_orm_pg_core0.PgColumn<{
1061
- name: "size";
1062
- tableName: "storage_assets";
1063
- dataType: "number";
1064
- columnType: "PgInteger";
1065
- data: number;
1066
- driverParam: string | number;
1067
- notNull: false;
1068
- hasDefault: true;
1069
- isPrimaryKey: false;
1070
- isAutoincrement: false;
1071
- hasRuntimeDefault: false;
1072
- enumValues: undefined;
1073
- baseColumn: never;
1074
- identity: undefined;
1075
- generated: undefined;
1076
- }, {}, {}>;
1077
- contentType: drizzle_orm_pg_core0.PgColumn<{
1078
- name: "contentType";
1079
- tableName: "storage_assets";
1080
- dataType: "string";
1081
- columnType: "PgVarchar";
1082
- data: string;
1083
- driverParam: string;
1084
- notNull: false;
1085
- hasDefault: false;
1086
- isPrimaryKey: false;
1087
- isAutoincrement: false;
1088
- hasRuntimeDefault: false;
1089
- enumValues: [string, ...string[]];
1090
- baseColumn: never;
1091
- identity: undefined;
1092
- generated: undefined;
1093
- }, {}, {
1094
- length: 255;
1095
- }>;
1096
- uploadId: drizzle_orm_pg_core0.PgColumn<{
1097
- name: "uploadId";
1098
- tableName: "storage_assets";
1099
- dataType: "string";
1100
- columnType: "PgUUID";
1101
- data: string;
1102
- driverParam: string;
1103
- notNull: true;
1104
- hasDefault: true;
1105
- isPrimaryKey: false;
1106
- isAutoincrement: false;
1107
- hasRuntimeDefault: false;
1108
- enumValues: undefined;
1109
- baseColumn: never;
1110
- identity: undefined;
1111
- generated: undefined;
1112
- }, {}, {}>;
1113
- name: drizzle_orm_pg_core0.PgColumn<{
1114
- name: "name";
1115
- tableName: "storage_assets";
1116
- dataType: "string";
1117
- columnType: "PgText";
1118
- data: string;
1119
- driverParam: string;
1120
- notNull: false;
1121
- hasDefault: false;
1122
- isPrimaryKey: false;
1123
- isAutoincrement: false;
1124
- hasRuntimeDefault: false;
1125
- enumValues: [string, ...string[]];
1126
- baseColumn: never;
1127
- identity: undefined;
1128
- generated: undefined;
1129
- }, {}, {}>;
1130
- metadata: drizzle_orm_pg_core0.PgColumn<{
1131
- name: "metadata";
1132
- tableName: "storage_assets";
1133
- dataType: "json";
1134
- columnType: "PgJsonb";
1135
- data: unknown;
1136
- driverParam: unknown;
1137
- notNull: false;
1138
- hasDefault: false;
1139
- isPrimaryKey: false;
1140
- isAutoincrement: false;
1141
- hasRuntimeDefault: false;
1142
- enumValues: undefined;
1143
- baseColumn: never;
1144
- identity: undefined;
1145
- generated: undefined;
1146
- }, {}, {}>;
1147
- etag: drizzle_orm_pg_core0.PgColumn<{
1148
- name: "etag";
1149
- tableName: "storage_assets";
1150
- dataType: "string";
1151
- columnType: "PgText";
1152
- data: string;
1153
- driverParam: string;
1154
- notNull: false;
1155
- hasDefault: false;
1156
- isPrimaryKey: false;
1157
- isAutoincrement: false;
1158
- hasRuntimeDefault: false;
1159
- enumValues: [string, ...string[]];
1160
- baseColumn: never;
1161
- identity: undefined;
1162
- generated: undefined;
1163
- }, {}, {}>;
1164
- uploadedAt: drizzle_orm_pg_core0.PgColumn<{
1165
- name: "uploadedAt";
1166
- tableName: "storage_assets";
1167
- dataType: "date";
1168
- columnType: "PgTimestamp";
1169
- data: Date;
1170
- driverParam: string;
1171
- notNull: true;
1172
- hasDefault: true;
1173
- isPrimaryKey: false;
1174
- isAutoincrement: false;
1175
- hasRuntimeDefault: false;
1176
- enumValues: undefined;
1177
- baseColumn: never;
1178
- identity: undefined;
1179
- generated: undefined;
1180
- }, {}, {}>;
1181
- deletedAt: drizzle_orm_pg_core0.PgColumn<{
1182
- name: "deletedAt";
1183
- tableName: "storage_assets";
1184
- dataType: "date";
1185
- columnType: "PgTimestamp";
1186
- data: Date;
1187
- driverParam: string;
1188
- notNull: false;
1189
- hasDefault: false;
1190
- isPrimaryKey: false;
1191
- isAutoincrement: false;
1192
- hasRuntimeDefault: false;
1193
- enumValues: undefined;
1194
- baseColumn: never;
1195
- identity: undefined;
1196
- generated: undefined;
1197
- }, {}, {}>;
1198
- id: drizzle_orm_pg_core0.PgColumn<{
1199
- name: "id";
1200
- tableName: "storage_assets";
1201
- dataType: "string";
1202
- columnType: "PgUUID";
1203
- data: string;
1204
- driverParam: string;
1205
- notNull: true;
1206
- hasDefault: true;
1207
- isPrimaryKey: true;
1208
- isAutoincrement: false;
1209
- hasRuntimeDefault: true;
1210
- enumValues: undefined;
1211
- baseColumn: never;
1212
- identity: undefined;
1213
- generated: undefined;
1214
- }, {}, {}>;
1215
- createdAt: drizzle_orm_pg_core0.PgColumn<{
1216
- name: "createdAt";
1217
- tableName: "storage_assets";
1218
- dataType: "date";
1219
- columnType: "PgTimestamp";
1220
- data: Date;
1221
- driverParam: string;
1222
- notNull: true;
1223
- hasDefault: true;
1224
- isPrimaryKey: false;
1225
- isAutoincrement: false;
1226
- hasRuntimeDefault: false;
1227
- enumValues: undefined;
1228
- baseColumn: never;
1229
- identity: undefined;
1230
- generated: undefined;
1231
- }, {}, {}>;
1232
- updatedAt: drizzle_orm_pg_core0.PgColumn<{
1233
- name: "updatedAt";
1234
- tableName: "storage_assets";
1235
- dataType: "date";
1236
- columnType: "PgTimestamp";
1237
- data: Date;
1238
- driverParam: string;
1239
- notNull: true;
1240
- hasDefault: true;
1241
- isPrimaryKey: false;
1242
- isAutoincrement: false;
1243
- hasRuntimeDefault: false;
1244
- enumValues: undefined;
1245
- baseColumn: never;
1246
- identity: undefined;
1247
- generated: undefined;
1248
- }, {}, {}>;
1249
- }>;
1250
- /**
1251
- * Fetches a single ready storage asset by key.
1252
- *
1253
- * This is the convenience wrapper around `getAssetByKeyQuery`.
1254
- * Use this when you only need the result, not query composition.
1255
- *
1256
- * @param key - Asset key to look up
1257
- * @returns The matching asset or `null` if none is found
1258
- * @example
1259
- * const asset = await storageService.getAssetByKey("uploads/abc/main");
1260
- * if (!asset) return;
1261
- */
1262
- getAssetByKey(key: string): Promise<{
1263
- provider: "s3";
1264
- bucket: string;
1265
- key: string;
1266
- status: "error" | "pending" | "ready";
1267
- visibility: "private" | "public";
1268
- size: number | null;
1269
- contentType: string | null;
1270
- uploadId: string;
1271
- name: string | null;
1272
- metadata: unknown;
1273
- etag: string | null;
1274
- uploadedAt: Date;
1275
- deletedAt: Date | null;
1276
- id: string;
1277
- createdAt: Date;
1278
- updatedAt: Date;
1279
- } | null>;
1280
- /**
1281
- * Builds a base query for listing storage assets.
1282
- *
1283
- * Scope and defaults:
1284
- * - Scoped to the current adapter provider (`this.#adapter.key`)
1285
- * - Orders by newest first (`createdAt DESC`)
1286
- *
1287
- * This method returns a dynamic query so callers can extend it with
1288
- * custom filters, joins, pagination, and limits.
1289
- *
1290
- * @returns A dynamic Drizzle query for listing assets
1291
- * @example
1292
- * const query = storageService
1293
- * .listAssetsQuery()
1294
- * .limit(50);
1295
- * const assets = await query;
1296
- */
1297
- listAssetsQuery(): drizzle_orm_pg_core0.PgSelectBase<"storage_assets", {
1298
- provider: drizzle_orm_pg_core0.PgColumn<{
1299
- name: "provider";
1300
- tableName: "storage_assets";
1301
- dataType: "string";
1302
- columnType: "PgText";
1303
- data: "s3";
1304
- driverParam: string;
1305
- notNull: true;
1306
- hasDefault: false;
1307
- isPrimaryKey: false;
1308
- isAutoincrement: false;
1309
- hasRuntimeDefault: false;
1310
- enumValues: ["s3"];
1311
- baseColumn: never;
1312
- identity: undefined;
1313
- generated: undefined;
1314
- }, {}, {}>;
1315
- bucket: drizzle_orm_pg_core0.PgColumn<{
1316
- name: "bucket";
1317
- tableName: "storage_assets";
1318
- dataType: "string";
1319
- columnType: "PgText";
1320
- data: string;
1321
- driverParam: string;
1322
- notNull: true;
1323
- hasDefault: false;
1324
- isPrimaryKey: false;
1325
- isAutoincrement: false;
1326
- hasRuntimeDefault: false;
1327
- enumValues: [string, ...string[]];
1328
- baseColumn: never;
1329
- identity: undefined;
1330
- generated: undefined;
1331
- }, {}, {}>;
1332
- key: drizzle_orm_pg_core0.PgColumn<{
1333
- name: "key";
1334
- tableName: "storage_assets";
1335
- dataType: "string";
1336
- columnType: "PgText";
1337
- data: string;
1338
- driverParam: string;
1339
- notNull: true;
1340
- hasDefault: false;
1341
- isPrimaryKey: false;
1342
- isAutoincrement: false;
1343
- hasRuntimeDefault: false;
1344
- enumValues: [string, ...string[]];
1345
- baseColumn: never;
1346
- identity: undefined;
1347
- generated: undefined;
1348
- }, {}, {}>;
1349
- status: drizzle_orm_pg_core0.PgColumn<{
1350
- name: "status";
1351
- tableName: "storage_assets";
1352
- dataType: "string";
1353
- columnType: "PgEnumColumn";
1354
- data: "error" | "pending" | "ready";
1355
- driverParam: string;
1356
- notNull: true;
1357
- hasDefault: false;
1358
- isPrimaryKey: false;
1359
- isAutoincrement: false;
1360
- hasRuntimeDefault: false;
1361
- enumValues: ["pending", "ready", "error"];
1362
- baseColumn: never;
1363
- identity: undefined;
1364
- generated: undefined;
1365
- }, {}, {}>;
1366
- visibility: drizzle_orm_pg_core0.PgColumn<{
1367
- name: "visibility";
1368
- tableName: "storage_assets";
1369
- dataType: "string";
1370
- columnType: "PgEnumColumn";
1371
- data: "private" | "public";
1372
- driverParam: string;
1373
- notNull: true;
1374
- hasDefault: true;
1375
- isPrimaryKey: false;
1376
- isAutoincrement: false;
1377
- hasRuntimeDefault: false;
1378
- enumValues: ["private", "public"];
1379
- baseColumn: never;
1380
- identity: undefined;
1381
- generated: undefined;
1382
- }, {}, {}>;
1383
- size: drizzle_orm_pg_core0.PgColumn<{
1384
- name: "size";
1385
- tableName: "storage_assets";
1386
- dataType: "number";
1387
- columnType: "PgInteger";
1388
- data: number;
1389
- driverParam: string | number;
1390
- notNull: false;
1391
- hasDefault: true;
1392
- isPrimaryKey: false;
1393
- isAutoincrement: false;
1394
- hasRuntimeDefault: false;
1395
- enumValues: undefined;
1396
- baseColumn: never;
1397
- identity: undefined;
1398
- generated: undefined;
1399
- }, {}, {}>;
1400
- contentType: drizzle_orm_pg_core0.PgColumn<{
1401
- name: "contentType";
1402
- tableName: "storage_assets";
1403
- dataType: "string";
1404
- columnType: "PgVarchar";
1405
- data: string;
1406
- driverParam: string;
1407
- notNull: false;
1408
- hasDefault: false;
1409
- isPrimaryKey: false;
1410
- isAutoincrement: false;
1411
- hasRuntimeDefault: false;
1412
- enumValues: [string, ...string[]];
1413
- baseColumn: never;
1414
- identity: undefined;
1415
- generated: undefined;
1416
- }, {}, {
1417
- length: 255;
1418
- }>;
1419
- uploadId: drizzle_orm_pg_core0.PgColumn<{
1420
- name: "uploadId";
1421
- tableName: "storage_assets";
1422
- dataType: "string";
1423
- columnType: "PgUUID";
1424
- data: string;
1425
- driverParam: string;
1426
- notNull: true;
1427
- hasDefault: true;
1428
- isPrimaryKey: false;
1429
- isAutoincrement: false;
1430
- hasRuntimeDefault: false;
1431
- enumValues: undefined;
1432
- baseColumn: never;
1433
- identity: undefined;
1434
- generated: undefined;
1435
- }, {}, {}>;
1436
- name: drizzle_orm_pg_core0.PgColumn<{
1437
- name: "name";
1438
- tableName: "storage_assets";
1439
- dataType: "string";
1440
- columnType: "PgText";
1441
- data: string;
1442
- driverParam: string;
1443
- notNull: false;
1444
- hasDefault: false;
1445
- isPrimaryKey: false;
1446
- isAutoincrement: false;
1447
- hasRuntimeDefault: false;
1448
- enumValues: [string, ...string[]];
1449
- baseColumn: never;
1450
- identity: undefined;
1451
- generated: undefined;
1452
- }, {}, {}>;
1453
- metadata: drizzle_orm_pg_core0.PgColumn<{
1454
- name: "metadata";
1455
- tableName: "storage_assets";
1456
- dataType: "json";
1457
- columnType: "PgJsonb";
1458
- data: unknown;
1459
- driverParam: unknown;
1460
- notNull: false;
1461
- hasDefault: false;
1462
- isPrimaryKey: false;
1463
- isAutoincrement: false;
1464
- hasRuntimeDefault: false;
1465
- enumValues: undefined;
1466
- baseColumn: never;
1467
- identity: undefined;
1468
- generated: undefined;
1469
- }, {}, {}>;
1470
- etag: drizzle_orm_pg_core0.PgColumn<{
1471
- name: "etag";
1472
- tableName: "storage_assets";
1473
- dataType: "string";
1474
- columnType: "PgText";
1475
- data: string;
1476
- driverParam: string;
1477
- notNull: false;
1478
- hasDefault: false;
1479
- isPrimaryKey: false;
1480
- isAutoincrement: false;
1481
- hasRuntimeDefault: false;
1482
- enumValues: [string, ...string[]];
1483
- baseColumn: never;
1484
- identity: undefined;
1485
- generated: undefined;
1486
- }, {}, {}>;
1487
- uploadedAt: drizzle_orm_pg_core0.PgColumn<{
1488
- name: "uploadedAt";
1489
- tableName: "storage_assets";
1490
- dataType: "date";
1491
- columnType: "PgTimestamp";
1492
- data: Date;
1493
- driverParam: string;
1494
- notNull: true;
1495
- hasDefault: true;
1496
- isPrimaryKey: false;
1497
- isAutoincrement: false;
1498
- hasRuntimeDefault: false;
1499
- enumValues: undefined;
1500
- baseColumn: never;
1501
- identity: undefined;
1502
- generated: undefined;
1503
- }, {}, {}>;
1504
- deletedAt: drizzle_orm_pg_core0.PgColumn<{
1505
- name: "deletedAt";
1506
- tableName: "storage_assets";
1507
- dataType: "date";
1508
- columnType: "PgTimestamp";
1509
- data: Date;
1510
- driverParam: string;
1511
- notNull: false;
1512
- hasDefault: false;
1513
- isPrimaryKey: false;
1514
- isAutoincrement: false;
1515
- hasRuntimeDefault: false;
1516
- enumValues: undefined;
1517
- baseColumn: never;
1518
- identity: undefined;
1519
- generated: undefined;
1520
- }, {}, {}>;
1521
- id: drizzle_orm_pg_core0.PgColumn<{
1522
- name: "id";
1523
- tableName: "storage_assets";
1524
- dataType: "string";
1525
- columnType: "PgUUID";
1526
- data: string;
1527
- driverParam: string;
1528
- notNull: true;
1529
- hasDefault: true;
1530
- isPrimaryKey: true;
1531
- isAutoincrement: false;
1532
- hasRuntimeDefault: true;
1533
- enumValues: undefined;
1534
- baseColumn: never;
1535
- identity: undefined;
1536
- generated: undefined;
1537
- }, {}, {}>;
1538
- createdAt: drizzle_orm_pg_core0.PgColumn<{
1539
- name: "createdAt";
1540
- tableName: "storage_assets";
1541
- dataType: "date";
1542
- columnType: "PgTimestamp";
1543
- data: Date;
1544
- driverParam: string;
1545
- notNull: true;
1546
- hasDefault: true;
1547
- isPrimaryKey: false;
1548
- isAutoincrement: false;
1549
- hasRuntimeDefault: false;
1550
- enumValues: undefined;
1551
- baseColumn: never;
1552
- identity: undefined;
1553
- generated: undefined;
1554
- }, {}, {}>;
1555
- updatedAt: drizzle_orm_pg_core0.PgColumn<{
1556
- name: "updatedAt";
1557
- tableName: "storage_assets";
1558
- dataType: "date";
1559
- columnType: "PgTimestamp";
1560
- data: Date;
1561
- driverParam: string;
1562
- notNull: true;
1563
- hasDefault: true;
1564
- isPrimaryKey: false;
1565
- isAutoincrement: false;
1566
- hasRuntimeDefault: false;
1567
- enumValues: undefined;
1568
- baseColumn: never;
1569
- identity: undefined;
1570
- generated: undefined;
1571
- }, {}, {}>;
1572
- }, "single", Record<"storage_assets", "not-null">, true, never, {
1573
- provider: "s3";
1574
- bucket: string;
1575
- key: string;
1576
- status: "error" | "pending" | "ready";
1577
- visibility: "private" | "public";
1578
- size: number | null;
1579
- contentType: string | null;
1580
- uploadId: string;
1581
- name: string | null;
1582
- metadata: unknown;
1583
- etag: string | null;
1584
- uploadedAt: Date;
1585
- deletedAt: Date | null;
1586
- id: string;
1587
- createdAt: Date;
1588
- updatedAt: Date;
1589
- }[], {
1590
- provider: drizzle_orm_pg_core0.PgColumn<{
1591
- name: "provider";
1592
- tableName: "storage_assets";
1593
- dataType: "string";
1594
- columnType: "PgText";
1595
- data: "s3";
1596
- driverParam: string;
1597
- notNull: true;
1598
- hasDefault: false;
1599
- isPrimaryKey: false;
1600
- isAutoincrement: false;
1601
- hasRuntimeDefault: false;
1602
- enumValues: ["s3"];
1603
- baseColumn: never;
1604
- identity: undefined;
1605
- generated: undefined;
1606
- }, {}, {}>;
1607
- bucket: drizzle_orm_pg_core0.PgColumn<{
1608
- name: "bucket";
1609
- tableName: "storage_assets";
1610
- dataType: "string";
1611
- columnType: "PgText";
1612
- data: string;
1613
- driverParam: string;
1614
- notNull: true;
1615
- hasDefault: false;
1616
- isPrimaryKey: false;
1617
- isAutoincrement: false;
1618
- hasRuntimeDefault: false;
1619
- enumValues: [string, ...string[]];
1620
- baseColumn: never;
1621
- identity: undefined;
1622
- generated: undefined;
1623
- }, {}, {}>;
1624
- key: drizzle_orm_pg_core0.PgColumn<{
1625
- name: "key";
1626
- tableName: "storage_assets";
1627
- dataType: "string";
1628
- columnType: "PgText";
1629
- data: string;
1630
- driverParam: string;
1631
- notNull: true;
1632
- hasDefault: false;
1633
- isPrimaryKey: false;
1634
- isAutoincrement: false;
1635
- hasRuntimeDefault: false;
1636
- enumValues: [string, ...string[]];
1637
- baseColumn: never;
1638
- identity: undefined;
1639
- generated: undefined;
1640
- }, {}, {}>;
1641
- status: drizzle_orm_pg_core0.PgColumn<{
1642
- name: "status";
1643
- tableName: "storage_assets";
1644
- dataType: "string";
1645
- columnType: "PgEnumColumn";
1646
- data: "error" | "pending" | "ready";
1647
- driverParam: string;
1648
- notNull: true;
1649
- hasDefault: false;
1650
- isPrimaryKey: false;
1651
- isAutoincrement: false;
1652
- hasRuntimeDefault: false;
1653
- enumValues: ["pending", "ready", "error"];
1654
- baseColumn: never;
1655
- identity: undefined;
1656
- generated: undefined;
1657
- }, {}, {}>;
1658
- visibility: drizzle_orm_pg_core0.PgColumn<{
1659
- name: "visibility";
1660
- tableName: "storage_assets";
1661
- dataType: "string";
1662
- columnType: "PgEnumColumn";
1663
- data: "private" | "public";
1664
- driverParam: string;
1665
- notNull: true;
1666
- hasDefault: true;
1667
- isPrimaryKey: false;
1668
- isAutoincrement: false;
1669
- hasRuntimeDefault: false;
1670
- enumValues: ["private", "public"];
1671
- baseColumn: never;
1672
- identity: undefined;
1673
- generated: undefined;
1674
- }, {}, {}>;
1675
- size: drizzle_orm_pg_core0.PgColumn<{
1676
- name: "size";
1677
- tableName: "storage_assets";
1678
- dataType: "number";
1679
- columnType: "PgInteger";
1680
- data: number;
1681
- driverParam: string | number;
1682
- notNull: false;
1683
- hasDefault: true;
1684
- isPrimaryKey: false;
1685
- isAutoincrement: false;
1686
- hasRuntimeDefault: false;
1687
- enumValues: undefined;
1688
- baseColumn: never;
1689
- identity: undefined;
1690
- generated: undefined;
1691
- }, {}, {}>;
1692
- contentType: drizzle_orm_pg_core0.PgColumn<{
1693
- name: "contentType";
1694
- tableName: "storage_assets";
1695
- dataType: "string";
1696
- columnType: "PgVarchar";
1697
- data: string;
1698
- driverParam: string;
1699
- notNull: false;
1700
- hasDefault: false;
1701
- isPrimaryKey: false;
1702
- isAutoincrement: false;
1703
- hasRuntimeDefault: false;
1704
- enumValues: [string, ...string[]];
1705
- baseColumn: never;
1706
- identity: undefined;
1707
- generated: undefined;
1708
- }, {}, {
1709
- length: 255;
1710
- }>;
1711
- uploadId: drizzle_orm_pg_core0.PgColumn<{
1712
- name: "uploadId";
1713
- tableName: "storage_assets";
1714
- dataType: "string";
1715
- columnType: "PgUUID";
1716
- data: string;
1717
- driverParam: string;
1718
- notNull: true;
1719
- hasDefault: true;
1720
- isPrimaryKey: false;
1721
- isAutoincrement: false;
1722
- hasRuntimeDefault: false;
1723
- enumValues: undefined;
1724
- baseColumn: never;
1725
- identity: undefined;
1726
- generated: undefined;
1727
- }, {}, {}>;
1728
- name: drizzle_orm_pg_core0.PgColumn<{
1729
- name: "name";
1730
- tableName: "storage_assets";
1731
- dataType: "string";
1732
- columnType: "PgText";
1733
- data: string;
1734
- driverParam: string;
1735
- notNull: false;
1736
- hasDefault: false;
1737
- isPrimaryKey: false;
1738
- isAutoincrement: false;
1739
- hasRuntimeDefault: false;
1740
- enumValues: [string, ...string[]];
1741
- baseColumn: never;
1742
- identity: undefined;
1743
- generated: undefined;
1744
- }, {}, {}>;
1745
- metadata: drizzle_orm_pg_core0.PgColumn<{
1746
- name: "metadata";
1747
- tableName: "storage_assets";
1748
- dataType: "json";
1749
- columnType: "PgJsonb";
1750
- data: unknown;
1751
- driverParam: unknown;
1752
- notNull: false;
1753
- hasDefault: false;
1754
- isPrimaryKey: false;
1755
- isAutoincrement: false;
1756
- hasRuntimeDefault: false;
1757
- enumValues: undefined;
1758
- baseColumn: never;
1759
- identity: undefined;
1760
- generated: undefined;
1761
- }, {}, {}>;
1762
- etag: drizzle_orm_pg_core0.PgColumn<{
1763
- name: "etag";
1764
- tableName: "storage_assets";
1765
- dataType: "string";
1766
- columnType: "PgText";
1767
- data: string;
1768
- driverParam: string;
1769
- notNull: false;
1770
- hasDefault: false;
1771
- isPrimaryKey: false;
1772
- isAutoincrement: false;
1773
- hasRuntimeDefault: false;
1774
- enumValues: [string, ...string[]];
1775
- baseColumn: never;
1776
- identity: undefined;
1777
- generated: undefined;
1778
- }, {}, {}>;
1779
- uploadedAt: drizzle_orm_pg_core0.PgColumn<{
1780
- name: "uploadedAt";
1781
- tableName: "storage_assets";
1782
- dataType: "date";
1783
- columnType: "PgTimestamp";
1784
- data: Date;
1785
- driverParam: string;
1786
- notNull: true;
1787
- hasDefault: true;
1788
- isPrimaryKey: false;
1789
- isAutoincrement: false;
1790
- hasRuntimeDefault: false;
1791
- enumValues: undefined;
1792
- baseColumn: never;
1793
- identity: undefined;
1794
- generated: undefined;
1795
- }, {}, {}>;
1796
- deletedAt: drizzle_orm_pg_core0.PgColumn<{
1797
- name: "deletedAt";
1798
- tableName: "storage_assets";
1799
- dataType: "date";
1800
- columnType: "PgTimestamp";
1801
- data: Date;
1802
- driverParam: string;
1803
- notNull: false;
1804
- hasDefault: false;
1805
- isPrimaryKey: false;
1806
- isAutoincrement: false;
1807
- hasRuntimeDefault: false;
1808
- enumValues: undefined;
1809
- baseColumn: never;
1810
- identity: undefined;
1811
- generated: undefined;
1812
- }, {}, {}>;
1813
- id: drizzle_orm_pg_core0.PgColumn<{
1814
- name: "id";
1815
- tableName: "storage_assets";
1816
- dataType: "string";
1817
- columnType: "PgUUID";
1818
- data: string;
1819
- driverParam: string;
1820
- notNull: true;
1821
- hasDefault: true;
1822
- isPrimaryKey: true;
1823
- isAutoincrement: false;
1824
- hasRuntimeDefault: true;
1825
- enumValues: undefined;
1826
- baseColumn: never;
1827
- identity: undefined;
1828
- generated: undefined;
1829
- }, {}, {}>;
1830
- createdAt: drizzle_orm_pg_core0.PgColumn<{
1831
- name: "createdAt";
1832
- tableName: "storage_assets";
1833
- dataType: "date";
1834
- columnType: "PgTimestamp";
1835
- data: Date;
1836
- driverParam: string;
1837
- notNull: true;
1838
- hasDefault: true;
1839
- isPrimaryKey: false;
1840
- isAutoincrement: false;
1841
- hasRuntimeDefault: false;
1842
- enumValues: undefined;
1843
- baseColumn: never;
1844
- identity: undefined;
1845
- generated: undefined;
1846
- }, {}, {}>;
1847
- updatedAt: drizzle_orm_pg_core0.PgColumn<{
1848
- name: "updatedAt";
1849
- tableName: "storage_assets";
1850
- dataType: "date";
1851
- columnType: "PgTimestamp";
1852
- data: Date;
1853
- driverParam: string;
1854
- notNull: true;
1855
- hasDefault: true;
1856
- isPrimaryKey: false;
1857
- isAutoincrement: false;
1858
- hasRuntimeDefault: false;
1859
- enumValues: undefined;
1860
- baseColumn: never;
1861
- identity: undefined;
1862
- generated: undefined;
1863
- }, {}, {}>;
1864
- }>;
1865
- /**
1866
- * Lists storage assets using safe default pagination.
1867
- *
1868
- * This is the convenience wrapper around `listAssetsQuery`.
1869
- * Use `listAssetsQuery()` directly when you need custom query composition.
1870
- *
1871
- * @returns Up to 100 storage assets sorted by newest first
1872
- * @example
1873
- * const assets = await storageService.listAssets();
1874
- */
1875
- listAssets(): Promise<{
1876
- provider: "s3";
1877
- bucket: string;
1878
- key: string;
1879
- status: "error" | "pending" | "ready";
1880
- visibility: "private" | "public";
1881
- size: number | null;
1882
- contentType: string | null;
1883
- uploadId: string;
1884
- name: string | null;
1885
- metadata: unknown;
1886
- etag: string | null;
1887
- uploadedAt: Date;
1888
- deletedAt: Date | null;
1889
- id: string;
1890
- createdAt: Date;
1891
- updatedAt: Date;
1892
- }[]>;
1893
- /**
1894
- * Creates a pending storage asset record and generates a presigned upload URL.
1895
- *
1896
- * Flow:
1897
- * - Validates the input payload
1898
- * - Inserts a `pending` asset in the catalog (`storage_assets`)
1899
- * - Requests a presigned PUT URL from the storage adapter
1900
- * - Marks the asset as `error` if URL generation fails
1901
- *
1902
- * This method is intended for direct-to-storage browser uploads.
1903
- * The upload should be finalized later via a confirm step.
1904
- *
1905
- * @param props - Presign upload input (contentType, size, metadata)
1906
- * @returns The created asset id, key, and presigned URL
1907
- * @throws {ServerError} If intent creation or URL generation fails
1908
- * @example
1909
- * const result = await storageService.presignUpload({
1910
- * contentType: "image/png",
1911
- * size: 120_000,
1912
- * metadata: { uploadToken: crypto.randomUUID() },
1913
- * });
1914
- * // result => { id, uploadId, key, presignedUrl }
1915
- */
1916
- presignUpload(props: PresignUploadInput): Promise<{
1917
- presignedUrl: string;
1918
- contentType: string | null;
1919
- size: number | null;
1920
- metadata: unknown;
1921
- key: string;
1922
- status: "error" | "pending" | "ready";
1923
- id: string;
1924
- createdAt: Date;
1925
- updatedAt: Date;
1926
- name: string | null;
1927
- provider: "s3";
1928
- bucket: string;
1929
- visibility: "private" | "public";
1930
- uploadId: string;
1931
- etag: string | null;
1932
- uploadedAt: Date;
1933
- deletedAt: Date | null;
1934
- }>;
1935
- /**
1936
- * Confirms a direct-to-storage upload by verifying object existence
1937
- * and transitioning the asset from `pending` to `ready`.
1938
- *
1939
- * Flow:
1940
- * - Validates confirm input
1941
- * - Loads the asset record scoped to the current adapter provider
1942
- * - Returns early if asset is already `ready` (idempotent behavior)
1943
- * - Verifies object existence/metadata via `adapter.headObject`
1944
- * - Marks asset as `error` if verification fails
1945
- * - Updates status to `ready` and stores upload metadata
1946
- *
1947
- * @param props - Confirm upload payload containing the asset uploadId
1948
- * @returns The updated storage asset record
1949
- * @throws {ServerError} If the asset is missing, verification fails, or update fails
1950
- * @example
1951
- * const asset = await storageService.confirmUpload("019d0051-2c0d-741e-9e3c-e5a5bc4d16a2");
1952
- * // asset.status === "ready"
1953
- */
1954
- confirmUpload(props: ConfirmUploadInput): Promise<{
1955
- provider: "s3";
1956
- bucket: string;
1957
- key: string;
1958
- status: "error" | "pending" | "ready";
1959
- visibility: "private" | "public";
1960
- size: number | null;
1961
- contentType: string | null;
1962
- uploadId: string;
1963
- name: string | null;
1964
- metadata: unknown;
1965
- etag: string | null;
1966
- uploadedAt: Date;
1967
- deletedAt: Date | null;
1968
- id: string;
1969
- createdAt: Date;
1970
- updatedAt: Date;
1971
- }>;
1972
- /**
1973
- * Uploads an asset directly from the server and persists its catalog record.
1974
- *
1975
- * Flow:
1976
- * - Validates upload input
1977
- * - Creates a `pending` asset record in `storage_assets`
1978
- * - Uploads the object bytes through the storage adapter
1979
- * - Marks the record as `ready` and stores upload metadata
1980
- * - Marks the record as `error` if upload fails
1981
- *
1982
- * This method is intended for server-side uploads (non-presigned flow).
1983
- * For browser direct uploads, use `presignUpload` + `confirmUpload`.
1984
- *
1985
- * @param props - Upload payload (body, contentType, size)
1986
- * @returns The finalized storage asset record
1987
- * @throws {ServerError} If record creation, upload, or finalization fails
1988
- * @example
1989
- * const asset = await storageService.upload({
1990
- * body: fileBuffer,
1991
- * contentType: "application/pdf",
1992
- * size: fileBuffer.byteLength,
1993
- * });
1994
- */
1995
- upload(props: UploadInput): Promise<{
1996
- provider: "s3";
1997
- bucket: string;
1998
- key: string;
1999
- status: "error" | "pending" | "ready";
2000
- visibility: "private" | "public";
2001
- size: number | null;
2002
- contentType: string | null;
2003
- uploadId: string;
2004
- name: string | null;
2005
- metadata: unknown;
2006
- etag: string | null;
2007
- uploadedAt: Date;
2008
- deletedAt: Date | null;
2009
- id: string;
2010
- createdAt: Date;
2011
- updatedAt: Date;
2012
- }>;
2013
- /**
2014
- * Retrieves the object content for a ready storage asset.
2015
- *
2016
- * Flow:
2017
- * - Looks up the asset record by id, scoped to the current adapter provider
2018
- * - Ensures the asset is in `ready` status
2019
- * - Fetches object content from the storage adapter using the stored key
2020
- *
2021
- * @param id - The storage asset id
2022
- * @returns The adapter object response (stream/body + metadata)
2023
- * @throws {ServerError} If the asset does not exist or is not ready
2024
- * @example
2025
- * const object = await storageService.getObject("asset-123");
2026
- * // object.body can be streamed/consumed by caller
2027
- */
2028
- getObject(input: string): Promise<{
2029
- body: node_stream0.Readable;
2030
- contentType?: string | null | undefined;
2031
- size?: number | null | undefined;
2032
- metadata?: Record<string, string> | undefined;
2033
- }>;
2034
- /**
2035
- * Generates a presigned read URL for a ready storage asset.
2036
- *
2037
- * Flow:
2038
- * - Validates the asset id
2039
- * - Resolves the asset record scoped to the current adapter provider
2040
- * - Ensures the asset is in `ready` status
2041
- * - Delegates URL signing to the storage adapter using the stored key
2042
- *
2043
- * @param input - Storage asset id (UUID)
2044
- * @param options - Optional URL options (for example expiration/disposition)
2045
- * @returns A presigned URL for reading the object
2046
- * @throws {ServerError} If the asset does not exist or is not ready
2047
- * @example
2048
- * const url = await storageService.getObjectURL("019d0051-2c0d-741e-9e3c-e5a5bc4d16a2", {
2049
- * expiresIn: 3600,
2050
- * });
2051
- */
2052
- getObjectURL(input: string, options?: GetObjectURLOptions): Promise<string>;
2053
- /**
2054
- * Soft deletes a single storage asset by id.
2055
- *
2056
- * This is a convenience wrapper around `deleteAssets`.
2057
- *
2058
- * @param input - Storage asset id (UUID)
2059
- * @returns The soft-deleted asset record, or null if not found/already deleted
2060
- */
2061
- deleteAsset(input: string): Promise<{
2062
- provider: "s3";
2063
- bucket: string;
2064
- key: string;
2065
- status: "error" | "pending" | "ready";
2066
- visibility: "private" | "public";
2067
- size: number | null;
2068
- contentType: string | null;
2069
- uploadId: string;
2070
- name: string | null;
2071
- metadata: unknown;
2072
- etag: string | null;
2073
- uploadedAt: Date;
2074
- deletedAt: Date | null;
2075
- id: string;
2076
- createdAt: Date;
2077
- updatedAt: Date;
2078
- } | null>;
2079
- /**
2080
- * Soft deletes multiple storage assets by setting `deletedAt`.
2081
- *
2082
- * Flow:
2083
- * - Validates and de-duplicates ids
2084
- * - Resolves provider-scoped active records
2085
- * - Marks matching rows as deleted by setting `deletedAt`
2086
- *
2087
- * @param input - Storage asset ids (UUID[])
2088
- * @returns Soft-deleted asset records
2089
- */
2090
- deleteAssets(input: string[]): Promise<{
2091
- provider: "s3";
2092
- bucket: string;
2093
- key: string;
2094
- status: "error" | "pending" | "ready";
2095
- visibility: "private" | "public";
2096
- size: number | null;
2097
- contentType: string | null;
2098
- uploadId: string;
2099
- name: string | null;
2100
- metadata: unknown;
2101
- etag: string | null;
2102
- uploadedAt: Date;
2103
- deletedAt: Date | null;
2104
- id: string;
2105
- createdAt: Date;
2106
- updatedAt: Date;
2107
- }[]>;
2108
- /**
2109
- * Restores a single soft-deleted storage asset.
2110
- *
2111
- * This is a convenience wrapper around `restoreAssets`.
2112
- *
2113
- * @param input - Storage asset id (UUID)
2114
- * @returns The restored asset record, or null if not found/not deleted
2115
- */
2116
- restoreAsset(input: string): Promise<{
2117
- provider: "s3";
2118
- bucket: string;
2119
- key: string;
2120
- status: "error" | "pending" | "ready";
2121
- visibility: "private" | "public";
2122
- size: number | null;
2123
- contentType: string | null;
2124
- uploadId: string;
2125
- name: string | null;
2126
- metadata: unknown;
2127
- etag: string | null;
2128
- uploadedAt: Date;
2129
- deletedAt: Date | null;
2130
- id: string;
2131
- createdAt: Date;
2132
- updatedAt: Date;
2133
- } | null>;
2134
- /**
2135
- * Restores multiple soft-deleted storage assets by clearing `deletedAt`.
2136
- *
2137
- * @param input - Storage asset ids (UUID[])
2138
- * @returns Restored asset records
2139
- */
2140
- restoreAssets(input: string[]): Promise<{
2141
- provider: "s3";
2142
- bucket: string;
2143
- key: string;
2144
- status: "error" | "pending" | "ready";
2145
- visibility: "private" | "public";
2146
- size: number | null;
2147
- contentType: string | null;
2148
- uploadId: string;
2149
- name: string | null;
2150
- metadata: unknown;
2151
- etag: string | null;
2152
- uploadedAt: Date;
2153
- deletedAt: Date | null;
2154
- id: string;
2155
- createdAt: Date;
2156
- updatedAt: Date;
2157
- }[]>;
2158
- /**
2159
- * Hard deletes a single storage asset.
2160
- *
2161
- * This is a convenience wrapper around `purgeAssets`.
2162
- *
2163
- * @param input - Storage asset id (UUID)
2164
- * @returns The purged asset record, or null if not found
2165
- */
2166
- purgeAsset(input: string): Promise<{
2167
- contentType: string | null;
2168
- size: number | null;
2169
- metadata: unknown;
2170
- key: string;
2171
- status: "error" | "pending" | "ready";
2172
- id: string;
2173
- createdAt: Date;
2174
- updatedAt: Date;
2175
- name: string | null;
2176
- provider: "s3";
2177
- bucket: string;
2178
- visibility: "private" | "public";
2179
- uploadId: string;
2180
- etag: string | null;
2181
- uploadedAt: Date;
2182
- deletedAt: Date | null;
2183
- } | null>;
2184
- /**
2185
- * Hard deletes multiple storage assets.
2186
- *
2187
- * Flow:
2188
- * - Validates and de-duplicates ids
2189
- * - Resolves provider-scoped records
2190
- * - Deletes physical objects from the adapter by key
2191
- * - Hard deletes DB records
2192
- *
2193
- * @param input - Storage asset ids (UUID[])
2194
- * @returns Purged asset records
2195
- * @throws {ServerError} If provider deletion fails
2196
- */
2197
- purgeAssets(input: string[]): Promise<{
2198
- contentType: string | null;
2199
- size: number | null;
2200
- metadata: unknown;
2201
- key: string;
2202
- status: "error" | "pending" | "ready";
2203
- id: string;
2204
- createdAt: Date;
2205
- updatedAt: Date;
2206
- name: string | null;
2207
- provider: "s3";
2208
- bucket: string;
2209
- visibility: "private" | "public";
2210
- uploadId: string;
2211
- etag: string | null;
2212
- uploadedAt: Date;
2213
- deletedAt: Date | null;
2214
- }[]>;
2215
- }
2216
- //#endregion
2217
- export { Storage, StorageConfig };