chore: reformat database schema files for readability
Applied consistent formatting and indentation across all schema files using Drizzle ORM to enhance code clarity and maintainability.
This commit is contained in:
@@ -1,18 +1,35 @@
|
||||
import { pgTable, varchar, timestamp, uuid, index, boolean } from 'drizzle-orm/pg-core';
|
||||
import { users } from './users';
|
||||
import {
|
||||
pgTable,
|
||||
varchar,
|
||||
timestamp,
|
||||
uuid,
|
||||
index,
|
||||
boolean,
|
||||
} from "drizzle-orm/pg-core";
|
||||
import { users } from "./users";
|
||||
|
||||
export const sessions = pgTable('sessions', {
|
||||
id: uuid('id').primaryKey().defaultRandom(),
|
||||
userId: uuid('user_id').notNull().references(() => users.uuid, { onDelete: 'cascade' }),
|
||||
refreshToken: varchar('refresh_token', { length: 512 }).notNull().unique(),
|
||||
userAgent: varchar('user_agent', { length: 255 }),
|
||||
ipHash: varchar('ip_hash', { length: 64 }), // IP hachée pour la protection de la vie privée (RGPD)
|
||||
isValid: boolean('is_valid').notNull().default(true),
|
||||
expiresAt: timestamp('expires_at', { withTimezone: true }).notNull(),
|
||||
createdAt: timestamp('created_at', { withTimezone: true }).notNull().defaultNow(),
|
||||
updatedAt: timestamp('updated_at', { withTimezone: true }).notNull().defaultNow(),
|
||||
}, (table) => ({
|
||||
userIdIdx: index('sessions_user_id_idx').on(table.userId),
|
||||
refreshTokenIdx: index('sessions_refresh_token_idx').on(table.refreshToken),
|
||||
expiresAtIdx: index('sessions_expires_at_idx').on(table.expiresAt),
|
||||
}));
|
||||
export const sessions = pgTable(
|
||||
"sessions",
|
||||
{
|
||||
id: uuid("id").primaryKey().defaultRandom(),
|
||||
userId: uuid("user_id")
|
||||
.notNull()
|
||||
.references(() => users.uuid, { onDelete: "cascade" }),
|
||||
refreshToken: varchar("refresh_token", { length: 512 }).notNull().unique(),
|
||||
userAgent: varchar("user_agent", { length: 255 }),
|
||||
ipHash: varchar("ip_hash", { length: 64 }), // IP hachée pour la protection de la vie privée (RGPD)
|
||||
isValid: boolean("is_valid").notNull().default(true),
|
||||
expiresAt: timestamp("expires_at", { withTimezone: true }).notNull(),
|
||||
createdAt: timestamp("created_at", { withTimezone: true })
|
||||
.notNull()
|
||||
.defaultNow(),
|
||||
updatedAt: timestamp("updated_at", { withTimezone: true })
|
||||
.notNull()
|
||||
.defaultNow(),
|
||||
},
|
||||
(table) => ({
|
||||
userIdIdx: index("sessions_user_id_idx").on(table.userId),
|
||||
refreshTokenIdx: index("sessions_refresh_token_idx").on(table.refreshToken),
|
||||
expiresAtIdx: index("sessions_expires_at_idx").on(table.expiresAt),
|
||||
}),
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user