@aion2hub/shared-schemas 1.1.9 → 1.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-schema.d.ts","sourceRoot":"","sources":["../src/content-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,eAAO,MAAM,qBAAqB,gHAOhC,CAAC;AAEH,eAAO,MAAM,iBAAiB,iHAO5B,CAAC;AAEH,eAAO,MAAM,aAAa,kGAMxB,CAAC;AAEH,eAAO,MAAM,gBAAgB,2FAO3B,CAAC;AAEH,eAAO,MAAM,cAAc,uGAKzB,CAAC;AAEH,eAAO,MAAM,mBAAmB,yFAM9B,CAAC;AAEH,eAAO,MAAM,sBAAsB,yFAMjC,CAAC;AAEH,eAAO,MAAM,kBAAkB,+IAS7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,4DAI7B,CAAC;AAOH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiCnB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+B9B,CAAC;AAGH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgCvB,CAAC;AAGH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCnB,CAAC;AAGH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DtB,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkD/B,CAAC;AAGH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+DxB,CAAC;AAGH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAa/B,CAAC;AAGH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU5B,CAAC;AAGH,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBnC,CAAC;AAGH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAarC,CAAC;AAMJ,eAAO,MAAM,iBAAiB;;EAE3B,CAAC;AAEJ,eAAO,MAAM,4BAA4B;;EAKtC,CAAC;AAEJ,eAAO,MAAM,iBAAiB;;EAE3B,CAAC;AAEJ,eAAO,MAAM,oBAAoB;;EAK9B,CAAC;AAEJ,eAAO,MAAM,6BAA6B;;;;EAIvC,CAAC;AAEJ,eAAO,MAAM,sBAAsB;;EAKhC,CAAC;AAEJ,eAAO,MAAM,iCAAiC;;EAK3C,CAAC;AAEJ,eAAO,MAAM,oCAAoC;;EAK9C,CAAC"}
@@ -0,0 +1,457 @@
1
+ "use strict";
2
+ /**
3
+ * Content Management Database Schema
4
+ * This file contains ONLY content-related tables for the aion2hub_content database
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.youtubeChannelSubscriptionsRelations = exports.youtubeChannelExtensionsRelations = exports.youtubeVideosRelations = exports.youtubeSourceConfigsRelations = exports.rssArticlesRelations = exports.rssFeedsRelations = exports.contentTranslationsRelations = exports.aiModelsRelations = exports.youtubeChannelSubscriptions = exports.youtubeChannelExtensions = exports.youtubeQuotaUsage = exports.youtubeSearchQueries = exports.youtubeVideos = exports.youtubeSourceConfigs = exports.rssArticles = exports.rssFeeds = exports.newsArticles = exports.contentTranslations = exports.aiModels = exports.filterOperatorEnum = exports.filterRuleTypeEnum = exports.filterContextScopeEnum = exports.filterMatchTypeEnum = exports.sourceTypeEnum = exports.scrapingTypeEnum = exports.jobStatusEnum = exports.contentStatusEnum = exports.translationStatusEnum = void 0;
8
+ const pg_core_1 = require("drizzle-orm/pg-core");
9
+ const drizzle_orm_1 = require("drizzle-orm");
10
+ const crypto_1 = require("crypto");
11
+ // =============================================================================
12
+ // ENUMS
13
+ // =============================================================================
14
+ exports.translationStatusEnum = (0, pg_core_1.pgEnum)('TranslationStatus', [
15
+ 'PENDING',
16
+ 'PROCESSING',
17
+ 'COMPLETED',
18
+ 'FAILED',
19
+ 'REVIEWED',
20
+ 'REJECTED'
21
+ ]);
22
+ exports.contentStatusEnum = (0, pg_core_1.pgEnum)('ContentStatus', [
23
+ 'PENDING',
24
+ 'PROCESSING',
25
+ 'COMPLETED',
26
+ 'PUBLISHED',
27
+ 'FAILED',
28
+ 'REJECTED'
29
+ ]);
30
+ exports.jobStatusEnum = (0, pg_core_1.pgEnum)('JobStatus', [
31
+ 'PENDING',
32
+ 'RUNNING',
33
+ 'COMPLETED',
34
+ 'FAILED',
35
+ 'CANCELLED'
36
+ ]);
37
+ exports.scrapingTypeEnum = (0, pg_core_1.pgEnum)('ScrapingType', [
38
+ 'NEWS',
39
+ 'RSS',
40
+ 'YOUTUBE',
41
+ 'MANUAL',
42
+ 'BULK',
43
+ 'API'
44
+ ]);
45
+ exports.sourceTypeEnum = (0, pg_core_1.pgEnum)('SourceType', [
46
+ 'RSS_FEED',
47
+ 'NEWS_WEBSITE',
48
+ 'YOUTUBE_CHANNEL',
49
+ 'MANUAL_INPUT'
50
+ ]);
51
+ exports.filterMatchTypeEnum = (0, pg_core_1.pgEnum)('FilterMatchType', [
52
+ 'exact',
53
+ 'partial',
54
+ 'regex',
55
+ 'fuzzy',
56
+ 'stemmed'
57
+ ]);
58
+ exports.filterContextScopeEnum = (0, pg_core_1.pgEnum)('FilterContextScope', [
59
+ 'title',
60
+ 'content',
61
+ 'description',
62
+ 'any',
63
+ 'url'
64
+ ]);
65
+ exports.filterRuleTypeEnum = (0, pg_core_1.pgEnum)('FilterRuleType', [
66
+ 'keyword',
67
+ 'regex',
68
+ 'domain',
69
+ 'category',
70
+ 'language',
71
+ 'date_range',
72
+ 'content_length',
73
+ 'quality_score'
74
+ ]);
75
+ exports.filterOperatorEnum = (0, pg_core_1.pgEnum)('FilterOperator', [
76
+ 'AND',
77
+ 'OR',
78
+ 'NOT'
79
+ ]);
80
+ // =============================================================================
81
+ // CONTENT MANAGEMENT SCHEMAS - AION2HUB_CONTENT DATABASE ONLY
82
+ // =============================================================================
83
+ // AI Models for Translation and Classification
84
+ exports.aiModels = (0, pg_core_1.pgTable)('AIModel', {
85
+ id: (0, pg_core_1.text)('id').primaryKey(),
86
+ // Model identification
87
+ name: (0, pg_core_1.text)('name').notNull(),
88
+ provider: (0, pg_core_1.text)('provider').notNull(),
89
+ modelType: (0, pg_core_1.text)('modelType').notNull(),
90
+ version: (0, pg_core_1.text)('version').notNull(),
91
+ // Configuration
92
+ endpoint: (0, pg_core_1.text)('endpoint'),
93
+ apiKey: (0, pg_core_1.text)('apiKey'),
94
+ maxTokens: (0, pg_core_1.integer)('maxTokens'),
95
+ temperature: (0, pg_core_1.real)('temperature'),
96
+ // Capabilities
97
+ supportsTranslation: (0, pg_core_1.boolean)('supportsTranslation').notNull().default(false),
98
+ supportsClassification: (0, pg_core_1.boolean)('supportsClassification').notNull().default(false),
99
+ supportedLanguages: (0, pg_core_1.text)('supportedLanguages').array(),
100
+ // Status and metadata
101
+ isActive: (0, pg_core_1.boolean)('isActive').notNull().default(true),
102
+ isDefault: (0, pg_core_1.boolean)('isDefault').notNull().default(false),
103
+ priority: (0, pg_core_1.integer)('priority').notNull().default(0),
104
+ // Performance tracking
105
+ avgResponseTime: (0, pg_core_1.decimal)('avgResponseTime', { precision: 8, scale: 2 }),
106
+ successRate: (0, pg_core_1.decimal)('successRate', { precision: 4, scale: 3 }),
107
+ lastUsed: (0, pg_core_1.timestamp)('lastUsed'),
108
+ // Timestamps
109
+ createdAt: (0, pg_core_1.timestamp)('createdAt').notNull().defaultNow(),
110
+ updatedAt: (0, pg_core_1.timestamp)('updatedAt').notNull().defaultNow(),
111
+ });
112
+ exports.contentTranslations = (0, pg_core_1.pgTable)('ContentTranslation', {
113
+ id: (0, pg_core_1.text)('id').primaryKey(),
114
+ // Content identification
115
+ contentType: (0, pg_core_1.text)('contentType').notNull(),
116
+ contentId: (0, pg_core_1.text)('contentId').notNull(),
117
+ fieldName: (0, pg_core_1.text)('fieldName').notNull(),
118
+ // Translation data
119
+ originalText: (0, pg_core_1.text)('originalText').notNull(),
120
+ originalLanguage: (0, pg_core_1.text)('originalLanguage').notNull().default('ko'),
121
+ translatedText: (0, pg_core_1.text)('translatedText').notNull(),
122
+ targetLanguage: (0, pg_core_1.text)('targetLanguage').notNull().default('en'),
123
+ // AI Model and quality
124
+ modelId: (0, pg_core_1.text)('modelId').notNull().references(() => exports.aiModels.id),
125
+ confidence: (0, pg_core_1.decimal)('confidence', { precision: 4, scale: 3 }),
126
+ qualityScore: (0, pg_core_1.decimal)('qualityScore', { precision: 4, scale: 3 }),
127
+ translationTime: (0, pg_core_1.integer)('translationTime'),
128
+ tokenCount: (0, pg_core_1.integer)('tokenCount'),
129
+ // Translation status and metadata
130
+ status: (0, exports.translationStatusEnum)('status').notNull().default('PENDING'),
131
+ isManuallyEdited: (0, pg_core_1.boolean)('isManuallyEdited').notNull().default(false),
132
+ editedBy: (0, pg_core_1.text)('editedBy'),
133
+ editNotes: (0, pg_core_1.text)('editNotes'),
134
+ // Timestamps
135
+ createdAt: (0, pg_core_1.timestamp)('createdAt').notNull().defaultNow(),
136
+ updatedAt: (0, pg_core_1.timestamp)('updatedAt').notNull().defaultNow(),
137
+ translatedAt: (0, pg_core_1.timestamp)('translatedAt').notNull().defaultNow(),
138
+ });
139
+ // News Articles
140
+ exports.newsArticles = (0, pg_core_1.pgTable)('news_articles', {
141
+ id: (0, pg_core_1.text)('id').primaryKey(),
142
+ title: (0, pg_core_1.text)('title').notNull(),
143
+ content: (0, pg_core_1.text)('content'),
144
+ summary: (0, pg_core_1.text)('summary'),
145
+ url: (0, pg_core_1.text)('url').notNull().unique(),
146
+ imageUrl: (0, pg_core_1.text)('image_url'),
147
+ publishedAt: (0, pg_core_1.timestamp)('published_at').notNull(),
148
+ scrapedAt: (0, pg_core_1.timestamp)('scraped_at').notNull().defaultNow(),
149
+ // Source information
150
+ sourceName: (0, pg_core_1.text)('source_name'),
151
+ sourceUrl: (0, pg_core_1.text)('source_url'),
152
+ author: (0, pg_core_1.text)('author'),
153
+ // Classification
154
+ category: (0, pg_core_1.text)('category'),
155
+ tags: (0, pg_core_1.text)('tags').array().notNull().default([]),
156
+ language: (0, pg_core_1.text)('language').notNull().default('ko'),
157
+ // Quality metrics
158
+ relevanceScore: (0, pg_core_1.decimal)('relevance_score', { precision: 4, scale: 3 }),
159
+ qualityScore: (0, pg_core_1.decimal)('quality_score', { precision: 4, scale: 3 }),
160
+ // Processing status
161
+ status: (0, exports.contentStatusEnum)('status').notNull().default('PENDING'),
162
+ featured: (0, pg_core_1.boolean)('featured').notNull().default(false),
163
+ processingNotes: (0, pg_core_1.text)('processing_notes'),
164
+ // Timestamps
165
+ createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
166
+ updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
167
+ });
168
+ // RSS Feeds
169
+ exports.rssFeeds = (0, pg_core_1.pgTable)('rss_feeds', {
170
+ id: (0, pg_core_1.text)('id').primaryKey(),
171
+ name: (0, pg_core_1.text)('name').notNull(),
172
+ url: (0, pg_core_1.text)('url').notNull().unique(),
173
+ description: (0, pg_core_1.text)('description'),
174
+ // Configuration
175
+ category: (0, pg_core_1.text)('category').notNull().default('general'),
176
+ language: (0, pg_core_1.text)('language').notNull().default('ko'),
177
+ isActive: (0, pg_core_1.boolean)('is_active').notNull().default(true),
178
+ isPaused: (0, pg_core_1.boolean)('is_paused').notNull().default(false),
179
+ schedulingEnabled: (0, pg_core_1.boolean)('scheduling_enabled').notNull().default(true),
180
+ checkFrequencyMinutes: (0, pg_core_1.integer)('check_frequency_minutes').notNull().default(60),
181
+ scrapeInterval: (0, pg_core_1.integer)('scrape_interval').notNull().default(3600),
182
+ maxItems: (0, pg_core_1.integer)('max_items').notNull().default(50),
183
+ // Metadata
184
+ lastChecked: (0, pg_core_1.timestamp)('last_checked'),
185
+ lastSuccessfulCheck: (0, pg_core_1.timestamp)('last_successful_check'),
186
+ lastError: (0, pg_core_1.text)('last_error'),
187
+ errorCount: (0, pg_core_1.integer)('error_count').notNull().default(0),
188
+ totalArticles: (0, pg_core_1.integer)('total_articles').notNull().default(0),
189
+ // Job Duration Tracking
190
+ lastRunDuration: (0, pg_core_1.integer)('last_run_duration'), // milliseconds
191
+ averageRunDuration: (0, pg_core_1.integer)('average_run_duration'), // milliseconds
192
+ lastRunStartedAt: (0, pg_core_1.timestamp)('last_run_started_at'),
193
+ lastRunCompletedAt: (0, pg_core_1.timestamp)('last_run_completed_at'),
194
+ tags: (0, pg_core_1.text)('tags').array().notNull().default([]),
195
+ priority: (0, pg_core_1.integer)('priority').notNull().default(1),
196
+ userAgent: (0, pg_core_1.text)('user_agent'),
197
+ headers: (0, pg_core_1.text)('headers'),
198
+ timeout: (0, pg_core_1.integer)('timeout').notNull().default(30000),
199
+ createdBy: (0, pg_core_1.text)('created_by').notNull().default('system'),
200
+ // Timestamps
201
+ createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
202
+ updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
203
+ });
204
+ // RSS Articles
205
+ exports.rssArticles = (0, pg_core_1.pgTable)('rss_articles', {
206
+ id: (0, pg_core_1.text)('id').primaryKey(),
207
+ feedId: (0, pg_core_1.text)('feed_id').notNull().references(() => exports.rssFeeds.id),
208
+ // Article content
209
+ title: (0, pg_core_1.text)('title').notNull(),
210
+ content: (0, pg_core_1.text)('content'),
211
+ description: (0, pg_core_1.text)('description'),
212
+ url: (0, pg_core_1.text)('url').notNull(),
213
+ link: (0, pg_core_1.text)('link'), // Alias for url for compatibility
214
+ author: (0, pg_core_1.text)('author'),
215
+ publishedAt: (0, pg_core_1.timestamp)('published_at').notNull(),
216
+ scrapedAt: (0, pg_core_1.timestamp)('scraped_at').notNull().defaultNow(),
217
+ // Classification and metadata
218
+ categories: (0, pg_core_1.text)('categories').array().default([]),
219
+ tags: (0, pg_core_1.text)('tags').array().default([]),
220
+ language: (0, pg_core_1.text)('language').default('ko'),
221
+ // Quality and relevance
222
+ relevanceScore: (0, pg_core_1.decimal)('relevance_score', { precision: 4, scale: 3 }),
223
+ qualityScore: (0, pg_core_1.decimal)('quality_score', { precision: 4, scale: 3 }),
224
+ // AI Classification fields
225
+ aiClassified: (0, pg_core_1.boolean)('ai_classified').notNull().default(false),
226
+ aiConfidence: (0, pg_core_1.decimal)('ai_confidence', { precision: 4, scale: 3 }),
227
+ aiReason: (0, pg_core_1.text)('ai_reason'),
228
+ isAion2Related: (0, pg_core_1.boolean)('is_aion2_related').notNull().default(false),
229
+ // Content Management fields
230
+ featured: (0, pg_core_1.boolean)('featured').notNull().default(false),
231
+ featuredUntil: (0, pg_core_1.timestamp)('featured_until'),
232
+ // Universal Content Filter fields
233
+ classificationFilters: (0, pg_core_1.text)('classification_filters').array().default([]), // Array of filter keys that matched
234
+ filterMatchDetails: (0, pg_core_1.jsonb)('filter_match_details'), // JSON object with detailed match information
235
+ classificationVersion: (0, pg_core_1.text)('classification_version').default('1.0'), // Version of classification system used
236
+ classificationKeywords: (0, pg_core_1.text)('classification_keywords').array().default([]), // Keywords that triggered classification
237
+ // Translation fields (for Korean content)
238
+ titleTranslated: (0, pg_core_1.text)('title_translated'),
239
+ descriptionTranslated: (0, pg_core_1.text)('description_translated'),
240
+ contentTranslated: (0, pg_core_1.text)('content_translated'),
241
+ translatedAt: (0, pg_core_1.timestamp)('translated_at'),
242
+ translationConfidence: (0, pg_core_1.decimal)('translation_confidence', { precision: 4, scale: 3 }),
243
+ isTranslated: (0, pg_core_1.boolean)('is_translated').notNull().default(false),
244
+ // Image fields (for enhanced RSS processing)
245
+ imageUrl: (0, pg_core_1.text)('image_url'), // Featured image URL
246
+ images: (0, pg_core_1.text)('images'), // JSON array of all image URLs
247
+ // Engagement metrics
248
+ views: (0, pg_core_1.integer)('views').default(0),
249
+ likes: (0, pg_core_1.integer)('likes').default(0),
250
+ shares: (0, pg_core_1.integer)('shares').default(0),
251
+ // Processing status
252
+ status: (0, exports.contentStatusEnum)('status').notNull().default('PENDING'),
253
+ processingNotes: (0, pg_core_1.text)('processing_notes'),
254
+ // Timestamps
255
+ createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
256
+ updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
257
+ });
258
+ // YouTube Source Configurations
259
+ exports.youtubeSourceConfigs = (0, pg_core_1.pgTable)('youtube_source_config', {
260
+ id: (0, pg_core_1.text)('id').primaryKey(),
261
+ // Channel information
262
+ channelId: (0, pg_core_1.text)('channel_id').notNull().unique(),
263
+ channelName: (0, pg_core_1.text)('channel_name').notNull(),
264
+ description: (0, pg_core_1.text)('description'),
265
+ // Configuration
266
+ tier: (0, pg_core_1.integer)('tier').notNull().default(2),
267
+ language: (0, pg_core_1.text)('language').notNull().default('ko'),
268
+ isOfficial: (0, pg_core_1.boolean)('is_official').notNull().default(false),
269
+ isActive: (0, pg_core_1.boolean)('is_active').notNull().default(true),
270
+ isPaused: (0, pg_core_1.boolean)('is_paused').notNull().default(false),
271
+ schedulingEnabled: (0, pg_core_1.boolean)('scheduling_enabled').notNull().default(true),
272
+ checkFrequencyMinutes: (0, pg_core_1.integer)('check_frequency_minutes').notNull().default(60),
273
+ maxVideos: (0, pg_core_1.integer)('max_videos').notNull().default(50),
274
+ // Quality filters
275
+ minViews: (0, pg_core_1.integer)('min_views').default(0),
276
+ minRelevanceScore: (0, pg_core_1.decimal)('min_relevance_score', { precision: 4, scale: 3 }).default('0.5'),
277
+ contentTypes: (0, pg_core_1.text)('content_types').array().default([]), // ['gameplay', 'news', 'review']
278
+ // Management
279
+ addedBy: (0, pg_core_1.text)('added_by').notNull().default('system'),
280
+ notes: (0, pg_core_1.text)('notes'),
281
+ // Statistics
282
+ totalVideosFound: (0, pg_core_1.integer)('total_videos_found').notNull().default(0),
283
+ totalVideosCreated: (0, pg_core_1.integer)('total_videos_created').notNull().default(0),
284
+ successCount: (0, pg_core_1.integer)('success_count').notNull().default(0),
285
+ errorCount: (0, pg_core_1.integer)('error_count').notNull().default(0),
286
+ apiCallsToday: (0, pg_core_1.integer)('api_calls_today').notNull().default(0),
287
+ // Status tracking
288
+ lastVideoFoundAt: (0, pg_core_1.timestamp)('last_video_found_at'),
289
+ lastCheckedAt: (0, pg_core_1.timestamp)('last_checked_at'),
290
+ lastSuccessfulCheck: (0, pg_core_1.timestamp)('last_successful_check'),
291
+ lastError: (0, pg_core_1.text)('last_error'),
292
+ lastRunAt: (0, pg_core_1.timestamp)('last_run_at'),
293
+ lastRunStatus: (0, pg_core_1.text)('last_run_status'),
294
+ nextRunAt: (0, pg_core_1.timestamp)('next_run_at'),
295
+ lastSuccessAt: (0, pg_core_1.timestamp)('last_success_at'),
296
+ lastErrorAt: (0, pg_core_1.timestamp)('last_error_at'),
297
+ lastErrorMessage: (0, pg_core_1.text)('last_error_message'),
298
+ lastRunDuration: (0, pg_core_1.integer)('last_run_duration'),
299
+ // Timestamps
300
+ createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
301
+ updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
302
+ });
303
+ // YouTube Videos
304
+ exports.youtubeVideos = (0, pg_core_1.pgTable)('youtube_videos', {
305
+ id: (0, pg_core_1.text)('id').primaryKey(),
306
+ videoId: (0, pg_core_1.text)('video_id').notNull().unique(),
307
+ // Basic video information
308
+ title: (0, pg_core_1.text)('title').notNull(),
309
+ description: (0, pg_core_1.text)('description'),
310
+ channelId: (0, pg_core_1.text)('channel_id').notNull(),
311
+ channelName: (0, pg_core_1.text)('channel_name').notNull(),
312
+ channelUrl: (0, pg_core_1.text)('channel_url'),
313
+ // Video metadata
314
+ publishedAt: (0, pg_core_1.timestamp)('published_at').notNull(),
315
+ duration: (0, pg_core_1.text)('duration'),
316
+ viewCount: (0, pg_core_1.bigint)('view_count', { mode: 'number' }),
317
+ likeCount: (0, pg_core_1.integer)('like_count'),
318
+ commentCount: (0, pg_core_1.integer)('comment_count'),
319
+ // Media
320
+ thumbnailUrl: (0, pg_core_1.text)('thumbnail_url'),
321
+ thumbnails: (0, pg_core_1.json)('thumbnails'),
322
+ // Classification
323
+ language: (0, pg_core_1.text)('language').default('ko'),
324
+ contentType: (0, pg_core_1.text)('content_type'), // 'gameplay', 'news', 'review', 'guide'
325
+ relevanceScore: (0, pg_core_1.decimal)('relevance_score', { precision: 4, scale: 3 }),
326
+ qualityScore: (0, pg_core_1.decimal)('quality_score', { precision: 4, scale: 3 }),
327
+ // Metadata
328
+ tags: (0, pg_core_1.text)('tags').array().default([]),
329
+ categoryId: (0, pg_core_1.integer)('category_id'),
330
+ isOfficial: (0, pg_core_1.boolean)('is_official').notNull().default(false),
331
+ isFeatured: (0, pg_core_1.boolean)('is_featured').notNull().default(false),
332
+ // AI Classification fields
333
+ aiClassified: (0, pg_core_1.boolean)('ai_classified').notNull().default(false),
334
+ aiConfidence: (0, pg_core_1.decimal)('ai_confidence', { precision: 4, scale: 3 }),
335
+ aiReason: (0, pg_core_1.text)('ai_reason'),
336
+ isAion2Related: (0, pg_core_1.boolean)('is_aion2_related').notNull().default(false),
337
+ // Universal Content Filter fields
338
+ classificationFilters: (0, pg_core_1.text)('classification_filters').array().default([]),
339
+ filterMatchDetails: (0, pg_core_1.jsonb)('filter_match_details'),
340
+ classificationVersion: (0, pg_core_1.text)('classification_version').default('1.0'),
341
+ classificationKeywords: (0, pg_core_1.text)('classification_keywords').array().default([]),
342
+ // Translation fields (for Korean content)
343
+ titleTranslated: (0, pg_core_1.text)('title_translated'),
344
+ descriptionTranslated: (0, pg_core_1.text)('description_translated'),
345
+ translatedAt: (0, pg_core_1.timestamp)('translated_at'),
346
+ translationConfidence: (0, pg_core_1.decimal)('translation_confidence', { precision: 4, scale: 3 }),
347
+ isTranslated: (0, pg_core_1.boolean)('is_translated').notNull().default(false),
348
+ // Processing status
349
+ status: (0, exports.contentStatusEnum)('status').notNull().default('PENDING'),
350
+ processingNotes: (0, pg_core_1.text)('processing_notes'),
351
+ // Source tracking
352
+ sourceConfigId: (0, pg_core_1.text)('source_config_id').references(() => exports.youtubeSourceConfigs.id),
353
+ // Timestamps
354
+ createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
355
+ updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
356
+ });
357
+ // YouTube Search Queries
358
+ exports.youtubeSearchQueries = (0, pg_core_1.pgTable)('youtube_search_queries', {
359
+ id: (0, pg_core_1.text)('id').primaryKey(),
360
+ query: (0, pg_core_1.text)('query').notNull(),
361
+ language: (0, pg_core_1.text)('language').notNull().default('ko'),
362
+ isActive: (0, pg_core_1.boolean)('is_active').notNull().default(true),
363
+ // Statistics
364
+ totalVideosFound: (0, pg_core_1.integer)('total_videos_found').notNull().default(0),
365
+ lastSearchAt: (0, pg_core_1.timestamp)('last_search_at'),
366
+ // Timestamps
367
+ createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
368
+ updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
369
+ });
370
+ // YouTube Quota Usage
371
+ exports.youtubeQuotaUsage = (0, pg_core_1.pgTable)('youtube_quota_usage', {
372
+ id: (0, pg_core_1.text)('id').primaryKey(),
373
+ date: (0, pg_core_1.timestamp)('date').notNull(),
374
+ quotaUsed: (0, pg_core_1.integer)('quota_used').notNull().default(0),
375
+ quotaLimit: (0, pg_core_1.integer)('quota_limit').notNull().default(10000),
376
+ operationType: (0, pg_core_1.text)('operation_type').notNull(), // search, videos, channels, etc.
377
+ // Timestamps
378
+ createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
379
+ updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
380
+ });
381
+ // YouTube Channel Extensions
382
+ exports.youtubeChannelExtensions = (0, pg_core_1.pgTable)('youtube_channel_extensions', {
383
+ id: (0, pg_core_1.text)('id').primaryKey().$defaultFn(() => (0, crypto_1.randomUUID)()),
384
+ sourceConfigId: (0, pg_core_1.text)('source_config_id').notNull().references(() => exports.youtubeSourceConfigs.id),
385
+ // Manual addition metadata
386
+ addedBy: (0, pg_core_1.text)('added_by').notNull(), // User ID who added the channel
387
+ userNotes: (0, pg_core_1.text)('user_notes'),
388
+ customTags: (0, pg_core_1.text)('custom_tags').array().default([]),
389
+ // AI-generated insights
390
+ aiDescription: (0, pg_core_1.text)('ai_description'),
391
+ contentCategories: (0, pg_core_1.text)('content_categories').array().default([]),
392
+ uploadFrequency: (0, pg_core_1.text)('upload_frequency'), // 'daily', 'weekly', 'monthly', 'irregular'
393
+ averageVideoLength: (0, pg_core_1.integer)('average_video_length'), // in seconds
394
+ primaryLanguage: (0, pg_core_1.text)('primary_language'),
395
+ contentTags: (0, pg_core_1.text)('content_tags').array().default([]),
396
+ // Metadata
397
+ createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
398
+ updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
399
+ });
400
+ // YouTube Channel Subscriptions
401
+ exports.youtubeChannelSubscriptions = (0, pg_core_1.pgTable)('youtube_channel_subscriptions', {
402
+ id: (0, pg_core_1.text)('id').primaryKey().$defaultFn(() => (0, crypto_1.randomUUID)()),
403
+ userId: (0, pg_core_1.text)('user_id').notNull(), // References users(id)
404
+ sourceConfigId: (0, pg_core_1.text)('source_config_id').notNull().references(() => exports.youtubeSourceConfigs.id),
405
+ // Subscription preferences
406
+ notificationEnabled: (0, pg_core_1.boolean)('notification_enabled').notNull().default(true),
407
+ filterProfileId: (0, pg_core_1.uuid)('filter_profile_id'), // References filter_profiles(id)
408
+ // Metadata
409
+ subscribedAt: (0, pg_core_1.timestamp)('subscribed_at').notNull().defaultNow()
410
+ }, (table) => ({
411
+ uniqueUserChannel: (0, pg_core_1.unique)().on(table.userId, table.sourceConfigId)
412
+ }));
413
+ // =============================================================================
414
+ // RELATIONS
415
+ // =============================================================================
416
+ exports.aiModelsRelations = (0, drizzle_orm_1.relations)(exports.aiModels, ({ many }) => ({
417
+ translations: many(exports.contentTranslations),
418
+ }));
419
+ exports.contentTranslationsRelations = (0, drizzle_orm_1.relations)(exports.contentTranslations, ({ one }) => ({
420
+ model: one(exports.aiModels, {
421
+ fields: [exports.contentTranslations.modelId],
422
+ references: [exports.aiModels.id],
423
+ }),
424
+ }));
425
+ exports.rssFeedsRelations = (0, drizzle_orm_1.relations)(exports.rssFeeds, ({ many }) => ({
426
+ articles: many(exports.rssArticles),
427
+ }));
428
+ exports.rssArticlesRelations = (0, drizzle_orm_1.relations)(exports.rssArticles, ({ one }) => ({
429
+ feed: one(exports.rssFeeds, {
430
+ fields: [exports.rssArticles.feedId],
431
+ references: [exports.rssFeeds.id],
432
+ }),
433
+ }));
434
+ exports.youtubeSourceConfigsRelations = (0, drizzle_orm_1.relations)(exports.youtubeSourceConfigs, ({ many }) => ({
435
+ videos: many(exports.youtubeVideos),
436
+ extensions: many(exports.youtubeChannelExtensions),
437
+ subscriptions: many(exports.youtubeChannelSubscriptions),
438
+ }));
439
+ exports.youtubeVideosRelations = (0, drizzle_orm_1.relations)(exports.youtubeVideos, ({ one }) => ({
440
+ sourceConfig: one(exports.youtubeSourceConfigs, {
441
+ fields: [exports.youtubeVideos.sourceConfigId],
442
+ references: [exports.youtubeSourceConfigs.id],
443
+ }),
444
+ }));
445
+ exports.youtubeChannelExtensionsRelations = (0, drizzle_orm_1.relations)(exports.youtubeChannelExtensions, ({ one }) => ({
446
+ sourceConfig: one(exports.youtubeSourceConfigs, {
447
+ fields: [exports.youtubeChannelExtensions.sourceConfigId],
448
+ references: [exports.youtubeSourceConfigs.id],
449
+ }),
450
+ }));
451
+ exports.youtubeChannelSubscriptionsRelations = (0, drizzle_orm_1.relations)(exports.youtubeChannelSubscriptions, ({ one }) => ({
452
+ sourceConfig: one(exports.youtubeSourceConfigs, {
453
+ fields: [exports.youtubeChannelSubscriptions.sourceConfigId],
454
+ references: [exports.youtubeSourceConfigs.id],
455
+ }),
456
+ }));
457
+ //# sourceMappingURL=content-schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content-schema.js","sourceRoot":"","sources":["../src/content-schema.ts"],"names":[],"mappings":"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"}