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) }