import { relations } from 'drizzle-orm';
import {
int, mysqlTable, boolean, tinytext, timestamp, json, unique, varchar,
} from 'drizzle-orm/mysql-core';
export const app = mysqlTable('apps', {
id: int('id').primaryKey().autoincrement(),
name: tinytext('name').notNull(),
createdAt: timestamp('createdAt').notNull().defaultNow(),
updatedAt: timestamp('updatedAt').notNull().defaultNow(),
});
export const feature = mysqlTable('features', {
appID: int('appID').primaryKey().references(() => app.id),
trackMessage: boolean('trackMessage').notNull().default(false),
deleteMessage: boolean('deleteMessage').notNull().default(false),
webhookSupport: boolean('webhookSupport').notNull().default(false),
inviteLinks: boolean('inviteLinks').notNull().default(false),
createdAt: timestamp('createdAt').notNull().defaultNow(),
updatedAt: timestamp('updatedAt').notNull().defaultNow(),
});
export const appRelations = relations(app, ({ many, one }) => ({
feature: one(feature, { fields: [app.id], references: [feature.appID] }),
}));
export const featureRelations = relations(feature, ({ one }) => ({
app: one(app, { fields: [feature.appID], references: [app.id] }),
}));
import { relations } from 'drizzle-orm';
import {
int, mysqlTable, boolean, tinytext, timestamp, json, unique, varchar,
} from 'drizzle-orm/mysql-core';
export const app = mysqlTable('apps', {
id: int('id').primaryKey().autoincrement(),
name: tinytext('name').notNull(),
createdAt: timestamp('createdAt').notNull().defaultNow(),
updatedAt: timestamp('updatedAt').notNull().defaultNow(),
});
export const feature = mysqlTable('features', {
appID: int('appID').primaryKey().references(() => app.id),
trackMessage: boolean('trackMessage').notNull().default(false),
deleteMessage: boolean('deleteMessage').notNull().default(false),
webhookSupport: boolean('webhookSupport').notNull().default(false),
inviteLinks: boolean('inviteLinks').notNull().default(false),
createdAt: timestamp('createdAt').notNull().defaultNow(),
updatedAt: timestamp('updatedAt').notNull().defaultNow(),
});
export const appRelations = relations(app, ({ many, one }) => ({
feature: one(feature, { fields: [app.id], references: [feature.appID] }),
}));
export const featureRelations = relations(feature, ({ one }) => ({
app: one(app, { fields: [feature.appID], references: [app.id] }),
}));