diff --git a/internal/utils/query/builder.go b/internal/utils/query/builder.go index 4981bde..82634b9 100644 --- a/internal/utils/query/builder.go +++ b/internal/utils/query/builder.go @@ -179,6 +179,11 @@ type InsertData struct { JsonValues map[string]interface{} `json:"json_values,omitempty"` } +type InsertBulkData struct { + Columns []string `json:"columns"` + Values [][]interface{} `json:"values"` +} + // QueryBuilder builds SQL queries from dynamic filters using squirrel type QueryBuilder struct { dbType DBType @@ -1713,7 +1718,7 @@ func (qb *QueryBuilder) BuildInsertQuery(table string, data InsertData, returnin return sql, args, nil } -func (qb *QueryBuilder) BuildBulkInsertQuery(table string, data InsertData, returningColumns ...string) (string, []interface{}, error) { +func (qb *QueryBuilder) BuildBulkInsertQuery(table string, data InsertBulkData, returningColumns ...string) (string, []interface{}, error) { // Validate columns for _, col := range data.Columns { if qb.allowedColumns != nil && !qb.allowedColumns[col] { @@ -1726,8 +1731,7 @@ func (qb *QueryBuilder) BuildBulkInsertQuery(table string, data InsertData, retu // loop insert data values for _, item := range data.Values { - log.Printf("%s", item) - insert.Values(item) + insert = insert.Values(item...) } if len(returningColumns) > 0 {