Update AAF Version 1.0.0
[aaf/authz.git] / authz-service / src / main / java / com / att / authz / service / api / API_Delegate.java
1 /*******************************************************************************\r
2  * ============LICENSE_START====================================================\r
3  * * org.onap.aaf\r
4  * * ===========================================================================\r
5  * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
6  * * ===========================================================================\r
7  * * Licensed under the Apache License, Version 2.0 (the "License");\r
8  * * you may not use this file except in compliance with the License.\r
9  * * You may obtain a copy of the License at\r
10  * * \r
11  *  *      http://www.apache.org/licenses/LICENSE-2.0\r
12  * * \r
13  *  * Unless required by applicable law or agreed to in writing, software\r
14  * * distributed under the License is distributed on an "AS IS" BASIS,\r
15  * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
16  * * See the License for the specific language governing permissions and\r
17  * * limitations under the License.\r
18  * * ============LICENSE_END====================================================\r
19  * *\r
20  * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
21  * *\r
22  ******************************************************************************/\r
23 package com.att.authz.service.api;\r
24 \r
25 import static com.att.authz.layer.Result.OK;\r
26 import static com.att.cssa.rserv.HttpMethods.DELETE;\r
27 import static com.att.cssa.rserv.HttpMethods.GET;\r
28 import static com.att.cssa.rserv.HttpMethods.POST;\r
29 import static com.att.cssa.rserv.HttpMethods.PUT;\r
30 \r
31 import javax.servlet.http.HttpServletRequest;\r
32 import javax.servlet.http.HttpServletResponse;\r
33 \r
34 import com.att.aft.dme2.internal.jetty.http.HttpStatus;\r
35 import com.att.authz.env.AuthzTrans;\r
36 import com.att.authz.facade.AuthzFacade;\r
37 import com.att.authz.layer.Result;\r
38 import com.att.authz.service.AuthAPI;\r
39 import com.att.authz.service.Code;\r
40 import com.att.authz.service.mapper.Mapper.API;\r
41 \r
42 public class API_Delegate {\r
43         public static void init(AuthAPI authzAPI, AuthzFacade facade) throws Exception {\r
44                 /**\r
45                  * Add a delegate\r
46                  */\r
47                 authzAPI.route(POST, "/authz/delegate",API.DELG_REQ,new Code(facade,"Add a Delegate", true) {\r
48 \r
49                         @Override\r
50                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
51                                 Result<Void> r = context.createDelegate(trans, req, resp);\r
52                                 switch(r.status) {\r
53                                         case OK:\r
54                                                 resp.setStatus(HttpStatus.CREATED_201); \r
55                                                 break;\r
56                                         default:\r
57                                                 context.error(trans,resp,r);\r
58                                 }                               \r
59                         }                       \r
60                 });\r
61                 \r
62                 /**\r
63                  * Update a delegate\r
64                  */\r
65                 authzAPI.route(PUT, "/authz/delegate",API.DELG_REQ,new Code(facade,"Update a Delegate", true) {\r
66 \r
67                         @Override\r
68                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
69                                 Result<Void> r = context.updateDelegate(trans, req, resp);\r
70                                 switch(r.status) {\r
71                                         case OK:\r
72                                                 resp.setStatus(HttpStatus.OK_200); \r
73                                                 break;\r
74                                         default:\r
75                                                 context.error(trans,resp,r);\r
76                                 }                               \r
77                         }                       \r
78                 });\r
79                 \r
80                 /**\r
81                  * DELETE delegates for a user\r
82                  */\r
83                 authzAPI.route(DELETE, "/authz/delegate",API.DELG_REQ,new Code(facade,"Delete delegates for a user", true) {\r
84 \r
85                         @Override\r
86                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
87                                 Result<Void> r = context.deleteDelegate(trans, req, resp);\r
88                                 switch(r.status) {\r
89                                         case OK:\r
90                                                 resp.setStatus(HttpStatus.OK_200); \r
91                                                 break;\r
92                                         default:\r
93                                                 context.error(trans,resp,r);\r
94                                 }                               \r
95                         }                       \r
96                 });\r
97                 \r
98                 /**\r
99                  * DELETE a delegate\r
100                  */\r
101                 authzAPI.route(DELETE, "/authz/delegate/:user_name",API.VOID,new Code(facade,"Delete a Delegate", true) {\r
102 \r
103                         @Override\r
104                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
105                                 Result<Void> r = context.deleteDelegate(trans, pathParam(req, "user_name"));\r
106                                 switch(r.status) {\r
107                                         case OK:\r
108                                                 resp.setStatus(HttpStatus.OK_200); \r
109                                                 break;\r
110                                         default:\r
111                                                 context.error(trans,resp,r);\r
112                                 }                               \r
113                         }                       \r
114                 });\r
115                 \r
116                 /**\r
117                  * Read who is delegating for User\r
118                  */\r
119                 authzAPI.route(GET, "/authz/delegates/user/:user",API.DELGS,new Code(facade,"Get Delegates by User", true) {\r
120 \r
121                         @Override\r
122                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
123                                 Result<Void> r = context.getDelegatesByUser(trans, pathParam(req, "user"), resp);\r
124                                 switch(r.status) {\r
125                                         case OK:\r
126                                                 resp.setStatus(HttpStatus.OK_200); \r
127                                                 break;\r
128                                         default:\r
129                                                 context.error(trans,resp,r);\r
130                                 }                               \r
131                         }                       \r
132                 });\r
133 \r
134                 /**\r
135                  * Read for whom the User is delegating\r
136                  */\r
137                 authzAPI.route(GET, "/authz/delegates/delegate/:delegate",API.DELGS,new Code(facade,"Get Delegates by Delegate", true) {\r
138 \r
139                         @Override\r
140                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
141                                 Result<Void> r = context.getDelegatesByDelegate(trans, pathParam(req, "delegate"), resp);\r
142                                 switch(r.status) {\r
143                                         case OK:\r
144                                                 resp.setStatus(HttpStatus.OK_200); \r
145                                                 break;\r
146                                         default:\r
147                                                 context.error(trans,resp,r);\r
148                                 }                               \r
149                         }                       \r
150                 });\r
151 \r
152         }\r
153 }\r