2024-09-01 19:22:00 +00:00
|
|
|
import { type InferSelectModel } from 'drizzle-orm'
|
|
|
|
|
import { pgTable, text, uuid } from 'drizzle-orm/pg-core'
|
2024-09-04 23:04:41 +00:00
|
|
|
import { timestamps } from '../../common/utils/table'
|
2024-09-01 19:22:00 +00:00
|
|
|
import { usersTable } from './users.table'
|
2024-07-31 01:50:46 +00:00
|
|
|
|
|
|
|
|
export const federatedIdentityTable = pgTable('federated_identity', {
|
|
|
|
|
id: uuid('id').primaryKey().defaultRandom(),
|
|
|
|
|
user_id: uuid('user_id')
|
|
|
|
|
.notNull()
|
|
|
|
|
.references(() => usersTable.id, { onDelete: 'cascade' }),
|
2024-08-08 19:38:17 +00:00
|
|
|
identity_provider: text('identity_provider').notNull(),
|
2024-07-31 01:50:46 +00:00
|
|
|
federated_user_id: text('federated_user_id').notNull(),
|
|
|
|
|
federated_username: text('federated_username').notNull(),
|
2024-09-01 19:22:00 +00:00
|
|
|
...timestamps,
|
|
|
|
|
})
|
2024-08-07 17:01:38 +00:00
|
|
|
|
2024-09-01 19:22:00 +00:00
|
|
|
export type FederatedIdentity = InferSelectModel<typeof federatedIdentityTable>
|