-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.go
48 lines (40 loc) · 1.09 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
package main
import (
"Rating-management/internal/db"
"Rating-management/internal/models"
v1 "Rating-management/pkg/v1"
handler "Rating-management/pkg/v1/handler/grpc"
repo "Rating-management/pkg/v1/repository"
usecase "Rating-management/pkg/v1/usecase"
"fmt"
"google.golang.org/grpc"
"gorm.io/gorm"
"log"
"net"
)
func main() {
postgresDB := db.PostgresConn()
migrations(postgresDB)
lis, err := net.Listen("tcp", ":50006")
if err != nil {
log.Fatalf("Failed to listen: %v", err)
}
grpcServer := grpc.NewServer()
ratingUseCase := initUserServer(postgresDB)
handler.NewServer3(grpcServer, ratingUseCase)
log.Fatalf("Failed to serve: %v", grpcServer.Serve(lis))
}
func initUserServer(postgresDB *gorm.DB) v1.UseCaseInterface {
ratingRepo := repo.New(postgresDB)
ratingUseCase := usecase.New(ratingRepo)
return ratingUseCase
}
func migrations(sqlDB *gorm.DB) {
err := sqlDB.Migrator().DropTable(&models.Rating{})
err1 := sqlDB.Migrator().AutoMigrate(&models.Rating{})
if err != nil || err1 != nil {
fmt.Println(err)
} else {
fmt.Println("Migration did run successfully")
}
}