23 lines
877 B
TypeScript
23 lines
877 B
TypeScript
import { integer, now, real, table, text } from "@agent-native/core/db/schema";
|
|||
|
|
|
||
|
|
export const stocks = table("stocks", {
|
||
|
|
id: text("id").primaryKey(),
|
||
|
|
symbol: text("symbol").notNull(),
|
||
|
|
companyName: text("company_name").notNull(),
|
||
|
|
exchange: text("exchange").notNull().default("NASDAQ"),
|
||
|
|
sector: text("sector"),
|
||
|
|
currency: text("currency").notNull().default("USD"),
|
||
|
|
price: real("price").notNull().default(0),
|
||
|
|
changePercent: real("change_percent").notNull().default(0),
|
||
|
|
marketCap: integer("market_cap"),
|
||
|
|
watchlisted: integer("watchlisted", { mode: "boolean" })
|
||
|
|
.notNull()
|
||
|
|
.default(false),
|
||
|
|
ownerEmail: text("owner_email").notNull(),
|
||
|
|
createdAt: text("created_at").notNull().default(now()),
|
||
|
|
updatedAt: text("updated_at").notNull().default(now()),
|
||
|
|
});
|
||
|
|
|
||
|
|
export type Stock = typeof stocks.$inferSelect;
|
||
|
|
export type NewStock = typeof stocks.$inferInsert;
|