@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
package/dist/docs.js ADDED
@@ -0,0 +1,78 @@
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
+ export const docsSites = pgTable('docs_sites', {
5
+ id: uuid('id').defaultRandom().primaryKey(),
6
+ name: varchar('name', { length: 128 }).notNull(),
7
+ slug: varchar('slug', { length: 128 }).notNull().unique(),
8
+ description: text('description'),
9
+ ownerId: uuid('owner_id')
10
+ .notNull()
11
+ .references(() => users.id, { onDelete: 'cascade' }),
12
+ themeTokens: jsonb('theme_tokens').$type(),
13
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
14
+ updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
15
+ }, (t) => [
16
+ index('idx_docs_sites_owner_id').on(t.ownerId),
17
+ ]);
18
+ export const docsVersions = pgTable('docs_versions', {
19
+ id: uuid('id').defaultRandom().primaryKey(),
20
+ siteId: uuid('site_id')
21
+ .notNull()
22
+ .references(() => docsSites.id, { onDelete: 'cascade' }),
23
+ version: varchar('version', { length: 32 }).notNull(),
24
+ isDefault: boolean('is_default').default(false).notNull(),
25
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
26
+ }, (t) => [
27
+ unique('docs_versions_site_version').on(t.siteId, t.version),
28
+ index('idx_docs_versions_site_id').on(t.siteId),
29
+ ]);
30
+ export const docsPages = pgTable('docs_pages', {
31
+ id: uuid('id').defaultRandom().primaryKey(),
32
+ versionId: uuid('version_id')
33
+ .notNull()
34
+ .references(() => docsVersions.id, { onDelete: 'cascade' }),
35
+ title: varchar('title', { length: 255 }).notNull(),
36
+ slug: varchar('slug', { length: 255 }).notNull(),
37
+ content: text('content').notNull(), // Raw markdown (Standing Rule #4)
38
+ sortOrder: integer('sort_order').default(0).notNull(),
39
+ // Self-referencing FK handled via relations; DB-level constraint added via migration
40
+ parentId: uuid('parent_id'),
41
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
42
+ updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
43
+ }, (t) => [
44
+ index('idx_docs_pages_version_id').on(t.versionId),
45
+ index('idx_docs_pages_parent_id').on(t.parentId),
46
+ ]);
47
+ export const docsNav = pgTable('docs_nav', {
48
+ id: uuid('id').defaultRandom().primaryKey(),
49
+ versionId: uuid('version_id')
50
+ .notNull()
51
+ .references(() => docsVersions.id, { onDelete: 'cascade' }),
52
+ structure: jsonb('structure').$type(),
53
+ createdAt: timestamp('created_at', { withTimezone: true }).defaultNow().notNull(),
54
+ updatedAt: timestamp('updated_at', { withTimezone: true }).defaultNow().notNull(),
55
+ });
56
+ // --- Relations ---
57
+ export const docsSitesRelations = relations(docsSites, ({ one, many }) => ({
58
+ owner: one(users, { fields: [docsSites.ownerId], references: [users.id] }),
59
+ versions: many(docsVersions),
60
+ }));
61
+ export const docsVersionsRelations = relations(docsVersions, ({ one, many }) => ({
62
+ site: one(docsSites, { fields: [docsVersions.siteId], references: [docsSites.id] }),
63
+ pages: many(docsPages),
64
+ nav: many(docsNav),
65
+ }));
66
+ export const docsPagesRelations = relations(docsPages, ({ one, many }) => ({
67
+ version: one(docsVersions, { fields: [docsPages.versionId], references: [docsVersions.id] }),
68
+ parent: one(docsPages, {
69
+ fields: [docsPages.parentId],
70
+ references: [docsPages.id],
71
+ relationName: 'pageHierarchy',
72
+ }),
73
+ children: many(docsPages, { relationName: 'pageHierarchy' }),
74
+ }));
75
+ export const docsNavRelations = relations(docsNav, ({ one }) => ({
76
+ version: one(docsVersions, { fields: [docsNav.versionId], references: [docsVersions.id] }),
77
+ }));
78
+ //# sourceMappingURL=docs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../src/docs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ export declare const userRoleEnum: import("drizzle-orm/pg-core").PgEnum<["member", "pro", "verified", "staff", "admin"]>;
2
+ export declare const userStatusEnum: import("drizzle-orm/pg-core").PgEnum<["active", "suspended", "deleted"]>;
3
+ export declare const profileVisibilityEnum: import("drizzle-orm/pg-core").PgEnum<["public", "members", "private"]>;
4
+ export declare const contentStatusEnum: import("drizzle-orm/pg-core").PgEnum<["draft", "published", "archived"]>;
5
+ export declare const contentTypeEnum: import("drizzle-orm/pg-core").PgEnum<["project", "article", "blog", "explainer"]>;
6
+ export declare const difficultyEnum: import("drizzle-orm/pg-core").PgEnum<["beginner", "intermediate", "advanced"]>;
7
+ export declare const contentVisibilityEnum: import("drizzle-orm/pg-core").PgEnum<["public", "members", "private"]>;
8
+ export declare const likeTargetTypeEnum: import("drizzle-orm/pg-core").PgEnum<["project", "article", "blog", "explainer", "comment", "post"]>;
9
+ export declare const commentTargetTypeEnum: import("drizzle-orm/pg-core").PgEnum<["project", "article", "blog", "explainer", "post", "lesson"]>;
10
+ export declare const bookmarkTargetTypeEnum: import("drizzle-orm/pg-core").PgEnum<["project", "article", "blog", "explainer", "learning_path"]>;
11
+ export declare const reportTargetTypeEnum: import("drizzle-orm/pg-core").PgEnum<["project", "article", "blog", "post", "comment", "user", "explainer"]>;
12
+ export declare const reportReasonEnum: import("drizzle-orm/pg-core").PgEnum<["spam", "harassment", "inappropriate", "copyright", "other"]>;
13
+ export declare const reportStatusEnum: import("drizzle-orm/pg-core").PgEnum<["pending", "reviewed", "resolved", "dismissed"]>;
14
+ export declare const notificationTypeEnum: import("drizzle-orm/pg-core").PgEnum<["like", "comment", "follow", "mention", "contest", "certificate", "hub", "system"]>;
15
+ export declare const hubTypeEnum: import("drizzle-orm/pg-core").PgEnum<["community", "product", "company"]>;
16
+ export declare const hubPrivacyEnum: import("drizzle-orm/pg-core").PgEnum<["public", "unlisted", "private"]>;
17
+ export declare const hubRoleEnum: import("drizzle-orm/pg-core").PgEnum<["owner", "admin", "moderator", "member"]>;
18
+ export declare const hubJoinPolicyEnum: import("drizzle-orm/pg-core").PgEnum<["open", "approval", "invite"]>;
19
+ export declare const hubMemberStatusEnum: import("drizzle-orm/pg-core").PgEnum<["pending", "active"]>;
20
+ export declare const postTypeEnum: import("drizzle-orm/pg-core").PgEnum<["text", "link", "share", "poll"]>;
21
+ export declare const productStatusEnum: import("drizzle-orm/pg-core").PgEnum<["active", "discontinued", "preview"]>;
22
+ export declare const productCategoryEnum: import("drizzle-orm/pg-core").PgEnum<["microcontroller", "sbc", "sensor", "actuator", "display", "communication", "power", "mechanical", "software", "tool", "other"]>;
23
+ export declare const lessonTypeEnum: import("drizzle-orm/pg-core").PgEnum<["article", "video", "quiz", "project", "explainer"]>;
24
+ export declare const contestStatusEnum: import("drizzle-orm/pg-core").PgEnum<["upcoming", "active", "judging", "completed"]>;
25
+ export declare const videoPlatformEnum: import("drizzle-orm/pg-core").PgEnum<["youtube", "vimeo", "other"]>;
26
+ export declare const filePurposeEnum: import("drizzle-orm/pg-core").PgEnum<["cover", "content", "avatar", "banner", "attachment"]>;
27
+ export declare const activityDirectionEnum: import("drizzle-orm/pg-core").PgEnum<["inbound", "outbound"]>;
28
+ export declare const activityStatusEnum: import("drizzle-orm/pg-core").PgEnum<["pending", "delivered", "failed", "processed"]>;
29
+ export declare const followRelationshipStatusEnum: import("drizzle-orm/pg-core").PgEnum<["pending", "accepted", "rejected"]>;
30
+ export declare const tagCategoryEnum: import("drizzle-orm/pg-core").PgEnum<["platform", "language", "framework", "topic", "general"]>;
31
+ //# sourceMappingURL=enums.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.d.ts","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,YAAY,uFAAuE,CAAC;AACjG,eAAO,MAAM,cAAc,0EAA4D,CAAC;AACxF,eAAO,MAAM,qBAAqB,wEAAiE,CAAC;AAGpG,eAAO,MAAM,iBAAiB,0EAA+D,CAAC;AAC9F,eAAO,MAAM,eAAe,mFAK1B,CAAC;AACH,eAAO,MAAM,cAAc,gFAAiE,CAAC;AAC7F,eAAO,MAAM,qBAAqB,wEAAiE,CAAC;AAGpG,eAAO,MAAM,kBAAkB,sGAO7B,CAAC;AACH,eAAO,MAAM,qBAAqB,qGAOhC,CAAC;AACH,eAAO,MAAM,sBAAsB,oGAMjC,CAAC;AACH,eAAO,MAAM,oBAAoB,8GAQ/B,CAAC;AACH,eAAO,MAAM,gBAAgB,qGAM3B,CAAC;AACH,eAAO,MAAM,gBAAgB,wFAK3B,CAAC;AACH,eAAO,MAAM,oBAAoB,2HAS/B,CAAC;AAGH,eAAO,MAAM,WAAW,2EAA0D,CAAC;AACnF,eAAO,MAAM,cAAc,yEAA2D,CAAC;AACvF,eAAO,MAAM,WAAW,iFAKtB,CAAC;AACH,eAAO,MAAM,iBAAiB,sEAI5B,CAAC;AACH,eAAO,MAAM,mBAAmB,6DAAqD,CAAC;AACtF,eAAO,MAAM,YAAY,yEAAyD,CAAC;AAGnF,eAAO,MAAM,iBAAiB,6EAAkE,CAAC;AACjG,eAAO,MAAM,mBAAmB,wKAY9B,CAAC;AAGH,eAAO,MAAM,cAAc,4FAMzB,CAAC;AAGH,eAAO,MAAM,iBAAiB,sFAK5B,CAAC;AAGH,eAAO,MAAM,iBAAiB,qEAA0D,CAAC;AAGzF,eAAO,MAAM,eAAe,8FAM1B,CAAC;AAGH,eAAO,MAAM,qBAAqB,+DAAwD,CAAC;AAC3F,eAAO,MAAM,kBAAkB,uFAK7B,CAAC;AACH,eAAO,MAAM,4BAA4B,2EAIvC,CAAC;AAGH,eAAO,MAAM,eAAe,iGAM1B,CAAC"}
package/dist/enums.js ADDED
@@ -0,0 +1,149 @@
1
+ import { pgEnum } from 'drizzle-orm/pg-core';
2
+ // --- Auth & Users ---
3
+ export const userRoleEnum = pgEnum('user_role', ['member', 'pro', 'verified', 'staff', 'admin']);
4
+ export const userStatusEnum = pgEnum('user_status', ['active', 'suspended', 'deleted']);
5
+ export const profileVisibilityEnum = pgEnum('profile_visibility', ['public', 'members', 'private']);
6
+ // --- Content ---
7
+ export const contentStatusEnum = pgEnum('content_status', ['draft', 'published', 'archived']);
8
+ export const contentTypeEnum = pgEnum('content_type', [
9
+ 'project',
10
+ 'article',
11
+ 'blog',
12
+ 'explainer',
13
+ ]);
14
+ export const difficultyEnum = pgEnum('difficulty', ['beginner', 'intermediate', 'advanced']);
15
+ export const contentVisibilityEnum = pgEnum('content_visibility', ['public', 'members', 'private']);
16
+ // --- Social ---
17
+ export const likeTargetTypeEnum = pgEnum('like_target_type', [
18
+ 'project',
19
+ 'article',
20
+ 'blog',
21
+ 'explainer',
22
+ 'comment',
23
+ 'post',
24
+ ]);
25
+ export const commentTargetTypeEnum = pgEnum('comment_target_type', [
26
+ 'project',
27
+ 'article',
28
+ 'blog',
29
+ 'explainer',
30
+ 'post',
31
+ 'lesson',
32
+ ]);
33
+ export const bookmarkTargetTypeEnum = pgEnum('bookmark_target_type', [
34
+ 'project',
35
+ 'article',
36
+ 'blog',
37
+ 'explainer',
38
+ 'learning_path',
39
+ ]);
40
+ export const reportTargetTypeEnum = pgEnum('report_target_type', [
41
+ 'project',
42
+ 'article',
43
+ 'blog',
44
+ 'post',
45
+ 'comment',
46
+ 'user',
47
+ 'explainer',
48
+ ]);
49
+ export const reportReasonEnum = pgEnum('report_reason', [
50
+ 'spam',
51
+ 'harassment',
52
+ 'inappropriate',
53
+ 'copyright',
54
+ 'other',
55
+ ]);
56
+ export const reportStatusEnum = pgEnum('report_status', [
57
+ 'pending',
58
+ 'reviewed',
59
+ 'resolved',
60
+ 'dismissed',
61
+ ]);
62
+ export const notificationTypeEnum = pgEnum('notification_type', [
63
+ 'like',
64
+ 'comment',
65
+ 'follow',
66
+ 'mention',
67
+ 'contest',
68
+ 'certificate',
69
+ 'hub',
70
+ 'system',
71
+ ]);
72
+ // --- Hubs ---
73
+ export const hubTypeEnum = pgEnum('hub_type', ['community', 'product', 'company']);
74
+ export const hubPrivacyEnum = pgEnum('hub_privacy', ['public', 'unlisted', 'private']);
75
+ export const hubRoleEnum = pgEnum('hub_role', [
76
+ 'owner',
77
+ 'admin',
78
+ 'moderator',
79
+ 'member',
80
+ ]);
81
+ export const hubJoinPolicyEnum = pgEnum('hub_join_policy', [
82
+ 'open',
83
+ 'approval',
84
+ 'invite',
85
+ ]);
86
+ export const hubMemberStatusEnum = pgEnum('hub_member_status', ['pending', 'active']);
87
+ export const postTypeEnum = pgEnum('post_type', ['text', 'link', 'share', 'poll']);
88
+ // --- Products ---
89
+ export const productStatusEnum = pgEnum('product_status', ['active', 'discontinued', 'preview']);
90
+ export const productCategoryEnum = pgEnum('product_category', [
91
+ 'microcontroller',
92
+ 'sbc',
93
+ 'sensor',
94
+ 'actuator',
95
+ 'display',
96
+ 'communication',
97
+ 'power',
98
+ 'mechanical',
99
+ 'software',
100
+ 'tool',
101
+ 'other',
102
+ ]);
103
+ // --- Learning ---
104
+ export const lessonTypeEnum = pgEnum('lesson_type', [
105
+ 'article',
106
+ 'video',
107
+ 'quiz',
108
+ 'project',
109
+ 'explainer',
110
+ ]);
111
+ // --- Contest ---
112
+ export const contestStatusEnum = pgEnum('contest_status', [
113
+ 'upcoming',
114
+ 'active',
115
+ 'judging',
116
+ 'completed',
117
+ ]);
118
+ // --- Video ---
119
+ export const videoPlatformEnum = pgEnum('video_platform', ['youtube', 'vimeo', 'other']);
120
+ // --- Files ---
121
+ export const filePurposeEnum = pgEnum('file_purpose', [
122
+ 'cover',
123
+ 'content',
124
+ 'avatar',
125
+ 'banner',
126
+ 'attachment',
127
+ ]);
128
+ // --- Federation ---
129
+ export const activityDirectionEnum = pgEnum('activity_direction', ['inbound', 'outbound']);
130
+ export const activityStatusEnum = pgEnum('activity_status', [
131
+ 'pending',
132
+ 'delivered',
133
+ 'failed',
134
+ 'processed',
135
+ ]);
136
+ export const followRelationshipStatusEnum = pgEnum('follow_relationship_status', [
137
+ 'pending',
138
+ 'accepted',
139
+ 'rejected',
140
+ ]);
141
+ // --- Tags ---
142
+ export const tagCategoryEnum = pgEnum('tag_category', [
143
+ 'platform',
144
+ 'language',
145
+ 'framework',
146
+ 'topic',
147
+ 'general',
148
+ ]);
149
+ //# sourceMappingURL=enums.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enums.js","sourceRoot":"","sources":["../src/enums.ts"],"names":[],"mappings":"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"}