@@ -0,0 +1,43 @@
|
||||
package sav
|
||||
|
||||
import (
|
||||
"github.com/google/uuid"
|
||||
"github.com/omnex/control-plane/api/internal/auth"
|
||||
"gorm.io/gorm"
|
||||
)
|
||||
|
||||
type Store interface {
|
||||
ContactSupportByUser(username, telegram, sujet, message string) (Contact, error)
|
||||
GetMessage() ([]Contact, error)
|
||||
}
|
||||
|
||||
type GormStore struct {
|
||||
db *gorm.DB
|
||||
}
|
||||
|
||||
func NewGormStore(db *gorm.DB) *GormStore {
|
||||
return &GormStore{db: db}
|
||||
}
|
||||
|
||||
func (s *GormStore) ContactSupportByUser(username, telegram, sujet, message string) (Contact, error) {
|
||||
contact := Contact{
|
||||
ID: uuid.NewString(),
|
||||
Username: auth.NormalizeUsername(username),
|
||||
Telegram: auth.NormalizeUsername(telegram),
|
||||
Sujet: sujet,
|
||||
Message: message,
|
||||
}
|
||||
|
||||
if err := s.db.Create(&contact).Error; err != nil {
|
||||
return Contact{}, err
|
||||
}
|
||||
return contact, nil
|
||||
}
|
||||
|
||||
func (s *GormStore) GetMessage() ([]Contact, error) {
|
||||
var contacts []Contact
|
||||
if err := s.db.Find(&contacts).Error; err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return contacts, nil
|
||||
}
|
||||
Reference in New Issue
Block a user