@commonpub/schema 0.1.0

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.
Files changed (67) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +87 -0
  3. package/dist/admin.d.ts +256 -0
  4. package/dist/admin.d.ts.map +1 -0
  5. package/dist/admin.js +33 -0
  6. package/dist/admin.js.map +1 -0
  7. package/dist/auth.d.ts +1552 -0
  8. package/dist/auth.d.ts.map +1 -0
  9. package/dist/auth.js +140 -0
  10. package/dist/auth.js.map +1 -0
  11. package/dist/content.d.ts +1129 -0
  12. package/dist/content.d.ts.map +1 -0
  13. package/dist/content.js +152 -0
  14. package/dist/content.js.map +1 -0
  15. package/dist/contest.d.ts +466 -0
  16. package/dist/contest.d.ts.map +1 -0
  17. package/dist/contest.js +64 -0
  18. package/dist/contest.js.map +1 -0
  19. package/dist/docs.d.ts +545 -0
  20. package/dist/docs.d.ts.map +1 -0
  21. package/dist/docs.js +78 -0
  22. package/dist/docs.js.map +1 -0
  23. package/dist/enums.d.ts +31 -0
  24. package/dist/enums.d.ts.map +1 -0
  25. package/dist/enums.js +149 -0
  26. package/dist/enums.js.map +1 -0
  27. package/dist/federation.d.ts +613 -0
  28. package/dist/federation.d.ts.map +1 -0
  29. package/dist/federation.js +63 -0
  30. package/dist/federation.js.map +1 -0
  31. package/dist/files.d.ts +259 -0
  32. package/dist/files.d.ts.map +1 -0
  33. package/dist/files.js +33 -0
  34. package/dist/files.js.map +1 -0
  35. package/dist/hub.d.ts +1235 -0
  36. package/dist/hub.d.ts.map +1 -0
  37. package/dist/hub.js +205 -0
  38. package/dist/hub.js.map +1 -0
  39. package/dist/index.d.ts +16 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +31 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/learning.d.ts +960 -0
  44. package/dist/learning.d.ts.map +1 -0
  45. package/dist/learning.js +142 -0
  46. package/dist/learning.js.map +1 -0
  47. package/dist/openapi.d.ts +2 -0
  48. package/dist/openapi.d.ts.map +1 -0
  49. package/dist/openapi.js +322 -0
  50. package/dist/openapi.js.map +1 -0
  51. package/dist/product.d.ts +481 -0
  52. package/dist/product.d.ts.map +1 -0
  53. package/dist/product.js +66 -0
  54. package/dist/product.js.map +1 -0
  55. package/dist/social.d.ts +1027 -0
  56. package/dist/social.d.ts.map +1 -0
  57. package/dist/social.js +166 -0
  58. package/dist/social.js.map +1 -0
  59. package/dist/validators.d.ts +766 -0
  60. package/dist/validators.d.ts.map +1 -0
  61. package/dist/validators.js +385 -0
  62. package/dist/validators.js.map +1 -0
  63. package/dist/video.d.ts +353 -0
  64. package/dist/video.d.ts.map +1 -0
  65. package/dist/video.js +36 -0
  66. package/dist/video.js.map +1 -0
  67. package/package.json +77 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.d.ts","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,152 @@
