diff --git a/cmd/consumer/cs.go b/cmd/consumer/cs.go index a3ba0e1..4e9c6a7 100644 --- a/cmd/consumer/cs.go +++ b/cmd/consumer/cs.go @@ -6,7 +6,8 @@ import ( "os" "os/signal" "smpp-transmitter/config" - "smpp-transmitter/pkg/data" + "smpp-transmitter/internal/models" + "smpp-transmitter/pkg/database" fl "smpp-transmitter/pkg/logger" "smpp-transmitter/pkg/mq" "smpp-transmitter/pkg/mq/rabbitmq" @@ -36,7 +37,7 @@ func run() error { } // Initialize database - db, err := data.InitDB(cfg.MysqlDSN) + db, err := database.InitMYSQL(cfg.MysqlDSN) if err != nil { logger.Error("Failed to connect to MySQL:", err) return err @@ -83,7 +84,7 @@ func startConsuming(consumer mq.Consumer, db *gorm.DB, logger fl.LogService) { } func handleMessage(ctx context.Context, body []byte, db *gorm.DB, logger fl.LogService) { - message := &data.Message{} + message := &models.Message{} if err := message.Convert(body); err != nil { logger.Error("Message cannot be converted", err) diff --git a/pkg/data/message.go b/internal/models/message.go similarity index 97% rename from pkg/data/message.go rename to internal/models/message.go index 95a40da..0ab140b 100644 --- a/pkg/data/message.go +++ b/internal/models/message.go @@ -1,4 +1,4 @@ -package data +package models import ( "context" diff --git a/pkg/database/mysql.go b/pkg/database/mysql.go new file mode 100644 index 0000000..8a3324a --- /dev/null +++ b/pkg/database/mysql.go @@ -0,0 +1,13 @@ +package database + +import ( + "gorm.io/driver/mysql" + "gorm.io/gorm" + "gorm.io/gorm/logger" +) + +func InitMYSQL(dsn string) (*gorm.DB, error) { + return gorm.Open(mysql.Open(dsn), &gorm.Config{ + Logger: logger.Default.LogMode(logger.Error), + }) +} diff --git a/pkg/mq/rabbitmq/consumer.go b/pkg/mq/rabbitmq/consumer.go index e10b6fe..61a7b2b 100644 --- a/pkg/mq/rabbitmq/consumer.go +++ b/pkg/mq/rabbitmq/consumer.go @@ -7,7 +7,7 @@ import ( "time" ) -type RabbitMQConsumer struct { +type rabbitMQConsumer struct { connection mq.Connection exchangeName string queueName string @@ -16,7 +16,7 @@ type RabbitMQConsumer struct { } func NewRabbitMQConsumer(url, exchangeName, queueName, routingKey string, prefetchCount int) mq.Consumer { - return &RabbitMQConsumer{ + return &rabbitMQConsumer{ connection: NewRabbitMQConnection(url), exchangeName: exchangeName, queueName: queueName, @@ -25,7 +25,7 @@ func NewRabbitMQConsumer(url, exchangeName, queueName, routingKey string, prefet } } -func (r *RabbitMQConsumer) Consume(handler mq.MessageHandler) { +func (r *rabbitMQConsumer) Consume(handler mq.MessageHandler) { for { if err := r.connect(); err != nil { log.Printf("Error connecting to RabbitMQ: %v. Retrying in 5 seconds...", err) @@ -42,7 +42,7 @@ func (r *RabbitMQConsumer) Consume(handler mq.MessageHandler) { } } -func (r *RabbitMQConsumer) connect() error { +func (r *rabbitMQConsumer) connect() error { if err := r.connection.Connect(); err != nil { return err } @@ -69,7 +69,7 @@ func (r *RabbitMQConsumer) connect() error { return nil } -func (r *RabbitMQConsumer) consumeMessages(handler mq.MessageHandler) error { +func (r *rabbitMQConsumer) consumeMessages(handler mq.MessageHandler) error { channel, err := r.connection.Channel() if err != nil { return err