@tulip-systems/drive 0.8.0 → 0.8.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 (243) hide show
  1. package/dist/client.d.mts +5 -0
  2. package/dist/client.mjs +6 -0
  3. package/dist/components/content.d.mts +14 -0
  4. package/dist/components/content.d.mts.map +1 -0
  5. package/dist/components/content.mjs +18 -0
  6. package/dist/components/content.mjs.map +1 -0
  7. package/dist/components/context.client.d.mts +14 -0
  8. package/dist/components/context.client.d.mts.map +1 -0
  9. package/dist/components/dnd.client.d.mts +17 -0
  10. package/dist/components/dnd.client.d.mts.map +1 -0
  11. package/dist/components/dnd.client.mjs +30 -0
  12. package/dist/components/dnd.client.mjs.map +1 -0
  13. package/dist/components/grid-card.client.d.mts +43 -0
  14. package/dist/components/grid-card.client.d.mts.map +1 -0
  15. package/dist/components/grid-card.client.mjs +173 -0
  16. package/dist/components/grid-card.client.mjs.map +1 -0
  17. package/dist/components/grid.client.d.mts +54 -0
  18. package/dist/components/grid.client.d.mts.map +1 -0
  19. package/dist/components/grid.client.mjs +54 -0
  20. package/dist/components/grid.client.mjs.map +1 -0
  21. package/dist/components/navigation/breadcrumbs.client.d.mts +26 -0
  22. package/dist/components/navigation/breadcrumbs.client.d.mts.map +1 -0
  23. package/dist/components/navigation/breadcrumbs.client.mjs +52 -0
  24. package/dist/components/navigation/breadcrumbs.client.mjs.map +1 -0
  25. package/dist/components/navigation/header.client.d.mts +28 -0
  26. package/dist/components/navigation/header.client.d.mts.map +1 -0
  27. package/dist/components/navigation/header.client.mjs +41 -0
  28. package/dist/components/navigation/header.client.mjs.map +1 -0
  29. package/dist/components/navigation/toolbar.client.d.mts +24 -0
  30. package/dist/components/navigation/toolbar.client.d.mts.map +1 -0
  31. package/dist/components/navigation/toolbar.client.mjs +35 -0
  32. package/dist/components/navigation/toolbar.client.mjs.map +1 -0
  33. package/dist/components/navigation/view-switcher.client.d.mts +10 -0
  34. package/dist/components/navigation/view-switcher.client.d.mts.map +1 -0
  35. package/dist/components/navigation/view-switcher.client.mjs +36 -0
  36. package/dist/components/navigation/view-switcher.client.mjs.map +1 -0
  37. package/dist/components/selection.client.d.mts +28 -0
  38. package/dist/components/selection.client.d.mts.map +1 -0
  39. package/dist/components/selection.client.mjs +39 -0
  40. package/dist/components/selection.client.mjs.map +1 -0
  41. package/dist/components/view.client.d.mts +26 -0
  42. package/dist/components/view.client.d.mts.map +1 -0
  43. package/dist/components/view.client.mjs +44 -0
  44. package/dist/components/view.client.mjs.map +1 -0
  45. package/dist/config/filters.mjs +15 -0
  46. package/dist/config/filters.mjs.map +1 -0
  47. package/dist/config/types.mjs +61 -0
  48. package/dist/config/types.mjs.map +1 -0
  49. package/dist/google/client.d.mts +8 -0
  50. package/dist/google/client.mjs +9 -0
  51. package/dist/google/server.d.mts +3 -0
  52. package/dist/google/server.mjs +4 -0
  53. package/dist/google.d.mts +6 -0
  54. package/dist/google.mjs +7 -0
  55. package/dist/index.d.mts +7 -0
  56. package/dist/index.mjs +7 -0
  57. package/dist/lib/constants.d.mts +12 -0
  58. package/dist/lib/constants.d.mts.map +1 -0
  59. package/dist/lib/constants.mjs +21 -0
  60. package/dist/lib/constants.mjs.map +1 -0
  61. package/dist/lib/contracts.d.mts +101 -0
  62. package/dist/lib/contracts.d.mts.map +1 -0
  63. package/dist/lib/dto.d.mts +118 -0
  64. package/dist/lib/dto.d.mts.map +1 -0
  65. package/dist/lib/dto.mjs +58 -0
  66. package/dist/lib/dto.mjs.map +1 -0
  67. package/dist/lib/helpers.d.mts +18 -0
  68. package/dist/lib/helpers.d.mts.map +1 -0
  69. package/dist/lib/helpers.mjs +37 -0
  70. package/dist/lib/helpers.mjs.map +1 -0
  71. package/dist/lib/helpers.server.d.mts +14 -0
  72. package/dist/lib/helpers.server.d.mts.map +1 -0
  73. package/dist/lib/helpers.server.mjs +16 -0
  74. package/dist/lib/helpers.server.mjs.map +1 -0
  75. package/dist/lib/search-params.d.mts +9 -0
  76. package/dist/lib/search-params.d.mts.map +1 -0
  77. package/dist/lib/search-params.mjs +8 -0
  78. package/dist/lib/search-params.mjs.map +1 -0
  79. package/dist/lib/validators.d.mts +158 -0
  80. package/dist/lib/validators.d.mts.map +1 -0
  81. package/dist/lib/validators.mjs +66 -0
  82. package/dist/lib/validators.mjs.map +1 -0
  83. package/dist/local/client.d.mts +13 -0
  84. package/dist/local/client.mjs +13 -0
  85. package/dist/local/server.d.mts +4 -0
  86. package/dist/local/server.mjs +5 -0
  87. package/dist/local.d.mts +8 -0
  88. package/dist/local.mjs +9 -0
  89. package/dist/providers/google/components/command-file-update.d.mts +22 -0
  90. package/dist/providers/google/components/command-file-update.d.mts.map +1 -0
  91. package/dist/providers/google/components/command-file-update.mjs +52 -0
  92. package/dist/providers/google/components/command-file-update.mjs.map +1 -0
  93. package/dist/providers/google/components/command-folder-create.d.mts +22 -0
  94. package/dist/providers/google/components/command-folder-create.d.mts.map +1 -0
  95. package/dist/providers/google/components/command-folder-create.mjs +59 -0
  96. package/dist/providers/google/components/command-folder-create.mjs.map +1 -0
  97. package/dist/providers/google/components/command-folder-update.d.mts +22 -0
  98. package/dist/providers/google/components/command-folder-update.d.mts.map +1 -0
  99. package/dist/providers/google/components/command-folder-update.mjs +52 -0
  100. package/dist/providers/google/components/command-folder-update.mjs.map +1 -0
  101. package/dist/providers/google/components/content.client.d.mts +10 -0
  102. package/dist/providers/google/components/content.client.d.mts.map +1 -0
  103. package/dist/providers/google/components/content.client.mjs +11 -0
  104. package/dist/providers/google/components/content.client.mjs.map +1 -0
  105. package/dist/providers/google/components/navigation.client.d.mts +16 -0
  106. package/dist/providers/google/components/navigation.client.d.mts.map +1 -0
  107. package/dist/providers/google/components/navigation.client.mjs +18 -0
  108. package/dist/providers/google/components/navigation.client.mjs.map +1 -0
  109. package/dist/providers/google/components/provider.client.d.mts +33 -0
  110. package/dist/providers/google/components/provider.client.d.mts.map +1 -0
  111. package/dist/providers/google/components/provider.client.mjs +43 -0
  112. package/dist/providers/google/components/provider.client.mjs.map +1 -0
  113. package/dist/providers/google/components/view.client.d.mts +41 -0
  114. package/dist/providers/google/components/view.client.d.mts.map +1 -0
  115. package/dist/providers/google/components/view.client.mjs +98 -0
  116. package/dist/providers/google/components/view.client.mjs.map +1 -0
  117. package/dist/providers/google/config/columns-data.d.mts +8 -0
  118. package/dist/providers/google/config/columns-data.d.mts.map +1 -0
  119. package/dist/providers/google/config/columns-data.mjs +70 -0
  120. package/dist/providers/google/config/columns-data.mjs.map +1 -0
  121. package/dist/providers/google/config/filters.d.mts +16 -0
  122. package/dist/providers/google/config/filters.d.mts.map +1 -0
  123. package/dist/providers/google/config/filters.mjs +8 -0
  124. package/dist/providers/google/config/filters.mjs.map +1 -0
  125. package/dist/providers/google/lib/constants.mjs +13 -0
  126. package/dist/providers/google/lib/constants.mjs.map +1 -0
  127. package/dist/providers/google/lib/dto.d.mts +39 -0
  128. package/dist/providers/google/lib/dto.d.mts.map +1 -0
  129. package/dist/providers/google/lib/dto.mjs +66 -0
  130. package/dist/providers/google/lib/dto.mjs.map +1 -0
  131. package/dist/providers/google/lib/helpers.mjs +46 -0
  132. package/dist/providers/google/lib/helpers.mjs.map +1 -0
  133. package/dist/providers/google/lib/router.server.d.mts +612 -0
  134. package/dist/providers/google/lib/router.server.d.mts.map +1 -0
  135. package/dist/providers/google/lib/router.server.mjs +40 -0
  136. package/dist/providers/google/lib/router.server.mjs.map +1 -0
  137. package/dist/providers/google/lib/search-params.d.mts +15 -0
  138. package/dist/providers/google/lib/search-params.d.mts.map +1 -0
  139. package/dist/providers/google/lib/search-params.mjs +12 -0
  140. package/dist/providers/google/lib/search-params.mjs.map +1 -0
  141. package/dist/providers/google/lib/service.server.d.mts +186 -0
  142. package/dist/providers/google/lib/service.server.d.mts.map +1 -0
  143. package/dist/providers/google/lib/service.server.mjs +613 -0
  144. package/dist/providers/google/lib/service.server.mjs.map +1 -0
  145. package/dist/providers/google/lib/validators.d.mts +303 -0
  146. package/dist/providers/google/lib/validators.d.mts.map +1 -0
  147. package/dist/providers/google/lib/validators.mjs +59 -0
  148. package/dist/providers/google/lib/validators.mjs.map +1 -0
  149. package/dist/providers/local/components/command-file-update.d.mts +18 -0
  150. package/dist/providers/local/components/command-file-update.d.mts.map +1 -0
  151. package/dist/providers/local/components/command-file-update.mjs +48 -0
  152. package/dist/providers/local/components/command-file-update.mjs.map +1 -0
  153. package/dist/providers/local/components/command-file-upload.d.mts +11 -0
  154. package/dist/providers/local/components/command-file-upload.d.mts.map +1 -0
  155. package/dist/providers/local/components/command-file-upload.mjs +35 -0
  156. package/dist/providers/local/components/command-file-upload.mjs.map +1 -0
  157. package/dist/providers/local/components/command-folder-create.d.mts +18 -0
  158. package/dist/providers/local/components/command-folder-create.d.mts.map +1 -0
  159. package/dist/providers/local/components/command-folder-create.mjs +55 -0
  160. package/dist/providers/local/components/command-folder-create.mjs.map +1 -0
  161. package/dist/providers/local/components/command-folder-update.d.mts +18 -0
  162. package/dist/providers/local/components/command-folder-update.d.mts.map +1 -0
  163. package/dist/providers/local/components/command-folder-update.mjs +48 -0
  164. package/dist/providers/local/components/command-folder-update.mjs.map +1 -0
  165. package/dist/providers/local/components/content.client.d.mts +7 -0
  166. package/dist/providers/local/components/content.client.d.mts.map +1 -0
  167. package/dist/providers/local/components/content.client.mjs +8 -0
  168. package/dist/providers/local/components/content.client.mjs.map +1 -0
  169. package/dist/providers/local/components/navigation.client.d.mts +16 -0
  170. package/dist/providers/local/components/navigation.client.d.mts.map +1 -0
  171. package/dist/providers/local/components/navigation.client.mjs +18 -0
  172. package/dist/providers/local/components/navigation.client.mjs.map +1 -0
  173. package/dist/providers/local/components/provider.client.d.mts +40 -0
  174. package/dist/providers/local/components/provider.client.d.mts.map +1 -0
  175. package/dist/providers/local/components/provider.client.mjs +61 -0
  176. package/dist/providers/local/components/provider.client.mjs.map +1 -0
  177. package/dist/providers/local/components/upload-zone-context.client.d.mts +38 -0
  178. package/dist/providers/local/components/upload-zone-context.client.d.mts.map +1 -0
  179. package/dist/providers/local/components/upload-zone-context.client.mjs +23 -0
  180. package/dist/providers/local/components/upload-zone-context.client.mjs.map +1 -0
  181. package/dist/providers/local/components/upload-zone.client.d.mts +30 -0
  182. package/dist/providers/local/components/upload-zone.client.d.mts.map +1 -0
  183. package/dist/providers/local/components/upload-zone.client.mjs +147 -0
  184. package/dist/providers/local/components/upload-zone.client.mjs.map +1 -0
  185. package/dist/providers/local/components/view.client.d.mts +32 -0
  186. package/dist/providers/local/components/view.client.d.mts.map +1 -0
  187. package/dist/providers/local/components/view.client.mjs +91 -0
  188. package/dist/providers/local/components/view.client.mjs.map +1 -0
  189. package/dist/providers/local/config/columns-data.d.mts +8 -0
  190. package/dist/providers/local/config/columns-data.d.mts.map +1 -0
  191. package/dist/providers/local/config/columns-data.mjs +70 -0
  192. package/dist/providers/local/config/columns-data.mjs.map +1 -0
  193. package/dist/providers/local/config/filters.d.mts +26 -0
  194. package/dist/providers/local/config/filters.d.mts.map +1 -0
  195. package/dist/providers/local/config/filters.mjs +15 -0
  196. package/dist/providers/local/config/filters.mjs.map +1 -0
  197. package/dist/providers/local/lib/constants.d.mts +12 -0
  198. package/dist/providers/local/lib/constants.d.mts.map +1 -0
  199. package/dist/providers/local/lib/constants.mjs +29 -0
  200. package/dist/providers/local/lib/constants.mjs.map +1 -0
  201. package/dist/providers/local/lib/helpers.d.mts +45 -0
  202. package/dist/providers/local/lib/helpers.d.mts.map +1 -0
  203. package/dist/providers/local/lib/helpers.mjs +110 -0
  204. package/dist/providers/local/lib/helpers.mjs.map +1 -0
  205. package/dist/providers/local/lib/route-handler.server.d.mts +34 -0
  206. package/dist/providers/local/lib/route-handler.server.d.mts.map +1 -0
  207. package/dist/providers/local/lib/route-handler.server.mjs +114 -0
  208. package/dist/providers/local/lib/route-handler.server.mjs.map +1 -0
  209. package/dist/providers/local/lib/router.server.d.mts +41648 -0
  210. package/dist/providers/local/lib/router.server.d.mts.map +1 -0
  211. package/dist/providers/local/lib/router.server.mjs +52 -0
  212. package/dist/providers/local/lib/router.server.mjs.map +1 -0
  213. package/dist/providers/local/lib/schema.d.mts +1113 -0
  214. package/dist/providers/local/lib/schema.d.mts.map +1 -0
  215. package/dist/providers/local/lib/schema.mjs +71 -0
  216. package/dist/providers/local/lib/schema.mjs.map +1 -0
  217. package/dist/providers/local/lib/search-params.d.mts +14 -0
  218. package/dist/providers/local/lib/search-params.d.mts.map +1 -0
  219. package/dist/providers/local/lib/search-params.mjs +9 -0
  220. package/dist/providers/local/lib/search-params.mjs.map +1 -0
  221. package/dist/providers/local/lib/service.server.d.mts +489 -0
  222. package/dist/providers/local/lib/service.server.d.mts.map +1 -0
  223. package/dist/providers/local/lib/service.server.mjs +668 -0
  224. package/dist/providers/local/lib/service.server.mjs.map +1 -0
  225. package/dist/providers/local/lib/upload.client.d.mts +62 -0
  226. package/dist/providers/local/lib/upload.client.d.mts.map +1 -0
  227. package/dist/providers/local/lib/upload.client.mjs +100 -0
  228. package/dist/providers/local/lib/upload.client.mjs.map +1 -0
  229. package/dist/providers/local/lib/validators.d.mts +454 -0
  230. package/dist/providers/local/lib/validators.d.mts.map +1 -0
  231. package/dist/providers/local/lib/validators.mjs +96 -0
  232. package/dist/providers/local/lib/validators.mjs.map +1 -0
  233. package/dist/server.d.mts +2 -0
  234. package/dist/server.mjs +3 -0
  235. package/package.json +3 -2
  236. package/src/components/grid-card.client.tsx +4 -1
  237. package/src/providers/google/components/view.client.tsx +9 -1
  238. package/src/providers/google/lib/helpers.ts +9 -0
  239. package/src/providers/local/components/provider.client.tsx +2 -1
  240. package/src/providers/local/components/upload-zone-context.client.tsx +1 -0
  241. package/src/providers/local/components/upload-zone.client.tsx +14 -1
  242. package/src/providers/local/components/view.client.tsx +10 -2
  243. package/src/providers/local/lib/helpers.ts +0 -1
