From aa3d908506cb4ea325d31fcfea2c1dca3735e76f Mon Sep 17 00:00:00 2001 From: Physick <96335032+DegustatorPonos@users.noreply.github.com> Date: Sat, 29 Nov 2025 21:06:27 +0500 Subject: removed :w --- :w | 66 ------------------------------------------------------------------ 1 file changed, 66 deletions(-) delete mode 100644 :w diff --git a/:w b/:w deleted file mode 100644 index d7a5759..0000000 --- a/:w +++ /dev/null @@ -1,66 +0,0 @@ -package db - -import ( - "fmt" - "reflect" - "strings" -) - -type DataTable[T any] struct { - TableName string -} - -// Filters are stored as KVP where the field is the key and the value is the filter -func (base *DataTable[T]) formQueryWithFilters(filters map[string]any) string { - if len(filters) == 0 { - return base.formSelectAllQuery() - } - var sb = strings.Builder{} - var baseQuery = base.formSelectAllQuery() - sb.WriteString(strings.TrimRight(baseQuery, ";")) - sb.WriteString(" WHERE (") - var isFirst = true - for k, v := range filters { - if !isFirst { - sb.WriteString(" AND ") - } - switch v.(type) { - case string: - sb.WriteString(fmt.Sprintf("%s = '%s'", k, v)) - } - isFirst = false - } - sb.WriteString(");") - return sb.String() -} - -// Forms a query to get all the fields from database -func (base *DataTable[T]) formSelectAllQuery() string { - var sb = strings.Builder{} - sb.WriteString("SELECT (") - var fields = base.getFields() - for i, v := range fields { - if i != 0 { - sb.WriteString(", ") - } - sb.WriteString(v) - } - sb.WriteString(") FROM ") - sb.WriteString(base.TableName) - sb.WriteString(";") - return sb.String() -} - -func (base *DataTable[T]) getFields() []string { - var zero T - var outp = make([]string, 0) - for _, f := range reflect.VisibleFields(reflect.TypeOf(zero)) { - var tag, exists = f.Tag.Lookup("sql") - if exists { - outp = append(outp, tag) - } else { - outp = append(outp, f.Name) - } - } - return outp -} -- cgit v1.3