|
1 | 1 | import { relations } from "drizzle-orm";
|
2 |
| -import { boolean, pgEnum, pgTable, serial, text, timestamp, varchar } from "drizzle-orm/pg-core"; |
| 2 | +import { boolean, jsonb, pgEnum, pgTable, serial, text, timestamp, varchar } from "drizzle-orm/pg-core"; |
3 | 3 |
|
4 | 4 | export const reviewActionEnum = pgEnum("review_action_enum", ["REJECTED", "ACCEPTED", "SUBMITTED"]);
|
5 | 5 | export const eventTypeEnum = pgEnum("event_type_enum", ["challenge.submit", "challenge.autograde", "user.create"]);
|
@@ -45,11 +45,9 @@ export const events = pgTable("events", {
|
45 | 45 | userAddress: varchar("user_address", { length: 42 })
|
46 | 46 | .notNull()
|
47 | 47 | .references(() => users.userAddress),
|
48 |
| - challengeId: varchar("challenge_id", { length: 255 }).references(() => challenges.id), |
49 |
| - frontendUrl: varchar("frontend_url", { length: 255 }), |
50 |
| - contractUrl: varchar("contract_url", { length: 255 }), |
51 |
| - reviewAction: reviewActionEnum("review_action"), |
52 |
| - reviewMessage: text("review_message"), |
| 48 | + payload: jsonb("payload") |
| 49 | + .notNull() |
| 50 | + .$defaultFn(() => ({})), // Flexible event payload stored as JSONB |
53 | 51 | });
|
54 | 52 |
|
55 | 53 | export const usersRelations = relations(users, ({ many }) => ({
|
@@ -78,8 +76,4 @@ export const eventsRelations = relations(events, ({ one }) => ({
|
78 | 76 | fields: [events.userAddress],
|
79 | 77 | references: [users.userAddress],
|
80 | 78 | }),
|
81 |
| - challenge: one(challenges, { |
82 |
| - fields: [events.challengeId], |
83 |
| - references: [challenges.id], |
84 |
| - }), |
85 | 79 | }));
|
0 commit comments