@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.
- package/LICENSE +662 -0
- package/dist/client.d.mts +12 -0
- package/dist/client.mjs +12 -0
- package/dist/database/drizzle/lib/adapter.d.mts +310 -0
- package/dist/database/drizzle/lib/adapter.mjs +520 -0
- package/dist/database/drizzle/lib/compilers.d.mts +395 -0
- package/dist/database/drizzle/lib/compilers.mjs +21 -0
- package/dist/database/drizzle/lib/schema.d.mts +61 -0
- package/dist/drizzle.d.mts +4 -0
- package/dist/drizzle.mjs +3 -0
- package/dist/index.d.mts +8 -0
- package/dist/index.mjs +8 -0
- package/dist/root/components/command-file-update.d.mts +11 -0
- package/dist/root/components/command-file-update.mjs +44 -0
- package/dist/root/components/command-file-upload.d.mts +5 -0
- package/dist/root/components/command-file-upload.mjs +31 -0
- package/dist/root/components/command-folder-create.d.mts +11 -0
- package/dist/root/components/command-folder-create.mjs +50 -0
- package/dist/root/components/command-folder-update.d.mts +11 -0
- package/dist/root/components/command-folder-update.mjs +44 -0
- package/dist/root/components/content.client.d.mts +5 -0
- package/dist/root/components/content.client.mjs +5 -0
- package/dist/root/components/navigation.client.d.mts +11 -0
- package/dist/root/components/navigation.client.mjs +12 -0
- package/dist/root/components/provider.client.d.mts +16 -0
- package/dist/root/components/provider.client.mjs +65 -0
- package/dist/root/components/upload-zone-context.client.d.mts +36 -0
- package/dist/root/components/upload-zone-context.client.mjs +19 -0
- package/dist/root/components/upload-zone.client.d.mts +16 -0
- package/dist/root/components/upload-zone.client.mjs +147 -0
- package/dist/root/components/view.client.d.mts +20 -0
- package/dist/root/components/view.client.mjs +86 -0
- package/dist/root/config/columns-data.d.mts +6 -0
- package/dist/root/config/columns-data.mjs +62 -0
- package/dist/root/config/filters.d.mts +404 -0
- package/dist/root/config/filters.mjs +122 -0
- package/dist/root/config/sorting.d.mts +38 -0
- package/dist/root/config/sorting.mjs +26 -0
- package/dist/root/lib/constants.d.mts +12 -0
- package/dist/root/lib/constants.mjs +27 -0
- package/dist/root/lib/database/contracts.d.mts +112 -0
- package/dist/root/lib/database/filters.d.mts +28 -0
- package/dist/root/lib/database/filters.mjs +73 -0
- package/dist/root/lib/helpers.d.mts +33 -0
- package/dist/root/lib/helpers.mjs +78 -0
- package/dist/root/lib/route-handler.server.d.mts +36 -0
- package/dist/root/lib/route-handler.server.mjs +111 -0
- package/dist/root/lib/router.server.d.mts +819 -0
- package/dist/root/lib/router.server.mjs +87 -0
- package/dist/root/lib/search-params.d.mts +15 -0
- package/dist/root/lib/search-params.mjs +6 -0
- package/dist/root/lib/service.server.d.mts +522 -0
- package/dist/root/lib/service.server.mjs +613 -0
- package/dist/root/lib/upload.client.d.mts +60 -0
- package/dist/root/lib/upload.client.mjs +97 -0
- package/dist/root/lib/validators.d.mts +710 -0
- package/dist/root/lib/validators.mjs +116 -0
- package/dist/server.d.mts +5 -0
- package/dist/server.mjs +4 -0
- package/package.json +83 -0
- 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 };
|
package/dist/server.mjs
ADDED
|
@@ -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";
|