File size: 866 Bytes
5ef6e9d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | import { pgTable, serial, text, timestamp, boolean, integer } from "drizzle-orm/pg-core";
import { createInsertSchema } from "drizzle-zod";
import { z } from "zod/v4";
export const imagesTable = pgTable("images", {
id: serial("id").primaryKey(),
imageUrl: text("image_url").notNull(),
prompt: text("prompt").notNull(),
style: text("style").notNull().default("realistic"),
aspectRatio: text("aspect_ratio").notNull().default("1:1"),
model: text("model").notNull().default("grok"),
isPrivate: boolean("is_private").notNull().default(false),
userId: integer("user_id"),
createdAt: timestamp("created_at").defaultNow().notNull(),
});
export const insertImageSchema = createInsertSchema(imagesTable).omit({ id: true, createdAt: true });
export type InsertImage = z.infer<typeof insertImageSchema>;
export type Image = typeof imagesTable.$inferSelect;
|