UNPKG

@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
"use strict"; 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], }), }));