forked from ebhomengo/niki
create account_app and move delivery layer to account_app
This commit is contained in:
parent
590ed0bb07
commit
764c1714d6
|
|
@ -1,21 +1,20 @@
|
|||
package account
|
||||
package accountapp
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
"git.gocasts.ir/ebhomengo/niki/accountapp/delivery/grpc"
|
||||
"git.gocasts.ir/ebhomengo/niki/adapter/kavenegar"
|
||||
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
||||
grpcAccountDelivery "git.gocasts.ir/ebhomengo/niki/domain/account/delivery/grpc"
|
||||
"git.gocasts.ir/ebhomengo/niki/domain/account/repository/mysql"
|
||||
redisRepo "git.gocasts.ir/ebhomengo/niki/domain/account/repository/redis"
|
||||
"git.gocasts.ir/ebhomengo/niki/domain/account/service"
|
||||
database "git.gocasts.ir/ebhomengo/niki/pkg/database/mysql"
|
||||
rpcPkg "git.gocasts.ir/ebhomengo/niki/pkg/grpc"
|
||||
|
||||
"git.gocasts.ir/ebhomengo/niki/domain/account/service"
|
||||
)
|
||||
|
||||
type Application struct {
|
||||
GrpcServer grpcAccountDelivery.Server
|
||||
GrpcServer grpc.Server
|
||||
Config Config
|
||||
accountSvc service.Service
|
||||
}
|
||||
|
|
@ -27,10 +26,12 @@ func Setup(cfg Config, db *database.DB) Application {
|
|||
smsAdapter := kavenegar.New(cfg.Kavenegar)
|
||||
accountSvc := service.NewService(cfg.accountSvc, otpRepo, mysqlRepo, smsAdapter)
|
||||
|
||||
rpcServer := rpcPkg.New(cfg.grpcServerCfg)
|
||||
|
||||
return Application{
|
||||
accountSvc: accountSvc,
|
||||
Config: cfg,
|
||||
GrpcServer: grpcAccountDelivery.New(rpcPkg.New(), cfg.grpcServerCfg),
|
||||
GrpcServer: grpc.New(rpcServer, accountSvc),
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,12 +1,11 @@
|
|||
package account
|
||||
package accountapp
|
||||
|
||||
import (
|
||||
"git.gocasts.ir/ebhomengo/niki/adapter/kavenegar"
|
||||
"git.gocasts.ir/ebhomengo/niki/adapter/redis"
|
||||
server "git.gocasts.ir/ebhomengo/niki/domain/account/delivery/grpc"
|
||||
"git.gocasts.ir/ebhomengo/niki/domain/account/service"
|
||||
"git.gocasts.ir/ebhomengo/niki/pkg/database/mysql"
|
||||
client "git.gocasts.ir/ebhomengo/niki/pkg/grpc"
|
||||
"git.gocasts.ir/ebhomengo/niki/pkg/grpc"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
|
|
@ -14,7 +13,7 @@ type Config struct {
|
|||
Redis redis.Config `koanf:"redis_db"`
|
||||
MysqlDB mysql.Config `koanf:"mysql_db"`
|
||||
Kavenegar kavenegar.Config `koanf:"kavenegar"`
|
||||
grpcServerCfg server.Config `koanf:"grpc_server"`
|
||||
grpcClientCfg client.Config `koanf:"grpc_client"`
|
||||
grpcServerCfg grpc.Config `koanf:"grpc_server"`
|
||||
grpcClientCfg grpc.Client `koanf:"grpc_client"`
|
||||
PathOfMigration string `koanf:"path_of_migration"`
|
||||
}
|
||||
|
|
@ -8,31 +8,24 @@ import (
|
|||
|
||||
pb "git.gocasts.ir/ebhomengo/niki/contract/goprotobuf/account"
|
||||
"git.gocasts.ir/ebhomengo/niki/domain/account/service"
|
||||
|
||||
"git.gocasts.ir/ebhomengo/niki/pkg/grpc"
|
||||
)
|
||||
|
||||
type Config struct {
|
||||
Port int `koanf:"port"`
|
||||
Network string `koanf:"network"`
|
||||
}
|
||||
|
||||
type Server struct {
|
||||
server grpc.RPCServer
|
||||
config Config
|
||||
svcAccount service.Service
|
||||
server *grpc.RPCServer
|
||||
accountSvc service.Service
|
||||
pb.UnimplementedAccountServiceServer
|
||||
}
|
||||
|
||||
func New(server grpc.RPCServer, cfg Config) Server {
|
||||
func New(server *grpc.RPCServer, accountSvc service.Service) Server {
|
||||
return Server{
|
||||
server: server,
|
||||
config: cfg,
|
||||
server: server,
|
||||
accountSvc: accountSvc,
|
||||
}
|
||||
}
|
||||
|
||||
func (s Server) SendOtp(ctx context.Context, req *pb.SendOtpRequest) (*pb.SendOtpResponse, error) {
|
||||
err := s.svcAccount.SendOTP(ctx, req.PhoneNumber)
|
||||
err := s.accountSvc.SendOTP(ctx, req.PhoneNumber)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -42,7 +35,7 @@ func (s Server) SendOtp(ctx context.Context, req *pb.SendOtpRequest) (*pb.SendOt
|
|||
|
||||
func (s Server) LoginOrRegister(ctx context.Context, req *pb.LoginOrRegisterRequest) (*pb.LoginOrRegisterResponse, error) {
|
||||
res := &pb.LoginOrRegisterResponse{}
|
||||
driver, err := s.svcAccount.LoginOrRegisterDriver(ctx, req.PhoneNumber, req.VerifyCode)
|
||||
driver, err := s.accountSvc.LoginOrRegisterDriver(ctx, req.PhoneNumber, req.VerifyCode)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
|
@ -57,7 +50,7 @@ func (s Server) LoginOrRegister(ctx context.Context, req *pb.LoginOrRegisterRequ
|
|||
}
|
||||
|
||||
func (s Server) Start() error {
|
||||
listener, err := net.Listen(s.config.Network, fmt.Sprintf(":%d", s.config.Port))
|
||||
listener, err := net.Listen(s.server.Config.NetworkType, fmt.Sprintf(":%d", s.server.Config.Port))
|
||||
|
||||
if err != nil {
|
||||
return err
|
||||
|
|
@ -22,7 +22,7 @@ func Setup(config Config, conn *grpc.ClientConn) Application {
|
|||
driverSvc := service.NewService(config.DriverSvc, accountClient, driverValidator)
|
||||
driverHandler := http.NewHandler(driverSvc)
|
||||
|
||||
httpServer := http_server.NewServer(config.HttpServer)
|
||||
httpServer := httpserver.New(config.HttpServer)
|
||||
|
||||
return Application{
|
||||
svc: driverSvc,
|
||||
|
|
|
|||
Loading…
Reference in New Issue