31 lines
		
	
	
		
			453 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			31 lines
		
	
	
		
			453 B
		
	
	
	
		
			Go
		
	
	
	
	
	
| package models
 | |
| 
 | |
| import "time"
 | |
| 
 | |
| type User struct {
 | |
| 	ID    int64
 | |
| 	Email string
 | |
| }
 | |
| 
 | |
| type Conversation struct {
 | |
| 	ID       int64
 | |
| 	OwnerID  int64
 | |
| 	Title    string
 | |
| 	Created  time.Time
 | |
| }
 | |
| 
 | |
| type Node struct {
 | |
| 	ID             int64
 | |
| 	ConversationID int64
 | |
| 	AuthorKind     string // 'user' | 'assistant'
 | |
| 	Content        string
 | |
| 	Created        time.Time
 | |
| }
 | |
| 
 | |
| type Branch struct {
 | |
| 	ID             int64
 | |
| 	ConversationID int64
 | |
| 	Name           string
 | |
| 	HeadNodeID     int64
 | |
| }
 |