feat: Add Diyanet API provider

feat: Add UI
This commit is contained in:
abdus committed 2023-03-05 14:41:38 +01:00
1 parent d4ff42387f
commit 93af84cef8
17 files changed
+642 -43

No files matched your search

+6 -7
View File
@@ -9,9 +9,9 @@ import (
"prayertimes/internal/api"
"prayertimes/internal/database"
"prayertimes/internal/scrapeutils"
"prayertimes/internal/net"
"prayertimes/pkg/dbtimesprovider"
"prayertimes/pkg/diyanet"
"prayertimes/pkg/diyanetapi"
)
func main() {
@@ -31,22 +31,21 @@ func main() {
}
func newServices() (api.Services, func(), error) {
diyanetProvider := diyanet.Diyanet{
FetcherFunc: scrapeutils.GetParsed,
}
diyanetAPIProvider := diyanetapi.New(net.ReqClient)
db, err := database.NewSqliteDB(getDefaultEnv("DATABASE_URL", "app.sqlite3"))
if err != nil {
return api.Services{}, nil, fmt.Errorf("failed to init db: %w", err)
}
dbProvider := dbtimesprovider.New(db, diyanetProvider)
dbProvider := dbtimesprovider.New(db, diyanetAPIProvider)
if err := dbtimesprovider.Migrate(db.Db.(*sql.DB)); err != nil {
return api.Services{}, nil, fmt.Errorf("failed to migrate database: %w", err)
}
return api.Services{
PrayerTimesProvider: dbProvider,
TimesProvider: dbProvider,
LocationTimesProvider: diyanetAPIProvider,
}, func() {
defer db.Db.(*sql.DB).Close()
}, nil