import { pgTable, text, timestamp, integer } from "drizzle-orm/pg-core";
import { repositories } from "./repositories";
import { relations } from "drizzle-orm";
export const issueStatuses = pgTable("issue_statuses", {
id: text("id").primaryKey(),
repositoryId: text("repository_id")
.notNull()
.references(() => repositories.id, { onDelete: "cascade" }),
// Status info
name: text("name").notNull(), // e.g., "Backlog", "In Progress", "Done"
color: text("color").notNull().default("#808080"),
order: integer("order").notNull().default(0),
// Type/Category
type: text("type").notNull().default("open"), // open, complated, cancelled
isDefault: integer("is_default").default(0), // 1 if default for new issues
createdAt: timestamp("created_at").notNull().defaultNow(),
updatedAt: timestamp("updated_at").notNull().defaultNow(),
});
export const issueStatusesRelations = relations(issueStatuses, ({ one }) => ({
repository: one(repositories, {
fields: [issueStatuses.repositoryId],
references: [repositories.id],
}),
}));