[AAF-21] Updated Copyright Headers for AAF
[aaf/authz.git] / authz-service / src / main / java / com / att / authz / service / api / API_UserRole.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 /**\r
43  * User Role APIs\r
44  *\r
45  */\r
46 public class API_UserRole {\r
47         /**\r
48          * Normal Init level APIs\r
49          * \r
50          * @param authzAPI\r
51          * @param facade\r
52          * @throws Exception\r
53          */\r
54         public static void init(final AuthAPI authzAPI, AuthzFacade facade) throws Exception {\r
55                 /**\r
56                  * Request User Role Access\r
57                  */\r
58                 authzAPI.route(POST,"/authz/userRole",API.USER_ROLE_REQ,new Code(facade,"Request User Role Access", true) {\r
59                         @Override\r
60                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
61                                 Result<Void> r = context.requestUserRole(trans, req, resp);\r
62                                 switch(r.status) {\r
63                                         case OK:\r
64                                                 resp.setStatus(HttpStatus.CREATED_201); \r
65                                                 break;\r
66                                         default:\r
67                                                 context.error(trans,resp,r);\r
68                                 }\r
69                         }\r
70                 });\r
71                 \r
72                 \r
73                 /**\r
74                  * Get UserRoles by Role\r
75                  */\r
76                 authzAPI.route(GET,"/authz/userRoles/role/:role",API.USER_ROLES,new Code(facade,"Get UserRoles by Role", true) {\r
77                         @Override\r
78                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
79                                 Result<Void> r = context.getUserRolesByRole(trans, resp, pathParam(req,":role"));\r
80                                 switch(r.status) {\r
81                                         case OK:\r
82                                                 resp.setStatus(HttpStatus.OK_200); \r
83                                                 break;\r
84                                         default:\r
85                                                 context.error(trans,resp,r);\r
86                                 }\r
87                         }\r
88                 });\r
89                 \r
90                 /**\r
91                  * Get UserRoles by User\r
92                  */\r
93                 authzAPI.route(GET,"/authz/userRoles/user/:user",API.USER_ROLES,new Code(facade,"Get UserRoles by User", true) {\r
94                         @Override\r
95                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
96                                 Result<Void> r = context.getUserRolesByUser(trans, resp, pathParam(req,":user"));\r
97                                 switch(r.status) {\r
98                                         case OK:\r
99                                                 resp.setStatus(HttpStatus.OK_200); \r
100                                                 break;\r
101                                         default:\r
102                                                 context.error(trans,resp,r);\r
103                                 }\r
104                         }\r
105                 });\r
106 \r
107                 \r
108                 /**\r
109                  * Update roles attached to user in path\r
110                  */\r
111                 authzAPI.route(PUT,"/authz/userRole/user",API.USER_ROLE_REQ,new Code(facade,"Update Roles for a user", true) {\r
112                         @Override\r
113                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
114                                 Result<Void> r = context.resetRolesForUser(trans, resp, req);\r
115                                 switch(r.status) {\r
116                                         case OK:\r
117                                                 resp.setStatus(HttpStatus.OK_200); \r
118                                                 break;\r
119                                         default:\r
120                                                 context.error(trans,resp,r);\r
121                                 }\r
122                         }\r
123                 });\r
124                 \r
125                 \r
126                 /**\r
127                  * Update users attached to role in path\r
128                  */\r
129                 authzAPI.route(PUT,"/authz/userRole/role",API.USER_ROLE_REQ,new Code(facade,"Update Users for a role", true) {\r
130                         @Override\r
131                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
132                                 Result<Void> r = context.resetUsersForRole(trans, resp, req);\r
133                                 switch(r.status) {\r
134                                         case OK:\r
135                                                 resp.setStatus(HttpStatus.OK_200); \r
136                                                 break;\r
137                                         default:\r
138                                                 context.error(trans,resp,r);\r
139                                 }\r
140                         }\r
141                 });\r
142                 \r
143                 /**\r
144                  * Extend Expiration Date (according to Organizational rules)\r
145                  */\r
146                 authzAPI.route(PUT, "/authz/userRole/extend/:user/:role", API.VOID, new Code(facade,"Extend Expiration", true) {\r
147                         @Override\r
148                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
149                                 Result<Void> r = context.extendUserRoleExpiration(trans,resp,pathParam(req,":user"),pathParam(req,":role"));\r
150                                 switch(r.status) {\r
151                                 case OK:\r
152                                         resp.setStatus(HttpStatus.OK_200); \r
153                                         break;\r
154                                 default:\r
155                                         context.error(trans,resp,r);\r
156                         }\r
157         \r
158                         }\r
159                         \r
160                 });\r
161                 \r
162                 \r
163                 /**\r
164                  * Create a new ID/Credential\r
165                  */\r
166                 authzAPI.route(DELETE,"/authz/userRole/:user/:role",API.VOID,new Code(facade,"Delete User Role", true) {\r
167                         @Override\r
168                         public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {\r
169                                 Result<Void> r = context.deleteUserRole(trans, resp, pathParam(req,":user"),pathParam(req,":role"));\r
170                                 switch(r.status) {\r
171                                         case OK:\r
172                                                 resp.setStatus(HttpStatus.OK_200); \r
173                                                 break;\r
174                                         default:\r
175                                                 context.error(trans,resp,r);\r
176                                 }\r
177                         }\r
178                 });\r
179 \r
180         }\r
181 }\r