19 lines
608 B
TypeScript
19 lines
608 B
TypeScript
import * as t from 'drizzle-orm/pg-core';
|
|
import { usersToPermissions, usersToRoles } from './schema';
|
|
import { relations } from 'drizzle-orm';
|
|
import { timestamps } from '../util';
|
|
|
|
export const users = t.pgTable('user', {
|
|
id: t.uuid('id').primaryKey(),
|
|
username: t.text('username').notNull().unique(),
|
|
oauth_id: t.uuid('oauth_id').notNull(),
|
|
email: t.text('email').notNull().unique(),
|
|
...timestamps
|
|
});
|
|
|
|
export const usersRelations = relations(users, ({ many }) => ({
|
|
usersToPermissions: many(usersToPermissions),
|
|
usersToRoles: many(usersToRoles)
|
|
}));
|
|
|
|
export type User = typeof users.$inferSelect;
|