@aion2hub/shared-schemas 1.1.15 → 1.1.17

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.
@@ -1 +0,0 @@
1
- {"version":3,"file":"users-schema.d.ts","sourceRoot":"","sources":["../src/users-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmChB,CAAC;AAGH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwB1B,CAAC;AAEH,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmBjB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4BnB,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBnB,CAAC;AAEH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBjB,CAAC;AAGJ,eAAO,MAAM,cAAc;;;;;EAKxB,CAAC;AAEJ,eAAO,MAAM,eAAe;;;;EAOzB,CAAC;AAEJ,eAAO,MAAM,iBAAiB;;;;EAO3B,CAAC;AAEJ,eAAO,MAAM,iBAAiB;;;;;;EAkB3B,CAAC;AAEJ,eAAO,MAAM,gBAAgB;;;;EAa1B,CAAC"}
@@ -1,193 +0,0 @@
1
- "use strict";
2
- /**
3
- * User Management Database Schema
4
- * This file contains ONLY user-related tables for the aion2hub_users database
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ratingsRelations = exports.commentsRelations = exports.articlesRelations = exports.buildsRelations = exports.usersRelations = exports.ratings = exports.comments = exports.articles = exports.builds = exports.profilePictures = exports.users = 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
- // USER MANAGEMENT SCHEMAS - AION2HUB_USERS DATABASE ONLY
13
- // =============================================================================
14
- // User Management Schemas (Firebase Auth Integration)
15
- exports.users = (0, pg_core_1.pgTable)('users', {
16
- id: (0, pg_core_1.uuid)('id').primaryKey().defaultRandom(),
17
- firebaseUid: (0, pg_core_1.text)('firebase_uid').notNull().unique(), // Firebase User ID
18
- username: (0, pg_core_1.text)('username').notNull().unique(),
19
- email: (0, pg_core_1.text)('email').notNull().unique(),
20
- role: (0, pg_core_1.text)('role', { enum: ['USER', 'MODERATOR', 'ADMIN'] }).notNull().default('USER'),
21
- isActive: (0, pg_core_1.boolean)('is_active').notNull().default(true),
22
- isVerified: (0, pg_core_1.boolean)('is_verified').notNull().default(false), // Synced from Firebase
23
- // Profile information
24
- displayName: (0, pg_core_1.text)('display_name'),
25
- avatar: (0, pg_core_1.text)('avatar'), // URL to profile picture
26
- bio: (0, pg_core_1.text)('bio'), // Max 500 characters
27
- location: (0, pg_core_1.text)('location'),
28
- website: (0, pg_core_1.text)('website'),
29
- // Gaming preferences and interests
30
- gamingInterests: (0, pg_core_1.text)('gaming_interests'), // JSON array of interests
31
- preferredLanguage: (0, pg_core_1.text)('preferred_language').default('en'),
32
- timezone: (0, pg_core_1.text)('timezone'),
33
- // Game-related information
34
- favoriteClass: (0, pg_core_1.text)('favorite_class'),
35
- gameServer: (0, pg_core_1.text)('game_server'),
36
- guildName: (0, pg_core_1.text)('guild_name'),
37
- // Profile settings
38
- profileVisibility: (0, pg_core_1.text)('profile_visibility', { enum: ['PUBLIC', 'PRIVATE', 'FRIENDS'] }).default('PUBLIC'),
39
- allowMessages: (0, pg_core_1.boolean)('allow_messages').default(true),
40
- showOnlineStatus: (0, pg_core_1.boolean)('show_online_status').default(true),
41
- // Timestamps
42
- createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
43
- updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
44
- lastLogin: (0, pg_core_1.timestamp)('last_login')
45
- });
46
- // Profile Pictures Management
47
- exports.profilePictures = (0, pg_core_1.pgTable)('profile_pictures', {
48
- id: (0, pg_core_1.text)('id').primaryKey().$defaultFn(() => (0, crypto_1.randomUUID)()),
49
- userId: (0, pg_core_1.text)('user_id').notNull().references(() => exports.users.id, { onDelete: 'cascade' }),
50
- // File information
51
- filename: (0, pg_core_1.text)('filename').notNull(),
52
- originalName: (0, pg_core_1.text)('original_name').notNull(),
53
- mimeType: (0, pg_core_1.text)('mime_type').notNull(),
54
- fileSize: (0, pg_core_1.integer)('file_size').notNull(), // in bytes
55
- // Image dimensions
56
- width: (0, pg_core_1.integer)('width'),
57
- height: (0, pg_core_1.integer)('height'),
58
- // File paths
59
- filePath: (0, pg_core_1.text)('file_path').notNull(), // Local storage path
60
- thumbnailPath: (0, pg_core_1.text)('thumbnail_path'), // Optimized thumbnail
61
- // Status
62
- isActive: (0, pg_core_1.boolean)('is_active').notNull().default(true),
63
- // Timestamps
64
- createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
65
- updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow()
66
- });
67
- exports.builds = (0, pg_core_1.pgTable)('builds', {
68
- id: (0, pg_core_1.text)('id').primaryKey().$defaultFn(() => (0, crypto_1.randomUUID)()),
69
- name: (0, pg_core_1.text)('name').notNull(),
70
- description: (0, pg_core_1.text)('description'),
71
- type: (0, pg_core_1.text)('type', { enum: ['GEAR', 'SKILL', 'HYBRID'] }).notNull(),
72
- classType: (0, pg_core_1.text)('class_type').notNull(),
73
- data: (0, pg_core_1.json)('data').notNull(), // Flexible JSON data for different build types
74
- isPublic: (0, pg_core_1.boolean)('is_public').notNull().default(true),
75
- // Statistics
76
- views: (0, pg_core_1.integer)('views').notNull().default(0),
77
- likes: (0, pg_core_1.integer)('likes').notNull().default(0),
78
- // Timestamps
79
- createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
80
- updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
81
- // Relations
82
- authorId: (0, pg_core_1.text)('author_id').notNull().references(() => exports.users.id, { onDelete: 'cascade' })
83
- });
84
- exports.articles = (0, pg_core_1.pgTable)('articles', {
85
- id: (0, pg_core_1.text)('id').primaryKey().$defaultFn(() => (0, crypto_1.randomUUID)()),
86
- title: (0, pg_core_1.text)('title').notNull(),
87
- slug: (0, pg_core_1.text)('slug').notNull().unique(),
88
- content: (0, pg_core_1.text)('content').notNull(),
89
- excerpt: (0, pg_core_1.text)('excerpt'),
90
- category: (0, pg_core_1.text)('category').notNull(),
91
- tags: (0, pg_core_1.text)('tags').array().notNull().default([]),
92
- status: (0, pg_core_1.text)('status', { enum: ['DRAFT', 'PUBLISHED', 'ARCHIVED'] }).notNull().default('DRAFT'),
93
- // SEO
94
- metaTitle: (0, pg_core_1.text)('meta_title'),
95
- metaDescription: (0, pg_core_1.text)('meta_description'),
96
- // Media
97
- featuredImage: (0, pg_core_1.text)('featured_image'),
98
- // Statistics
99
- views: (0, pg_core_1.integer)('views').notNull().default(0),
100
- likes: (0, pg_core_1.integer)('likes').notNull().default(0),
101
- // Timestamps
102
- createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
103
- updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
104
- publishedAt: (0, pg_core_1.timestamp)('published_at'),
105
- // Relations
106
- authorId: (0, pg_core_1.text)('author_id').notNull().references(() => exports.users.id, { onDelete: 'cascade' })
107
- });
108
- exports.comments = (0, pg_core_1.pgTable)('comments', {
109
- id: (0, pg_core_1.text)('id').primaryKey().$defaultFn(() => (0, crypto_1.randomUUID)()),
110
- content: (0, pg_core_1.text)('content').notNull(),
111
- isApproved: (0, pg_core_1.boolean)('is_approved').notNull().default(false),
112
- // Timestamps
113
- createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
114
- updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
115
- // Relations
116
- authorId: (0, pg_core_1.text)('author_id').notNull().references(() => exports.users.id, { onDelete: 'cascade' }),
117
- buildId: (0, pg_core_1.text)('build_id').references(() => exports.builds.id, { onDelete: 'cascade' }),
118
- articleId: (0, pg_core_1.text)('article_id').references(() => exports.articles.id, { onDelete: 'cascade' }),
119
- // Self-referencing for replies
120
- parentId: (0, pg_core_1.text)('parent_id').references(() => exports.comments.id)
121
- });
122
- exports.ratings = (0, pg_core_1.pgTable)('ratings', {
123
- id: (0, pg_core_1.text)('id').primaryKey().$defaultFn(() => (0, crypto_1.randomUUID)()),
124
- value: (0, pg_core_1.integer)('value').notNull(), // 1-5 stars
125
- // Timestamps
126
- createdAt: (0, pg_core_1.timestamp)('created_at').notNull().defaultNow(),
127
- updatedAt: (0, pg_core_1.timestamp)('updated_at').notNull().defaultNow(),
128
- // Relations
129
- userId: (0, pg_core_1.text)('user_id').notNull().references(() => exports.users.id, { onDelete: 'cascade' }),
130
- buildId: (0, pg_core_1.text)('build_id').references(() => exports.builds.id, { onDelete: 'cascade' }),
131
- articleId: (0, pg_core_1.text)('article_id').references(() => exports.articles.id, { onDelete: 'cascade' })
132
- }, (table) => ({
133
- // Ensure one rating per user per item
134
- userBuildUnique: (0, pg_core_1.unique)().on(table.userId, table.buildId),
135
- userArticleUnique: (0, pg_core_1.unique)().on(table.userId, table.articleId)
136
- }));
137
- // User Management Relations (Firebase Auth - no sessions table needed)
138
- exports.usersRelations = (0, drizzle_orm_1.relations)(exports.users, ({ many }) => ({
139
- builds: many(exports.builds),
140
- articles: many(exports.articles),
141
- comments: many(exports.comments),
142
- ratings: many(exports.ratings)
143
- }));
144
- exports.buildsRelations = (0, drizzle_orm_1.relations)(exports.builds, ({ one, many }) => ({
145
- author: one(exports.users, {
146
- fields: [exports.builds.authorId],
147
- references: [exports.users.id]
148
- }),
149
- comments: many(exports.comments),
150
- ratings: many(exports.ratings)
151
- }));
152
- exports.articlesRelations = (0, drizzle_orm_1.relations)(exports.articles, ({ one, many }) => ({
153
- author: one(exports.users, {
154
- fields: [exports.articles.authorId],
155
- references: [exports.users.id]
156
- }),
157
- comments: many(exports.comments),
158
- ratings: many(exports.ratings)
159
- }));
160
- exports.commentsRelations = (0, drizzle_orm_1.relations)(exports.comments, ({ one, many }) => ({
161
- author: one(exports.users, {
162
- fields: [exports.comments.authorId],
163
- references: [exports.users.id]
164
- }),
165
- build: one(exports.builds, {
166
- fields: [exports.comments.buildId],
167
- references: [exports.builds.id]
168
- }),
169
- article: one(exports.articles, {
170
- fields: [exports.comments.articleId],
171
- references: [exports.articles.id]
172
- }),
173
- parent: one(exports.comments, {
174
- fields: [exports.comments.parentId],
175
- references: [exports.comments.id]
176
- }),
177
- replies: many(exports.comments)
178
- }));
179
- exports.ratingsRelations = (0, drizzle_orm_1.relations)(exports.ratings, ({ one }) => ({
180
- user: one(exports.users, {
181
- fields: [exports.ratings.userId],
182
- references: [exports.users.id]
183
- }),
184
- build: one(exports.builds, {
185
- fields: [exports.ratings.buildId],
186
- references: [exports.builds.id]
187
- }),
188
- article: one(exports.articles, {
189
- fields: [exports.ratings.articleId],
190
- references: [exports.articles.id]
191
- })
192
- }));
193
- //# sourceMappingURL=users-schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"users-schema.js","sourceRoot":"","sources":["../src/users-schema.ts"],"names":[],"mappings":"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"}