@tulip-systems/drive-local 0.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/LICENSE +662 -0
  2. package/dist/client.d.mts +12 -0
  3. package/dist/client.mjs +12 -0
  4. package/dist/database/drizzle/lib/adapter.d.mts +310 -0
  5. package/dist/database/drizzle/lib/adapter.mjs +520 -0
  6. package/dist/database/drizzle/lib/compilers.d.mts +395 -0
  7. package/dist/database/drizzle/lib/compilers.mjs +21 -0
  8. package/dist/database/drizzle/lib/schema.d.mts +61 -0
  9. package/dist/drizzle.d.mts +4 -0
  10. package/dist/drizzle.mjs +3 -0
  11. package/dist/index.d.mts +8 -0
  12. package/dist/index.mjs +8 -0
  13. package/dist/root/components/command-file-update.d.mts +11 -0
  14. package/dist/root/components/command-file-update.mjs +44 -0
  15. package/dist/root/components/command-file-upload.d.mts +5 -0
  16. package/dist/root/components/command-file-upload.mjs +31 -0
  17. package/dist/root/components/command-folder-create.d.mts +11 -0
  18. package/dist/root/components/command-folder-create.mjs +50 -0
  19. package/dist/root/components/command-folder-update.d.mts +11 -0
  20. package/dist/root/components/command-folder-update.mjs +44 -0
  21. package/dist/root/components/content.client.d.mts +5 -0
  22. package/dist/root/components/content.client.mjs +5 -0
  23. package/dist/root/components/navigation.client.d.mts +11 -0
  24. package/dist/root/components/navigation.client.mjs +12 -0
  25. package/dist/root/components/provider.client.d.mts +16 -0
  26. package/dist/root/components/provider.client.mjs +65 -0
  27. package/dist/root/components/upload-zone-context.client.d.mts +36 -0
  28. package/dist/root/components/upload-zone-context.client.mjs +19 -0
  29. package/dist/root/components/upload-zone.client.d.mts +16 -0
  30. package/dist/root/components/upload-zone.client.mjs +147 -0
  31. package/dist/root/components/view.client.d.mts +20 -0
  32. package/dist/root/components/view.client.mjs +86 -0
  33. package/dist/root/config/columns-data.d.mts +6 -0
  34. package/dist/root/config/columns-data.mjs +62 -0
  35. package/dist/root/config/filters.d.mts +404 -0
  36. package/dist/root/config/filters.mjs +122 -0
  37. package/dist/root/config/sorting.d.mts +38 -0
  38. package/dist/root/config/sorting.mjs +26 -0
  39. package/dist/root/lib/constants.d.mts +12 -0
  40. package/dist/root/lib/constants.mjs +27 -0
  41. package/dist/root/lib/database/contracts.d.mts +112 -0
  42. package/dist/root/lib/database/filters.d.mts +28 -0
  43. package/dist/root/lib/database/filters.mjs +73 -0
  44. package/dist/root/lib/helpers.d.mts +33 -0
  45. package/dist/root/lib/helpers.mjs +78 -0
  46. package/dist/root/lib/route-handler.server.d.mts +36 -0
  47. package/dist/root/lib/route-handler.server.mjs +111 -0
  48. package/dist/root/lib/router.server.d.mts +819 -0
  49. package/dist/root/lib/router.server.mjs +87 -0
  50. package/dist/root/lib/search-params.d.mts +15 -0
  51. package/dist/root/lib/search-params.mjs +6 -0
  52. package/dist/root/lib/service.server.d.mts +522 -0
  53. package/dist/root/lib/service.server.mjs +613 -0
  54. package/dist/root/lib/upload.client.d.mts +60 -0
  55. package/dist/root/lib/upload.client.mjs +97 -0
  56. package/dist/root/lib/validators.d.mts +710 -0
  57. package/dist/root/lib/validators.mjs +116 -0
  58. package/dist/server.d.mts +5 -0
  59. package/dist/server.mjs +4 -0
  60. package/package.json +83 -0
  61. package/styles.css +1 -0
