mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-15 18:59:40 +02:00
Applied formatting to 1487+ files using pnpm format:write - TypeScript/JavaScript files - Svelte components - Astro pages - JSON configs - Markdown docs 13 files still need manual review (Astro JSX comments)
24 lines
778 B
TypeScript
24 lines
778 B
TypeScript
import { pgTable, uuid, text, timestamp, index } from 'drizzle-orm/pg-core';
|
|
import { users } from './users.js';
|
|
|
|
export const workspaces = pgTable(
|
|
'workspaces',
|
|
{
|
|
id: uuid('id').primaryKey().defaultRandom(),
|
|
name: text('name').notNull(),
|
|
slug: text('slug').unique().notNull(),
|
|
type: text('type', { enum: ['personal', 'team'] }).notNull(),
|
|
owner: uuid('owner')
|
|
.references(() => users.id)
|
|
.notNull(),
|
|
createdAt: timestamp('created_at').defaultNow().notNull(),
|
|
updatedAt: timestamp('updated_at').defaultNow().notNull(),
|
|
},
|
|
(table) => [
|
|
index('workspaces_slug_idx').on(table.slug),
|
|
index('workspaces_owner_idx').on(table.owner),
|
|
]
|
|
);
|
|
|
|
export type Workspace = typeof workspaces.$inferSelect;
|
|
export type NewWorkspace = typeof workspaces.$inferInsert;
|