mirror of
https://github.com/nestriness/nestri.git
synced 2025-12-11 00:05:36 +02:00
## Description - [x] Adds support for AWS SSO, which makes us (the team) able to use SST and update the components independently - [x] Splits the webpage into the landing page (Qwik), and Astro (the console) in charge of playing. This allows us to pass in Environment Variables to the console - ~Migrates the docs from Nuxt to Nextjs, and connects them to SST. This allows us to use Fumadocs _citation needed_ that's much more beautiful, and supports OpenApi~ - Cloudflare pages with github integration is not working on our new CF account. So we will have to push the pages deployment manually with Github actions - [x] Moves the current set up from my personal CF and AWS accounts to dedicated Nestri accounts - ## Related Issues <!-- List any related issues (e.g., "Closes #123", "Fixes #456") --> ## Type of Change - [ ] Bug fix (non-breaking change) - [x] New feature (non-breaking change) - [ ] Breaking change (fix or feature that changes existing functionality) - [x] Documentation update - [ ] Other (please describe): ## Checklist - [x] I have updated relevant documentation - [x] My code follows the project's coding style - [x] My changes generate no new warnings/errors ## Notes for Reviewers <!-- Point out areas you'd like reviewers to focus on, questions you have, or decisions that need discussion --> Please approve my PR 🥹 ## Screenshots/Demo <!-- If applicable, add screenshots or a GIF demo of your changes (especially for UI changes) --> ## Additional Context <!-- Add any other context about the pull request here -->
27 lines
894 B
TypeScript
27 lines
894 B
TypeScript
import { z } from "zod";
|
|
import { id, timestamps } from "../drizzle/types";
|
|
import { integer, pgTable, text, uniqueIndex, varchar,json } from "drizzle-orm/pg-core";
|
|
|
|
// Whether this user is part of the Nestri Team, comes with privileges
|
|
export const UserFlags = z.object({
|
|
team: z.boolean().optional(),
|
|
});
|
|
|
|
export type UserFlags = z.infer<typeof UserFlags>;
|
|
|
|
export const userTable = pgTable(
|
|
"user",
|
|
{
|
|
...id,
|
|
...timestamps,
|
|
avatarUrl: text("avatar_url"),
|
|
email: varchar("email", { length: 255 }).notNull(),
|
|
name: varchar("name", { length: 255 }).notNull(),
|
|
discriminator: integer("discriminator").notNull(),
|
|
polarCustomerID: varchar("polar_customer_id", { length: 255 }).unique(),
|
|
flags: json("flags").$type<UserFlags>().default({}),
|
|
},
|
|
(user) => [
|
|
uniqueIndex("user_email").on(user.email),
|
|
],
|
|
); |