2 * ============LICENSE_START====================================================
4 * ===========================================================================
5 * Copyright (c) 2018 AT&T Intellectual Property. All rights reserved.
6 * ===========================================================================
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
18 * ============LICENSE_END====================================================
22 package org.onap.aaf.auth.service.api;
24 import static org.onap.aaf.auth.layer.Result.OK;
25 import static org.onap.aaf.auth.rserv.HttpMethods.GET;
27 import java.net.URLDecoder;
29 import javax.servlet.http.HttpServletRequest;
30 import javax.servlet.http.HttpServletResponse;
32 import org.eclipse.jetty.http.HttpStatus;
33 import org.onap.aaf.auth.env.AuthzTrans;
34 import org.onap.aaf.auth.layer.Result;
35 import org.onap.aaf.auth.service.AAF_Service;
36 import org.onap.aaf.auth.service.Code;
37 import org.onap.aaf.auth.service.facade.AuthzFacade;
38 import org.onap.aaf.auth.service.mapper.Mapper.API;
39 import org.onap.aaf.cadi.config.Config;
46 public class API_User {
48 * Normal Init level APIs
54 public static void init(final AAF_Service authzAPI, AuthzFacade facade) throws Exception {
56 * get all Users who have Permission X
58 authzAPI.route(GET,"/authz/users/perm/:type/:instance/:action",API.USERS,new Code(facade,"Get Users By Permission", true) {
60 public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {
61 // trans.checkpoint(pathParam(req,"type") + " "
62 // + pathParam(req,"instance") + " "
63 // + pathParam(req,"action"));
65 Result<Void> r = context.getUsersByPermission(trans, resp,
66 pathParam(req, ":type"),
67 URLDecoder.decode(pathParam(req, ":instance"),Config.UTF_8),
68 pathParam(req, ":action"));
71 resp.setStatus(HttpStatus.OK_200);
74 context.error(trans,resp,r);
81 * get all Users who have Role X
83 authzAPI.route(GET,"/authz/users/role/:role",API.USERS,new Code(facade,"Get Users By Role", true) {
85 public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {
86 Result<Void> r = context.getUsersByRole(trans, resp, pathParam(req, ":role"));
89 resp.setStatus(HttpStatus.OK_200);
92 context.error(trans,resp,r);
98 * Get User Role if exists
101 authzAPI.route(GET,"/authz/userRole/:user/:role",API.USERS,new Code(facade,"Get if User is In Role", true) {
103 public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {
104 Result<Void> r = context.getUserInRole(trans, resp, pathParam(req,":user"),pathParam(req,":role"));
107 resp.setStatus(HttpStatus.OK_200);
110 context.error(trans,resp,r);
116 * Get User Role if exists
118 authzAPI.route(GET,"/authz/users/:user/:role",API.USERS,new Code(facade,"Get if User is In Role", true) {
120 public void handle(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp) throws Exception {
121 Result<Void> r = context.getUserInRole(trans, resp, pathParam(req,":user"),pathParam(req,":role"));
124 resp.setStatus(HttpStatus.OK_200);
127 context.error(trans,resp,r);