package dataimport import ( "log" "fagott.pw/grilist/models" ) func logErr(err error) { if err != nil { log.Printf("IMPORT ERROR: %v\n", err) } } func AssignGril(foreign int, id int, dataSource models.DataSource) error { _, err := database.Exec("INSERT INTO grilist.grils_id_mappings (gril_id, source, source_id) VALUES ($1, $2, $3);", id, models.DataSourceAnilist, foreign) if err != nil { return err } return nil } func InsertGril(g *ImporterGril, dataSource models.DataSource) (int, error) { var dbID int if err := database.QueryRow("INSERT INTO grilist.grils (age) VALUES (NULL) RETURNING id;").Scan(&dbID); err != nil { return 0, err } if err := AssignGril(g.ID, dbID, dataSource); err != nil { return 0, err } if g.Gril.KanjiName != "" { _, err := database.Exec(`INSERT INTO grilist.gril_names (gril_id, name, name_type) VALUES ($1, $2, $3);`, dbID, g.KanjiName, 0) logErr(err) } if g.Gril.RomajiName != "" { _, err := database.Exec(`INSERT INTO grilist.gril_names (gril_id, name, name_type) VALUES ($1, $2, $3);`, dbID, g.RomajiName, 1) logErr(err) } for _, v := range g.OtherNames { _, err := database.Exec(`INSERT INTO grilist.gril_names (gril_id, name, name_type) VALUES ($1, $2, $3);`, dbID, v, 2) logErr(err) } return dbID, nil }