[TSM.ID].[11031972] PXE : Platform X Ecosystem I [118 Module -LIVE-]

This commit is contained in:
TSM.ID
2026-05-25 03:50:05 +07:00
commit e820143b3c
673 changed files with 101320 additions and 0 deletions
+129
View File
@@ -0,0 +1,129 @@
import { pgTable, text, timestamp, boolean, uuid } from 'drizzle-orm/pg-core';
export const tenants = pgTable('tenants', {
id: uuid('id').defaultRandom().primaryKey(),
name: text('name').notNull(),
isActive: boolean('is_active').default(true),
packageId: uuid('package_id').references(() => saasPackages.id),
licenses: text('licenses').default('{}').notNull(),
licenseNumber: text('license_number').unique(),
allowCrossGroup: boolean('allow_cross_group').default(false).notNull(),
brandColor: text('brand_color').default('#0b5cff'), // Zoom Blue
platformName: text('platform_name').default('JUMPA.ID'),
mediaEngineStrategy: text('media_engine_strategy').default('XCU_GLOBAL_MESH').notNull(),
chatEngineStrategy: text('chat_engine_strategy').default('XTM_GLOBAL_MESH').notNull(),
securityTier: text('security_tier').default('STANDARD').notNull(), // STANDARD | SOVEREIGN
byokEnabled: boolean('byok_enabled').default(false).notNull(),
byokKey: text('byok_key'),
createdAt: timestamp('created_at').defaultNow().notNull(),
});
export const users = pgTable('users', {
id: uuid('id').defaultRandom().primaryKey(),
tenantId: uuid('tenant_id').references(() => tenants.id).notNull(),
email: text('email').notNull().unique(),
passwordHash: text('password_hash').notNull(),
role: text('role').default('user').notNull(),
licenses: text('licenses'), // User-specific override
byokEnabled: boolean('byok_enabled').default(false).notNull(),
byokKey: text('byok_key'),
createdAt: timestamp('created_at').defaultNow().notNull(),
});
export const messages = pgTable('messages', {
id: uuid('id').defaultRandom().primaryKey(),
room: text('room').notNull(),
sender: text('sender').notNull(),
content: text('content').notNull(),
status: text('status').default('sent').notNull(),
isEdited: boolean('is_edited').default(false).notNull(),
createdAt: timestamp('created_at').defaultNow().notNull(),
});
export const chatStatuses = pgTable('chat_statuses', {
id: uuid('id').defaultRandom().primaryKey(),
tenantId: uuid('tenant_id').references(() => tenants.id),
sender: text('sender').notNull(),
content: text('content').notNull(),
visibility: text('visibility').default('tenant').notNull(), // 'global', 'tenant'
expiresAt: timestamp('expires_at').notNull(),
createdAt: timestamp('created_at').defaultNow().notNull(),
});
export const chatBroadcasts = pgTable('chat_broadcasts', {
id: uuid('id').defaultRandom().primaryKey(),
tenantId: uuid('tenant_id').references(() => tenants.id),
senderName: text('sender_name').notNull(), // Usually the user's name or JUMPA Bot
content: text('content').notNull(),
targets: text('targets').notNull(), // JSON string of targets (rooms/users)
scheduledAt: timestamp('scheduled_at').notNull(),
isSent: boolean('is_sent').default(false).notNull(),
createdAt: timestamp('created_at').defaultNow().notNull(),
});
export const guestInvites = pgTable('guest_invites', {
id: uuid('id').defaultRandom().primaryKey(),
room: text('room').notNull(),
hostId: text('host_id').notNull(),
pin: text('pin').notNull(),
isUsed: boolean('is_used').default(false).notNull(),
createdAt: timestamp('created_at').defaultNow().notNull(),
});
export const saasPackages = pgTable('saas_packages', {
id: uuid('id').defaultRandom().primaryKey(),
name: text('name').notNull(),
price: text('price').notNull(),
features: text('features').default('[]').notNull(),
isHidden: boolean('is_hidden').default(false).notNull(),
isActive: boolean('is_active').default(true).notNull(),
createdAt: timestamp('created_at').defaultNow().notNull(),
});
export const quantumLogs = pgTable('quantum_logs', {
id: uuid('id').defaultRandom().primaryKey(),
tenantId: uuid('tenant_id').references(() => tenants.id), // Added for PANOPTICON isolation
actor: text('actor').notNull(),
action: text('action').notNull(),
targetId: text('target_id').notNull(),
ipAddress: text('ip_address'),
userAgent: text('user_agent'),
nanoTimestamp: timestamp('nano_timestamp').defaultNow().notNull(),
});
// PANOPTICON: Ultra-detailed telemetry table for XCU QUIC MoQ
export const networkTelemetry = pgTable('network_telemetry', {
id: uuid('id').defaultRandom().primaryKey(),
tenantId: uuid('tenant_id').references(() => tenants.id),
userId: uuid('user_id').references(() => users.id),
endpoint: text('endpoint').notNull(),
method: text('method').notNull(),
responseTimeMs: text('response_time_ms').notNull(), // using text to avoid integer limits for nano precision
statusCode: text('status_code').notNull(),
ipAddress: text('ip_address').notNull(),
geoRegion: text('geo_region'),
trafficBytes: text('traffic_bytes').notNull(),
timestamp: timestamp('timestamp').defaultNow().notNull(),
});
// PANOPTICON: Live Kill Switch Registry
export const liveKillSwitches = pgTable('live_kill_switches', {
id: uuid('id').defaultRandom().primaryKey(),
tenantId: uuid('tenant_id').references(() => tenants.id),
targetType: text('target_type').notNull(), // 'USER', 'TENANT', 'ROOM'
targetId: text('target_id').notNull(),
reason: text('reason'),
issuedBy: text('issued_by').notNull(), // actor email or ID
expiresAt: timestamp('expires_at'), // null means permanent block
createdAt: timestamp('created_at').defaultNow().notNull(),
});
export const systemFeatures = pgTable('system_features', {
id: uuid('id').defaultRandom().primaryKey(),
module: text('module').default('IAM').notNull(),
key: text('key').notNull().unique(),
name: text('name').notNull(),
description: text('description'),
defaultState: text('default_state').default('UPSELL').notNull(), // UPSELL, HIDDEN, GRANTED
createdAt: timestamp('created_at').defaultNow().notNull(),
});