style: format entire codebase with prettier
This commit is contained in:
@@ -1,58 +1,58 @@
|
||||
import { relations } from "drizzle-orm/relations";
|
||||
import { wishlists, items, user, savedWishlists, reservations, session, account } from "./schema";
|
||||
import { relations } from 'drizzle-orm/relations';
|
||||
import { wishlists, items, user, savedWishlists, reservations, session, account } from './schema';
|
||||
|
||||
export const itemsRelations = relations(items, ({one, many}) => ({
|
||||
wishlist: one(wishlists, {
|
||||
fields: [items.wishlistId],
|
||||
references: [wishlists.id]
|
||||
}),
|
||||
reservations: many(reservations),
|
||||
export const itemsRelations = relations(items, ({ one, many }) => ({
|
||||
wishlist: one(wishlists, {
|
||||
fields: [items.wishlistId],
|
||||
references: [wishlists.id]
|
||||
}),
|
||||
reservations: many(reservations)
|
||||
}));
|
||||
|
||||
export const wishlistsRelations = relations(wishlists, ({one, many}) => ({
|
||||
items: many(items),
|
||||
user: one(user, {
|
||||
fields: [wishlists.userId],
|
||||
references: [user.id]
|
||||
}),
|
||||
savedWishlists: many(savedWishlists),
|
||||
export const wishlistsRelations = relations(wishlists, ({ one, many }) => ({
|
||||
items: many(items),
|
||||
user: one(user, {
|
||||
fields: [wishlists.userId],
|
||||
references: [user.id]
|
||||
}),
|
||||
savedWishlists: many(savedWishlists)
|
||||
}));
|
||||
|
||||
export const userRelations = relations(user, ({many}) => ({
|
||||
wishlists: many(wishlists),
|
||||
savedWishlists: many(savedWishlists),
|
||||
sessions: many(session),
|
||||
accounts: many(account),
|
||||
export const userRelations = relations(user, ({ many }) => ({
|
||||
wishlists: many(wishlists),
|
||||
savedWishlists: many(savedWishlists),
|
||||
sessions: many(session),
|
||||
accounts: many(account)
|
||||
}));
|
||||
|
||||
export const savedWishlistsRelations = relations(savedWishlists, ({one}) => ({
|
||||
user: one(user, {
|
||||
fields: [savedWishlists.userId],
|
||||
references: [user.id]
|
||||
}),
|
||||
wishlist: one(wishlists, {
|
||||
fields: [savedWishlists.wishlistId],
|
||||
references: [wishlists.id]
|
||||
}),
|
||||
export const savedWishlistsRelations = relations(savedWishlists, ({ one }) => ({
|
||||
user: one(user, {
|
||||
fields: [savedWishlists.userId],
|
||||
references: [user.id]
|
||||
}),
|
||||
wishlist: one(wishlists, {
|
||||
fields: [savedWishlists.wishlistId],
|
||||
references: [wishlists.id]
|
||||
})
|
||||
}));
|
||||
|
||||
export const reservationsRelations = relations(reservations, ({one}) => ({
|
||||
item: one(items, {
|
||||
fields: [reservations.itemId],
|
||||
references: [items.id]
|
||||
}),
|
||||
export const reservationsRelations = relations(reservations, ({ one }) => ({
|
||||
item: one(items, {
|
||||
fields: [reservations.itemId],
|
||||
references: [items.id]
|
||||
})
|
||||
}));
|
||||
|
||||
export const sessionRelations = relations(session, ({one}) => ({
|
||||
user: one(user, {
|
||||
fields: [session.userId],
|
||||
references: [user.id]
|
||||
}),
|
||||
export const sessionRelations = relations(session, ({ one }) => ({
|
||||
user: one(user, {
|
||||
fields: [session.userId],
|
||||
references: [user.id]
|
||||
})
|
||||
}));
|
||||
|
||||
export const accountRelations = relations(account, ({one}) => ({
|
||||
user: one(user, {
|
||||
fields: [account.userId],
|
||||
references: [user.id]
|
||||
}),
|
||||
}));
|
||||
export const accountRelations = relations(account, ({ one }) => ({
|
||||
user: one(user, {
|
||||
fields: [account.userId],
|
||||
references: [user.id]
|
||||
})
|
||||
}));
|
||||
|
||||
@@ -1,141 +1,186 @@
|
||||
import { pgTable, foreignKey, text, numeric, boolean, timestamp, unique, primaryKey } from "drizzle-orm/pg-core"
|
||||
import { sql } from "drizzle-orm"
|
||||
import {
|
||||
pgTable,
|
||||
foreignKey,
|
||||
text,
|
||||
numeric,
|
||||
boolean,
|
||||
timestamp,
|
||||
unique,
|
||||
primaryKey
|
||||
} from 'drizzle-orm/pg-core';
|
||||
import { sql } from 'drizzle-orm';
|
||||
|
||||
export const items = pgTable(
|
||||
'items',
|
||||
{
|
||||
id: text().primaryKey().notNull(),
|
||||
wishlistId: text('wishlist_id').notNull(),
|
||||
title: text().notNull(),
|
||||
description: text(),
|
||||
link: text(),
|
||||
imageUrl: text('image_url'),
|
||||
price: numeric({ precision: 10, scale: 2 }),
|
||||
currency: text().default('DKK'),
|
||||
color: text(),
|
||||
order: numeric().default('0').notNull(),
|
||||
isReserved: boolean('is_reserved').default(false).notNull(),
|
||||
createdAt: timestamp('created_at', { mode: 'string' }).defaultNow().notNull(),
|
||||
updatedAt: timestamp('updated_at', { mode: 'string' }).defaultNow().notNull()
|
||||
},
|
||||
(table) => [
|
||||
foreignKey({
|
||||
columns: [table.wishlistId],
|
||||
foreignColumns: [wishlists.id],
|
||||
name: 'items_wishlist_id_wishlists_id_fk'
|
||||
}).onDelete('cascade')
|
||||
]
|
||||
);
|
||||
|
||||
export const wishlists = pgTable(
|
||||
'wishlists',
|
||||
{
|
||||
id: text().primaryKey().notNull(),
|
||||
userId: text('user_id'),
|
||||
title: text().notNull(),
|
||||
description: text(),
|
||||
ownerToken: text('owner_token').notNull(),
|
||||
publicToken: text('public_token').notNull(),
|
||||
isFavorite: boolean('is_favorite').default(false).notNull(),
|
||||
color: text(),
|
||||
endDate: timestamp('end_date', { mode: 'string' }),
|
||||
createdAt: timestamp('created_at', { mode: 'string' }).defaultNow().notNull(),
|
||||
updatedAt: timestamp('updated_at', { mode: 'string' }).defaultNow().notNull(),
|
||||
theme: text().default('none')
|
||||
},
|
||||
(table) => [
|
||||
foreignKey({
|
||||
columns: [table.userId],
|
||||
foreignColumns: [user.id],
|
||||
name: 'wishlists_user_id_user_id_fk'
|
||||
}).onDelete('set null'),
|
||||
unique('wishlists_owner_token_unique').on(table.ownerToken),
|
||||
unique('wishlists_public_token_unique').on(table.publicToken)
|
||||
]
|
||||
);
|
||||
|
||||
export const items = pgTable("items", {
|
||||
id: text().primaryKey().notNull(),
|
||||
wishlistId: text("wishlist_id").notNull(),
|
||||
title: text().notNull(),
|
||||
description: text(),
|
||||
link: text(),
|
||||
imageUrl: text("image_url"),
|
||||
price: numeric({ precision: 10, scale: 2 }),
|
||||
currency: text().default('DKK'),
|
||||
color: text(),
|
||||
order: numeric().default('0').notNull(),
|
||||
isReserved: boolean("is_reserved").default(false).notNull(),
|
||||
createdAt: timestamp("created_at", { mode: 'string' }).defaultNow().notNull(),
|
||||
updatedAt: timestamp("updated_at", { mode: 'string' }).defaultNow().notNull(),
|
||||
}, (table) => [
|
||||
foreignKey({
|
||||
columns: [table.wishlistId],
|
||||
foreignColumns: [wishlists.id],
|
||||
name: "items_wishlist_id_wishlists_id_fk"
|
||||
}).onDelete("cascade"),
|
||||
]);
|
||||
export const savedWishlists = pgTable(
|
||||
'saved_wishlists',
|
||||
{
|
||||
id: text().primaryKey().notNull(),
|
||||
userId: text('user_id').notNull(),
|
||||
wishlistId: text('wishlist_id').notNull(),
|
||||
isFavorite: boolean('is_favorite').default(false).notNull(),
|
||||
createdAt: timestamp('created_at', { mode: 'string' }).defaultNow().notNull(),
|
||||
ownerToken: text('owner_token')
|
||||
},
|
||||
(table) => [
|
||||
foreignKey({
|
||||
columns: [table.userId],
|
||||
foreignColumns: [user.id],
|
||||
name: 'saved_wishlists_user_id_user_id_fk'
|
||||
}).onDelete('cascade'),
|
||||
foreignKey({
|
||||
columns: [table.wishlistId],
|
||||
foreignColumns: [wishlists.id],
|
||||
name: 'saved_wishlists_wishlist_id_wishlists_id_fk'
|
||||
}).onDelete('cascade')
|
||||
]
|
||||
);
|
||||
|
||||
export const wishlists = pgTable("wishlists", {
|
||||
id: text().primaryKey().notNull(),
|
||||
userId: text("user_id"),
|
||||
title: text().notNull(),
|
||||
description: text(),
|
||||
ownerToken: text("owner_token").notNull(),
|
||||
publicToken: text("public_token").notNull(),
|
||||
isFavorite: boolean("is_favorite").default(false).notNull(),
|
||||
color: text(),
|
||||
endDate: timestamp("end_date", { mode: 'string' }),
|
||||
createdAt: timestamp("created_at", { mode: 'string' }).defaultNow().notNull(),
|
||||
updatedAt: timestamp("updated_at", { mode: 'string' }).defaultNow().notNull(),
|
||||
theme: text().default('none'),
|
||||
}, (table) => [
|
||||
foreignKey({
|
||||
columns: [table.userId],
|
||||
foreignColumns: [user.id],
|
||||
name: "wishlists_user_id_user_id_fk"
|
||||
}).onDelete("set null"),
|
||||
unique("wishlists_owner_token_unique").on(table.ownerToken),
|
||||
unique("wishlists_public_token_unique").on(table.publicToken),
|
||||
]);
|
||||
export const user = pgTable(
|
||||
'user',
|
||||
{
|
||||
id: text().primaryKey().notNull(),
|
||||
name: text(),
|
||||
email: text(),
|
||||
emailVerified: timestamp({ mode: 'string' }),
|
||||
image: text(),
|
||||
password: text(),
|
||||
username: text(),
|
||||
dashboardTheme: text('dashboard_theme').default('none'),
|
||||
dashboardColor: text('dashboard_color'),
|
||||
lastLogin: timestamp('last_login', { mode: 'string' }),
|
||||
createdAt: timestamp('created_at', { mode: 'string' }).defaultNow().notNull(),
|
||||
updatedAt: timestamp('updated_at', { mode: 'string' }).defaultNow().notNull()
|
||||
},
|
||||
(table) => [
|
||||
unique('user_email_unique').on(table.email),
|
||||
unique('user_username_unique').on(table.username)
|
||||
]
|
||||
);
|
||||
|
||||
export const savedWishlists = pgTable("saved_wishlists", {
|
||||
id: text().primaryKey().notNull(),
|
||||
userId: text("user_id").notNull(),
|
||||
wishlistId: text("wishlist_id").notNull(),
|
||||
isFavorite: boolean("is_favorite").default(false).notNull(),
|
||||
createdAt: timestamp("created_at", { mode: 'string' }).defaultNow().notNull(),
|
||||
ownerToken: text("owner_token"),
|
||||
}, (table) => [
|
||||
foreignKey({
|
||||
columns: [table.userId],
|
||||
foreignColumns: [user.id],
|
||||
name: "saved_wishlists_user_id_user_id_fk"
|
||||
}).onDelete("cascade"),
|
||||
foreignKey({
|
||||
columns: [table.wishlistId],
|
||||
foreignColumns: [wishlists.id],
|
||||
name: "saved_wishlists_wishlist_id_wishlists_id_fk"
|
||||
}).onDelete("cascade"),
|
||||
]);
|
||||
export const reservations = pgTable(
|
||||
'reservations',
|
||||
{
|
||||
id: text().primaryKey().notNull(),
|
||||
itemId: text('item_id').notNull(),
|
||||
reserverName: text('reserver_name'),
|
||||
createdAt: timestamp('created_at', { mode: 'string' }).defaultNow().notNull()
|
||||
},
|
||||
(table) => [
|
||||
foreignKey({
|
||||
columns: [table.itemId],
|
||||
foreignColumns: [items.id],
|
||||
name: 'reservations_item_id_items_id_fk'
|
||||
}).onDelete('cascade')
|
||||
]
|
||||
);
|
||||
|
||||
export const user = pgTable("user", {
|
||||
id: text().primaryKey().notNull(),
|
||||
name: text(),
|
||||
email: text(),
|
||||
emailVerified: timestamp({ mode: 'string' }),
|
||||
image: text(),
|
||||
password: text(),
|
||||
username: text(),
|
||||
dashboardTheme: text("dashboard_theme").default('none'),
|
||||
dashboardColor: text("dashboard_color"),
|
||||
lastLogin: timestamp("last_login", { mode: 'string' }),
|
||||
createdAt: timestamp("created_at", { mode: 'string' }).defaultNow().notNull(),
|
||||
updatedAt: timestamp("updated_at", { mode: 'string' }).defaultNow().notNull(),
|
||||
}, (table) => [
|
||||
unique("user_email_unique").on(table.email),
|
||||
unique("user_username_unique").on(table.username),
|
||||
]);
|
||||
export const session = pgTable(
|
||||
'session',
|
||||
{
|
||||
sessionToken: text().primaryKey().notNull(),
|
||||
userId: text().notNull(),
|
||||
expires: timestamp({ mode: 'string' }).notNull()
|
||||
},
|
||||
(table) => [
|
||||
foreignKey({
|
||||
columns: [table.userId],
|
||||
foreignColumns: [user.id],
|
||||
name: 'session_userId_user_id_fk'
|
||||
}).onDelete('cascade')
|
||||
]
|
||||
);
|
||||
|
||||
export const reservations = pgTable("reservations", {
|
||||
id: text().primaryKey().notNull(),
|
||||
itemId: text("item_id").notNull(),
|
||||
reserverName: text("reserver_name"),
|
||||
createdAt: timestamp("created_at", { mode: 'string' }).defaultNow().notNull(),
|
||||
}, (table) => [
|
||||
foreignKey({
|
||||
columns: [table.itemId],
|
||||
foreignColumns: [items.id],
|
||||
name: "reservations_item_id_items_id_fk"
|
||||
}).onDelete("cascade"),
|
||||
]);
|
||||
export const verificationToken = pgTable(
|
||||
'verificationToken',
|
||||
{
|
||||
identifier: text().notNull(),
|
||||
token: text().notNull(),
|
||||
expires: timestamp({ mode: 'string' }).notNull()
|
||||
},
|
||||
(table) => [
|
||||
primaryKey({
|
||||
columns: [table.identifier, table.token],
|
||||
name: 'verificationToken_identifier_token_pk'
|
||||
})
|
||||
]
|
||||
);
|
||||
|
||||
export const session = pgTable("session", {
|
||||
sessionToken: text().primaryKey().notNull(),
|
||||
userId: text().notNull(),
|
||||
expires: timestamp({ mode: 'string' }).notNull(),
|
||||
}, (table) => [
|
||||
foreignKey({
|
||||
columns: [table.userId],
|
||||
foreignColumns: [user.id],
|
||||
name: "session_userId_user_id_fk"
|
||||
}).onDelete("cascade"),
|
||||
]);
|
||||
|
||||
export const verificationToken = pgTable("verificationToken", {
|
||||
identifier: text().notNull(),
|
||||
token: text().notNull(),
|
||||
expires: timestamp({ mode: 'string' }).notNull(),
|
||||
}, (table) => [
|
||||
primaryKey({ columns: [table.identifier, table.token], name: "verificationToken_identifier_token_pk"}),
|
||||
]);
|
||||
|
||||
export const account = pgTable("account", {
|
||||
userId: text().notNull(),
|
||||
type: text().notNull(),
|
||||
provider: text().notNull(),
|
||||
providerAccountId: text().notNull(),
|
||||
refreshToken: text("refresh_token"),
|
||||
accessToken: text("access_token"),
|
||||
expiresAt: numeric("expires_at"),
|
||||
tokenType: text("token_type"),
|
||||
scope: text(),
|
||||
idToken: text("id_token"),
|
||||
sessionState: text("session_state"),
|
||||
}, (table) => [
|
||||
foreignKey({
|
||||
columns: [table.userId],
|
||||
foreignColumns: [user.id],
|
||||
name: "account_userId_user_id_fk"
|
||||
}).onDelete("cascade"),
|
||||
primaryKey({ columns: [table.provider, table.providerAccountId], name: "account_provider_providerAccountId_pk"}),
|
||||
]);
|
||||
export const account = pgTable(
|
||||
'account',
|
||||
{
|
||||
userId: text().notNull(),
|
||||
type: text().notNull(),
|
||||
provider: text().notNull(),
|
||||
providerAccountId: text().notNull(),
|
||||
refreshToken: text('refresh_token'),
|
||||
accessToken: text('access_token'),
|
||||
expiresAt: numeric('expires_at'),
|
||||
tokenType: text('token_type'),
|
||||
scope: text(),
|
||||
idToken: text('id_token'),
|
||||
sessionState: text('session_state')
|
||||
},
|
||||
(table) => [
|
||||
foreignKey({
|
||||
columns: [table.userId],
|
||||
foreignColumns: [user.id],
|
||||
name: 'account_userId_user_id_fk'
|
||||
}).onDelete('cascade'),
|
||||
primaryKey({
|
||||
columns: [table.provider, table.providerAccountId],
|
||||
name: 'account_provider_providerAccountId_pk'
|
||||
})
|
||||
]
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user