From 56442bb726454661dd4e6373f4894d5c76a75281 Mon Sep 17 00:00:00 2001 From: Izan Gil <66965250+SrIzan10@users.noreply.github.com> Date: Wed, 27 Dec 2023 18:56:15 +0000 Subject: [PATCH] chore: include dist folder --- .gitignore | 1 + apps/database/dist/index.d.ts | 4 + apps/database/dist/index.js | 6 + apps/database/dist/migrations.d.ts | 1 + apps/database/dist/migrations.js | 15 ++ apps/database/dist/schema.d.ts | 347 +++++++++++++++++++++++++++++ apps/database/dist/schema.js | 47 ++++ 7 files changed, 421 insertions(+) create mode 100644 apps/database/dist/index.d.ts create mode 100644 apps/database/dist/index.js create mode 100644 apps/database/dist/migrations.d.ts create mode 100644 apps/database/dist/migrations.js create mode 100644 apps/database/dist/schema.d.ts create mode 100644 apps/database/dist/schema.js diff --git a/.gitignore b/.gitignore index d02fe76..945b95d 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ node_modules .env /apps/api/repos dist +!/apps/database/dist .yarn/* !.yarn/patches diff --git a/apps/database/dist/index.d.ts b/apps/database/dist/index.d.ts new file mode 100644 index 0000000..f1d1585 --- /dev/null +++ b/apps/database/dist/index.d.ts @@ -0,0 +1,4 @@ +import 'dotenv/config'; +import * as schema from '../dist/schema.js'; +declare const _default: import("drizzle-orm/postgres-js").PostgresJsDatabase; +export default _default; diff --git a/apps/database/dist/index.js b/apps/database/dist/index.js new file mode 100644 index 0000000..d24ff7d --- /dev/null +++ b/apps/database/dist/index.js @@ -0,0 +1,6 @@ +import { drizzle } from "drizzle-orm/postgres-js"; +import postgres from "postgres"; +import 'dotenv/config'; +import * as schema from '../dist/schema.js'; +const client = postgres(process.env.DATABASE_URL); +export default drizzle(client, { schema }); diff --git a/apps/database/dist/migrations.d.ts b/apps/database/dist/migrations.d.ts new file mode 100644 index 0000000..0b172b7 --- /dev/null +++ b/apps/database/dist/migrations.d.ts @@ -0,0 +1 @@ +import 'dotenv/config'; diff --git a/apps/database/dist/migrations.js b/apps/database/dist/migrations.js new file mode 100644 index 0000000..e2b3fde --- /dev/null +++ b/apps/database/dist/migrations.js @@ -0,0 +1,15 @@ +import { drizzle } from "drizzle-orm/postgres-js/driver"; +import { migrate } from "drizzle-orm/postgres-js/migrator"; +import postgres from "postgres"; +import 'dotenv/config'; +// this will automatically run needed migrations on the database +const migrationClient = postgres(process.env.DATABASE_URL, { max: 1 }); +migrate(drizzle(migrationClient), { migrationsFolder: "./drizzle" }) + .then(() => { + console.log("Migrations complete!"); + process.exit(0); +}) + .catch((err) => { + console.error("Migrations failed!", err); + process.exit(1); +}); diff --git a/apps/database/dist/schema.d.ts b/apps/database/dist/schema.d.ts new file mode 100644 index 0000000..7f2f1ef --- /dev/null +++ b/apps/database/dist/schema.d.ts @@ -0,0 +1,347 @@ +export declare const guideFeedback: import("drizzle-orm/pg-core").PgTableWithColumns<{ + name: "guideFeedback"; + schema: undefined; + columns: { + id: import("drizzle-orm/pg-core").PgColumn<{ + name: "id"; + tableName: "guideFeedback"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + feedback: import("drizzle-orm/pg-core").PgColumn<{ + name: "feedback"; + tableName: "guideFeedback"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + route: import("drizzle-orm/pg-core").PgColumn<{ + name: "route"; + tableName: "guideFeedback"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + inputText: import("drizzle-orm/pg-core").PgColumn<{ + name: "inputText"; + tableName: "guideFeedback"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + }; + dialect: "pg"; +}>; +export declare const users: import("drizzle-orm/pg-core").PgTableWithColumns<{ + name: "user"; + schema: undefined; + columns: { + id: import("drizzle-orm/pg-core").PgColumn<{ + name: "id"; + tableName: "user"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + name: import("drizzle-orm/pg-core").PgColumn<{ + name: "name"; + tableName: "user"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + email: import("drizzle-orm/pg-core").PgColumn<{ + name: "email"; + tableName: "user"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + emailVerified: import("drizzle-orm/pg-core").PgColumn<{ + name: "emailVerified"; + tableName: "user"; + dataType: "date"; + columnType: "PgTimestamp"; + data: Date; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: undefined; + baseColumn: never; + }, {}, {}>; + image: import("drizzle-orm/pg-core").PgColumn<{ + name: "image"; + tableName: "user"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + }; + dialect: "pg"; +}>; +export declare const accounts: import("drizzle-orm/pg-core").PgTableWithColumns<{ + name: "account"; + schema: undefined; + columns: { + userId: import("drizzle-orm/pg-core").PgColumn<{ + name: "userId"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + type: import("drizzle-orm/pg-core").PgColumn<{ + name: "type"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: "email" | "oidc" | "oauth"; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + provider: import("drizzle-orm/pg-core").PgColumn<{ + name: "provider"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + providerAccountId: import("drizzle-orm/pg-core").PgColumn<{ + name: "providerAccountId"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + refresh_token: import("drizzle-orm/pg-core").PgColumn<{ + name: "refresh_token"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + access_token: import("drizzle-orm/pg-core").PgColumn<{ + name: "access_token"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + expires_at: import("drizzle-orm/pg-core").PgColumn<{ + name: "expires_at"; + tableName: "account"; + dataType: "number"; + columnType: "PgInteger"; + data: number; + driverParam: string | number; + notNull: false; + hasDefault: false; + enumValues: undefined; + baseColumn: never; + }, {}, {}>; + token_type: import("drizzle-orm/pg-core").PgColumn<{ + name: "token_type"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + scope: import("drizzle-orm/pg-core").PgColumn<{ + name: "scope"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + id_token: import("drizzle-orm/pg-core").PgColumn<{ + name: "id_token"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + session_state: import("drizzle-orm/pg-core").PgColumn<{ + name: "session_state"; + tableName: "account"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: false; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + }; + dialect: "pg"; +}>; +export declare const sessions: import("drizzle-orm/pg-core").PgTableWithColumns<{ + name: "session"; + schema: undefined; + columns: { + sessionToken: import("drizzle-orm/pg-core").PgColumn<{ + name: "sessionToken"; + tableName: "session"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + userId: import("drizzle-orm/pg-core").PgColumn<{ + name: "userId"; + tableName: "session"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + expires: import("drizzle-orm/pg-core").PgColumn<{ + name: "expires"; + tableName: "session"; + dataType: "date"; + columnType: "PgTimestamp"; + data: Date; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: undefined; + baseColumn: never; + }, {}, {}>; + }; + dialect: "pg"; +}>; +export declare const verificationTokens: import("drizzle-orm/pg-core").PgTableWithColumns<{ + name: "verificationToken"; + schema: undefined; + columns: { + identifier: import("drizzle-orm/pg-core").PgColumn<{ + name: "identifier"; + tableName: "verificationToken"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + token: import("drizzle-orm/pg-core").PgColumn<{ + name: "token"; + tableName: "verificationToken"; + dataType: "string"; + columnType: "PgText"; + data: string; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: [string, ...string[]]; + baseColumn: never; + }, {}, {}>; + expires: import("drizzle-orm/pg-core").PgColumn<{ + name: "expires"; + tableName: "verificationToken"; + dataType: "date"; + columnType: "PgTimestamp"; + data: Date; + driverParam: string; + notNull: true; + hasDefault: false; + enumValues: undefined; + baseColumn: never; + }, {}, {}>; + }; + dialect: "pg"; +}>; diff --git a/apps/database/dist/schema.js b/apps/database/dist/schema.js new file mode 100644 index 0000000..c06608e --- /dev/null +++ b/apps/database/dist/schema.js @@ -0,0 +1,47 @@ +import { timestamp, pgTable, text, primaryKey, integer, } from "drizzle-orm/pg-core"; +// automata schemas +export const guideFeedback = pgTable("guideFeedback", { + id: text("id").notNull().primaryKey(), + feedback: text("feedback").notNull(), + route: text("route").notNull(), + inputText: text("inputText"), +}); +// next-auth schema +export const users = pgTable("user", { + id: text("id").notNull().primaryKey(), + name: text("name"), + email: text("email").notNull(), + emailVerified: timestamp("emailVerified", { mode: "date" }), + image: text("image"), +}); +export const accounts = pgTable("account", { + userId: text("userId") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + type: text("type").$type().notNull(), + provider: text("provider").notNull(), + providerAccountId: text("providerAccountId").notNull(), + refresh_token: text("refresh_token"), + access_token: text("access_token"), + expires_at: integer("expires_at"), + token_type: text("token_type"), + scope: text("scope"), + id_token: text("id_token"), + session_state: text("session_state"), +}, (account) => ({ + compoundKey: primaryKey(account.provider, account.providerAccountId), +})); +export const sessions = pgTable("session", { + sessionToken: text("sessionToken").notNull().primaryKey(), + userId: text("userId") + .notNull() + .references(() => users.id, { onDelete: "cascade" }), + expires: timestamp("expires", { mode: "date" }).notNull(), +}); +export const verificationTokens = pgTable("verificationToken", { + identifier: text("identifier").notNull(), + token: text("token").notNull(), + expires: timestamp("expires", { mode: "date" }).notNull(), +}, (vt) => ({ + compoundKey: primaryKey(vt.identifier, vt.token), +}));