-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.go
More file actions
46 lines (39 loc) · 1.05 KB
/
main.go
File metadata and controls
46 lines (39 loc) · 1.05 KB
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
package main
import (
"log"
"strings"
"github.com/drawref/drawref-backend/drawref"
"github.com/golang-migrate/migrate/v4"
_ "github.com/golang-migrate/migrate/v4/database/postgres"
_ "github.com/golang-migrate/migrate/v4/source/file"
)
func main() {
// loading config
config, err := drawref.LoadConfig()
if err != nil {
log.Fatal("LoadConfig failed:", err)
}
// setup s3
err = drawref.OpenS3(config.UploadS3Bucket, config.UploadS3KeyPrefix, config.UploadS3URLPrefix)
if err != nil {
log.Fatal("OpenS3 failed:", err)
}
// upgrading db
m, err := migrate.New("file://"+config.DatabaseMigrationsPath, config.DatabaseUrl)
if err != nil {
log.Fatal("DB Migrations loading failed:", err)
}
err = m.Up()
if err != nil && err != migrate.ErrNoChange {
log.Fatal("DB Migration failure:", err)
}
m.Close()
// open db
err = drawref.OpenDatabase(config.DatabaseUrl)
if err != nil {
log.Fatal("Opening db failed:", err)
}
// api router
router := drawref.GetRouter(nil, strings.Split(config.CorsAllowedFrom, " "))
router.Run(config.Address)
}