This is an automated email from the ASF dual-hosted git repository.

rawlin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/trafficcontrol.git


The following commit(s) were added to refs/heads/master by this push:
     new eedfeeb  Deprecate deliveryservices available (#4498)
eedfeeb is described below

commit eedfeebc59d48e31f96c1d3c2959f21c2728e2c0
Author: ocket8888 <[email protected]>
AuthorDate: Tue Mar 17 16:08:54 2020 -0600

    Deprecate deliveryservices available (#4498)
    
    * removed documentation
    
    * Removed 2.0 route
    
    * Added deprecation notice to API responses
    
    * Added deprecation notice to documentation
    
    * Updated changelog
---
 CHANGELOG.md                                       |  1 +
 .../api/v1/user_id_deliveryservices_available.rst  |  9 ++-
 .../api/v2/user_id_deliveryservices_available.rst  | 78 ----------------------
 traffic_ops/traffic_ops_golang/routing/routes.go   |  1 -
 .../traffic_ops_golang/user/deliveryservices.go    | 11 +--
 5 files changed, 16 insertions(+), 84 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 958fdf4..6dd44f8 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -96,6 +96,7 @@ The format is based on [Keep a 
Changelog](http://keepachangelog.com/en/1.0.0/).
   - /types/{{ID}} (GET)
   - /user/current/jobs
   - /servers/checks
+  - /user/{{user ID}}/deliveryservices/available
 
 ## [4.0.0] - 2019-12-16
 ### Added
diff --git a/docs/source/api/v1/user_id_deliveryservices_available.rst 
b/docs/source/api/v1/user_id_deliveryservices_available.rst
index 5463d54..798e3fe 100644
--- a/docs/source/api/v1/user_id_deliveryservices_available.rst
+++ b/docs/source/api/v1/user_id_deliveryservices_available.rst
@@ -19,6 +19,9 @@
 ``user/{{ID}}/deliveryservices/available``
 ******************************************
 
+.. deprecated:: ATCv4
+       This endpoint is deprecated, and will be removed in the future.
+
 ``GET``
 =======
 Lists identifying information for all of the :term:`Delivery Services` 
assigned to a user - **not**, as the name implies, the :term:`Delivery 
Services` *available* to be assigned to that user.
@@ -67,7 +70,11 @@ Response Structure
        Date: Thu, 13 Dec 2018 22:31:44 GMT
        Content-Length: 62
 
-       { "response": [
+       { "alerts": [{
+               "level": "warning",
+               "text": "This endpoint is deprecated, and will be removed in 
the future"
+       }],
+       "response": [
                {
                        "id": 1,
                        "displayName": "Demo 1",
diff --git a/docs/source/api/v2/user_id_deliveryservices_available.rst 
b/docs/source/api/v2/user_id_deliveryservices_available.rst
deleted file mode 100644
index fb0f66f..0000000
--- a/docs/source/api/v2/user_id_deliveryservices_available.rst
+++ /dev/null
@@ -1,78 +0,0 @@
-..
-..
-.. Licensed under the Apache License, Version 2.0 (the "License");
-.. you may not use this file except in compliance with the License.
-.. You may obtain a copy of the License at
-..
-..     http://www.apache.org/licenses/LICENSE-2.0
-..
-.. Unless required by applicable law or agreed to in writing, software
-.. distributed under the License is distributed on an "AS IS" BASIS,
-.. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-.. See the License for the specific language governing permissions and
-.. limitations under the License.
-..
-
-.. _to-api-user-id-deliveryservices-available:
-
-******************************************
-``user/{{ID}}/deliveryservices/available``
-******************************************
-
-``GET``
-=======
-Lists identifying information for all of the :term:`Delivery Services` 
assigned to a user - **not**, as the name implies, the :term:`Delivery 
Services` *available* to be assigned to that user.
-
-:Auth. Required: Yes
-:Roles Required: None\ [#tenancy]_
-:Response Type:  Array
-
-Request Structure
------------------
-.. table:: Request Path Parameters
-
-       
+------+---------------------------------------------------------------------------------------------------+
-       | Name | Description                                                    
                                   |
-       
+======+===================================================================================================+
-       |  ID  | The integral, unique identifier of the users whose 
:term:`Delivery Services` shall be retrieved   |
-       
+------+---------------------------------------------------------------------------------------------------+
-
-.. code-block:: http
-       :caption: Request Example
-
-       GET /api/2.0/user/2/deliveryservices/available HTTP/1.1
-       Host: trafficops.infra.ciab.test
-       User-Agent: curl/7.47.0
-       Accept: */*
-       Cookie: mojolicious=...
-
-Response Structure
-------------------
-:displayName: This :term:`Delivery Service`'s :ref:`ds-display-name`
-:id:          The integral, unique identifier of this :term:`Delivery Service`
-:xmlId:       The :ref:`ds-xmlid` which (also) uniquely identifies this 
:term:`Delivery Service`
-
-.. code-block:: http
-       :caption: Response Example
-
-       HTTP/1.1 200 OK
-       Access-Control-Allow-Credentials: true
-       Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, 
Accept, Set-Cookie, Cookie
-       Access-Control-Allow-Methods: POST,GET,OPTIONS,PUT,DELETE
-       Access-Control-Allow-Origin: *
-       Content-Type: application/json
-       Set-Cookie: mojolicious=...; Path=/; Expires=Mon, 18 Nov 2019 17:40:54 
GMT; Max-Age=3600; HttpOnly
-       Whole-Content-Sha512: 
A1IUM2qkvJkviD0mcEADoCMiy76AWRO/Xnc70ur3CrOlkySXwqxfrhLc3wKlI1926yW+QrTd3nQaVpbX7Rd9wQ==
-       X-Server-Name: traffic_ops_golang/
-       Date: Thu, 13 Dec 2018 22:31:44 GMT
-       Content-Length: 62
-
-       { "response": [
-               {
-                       "id": 1,
-                       "displayName": "Demo 1",
-                       "xmlId": "demo1"
-               }
-       ]}
-
-.. [#tenancy] Only the :term:`Delivery Services` visible to the requesting 
user's :term:`Tenant` will appear, regardless of :term:`Role` or actual 
'assignment' status.
diff --git a/traffic_ops/traffic_ops_golang/routing/routes.go 
b/traffic_ops/traffic_ops_golang/routing/routes.go
index 34fe671..22481e1 100644
--- a/traffic_ops/traffic_ops_golang/routing/routes.go
+++ b/traffic_ops/traffic_ops_golang/routing/routes.go
@@ -224,7 +224,6 @@ func Routes(d ServerData) ([]Route, []RawRoute, 
http.Handler, error) {
 
                //Login
                {api.Version{2, 0}, http.MethodGet, 
`users/{id}/deliveryservices/?$`, user.GetDSes, auth.PrivLevelReadOnly, 
Authenticated, nil, 288787789, noPerlBypass},
-               {api.Version{2, 0}, http.MethodGet, 
`user/{id}/deliveryservices/available/?$`, user.GetAvailableDSes, 
auth.PrivLevelReadOnly, Authenticated, nil, 257082995, noPerlBypass},
                {api.Version{2, 0}, http.MethodPost, `user/login/?$`, 
login.LoginHandler(d.DB, d.Config), 0, NoAuth, nil, 2392670821, noPerlBypass},
                {api.Version{2, 0}, http.MethodPost, `user/logout/?$`, 
login.LogoutHandler(d.Config.Secrets[0]), 0, Authenticated, nil, 243434825, 
noPerlBypass},
                {api.Version{2, 0}, http.MethodPost, `user/login/oauth/?$`, 
login.OauthLoginHandler(d.DB, d.Config), 0, NoAuth, nil, 2415886009, 
noPerlBypass},
diff --git a/traffic_ops/traffic_ops_golang/user/deliveryservices.go 
b/traffic_ops/traffic_ops_golang/user/deliveryservices.go
index 68a7714..c4fc98f 100644
--- a/traffic_ops/traffic_ops_golang/user/deliveryservices.go
+++ b/traffic_ops/traffic_ops_golang/user/deliveryservices.go
@@ -22,6 +22,7 @@ package user
 import (
        "database/sql"
        "errors"
+       "fmt"
        "net/http"
 
        "github.com/apache/trafficcontrol/lib/go-tc"
@@ -56,7 +57,7 @@ func GetDSes(w http.ResponseWriter, r *http.Request) {
 func GetAvailableDSes(w http.ResponseWriter, r *http.Request) {
        inf, userErr, sysErr, errCode := api.NewInfo(r, []string{"id"}, 
[]string{"id"})
        if userErr != nil || sysErr != nil {
-               api.HandleErr(w, r, inf.Tx.Tx, errCode, userErr, sysErr)
+               api.HandleDeprecatedErr(w, r, inf.Tx.Tx, errCode, userErr, 
sysErr, nil)
                return
        }
        defer inf.Close()
@@ -64,16 +65,18 @@ func GetAvailableDSes(w http.ResponseWriter, r 
*http.Request) {
        dsUserID := inf.IntParams["id"]
        dses, err := getUserAvailableDSes(inf.Tx.Tx, dsUserID)
        if err != nil {
-               api.HandleErr(w, r, inf.Tx.Tx, http.StatusInternalServerError, 
nil, errors.New("getting user delivery services: "+err.Error()))
+               api.HandleDeprecatedErr(w, r, inf.Tx.Tx, 
http.StatusInternalServerError, nil, fmt.Errorf("getting user delivery 
services: %v", err), nil)
                return
        }
 
        dses, err = filterAvailableAuthorized(inf.Tx.Tx, dses, inf.User)
        if err != nil {
-               api.HandleErr(w, r, inf.Tx.Tx, http.StatusInternalServerError, 
nil, errors.New("filtering user-authorized delivery services: "+err.Error()))
+               api.HandleDeprecatedErr(w, r, inf.Tx.Tx, 
http.StatusInternalServerError, nil, fmt.Errorf("filtering user-authorized 
delivery services: %v", err), nil)
                return
        }
-       api.WriteResp(w, r, dses)
+
+       alerts := api.CreateDeprecationAlerts(nil)
+       api.WriteAlertsObj(w, r, http.StatusOK, alerts, dses)
 }
 
 func filterAuthorized(tx *sql.Tx, dses []tc.DeliveryServiceNullable, user 
*auth.CurrentUser) ([]tc.DeliveryServiceNullable, error) {

Reply via email to