@@ -0,0 +1,454 @@
1
+ import { DriveNodeChild } from "../../../lib/dto.mjs";
2
+ import { nodes } from "./schema.mjs";
3
+ import { z } from "zod";
4
+ import { StorageAsset } from "@tulip-systems/core/storage";
5
+
6
+ //#region src/providers/local/lib/validators.d.ts
7
+ /**
8
+ * Nodes
9
+ */
10
+ type LocalNode = typeof nodes.$inferSelect;
11
+ declare const localDriveNodeSchema: z.ZodObject<{
12
+ id: z.ZodString;
13
+ createdAt: z.ZodDate;
14
+ updatedAt: z.ZodDate;
15
+ name: z.ZodString;
16
+ namespace: z.ZodString;
17
+ type: z.ZodEnum<{
18
+ file: "file";
19
+ folder: "folder";
20
+ }>;
21
+ subtype: z.ZodEnum<{
22
+ image: "image";
23
+ document: "document";
24
+ spreadsheet: "spreadsheet";
25
+ video: "video";
26
+ audio: "audio";
27
+ archive: "archive";
28
+ other: "other";
29
+ }>;
30
+ size: z.ZodNullable<z.ZodNumber>;
31
+ contentType: z.ZodNullable<z.ZodString>;
32
+ readonly: z.ZodBoolean;
33
+ hidden: z.ZodBoolean;
34
+ archivedAt: z.ZodNullable<z.ZodDate>;
35
+ parentId: z.ZodNullable<z.ZodString>;
36
+ links: z.ZodObject<{
37
+ view: z.ZodNullable<z.ZodString>;
38
+ download: z.ZodNullable<z.ZodString>;
39
+ preview: z.ZodNullable<z.ZodString>;
40
+ thumbnail: z.ZodNullable<z.ZodString>;
41
+ }, z.core.$strip>;
42
+ availability: z.ZodEnum<{
43
+ ready: "ready";
44
+ pending: "pending";
45
+ failed: "failed";
46
+ }>;
47
+ provider: z.ZodLiteral<"local">;
48
+ assetId: z.ZodNullable<z.ZodString>;
49
+ }, z.core.$strip>;
50
+ type LocalDriveNode = z.infer<typeof localDriveNodeSchema>;
51
+ type LocalDriveFileNode = LocalDriveNode & {
52
+ type: "file";
53
+ };
54
+ type LocalDriveFolderNode = LocalDriveNode & {
55
+ type: "folder";
56
+ };
57
+ type LocalDriveNodeChild = DriveNodeChild<LocalDriveNode>;
58
+ type LocalDriveNodeWithAsset = LocalDriveNode & {
59
+ asset: StorageAsset | null;
60
+ };
61
+ /**
62
+ * Node with children
63
+ */
64
+ declare const localDriveNodeWithChildrenSchema: z.ZodObject<{
65
+ id: z.ZodString;
66
+ createdAt: z.ZodDate;
67
+ updatedAt: z.ZodDate;
68
+ name: z.ZodString;
69
+ namespace: z.ZodString;
70
+ type: z.ZodEnum<{
71
+ file: "file";
72
+ folder: "folder";
73
+ }>;
74
+ subtype: z.ZodEnum<{
75
+ image: "image";
76
+ document: "document";
77
+ spreadsheet: "spreadsheet";
78
+ video: "video";
79
+ audio: "audio";
80
+ archive: "archive";
81
+ other: "other";
82
+ }>;
83
+ size: z.ZodNullable<z.ZodNumber>;
84
+ contentType: z.ZodNullable<z.ZodString>;
85
+ readonly: z.ZodBoolean;
86
+ hidden: z.ZodBoolean;
87
+ archivedAt: z.ZodNullable<z.ZodDate>;
88
+ parentId: z.ZodNullable<z.ZodString>;
89
+ links: z.ZodObject<{
90
+ view: z.ZodNullable<z.ZodString>;
91
+ download: z.ZodNullable<z.ZodString>;
92
+ preview: z.ZodNullable<z.ZodString>;
93
+ thumbnail: z.ZodNullable<z.ZodString>;
94
+ }, z.core.$strip>;
95
+ availability: z.ZodEnum<{
96
+ ready: "ready";
97
+ pending: "pending";
98
+ failed: "failed";
99
+ }>;
100
+ provider: z.ZodLiteral<"local">;
101
+ assetId: z.ZodNullable<z.ZodString>;
102
+ children: z.ZodArray<z.ZodObject<{
103
+ id: z.ZodString;
104
+ createdAt: z.ZodDate;
105
+ updatedAt: z.ZodDate;
106
+ name: z.ZodString;
107
+ namespace: z.ZodString;
108
+ type: z.ZodEnum<{
109
+ file: "file";
110
+ folder: "folder";
111
+ }>;
112
+ subtype: z.ZodEnum<{
113
+ image: "image";
114
+ document: "document";
115
+ spreadsheet: "spreadsheet";
116
+ video: "video";
117
+ audio: "audio";
118
+ archive: "archive";
119
+ other: "other";
120
+ }>;
121
+ size: z.ZodNullable<z.ZodNumber>;
122
+ contentType: z.ZodNullable<z.ZodString>;
123
+ readonly: z.ZodBoolean;
124
+ hidden: z.ZodBoolean;
125
+ archivedAt: z.ZodNullable<z.ZodDate>;
126
+ parentId: z.ZodNullable<z.ZodString>;
127
+ links: z.ZodObject<{
128
+ view: z.ZodNullable<z.ZodString>;
129
+ download: z.ZodNullable<z.ZodString>;
130
+ preview: z.ZodNullable<z.ZodString>;
131
+ thumbnail: z.ZodNullable<z.ZodString>;
132
+ }, z.core.$strip>;
133
+ availability: z.ZodEnum<{
134
+ ready: "ready";
135
+ pending: "pending";
136
+ failed: "failed";
137
+ }>;
138
+ provider: z.ZodLiteral<"local">;
139
+ assetId: z.ZodNullable<z.ZodString>;
140
+ }, z.core.$strip>>;
141
+ }, z.core.$strip>;
142
+ type LocalDriveNodeWithChildren = z.infer<typeof localDriveNodeWithChildrenSchema>;
143
+ /**
144
+ * Create folder
145
+ */
146
+ declare const createLocalDriveFolderInputSchema: z.ZodObject<{
147
+ name: z.ZodString;
148
+ namespace: z.ZodString;
149
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
150
+ hidden: z.ZodOptional<z.ZodBoolean>;
151
+ readonly: z.ZodOptional<z.ZodBoolean>;
152
+ }, z.core.$strip>;
153
+ type CreateLocalDriveFolderInput = z.input<typeof createLocalDriveFolderInputSchema>;
154
+ type CreateLocalDriveFolderSchema = z.infer<typeof createLocalDriveFolderInputSchema>;
155
+ /**
156
+ * Update node
157
+ */
158
+ declare const updateLocalDriveNodeInputSchema: z.ZodObject<{
159
+ name: z.ZodOptional<z.ZodString>;
160
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
161
+ hidden: z.ZodOptional<z.ZodBoolean>;
162
+ readonly: z.ZodOptional<z.ZodBoolean>;
163
+ archivedAt: z.ZodOptional<z.ZodNullable<z.ZodDate>>;
164
+ }, z.core.$strip>;
165
+ type UpdateLocalDriveNodeInput = z.input<typeof updateLocalDriveNodeInputSchema>;
166
+ /**
167
+ * Upload file
168
+ */
169
+ declare const uploadLocalDriveFileInputSchema: z.ZodObject<{
170
+ name: z.ZodString;
171
+ namespace: z.ZodString;
172
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
173
+ contentType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
174
+ size: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
175
+ hidden: z.ZodOptional<z.ZodBoolean>;
176
+ readonly: z.ZodOptional<z.ZodBoolean>;
177
+ }, z.core.$strip>;
178
+ type UploadLocalDriveFileSchema = z.infer<typeof uploadLocalDriveFileInputSchema>;
179
+ /**
180
+ * Presign file
181
+ */
182
+ declare const presignLocalDriveFileInputSchema: z.ZodObject<{
183
+ name: z.ZodString;
184
+ namespace: z.ZodString;
185
+ parentId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
186
+ contentType: z.ZodOptional<z.ZodNullable<z.ZodString>>;
187
+ size: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
188
+ hidden: z.ZodOptional<z.ZodBoolean>;
189
+ readonly: z.ZodOptional<z.ZodBoolean>;
190
+ uploadId: z.ZodOptional<z.ZodUUID>;
191
+ visibility: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
192
+ private: "private";
193
+ public: "public";
194
+ }>>>;
195
+ }, z.core.$strip>;
196
+ type PresignLocalDriveFileInput = z.input<typeof presignLocalDriveFileInputSchema>;
197
+ /**
198
+ * Get file url schema
199
+ */
200
+ declare const getLocalFileURLSchemaDefaults: {
201
+ readonly variant: "main";
202
+ readonly disposition: "inline";
203
+ };
204
+ declare const getLocalFileURLSchema: z.ZodObject<{
205
+ disposition: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
206
+ inline: "inline";
207
+ attachment: "attachment";
208
+ }>>>;
209
+ variant: z.ZodDefault<z.ZodOptional<z.ZodEnum<{
210
+ [x: `preview-${number}`]: `preview-${number}`;
211
+ main: "main";
212
+ }>>>;
213
+ }, z.core.$strip>;
214
+ type GetLocalFileURLSchema = z.infer<typeof getLocalFileURLSchema>;
215
+ /**
216
+ * Tree filters
217
+ */
218
+ declare const localDriveTreeFiltersSchema: z.ZodPipe<z.ZodObject<{
219
+ subtypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
220
+ image: "image";
221
+ document: "document";
222
+ spreadsheet: "spreadsheet";
223
+ video: "video";
224
+ audio: "audio";
225
+ archive: "archive";
226
+ other: "other";
227
+ }>>>>;
228
+ hidden: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
229
+ types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
230
+ file: "file";
231
+ folder: "folder";
232
+ }>>>>;
233
+ contentTypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
234
+ nodeIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
235
+ isArchived: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
236
+ namespace: z.ZodString;
237
+ parentId: z.ZodNullable<z.ZodString>;
238
+ }, z.core.$strip>, z.ZodTransform<{
239
+ hidden: boolean;
240
+ isArchived: boolean;
241
+ namespace: string;
242
+ parentId: string | null;
243
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
244
+ types?: ("file" | "folder")[] | null | undefined;
245
+ contentTypes?: string[] | null | undefined;
246
+ nodeIds?: string[] | null | undefined;
247
+ }, {
248
+ namespace: string;
249
+ parentId: string | null;
250
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
251
+ hidden?: boolean | null | undefined;
252
+ types?: ("file" | "folder")[] | null | undefined;
253
+ contentTypes?: string[] | null | undefined;
254
+ nodeIds?: string[] | null | undefined;
255
+ isArchived?: boolean | null | undefined;
256
+ }>>;
257
+ type LocalDriveTableFilters = z.input<typeof localDriveTreeFiltersSchema>;
258
+ /**
259
+ * Flat filters
260
+ */
261
+ declare const localDriveFlatFiltersSchema: z.ZodPipe<z.ZodObject<{
262
+ subtypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
263
+ image: "image";
264
+ document: "document";
265
+ spreadsheet: "spreadsheet";
266
+ video: "video";
267
+ audio: "audio";
268
+ archive: "archive";
269
+ other: "other";
270
+ }>>>>;
271
+ hidden: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
272
+ types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
273
+ file: "file";
274
+ folder: "folder";
275
+ }>>>>;
276
+ contentTypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
277
+ nodeIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
278
+ isArchived: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
279
+ namespace: z.ZodOptional<z.ZodString>;
280
+ }, z.core.$strip>, z.ZodTransform<{
281
+ hidden: boolean;
282
+ isArchived: boolean;
283
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
284
+ types?: ("file" | "folder")[] | null | undefined;
285
+ contentTypes?: string[] | null | undefined;
286
+ nodeIds?: string[] | null | undefined;
287
+ namespace?: string | undefined;
288
+ }, {
289
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
290
+ hidden?: boolean | null | undefined;
291
+ types?: ("file" | "folder")[] | null | undefined;
292
+ contentTypes?: string[] | null | undefined;
293
+ nodeIds?: string[] | null | undefined;
294
+ isArchived?: boolean | null | undefined;
295
+ namespace?: string | undefined;
296
+ }>>;
297
+ /**
298
+ * List tree input schema
299
+ */
300
+ declare const listLocalDriveTreeInputSchema: z.ZodObject<{
301
+ cursor: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>, z.ZodTransform<number, number>>;
302
+ limit: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>, z.ZodTransform<number, number>>;
303
+ sort: z.ZodOptional<z.ZodNullable<z.ZodString>>;
304
+ order: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
305
+ asc: "asc";
306
+ desc: "desc";
307
+ }>>>;
308
+ search: z.ZodOptional<z.ZodNullable<z.ZodString>>;
309
+ filters: z.ZodPipe<z.ZodObject<{
310
+ subtypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
311
+ image: "image";
312
+ document: "document";
313
+ spreadsheet: "spreadsheet";
314
+ video: "video";
315
+ audio: "audio";
316
+ archive: "archive";
317
+ other: "other";
318
+ }>>>>;
319
+ hidden: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
320
+ types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
321
+ file: "file";
322
+ folder: "folder";
323
+ }>>>>;
324
+ contentTypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
325
+ nodeIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
326
+ isArchived: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
327
+ namespace: z.ZodString;
328
+ parentId: z.ZodNullable<z.ZodString>;
329
+ }, z.core.$strip>, z.ZodTransform<{
330
+ hidden: boolean;
331
+ isArchived: boolean;
332
+ namespace: string;
333
+ parentId: string | null;
334
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
335
+ types?: ("file" | "folder")[] | null | undefined;
336
+ contentTypes?: string[] | null | undefined;
337
+ nodeIds?: string[] | null | undefined;
338
+ }, {
339
+ namespace: string;
340
+ parentId: string | null;
341
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
342
+ hidden?: boolean | null | undefined;
343
+ types?: ("file" | "folder")[] | null | undefined;
344
+ contentTypes?: string[] | null | undefined;
345
+ nodeIds?: string[] | null | undefined;
346
+ isArchived?: boolean | null | undefined;
347
+ }>>;
348
+ }, z.core.$strip>;
349
+ type ListLocalDriveTreeInput = z.input<typeof listLocalDriveTreeInputSchema>;
350
+ type ListLocalDriveTreeSchema = z.infer<typeof listLocalDriveTreeInputSchema>;
351
+ /**
352
+ * List flat input schema
353
+ */
354
+ declare const listLocalDriveFlatInputSchema: z.ZodObject<{
355
+ cursor: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>, z.ZodTransform<number, number>>;
356
+ limit: z.ZodPipe<z.ZodDefault<z.ZodOptional<z.ZodCoercedNumber<unknown>>>, z.ZodTransform<number, number>>;
357
+ sort: z.ZodOptional<z.ZodNullable<z.ZodString>>;
358
+ order: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
359
+ asc: "asc";
360
+ desc: "desc";
361
+ }>>>;
362
+ search: z.ZodOptional<z.ZodNullable<z.ZodString>>;
363
+ filters: z.ZodPipe<z.ZodObject<{
364
+ subtypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
365
+ image: "image";
366
+ document: "document";
367
+ spreadsheet: "spreadsheet";
368
+ video: "video";
369
+ audio: "audio";
370
+ archive: "archive";
371
+ other: "other";
372
+ }>>>>;
373
+ hidden: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
374
+ types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
375
+ file: "file";
376
+ folder: "folder";
377
+ }>>>>;
378
+ contentTypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
379
+ nodeIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
380
+ isArchived: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
381
+ namespace: z.ZodOptional<z.ZodString>;
382
+ }, z.core.$strip>, z.ZodTransform<{
383
+ hidden: boolean;
384
+ isArchived: boolean;
385
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
386
+ types?: ("file" | "folder")[] | null | undefined;
387
+ contentTypes?: string[] | null | undefined;
388
+ nodeIds?: string[] | null | undefined;
389
+ namespace?: string | undefined;
390
+ }, {
391
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
392
+ hidden?: boolean | null | undefined;
393
+ types?: ("file" | "folder")[] | null | undefined;
394
+ contentTypes?: string[] | null | undefined;
395
+ nodeIds?: string[] | null | undefined;
396
+ isArchived?: boolean | null | undefined;
397
+ namespace?: string | undefined;
398
+ }>>;
399
+ }, z.core.$strip>;
400
+ type ListLocalDriveFlatSchema = z.infer<typeof listLocalDriveFlatInputSchema>;
401
+ /**
402
+ * Get by parent id input
403
+ */
404
+ declare const getLocalDriveNodesByParentIdInputSchema: z.ZodObject<{
405
+ sort: z.ZodOptional<z.ZodNullable<z.ZodString>>;
406
+ search: z.ZodOptional<z.ZodNullable<z.ZodString>>;
407
+ order: z.ZodOptional<z.ZodNullable<z.ZodEnum<{
408
+ asc: "asc";
409
+ desc: "desc";
410
+ }>>>;
411
+ filters: z.ZodPipe<z.ZodObject<{
412
+ subtypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
413
+ image: "image";
414
+ document: "document";
415
+ spreadsheet: "spreadsheet";
416
+ video: "video";
417
+ audio: "audio";
418
+ archive: "archive";
419
+ other: "other";
420
+ }>>>>;
421
+ hidden: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
422
+ types: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<{
423
+ file: "file";
424
+ folder: "folder";
425
+ }>>>>;
426
+ contentTypes: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
427
+ nodeIds: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodString>>>;
428
+ isArchived: z.ZodOptional<z.ZodNullable<z.ZodBoolean>>;
429
+ namespace: z.ZodString;
430
+ parentId: z.ZodNullable<z.ZodString>;
431
+ }, z.core.$strip>, z.ZodTransform<{
432
+ hidden: boolean;
433
+ isArchived: boolean;
434
+ namespace: string;
435
+ parentId: string | null;
436
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
437
+ types?: ("file" | "folder")[] | null | undefined;
438
+ contentTypes?: string[] | null | undefined;
439
+ nodeIds?: string[] | null | undefined;
440
+ }, {
441
+ namespace: string;
442
+ parentId: string | null;
443
+ subtypes?: ("image" | "document" | "spreadsheet" | "video" | "audio" | "archive" | "other")[] | null | undefined;
444
+ hidden?: boolean | null | undefined;
445
+ types?: ("file" | "folder")[] | null | undefined;
446
+ contentTypes?: string[] | null | undefined;
447
+ nodeIds?: string[] | null | undefined;
448
+ isArchived?: boolean | null | undefined;
449
+ }>>;
450
+ }, z.core.$strip>;
451
+ type GetLocalDriveNodesByParentIdInput = z.input<typeof getLocalDriveNodesByParentIdInputSchema>;
452
+ //#endregion
453
+ export { CreateLocalDriveFolderInput, CreateLocalDriveFolderSchema, GetLocalDriveNodesByParentIdInput, GetLocalFileURLSchema, ListLocalDriveFlatSchema, ListLocalDriveTreeInput, ListLocalDriveTreeSchema, LocalDriveFileNode, LocalDriveFolderNode, LocalDriveNode, LocalDriveNodeChild, LocalDriveNodeWithAsset, LocalDriveNodeWithChildren, LocalDriveTableFilters, LocalNode, PresignLocalDriveFileInput, UpdateLocalDriveNodeInput, UploadLocalDriveFileSchema, createLocalDriveFolderInputSchema, getLocalDriveNodesByParentIdInputSchema, getLocalFileURLSchema, getLocalFileURLSchemaDefaults, listLocalDriveFlatInputSchema, listLocalDriveTreeInputSchema, localDriveFlatFiltersSchema, localDriveNodeSchema, localDriveNodeWithChildrenSchema, localDriveTreeFiltersSchema, presignLocalDriveFileInputSchema, updateLocalDriveNodeInputSchema, uploadLocalDriveFileInputSchema };
454
+ //# sourceMappingURL=validators.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.d.mts","names":[],"sources":["../../../../src/providers/local/lib/validators.ts"],"mappings":";;;;;;;;AAqBA;KAAY,SAAA,UAAmB,KAAA,CAAM,YAAA;AAAA,cAExB,oBAAA,EAAoB,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAKrB,cAAA,GAAiB,CAAA,CAAE,KAAA,QAAa,oBAAA;AAAA,KAChC,kBAAA,GAAqB,cAAA;EAAmB,IAAA;AAAA;AAAA,KACxC,oBAAA,GAAuB,cAAA;EAAmB,IAAA;AAAA;AAAA,KAC1C,mBAAA,GAAsB,cAAA,CAAe,cAAA;AAAA,KACrC,uBAAA,GAA0B,cAAA;EAAmB,KAAA,EAAO,YAAA;AAAA;;;;cAKnD,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIjC,0BAAA,GAA6B,CAAA,CAAE,KAAA,QAAa,gCAAA;;;;cAK3C,iCAAA,EAAiC,CAAA,CAAA,SAAA;;;;;;;KAIlC,2BAAA,GAA8B,CAAA,CAAE,KAAA,QAAa,iCAAA;AAAA,KAC7C,4BAAA,GAA+B,CAAA,CAAE,KAAA,QAAa,iCAAA;AAvB1D;;;AAAA,cA4Ba,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;KAMhC,yBAAA,GAA4B,CAAA,CAAE,KAAA,QAAa,+BAAA;;;;cAK1C,+BAAA,EAA+B,CAAA,CAAA,SAAA;;;;;;;;;KAIhC,0BAAA,GAA6B,CAAA,CAAE,KAAA,QAAa,+BAAA;AAvCxD;;;AAAA,cA4Ca,gCAAA,EAAgC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;KAMjC,0BAAA,GAA6B,CAAA,CAAE,KAAA,QAAa,gCAAA;;;;cAK3C,6BAAA;EAAA,SAAmF,OAAA;EAAA,SAAA,WAAA;AAAA;AAAA,cAEnF,qBAAA,EAAqB,CAAA,CAAA,SAAA;;;;;;;;;;KAItB,qBAAA,GAAwB,CAAA,CAAE,KAAA,QAAa,qBAAA;;;;cAKtC,2BAAA,EAA2B,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAW5B,sBAAA,GAAyB,CAAA,CAAE,KAAA,QAAa,2BAAA;;;;cAKvC,2BAAA,EAA2B,CAAA,CAAA,OAAA,CAAA,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAc3B,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAI9B,uBAAA,GAA0B,CAAA,CAAE,KAAA,QAAa,6BAAA;AAAA,KACzC,wBAAA,GAA2B,CAAA,CAAE,KAAA,QAAa,6BAAA;;;;cAKzC,6BAAA,EAA6B,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAI9B,wBAAA,GAA2B,CAAA,CAAE,KAAA,QAAa,6BAAA;;;;cAKzC,uCAAA,EAAuC,CAAA,CAAA,SAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAIxC,iCAAA,GAAoC,CAAA,CAAE,KAAA,QACzC,uCAAA"}
@@ -0,0 +1,96 @@
1
+ import { driveNodeSchema } from "../../../lib/dto.mjs";
2
+ import { createDriveFolderInputSchema, presignDriveFileInputSchema, updateDriveNodeInputSchema, uploadDriveFileInputSchema } from "../../../lib/validators.mjs";
3
+ import { imageVariants } from "./constants.mjs";
4
+ import { localDriveFilters } from "../config/filters.mjs";
5
+ import { z } from "zod";
6
+ import { resolveFiltersSchema, tableQuerySchema } from "@tulip-systems/core/data-tables";
7
+ import { getAssetURLSchema, storageAssetVisibilitySchema } from "@tulip-systems/core/storage";
8
+
9
+ //#region src/providers/local/lib/validators.ts
10
+ const localDriveNodeSchema = driveNodeSchema.extend({
11
+ provider: z.literal("local"),
12
+ assetId: z.string().nullable()
13
+ });
14
+ /**
15
+ * Node with children
16
+ */
17
+ const localDriveNodeWithChildrenSchema = localDriveNodeSchema.extend({ children: z.array(localDriveNodeSchema) });
18
+ /**
19
+ * Create folder
20
+ */
21
+ const createLocalDriveFolderInputSchema = createDriveFolderInputSchema.extend({
22
+ hidden: z.boolean().optional(),
23
+ readonly: z.boolean().optional()
24
+ });
25
+ /**
26
+ * Update node
27
+ */
28
+ const updateLocalDriveNodeInputSchema = updateDriveNodeInputSchema.extend({
29
+ parentId: z.string().nullable().optional(),
30
+ hidden: z.boolean().optional(),
31
+ readonly: z.boolean().optional(),
32
+ archivedAt: z.date().nullable().optional()
33
+ });
34
+ /**
35
+ * Upload file
36
+ */
37
+ const uploadLocalDriveFileInputSchema = uploadDriveFileInputSchema.extend({
38
+ hidden: z.boolean().optional(),
39
+ readonly: z.boolean().optional()
40
+ });
41
+ /**
42
+ * Presign file
43
+ */
44
+ const presignLocalDriveFileInputSchema = presignDriveFileInputSchema.extend({
45
+ hidden: z.boolean().optional(),
46
+ readonly: z.boolean().optional(),
47
+ uploadId: z.uuid().optional(),
48
+ visibility: storageAssetVisibilitySchema.optional().default("private")
49
+ });
50
+ /**
51
+ * Get file url schema
52
+ */
53
+ const getLocalFileURLSchemaDefaults = {
54
+ variant: "main",
55
+ disposition: "inline"
56
+ };
57
+ const getLocalFileURLSchema = getAssetURLSchema.extend({ variant: z.enum(imageVariants).optional().default(getLocalFileURLSchemaDefaults.variant) });
58
+ /**
59
+ * Tree filters
60
+ */
61
+ const localDriveTreeFiltersSchema = resolveFiltersSchema(localDriveFilters).partial().extend({
62
+ namespace: z.string(),
63
+ parentId: z.string().nullable()
64
+ }).transform((input) => ({
65
+ ...input,
66
+ hidden: input?.hidden ?? false,
67
+ isArchived: input?.isArchived ?? false
68
+ }));
69
+ /**
70
+ * Flat filters
71
+ */
72
+ const localDriveFlatFiltersSchema = resolveFiltersSchema(localDriveFilters).partial().extend({ namespace: z.string().optional() }).transform((input) => ({
73
+ ...input,
74
+ hidden: input?.hidden ?? false,
75
+ isArchived: input?.isArchived ?? false
76
+ }));
77
+ /**
78
+ * List tree input schema
79
+ */
80
+ const listLocalDriveTreeInputSchema = tableQuerySchema.extend({ filters: localDriveTreeFiltersSchema });
81
+ /**
82
+ * List flat input schema
83
+ */
84
+ const listLocalDriveFlatInputSchema = tableQuerySchema.extend({ filters: localDriveFlatFiltersSchema });
85
+ /**
86
+ * Get by parent id input
87
+ */
88
+ const getLocalDriveNodesByParentIdInputSchema = tableQuerySchema.pick({
89
+ order: true,
90
+ sort: true,
91
+ search: true
92
+ }).extend({ filters: localDriveTreeFiltersSchema });
93
+
94
+ //#endregion
95
+ export { createLocalDriveFolderInputSchema, getLocalDriveNodesByParentIdInputSchema, getLocalFileURLSchema, getLocalFileURLSchemaDefaults, listLocalDriveFlatInputSchema, listLocalDriveTreeInputSchema, localDriveFlatFiltersSchema, localDriveNodeSchema, localDriveNodeWithChildrenSchema, localDriveTreeFiltersSchema, presignLocalDriveFileInputSchema, updateLocalDriveNodeInputSchema, uploadLocalDriveFileInputSchema };
96
+ //# sourceMappingURL=validators.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validators.mjs","names":[],"sources":["../../../../src/providers/local/lib/validators.ts"],"sourcesContent":["import { resolveFiltersSchema, tableQuerySchema } from \"@tulip-systems/core/data-tables\";\nimport {\n getAssetURLSchema,\n type StorageAsset,\n storageAssetVisibilitySchema,\n} from \"@tulip-systems/core/storage\";\nimport { z } from \"zod\";\nimport { type DriveNodeChild, driveNodeSchema } from \"@/lib/dto\";\nimport {\n createDriveFolderInputSchema,\n presignDriveFileInputSchema,\n updateDriveNodeInputSchema,\n uploadDriveFileInputSchema,\n} from \"@/lib/validators\";\nimport { localDriveFilters } from \"../config/filters\";\nimport { imageVariants } from \"./constants\";\nimport type { nodes } from \"./schema\";\n\n/**\n * Nodes\n */\nexport type LocalNode = typeof nodes.$inferSelect;\n\nexport const localDriveNodeSchema = driveNodeSchema.extend({\n provider: z.literal(\"local\"),\n assetId: z.string().nullable(),\n});\n\nexport type LocalDriveNode = z.infer<typeof localDriveNodeSchema>;\nexport type LocalDriveFileNode = LocalDriveNode & { type: \"file\" };\nexport type LocalDriveFolderNode = LocalDriveNode & { type: \"folder\" };\nexport type LocalDriveNodeChild = DriveNodeChild<LocalDriveNode>;\nexport type LocalDriveNodeWithAsset = LocalDriveNode & { asset: StorageAsset | null };\n\n/**\n * Node with children\n */\nexport const localDriveNodeWithChildrenSchema = localDriveNodeSchema.extend({\n children: z.array(localDriveNodeSchema),\n});\n\nexport type LocalDriveNodeWithChildren = z.infer<typeof localDriveNodeWithChildrenSchema>;\n\n/**\n * Create folder\n */\nexport const createLocalDriveFolderInputSchema = createDriveFolderInputSchema.extend({\n hidden: z.boolean().optional(),\n readonly: z.boolean().optional(),\n});\nexport type CreateLocalDriveFolderInput = z.input<typeof createLocalDriveFolderInputSchema>;\nexport type CreateLocalDriveFolderSchema = z.infer<typeof createLocalDriveFolderInputSchema>;\n\n/**\n * Update node\n */\nexport const updateLocalDriveNodeInputSchema = updateDriveNodeInputSchema.extend({\n parentId: z.string().nullable().optional(),\n hidden: z.boolean().optional(),\n readonly: z.boolean().optional(),\n archivedAt: z.date().nullable().optional(),\n});\nexport type UpdateLocalDriveNodeInput = z.input<typeof updateLocalDriveNodeInputSchema>;\n\n/**\n * Upload file\n */\nexport const uploadLocalDriveFileInputSchema = uploadDriveFileInputSchema.extend({\n hidden: z.boolean().optional(),\n readonly: z.boolean().optional(),\n});\nexport type UploadLocalDriveFileSchema = z.infer<typeof uploadLocalDriveFileInputSchema>;\n\n/**\n * Presign file\n */\nexport const presignLocalDriveFileInputSchema = presignDriveFileInputSchema.extend({\n hidden: z.boolean().optional(),\n readonly: z.boolean().optional(),\n uploadId: z.uuid().optional(),\n visibility: storageAssetVisibilitySchema.optional().default(\"private\"),\n});\nexport type PresignLocalDriveFileInput = z.input<typeof presignLocalDriveFileInputSchema>;\n\n/**\n * Get file url schema\n */\nexport const getLocalFileURLSchemaDefaults = { variant: \"main\", disposition: \"inline\" } as const;\n\nexport const getLocalFileURLSchema = getAssetURLSchema.extend({\n variant: z.enum(imageVariants).optional().default(getLocalFileURLSchemaDefaults.variant),\n});\n\nexport type GetLocalFileURLSchema = z.infer<typeof getLocalFileURLSchema>;\n\n/**\n * Tree filters\n */\nexport const localDriveTreeFiltersSchema = resolveFiltersSchema(localDriveFilters)\n .partial()\n .extend({\n namespace: z.string(),\n parentId: z.string().nullable(),\n })\n .transform((input) => ({\n ...input,\n hidden: input?.hidden ?? false,\n isArchived: input?.isArchived ?? false,\n }));\nexport type LocalDriveTableFilters = z.input<typeof localDriveTreeFiltersSchema>;\n\n/**\n * Flat filters\n */\nexport const localDriveFlatFiltersSchema = resolveFiltersSchema(localDriveFilters)\n .partial()\n .extend({\n namespace: z.string().optional(),\n })\n .transform((input) => ({\n ...input,\n hidden: input?.hidden ?? false,\n isArchived: input?.isArchived ?? false,\n }));\n\n/**\n * List tree input schema\n */\nexport const listLocalDriveTreeInputSchema = tableQuerySchema.extend({\n filters: localDriveTreeFiltersSchema,\n});\n\nexport type ListLocalDriveTreeInput = z.input<typeof listLocalDriveTreeInputSchema>;\nexport type ListLocalDriveTreeSchema = z.infer<typeof listLocalDriveTreeInputSchema>;\n\n/**\n * List flat input schema\n */\nexport const listLocalDriveFlatInputSchema = tableQuerySchema.extend({\n filters: localDriveFlatFiltersSchema,\n});\n\nexport type ListLocalDriveFlatSchema = z.infer<typeof listLocalDriveFlatInputSchema>;\n\n/**\n * Get by parent id input\n */\nexport const getLocalDriveNodesByParentIdInputSchema = tableQuerySchema\n .pick({ order: true, sort: true, search: true })\n .extend({ filters: localDriveTreeFiltersSchema });\n\nexport type GetLocalDriveNodesByParentIdInput = z.input<\n typeof getLocalDriveNodesByParentIdInputSchema\n>;\n"],"mappings":";;;;;;;;;AAuBA,MAAa,uBAAuB,gBAAgB,OAAO;CACzD,UAAU,EAAE,QAAQ,QAAQ;CAC5B,SAAS,EAAE,QAAQ,CAAC,UAAU;CAC/B,CAAC;;;;AAWF,MAAa,mCAAmC,qBAAqB,OAAO,EAC1E,UAAU,EAAE,MAAM,qBAAqB,EACxC,CAAC;;;;AAOF,MAAa,oCAAoC,6BAA6B,OAAO;CACnF,QAAQ,EAAE,SAAS,CAAC,UAAU;CAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;CACjC,CAAC;;;;AAOF,MAAa,kCAAkC,2BAA2B,OAAO;CAC/E,UAAU,EAAE,QAAQ,CAAC,UAAU,CAAC,UAAU;CAC1C,QAAQ,EAAE,SAAS,CAAC,UAAU;CAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;CAChC,YAAY,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU;CAC3C,CAAC;;;;AAMF,MAAa,kCAAkC,2BAA2B,OAAO;CAC/E,QAAQ,EAAE,SAAS,CAAC,UAAU;CAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;CACjC,CAAC;;;;AAMF,MAAa,mCAAmC,4BAA4B,OAAO;CACjF,QAAQ,EAAE,SAAS,CAAC,UAAU;CAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;CAChC,UAAU,EAAE,MAAM,CAAC,UAAU;CAC7B,YAAY,6BAA6B,UAAU,CAAC,QAAQ,UAAU;CACvE,CAAC;;;;AAMF,MAAa,gCAAgC;CAAE,SAAS;CAAQ,aAAa;CAAU;AAEvF,MAAa,wBAAwB,kBAAkB,OAAO,EAC5D,SAAS,EAAE,KAAK,cAAc,CAAC,UAAU,CAAC,QAAQ,8BAA8B,QAAQ,EACzF,CAAC;;;;AAOF,MAAa,8BAA8B,qBAAqB,kBAAkB,CAC/E,SAAS,CACT,OAAO;CACN,WAAW,EAAE,QAAQ;CACrB,UAAU,EAAE,QAAQ,CAAC,UAAU;CAChC,CAAC,CACD,WAAW,WAAW;CACrB,GAAG;CACH,QAAQ,OAAO,UAAU;CACzB,YAAY,OAAO,cAAc;CAClC,EAAE;;;;AAML,MAAa,8BAA8B,qBAAqB,kBAAkB,CAC/E,SAAS,CACT,OAAO,EACN,WAAW,EAAE,QAAQ,CAAC,UAAU,EACjC,CAAC,CACD,WAAW,WAAW;CACrB,GAAG;CACH,QAAQ,OAAO,UAAU;CACzB,YAAY,OAAO,cAAc;CAClC,EAAE;;;;AAKL,MAAa,gCAAgC,iBAAiB,OAAO,EACnE,SAAS,6BACV,CAAC;;;;AAQF,MAAa,gCAAgC,iBAAiB,OAAO,EACnE,SAAS,6BACV,CAAC;;;;AAOF,MAAa,0CAA0C,iBACpD,KAAK;CAAE,OAAO;CAAM,MAAM;CAAM,QAAQ;CAAM,CAAC,CAC/C,OAAO,EAAE,SAAS,6BAA6B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { getDriveViewModeFromCookies } from "./lib/helpers.server.mjs";
2
+ export { getDriveViewModeFromCookies };
@@ -0,0 +1,3 @@
1
+ import { getDriveViewModeFromCookies } from "./lib/helpers.server.mjs";
2
+
3
+ export { getDriveViewModeFromCookies };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tulip-systems/drive",
3
- "version": "0.8.0",
3
+ "version": "0.8.2",
4
4
  "type": "module",
