forked from ebhomengo/niki
refactor app.go file
This commit is contained in:
parent
7df63bd36f
commit
12af65bcd4
|
|
@ -4,6 +4,13 @@ redis:
|
||||||
password: ""
|
password: ""
|
||||||
db: 0
|
db: 0
|
||||||
|
|
||||||
|
mysql:
|
||||||
|
port: 3306
|
||||||
|
host: localhost
|
||||||
|
db_name: niki_db
|
||||||
|
username: niki
|
||||||
|
password: nikiappt0lk2o20
|
||||||
|
|
||||||
repo:
|
repo:
|
||||||
cache_kart_key_prefix: "shopping-basket-cart:user_id"
|
cache_kart_key_prefix: "shopping-basket-cart:user_id"
|
||||||
cache_ttl: 864000s # 24h
|
cache_ttl: 864000s # 24h
|
||||||
|
|
|
||||||
|
|
@ -17,8 +17,8 @@ type DB struct {
|
||||||
config Config
|
config Config
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewDB(db *mysql.DB) DB {
|
func NewDB(db *mysql.DB, cfg Config) DB {
|
||||||
return DB{db: db}
|
return DB{db: db, config: cfg}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d DB) getCart(ctx context.Context, tx *sql.Tx, query string, by types.ID) (entity.Cart, error) {
|
func (d DB) getCart(ctx context.Context, tx *sql.Tx, query string, by types.ID) (entity.Cart, error) {
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ import (
|
||||||
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
||||||
"git.gocasts.ir/ebhomengo/niki/domain/shoppingbasket/repository"
|
"git.gocasts.ir/ebhomengo/niki/domain/shoppingbasket/repository"
|
||||||
"git.gocasts.ir/ebhomengo/niki/domain/shoppingbasket/service"
|
"git.gocasts.ir/ebhomengo/niki/domain/shoppingbasket/service"
|
||||||
|
mysql2 "git.gocasts.ir/ebhomengo/niki/pkg/database/mysql"
|
||||||
"git.gocasts.ir/ebhomengo/niki/pkg/httpserver"
|
"git.gocasts.ir/ebhomengo/niki/pkg/httpserver"
|
||||||
"git.gocasts.ir/ebhomengo/niki/pkg/logger"
|
"git.gocasts.ir/ebhomengo/niki/pkg/logger"
|
||||||
"git.gocasts.ir/ebhomengo/niki/shoppingbasketapp/delivery/http"
|
"git.gocasts.ir/ebhomengo/niki/shoppingbasketapp/delivery/http"
|
||||||
|
|
@ -27,7 +28,12 @@ type Application struct {
|
||||||
func Setup(ctx context.Context, cfg Config) (Application, error) {
|
func Setup(ctx context.Context, cfg Config) (Application, error) {
|
||||||
|
|
||||||
adapter := redis.New(cfg.Redis)
|
adapter := redis.New(cfg.Redis)
|
||||||
repo := repository.New(adapter.Client(), cfg.Repo)
|
cache := repository.NewCache(adapter, cfg.Repo)
|
||||||
|
|
||||||
|
mysql := mysql2.New(cfg.Mysql)
|
||||||
|
db := repository.NewDB(mysql, cfg.Repo)
|
||||||
|
|
||||||
|
repo := repository.New(db, cache)
|
||||||
|
|
||||||
validator := service.NewValidate()
|
validator := service.NewValidate()
|
||||||
svc := service.New(validator, repo)
|
svc := service.New(validator, repo)
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,14 @@ package shoppingbasketapp
|
||||||
import (
|
import (
|
||||||
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
||||||
"git.gocasts.ir/ebhomengo/niki/domain/shoppingbasket/repository"
|
"git.gocasts.ir/ebhomengo/niki/domain/shoppingbasket/repository"
|
||||||
|
"git.gocasts.ir/ebhomengo/niki/pkg/database/mysql"
|
||||||
"git.gocasts.ir/ebhomengo/niki/pkg/httpserver"
|
"git.gocasts.ir/ebhomengo/niki/pkg/httpserver"
|
||||||
logger "git.gocasts.ir/ebhomengo/niki/pkg/logger"
|
logger "git.gocasts.ir/ebhomengo/niki/pkg/logger"
|
||||||
)
|
)
|
||||||
|
|
||||||
type Config struct {
|
type Config struct {
|
||||||
Redis redis.Config `koanf:"redis" json:"redis"`
|
Redis redis.Config `koanf:"redis" json:"redis"`
|
||||||
|
Mysql mysql.Config `koanf:"mysql" json:"mysql"`
|
||||||
Repo repository.Config `koanf:"repo" json:"repo"`
|
Repo repository.Config `koanf:"repo" json:"repo"`
|
||||||
HTTPServer httpserver.Config `koanf:"http_server" json:"http_server"`
|
HTTPServer httpserver.Config `koanf:"http_server" json:"http_server"`
|
||||||
Logger logger.Config `koanf:"logger" json:"logger"`
|
Logger logger.Config `koanf:"logger" json:"logger"`
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue