Trash ID Update Collections
This commit is contained in:
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
|
|||||||
|
-- AlterTable
|
||||||
|
ALTER TABLE "Drawing" ADD COLUMN "preview" TEXT;
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
# Please do not edit this file manually
|
# Please do not edit this file manually
|
||||||
# It should be added in your version-control system (e.g., Git)
|
# It should be added in your version-control system (i.e. Git)
|
||||||
provider = "sqlite"
|
provider = "sqlite"
|
||||||
@@ -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
|
||||||
|
preview String? // SVG string for thumbnail
|
||||||
version Int @default(1)
|
version Int @default(1)
|
||||||
collectionId String?
|
collectionId String?
|
||||||
collection Collection? @relation(fields: [collectionId], references: [id])
|
collection Collection? @relation(fields: [collectionId], references: [id])
|
||||||
|
|||||||
@@ -99,6 +99,7 @@ exports.Prisma.DrawingScalarFieldEnum = {
|
|||||||
name: 'name',
|
name: 'name',
|
||||||
elements: 'elements',
|
elements: 'elements',
|
||||||
appState: 'appState',
|
appState: 'appState',
|
||||||
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
createdAt: 'createdAt',
|
createdAt: 'createdAt',
|
||||||
@@ -149,7 +150,7 @@ const config = {
|
|||||||
"isCustomOutput": true
|
"isCustomOutput": true
|
||||||
},
|
},
|
||||||
"relativeEnvPaths": {
|
"relativeEnvPaths": {
|
||||||
"rootEnvPath": "../../../.env",
|
"rootEnvPath": null,
|
||||||
"schemaEnvPath": "../../../.env"
|
"schemaEnvPath": "../../../.env"
|
||||||
},
|
},
|
||||||
"relativePath": "../../../prisma",
|
"relativePath": "../../../prisma",
|
||||||
@@ -159,7 +160,6 @@ const config = {
|
|||||||
"db"
|
"db"
|
||||||
],
|
],
|
||||||
"activeProvider": "sqlite",
|
"activeProvider": "sqlite",
|
||||||
"postinstall": false,
|
|
||||||
"inlineDatasources": {
|
"inlineDatasources": {
|
||||||
"db": {
|
"db": {
|
||||||
"url": {
|
"url": {
|
||||||
@@ -168,13 +168,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 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 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": "481a5f143c00eb5cbae4281008c7bf10c3e13066bfd88f97f47bd22f56672c24",
|
"inlineSchemaHash": "67e1a3789d22e31866fa8b498914744bb15a8743c766f6c9cb36263d6b7740a9",
|
||||||
"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\":\"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\":\"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',
|
||||||
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
createdAt: 'createdAt',
|
createdAt: 'createdAt',
|
||||||
|
|||||||
+93
-58
@@ -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
|
||||||
|
preview: string | null
|
||||||
version: number | null
|
version: number | null
|
||||||
collectionId: string | null
|
collectionId: string | null
|
||||||
createdAt: Date | null
|
createdAt: Date | null
|
||||||
@@ -1929,6 +1930,7 @@ export namespace Prisma {
|
|||||||
name: string | null
|
name: string | null
|
||||||
elements: string | null
|
elements: string | null
|
||||||
appState: string | null
|
appState: string | null
|
||||||
|
preview: string | null
|
||||||
version: number | null
|
version: number | null
|
||||||
collectionId: string | null
|
collectionId: string | null
|
||||||
createdAt: Date | null
|
createdAt: Date | null
|
||||||
@@ -1940,6 +1942,7 @@ export namespace Prisma {
|
|||||||
name: number
|
name: number
|
||||||
elements: number
|
elements: number
|
||||||
appState: number
|
appState: number
|
||||||
|
preview: number
|
||||||
version: number
|
version: number
|
||||||
collectionId: number
|
collectionId: number
|
||||||
createdAt: number
|
createdAt: number
|
||||||
@@ -1961,6 +1964,7 @@ export namespace Prisma {
|
|||||||
name?: true
|
name?: true
|
||||||
elements?: true
|
elements?: true
|
||||||
appState?: true
|
appState?: true
|
||||||
|
preview?: true
|
||||||
version?: true
|
version?: true
|
||||||
collectionId?: true
|
collectionId?: true
|
||||||
createdAt?: true
|
createdAt?: true
|
||||||
@@ -1972,6 +1976,7 @@ export namespace Prisma {
|
|||||||
name?: true
|
name?: true
|
||||||
elements?: true
|
elements?: true
|
||||||
appState?: true
|
appState?: true
|
||||||
|
preview?: true
|
||||||
version?: true
|
version?: true
|
||||||
collectionId?: true
|
collectionId?: true
|
||||||
createdAt?: true
|
createdAt?: true
|
||||||
@@ -1983,6 +1988,7 @@ export namespace Prisma {
|
|||||||
name?: true
|
name?: true
|
||||||
elements?: true
|
elements?: true
|
||||||
appState?: true
|
appState?: true
|
||||||
|
preview?: true
|
||||||
version?: true
|
version?: true
|
||||||
collectionId?: true
|
collectionId?: true
|
||||||
createdAt?: true
|
createdAt?: true
|
||||||
@@ -2081,6 +2087,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
preview: string | null
|
||||||
version: number
|
version: number
|
||||||
collectionId: string | null
|
collectionId: string | null
|
||||||
createdAt: Date
|
createdAt: Date
|
||||||
@@ -2111,6 +2118,7 @@ export namespace Prisma {
|
|||||||
name?: boolean
|
name?: boolean
|
||||||
elements?: boolean
|
elements?: boolean
|
||||||
appState?: boolean
|
appState?: boolean
|
||||||
|
preview?: boolean
|
||||||
version?: boolean
|
version?: boolean
|
||||||
collectionId?: boolean
|
collectionId?: boolean
|
||||||
createdAt?: boolean
|
createdAt?: boolean
|
||||||
@@ -2123,6 +2131,7 @@ export namespace Prisma {
|
|||||||
name?: boolean
|
name?: boolean
|
||||||
elements?: boolean
|
elements?: boolean
|
||||||
appState?: boolean
|
appState?: boolean
|
||||||
|
preview?: boolean
|
||||||
version?: boolean
|
version?: boolean
|
||||||
collectionId?: boolean
|
collectionId?: boolean
|
||||||
createdAt?: boolean
|
createdAt?: boolean
|
||||||
@@ -2135,6 +2144,7 @@ export namespace Prisma {
|
|||||||
name?: boolean
|
name?: boolean
|
||||||
elements?: boolean
|
elements?: boolean
|
||||||
appState?: boolean
|
appState?: boolean
|
||||||
|
preview?: boolean
|
||||||
version?: boolean
|
version?: boolean
|
||||||
collectionId?: boolean
|
collectionId?: boolean
|
||||||
createdAt?: boolean
|
createdAt?: boolean
|
||||||
@@ -2158,6 +2168,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
preview: string | null
|
||||||
version: number
|
version: number
|
||||||
collectionId: string | null
|
collectionId: string | null
|
||||||
createdAt: Date
|
createdAt: Date
|
||||||
@@ -2560,6 +2571,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 preview: FieldRef<"Drawing", 'String'>
|
||||||
readonly version: FieldRef<"Drawing", 'Int'>
|
readonly version: FieldRef<"Drawing", 'Int'>
|
||||||
readonly collectionId: FieldRef<"Drawing", 'String'>
|
readonly collectionId: FieldRef<"Drawing", 'String'>
|
||||||
readonly createdAt: FieldRef<"Drawing", 'DateTime'>
|
readonly createdAt: FieldRef<"Drawing", 'DateTime'>
|
||||||
@@ -2935,6 +2947,7 @@ export namespace Prisma {
|
|||||||
name: 'name',
|
name: 'name',
|
||||||
elements: 'elements',
|
elements: 'elements',
|
||||||
appState: 'appState',
|
appState: 'appState',
|
||||||
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
createdAt: 'createdAt',
|
createdAt: 'createdAt',
|
||||||
@@ -3054,6 +3067,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
|
||||||
|
preview?: StringNullableFilter<"Drawing"> | string | null
|
||||||
version?: IntFilter<"Drawing"> | number
|
version?: IntFilter<"Drawing"> | number
|
||||||
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
||||||
createdAt?: DateTimeFilter<"Drawing"> | Date | string
|
createdAt?: DateTimeFilter<"Drawing"> | Date | string
|
||||||
@@ -3066,6 +3080,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
preview?: SortOrderInput | SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrderInput | SortOrder
|
collectionId?: SortOrderInput | SortOrder
|
||||||
createdAt?: SortOrder
|
createdAt?: SortOrder
|
||||||
@@ -3081,6 +3096,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
|
||||||
|
preview?: StringNullableFilter<"Drawing"> | string | null
|
||||||
version?: IntFilter<"Drawing"> | number
|
version?: IntFilter<"Drawing"> | number
|
||||||
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
||||||
createdAt?: DateTimeFilter<"Drawing"> | Date | string
|
createdAt?: DateTimeFilter<"Drawing"> | Date | string
|
||||||
@@ -3093,6 +3109,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
preview?: SortOrderInput | SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrderInput | SortOrder
|
collectionId?: SortOrderInput | SortOrder
|
||||||
createdAt?: SortOrder
|
createdAt?: SortOrder
|
||||||
@@ -3112,6 +3129,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
|
||||||
|
preview?: StringNullableWithAggregatesFilter<"Drawing"> | string | null
|
||||||
version?: IntWithAggregatesFilter<"Drawing"> | number
|
version?: IntWithAggregatesFilter<"Drawing"> | number
|
||||||
collectionId?: StringNullableWithAggregatesFilter<"Drawing"> | string | null
|
collectionId?: StringNullableWithAggregatesFilter<"Drawing"> | string | null
|
||||||
createdAt?: DateTimeWithAggregatesFilter<"Drawing"> | Date | string
|
createdAt?: DateTimeWithAggregatesFilter<"Drawing"> | Date | string
|
||||||
@@ -3176,6 +3194,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
updatedAt?: Date | string
|
updatedAt?: Date | string
|
||||||
@@ -3187,6 +3206,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
collectionId?: string | null
|
collectionId?: string | null
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
@@ -3198,6 +3218,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3209,6 +3230,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
collectionId?: NullableStringFieldUpdateOperationsInput | string | null
|
collectionId?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3220,6 +3242,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
collectionId?: string | null
|
collectionId?: string | null
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
@@ -3231,6 +3254,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3241,6 +3265,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
collectionId?: NullableStringFieldUpdateOperationsInput | string | null
|
collectionId?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3334,17 +3359,6 @@ export namespace Prisma {
|
|||||||
_max?: NestedDateTimeFilter<$PrismaModel>
|
_max?: NestedDateTimeFilter<$PrismaModel>
|
||||||
}
|
}
|
||||||
|
|
||||||
export type IntFilter<$PrismaModel = never> = {
|
|
||||||
equals?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
in?: number[]
|
|
||||||
notIn?: number[]
|
|
||||||
lt?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
lte?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
gt?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
gte?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
not?: NestedIntFilter<$PrismaModel> | number
|
|
||||||
}
|
|
||||||
|
|
||||||
export type StringNullableFilter<$PrismaModel = never> = {
|
export type StringNullableFilter<$PrismaModel = never> = {
|
||||||
equals?: string | StringFieldRefInput<$PrismaModel> | null
|
equals?: string | StringFieldRefInput<$PrismaModel> | null
|
||||||
in?: string[] | null
|
in?: string[] | null
|
||||||
@@ -3359,6 +3373,17 @@ export namespace Prisma {
|
|||||||
not?: NestedStringNullableFilter<$PrismaModel> | string | null
|
not?: NestedStringNullableFilter<$PrismaModel> | string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type IntFilter<$PrismaModel = never> = {
|
||||||
|
equals?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
in?: number[]
|
||||||
|
notIn?: number[]
|
||||||
|
lt?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
lte?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
gt?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
gte?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
not?: NestedIntFilter<$PrismaModel> | number
|
||||||
|
}
|
||||||
|
|
||||||
export type CollectionNullableRelationFilter = {
|
export type CollectionNullableRelationFilter = {
|
||||||
is?: CollectionWhereInput | null
|
is?: CollectionWhereInput | null
|
||||||
isNot?: CollectionWhereInput | null
|
isNot?: CollectionWhereInput | null
|
||||||
@@ -3374,6 +3399,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
preview?: SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrder
|
collectionId?: SortOrder
|
||||||
createdAt?: SortOrder
|
createdAt?: SortOrder
|
||||||
@@ -3389,6 +3415,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
preview?: SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrder
|
collectionId?: SortOrder
|
||||||
createdAt?: SortOrder
|
createdAt?: SortOrder
|
||||||
@@ -3400,6 +3427,7 @@ export namespace Prisma {
|
|||||||
name?: SortOrder
|
name?: SortOrder
|
||||||
elements?: SortOrder
|
elements?: SortOrder
|
||||||
appState?: SortOrder
|
appState?: SortOrder
|
||||||
|
preview?: SortOrder
|
||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
collectionId?: SortOrder
|
collectionId?: SortOrder
|
||||||
createdAt?: SortOrder
|
createdAt?: SortOrder
|
||||||
@@ -3410,22 +3438,6 @@ export namespace Prisma {
|
|||||||
version?: SortOrder
|
version?: SortOrder
|
||||||
}
|
}
|
||||||
|
|
||||||
export type IntWithAggregatesFilter<$PrismaModel = never> = {
|
|
||||||
equals?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
in?: number[]
|
|
||||||
notIn?: number[]
|
|
||||||
lt?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
lte?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
gt?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
gte?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
not?: NestedIntWithAggregatesFilter<$PrismaModel> | number
|
|
||||||
_count?: NestedIntFilter<$PrismaModel>
|
|
||||||
_avg?: NestedFloatFilter<$PrismaModel>
|
|
||||||
_sum?: NestedIntFilter<$PrismaModel>
|
|
||||||
_min?: NestedIntFilter<$PrismaModel>
|
|
||||||
_max?: NestedIntFilter<$PrismaModel>
|
|
||||||
}
|
|
||||||
|
|
||||||
export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type StringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: string | StringFieldRefInput<$PrismaModel> | null
|
equals?: string | StringFieldRefInput<$PrismaModel> | null
|
||||||
in?: string[] | null
|
in?: string[] | null
|
||||||
@@ -3443,6 +3455,22 @@ export namespace Prisma {
|
|||||||
_max?: NestedStringNullableFilter<$PrismaModel>
|
_max?: NestedStringNullableFilter<$PrismaModel>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type IntWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
|
equals?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
in?: number[]
|
||||||
|
notIn?: number[]
|
||||||
|
lt?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
lte?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
gt?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
gte?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
not?: NestedIntWithAggregatesFilter<$PrismaModel> | number
|
||||||
|
_count?: NestedIntFilter<$PrismaModel>
|
||||||
|
_avg?: NestedFloatFilter<$PrismaModel>
|
||||||
|
_sum?: NestedIntFilter<$PrismaModel>
|
||||||
|
_min?: NestedIntFilter<$PrismaModel>
|
||||||
|
_max?: NestedIntFilter<$PrismaModel>
|
||||||
|
}
|
||||||
|
|
||||||
export type DrawingCreateNestedManyWithoutCollectionInput = {
|
export type DrawingCreateNestedManyWithoutCollectionInput = {
|
||||||
create?: XOR<DrawingCreateWithoutCollectionInput, DrawingUncheckedCreateWithoutCollectionInput> | DrawingCreateWithoutCollectionInput[] | DrawingUncheckedCreateWithoutCollectionInput[]
|
create?: XOR<DrawingCreateWithoutCollectionInput, DrawingUncheckedCreateWithoutCollectionInput> | DrawingCreateWithoutCollectionInput[] | DrawingUncheckedCreateWithoutCollectionInput[]
|
||||||
connectOrCreate?: DrawingCreateOrConnectWithoutCollectionInput | DrawingCreateOrConnectWithoutCollectionInput[]
|
connectOrCreate?: DrawingCreateOrConnectWithoutCollectionInput | DrawingCreateOrConnectWithoutCollectionInput[]
|
||||||
@@ -3499,6 +3527,10 @@ export namespace Prisma {
|
|||||||
connect?: CollectionWhereUniqueInput
|
connect?: CollectionWhereUniqueInput
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type NullableStringFieldUpdateOperationsInput = {
|
||||||
|
set?: string | null
|
||||||
|
}
|
||||||
|
|
||||||
export type IntFieldUpdateOperationsInput = {
|
export type IntFieldUpdateOperationsInput = {
|
||||||
set?: number
|
set?: number
|
||||||
increment?: number
|
increment?: number
|
||||||
@@ -3517,10 +3549,6 @@ export namespace Prisma {
|
|||||||
update?: XOR<XOR<CollectionUpdateToOneWithWhereWithoutDrawingsInput, CollectionUpdateWithoutDrawingsInput>, CollectionUncheckedUpdateWithoutDrawingsInput>
|
update?: XOR<XOR<CollectionUpdateToOneWithWhereWithoutDrawingsInput, CollectionUpdateWithoutDrawingsInput>, CollectionUncheckedUpdateWithoutDrawingsInput>
|
||||||
}
|
}
|
||||||
|
|
||||||
export type NullableStringFieldUpdateOperationsInput = {
|
|
||||||
set?: string | null
|
|
||||||
}
|
|
||||||
|
|
||||||
export type NestedStringFilter<$PrismaModel = never> = {
|
export type NestedStringFilter<$PrismaModel = never> = {
|
||||||
equals?: string | StringFieldRefInput<$PrismaModel>
|
equals?: string | StringFieldRefInput<$PrismaModel>
|
||||||
in?: string[]
|
in?: string[]
|
||||||
@@ -3602,33 +3630,6 @@ export namespace Prisma {
|
|||||||
not?: NestedStringNullableFilter<$PrismaModel> | string | null
|
not?: NestedStringNullableFilter<$PrismaModel> | string | null
|
||||||
}
|
}
|
||||||
|
|
||||||
export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
|
|
||||||
equals?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
in?: number[]
|
|
||||||
notIn?: number[]
|
|
||||||
lt?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
lte?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
gt?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
gte?: number | IntFieldRefInput<$PrismaModel>
|
|
||||||
not?: NestedIntWithAggregatesFilter<$PrismaModel> | number
|
|
||||||
_count?: NestedIntFilter<$PrismaModel>
|
|
||||||
_avg?: NestedFloatFilter<$PrismaModel>
|
|
||||||
_sum?: NestedIntFilter<$PrismaModel>
|
|
||||||
_min?: NestedIntFilter<$PrismaModel>
|
|
||||||
_max?: NestedIntFilter<$PrismaModel>
|
|
||||||
}
|
|
||||||
|
|
||||||
export type NestedFloatFilter<$PrismaModel = never> = {
|
|
||||||
equals?: number | FloatFieldRefInput<$PrismaModel>
|
|
||||||
in?: number[]
|
|
||||||
notIn?: number[]
|
|
||||||
lt?: number | FloatFieldRefInput<$PrismaModel>
|
|
||||||
lte?: number | FloatFieldRefInput<$PrismaModel>
|
|
||||||
gt?: number | FloatFieldRefInput<$PrismaModel>
|
|
||||||
gte?: number | FloatFieldRefInput<$PrismaModel>
|
|
||||||
not?: NestedFloatFilter<$PrismaModel> | number
|
|
||||||
}
|
|
||||||
|
|
||||||
export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
equals?: string | StringFieldRefInput<$PrismaModel> | null
|
equals?: string | StringFieldRefInput<$PrismaModel> | null
|
||||||
in?: string[] | null
|
in?: string[] | null
|
||||||
@@ -3657,11 +3658,39 @@ export namespace Prisma {
|
|||||||
not?: NestedIntNullableFilter<$PrismaModel> | number | null
|
not?: NestedIntNullableFilter<$PrismaModel> | number | null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type NestedIntWithAggregatesFilter<$PrismaModel = never> = {
|
||||||
|
equals?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
in?: number[]
|
||||||
|
notIn?: number[]
|
||||||
|
lt?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
lte?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
gt?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
gte?: number | IntFieldRefInput<$PrismaModel>
|
||||||
|
not?: NestedIntWithAggregatesFilter<$PrismaModel> | number
|
||||||
|
_count?: NestedIntFilter<$PrismaModel>
|
||||||
|
_avg?: NestedFloatFilter<$PrismaModel>
|
||||||
|
_sum?: NestedIntFilter<$PrismaModel>
|
||||||
|
_min?: NestedIntFilter<$PrismaModel>
|
||||||
|
_max?: NestedIntFilter<$PrismaModel>
|
||||||
|
}
|
||||||
|
|
||||||
|
export type NestedFloatFilter<$PrismaModel = never> = {
|
||||||
|
equals?: number | FloatFieldRefInput<$PrismaModel>
|
||||||
|
in?: number[]
|
||||||
|
notIn?: number[]
|
||||||
|
lt?: number | FloatFieldRefInput<$PrismaModel>
|
||||||
|
lte?: number | FloatFieldRefInput<$PrismaModel>
|
||||||
|
gt?: number | FloatFieldRefInput<$PrismaModel>
|
||||||
|
gte?: number | FloatFieldRefInput<$PrismaModel>
|
||||||
|
not?: NestedFloatFilter<$PrismaModel> | number
|
||||||
|
}
|
||||||
|
|
||||||
export type DrawingCreateWithoutCollectionInput = {
|
export type DrawingCreateWithoutCollectionInput = {
|
||||||
id?: string
|
id?: string
|
||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
updatedAt?: Date | string
|
updatedAt?: Date | string
|
||||||
@@ -3672,6 +3701,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
updatedAt?: Date | string
|
updatedAt?: Date | string
|
||||||
@@ -3710,6 +3740,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
|
||||||
|
preview?: StringNullableFilter<"Drawing"> | string | null
|
||||||
version?: IntFilter<"Drawing"> | number
|
version?: IntFilter<"Drawing"> | number
|
||||||
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
collectionId?: StringNullableFilter<"Drawing"> | string | null
|
||||||
createdAt?: DateTimeFilter<"Drawing"> | Date | string
|
createdAt?: DateTimeFilter<"Drawing"> | Date | string
|
||||||
@@ -3765,6 +3796,7 @@ export namespace Prisma {
|
|||||||
name: string
|
name: string
|
||||||
elements: string
|
elements: string
|
||||||
appState: string
|
appState: string
|
||||||
|
preview?: string | null
|
||||||
version?: number
|
version?: number
|
||||||
createdAt?: Date | string
|
createdAt?: Date | string
|
||||||
updatedAt?: Date | string
|
updatedAt?: Date | string
|
||||||
@@ -3775,6 +3807,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3785,6 +3818,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
@@ -3795,6 +3829,7 @@ export namespace Prisma {
|
|||||||
name?: StringFieldUpdateOperationsInput | string
|
name?: StringFieldUpdateOperationsInput | string
|
||||||
elements?: StringFieldUpdateOperationsInput | string
|
elements?: StringFieldUpdateOperationsInput | string
|
||||||
appState?: StringFieldUpdateOperationsInput | string
|
appState?: StringFieldUpdateOperationsInput | string
|
||||||
|
preview?: NullableStringFieldUpdateOperationsInput | string | null
|
||||||
version?: IntFieldUpdateOperationsInput | number
|
version?: IntFieldUpdateOperationsInput | number
|
||||||
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
createdAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ exports.Prisma.DrawingScalarFieldEnum = {
|
|||||||
name: 'name',
|
name: 'name',
|
||||||
elements: 'elements',
|
elements: 'elements',
|
||||||
appState: 'appState',
|
appState: 'appState',
|
||||||
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
createdAt: 'createdAt',
|
createdAt: 'createdAt',
|
||||||
@@ -150,7 +151,7 @@ const config = {
|
|||||||
"isCustomOutput": true
|
"isCustomOutput": true
|
||||||
},
|
},
|
||||||
"relativeEnvPaths": {
|
"relativeEnvPaths": {
|
||||||
"rootEnvPath": "../../../.env",
|
"rootEnvPath": null,
|
||||||
"schemaEnvPath": "../../../.env"
|
"schemaEnvPath": "../../../.env"
|
||||||
},
|
},
|
||||||
"relativePath": "../../../prisma",
|
"relativePath": "../../../prisma",
|
||||||
@@ -160,7 +161,6 @@ const config = {
|
|||||||
"db"
|
"db"
|
||||||
],
|
],
|
||||||
"activeProvider": "sqlite",
|
"activeProvider": "sqlite",
|
||||||
"postinstall": false,
|
|
||||||
"inlineDatasources": {
|
"inlineDatasources": {
|
||||||
"db": {
|
"db": {
|
||||||
"url": {
|
"url": {
|
||||||
@@ -169,8 +169,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 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 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": "481a5f143c00eb5cbae4281008c7bf10c3e13066bfd88f97f47bd22f56672c24",
|
"inlineSchemaHash": "67e1a3789d22e31866fa8b498914744bb15a8743c766f6c9cb36263d6b7740a9",
|
||||||
"copyEngine": true
|
"copyEngine": true
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -191,7 +191,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\":\"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\":\"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-83e2d97f7605e3fc4b9dd655248fc3537e09c5d5de3bea41e3f804da1ddcbc6e",
|
"name": "prisma-client-3ebeea41bd8603a2c294a840f7d22c864ae7fc82298676ca177ef806525c6187",
|
||||||
"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
|
||||||
|
preview String? // SVG string for thumbnail
|
||||||
version Int @default(1)
|
version Int @default(1)
|
||||||
collectionId String?
|
collectionId String?
|
||||||
collection Collection? @relation(fields: [collectionId], references: [id])
|
collection Collection? @relation(fields: [collectionId], references: [id])
|
||||||
|
|||||||
@@ -131,6 +131,7 @@ exports.Prisma.DrawingScalarFieldEnum = {
|
|||||||
name: 'name',
|
name: 'name',
|
||||||
elements: 'elements',
|
elements: 'elements',
|
||||||
appState: 'appState',
|
appState: 'appState',
|
||||||
|
preview: 'preview',
|
||||||
version: 'version',
|
version: 'version',
|
||||||
collectionId: 'collectionId',
|
collectionId: 'collectionId',
|
||||||
createdAt: 'createdAt',
|
createdAt: 'createdAt',
|
||||||
|
|||||||
+31
-4
@@ -8,7 +8,8 @@ import { PrismaClient } from "./generated/client";
|
|||||||
dotenv.config();
|
dotenv.config();
|
||||||
|
|
||||||
// Ensure DATABASE_URL is absolute to avoid relative path issues with generated client
|
// Ensure DATABASE_URL is absolute to avoid relative path issues with generated client
|
||||||
const dbPath = path.resolve(__dirname, "../dev.db");
|
// Point to the same DB file as Prisma CLI (relative to schema.prisma, usually in prisma/ folder)
|
||||||
|
const dbPath = path.resolve(__dirname, "../prisma/dev.db");
|
||||||
process.env.DATABASE_URL = `file:${dbPath}`;
|
process.env.DATABASE_URL = `file:${dbPath}`;
|
||||||
console.log("Resolved DATABASE_URL:", process.env.DATABASE_URL);
|
console.log("Resolved DATABASE_URL:", process.env.DATABASE_URL);
|
||||||
|
|
||||||
@@ -35,6 +36,12 @@ app.get("/drawings", async (req, res) => {
|
|||||||
where.collectionId = null;
|
where.collectionId = null;
|
||||||
} else if (collectionId) {
|
} else if (collectionId) {
|
||||||
where.collectionId = String(collectionId);
|
where.collectionId = String(collectionId);
|
||||||
|
} else {
|
||||||
|
// Default: Exclude trash, but include unorganized (null)
|
||||||
|
where.OR = [
|
||||||
|
{ collectionId: { not: "trash" } },
|
||||||
|
{ collectionId: null },
|
||||||
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
const drawings = await prisma.drawing.findMany({
|
const drawings = await prisma.drawing.findMany({
|
||||||
@@ -79,7 +86,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 } = req.body;
|
const { name, elements, appState, collectionId, preview } = req.body;
|
||||||
|
|
||||||
const newDrawing = await prisma.drawing.create({
|
const newDrawing = await prisma.drawing.create({
|
||||||
data: {
|
data: {
|
||||||
@@ -87,6 +94,7 @@ app.post("/drawings", async (req, res) => {
|
|||||||
elements: JSON.stringify(elements || []),
|
elements: JSON.stringify(elements || []),
|
||||||
appState: JSON.stringify(appState || {}),
|
appState: JSON.stringify(appState || {}),
|
||||||
collectionId: collectionId || null,
|
collectionId: collectionId || null,
|
||||||
|
preview: preview || null,
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -104,7 +112,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 } = req.body;
|
const { name, elements, appState, collectionId, preview } = req.body;
|
||||||
|
|
||||||
const data: any = {
|
const data: any = {
|
||||||
version: { increment: 1 },
|
version: { increment: 1 },
|
||||||
@@ -114,6 +122,7 @@ app.put("/drawings/:id", async (req, res) => {
|
|||||||
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 (collectionId !== undefined) data.collectionId = collectionId;
|
if (collectionId !== undefined) data.collectionId = collectionId;
|
||||||
|
if (preview !== undefined) data.preview = preview;
|
||||||
|
|
||||||
const updatedDrawing = await prisma.drawing.update({
|
const updatedDrawing = await prisma.drawing.update({
|
||||||
where: { id },
|
where: { id },
|
||||||
@@ -236,6 +245,24 @@ app.delete("/collections/:id", async (req, res) => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
app.listen(PORT, () => {
|
// Ensure Trash collection exists
|
||||||
|
const ensureTrashCollection = async () => {
|
||||||
|
try {
|
||||||
|
const trash = await prisma.collection.findUnique({
|
||||||
|
where: { id: "trash" },
|
||||||
|
});
|
||||||
|
if (!trash) {
|
||||||
|
await prisma.collection.create({
|
||||||
|
data: { id: "trash", name: "Trash" },
|
||||||
|
});
|
||||||
|
console.log("Created Trash collection");
|
||||||
|
}
|
||||||
|
} catch (error) {
|
||||||
|
console.error("Failed to ensure Trash collection:", error);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
app.listen(PORT, async () => {
|
||||||
|
await ensureTrashCollection();
|
||||||
console.log(`Server running on port ${PORT}`);
|
console.log(`Server running on port ${PORT}`);
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -292,24 +292,14 @@ export const Sidebar: React.FC<SidebarProps> = ({
|
|||||||
onDrop={(e) => {
|
onDrop={(e) => {
|
||||||
e.preventDefault();
|
e.preventDefault();
|
||||||
setIsTrashDragOver(false);
|
setIsTrashDragOver(false);
|
||||||
const trashId = collections.find(c => c.name === 'Trash')?.id;
|
onDrop?.(e, 'trash');
|
||||||
if (trashId) {
|
|
||||||
onDrop?.(e, trashId);
|
|
||||||
} else {
|
|
||||||
onDrop?.(e, 'TRASH');
|
|
||||||
}
|
|
||||||
}}
|
}}
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
const trashCollection = collections.find(c => c.name === 'Trash');
|
navigate('/collections?id=trash');
|
||||||
if (trashCollection) {
|
|
||||||
navigate(`/collections?id=${trashCollection.id}`);
|
|
||||||
} else {
|
|
||||||
onCreateCollection('Trash');
|
|
||||||
}
|
|
||||||
}}
|
}}
|
||||||
className={clsx(
|
className={clsx(
|
||||||
"w-full flex items-center gap-3 px-3 py-2 text-sm font-bold rounded-xl transition-all duration-200 border-2 border-black dark:border-neutral-700 shadow-[2px_2px_0px_0px_rgba(0,0,0,1)] dark:shadow-[2px_2px_0px_0px_rgba(255,255,255,0.2)] mb-4",
|
"w-full flex items-center gap-3 px-3 py-2 text-sm font-bold rounded-xl transition-all duration-200 border-2 border-black dark:border-neutral-700 shadow-[2px_2px_0px_0px_rgba(0,0,0,1)] dark:shadow-[2px_2px_0px_0px_rgba(255,255,255,0.2)] mb-4",
|
||||||
collections.find(c => c.name === 'Trash')?.id === selectedCollectionId || isTrashDragOver
|
selectedCollectionId === 'trash' || isTrashDragOver
|
||||||
? "bg-rose-50 dark:bg-rose-900/30 text-rose-900 dark:text-rose-300 -translate-y-0.5"
|
? "bg-rose-50 dark:bg-rose-900/30 text-rose-900 dark:text-rose-300 -translate-y-0.5"
|
||||||
: "bg-white dark:bg-neutral-900 text-slate-900 dark:text-neutral-200 hover:bg-rose-50 dark:hover:bg-rose-900/30 hover:text-rose-900 dark:hover:text-rose-300 hover:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] dark:hover:shadow-[4px_4px_0px_0px_rgba(255,255,255,0.2)] hover:-translate-y-0.5"
|
: "bg-white dark:bg-neutral-900 text-slate-900 dark:text-neutral-200 hover:bg-rose-50 dark:hover:bg-rose-900/30 hover:text-rose-900 dark:hover:text-rose-300 hover:shadow-[4px_4px_0px_0px_rgba(0,0,0,1)] dark:hover:shadow-[4px_4px_0px_0px_rgba(255,255,255,0.2)] hover:-translate-y-0.5"
|
||||||
)}
|
)}
|
||||||
|
|||||||
@@ -267,15 +267,7 @@ export const Dashboard: React.FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
// Trash Helpers
|
// Trash Helpers
|
||||||
const trashCollection = collections.find(c => c.name === 'Trash');
|
const isTrashView = selectedCollectionId === 'trash';
|
||||||
const isTrashView = selectedCollectionId === trashCollection?.id && trashCollection !== undefined;
|
|
||||||
|
|
||||||
const getOrCreateTrashId = async () => {
|
|
||||||
if (trashCollection) return trashCollection.id;
|
|
||||||
const newCol = await api.createCollection('Trash');
|
|
||||||
setCollections(prev => [...prev, newCol]);
|
|
||||||
return newCol.id;
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleCreateDrawing = async () => {
|
const handleCreateDrawing = async () => {
|
||||||
if (isTrashView) return;
|
if (isTrashView) return;
|
||||||
@@ -300,7 +292,7 @@ export const Dashboard: React.FC = () => {
|
|||||||
setDrawingToDelete(id);
|
setDrawingToDelete(id);
|
||||||
} else {
|
} else {
|
||||||
// Move to Trash -> No Confirm
|
// Move to Trash -> No Confirm
|
||||||
const trashId = await getOrCreateTrashId();
|
const trashId = 'trash';
|
||||||
|
|
||||||
// Optimistic Remove from current view
|
// Optimistic Remove from current view
|
||||||
setDrawings(prev => prev.filter(d => d.id !== id));
|
setDrawings(prev => prev.filter(d => d.id !== id));
|
||||||
@@ -373,7 +365,7 @@ export const Dashboard: React.FC = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
const executeBulkMoveToTrash = async () => {
|
const executeBulkMoveToTrash = async () => {
|
||||||
const trashId = await getOrCreateTrashId();
|
const trashId = 'trash';
|
||||||
const ids = Array.from(selectedIds);
|
const ids = Array.from(selectedIds);
|
||||||
|
|
||||||
setDrawings(prev => prev.filter(d => !selectedIds.has(d.id)));
|
setDrawings(prev => prev.filter(d => !selectedIds.has(d.id)));
|
||||||
@@ -489,6 +481,7 @@ export const Dashboard: React.FC = () => {
|
|||||||
const viewTitle = React.useMemo(() => {
|
const viewTitle = React.useMemo(() => {
|
||||||
if (selectedCollectionId === undefined) return "All Drawings";
|
if (selectedCollectionId === undefined) return "All Drawings";
|
||||||
if (selectedCollectionId === null) return "Unorganized";
|
if (selectedCollectionId === null) return "Unorganized";
|
||||||
|
if (selectedCollectionId === 'trash') return "Trash";
|
||||||
const collection = collections.find(c => c.id === selectedCollectionId);
|
const collection = collections.find(c => c.id === selectedCollectionId);
|
||||||
return collection ? collection.name : "Collection";
|
return collection ? collection.name : "Collection";
|
||||||
}, [selectedCollectionId, collections]);
|
}, [selectedCollectionId, collections]);
|
||||||
@@ -589,9 +582,12 @@ export const Dashboard: React.FC = () => {
|
|||||||
setDrawings(prev => prev.map(d => d.id === id ? { ...d, preview } : d));
|
setDrawings(prev => prev.map(d => d.id === id ? { ...d, preview } : d));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Filter out trash from the collections list passed to sidebar
|
||||||
|
const visibleCollections = React.useMemo(() => collections.filter(c => c.id !== 'trash'), [collections]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<Layout
|
<Layout
|
||||||
collections={collections}
|
collections={visibleCollections}
|
||||||
selectedCollectionId={selectedCollectionId}
|
selectedCollectionId={selectedCollectionId}
|
||||||
onSelectCollection={setSelectedCollectionId}
|
onSelectCollection={setSelectedCollectionId}
|
||||||
onCreateCollection={handleCreateCollection}
|
onCreateCollection={handleCreateCollection}
|
||||||
|
|||||||
@@ -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 } from '@excalidraw/excalidraw';
|
import { Excalidraw, convertToExcalidrawElements, 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 { Toaster, toast } from 'sonner';
|
import { Toaster, toast } from 'sonner';
|
||||||
@@ -38,9 +38,23 @@ export const Editor: React.FC = () => {
|
|||||||
gridSize: appState.gridSize,
|
gridSize: appState.gridSize,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Generate preview
|
||||||
|
const files = excalidrawAPI.current?.getFiles() || null;
|
||||||
|
const svg = await exportToSvg({
|
||||||
|
elements,
|
||||||
|
appState: {
|
||||||
|
...appState,
|
||||||
|
exportBackground: true,
|
||||||
|
viewBackgroundColor: appState.viewBackgroundColor || '#ffffff',
|
||||||
|
},
|
||||||
|
files,
|
||||||
|
});
|
||||||
|
const preview = svg.outerHTML;
|
||||||
|
|
||||||
await api.updateDrawing(id, {
|
await api.updateDrawing(id, {
|
||||||
elements,
|
elements,
|
||||||
appState: persistableAppState,
|
appState: persistableAppState,
|
||||||
|
preview,
|
||||||
});
|
});
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Failed to save drawing', err);
|
console.error('Failed to save drawing', err);
|
||||||
|
|||||||
Reference in New Issue
Block a user