5
5
  "sideEffects": false,
6
6
  "license": "AGPL-3.0",
@@ -65,7 +65,7 @@
65
65
  "uuid": "^13.0.0",
66
66
  "vaul": "^1.1.2",
67
67
  "zod": "^4.3.6",
68
- "@tulip-systems/core": "0.8.0"
68
+ "@tulip-systems/core": "0.8.2"
69
69
  },
70
70
  "peerDependencies": {
71
71
  "@better-auth/passkey": "^1.5.5",
@@ -105,6 +105,7 @@
105
105
  "scripts": {
106
106
  "dev": "tsdown --config-loader tsdown.config.ts --watch",
107
107
  "build": "tsdown --config-loader tsdown.config.ts",
108
+ "release:build": "pnpm run build",
108
109
  "lint": "biome check",
109
110
  "format": "biome format --write",
110
111
  "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist",
@@ -17,7 +17,7 @@ import {
17
17
  Skeleton,
18
18
  } from "@tulip-systems/core/components";
19
19
  import { FolderIcon } from "lucide-react";
20
- import Image from "next/image";
20
+ import Image, { type ImageLoaderProps } from "next/image";
21
21
  import { useRouter } from "next/navigation";
22
22
  import type { ComponentProps } from "react";
23
23
  import { nodeSubtypeConfig, nodeSubtypeVariants } from "@/config/types";
@@ -30,6 +30,7 @@ import { useDriveSelectionContext } from "./selection.client";
30
30
  type DriveGridCardProps<TData extends DriveNode> = ComponentProps<"div"> & {
31
31
  node: TData;
32
32
  commands?: CommandDef<TData>[];
33
+ imageLoader?: (props: ImageLoaderProps) => string;
33
34
  };
34
35
 
35
36
  export function DriveGridCard<TData extends DriveNode>(props: DriveGridCardProps<TData>) {
@@ -142,6 +143,7 @@ export function DriveGridFolderCard<TData extends DriveNode>({
142
143
  export function DriveGridFileCard<TData extends DriveNode>({
143
144
  node,
144
145
  commands,
146
+ imageLoader,
145
147
  className,
146
148
  ...props
147
149
  }: DriveGridCardProps<TData>) {
@@ -218,6 +220,7 @@ export function DriveGridFileCard<TData extends DriveNode>({
218
220
  alt={node.name}
219
221
  width={200}
220
222
  height={200}
223
+ loader={imageLoader}
221
224
  className="h-full w-full object-cover"
222
225
  />
223
226
  ) : (
@@ -23,6 +23,7 @@ import { DriveGridCard, DriveGridCardSkeleton } from "@/components/grid-card.cli
23
23
  import { useDriveSelectionContext } from "@/components/selection.client";
24
24
  import { useDriveViewContext } from "@/components/view.client";
25
25
  import { googleDriveColumns } from "../config/columns-data";
26
+ import { googleDriveImageLoader } from "../lib/helpers";
26
27
  import type { GoogleDriveNode } from "../lib/validators";
27
28
  import { useGoogleDriveContext } from "./provider.client";
28
29
 
@@ -106,7 +107,14 @@ function GoogleDriveGrid(props: ComponentProps<"div">) {
106
107
  return (
107
108
  <DriveGrid {...props}>
108
109
  {queryData.length > 0 ? (
109
- queryData.map((node) => <DriveGridCard key={node.id} node={node} commands={commands} />)
110
+ queryData.map((node) => (
111
+ <DriveGridCard
112
+ key={node.id}
113
+ node={node}
114
+ commands={commands}
115
+ imageLoader={googleDriveImageLoader}
116
+ />
117
+ ))
110
118
  ) : (
111
119
  <DriveGridEmpty title="Geen resultaten gevonden" />
112
120
  )}