@@ -27,7 +27,8 @@ var sortFields = map[string]string{
27
27
}
28
28
29
29
func parsePaymentQueryParams (query * gorm.DB , params url.Values ) (* gorm.DB , error ) {
30
- query = addFilters (query , query .NewScope (models.Transaction {}).QuotedTableName (), params , []string {
30
+ transactionTable := query .NewScope (models.Transaction {}).QuotedTableName ()
31
+ query = addFilters (query , transactionTable , params , []string {
31
32
"processor_id" ,
32
33
"user_id" ,
33
34
"order_id" ,
@@ -38,18 +39,18 @@ func parsePaymentQueryParams(query *gorm.DB, params url.Values) (*gorm.DB, error
38
39
})
39
40
40
41
if values , exists := params ["min_amount" ]; exists {
41
- query = query .Where (" amount >= ?" , values [0 ])
42
+ query = query .Where (transactionTable + ". amount >= ?" , values [0 ])
42
43
}
43
44
44
45
if values , exists := params ["max_amount" ]; exists {
45
- query = query .Where (" amount <= ?" , values [0 ])
46
+ query = query .Where (transactionTable + ". amount <= ?" , values [0 ])
46
47
}
47
48
48
49
query , err := parseLimitQueryParam (query , params )
49
50
if err != nil {
50
51
return nil , err
51
52
}
52
- return parseTimeQueryParams (query , params )
53
+ return parseTimeQueryParams (query , transactionTable , params )
53
54
}
54
55
55
56
func parseUserBulkDeleteParams (query * gorm.DB , params url.Values ) (* gorm.DB , error ) {
@@ -78,7 +79,7 @@ func parseUserQueryParams(query *gorm.DB, params url.Values) (*gorm.DB, error) {
78
79
if err != nil {
79
80
return nil , err
80
81
}
81
- return parseTimeQueryParams (query , params )
82
+ return parseTimeQueryParams (query , userTable , params )
82
83
}
83
84
84
85
func sortField (value string ) string {
@@ -123,11 +124,13 @@ func addNegativeAddressFilter(query *gorm.DB, params url.Values, queryField stri
123
124
}
124
125
125
126
func parseOrderParams (query * gorm.DB , params url.Values ) (* gorm.DB , error ) {
127
+ orderTable := query .NewScope (models.Order {}).QuotedTableName ()
128
+
126
129
if tax := params .Get ("tax" ); tax != "" {
127
130
if tax == "yes" || tax == "true" {
128
- query = query .Where (" taxes > 0" )
131
+ query = query .Where (orderTable + ". taxes > 0" )
129
132
} else {
130
- query = query .Where (" taxes = 0" )
133
+ query = query .Where (orderTable + ". taxes = 0" )
131
134
}
132
135
}
133
136
@@ -159,8 +162,6 @@ func parseOrderParams(query *gorm.DB, params url.Values) (*gorm.DB, error) {
159
162
query = query .Order ("created_at desc" )
160
163
}
161
164
162
- orderTable := query .NewScope (models.Order {}).QuotedTableName ()
163
-
164
165
if items := params .Get ("items" ); items != "" {
165
166
lineItemTable := query .NewScope (models.LineItem {}).QuotedTableName ()
166
167
statement := "JOIN " + lineItemTable + " as line_item on line_item.order_id = " +
@@ -193,7 +194,7 @@ func parseOrderParams(query *gorm.DB, params url.Values) (*gorm.DB, error) {
193
194
"coupon_code" ,
194
195
})
195
196
196
- return parseTimeQueryParams (query , params )
197
+ return parseTimeQueryParams (query , orderTable , params )
197
198
}
198
199
199
200
func parseLimitQueryParam (query * gorm.DB , params url.Values ) (* gorm.DB , error ) {
@@ -229,16 +230,16 @@ func getTimeQueryParams(params url.Values) (from *time.Time, to *time.Time, err
229
230
return
230
231
}
231
232
232
- func parseTimeQueryParams (query * gorm.DB , params url.Values ) (* gorm.DB , error ) {
233
+ func parseTimeQueryParams (query * gorm.DB , tableName string , params url.Values ) (* gorm.DB , error ) {
233
234
from , to , err := getTimeQueryParams (params )
234
235
if err != nil {
235
236
return nil , err
236
237
}
237
238
if from != nil {
238
- query = query .Where (" created_at >= ?" , from )
239
+ query = query .Where (tableName + ". created_at >= ?" , from )
239
240
}
240
241
if to != nil {
241
- query = query .Where (" created_at <= ?" , to )
242
+ query = query .Where (tableName + ". created_at <= ?" , to )
242
243
}
243
244
return query , nil
244
245
}
0 commit comments