remove normalization, fix import issues
This commit is contained in:
@@ -0,0 +1,21 @@
|
|||||||
|
-- RedefineTables
|
||||||
|
PRAGMA defer_foreign_keys=ON;
|
||||||
|
PRAGMA foreign_keys=OFF;
|
||||||
|
CREATE TABLE "new_Drawing" (
|
||||||
|
"id" TEXT NOT NULL PRIMARY KEY,
|
||||||
|
"name" TEXT NOT NULL,
|
||||||
|
"elements" TEXT NOT NULL,
|
||||||
|
"appState" TEXT NOT NULL,
|
||||||
|
"files" TEXT NOT NULL DEFAULT '{}',
|
||||||
|
"preview" TEXT,
|
||||||
|
"version" INTEGER NOT NULL DEFAULT 1,
|
||||||
|
"collectionId" TEXT,
|
||||||
|
"createdAt" DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
"updatedAt" DATETIME NOT NULL,
|
||||||
|
CONSTRAINT "Drawing_collectionId_fkey" FOREIGN KEY ("collectionId") REFERENCES "Collection" ("id") ON DELETE SET NULL ON UPDATE CASCADE
|
||||||
|
);
|
||||||
|
INSERT INTO "new_Drawing" ("appState", "collectionId", "createdAt", "elements", "id", "name", "preview", "updatedAt", "version") SELECT "appState", "collectionId", "createdAt", "elements", "id", "name", "preview", "updatedAt", "version" FROM "Drawing";
|
||||||
|
DROP TABLE "Drawing";
|
||||||
|
ALTER TABLE "new_Drawing" RENAME TO "Drawing";
|
||||||
|
PRAGMA foreign_keys=ON;
|
||||||
|
PRAGMA defer_foreign_keys=OFF;
|
||||||
@@ -24,6 +24,7 @@ model Drawing {
|
|||||||
name String
|
name String
|
||||||
elements String // Stored as JSON string
|
elements String // Stored as JSON string
|
||||||
appState String // Stored as JSON string
|
appState String // Stored as JSON string
|
||||||
|
files String @default("{}") // Stored as JSON string
|
||||||
preview String? // SVG string for thumbnail
|
preview String? // SVG string for thumbnail
|
||||||
version Int @default(1)
|
version Int @default(1)
|
||||||
collectionId String?
|
collectionId String?
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ exports.Prisma.DrawingScalarFieldEnum = {
|
|||||||
name: 'name',
|
name: 'name',
|
||||||
elements: 'elements',
|
elements: 'elements',
|
||||||
appState: 'appState',
|
appState: 'appState',
|
||||||
|
files: 'files',
|
||||||
preview: 'preview',
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
@@ -168,13 +169,13 @@ const config = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Collection {\n id String @id @default(uuid())\n name String\n drawings Drawing[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Drawing {\n id String @id @default(uuid())\n name String\n elements String // Stored as JSON string\n appState String // Stored as JSON string\n preview String? // SVG string for thumbnail\n version Int @default(1)\n collectionId String?\n collection Collection? @relation(fields: [collectionId], references: [id])\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n",
|
"inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Collection {\n id String @id @default(uuid())\n name String\n drawings Drawing[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Drawing {\n id String @id @default(uuid())\n name String\n elements String // Stored as JSON string\n appState String // Stored as JSON string\n files String @default(\"{}\") // Stored as JSON string\n preview String? // SVG string for thumbnail\n version Int @default(1)\n collectionId String?\n collection Collection? @relation(fields: [collectionId], references: [id])\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n",
|
||||||
"inlineSchemaHash": "67e1a3789d22e31866fa8b498914744bb15a8743c766f6c9cb36263d6b7740a9",
|
"inlineSchemaHash": "e43b17bb99e7f864b5a0f2c54951015f0a3d998329d0577afda58e7c0dee4919",
|
||||||
"copyEngine": true
|
"copyEngine": true
|
||||||
}
|
}
|
||||||
config.dirname = '/'
|
config.dirname = '/'
|
||||||
|
|
||||||
config.runtimeDataModel = JSON.parse("{\"models\":{\"Collection\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"drawings\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Drawing\",\"relationName\":\"CollectionToDrawing\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Drawing\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"elements\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"appState\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"preview\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collectionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collection\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Collection\",\"relationName\":\"CollectionToDrawing\",\"relationFromFields\":[\"collectionId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
|
config.runtimeDataModel = JSON.parse("{\"models\":{\"Collection\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"drawings\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Drawing\",\"relationName\":\"CollectionToDrawing\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Drawing\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"elements\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"appState\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"preview\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collectionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collection\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Collection\",\"relationName\":\"CollectionToDrawing\",\"relationFromFields\":[\"collectionId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
|
||||||
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
||||||
config.engineWasm = undefined
|
config.engineWasm = undefined
|
||||||
|
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ exports.Prisma.DrawingScalarFieldEnum = {
|
|||||||
name: 'name',
|
name: 'name',
|
||||||
elements: 'elements',
|
elements: 'elements',
|
||||||
appState: 'appState',
|
appState: 'appState',
|
||||||
|
files: 'files',
|
||||||
preview: 'preview',
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
|
|||||||
+35
@@ -1918,6 +1918,7 @@ export namespace Prisma {
|
|||||||
name: string | null
|
name: string | null
|
||||||
elements: string | null
|
elements: string | null
|
||||||
appState: string | null
|
appState: string | null
|
||||||
|
files: string | null
|
||||||
preview: string | null
|
preview: string | null
|
||||||
version: number | null
|
version: number | null
|
||||||
collectionId: string | null
|
collectionId: string | null
|
||||||
@@ -1930,6 +1931,7 @@ export namespace Prisma {
|
|||||||
name: string | null
|
name: string | null
|
||||||
elements: string | null
|
elements: string | null
|
||||||
appState: string | null
|
appState: string | null
|
||||||
|
files: string | null
|
||||||
preview: string | null
|
preview: string | null
|
||||||
version: number | null
|
version: number | null
|
||||||
collectionId: string | null
|
collectionId: string | null
|
||||||
@@ -1942,6 +1944,7 @@ export namespace Prisma {
|
|||||||
name: number
|
name: number
|
||||||
elements: number
|
elements: number
|
||||||
appState: number
|
appState: number
|
||||||
|
files: number
|
||||||
preview: number
|
preview: number
|
||||||
version: number
|
version: number
|
||||||
collectionId: number
|
collectionId: number
|
||||||
@@ -1964,6 +1967,7 @@ export namespace Prisma {
|
|||||||
name?: true
|
name?: true
|
||||||
elements?: true
|
elements?: true
|
||||||
appState?: true
|
appState?: true
|
||||||
|
files?: true
|
||||||
preview?: true
|
preview?: true
|
||||||
version?: true
|
version?: true
|
||||||
collectionId?: true
|
collectionId?: true
|
||||||
@@ -1976,6 +1980,7 @@ export namespace Prisma {
|
|||||||
name?: true
|
name?: true
|
||||||
elements?: true
|
elements?: true
|
||||||
appState?: true
|
appState?: true
|
||||||
|
files?: true
|
||||||
preview?: true
|
preview?: true
|
||||||
version?: true
|
version?: true
|
||||||
collectionId?: true
|
collectionId?: true
|
||||||
@@ -1988,6 +1993,7 @@ export namespace Prisma {
|
|||||||
name?: true
|
name?: true
|
||||||
elements?: true
|
elements?: true
|
||||||
appState?: true
|
appState?: true
|
||||||
|
files?: true
|
||||||
preview?: true
|
preview?: true
|
||||||
version?: true
|
version?: true
|
||||||
collectionId?: true
|
collectionId?: true
|
||||||
@@ -2087,6 +2093,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
files: string
|
||||||
preview: string | null
|
preview: string | null
|
||||||
version: number
|
version: number
|
||||||
collectionId: string | null
|
collectionId: string | null
|
||||||
@@ -2118,6 +2125,7 @@ export namespace Prisma {
|
|||||||
name?: boolean
|
name?: boolean
|
||||||
elements?: boolean
|
elements?: boolean
|
||||||
appState?: boolean
|
appState?: boolean
|
||||||
|
files?: boolean
|
||||||
preview?: boolean
|
preview?: boolean
|
||||||
version?: boolean
|
version?: boolean
|
||||||
collectionId?: boolean
|
collectionId?: boolean
|
||||||
@@ -2131,6 +2139,7 @@ export namespace Prisma {
|
|||||||
name?: boolean
|
name?: boolean
|
||||||
elements?: boolean
|
elements?: boolean
|
||||||
appState?: boolean
|
appState?: boolean
|
||||||
|
files?: boolean
|
||||||
preview?: boolean
|
preview?: boolean
|
||||||
version?: boolean
|
version?: boolean
|
||||||
collectionId?: boolean
|
collectionId?: boolean
|
||||||
@@ -2144,6 +2153,7 @@ export namespace Prisma {
|
|||||||
name?: boolean
|
name?: boolean
|
||||||
elements?: boolean
|
elements?: boolean
|
||||||
appState?: boolean
|
appState?: boolean
|
||||||
|
files?: boolean
|
||||||
preview?: boolean
|
preview?: boolean
|
||||||
version?: boolean
|
version?: boolean
|
||||||
collectionId?: boolean
|
collectionId?: boolean
|
||||||
@@ -2168,6 +2178,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
files: string
|
||||||
preview: string | null
|
preview: string | null
|
||||||
version: number
|
version: number
|
||||||
collectionId: string | null
|
collectionId: string | null
|
||||||
@@ -2571,6 +2582,7 @@ export namespace Prisma {
|
|||||||
readonly name: FieldRef<"Drawing", 'String'>
|
readonly name: FieldRef<"Drawing", 'String'>
|
||||||
readonly elements: FieldRef<"Drawing", 'String'>
|
readonly elements: FieldRef<"Drawing", 'String'>
|
||||||
readonly appState: FieldRef<"Drawing", 'String'>
|
readonly appState: FieldRef<"Drawing", 'String'>
|
||||||
|
readonly files: FieldRef<"Drawing", 'String'>
|
||||||
readonly preview: FieldRef<"Drawing", 'String'>
|
readonly preview: FieldRef<"Drawing", 'String'>
|
||||||
readonly version: FieldRef<"Drawing", 'Int'>
|
readonly version: FieldRef<"Drawing", 'Int'>
|
||||||
readonly collectionId: FieldRef<"Drawing", 'String'>
|
readonly collectionId: FieldRef<"Drawing", 'String'>
|
||||||
@@ -2947,6 +2959,7 @@ export namespace Prisma {
|
|||||||
name: 'name',
|
name: 'name',
|
||||||
elements: 'elements',
|
elements: 'elements',
|
||||||
appState: 'appState',
|
appState: 'appState',
|
||||||
|
files: 'files',
|
||||||
preview: 'preview',
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
@@ -3067,6 +3080,7 @@ export namespace Prisma {
|
|||||||
name?: StringFilter<"Drawing"> | string
|
name?: StringFilter<"Drawing"> | string
|
||||||
elements?: StringFilter<"Drawing"> | string
|
elements?: StringFilter<"Drawing"> | string
|
||||||
appState?: StringFilter<"Drawing"> | string
|
appState?: StringFilter<"Drawing"> | string
|
||||||
|
files?: StringFilter<"Drawing"> | string
|
||||||
preview?: StringNullableFilter<"Drawing"> | string | null
|
preview?: StringNullableFilter<"Drawing"> | string | null
|
||||||
version?: IntFilter<"Drawing"> | number
|
version?: IntFilter<"Drawing"> | number
|
||||||
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
||||||
@@ -3080,6 +3094,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
files?: SortOrder
|
||||||
preview?: SortOrderInput | SortOrder
|
preview?: SortOrderInput | SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrderInput | SortOrder
|
collectionId?: SortOrderInput | SortOrder
|
||||||
@@ -3096,6 +3111,7 @@ export namespace Prisma {
|
|||||||
name?: StringFilter<"Drawing"> | string
|
name?: StringFilter<"Drawing"> | string
|
||||||
elements?: StringFilter<"Drawing"> | string
|
elements?: StringFilter<"Drawing"> | string
|
||||||
appState?: StringFilter<"Drawing"> | string
|
appState?: StringFilter<"Drawing"> | string
|
||||||
|
files?: StringFilter<"Drawing"> | string
|
||||||
preview?: StringNullableFilter<"Drawing"> | string | null
|
preview?: StringNullableFilter<"Drawing"> | string | null
|
||||||
version?: IntFilter<"Drawing"> | number
|
version?: IntFilter<"Drawing"> | number
|
||||||
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
||||||
@@ -3109,6 +3125,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
files?: SortOrder
|
||||||
preview?: SortOrderInput | SortOrder
|
preview?: SortOrderInput | SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrderInput | SortOrder
|
collectionId?: SortOrderInput | SortOrder
|
||||||
@@ -3129,6 +3146,7 @@ export namespace Prisma {
|
|||||||
name?: StringWithAggregatesFilter<"Drawing"> | string
|
name?: StringWithAggregatesFilter<"Drawing"> | string
|
||||||
elements?: StringWithAggregatesFilter<"Drawing"> | string
|
elements?: StringWithAggregatesFilter<"Drawing"> | string
|
||||||
appState?: StringWithAggregatesFilter<"Drawing"> | string
|
appState?: StringWithAggregatesFilter<"Drawing"> | string
|
||||||
|
files?: StringWithAggregatesFilter<"Drawing"> | string
|
||||||
preview?: StringNullableWithAggregatesFilter<"Drawing"> | string | null
|
preview?: StringNullableWithAggregatesFilter<"Drawing"> | string | null
|
||||||
version?: IntWithAggregatesFilter<"Drawing"> | number
|
version?: IntWithAggregatesFilter<"Drawing"> | number
|
||||||
collectionId?: StringNullableWithAggregatesFilter<"Drawing"> | string | null
|
collectionId?: StringNullableWithAggregatesFilter<"Drawing"> | string | null
|
||||||
@@ -3194,6 +3212,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
files?: string
|
||||||
preview?: string | null
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
@@ -3206,6 +3225,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
files?: string
|
||||||
preview?: string | null
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
collectionId?: string | null
|
collectionId?: string | null
|
||||||
@@ -3218,6 +3238,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
files?: StringFieldUpdateOperationsInput | string
|
||||||
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3230,6 +3251,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
files?: StringFieldUpdateOperationsInput | string
|
||||||
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
collectionId?: NullableStringFieldUpdateOperationsInput | string | null
|
collectionId?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
@@ -3242,6 +3264,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
files?: string
|
||||||
preview?: string | null
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
collectionId?: string | null
|
collectionId?: string | null
|
||||||
@@ -3254,6 +3277,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
files?: StringFieldUpdateOperationsInput | string
|
||||||
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3265,6 +3289,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
files?: StringFieldUpdateOperationsInput | string
|
||||||
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
collectionId?: NullableStringFieldUpdateOperationsInput | string | null
|
collectionId?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
@@ -3399,6 +3424,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
files?: SortOrder
|
||||||
preview?: SortOrder
|
preview?: SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrder
|
collectionId?: SortOrder
|
||||||
@@ -3415,6 +3441,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
files?: SortOrder
|
||||||
preview?: SortOrder
|
preview?: SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrder
|
collectionId?: SortOrder
|
||||||
@@ -3427,6 +3454,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
files?: SortOrder
|
||||||
preview?: SortOrder
|
preview?: SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrder
|
collectionId?: SortOrder
|
||||||
@@ -3690,6 +3718,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
files?: string
|
||||||
preview?: string | null
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
@@ -3701,6 +3730,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
files?: string
|
||||||
preview?: string | null
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
@@ -3740,6 +3770,7 @@ export namespace Prisma {
|
|||||||
name?: StringFilter<"Drawing"> | string
|
name?: StringFilter<"Drawing"> | string
|
||||||
elements?: StringFilter<"Drawing"> | string
|
elements?: StringFilter<"Drawing"> | string
|
||||||
appState?: StringFilter<"Drawing"> | string
|
appState?: StringFilter<"Drawing"> | string
|
||||||
|
files?: StringFilter<"Drawing"> | string
|
||||||
preview?: StringNullableFilter<"Drawing"> | string | null
|
preview?: StringNullableFilter<"Drawing"> | string | null
|
||||||
version?: IntFilter<"Drawing"> | number
|
version?: IntFilter<"Drawing"> | number
|
||||||
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
||||||
@@ -3796,6 +3827,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
files?: string
|
||||||
preview?: string | null
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
@@ -3807,6 +3839,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
files?: StringFieldUpdateOperationsInput | string
|
||||||
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3818,6 +3851,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
files?: StringFieldUpdateOperationsInput | string
|
||||||
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3829,6 +3863,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
files?: StringFieldUpdateOperationsInput | string
|
||||||
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ exports.Prisma.DrawingScalarFieldEnum = {
|
|||||||
name: 'name',
|
name: 'name',
|
||||||
elements: 'elements',
|
elements: 'elements',
|
||||||
appState: 'appState',
|
appState: 'appState',
|
||||||
|
files: 'files',
|
||||||
preview: 'preview',
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
@@ -169,8 +170,8 @@ const config = {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Collection {\n id String @id @default(uuid())\n name String\n drawings Drawing[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Drawing {\n id String @id @default(uuid())\n name String\n elements String // Stored as JSON string\n appState String // Stored as JSON string\n preview String? // SVG string for thumbnail\n version Int @default(1)\n collectionId String?\n collection Collection? @relation(fields: [collectionId], references: [id])\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n",
|
"inlineSchema": "// This is your Prisma schema file,\n// learn more about it in the docs: https://pris.ly/d/prisma-schema\n\ngenerator client {\n provider = \"prisma-client-js\"\n output = \"../src/generated/client\"\n}\n\ndatasource db {\n provider = \"sqlite\"\n url = env(\"DATABASE_URL\")\n}\n\nmodel Collection {\n id String @id @default(uuid())\n name String\n drawings Drawing[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel Drawing {\n id String @id @default(uuid())\n name String\n elements String // Stored as JSON string\n appState String // Stored as JSON string\n files String @default(\"{}\") // Stored as JSON string\n preview String? // SVG string for thumbnail\n version Int @default(1)\n collectionId String?\n collection Collection? @relation(fields: [collectionId], references: [id])\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n",
|
||||||
"inlineSchemaHash": "67e1a3789d22e31866fa8b498914744bb15a8743c766f6c9cb36263d6b7740a9",
|
"inlineSchemaHash": "e43b17bb99e7f864b5a0f2c54951015f0a3d998329d0577afda58e7c0dee4919",
|
||||||
"copyEngine": true
|
"copyEngine": true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -191,7 +192,7 @@ if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) {
|
|||||||
config.isBundled = true
|
config.isBundled = true
|
||||||
}
|
}
|
||||||
|
|
||||||
config.runtimeDataModel = JSON.parse("{\"models\":{\"Collection\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"drawings\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Drawing\",\"relationName\":\"CollectionToDrawing\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Drawing\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"elements\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"appState\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"preview\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collectionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collection\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Collection\",\"relationName\":\"CollectionToDrawing\",\"relationFromFields\":[\"collectionId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
|
config.runtimeDataModel = JSON.parse("{\"models\":{\"Collection\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"drawings\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Drawing\",\"relationName\":\"CollectionToDrawing\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Drawing\":{\"dbName\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":{\"name\":\"uuid(4)\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"elements\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"appState\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"files\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"default\":\"{}\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"preview\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"version\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collectionId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"collection\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Collection\",\"relationName\":\"CollectionToDrawing\",\"relationFromFields\":[\"collectionId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{},\"types\":{}}")
|
||||||
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
defineDmmfProperty(exports.Prisma, config.runtimeDataModel)
|
||||||
config.engineWasm = undefined
|
config.engineWasm = undefined
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
{
|
{
|
||||||
"name": "prisma-client-3ebeea41bd8603a2c294a840f7d22c864ae7fc82298676ca177ef806525c6187",
|
"name": "prisma-client-0eff54f2002515791cbb1f1a5b1632637c7e46544d107e5ff89b7092d9540808",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"types": "index.d.ts",
|
"types": "index.d.ts",
|
||||||
"browser": "index-browser.js",
|
"browser": "index-browser.js",
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ model Drawing {
|
|||||||
name String
|
name String
|
||||||
elements String // Stored as JSON string
|
elements String // Stored as JSON string
|
||||||
appState String // Stored as JSON string
|
appState String // Stored as JSON string
|
||||||
|
files String @default("{}") // Stored as JSON string
|
||||||
preview String? // SVG string for thumbnail
|
preview String? // SVG string for thumbnail
|
||||||
version Int @default(1)
|
version Int @default(1)
|
||||||
collectionId String?
|
collectionId String?
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ exports.Prisma.DrawingScalarFieldEnum = {
|
|||||||
name: 'name',
|
name: 'name',
|
||||||
elements: 'elements',
|
elements: 'elements',
|
||||||
appState: 'appState',
|
appState: 'appState',
|
||||||
|
files: 'files',
|
||||||
preview: 'preview',
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
|
|||||||
+11
-2
@@ -135,6 +135,7 @@ app.get("/drawings", async (req, res) => {
|
|||||||
...d,
|
...d,
|
||||||
elements: JSON.parse(d.elements),
|
elements: JSON.parse(d.elements),
|
||||||
appState: JSON.parse(d.appState),
|
appState: JSON.parse(d.appState),
|
||||||
|
files: JSON.parse(d.files || "{}"),
|
||||||
}));
|
}));
|
||||||
|
|
||||||
res.json(parsedDrawings);
|
res.json(parsedDrawings);
|
||||||
@@ -172,6 +173,7 @@ app.get("/drawings/:id", async (req, res) => {
|
|||||||
...drawing,
|
...drawing,
|
||||||
elements: JSON.parse(drawing.elements),
|
elements: JSON.parse(drawing.elements),
|
||||||
appState: JSON.parse(drawing.appState),
|
appState: JSON.parse(drawing.appState),
|
||||||
|
files: JSON.parse(drawing.files || "{}"),
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
res.status(500).json({ error: "Failed to fetch drawing" });
|
res.status(500).json({ error: "Failed to fetch drawing" });
|
||||||
@@ -181,7 +183,7 @@ app.get("/drawings/:id", async (req, res) => {
|
|||||||
// POST /drawings
|
// POST /drawings
|
||||||
app.post("/drawings", async (req, res) => {
|
app.post("/drawings", async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const { name, elements, appState, collectionId, preview } = req.body;
|
const { name, elements, appState, collectionId, preview, files } = req.body;
|
||||||
|
|
||||||
const newDrawing = await prisma.drawing.create({
|
const newDrawing = await prisma.drawing.create({
|
||||||
data: {
|
data: {
|
||||||
@@ -190,6 +192,7 @@ app.post("/drawings", async (req, res) => {
|
|||||||
appState: JSON.stringify(appState || {}),
|
appState: JSON.stringify(appState || {}),
|
||||||
collectionId: collectionId || null,
|
collectionId: collectionId || null,
|
||||||
preview: preview || null,
|
preview: preview || null,
|
||||||
|
files: JSON.stringify(files || {}),
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -197,6 +200,7 @@ app.post("/drawings", async (req, res) => {
|
|||||||
...newDrawing,
|
...newDrawing,
|
||||||
elements: JSON.parse(newDrawing.elements),
|
elements: JSON.parse(newDrawing.elements),
|
||||||
appState: JSON.parse(newDrawing.appState),
|
appState: JSON.parse(newDrawing.appState),
|
||||||
|
files: JSON.parse(newDrawing.files || "{}"),
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
res.status(500).json({ error: "Failed to create drawing" });
|
res.status(500).json({ error: "Failed to create drawing" });
|
||||||
@@ -207,7 +211,7 @@ app.post("/drawings", async (req, res) => {
|
|||||||
app.put("/drawings/:id", async (req, res) => {
|
app.put("/drawings/:id", async (req, res) => {
|
||||||
try {
|
try {
|
||||||
const { id } = req.params;
|
const { id } = req.params;
|
||||||
const { name, elements, appState, collectionId, preview } = req.body;
|
const { name, elements, appState, collectionId, preview, files } = req.body;
|
||||||
|
|
||||||
console.log("[API] Updating drawing", {
|
console.log("[API] Updating drawing", {
|
||||||
id,
|
id,
|
||||||
@@ -215,6 +219,7 @@ app.put("/drawings/:id", async (req, res) => {
|
|||||||
elementCount:
|
elementCount:
|
||||||
elements && Array.isArray(elements) ? elements.length : undefined,
|
elements && Array.isArray(elements) ? elements.length : undefined,
|
||||||
hasAppState: appState !== undefined,
|
hasAppState: appState !== undefined,
|
||||||
|
hasFiles: files !== undefined,
|
||||||
hasPreview: preview !== undefined,
|
hasPreview: preview !== undefined,
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -225,6 +230,7 @@ app.put("/drawings/:id", async (req, res) => {
|
|||||||
if (name !== undefined) data.name = name;
|
if (name !== undefined) data.name = name;
|
||||||
if (elements !== undefined) data.elements = JSON.stringify(elements);
|
if (elements !== undefined) data.elements = JSON.stringify(elements);
|
||||||
if (appState !== undefined) data.appState = JSON.stringify(appState);
|
if (appState !== undefined) data.appState = JSON.stringify(appState);
|
||||||
|
if (files !== undefined) data.files = JSON.stringify(files);
|
||||||
if (collectionId !== undefined) data.collectionId = collectionId;
|
if (collectionId !== undefined) data.collectionId = collectionId;
|
||||||
if (preview !== undefined) data.preview = preview;
|
if (preview !== undefined) data.preview = preview;
|
||||||
|
|
||||||
@@ -249,6 +255,7 @@ app.put("/drawings/:id", async (req, res) => {
|
|||||||
...updatedDrawing,
|
...updatedDrawing,
|
||||||
elements: JSON.parse(updatedDrawing.elements),
|
elements: JSON.parse(updatedDrawing.elements),
|
||||||
appState: JSON.parse(updatedDrawing.appState),
|
appState: JSON.parse(updatedDrawing.appState),
|
||||||
|
files: JSON.parse(updatedDrawing.files || "{}"),
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
res.status(500).json({ error: "Failed to update drawing" });
|
res.status(500).json({ error: "Failed to update drawing" });
|
||||||
@@ -281,6 +288,7 @@ app.post("/drawings/:id/duplicate", async (req, res) => {
|
|||||||
name: `${original.name} (Copy)`,
|
name: `${original.name} (Copy)`,
|
||||||
elements: original.elements,
|
elements: original.elements,
|
||||||
appState: original.appState,
|
appState: original.appState,
|
||||||
|
files: original.files,
|
||||||
collectionId: original.collectionId,
|
collectionId: original.collectionId,
|
||||||
version: 1,
|
version: 1,
|
||||||
},
|
},
|
||||||
@@ -290,6 +298,7 @@ app.post("/drawings/:id/duplicate", async (req, res) => {
|
|||||||
...newDrawing,
|
...newDrawing,
|
||||||
elements: JSON.parse(newDrawing.elements),
|
elements: JSON.parse(newDrawing.elements),
|
||||||
appState: JSON.parse(newDrawing.appState),
|
appState: JSON.parse(newDrawing.appState),
|
||||||
|
files: JSON.parse(newDrawing.files || "{}"),
|
||||||
});
|
});
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
res.status(500).json({ error: "Failed to duplicate drawing" });
|
res.status(500).json({ error: "Failed to duplicate drawing" });
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
import React, { useCallback, useEffect, useState, useRef } from 'react';
|
import React, { useCallback, useEffect, useState, useRef } from 'react';
|
||||||
import { useParams, useNavigate } from 'react-router-dom';
|
import { useParams, useNavigate } from 'react-router-dom';
|
||||||
import { ArrowLeft } from 'lucide-react';
|
import { ArrowLeft } from 'lucide-react';
|
||||||
import { Excalidraw, convertToExcalidrawElements, exportToSvg } from '@excalidraw/excalidraw';
|
import { Excalidraw, exportToSvg } from '@excalidraw/excalidraw';
|
||||||
import '@excalidraw/excalidraw/index.css';
|
import '@excalidraw/excalidraw/index.css';
|
||||||
import debounce from 'lodash/debounce';
|
import debounce from 'lodash/debounce';
|
||||||
import throttle from 'lodash/throttle';
|
import throttle from 'lodash/throttle';
|
||||||
@@ -235,6 +235,7 @@ export const Editor: React.FC = () => {
|
|||||||
gridSize: null,
|
gridSize: null,
|
||||||
collaborators: new Map(),
|
collaborators: new Map(),
|
||||||
},
|
},
|
||||||
|
files: {},
|
||||||
scrollToContent: true,
|
scrollToContent: true,
|
||||||
}), []);
|
}), []);
|
||||||
|
|
||||||
@@ -269,6 +270,7 @@ export const Editor: React.FC = () => {
|
|||||||
await api.updateDrawing(id, {
|
await api.updateDrawing(id, {
|
||||||
elements: persistableElements,
|
elements: persistableElements,
|
||||||
appState: persistableAppState,
|
appState: persistableAppState,
|
||||||
|
files: latestFilesRef.current || {},
|
||||||
});
|
});
|
||||||
|
|
||||||
console.log("[Editor] Save complete", { drawingId: id });
|
console.log("[Editor] Save complete", { drawingId: id });
|
||||||
@@ -362,7 +364,7 @@ export const Editor: React.FC = () => {
|
|||||||
hasHydratedInitialScene.current = false;
|
hasHydratedInitialScene.current = false;
|
||||||
elementVersionMap.current.clear();
|
elementVersionMap.current.clear();
|
||||||
latestElementsRef.current = [];
|
latestElementsRef.current = [];
|
||||||
latestFilesRef.current = null;
|
latestFilesRef.current = {};
|
||||||
excalidrawAPI.current = null;
|
excalidrawAPI.current = null;
|
||||||
setIsReady(false);
|
setIsReady(false);
|
||||||
setIsSceneLoading(true);
|
setIsSceneLoading(true);
|
||||||
@@ -378,9 +380,11 @@ export const Editor: React.FC = () => {
|
|||||||
const data = await api.getDrawing(id);
|
const data = await api.getDrawing(id);
|
||||||
setDrawingName(data.name);
|
setDrawingName(data.name);
|
||||||
|
|
||||||
const elements = convertToExcalidrawElements(data.elements || []);
|
// Use elements directly without converting - they're already normalized during import
|
||||||
|
const elements = data.elements || [];
|
||||||
|
const files = data.files || {};
|
||||||
latestElementsRef.current = elements;
|
latestElementsRef.current = elements;
|
||||||
latestFilesRef.current = null;
|
latestFilesRef.current = files;
|
||||||
|
|
||||||
elements.forEach((el: any) => {
|
elements.forEach((el: any) => {
|
||||||
recordElementVersion(el);
|
recordElementVersion(el);
|
||||||
@@ -397,11 +401,14 @@ export const Editor: React.FC = () => {
|
|||||||
setInitialData({
|
setInitialData({
|
||||||
elements,
|
elements,
|
||||||
appState: hydratedAppState,
|
appState: hydratedAppState,
|
||||||
|
files,
|
||||||
scrollToContent: true,
|
scrollToContent: true,
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Failed to load drawing', err);
|
console.error('Failed to load drawing', err);
|
||||||
toast.error("Failed to load drawing");
|
toast.error("Failed to load drawing");
|
||||||
|
latestElementsRef.current = [];
|
||||||
|
latestFilesRef.current = {};
|
||||||
setInitialData(buildEmptyScene());
|
setInitialData(buildEmptyScene());
|
||||||
} finally {
|
} finally {
|
||||||
setIsSceneLoading(false);
|
setIsSceneLoading(false);
|
||||||
@@ -422,7 +429,7 @@ export const Editor: React.FC = () => {
|
|||||||
if (excalidrawAPI.current && saveDataRef.current && savePreviewRef.current) {
|
if (excalidrawAPI.current && saveDataRef.current && savePreviewRef.current) {
|
||||||
const elements = excalidrawAPI.current.getSceneElementsIncludingDeleted();
|
const elements = excalidrawAPI.current.getSceneElementsIncludingDeleted();
|
||||||
const appState = excalidrawAPI.current.getAppState();
|
const appState = excalidrawAPI.current.getAppState();
|
||||||
const files = excalidrawAPI.current.getFiles() || null;
|
const files = excalidrawAPI.current.getFiles() || {};
|
||||||
latestElementsRef.current = elements;
|
latestElementsRef.current = elements;
|
||||||
latestFilesRef.current = files;
|
latestFilesRef.current = files;
|
||||||
// Call save immediately, bypassing debounce
|
// Call save immediately, bypassing debounce
|
||||||
@@ -494,11 +501,11 @@ export const Editor: React.FC = () => {
|
|||||||
debouncedSave(allElements, appState);
|
debouncedSave(allElements, appState);
|
||||||
|
|
||||||
// Trigger Slow Preview Gen
|
// Trigger Slow Preview Gen
|
||||||
const files = excalidrawAPI.current?.getFiles() || null;
|
const files = excalidrawAPI.current?.getFiles() || {};
|
||||||
latestFilesRef.current = files;
|
latestFilesRef.current = files;
|
||||||
console.log("[Editor] Queueing preview save", {
|
console.log("[Editor] Queueing preview save", {
|
||||||
drawingId: id,
|
drawingId: id,
|
||||||
fileCount: files ? Object.keys(files).length : 0,
|
fileCount: Object.keys(files).length,
|
||||||
});
|
});
|
||||||
debouncedSavePreview(allElements, appState, files);
|
debouncedSavePreview(allElements, appState, files);
|
||||||
}, [debouncedSave, debouncedSavePreview, broadcastChanges]);
|
}, [debouncedSave, debouncedSavePreview, broadcastChanges]);
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ export interface Drawing {
|
|||||||
name: string;
|
name: string;
|
||||||
elements: any[];
|
elements: any[];
|
||||||
appState: any;
|
appState: any;
|
||||||
|
files: Record<string, any> | null;
|
||||||
collectionId: string | null;
|
collectionId: string | null;
|
||||||
updatedAt: number;
|
updatedAt: number;
|
||||||
createdAt: number;
|
createdAt: number;
|
||||||
|
|||||||
@@ -29,7 +29,8 @@ export const importDrawings = async (
|
|||||||
throw new Error(`Invalid file structure: ${file.name}`);
|
throw new Error(`Invalid file structure: ${file.name}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate Preview
|
// Use raw elements directly from the file - no normalization needed
|
||||||
|
// Generate Preview with raw elements
|
||||||
const svg = await exportToSvg({
|
const svg = await exportToSvg({
|
||||||
elements: data.elements,
|
elements: data.elements,
|
||||||
appState: {
|
appState: {
|
||||||
@@ -37,11 +38,11 @@ export const importDrawings = async (
|
|||||||
exportBackground: true,
|
exportBackground: true,
|
||||||
viewBackgroundColor: data.appState.viewBackgroundColor || "#ffffff",
|
viewBackgroundColor: data.appState.viewBackgroundColor || "#ffffff",
|
||||||
},
|
},
|
||||||
files: data.files || null,
|
files: data.files || {},
|
||||||
exportPadding: 10,
|
exportPadding: 10,
|
||||||
});
|
});
|
||||||
|
|
||||||
// Prepare payload
|
// Prepare payload with raw elements
|
||||||
const payload = {
|
const payload = {
|
||||||
name: file.name.replace(/\.(json|excalidraw)$/, ""),
|
name: file.name.replace(/\.(json|excalidraw)$/, ""),
|
||||||
elements: data.elements,
|
elements: data.elements,
|
||||||
|
|||||||
Reference in New Issue
Block a user