diff --git a/graphql-contracts b/graphql-contracts index d2dea0a..93b8e21 160000 --- a/graphql-contracts +++ b/graphql-contracts @@ -1 +1 @@ -Subproject commit d2dea0a67e18b6736c2933f65ab6ffb9dfc68dbe +Subproject commit 93b8e213252c42a02f432b96a813cb6816e3d354 diff --git a/prisma/migrations/2_add_product_image_url/migration.sql b/prisma/migrations/2_add_product_image_url/migration.sql new file mode 100644 index 0000000..e085209 --- /dev/null +++ b/prisma/migrations/2_add_product_image_url/migration.sql @@ -0,0 +1,2 @@ +-- AlterTable +ALTER TABLE "exchange_products" ADD COLUMN "image_url" VARCHAR(500); diff --git a/prisma/schema.prisma b/prisma/schema.prisma index f494133..576dc19 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -58,6 +58,7 @@ model Product { name String @db.VarChar(255) categoryName String @default("") @map("category_name") @db.VarChar(255) unit String @default("ton") @db.VarChar(20) + imageUrl String? @map("image_url") @db.VarChar(500) description String? isActive Boolean @default(true) @map("is_active") createdAt DateTime @default(now()) @map("created_at") diff --git a/scripts/seed-demo.ts b/scripts/seed-demo.ts index ae35a8d..84ae0e1 100644 --- a/scripts/seed-demo.ts +++ b/scripts/seed-demo.ts @@ -10,6 +10,7 @@ const products = [ name: 'Solar panels', categoryName: 'Equipment', unit: 'pallet', + imageUrl: 'https://images.unsplash.com/photo-1509391366360-2e959784a276?auto=format&fit=crop&w=900&q=80', description: 'Demo exchange product', }, { @@ -18,6 +19,7 @@ const products = [ name: 'Industrial pumps', categoryName: 'Equipment', unit: 'unit', + imageUrl: 'https://images.unsplash.com/photo-1581092160607-ee22621dd758?auto=format&fit=crop&w=900&q=80', description: 'Demo exchange product', }, { @@ -26,6 +28,7 @@ const products = [ name: 'Soybean meal', categoryName: 'Agriculture', unit: 'ton', + imageUrl: 'https://images.unsplash.com/photo-1625246333195-78d9c38ad449?auto=format&fit=crop&w=900&q=80', description: 'Demo exchange product', }, ] @@ -38,6 +41,7 @@ const suppliers = [ description: 'Demo solar panel supplier near Guangzhou rail terminal', country: 'China', countryCode: 'CN', + logoUrl: 'https://ui-avatars.com/api/?name=Guangzhou+Solar+Factory&background=0B6BFF&color=fff&bold=true', isVerified: true, }, { @@ -47,6 +51,7 @@ const suppliers = [ description: 'Demo industrial supplier near Yantian sea port', country: 'China', countryCode: 'CN', + logoUrl: 'https://ui-avatars.com/api/?name=Shenzhen+Pump+Works&background=9F1239&color=fff&bold=true', isVerified: true, }, { @@ -56,6 +61,7 @@ const suppliers = [ description: 'Demo agriculture supplier near rail export hub', country: 'China', countryCode: 'CN', + logoUrl: 'https://ui-avatars.com/api/?name=Harbin+Agro+Export&background=0F8A6A&color=fff&bold=true', isVerified: true, }, { @@ -65,6 +71,7 @@ const suppliers = [ description: 'Demo Russian supplier near Far East port and rail', country: 'Russia', countryCode: 'RU', + logoUrl: 'https://ui-avatars.com/api/?name=Vladivostok+Timber+Terminal&background=C45125&color=fff&bold=true', isVerified: true, }, ] diff --git a/src/schema.ts b/src/schema.ts index 3302571..f4b280d 100644 --- a/src/schema.ts +++ b/src/schema.ts @@ -16,6 +16,7 @@ type ProductInput = { name: string categoryName?: string | null unit?: string | null + imageUrl?: string | null description?: string | null isActive?: boolean | null } @@ -56,6 +57,7 @@ export const typeDefs = `#graphql name: String! categoryName: String! unit: String! + imageUrl: String description: String isActive: Boolean! createdAt: String! @@ -96,6 +98,7 @@ export const typeDefs = `#graphql name: String! categoryName: String unit: String + imageUrl: String description: String isActive: Boolean } @@ -158,6 +161,7 @@ function productData(input: ProductInput) { name: input.name, categoryName: input.categoryName ?? '', unit: input.unit ?? 'ton', + imageUrl: input.imageUrl ?? null, description: input.description ?? null, isActive: input.isActive ?? true, }