80 lines
2.0 KiB
Go
80 lines
2.0 KiB
Go
package main
|
|
|
|
import (
|
|
"embed"
|
|
"git.sa.vin/legislature-tracker/backend/AI"
|
|
"git.sa.vin/legislature-tracker/backend/search"
|
|
"log"
|
|
"os"
|
|
|
|
"git.sa.vin/legislature-tracker/backend/Leg"
|
|
"git.sa.vin/legislature-tracker/backend/cachedAPI"
|
|
"git.sa.vin/legislature-tracker/backend/datastore"
|
|
"github.com/payne8/go-libsql-dual-driver"
|
|
)
|
|
|
|
//go:embed migrations/*.sql
|
|
var migrationFiles embed.FS
|
|
|
|
func main() {
|
|
|
|
logger := log.New(os.Stdout, "any-remark", log.LstdFlags)
|
|
primaryUrl := os.Getenv("LIBSQL_DATABASE_URL")
|
|
authToken := os.Getenv("LIBSQL_AUTH_TOKEN")
|
|
|
|
tdb, err := libsqldb.NewLibSqlDB(
|
|
primaryUrl,
|
|
libsqldb.WithMigrationFiles(migrationFiles),
|
|
libsqldb.WithAuthToken(authToken),
|
|
libsqldb.WithLocalDBName("local.db"), // will not be used for remote-only
|
|
)
|
|
if err != nil {
|
|
logger.Printf("failed to open db %s: %s", primaryUrl, err)
|
|
log.Fatalln(err)
|
|
return
|
|
}
|
|
err = tdb.Migrate()
|
|
if err != nil {
|
|
logger.Printf("failed to migrate db %s: %s", primaryUrl, err)
|
|
log.Fatalln(err)
|
|
return
|
|
}
|
|
|
|
mapper := datastore.NewMapper(tdb.DB)
|
|
api := cachedAPI.NewCachedAPI(mapper)
|
|
utah := Leg.NewUtahLeg(api)
|
|
ai, err := AI.NewAI()
|
|
if err != nil {
|
|
log.Fatalf("error creating AI: %v", err)
|
|
}
|
|
searchService, err := search.NewSearch(search.WithAI(ai), search.WithMapper(mapper))
|
|
if err != nil {
|
|
log.Fatalf("error creating search: %v", err)
|
|
}
|
|
|
|
test, err := utah.GetBillList("2024", "GS")
|
|
if err != nil {
|
|
log.Fatalf("error getting bill list: %v", err)
|
|
}
|
|
log.Printf("bill list: %+v", test)
|
|
|
|
test2, err := utah.GetBillDetails("2024", "GS", "HB0001")
|
|
if err != nil {
|
|
log.Fatalf("error getting bill details: %v", err)
|
|
}
|
|
log.Printf("bill details: %+v", test2)
|
|
|
|
//err = searchService.InsertContent(context.Background(), test2.TrackingID, test2.GeneralProvisions+" "+test2.HilightedProvisions)
|
|
//if err != nil {
|
|
// log.Fatalf("error inserting content: %v", err)
|
|
//}
|
|
|
|
results, err := searchService.Search("I'm looking for a bill that affects public education")
|
|
if err != nil {
|
|
log.Fatalf("error searching: %v", err)
|
|
}
|
|
|
|
log.Printf("search results: %+v", results)
|
|
|
|
}
|