Skip to content

Commit 02bf865

Browse files
committed
update method done, putted a url flag executeOnly for other than select statements
1 parent 487ef9d commit 02bf865

File tree

2 files changed

+38
-29
lines changed

2 files changed

+38
-29
lines changed

app.go

Lines changed: 27 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -68,35 +68,44 @@ type QueryRequest struct {
6868
}
6969

7070
func (a *App) apiMakeDbRequest(w http.ResponseWriter, r *http.Request) {
71-
w.Header().Set("Content-Type", "application/json")
72-
reqBody, _ := ioutil.ReadAll(r.Body)
71+
72+
executeOnly := r.URL.Query().Get("executeOnly")
73+
executeOnly_state := 0
74+
var err error
75+
76+
if len(executeOnly) > 0 {
77+
executeOnly_state, err = strconv.Atoi(executeOnly)
78+
if err != nil {
79+
respondWithError(w, http.StatusBadRequest, err.Error())
80+
}
81+
}
82+
83+
reqBody, err := ioutil.ReadAll(r.Body)
84+
if err != nil {
85+
respondWithError(w, http.StatusInternalServerError, err.Error())
86+
}
7387

7488
var queryrequest QueryRequest
7589
json.Unmarshal(reqBody, &queryrequest)
7690
fmt.Println(queryrequest)
7791

78-
response, err := do_db_query(a.DB, queryrequest.QueryString)
92+
var response interface{}
93+
switch executeOnly_state {
94+
case 0:
95+
response, err = do_db_select_query(a.DB, queryrequest.QueryString)
96+
97+
default:
98+
err = do_db_query_exec(a.DB, queryrequest.QueryString)
99+
response = map[string]interface{}{"status": 1}
100+
101+
}
102+
79103
if err != nil {
80104
respondWithError(w, http.StatusInternalServerError, err.Error())
81105
return
82106
}
83107
respondWithJSON(w, http.StatusOK, response)
84108

85-
fmt.Println(response)
86-
// type RespObject struct {
87-
// Data map[string]interface{}
88-
// }
89-
// respObject := RespObject{response}
90-
// data, err := json.Marshal(respObject)
91-
// if err != nil {
92-
// fmt.Println(err)
93-
// }
94-
// fmt.Println("", data)
95-
96-
// w.Header().Set("Content-Type", "application/json")
97-
// w.WriteHeader(http.StatusOK)
98-
// // w.Write(data)
99-
100109
}
101110

102111
func (a *App) getRequest(w http.ResponseWriter, r *http.Request) {

do_db_query.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@ package main
33
import (
44
"database/sql"
55
"errors"
6-
"fmt"
76
)
87

98
type query_response map[string]interface{}
109

11-
func do_db_query(db *sql.DB, query_string string) ([]query_response, error) {
10+
func do_db_select_query(db *sql.DB, query_string string) ([]query_response, error) {
1211

1312
rows, err := db.Query(query_string)
1413
if err != nil {
@@ -23,16 +22,13 @@ func do_db_query(db *sql.DB, query_string string) ([]query_response, error) {
2322
r := make(query_response)
2423
cols, _ := rows.Columns()
2524

26-
fmt.Println(cols, "\n", len(cols))
2725
values := make([]interface{}, len(cols))
2826
valuePointers := make([]interface{}, len(cols))
2927

3028
for i := range cols {
3129
valuePointers[i] = &values[i]
3230
}
3331

34-
fmt.Println("\n", valuePointers)
35-
3632
if err := rows.Scan(valuePointers...); err != nil {
3733
return nil, err
3834
}
@@ -52,13 +48,7 @@ func do_db_query(db *sql.DB, query_string string) ([]query_response, error) {
5248
r[col] = query_value
5349

5450
}
55-
fmt.Println(r)
5651
query_results = append(query_results, r)
57-
58-
// fmt.Println("\n resutls---------")
59-
// fmt.Println(query_results)
60-
// fmt.Println("\n", "fuck", "you", "+++++++++++++++++")
61-
6252
}
6353

6454
if len(query_results) < 1 {
@@ -69,3 +59,13 @@ func do_db_query(db *sql.DB, query_string string) ([]query_response, error) {
6959
// defer db.Close()
7060
return query_results, nil
7161
}
62+
63+
func do_db_query_exec(db *sql.DB, query_string string) error {
64+
65+
_, err := db.Query(query_string)
66+
if err != nil {
67+
return err
68+
}
69+
70+
return nil
71+
}

0 commit comments

Comments
 (0)