diff options
-rw-r--r-- | src/dbx/db.go | 100 | ||||
-rw-r--r-- | src/http.go | 33 |
2 files changed, 0 insertions, 133 deletions
diff --git a/src/dbx/db.go b/src/dbx/db.go index b8ec7f9..b839531 100644 --- a/src/dbx/db.go +++ b/src/dbx/db.go @@ -131,103 +131,3 @@ func applyMigrations(dir fs.FS) error { return nil } - -/* func scanToStruct[T any](rs *sql.Rows) (T, error) { - return scanToStruct2[T](rs, true) - } - - func scanToStructs[T any](rs *sql.Rows) ([]T, error) { - xs := []T{} - for rs.Next() { - x, err := scanToStruct2[T](rs, false) - if err != nil { - return nil, err - } - xs = append(xs, x) - } - return xs, rs.Err() - } - - func scanToStruct2[T any](rs *sql.Rows, callNextP bool) (T, error) { - var t, zero T - - cols, err := rs.Columns() - if err != nil { - return zero, err - } - - v := reflect.ValueOf(&t).Elem() - tType := v.Type() - - rawValues := make([]any, len(cols)) - for i := range rawValues { - var zero any - rawValues[i] = &zero - } - - if callNextP { - rs.Next() - if err := rs.Err(); err != nil { - return zero, err - } - } - if err := rs.Scan(rawValues...); err != nil { - return zero, err - } - - /\* col idx → [field idx, array idx] *\/ - arrayTargets := make(map[int][2]int) - colToField := make(map[string]int) - - for i := 0; i < tType.NumField(); i++ { - field := tType.Field(i) - tag := field.Tag.Get("db") - if tag == "" { - continue - } - - if strings.Contains(tag, ";") { - dbcols := strings.Split(tag, ";") - fv := v.Field(i) - if fv.Kind() != reflect.Array { - return zero, fmt.Errorf("field ‘%s’ is not array", - field.Name) - } - if len(dbcols) != fv.Len() { - return zero, fmt.Errorf("field ‘%s’ array length mismatch", - field.Name) - } - for j, colName := range cols { - for k, dbColName := range dbcols { - if colName == dbColName { - arrayTargets[j] = [2]int{i, k} - } - } - } - } else { - colToField[tag] = i - } - } - - for i, col := range cols { - vp := rawValues[i].(*any) - if fieldIdx, ok := colToField[col]; ok { - assignValue(v.Field(fieldIdx), *vp) - } else if target, ok := arrayTargets[i]; ok { - assignValue(v.Field(target[0]).Index(target[1]), *vp) - } - } - - return t, nil - } */ - -/* func assignValue(fv reflect.Value, val any) { - if val == nil { - fv.Set(reflect.Zero(fv.Type())) - return - } - v := reflect.ValueOf(val) - if v.Type().ConvertibleTo(fv.Type()) { - fv.Set(v.Convert(fv.Type())) - } -} */ diff --git a/src/http.go b/src/http.go index 097b8f8..ce31372 100644 --- a/src/http.go +++ b/src/http.go @@ -147,7 +147,6 @@ func mintageHandler(next http.Handler) http.Handler { return } - /* processMintages(&td.Mintages, td.Type) */ next.ServeHTTP(w, r) }) } @@ -192,35 +191,3 @@ func throwError(status int, err error, w http.ResponseWriter, r *http.Request) { Msg: http.StatusText(status), }) } - -/* func processMintages(md *dbx.MintageData, typeStr string) { - var typ int - switch typeStr { - case "nifc": - typ = dbx.TypeNifc - case "proof": - typ = dbx.TypeProof - default: - typ = dbx.TypeCirc - } - - md.Standard = slices.DeleteFunc(md.Standard, - func(x dbx.MSRow) bool { return x.Type != typ }) - md.Commemorative = slices.DeleteFunc(md.Commemorative, - func(x dbx.MCRow) bool { return x.Type != typ }) - slices.SortFunc(md.Standard, func(x, y dbx.MSRow) int { - if x.Year != y.Year { - return x.Year - y.Year - } - return strings.Compare(x.Mintmark, y.Mintmark) - }) - slices.SortFunc(md.Commemorative, func(x, y dbx.MCRow) int { - if x.Year != y.Year { - return x.Year - y.Year - } - if x.Number != y.Number { - return x.Number - y.Number - } - return strings.Compare(x.Mintmark, y.Mintmark) - }) -} */ |