feat: Add Diyanet API provider
feat: Add UI
This commit is contained in:
1 parent
d4ff42387f
commit
93af84cef8
17 files changed
+642
-43
No files matched your search
@@ -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
|
||||
|
||||
Reference in new issue
Block a user