@wearesage/schema
Version:
A flexible schema definition and validation system for TypeScript with multi-database support
72 lines (63 loc) • 2.31 kB
text/typescript
import "reflect-metadata";
import { universalEntityService } from './services/index';
import { Message } from '../../../api/src/entities/Message';
import { Conversation } from '../../../api/src/entities/Conversation';
import { User } from '../../../api/src/entities/User';
import { Space } from '../../../api/src/entities/Space';
// Register entities
universalEntityService.registerEntities([Message, Conversation, User, Space]);
async function debugRelationships() {
console.log('🔍 DEBUG: Testing relationship creation...');
// Create system context
const systemContext = {
user: {
id: 'system',
username: 'system',
email: 'system@wearesage.com',
role: 999,
permissions: ['admin', 'user']
},
requestId: 'debug-' + Date.now()
};
try {
// 1. Create a user
console.log('1. Creating user...');
const user = await universalEntityService.create(User, {
name: 'Test User',
email: 'test@example.com',
status: 'active'
}, systemContext);
console.log('✅ User created:', user);
// 2. Create a conversation
console.log('2. Creating conversation...');
const conversation = await universalEntityService.create(Conversation, {
name: 'Test Conversation',
spaceType: 'chat',
visibility: 'private',
ownedByType: 'user',
ownedById: user.id,
model: 'test-model',
temperature: 0.7,
conversationType: 'chat',
status: 'active'
}, systemContext);
console.log('✅ Conversation created:', conversation);
// 3. Create a message with conversation relationship
console.log('3. Creating message with conversation relationship...');
const message = await universalEntityService.create(Message, {
content: 'Hello, this is a test message',
role: 'user',
messageIndex: 0,
conversation: conversation // This is the key relationship
}, systemContext);
console.log('✅ Message created:', message);
console.log('🎉 All entities created successfully with relationships!');
} catch (error) {
console.error('💥 Error during relationship creation:', error);
console.error('Error details:', {
message: error.message,
stack: error.stack
});
}
}
debugRelationships().catch(console.error);