exclaim-recovery-database
Version:
Shared database schemas for Exclaim Recovery platform
117 lines • 7.56 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.blogDocument = exports.gaReflectionDocument = exports.gaResourceDocument = exports.gaStepDocument = exports.scientificStudyDocument = exports.smartRecoveryDocument = exports.userDocument = exports.document = void 0;
const pg_core_1 = require("drizzle-orm/pg-core");
const drizzle_orm_1 = require("drizzle-orm");
exports.document = (0, pg_core_1.pgTable)("Document", {
id: (0, pg_core_1.text)().primaryKey().notNull(),
content: (0, pg_core_1.text)().notNull(),
metadata: (0, pg_core_1.jsonb)(),
createdAt: (0, pg_core_1.timestamp)({ precision: 3, mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`).notNull(),
vector: (0, pg_core_1.vector)({ dimensions: 1536 }).notNull(),
}, (table) => [
(0, pg_core_1.index)("document_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
]);
exports.userDocument = (0, pg_core_1.pgTable)("UserDocument", {
id: (0, pg_core_1.text)().primaryKey().notNull(),
userId: (0, pg_core_1.text)().notNull(),
documentId: (0, pg_core_1.text)().notNull(),
createdAt: (0, pg_core_1.timestamp)({ precision: 3, mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`).notNull(),
metadata: (0, pg_core_1.jsonb)(),
vector: (0, pg_core_1.vector)({ dimensions: 1536 }).notNull(),
}, (table) => [
(0, pg_core_1.index)("UserDocument_userId_idx").using("btree", table.userId.asc().nullsLast().op("text_ops")),
(0, pg_core_1.index)("user_document_userId_idx").using("btree", table.userId.asc().nullsLast().op("text_ops")),
(0, pg_core_1.index)("user_document_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
]);
exports.smartRecoveryDocument = (0, pg_core_1.pgTable)("SMARTRecoveryDocument", {
id: (0, pg_core_1.text)().primaryKey().notNull(),
content: (0, pg_core_1.text)().notNull(),
metadata: (0, pg_core_1.jsonb)(),
createdAt: (0, pg_core_1.timestamp)({ precision: 3, mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`).notNull(),
vector: (0, pg_core_1.vector)({ dimensions: 1536 }).notNull(),
}, (table) => [
(0, pg_core_1.index)("smart_recovery_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
(0, pg_core_1.index)("smartrecoverydocument_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
]);
exports.scientificStudyDocument = (0, pg_core_1.pgTable)("ScientificStudyDocument", {
id: (0, pg_core_1.text)().primaryKey().notNull(),
title: (0, pg_core_1.text)(),
abstract: (0, pg_core_1.text)(),
content: (0, pg_core_1.text)().notNull(),
authors: (0, pg_core_1.text)().array(),
publicationYear: (0, pg_core_1.integer)(),
journal: (0, pg_core_1.text)(),
doi: (0, pg_core_1.text)(),
metadata: (0, pg_core_1.jsonb)(),
createdAt: (0, pg_core_1.timestamp)({ precision: 3, mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`).notNull(),
vector: (0, pg_core_1.vector)({ dimensions: 1536 }).notNull(),
}, (table) => [
(0, pg_core_1.index)("scientific_study_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
(0, pg_core_1.index)("scientificstudydocument_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
]);
exports.gaStepDocument = (0, pg_core_1.pgTable)("GAStepDocument", {
id: (0, pg_core_1.uuid)().defaultRandom().primaryKey().notNull(),
stepNumber: (0, pg_core_1.integer)().notNull(),
title: (0, pg_core_1.text)().notNull(),
description: (0, pg_core_1.text)().notNull(),
detailedContent: (0, pg_core_1.text)().notNull(),
reflectionPrompts: (0, pg_core_1.text)().array(),
commonChallenges: (0, pg_core_1.text)().array(),
milestoneNames: (0, pg_core_1.text)().array(),
metadata: (0, pg_core_1.jsonb)(),
createdAt: (0, pg_core_1.timestamp)({ mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`),
updatedAt: (0, pg_core_1.timestamp)({ mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`),
vector: (0, pg_core_1.vector)({ dimensions: 1536 }),
}, (table) => [
(0, pg_core_1.index)("ga_step_number_idx").using("btree", table.stepNumber.asc().nullsLast().op("int4_ops")),
(0, pg_core_1.index)("ga_step_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
]);
exports.gaResourceDocument = (0, pg_core_1.pgTable)("GAResourceDocument", {
id: (0, pg_core_1.uuid)().defaultRandom().primaryKey().notNull(),
stepNumber: (0, pg_core_1.integer)(),
title: (0, pg_core_1.text)().notNull(),
type: (0, pg_core_1.text)().notNull(),
url: (0, pg_core_1.text)(),
content: (0, pg_core_1.text)(),
metadata: (0, pg_core_1.jsonb)(),
createdAt: (0, pg_core_1.timestamp)({ mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`),
vector: (0, pg_core_1.vector)({ dimensions: 1536 }),
}, (table) => [
(0, pg_core_1.index)("ga_resource_step_idx").using("btree", table.stepNumber.asc().nullsLast().op("int4_ops")),
(0, pg_core_1.index)("ga_resource_type_idx").using("btree", table.type.asc().nullsLast().op("text_ops")),
(0, pg_core_1.index)("ga_resource_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
]);
exports.gaReflectionDocument = (0, pg_core_1.pgTable)("GAReflectionDocument", {
id: (0, pg_core_1.uuid)().defaultRandom().primaryKey().notNull(),
userId: (0, pg_core_1.text)().notNull(),
stepNumber: (0, pg_core_1.integer)().notNull(),
content: (0, pg_core_1.text)().notNull(),
isPrivate: (0, pg_core_1.boolean)().default(false),
tags: (0, pg_core_1.text)().array(),
createdAt: (0, pg_core_1.timestamp)({ mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`),
updatedAt: (0, pg_core_1.timestamp)({ mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`),
vector: (0, pg_core_1.vector)({ dimensions: 1536 }),
}, (table) => [
(0, pg_core_1.index)("ga_reflection_step_idx").using("btree", table.stepNumber.asc().nullsLast().op("int4_ops")),
(0, pg_core_1.index)("ga_reflection_user_idx").using("btree", table.userId.asc().nullsLast().op("text_ops")),
(0, pg_core_1.index)("ga_reflection_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
]);
exports.blogDocument = (0, pg_core_1.pgTable)("BlogDocument", {
id: (0, pg_core_1.uuid)().defaultRandom().primaryKey().notNull(),
title: (0, pg_core_1.text)().notNull(),
content: (0, pg_core_1.text)().notNull(),
authorId: (0, pg_core_1.text)().notNull(),
published: (0, pg_core_1.boolean)().default(false),
tags: (0, pg_core_1.text)().array(),
coverImage: (0, pg_core_1.text)(),
createdAt: (0, pg_core_1.timestamp)({ mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`),
updatedAt: (0, pg_core_1.timestamp)({ mode: 'string' }).default((0, drizzle_orm_1.sql) `CURRENT_TIMESTAMP`),
metadata: (0, pg_core_1.jsonb)(),
vector: (0, pg_core_1.vector)({ dimensions: 1536 }),
}, (table) => [
(0, pg_core_1.index)("blog_author_idx").using("btree", table.authorId.asc().nullsLast().op("text_ops")),
(0, pg_core_1.index)("blog_published_idx").using("btree", table.published.asc().nullsLast().op("bool_ops")),
(0, pg_core_1.index)("blog_vector_idx").using("hnsw", table.vector.asc().nullsLast().op("vector_cosine_ops")),
]);
//# sourceMappingURL=schema.js.map