package repositories import ( "lost-and-found/internal/models" "gorm.io/gorm" ) type ChatRepository struct { db *gorm.DB } func NewChatRepository(db *gorm.DB) *ChatRepository { return &ChatRepository{db: db} } func (r *ChatRepository) Create(chat *models.ChatMessage) error { return r.db.Create(chat).Error } func (r *ChatRepository) FindByUserID(userID uint, limit int) ([]models.ChatMessage, error) { var chats []models.ChatMessage err := r.db.Where("user_id = ?", userID). Order("created_at DESC"). Limit(limit). Find(&chats).Error return chats, err } func (r *ChatRepository) GetUserChatHistory(userID uint, limit int) ([]models.ChatMessage, error) { var chats []models.ChatMessage err := r.db.Where("user_id = ?", userID). Order("created_at DESC"). Limit(limit). Find(&chats).Error return chats, err } func (r *ChatRepository) DeleteUserHistory(userID uint) error { return r.db.Where("user_id = ?", userID).Delete(&models.ChatMessage{}).Error }