You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
738 B
Go
43 lines
738 B
Go
package main
|
|
|
|
import (
|
|
"os"
|
|
|
|
"github.com/rs/zerolog/log"
|
|
|
|
"prayertimes/internal/api"
|
|
"prayertimes/internal/net"
|
|
"prayertimes/pkg/diyanetapi"
|
|
)
|
|
|
|
func main() {
|
|
port := getDefaultEnv("PORT", "8000")
|
|
|
|
services, err := newServices()
|
|
if err != nil {
|
|
log.Fatal().Err(err).Msg("failed to init services")
|
|
}
|
|
app := api.New(services)
|
|
|
|
err = app.Listen(":" + port)
|
|
if err != nil {
|
|
log.Fatal().Err(err).Msg("exit with an error")
|
|
}
|
|
}
|
|
|
|
func newServices() (api.Services, error) {
|
|
diyanetAPIProvider := diyanetapi.New(net.ReqClient)
|
|
|
|
return api.Services{
|
|
Provider: diyanetAPIProvider,
|
|
}, nil
|
|
}
|
|
|
|
func getDefaultEnv(name string, defaultValue string) string {
|
|
v, ok := os.LookupEnv(name)
|
|
if !ok {
|
|
return defaultValue
|
|
}
|
|
return v
|
|
}
|