|
|
|
@ -1,9 +1,11 @@ |
|
|
|
import { sql, relations } from 'drizzle-orm'; |
|
|
|
import { int, sqliteTable, text } from 'drizzle-orm/sqlite-core'; |
|
|
|
import { int, sqliteTable, text, uniqueIndex } from 'drizzle-orm/sqlite-core'; |
|
|
|
|
|
|
|
import { client } from '../../schema'; |
|
|
|
|
|
|
|
export const user = sqliteTable('users_table', { |
|
|
|
export const user = sqliteTable( |
|
|
|
'users_table', |
|
|
|
{ |
|
|
|
id: int().primaryKey({ autoIncrement: true }), |
|
|
|
username: text().notNull().unique(), |
|
|
|
/** `password == null` means password login disabled */ |
|
|
|
@ -23,7 +25,14 @@ export const user = sqliteTable('users_table', { |
|
|
|
.notNull() |
|
|
|
.default(sql`(CURRENT_TIMESTAMP)`) |
|
|
|
.$onUpdate(() => sql`(CURRENT_TIMESTAMP)`), |
|
|
|
}); |
|
|
|
}, |
|
|
|
(table) => [ |
|
|
|
uniqueIndex('oauth_provider_id_unique').on( |
|
|
|
table.oauthProvider, |
|
|
|
table.oauthId |
|
|
|
), |
|
|
|
] |
|
|
|
); |
|
|
|
|
|
|
|
export const usersRelations = relations(user, ({ many }) => ({ |
|
|
|
clients: many(client), |
|
|
|
|