diff --git a/migrations/0003_attachment_metadata.sql b/migrations/0003_attachment_metadata.sql new file mode 100644 index 0000000..9bf7bfa --- /dev/null +++ b/migrations/0003_attachment_metadata.sql @@ -0,0 +1,3 @@ +-- 0003_attachment_metadata.sql — 给附件加结构化、按类型而异的元信息(纯增量) +ALTER TABLE attachments ADD COLUMN metadata TEXT; -- 按 kind 判别的 JSON 对象 +ALTER TABLE attachments ADD COLUMN metadata_kind TEXT; -- image|video|audio|document|file,冗余便于筛选 diff --git a/package.json b/package.json index 53e3597..fe2a2ac 100644 --- a/package.json +++ b/package.json @@ -16,6 +16,7 @@ "dependencies": { "@hono/zod-openapi": "^1.4.0", "hono": "^4.12.0", + "image-size": "^2.0.0", "zod": "^4.0.0" }, "devDependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b7c8bca..fad9f9b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: hono: specifier: ^4.12.0 version: 4.12.27 + image-size: + specifier: ^2.0.0 + version: 2.0.2 zod: specifier: ^4.0.0 version: 4.4.3 @@ -691,6 +694,11 @@ packages: resolution: {integrity: sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==} engines: {node: '>=16.9.0'} + image-size@2.0.2: + resolution: {integrity: sha512-IRqXKlaXwgSMAMtpNzZa1ZAe8m+Sa1770Dhk8VkSsP9LS+iHD62Zd8FQKs8fbPiagBE7BzoFX23cxFnwshpV6w==} + engines: {node: '>=16.x'} + hasBin: true + js-tokens@9.0.1: resolution: {integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==} @@ -1384,6 +1392,8 @@ snapshots: hono@4.12.27: {} + image-size@2.0.2: {} + js-tokens@9.0.1: {} kleur@4.1.5: {}