This is an automated email from the ASF dual-hosted git repository. rob pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/incubator-trafficcontrol.git
commit ac962989ba20935dad991d56e5a2aadfdf99d917 Author: ASchmidt <andrew_schm...@comcast.com> AuthorDate: Mon May 14 15:23:07 2018 -0600 Created strucs in tc package for all DSS responses --- lib/go-tc/deliveryservice_servers.go | 24 +++++++++++- .../deliveryservice/servers/servers.go | 43 ++++++---------------- traffic_ops/traffic_ops_golang/routes.go | 2 +- 3 files changed, 36 insertions(+), 33 deletions(-) diff --git a/lib/go-tc/deliveryservice_servers.go b/lib/go-tc/deliveryservice_servers.go index d24d1b6..f549f76 100644 --- a/lib/go-tc/deliveryservice_servers.go +++ b/lib/go-tc/deliveryservice_servers.go @@ -1,6 +1,8 @@ package tc -import "time" +import ( + "time" +) /* @@ -25,6 +27,26 @@ type DeliveryServiceServerResponse struct { Limit int `json:"limit"` } +type DSSMapResponse struct { + DsId int `json:"dsId"` + Replace bool `json:"replace"` + Servers []int `json:"servers"` + } + +type DSSReplaceResponse struct { + Alerts []Alert `json:"alerts"` + Response DSSMapResponse `json:"response"` +} + +type DSServersResponse struct { + Response DeliveryServiceServers `json:"response"` +} + +type DeliveryServiceServers struct { + ServerNames []string `json:"serverNames"` + XmlId string `json:"xmlId"` +} + // DeliveryServiceServer ... type DeliveryServiceServer struct { Server *int `json:"server" db:"server"` diff --git a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go index 8f534ca..ccd84f4 100644 --- a/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go +++ b/traffic_ops/traffic_ops_golang/deliveryservice/servers/servers.go @@ -382,9 +382,11 @@ func GetReplaceHandler( db *sqlx.DB ) http.HandlerFunc { return } rollbackTransaction = false + resAlerts := []tc.Alert{ tc.Alert{"sever assignement","success"}} + repRes := tc.DSSReplaceResponse{resAlerts, tc.DSSMapResponse{*dsId,*payload.Replace,respServers }} // marshal the results to the response stream - respBts, err := json.Marshal(respServers) + respBts, err := json.Marshal(repRes) if err != nil { log.Errorln("Could not marshal the response as expected: ", err) handleErrs(http.StatusInternalServerError, err) @@ -398,14 +400,11 @@ func GetReplaceHandler( db *sqlx.DB ) http.HandlerFunc { } -type DeliveryServiceServers struct { - ServerNames []string `json:"serverNames"` - XmlId string `json:"xmlId"` -} -type TODeliveryServiceServers DeliveryServiceServers -var serversRef = TODeliveryServiceServers(DeliveryServiceServers{}) +type TODeliveryServiceServers tc.DeliveryServiceServers + +var serversRef = TODeliveryServiceServers(tc.DeliveryServiceServers{}) func GetServersRef() *TODeliveryServiceServers { return &serversRef @@ -539,7 +538,8 @@ func GetCreateHandler( db *sqlx.DB ) http.HandlerFunc { rollbackTransaction = false // marshal the results to the response stream - payloadResp := struct { Response TODeliveryServiceServers `json:"response"`}{*payload} + tcPayload := tc.DeliveryServiceServers{payload.ServerNames, payload.XmlId} + payloadResp := tc.DSServersResponse{tcPayload} respBts, err := json.Marshal(payloadResp) if err != nil { log.Errorln("Could not marshal the response as expected: ", err) @@ -558,25 +558,16 @@ func selectDeliveryService() string { return query } -func selectServerIds() string { - query := `SELECT id FROM server WHERE host_name in (?)` - return query -} - -func insertQuery() string { - query := `INSERT INTO deliveryservice_server (deliveryservice, server) -(SELECT d.id, s.id FROM deliveryservice d, server s -WHERE d.xml_id=:xml_id and s.host_name=:server) -RETURNING server` - return query -} - func insertIdsQuery() string { query := `INSERT INTO deliveryservice_server (deliveryservice, server) VALUES (:id, :server )` return query } +func selectServerIds() string { + query := `SELECT id FROM server WHERE host_name in (?)` + return query +} // api/1.1/deliveryservices/{id}/servers|unassigned_servers|eligible func GetReadHandler(db *sqlx.DB, filter string) http.HandlerFunc { @@ -824,16 +815,6 @@ func SDSSelectQuery() string { return selectStmt } - -func insertFromNamesQuery() string { - query := `INSERT INTO deliveryservice_server ( - deliveryservice, - server) VALUES ( - :select id from deliveryservice where xml_id=:xml_id, - select id from server where host_name=:server_name) RETURNING deliveryservice, server, last_updated` - return query -} - func updateQuery() string { query := `UPDATE profile_parameter SET diff --git a/traffic_ops/traffic_ops_golang/routes.go b/traffic_ops/traffic_ops_golang/routes.go index ff0eebd..752c8d8 100644 --- a/traffic_ops/traffic_ops_golang/routes.go +++ b/traffic_ops/traffic_ops_golang/routes.go @@ -164,7 +164,7 @@ func Routes(d ServerData) ([]Route, []RawRoute, http.Handler, error) { // get all edge servers associated with a delivery service (from deliveryservice_server table) {1.1, http.MethodGet, `deliveryserviceserver$`, dsserver.ReadDSSHandler(d.DB),auth.PrivLevelReadOnly, Authenticated, nil}, - //{1.1, http.MethodPost,`deliveryserviceserver$`, dsserver.GetReplaceHandler(d.DB),auth.PrivLevelOperations, Authenticated, nil}, + {1.1, http.MethodPost,`deliveryserviceserver$`, dsserver.GetReplaceHandler(d.DB),auth.PrivLevelOperations, Authenticated, nil}, {1.1, http.MethodPost,`deliveryservices/{xml_id}/servers$`, dsserver.GetCreateHandler( d.DB ) ,auth.PrivLevelOperations, Authenticated, nil}, {1.1, http.MethodGet, `servers/{id}/deliveryservices$`, api.ReadHandler(dsserver.GetDServiceRef(), d.DB),auth.PrivLevelReadOnly, Authenticated, nil}, {1.1, http.MethodGet, `deliveryservices/{id}/servers$`, dsserver.GetReadHandler(d.DB, "assigned"),auth.PrivLevelReadOnly, Authenticated, nil}, -- To stop receiving notification emails like this one, please contact r...@apache.org.