Feat: New project chat, uload refactor (postgress), hosting plans, uload landingpage

This commit is contained in:
Till-JS 2025-11-25 13:01:41 +01:00
parent 559eb08d8c
commit fcf3a344b1
123 changed files with 7106 additions and 3715 deletions

View file

@ -0,0 +1,47 @@
import {
pgTable,
uuid,
text,
boolean,
integer,
timestamp,
index,
} from 'drizzle-orm/pg-core';
import { relations } from 'drizzle-orm';
export const users = pgTable(
'users',
{
id: uuid('id').primaryKey().defaultRandom(),
externalAuthId: text('external_auth_id').unique(), // For Mana Core auth
email: text('email').unique().notNull(),
username: text('username').unique().notNull(),
name: text('name'),
avatarUrl: text('avatar_url'),
bio: text('bio'),
location: text('location'),
website: text('website'),
github: text('github'),
twitter: text('twitter'),
linkedin: text('linkedin'),
instagram: text('instagram'),
publicProfile: boolean('public_profile').default(false),
showClickStats: boolean('show_click_stats').default(true),
emailNotifications: boolean('email_notifications').default(true),
defaultExpiry: integer('default_expiry'),
profileBackground: text('profile_background'),
verified: boolean('verified').default(false),
createdAt: timestamp('created_at').defaultNow().notNull(),
updatedAt: timestamp('updated_at').defaultNow().notNull(),
},
(table) => [
index('users_email_idx').on(table.email),
index('users_username_idx').on(table.username),
index('users_external_auth_id_idx').on(table.externalAuthId),
]
);
export type User = typeof users.$inferSelect;
export type NewUser = typeof users.$inferInsert;
// Relations will be defined in relations.ts to avoid circular imports