@clipwhisperer/common
Version:
ClipWhisperer Common - Shared library providing core utilities, database schemas, authentication, bucket management, and common functionality across all ClipWhisperer microservices
185 lines (184 loc) • 9.3 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.serviceCallbacksRelations = exports.workflowStatesRelations = exports.workflowsRelations = exports.service_callbacks = exports.workflow_states = exports.workflows = exports.commentsTagsRelations = exports.comments_tags = exports.postTagsRelations = exports.post_tags = exports.videoTagsRelations = exports.video_tags = exports.tagsRelations = exports.tags = exports.commentsRelations = exports.comments = exports.postsRelations = exports.posts = exports.videosRelations = exports.videos = exports.bucketObjectsRelations = exports.bucket_objects = exports.finishedVideosRelations = exports.finished_videos = void 0;
const drizzle_orm_1 = require("drizzle-orm");
const pg_core_1 = require("drizzle-orm/pg-core");
exports.finished_videos = (0, pg_core_1.pgTable)("finished_videos", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
bucket_object: (0, pg_core_1.uuid)("bucket_object").notNull().references(() => exports.bucket_objects.id),
name: (0, pg_core_1.text)("name").notNull(),
created_by: (0, pg_core_1.text)("created_by").notNull(),
tags: (0, pg_core_1.text)("tags").notNull(),
media_title: (0, pg_core_1.text)("media_title").notNull(),
media_description: (0, pg_core_1.text)("media_description").notNull(),
created_at: (0, pg_core_1.timestamp)("created_at").defaultNow(),
});
exports.finishedVideosRelations = (0, drizzle_orm_1.relations)(exports.finished_videos, ({ one }) => ({
bucketObject: one(exports.bucket_objects, {
fields: [exports.finished_videos.bucket_object],
references: [exports.bucket_objects.id],
}),
}));
exports.bucket_objects = (0, pg_core_1.pgTable)("bucket_objects", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
video_id: (0, pg_core_1.uuid)("video_id").notNull().references(() => exports.videos.id),
post_id: (0, pg_core_1.uuid)("post_id").notNull().references(() => exports.posts.id),
created_at: (0, pg_core_1.timestamp)("created_at").defaultNow(),
});
exports.bucketObjectsRelations = (0, drizzle_orm_1.relations)(exports.bucket_objects, ({ one }) => ({
video: one(exports.videos, {
fields: [exports.bucket_objects.video_id],
references: [exports.videos.id],
}),
post: one(exports.posts, {
fields: [exports.bucket_objects.post_id],
references: [exports.posts.id],
}),
}));
exports.videos = (0, pg_core_1.pgTable)("videos", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
title: (0, pg_core_1.text)("title").notNull(),
description: (0, pg_core_1.text)("description").notNull(),
youtube_id: (0, pg_core_1.text)("youtube_id").notNull(),
thumbnail: (0, pg_core_1.text)("thumbnail").notNull(),
duration: (0, pg_core_1.integer)("duration").notNull(),
size: (0, pg_core_1.integer)("size").notNull(),
likes: (0, pg_core_1.integer)("likes").notNull(),
views: (0, pg_core_1.integer)("views").notNull(),
published_at: (0, pg_core_1.timestamp)("published_at").notNull(),
created_at: (0, pg_core_1.timestamp)("created_at").defaultNow(),
});
exports.videosRelations = (0, drizzle_orm_1.relations)(exports.videos, ({ many }) => ({
videoTags: many(exports.video_tags),
bucketObjects: many(exports.bucket_objects),
}));
exports.posts = (0, pg_core_1.pgTable)("posts", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
subreddit: (0, pg_core_1.text)("subreddit").notNull(),
title: (0, pg_core_1.text)("title").notNull(),
description: (0, pg_core_1.text)("description").notNull(),
upvotes: (0, pg_core_1.integer)("upvotes").notNull(),
published_at: (0, pg_core_1.timestamp)("published_at").notNull(),
created_at: (0, pg_core_1.timestamp)("created_at").defaultNow(),
});
exports.postsRelations = (0, drizzle_orm_1.relations)(exports.posts, ({ many }) => ({
postTags: many(exports.post_tags),
comments: many(exports.comments),
bucketObjects: many(exports.bucket_objects),
}));
exports.comments = (0, pg_core_1.pgTable)("comments", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
post_id: (0, pg_core_1.uuid)("post_id").notNull().references(() => exports.posts.id),
comment: (0, pg_core_1.text)("comment").notNull(),
upvotes: (0, pg_core_1.integer)("upvotes").notNull(),
published_at: (0, pg_core_1.timestamp)("published_at").notNull(),
created_at: (0, pg_core_1.timestamp)("created_at").defaultNow(),
});
exports.commentsRelations = (0, drizzle_orm_1.relations)(exports.comments, ({ one, many }) => ({
post: one(exports.posts, {
fields: [exports.comments.post_id],
references: [exports.posts.id],
}),
commentTags: many(exports.comments_tags),
}));
exports.tags = (0, pg_core_1.pgTable)("tags", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
name: (0, pg_core_1.text)("name").notNull(),
});
exports.tagsRelations = (0, drizzle_orm_1.relations)(exports.tags, ({ many }) => ({
videoTags: many(exports.video_tags),
postTags: many(exports.post_tags),
commentTags: many(exports.comments_tags),
}));
exports.video_tags = (0, pg_core_1.pgTable)("video_tags", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
video_id: (0, pg_core_1.uuid)("video_id").notNull().references(() => exports.videos.id),
tag_id: (0, pg_core_1.uuid)("tag_id").notNull().references(() => exports.tags.id),
});
exports.videoTagsRelations = (0, drizzle_orm_1.relations)(exports.video_tags, ({ one }) => ({
video: one(exports.videos, {
fields: [exports.video_tags.video_id],
references: [exports.videos.id],
}),
tag: one(exports.tags, {
fields: [exports.video_tags.tag_id],
references: [exports.tags.id],
}),
}));
exports.post_tags = (0, pg_core_1.pgTable)("post_tags", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
post_id: (0, pg_core_1.uuid)("post_id").notNull().references(() => exports.posts.id),
tag_id: (0, pg_core_1.uuid)("tag_id").notNull().references(() => exports.tags.id),
});
exports.postTagsRelations = (0, drizzle_orm_1.relations)(exports.post_tags, ({ one }) => ({
post: one(exports.posts, {
fields: [exports.post_tags.post_id],
references: [exports.posts.id],
}),
tag: one(exports.tags, {
fields: [exports.post_tags.tag_id],
references: [exports.tags.id],
}),
}));
exports.comments_tags = (0, pg_core_1.pgTable)("comments_tags", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
comment_id: (0, pg_core_1.uuid)("comment_id").notNull().references(() => exports.comments.id),
tag_id: (0, pg_core_1.uuid)("tag_id").notNull().references(() => exports.tags.id),
});
exports.commentsTagsRelations = (0, drizzle_orm_1.relations)(exports.comments_tags, ({ one }) => ({
comment: one(exports.comments, {
fields: [exports.comments_tags.comment_id],
references: [exports.comments.id],
}),
tag: one(exports.tags, {
fields: [exports.comments_tags.tag_id],
references: [exports.tags.id],
}),
}));
exports.workflows = (0, pg_core_1.pgTable)("workflows", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
video_id: (0, pg_core_1.uuid)("video_id").notNull().references(() => exports.videos.id),
status: (0, pg_core_1.text)("status").notNull(),
fsm_state: (0, pg_core_1.text)("fsm_state").notNull(),
title: (0, pg_core_1.text)("title"),
description: (0, pg_core_1.text)("description"),
tags: (0, pg_core_1.text)("tags"),
created_at: (0, pg_core_1.timestamp)("created_at").defaultNow(),
updated_at: (0, pg_core_1.timestamp)("updated_at").defaultNow(),
});
exports.workflow_states = (0, pg_core_1.pgTable)("workflow_states", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
workflow_id: (0, pg_core_1.uuid)("workflow_id").notNull().references(() => exports.workflows.id),
state: (0, pg_core_1.text)("state").notNull(),
event: (0, pg_core_1.text)("event").notNull(),
metadata: (0, pg_core_1.text)("metadata"),
timestamp: (0, pg_core_1.timestamp)("timestamp").defaultNow(),
});
exports.service_callbacks = (0, pg_core_1.pgTable)("service_callbacks", {
id: (0, pg_core_1.uuid)("id").primaryKey(),
workflow_id: (0, pg_core_1.uuid)("workflow_id").notNull().references(() => exports.workflows.id),
service: (0, pg_core_1.text)("service").notNull(),
result: (0, pg_core_1.text)("result"),
error: (0, pg_core_1.text)("error"),
timestamp: (0, pg_core_1.timestamp)("timestamp").defaultNow(),
});
exports.workflowsRelations = (0, drizzle_orm_1.relations)(exports.workflows, ({ one, many }) => ({
video: one(exports.videos, {
fields: [exports.workflows.video_id],
references: [exports.videos.id],
}),
states: many(exports.workflow_states),
callbacks: many(exports.service_callbacks),
}));
exports.workflowStatesRelations = (0, drizzle_orm_1.relations)(exports.workflow_states, ({ one }) => ({
workflow: one(exports.workflows, {
fields: [exports.workflow_states.workflow_id],
references: [exports.workflows.id],
}),
}));
exports.serviceCallbacksRelations = (0, drizzle_orm_1.relations)(exports.service_callbacks, ({ one }) => ({
workflow: one(exports.workflows, {
fields: [exports.service_callbacks.workflow_id],
references: [exports.workflows.id],
}),
}));