1
+ import { pgTable, uuid, varchar, text, timestamp, integer, boolean, jsonb, unique, index, } from 'drizzle-orm/pg-core';
2
+ import { relations } from 'drizzle-orm';
3
+ import { users } from './auth.js';
4
+ import { contentStatusEnum, contentTypeEnum, difficultyEnum, contentVisibilityEnum } from './enums.js';
5
+ export const contentItems = pgTable('content_items', {
6
+ id: uuid('id').defaultRandom().primaryKey(),
7
+ authorId: uuid('author_id')
8
+ .notNull()
9
+ .references(() => users.id, { onDelete: 'cascade' }),
10
+ type: contentTypeEnum('type').notNull(),
11
+ title: varchar('title', { length: 255 }).notNull(),
12
+ slug: varchar('slug', { length: 255 }).notNull().unique(),
13
+ subtitle: varchar('subtitle', { length: 255 }),
14
+ description: text('description'),
15
+ content: jsonb('content'),
16
+ coverImageUrl: text('cover_image_url'),
17
+ category: varchar('category', { length: 64 }),
18
+ difficulty: difficultyEnum('difficulty'),
19
+ buildTime: varchar('build_time', { length: 64 }),
20
+ estimatedCost: varchar('estimated_cost', { length: 64 }),
21
+ status: contentStatusEnum('status').default('draft').notNull(),
22
+ visibility: contentVisibilityEnum('visibility').default('public').notNull(),
23
+ isFeatured: boolean('is_featured').default(false).notNull(),
24
+ seoDescription: varchar('seo_description', { length: 320 }),
25
+ previewToken: varchar('preview_token', { length: 64 }),
26
+ // Parts list (for projects)
27
+ parts: jsonb('parts').$type(),
28
+ // Explainer sections — validated at runtime via @commonpub/explainer schemas
29
+ sections: jsonb('sections').$type(),
30
+ // Additional metadata
31
+ licenseType: varchar('license_type', { length: 32 }),
32
+ series: varchar('series', { length: 128 }),
33
+ estimatedMinutes: integer('estimated_minutes'),
34
+ // Federation readiness
35
+ canonicalUrl: text('canonical_url'),
36
+ apObjectId: text('ap_object_id'),
37
+ // Soft delete
38
+ deletedAt: timestamp('deleted_at', { withTimezone: true }),
39
+ // Counters (denormalized for read performance)
40
+ viewCount: integer('view_count').default(0).notNull(),
41
+ likeCount: integer('like_count').default(0).notNull(),
42
+ commentCount: integer('comment_count').default(0).notNull(),
43
+ forkCount: integer('fork_count').default(0).notNull(),
44
+ buildCount: integer('build_count').default(0).notNull(),
45
+ publishedAt: timestamp('published_at', { withTimezone: true }),
46
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
47
+ updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull().$onUpdateFn(() => new Date()),
48
+ }, (t) => [
49
+ index('idx_content_items_author_id').on(t.authorId),
50
+ index('idx_content_items_status').on(t.status),
51
+ index('idx_content_items_type').on(t.type),
52
+ index('idx_content_items_published_at').on(t.publishedAt),
53
+ ]);
54
+ export const contentVersions = pgTable('content_versions', {
55
+ id: uuid('id').defaultRandom().primaryKey(),
56
+ contentId: uuid('content_id')
57
+ .notNull()
58
+ .references(() => contentItems.id, { onDelete: 'cascade' }),
59
+ version: integer('version').notNull(),
60
+ title: varchar('title', { length: 255 }),
61
+ content: jsonb('content'),
62
+ metadata: jsonb('metadata'),
63
+ createdById: uuid('created_by_id')
64
+ .notNull()
65
+ .references(() => users.id, { onDelete: 'cascade' }),
66
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
67
+ }, (t) => [
68
+ index('idx_content_versions_content_id').on(t.contentId),
69
+ ]);
70
+ export const contentForks = pgTable('content_forks', {
71
+ id: uuid('id').defaultRandom().primaryKey(),
72
+ sourceId: uuid('source_id')
73
+ .notNull()
74
+ .references(() => contentItems.id, { onDelete: 'cascade' }),
75
+ forkId: uuid('fork_id')
76
+ .notNull()
77
+ .references(() => contentItems.id, { onDelete: 'cascade' }),
78
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
79
+ }, (t) => [
80
+ index('idx_content_forks_source_id').on(t.sourceId),
81
+ index('idx_content_forks_fork_id').on(t.forkId),
82
+ ]);
83
+ export const contentBuilds = pgTable('content_builds', {
84
+ id: uuid('id').defaultRandom().primaryKey(),
85
+ contentId: uuid('content_id')
86
+ .notNull()
87
+ .references(() => contentItems.id, { onDelete: 'cascade' }),
88
+ userId: uuid('user_id')
89
+ .notNull()
90
+ .references(() => users.id, { onDelete: 'cascade' }),
91
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
92
+ }, (t) => [
93
+ unique('content_builds_user_content').on(t.userId, t.contentId),
94
+ index('idx_content_builds_content_id').on(t.contentId),
95
+ ]);
96
+ export const tags = pgTable('tags', {
97
+ id: uuid('id').defaultRandom().primaryKey(),
98
+ name: varchar('name', { length: 64 }).notNull().unique(),
99
+ slug: varchar('slug', { length: 64 }).notNull().unique(),
100
+ category: varchar('category', { length: 32 }),
101
+ usageCount: integer('usage_count').default(0).notNull(),
102
+ });
103
+ export const contentTags = pgTable('content_tags', {
104
+ id: uuid('id').defaultRandom().primaryKey(),
105
+ contentId: uuid('content_id')
106
+ .notNull()
107
+ .references(() => contentItems.id, { onDelete: 'cascade' }),
108
+ tagId: uuid('tag_id')
109
+ .notNull()
110
+ .references(() => tags.id, { onDelete: 'cascade' }),
111
+ }, (t) => [
112
+ index('idx_content_tags_content_id').on(t.contentId),
113
+ index('idx_content_tags_tag_id').on(t.tagId),
114
+ ]);
115
+ // --- Relations ---
116
+ export const contentItemsRelations = relations(contentItems, ({ one, many }) => ({
117
+ author: one(users, { fields: [contentItems.authorId], references: [users.id] }),
118
+ tags: many(contentTags),
119
+ versions: many(contentVersions),
120
+ forksFrom: many(contentForks, { relationName: 'forkSource' }),
121
+ forksTo: many(contentForks, { relationName: 'forkTarget' }),
122
+ }));
123
+ export const contentVersionsRelations = relations(contentVersions, ({ one }) => ({
124
+ content: one(contentItems, {
125
+ fields: [contentVersions.contentId],
126
+ references: [contentItems.id],
127
+ }),
128
+ createdBy: one(users, {
129
+ fields: [contentVersions.createdById],
130
+ references: [users.id],
131
+ }),
132
+ }));
133
+ export const contentForksRelations = relations(contentForks, ({ one }) => ({
134
+ source: one(contentItems, {
135
+ fields: [contentForks.sourceId],
136
+ references: [contentItems.id],
137
+ relationName: 'forkSource',
138
+ }),
139
+ fork: one(contentItems, {
140
+ fields: [contentForks.forkId],
141
+ references: [contentItems.id],
142
+ relationName: 'forkTarget',
143
+ }),
144
+ }));
145
+ export const tagsRelations = relations(tags, ({ many }) => ({
146
+ contentTags: many(contentTags),
147
+ }));
148
+ export const contentTagsRelations = relations(contentTags, ({ one }) => ({
149
+ content: one(contentItems, { fields: [contentTags.contentId], references: [contentItems.id] }),
150
+ tag: one(tags, { fields: [contentTags.tagId], references: [tags.id] }),
151
+ }));
152
+ //# sourceMappingURL=content.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"content.js","sourceRoot":"","sources":["../src/content.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,466 @@
1
+ /** @v2 — Contest system. Tables defined but not yet referenced in application code. */
2
+ export declare const contests: import("drizzle-orm/pg-core").PgTableWithColumns<{
3
+ name: "contests";
4
+ schema: undefined;
5
+ columns: {
6
+ id: import("drizzle-orm/pg-core").PgColumn<{
7
+ name: "id";
8
+ tableName: "contests";
9
+ dataType: "string";
10
+ columnType: "PgUUID";
11
+ data: string;
12
+ driverParam: string;
13
+ notNull: true;
14
+ hasDefault: true;
15
+ isPrimaryKey: true;
16
+ isAutoincrement: false;
17
+ hasRuntimeDefault: false;
18
+ enumValues: undefined;
19
+ baseColumn: never;
20
+ identity: undefined;
21
+ generated: undefined;
22
+ }, {}, {}>;
23
+ title: import("drizzle-orm/pg-core").PgColumn<{
24
+ name: "title";
25
+ tableName: "contests";
26
+ dataType: "string";
27
+ columnType: "PgVarchar";
28
+ data: string;
29
+ driverParam: string;
30
+ notNull: true;
31
+ hasDefault: false;
32
+ isPrimaryKey: false;
33
+ isAutoincrement: false;
34
+ hasRuntimeDefault: false;
35
+ enumValues: [string, ...string[]];
36
+ baseColumn: never;
37
+ identity: undefined;
38
+ generated: undefined;
39
+ }, {}, {
40
+ length: 255;
41
+ }>;
42
+ slug: import("drizzle-orm/pg-core").PgColumn<{
43
+ name: "slug";
44
+ tableName: "contests";
45
+ dataType: "string";
46
+ columnType: "PgVarchar";
47
+ data: string;
48
+ driverParam: string;
49
+ notNull: true;
50
+ hasDefault: false;
51
+ isPrimaryKey: false;
52
+ isAutoincrement: false;
53
+ hasRuntimeDefault: false;
54
+ enumValues: [string, ...string[]];
55
+ baseColumn: never;
56
+ identity: undefined;
57
+ generated: undefined;
58
+ }, {}, {
59
+ length: 255;
60
+ }>;
61
+ description: import("drizzle-orm/pg-core").PgColumn<{
62
+ name: "description";
63
+ tableName: "contests";
64
+ dataType: "string";
65
+ columnType: "PgText";
66
+ data: string;
67
+ driverParam: string;
68
+ notNull: false;
69
+ hasDefault: false;
70
+ isPrimaryKey: false;
71
+ isAutoincrement: false;
72
+ hasRuntimeDefault: false;
73
+ enumValues: [string, ...string[]];
74
+ baseColumn: never;
75
+ identity: undefined;
76
+ generated: undefined;
77
+ }, {}, {}>;
78
+ rules: import("drizzle-orm/pg-core").PgColumn<{
79
+ name: "rules";
80
+ tableName: "contests";
81
+ dataType: "string";
82
+ columnType: "PgText";
83
+ data: string;
84
+ driverParam: string;
85
+ notNull: false;
86
+ hasDefault: false;
87
+ isPrimaryKey: false;
88
+ isAutoincrement: false;
89
+ hasRuntimeDefault: false;
90
+ enumValues: [string, ...string[]];
91
+ baseColumn: never;
92
+ identity: undefined;
93
+ generated: undefined;
94
+ }, {}, {}>;
95
+ bannerUrl: import("drizzle-orm/pg-core").PgColumn<{
96
+ name: "banner_url";
97
+ tableName: "contests";
98
+ dataType: "string";
99
+ columnType: "PgText";
100
+ data: string;
101
+ driverParam: string;
102
+ notNull: false;
103
+ hasDefault: false;
104
+ isPrimaryKey: false;
105
+ isAutoincrement: false;
106
+ hasRuntimeDefault: false;
107
+ enumValues: [string, ...string[]];
108
+ baseColumn: never;
109
+ identity: undefined;
110
+ generated: undefined;
111
+ }, {}, {}>;
112
+ status: import("drizzle-orm/pg-core").PgColumn<{
113
+ name: "status";
114
+ tableName: "contests";
115
+ dataType: "string";
116
+ columnType: "PgEnumColumn";
117
+ data: "active" | "upcoming" | "judging" | "completed";
118
+ driverParam: string;
119
+ notNull: true;
120
+ hasDefault: true;
121
+ isPrimaryKey: false;
122
+ isAutoincrement: false;
123
+ hasRuntimeDefault: false;
124
+ enumValues: ["upcoming", "active", "judging", "completed"];
125
+ baseColumn: never;
126
+ identity: undefined;
127
+ generated: undefined;
128
+ }, {}, {}>;
129
+ startDate: import("drizzle-orm/pg-core").PgColumn<{
130
+ name: "start_date";
131
+ tableName: "contests";
132
+ dataType: "date";
133
+ columnType: "PgTimestamp";
134
+ data: Date;
135
+ driverParam: string;
136
+ notNull: true;
137
+ hasDefault: false;
138
+ isPrimaryKey: false;
139
+ isAutoincrement: false;
140
+ hasRuntimeDefault: false;
141
+ enumValues: undefined;
142
+ baseColumn: never;
143
+ identity: undefined;
144
+ generated: undefined;
145
+ }, {}, {}>;
146
+ endDate: import("drizzle-orm/pg-core").PgColumn<{
147
+ name: "end_date";
148
+ tableName: "contests";
149
+ dataType: "date";
150
+ columnType: "PgTimestamp";
151
+ data: Date;
152
+ driverParam: string;
153
+ notNull: true;
154
+ hasDefault: false;
155
+ isPrimaryKey: false;
156
+ isAutoincrement: false;
157
+ hasRuntimeDefault: false;
158
+ enumValues: undefined;
159
+ baseColumn: never;
160
+ identity: undefined;
161
+ generated: undefined;
162
+ }, {}, {}>;
163
+ judgingEndDate: import("drizzle-orm/pg-core").PgColumn<{
164
+ name: "judging_end_date";
165
+ tableName: "contests";
166
+ dataType: "date";
167
+ columnType: "PgTimestamp";
168
+ data: Date;
169
+ driverParam: string;
170
+ notNull: false;
171
+ hasDefault: false;
172
+ isPrimaryKey: false;
173
+ isAutoincrement: false;
174
+ hasRuntimeDefault: false;
175
+ enumValues: undefined;
176
+ baseColumn: never;
177
+ identity: undefined;
178
+ generated: undefined;
179
+ }, {}, {}>;
180
+ prizes: import("drizzle-orm/pg-core").PgColumn<{
181
+ name: "prizes";
182
+ tableName: "contests";
183
+ dataType: "json";
184
+ columnType: "PgJsonb";
185
+ data: {
186
+ place: number;
187
+ title: string;
188
+ description?: string;
189
+ value?: string;
190
+ }[];
191
+ driverParam: unknown;
192
+ notNull: false;
193
+ hasDefault: false;
194
+ isPrimaryKey: false;
195
+ isAutoincrement: false;
196
+ hasRuntimeDefault: false;
197
+ enumValues: undefined;
198
+ baseColumn: never;
199
+ identity: undefined;
200
+ generated: undefined;
201
+ }, {}, {
202
+ $type: {
203
+ place: number;
204
+ title: string;
205
+ description?: string;
206
+ value?: string;
207
+ }[];
208
+ }>;
209
+ judges: import("drizzle-orm/pg-core").PgColumn<{
210
+ name: "judges";
211
+ tableName: "contests";
212
+ dataType: "json";
213
+ columnType: "PgJsonb";
214
+ data: string[];
215
+ driverParam: unknown;
216
+ notNull: false;
217
+ hasDefault: false;
218
+ isPrimaryKey: false;
219
+ isAutoincrement: false;
220
+ hasRuntimeDefault: false;
221
+ enumValues: undefined;
222
+ baseColumn: never;
223
+ identity: undefined;
224
+ generated: undefined;
225
+ }, {}, {
226
+ $type: string[];
227
+ }>;
228
+ createdById: import("drizzle-orm/pg-core").PgColumn<{
229
+ name: "created_by_id";
230
+ tableName: "contests";
231
+ dataType: "string";
232
+ columnType: "PgUUID";
233
+ data: string;
234
+ driverParam: string;
235
+ notNull: true;
236
+ hasDefault: false;
237
+ isPrimaryKey: false;
238
+ isAutoincrement: false;
239
+ hasRuntimeDefault: false;
240
+ enumValues: undefined;
241
+ baseColumn: never;
242
+ identity: undefined;
243
+ generated: undefined;
244
+ }, {}, {}>;
245
+ entryCount: import("drizzle-orm/pg-core").PgColumn<{
246
+ name: "entry_count";
247
+ tableName: "contests";
248
+ dataType: "number";
249
+ columnType: "PgInteger";
250
+ data: number;
251
+ driverParam: string | number;
252
+ notNull: true;
253
+ hasDefault: true;
254
+ isPrimaryKey: false;
255
+ isAutoincrement: false;
256
+ hasRuntimeDefault: false;
257
+ enumValues: undefined;
258
+ baseColumn: never;
259
+ identity: undefined;
260
+ generated: undefined;
261
+ }, {}, {}>;
262
+ createdAt: import("drizzle-orm/pg-core").PgColumn<{
263
+ name: "created_at";
264
+ tableName: "contests";
265
+ dataType: "date";
266
+ columnType: "PgTimestamp";
267
+ data: Date;
268
+ driverParam: string;
269
+ notNull: true;
270
+ hasDefault: true;
271
+ isPrimaryKey: false;
272
+ isAutoincrement: false;
273
+ hasRuntimeDefault: false;
274
+ enumValues: undefined;
275
+ baseColumn: never;
276
+ identity: undefined;
277
+ generated: undefined;
278
+ }, {}, {}>;
279
+ updatedAt: import("drizzle-orm/pg-core").PgColumn<{
280
+ name: "updated_at";
281
+ tableName: "contests";
282
+ dataType: "date";
283
+ columnType: "PgTimestamp";
284
+ data: Date;
285
+ driverParam: string;
286
+ notNull: true;
287
+ hasDefault: true;
288
+ isPrimaryKey: false;
289
+ isAutoincrement: false;
290
+ hasRuntimeDefault: false;
291
+ enumValues: undefined;
292
+ baseColumn: never;
293
+ identity: undefined;
294
+ generated: undefined;
295
+ }, {}, {}>;
296
+ };
297
+ dialect: "pg";
298
+ }>;
299
+ /** @v2 — Contest entries. Tables defined but not yet referenced in application code. */
300
+ export declare const contestEntries: import("drizzle-orm/pg-core").PgTableWithColumns<{
301
+ name: "contest_entries";
302
+ schema: undefined;
303
+ columns: {
304
+ id: import("drizzle-orm/pg-core").PgColumn<{
305
+ name: "id";
306
+ tableName: "contest_entries";
307
+ dataType: "string";
308
+ columnType: "PgUUID";
309
+ data: string;
310
+ driverParam: string;
311
+ notNull: true;
312
+ hasDefault: true;
313
+ isPrimaryKey: true;
314
+ isAutoincrement: false;
315
+ hasRuntimeDefault: false;
316
+ enumValues: undefined;
317
+ baseColumn: never;
318
+ identity: undefined;
319
+ generated: undefined;
320
+ }, {}, {}>;
321
+ contestId: import("drizzle-orm/pg-core").PgColumn<{
322
+ name: "contest_id";
323
+ tableName: "contest_entries";
324
+ dataType: "string";
325
+ columnType: "PgUUID";
326
+ data: string;
327
+ driverParam: string;
328
+ notNull: true;
329
+ hasDefault: false;
330
+ isPrimaryKey: false;
331
+ isAutoincrement: false;
332
+ hasRuntimeDefault: false;
333
+ enumValues: undefined;
334
+ baseColumn: never;
335
+ identity: undefined;
336
+ generated: undefined;
337
+ }, {}, {}>;
338
+ contentId: import("drizzle-orm/pg-core").PgColumn<{
339
+ name: "content_id";
340
+ tableName: "contest_entries";
341
+ dataType: "string";
342
+ columnType: "PgUUID";
343
+ data: string;
344
+ driverParam: string;
345
+ notNull: true;
346
+ hasDefault: false;
347
+ isPrimaryKey: false;
348
+ isAutoincrement: false;
349
+ hasRuntimeDefault: false;
350
+ enumValues: undefined;
351
+ baseColumn: never;
352
+ identity: undefined;
353
+ generated: undefined;
354
+ }, {}, {}>;
355
+ userId: import("drizzle-orm/pg-core").PgColumn<{
356
+ name: "user_id";
357
+ tableName: "contest_entries";
358
+ dataType: "string";
359
+ columnType: "PgUUID";
360
+ data: string;
361
+ driverParam: string;
362
+ notNull: true;
363
+ hasDefault: false;
364
+ isPrimaryKey: false;
365
+ isAutoincrement: false;
366
+ hasRuntimeDefault: false;
367
+ enumValues: undefined;
368
+ baseColumn: never;
369
+ identity: undefined;
370
+ generated: undefined;
371
+ }, {}, {}>;
372
+ score: import("drizzle-orm/pg-core").PgColumn<{
373
+ name: "score";
374
+ tableName: "contest_entries";
375
+ dataType: "number";
376
+ columnType: "PgInteger";
377
+ data: number;
378
+ driverParam: string | number;
379
+ notNull: false;
380
+ hasDefault: false;
381
+ isPrimaryKey: false;
382
+ isAutoincrement: false;
383
+ hasRuntimeDefault: false;
384
+ enumValues: undefined;
385
+ baseColumn: never;
386
+ identity: undefined;
387
+ generated: undefined;
388
+ }, {}, {}>;
389
+ rank: import("drizzle-orm/pg-core").PgColumn<{
390
+ name: "rank";
391
+ tableName: "contest_entries";
392
+ dataType: "number";
393
+ columnType: "PgInteger";
394
+ data: number;
395
+ driverParam: string | number;
396
+ notNull: false;
397
+ hasDefault: false;
398
+ isPrimaryKey: false;
399
+ isAutoincrement: false;
400
+ hasRuntimeDefault: false;
401
+ enumValues: undefined;
402
+ baseColumn: never;
403
+ identity: undefined;
404
+ generated: undefined;
405
+ }, {}, {}>;
406
+ judgeScores: import("drizzle-orm/pg-core").PgColumn<{
407
+ name: "judge_scores";
408
+ tableName: "contest_entries";
409
+ dataType: "json";
410
+ columnType: "PgJsonb";
411
+ data: {
412
+ judgeId: string;
413
+ score: number;
414
+ feedback?: string;
415
+ }[];
416
+ driverParam: unknown;
417
+ notNull: false;
418
+ hasDefault: false;
419
+ isPrimaryKey: false;
420
+ isAutoincrement: false;
421
+ hasRuntimeDefault: false;
422
+ enumValues: undefined;
423
+ baseColumn: never;
424
+ identity: undefined;
425
+ generated: undefined;
426
+ }, {}, {
427
+ $type: {
428
+ judgeId: string;
429
+ score: number;
430
+ feedback?: string;
431
+ }[];
432
+ }>;
433
+ submittedAt: import("drizzle-orm/pg-core").PgColumn<{
434
+ name: "submitted_at";
435
+ tableName: "contest_entries";
436
+ dataType: "date";
437
+ columnType: "PgTimestamp";
438
+ data: Date;
439
+ driverParam: string;
440
+ notNull: true;
441
+ hasDefault: true;
442
+ isPrimaryKey: false;
443
+ isAutoincrement: false;
444
+ hasRuntimeDefault: false;
445
+ enumValues: undefined;
446
+ baseColumn: never;
447
+ identity: undefined;
448
+ generated: undefined;
449
+ }, {}, {}>;
450
+ };
451
+ dialect: "pg";
452
+ }>;
453
+ export declare const contestsRelations: import("drizzle-orm").Relations<"contests", {
454
+ createdBy: import("drizzle-orm").One<"users", true>;
455
+ entries: import("drizzle-orm").Many<"contest_entries">;
456
+ }>;
457
+ export declare const contestEntriesRelations: import("drizzle-orm").Relations<"contest_entries", {
458
+ contest: import("drizzle-orm").One<"contests", true>;
459
+ content: import("drizzle-orm").One<"content_items", true>;
460
+ user: import("drizzle-orm").One<"users", true>;
461
+ }>;
462
+ export type ContestRow = typeof contests.$inferSelect;
463
+ export type NewContestRow = typeof contests.$inferInsert;
464
+ export type ContestEntryRow = typeof contestEntries.$inferSelect;
465
+ export type NewContestEntryRow = typeof contestEntries.$inferInsert;
466
+ //# sourceMappingURL=contest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contest.d.ts","sourceRoot":"","sources":["../src/contest.ts"],"names":[],"mappings":"AAMA,uFAAuF;AACvF,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAaR,MAAM;uBACN,MAAM;8BACC,MAAM;wBACZ,MAAM;;;;;;;;;;;;;;uBAHP,MAAM;uBACN,MAAM;8BACC,MAAM;wBACZ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAalB,CAAC;AAEH,wFAAwF;AACxF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAeZ,MAAM;uBACR,MAAM;2BACF,MAAM;;;;;;;;;;;;;;yBAFR,MAAM;uBACR,MAAM;2BACF,MAAM;;;;;;;;;;;;;;;;;;;;;;EAQrB,CAAC;AAIH,eAAO,MAAM,iBAAiB;;;EAG3B,CAAC;AAEJ,eAAO,MAAM,uBAAuB;;;;EAOjC,CAAC;AAGJ,MAAM,MAAM,UAAU,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACtD,MAAM,MAAM,aAAa,GAAG,OAAO,QAAQ,CAAC,YAAY,CAAC;AACzD,MAAM,MAAM,eAAe,GAAG,OAAO,cAAc,CAAC,YAAY,CAAC;AACjE,MAAM,MAAM,kBAAkB,GAAG,OAAO,cAAc,CAAC,YAAY,CAAC"}