@@ -0,0 +1,116 @@
1
+ import { imageVariants } from "./constants.mjs";
2
+ import { localDriveFiltersSchema } from "../config/filters.mjs";
3
+ import { localDriveTableSortsSchema } from "../config/sorting.mjs";
4
+ import { createDriveFolderInputSchema, driveNodeSchema, presignDriveFileInputSchema, updateDriveNodeInputSchema, uploadDriveFileInputSchema } from "@tulip-systems/drive";
5
+ import { offsetPaginationResponseSchema, offsetPaginationSchema } from "@tulip-systems/query";
6
+ import { getAssetURLSchema, selectStorageAssetSchema, storageAssetVisibilitySchema } from "@tulip-systems/storage";
7
+ import { z as z$1 } from "zod";
8
+ //#region src/root/lib/validators.ts
9
+ const localDriveNodeSchema = driveNodeSchema.extend({
10
+ provider: z$1.literal("local"),
11
+ assetId: z$1.string().nullable()
12
+ });
13
+ /**
14
+ * File node & folder node
15
+ */
16
+ const localDriveFileNodeSchema = localDriveNodeSchema.extend({ type: z$1.literal("file") });
17
+ const localDriveFolderNodeSchema = localDriveNodeSchema.extend({ type: z$1.literal("folder") });
18
+ /**
19
+ * Node with asset
20
+ */
21
+ const localDriveNodeWithAssetSchema = localDriveNodeSchema.extend({ asset: selectStorageAssetSchema.nullable() });
22
+ /**
23
+ * Presign upload response
24
+ */
25
+ const localDrivePresignUploadOutputSchema = z$1.object({
26
+ uploadId: z$1.string(),
27
+ presignedUrl: z$1.string(),
28
+ node: localDriveFileNodeSchema,
29
+ asset: selectStorageAssetSchema
30
+ });
31
+ /**
32
+ * Node parent
33
+ */
34
+ const localDriveNodeParentSchema = z$1.object({
35
+ id: z$1.string(),
36
+ name: z$1.string(),
37
+ parentId: z$1.string().nullable(),
38
+ depth: z$1.number()
39
+ });
40
+ /**
41
+ * Tree response
42
+ */
43
+ const localDriveTreeResponseSchema = z$1.object({
44
+ data: z$1.array(localDriveNodeWithAssetSchema),
45
+ pagination: offsetPaginationResponseSchema
46
+ });
47
+ const localDriveFlatResponseSchema = localDriveTreeResponseSchema;
48
+ /**
49
+ * Node with children
50
+ */
51
+ const localDriveNodeWithChildrenSchema = localDriveNodeSchema.extend({ children: z$1.array(localDriveNodeSchema) });
52
+ /**
53
+ * Create folder
54
+ */
55
+ const createLocalDriveFolderInputSchema = createDriveFolderInputSchema.extend({
56
+ hidden: z$1.boolean().optional(),
57
+ readonly: z$1.boolean().optional()
58
+ });
59
+ /**
60
+ * Update node
61
+ */
62
+ const updateLocalDriveNodeInputSchema = updateDriveNodeInputSchema.extend({
63
+ parentId: z$1.string().nullable().optional(),
64
+ hidden: z$1.boolean().optional(),
65
+ readonly: z$1.boolean().optional(),
66
+ archivedAt: z$1.date().nullable().optional()
67
+ });
68
+ /**
69
+ * Upload file
70
+ */
71
+ const uploadLocalDriveFileInputSchema = uploadDriveFileInputSchema.extend({
72
+ hidden: z$1.boolean().optional(),
73
+ readonly: z$1.boolean().optional()
74
+ });
75
+ /**
76
+ * Presign file
77
+ */
78
+ const presignLocalDriveFileInputSchema = presignDriveFileInputSchema.extend({
79
+ hidden: z$1.boolean().optional(),
80
+ readonly: z$1.boolean().optional(),
81
+ uploadId: z$1.uuid().optional(),
82
+ visibility: storageAssetVisibilitySchema.optional().default("private")
83
+ });
84
+ /**
85
+ * Get file url schema
86
+ */
87
+ const getLocalFileURLSchemaDefaults = {
88
+ variant: "main",
89
+ disposition: "inline"
90
+ };
91
+ const getLocalFileURLSchema = getAssetURLSchema.extend({ variant: z$1.enum(imageVariants).optional().default(getLocalFileURLSchemaDefaults.variant) });
92
+ /**
93
+ * List tree input schema
94
+ */
95
+ const listLocalDriveTreeInputSchema = z$1.object({
96
+ pagination: offsetPaginationSchema,
97
+ filters: localDriveFiltersSchema,
98
+ sorts: localDriveTableSortsSchema.optional().default([])
99
+ });
100
+ /**
101
+ * List flat input schema
102
+ */
103
+ const listLocalDriveFlatInputSchema = z$1.object({
104
+ pagination: offsetPaginationSchema,
105
+ filters: localDriveFiltersSchema,
106
+ sorts: localDriveTableSortsSchema.optional().default([])
107
+ });
108
+ /**
109
+ * Get by parent id input
110
+ */
111
+ const getLocalDriveNodesByParentIdInputSchema = z$1.object({
112
+ filters: localDriveFiltersSchema,
113
+ sorts: localDriveTableSortsSchema.optional().default([])
114
+ });
115
+ //#endregion
116
+ export { createLocalDriveFolderInputSchema, getLocalDriveNodesByParentIdInputSchema, getLocalFileURLSchema, getLocalFileURLSchemaDefaults, listLocalDriveFlatInputSchema, listLocalDriveTreeInputSchema, localDriveFileNodeSchema, localDriveFlatResponseSchema, localDriveFolderNodeSchema, localDriveNodeParentSchema, localDriveNodeSchema, localDriveNodeWithAssetSchema, localDriveNodeWithChildrenSchema, localDrivePresignUploadOutputSchema, localDriveTreeResponseSchema, presignLocalDriveFileInputSchema, updateLocalDriveNodeInputSchema, uploadLocalDriveFileInputSchema };
@@ -0,0 +1,5 @@
1
+ import { LocalDriveDatabaseCreateNodeInput, LocalDriveDatabaseCreateVariantInput, LocalDriveDatabaseDeleteNodesInput, LocalDriveDatabaseFindFirstNodeInput, LocalDriveDatabaseFindFirstPresignedUrlInput, LocalDriveDatabaseFindNodesInput, LocalDriveDatabaseFindVariantsInput, LocalDriveDatabaseListNodesWithAssetInput, LocalDriveDatabaseListResult, LocalDriveDatabaseNodeChild, LocalDriveDatabaseNodeParent, LocalDriveDatabaseNodeVariant, LocalDriveDatabaseNodeWithAsset, LocalDriveDatabasePresignedUrl, LocalDriveDatabaseProvider, LocalDriveDatabaseUpdateNodeInput, LocalDriveDatabaseUpdateNodesInput, UpsertLocalDrivePresignedUrlInput } from "./root/lib/database/contracts.mjs";
2
+ import { LocalDrive, LocalDriveConfig } from "./root/lib/service.server.mjs";
3
+ import { createLocalDriveRouteHandler } from "./root/lib/route-handler.server.mjs";
4
+ import { LocalDriveRouterContractInputs, LocalDriveRouterContractOutputs, localDriveRouterContract } from "./root/lib/router.server.mjs";
5
+ export { LocalDrive, LocalDriveConfig, type LocalDriveDatabaseCreateNodeInput, type LocalDriveDatabaseCreateVariantInput, type LocalDriveDatabaseDeleteNodesInput, type LocalDriveDatabaseFindFirstNodeInput, type LocalDriveDatabaseFindFirstPresignedUrlInput, type LocalDriveDatabaseFindNodesInput, type LocalDriveDatabaseFindVariantsInput, type LocalDriveDatabaseListNodesWithAssetInput, type LocalDriveDatabaseListResult, type LocalDriveDatabaseNodeChild, type LocalDriveDatabaseNodeParent, type LocalDriveDatabaseNodeVariant, type LocalDriveDatabaseNodeWithAsset, type LocalDriveDatabasePresignedUrl, type LocalDriveDatabaseProvider, type LocalDriveDatabaseUpdateNodeInput, type LocalDriveDatabaseUpdateNodesInput, LocalDriveRouterContractInputs, LocalDriveRouterContractOutputs, type UpsertLocalDrivePresignedUrlInput, createLocalDriveRouteHandler, localDriveRouterContract };
@@ -0,0 +1,4 @@
1
+ import { createLocalDriveRouteHandler } from "./root/lib/route-handler.server.mjs";
2
+ import { localDriveRouterContract } from "./root/lib/router.server.mjs";
3
+ import { LocalDrive } from "./root/lib/service.server.mjs";
4
+ export { LocalDrive, createLocalDriveRouteHandler, localDriveRouterContract };
package/package.json ADDED
@@ -0,0 +1,83 @@
1
+ {
2
+ "name": "@tulip-systems/drive-local",
3
+ "version": "0.11.1",
4
+ "type": "module",
5
+ "sideEffects": true,
6
+ "license": "AGPL-3.0",
7
+ "dependencies": {
8
+ "@hookform/resolvers": "^5.7.1",
9
+ "@orpc/contract": "1.14.15",
10
+ "@orpc/server": "^1.14.15",
11
+ "@tanstack/react-query": "^5.101.4",
12
+ "@tanstack/react-table": "^8.21.3",
13
+ "date-fns": "^4.4.0",
14
+ "lucide-react": "^1.30.0",
15
+ "react-dropzone": "^15.0.0",
16
+ "react-hook-form": "^7.84.0",
17
+ "uuid": "^14.0.1",
18
+ "zod": "^4.4.3",
19
+ "@tulip-systems/auth": "0.11.1",
20
+ "@tulip-systems/commands": "0.11.1",
21
+ "@tulip-systems/data-tables": "0.11.1",
22
+ "@tulip-systems/core": "0.11.1",
23
+ "@tulip-systems/drive": "0.11.1",
24
+ "@tulip-systems/storage": "0.11.1",
25
+ "@tulip-systems/query": "0.11.1",
26
+ "@tulip-systems/ui": "0.11.1"
27
+ },
28
+ "devDependencies": {
29
+ "@arethetypeswrong/core": "^0.18.5",
30
+ "@types/react": "19.2.17",
31
+ "drizzle-orm": "^0.45.2",
32
+ "publint": "^0.3.23",
33
+ "tsdown": "^0.22.14",
34
+ "typescript": "5.9.3",
35
+ "unrun": "^0.3.1",
36
+ "vitest": "^4.1.10",
37
+ "@tulip-systems/typescript-config": "0.0.0"
38
+ },
39
+ "peerDependencies": {
40
+ "drizzle-orm": "^0.45.2",
41
+ "next": "16.3",
42
+ "react": "19.2.8",
43
+ "react-dom": "19.2.8",
44
+ "sharp": "^0.34.5"
45
+ },
46
+ "peerDependenciesMeta": {
47
+ "drizzle-orm": {
48
+ "optional": true
49
+ },
50
+ "sharp": {
51
+ "optional": true
52
+ }
53
+ },
54
+ "publishConfig": {
55
+ "access": "public"
56
+ },
57
+ "engines": {
58
+ "node": "24.x"
59
+ },
60
+ "files": [
61
+ "dist",
62
+ "styles.css"
63
+ ],
64
+ "exports": {
65
+ ".": "./dist/index.mjs",
66
+ "./client": "./dist/client.mjs",
67
+ "./drizzle": "./dist/drizzle.mjs",
68
+ "./server": "./dist/server.mjs",
69
+ "./package.json": "./package.json",
70
+ "./styles.css": "./styles.css"
71
+ },
72
+ "scripts": {
73
+ "dev": "tsdown --config tsdown.config.ts --config-loader unrun --watch --no-clean",
74
+ "build": "tsdown --config tsdown.config.ts --config-loader unrun --no-clean",
75
+ "build:release": "tsdown --config tsdown.config.ts --config-loader unrun",
76
+ "lint": "biome check",
77
+ "format": "biome format --write",
78
+ "typecheck": "tsc --noEmit",
79
+ "test": "vitest",
80
+ "test:ci": "vitest run",
81
+ "clean": "rm -rf .turbo && rm -rf node_modules && rm -rf dist"
82
+ }
83
+ }
package/styles.css ADDED
@@ -0,0 +1 @@
1
+ @source "./dist";