--- /dev/null
+/*******************************************************************************\r
+ * ============LICENSE_START====================================================\r
+ * * org.onap.aaf\r
+ * * ===========================================================================\r
+ * * Copyright © 2017 AT&T Intellectual Property. All rights reserved.\r
+ * * ===========================================================================\r
+ * * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * * you may not use this file except in compliance with the License.\r
+ * * You may obtain a copy of the License at\r
+ * * \r
+ * * http://www.apache.org/licenses/LICENSE-2.0\r
+ * * \r
+ * * Unless required by applicable law or agreed to in writing, software\r
+ * * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * * See the License for the specific language governing permissions and\r
+ * * limitations under the License.\r
+ * * ============LICENSE_END====================================================\r
+ * *\r
+ * * ECOMP is a trademark and service mark of AT&T Intellectual Property.\r
+ * *\r
+ ******************************************************************************/\r
+package org.onap.aaf.authz.facade;\r
+\r
+import java.util.Date;\r
+\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import org.onap.aaf.authz.env.AuthzTrans;\r
+import org.onap.aaf.authz.layer.Result;\r
+import org.onap.aaf.cssa.rserv.RServlet;\r
+import org.onap.aaf.dao.aaf.cass.NsType;\r
+\r
+/**\r
+ * AuthzFacade\r
+ * This layer is responsible for covering the Incoming Messages, be they XML, JSON or just entries on the URL,\r
+ * and converting them to data that can be called on the Service Layer.\r
+ * \r
+ * Upon response, this layer, because it knew the incoming Data Formats (i.e. XML/JSON), the HTTP call types\r
+ * are set on "ContentType" on Response.\r
+ * \r
+ * Finally, we wrap the call in Time Stamps with explanation of what is happing for Audit trails.\r
+ * \r
+ *\r
+ */\r
+public interface AuthzFacade {\r
+ public static final int PERM_DEPEND_424 = -1000;\r
+ public static final int ROLE_DEPEND_424 = -1001;\r
+\r
+ /*\r
+ * Namespaces\r
+ */\r
+ public abstract Result<Void> requestNS(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, NsType type);\r
+ \r
+ public abstract Result<Void> getNSsByName(AuthzTrans trans, HttpServletResponse resp, String ns);\r
+ \r
+ public abstract Result<Void> getNSsByAdmin(AuthzTrans trans, HttpServletResponse resp, String user, boolean full);\r
+ \r
+ public abstract Result<Void> getNSsByResponsible(AuthzTrans trans, HttpServletResponse resp, String user, boolean full);\r
+ \r
+ public abstract Result<Void> getNSsByEither(AuthzTrans trans, HttpServletResponse resp, String user, boolean full);\r
+\r
+ public abstract Result<Void> getNSsChildren(AuthzTrans trans, HttpServletResponse resp, String pathParam);\r
+\r
+ public abstract Result<Void> addAdminToNS(AuthzTrans trans, HttpServletResponse resp, String ns, String id);\r
+\r
+ public abstract Result<Void> delAdminFromNS(AuthzTrans trans, HttpServletResponse resp, String ns, String id);\r
+\r
+ public abstract Result<Void> addResponsibilityForNS(AuthzTrans trans, HttpServletResponse resp, String ns, String id);\r
+\r
+ public abstract Result<Void> delResponsibilityForNS(AuthzTrans trans, HttpServletResponse resp, String ns, String id);\r
+ \r
+ public abstract Result<Void> updateNsDescription(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+\r
+ public abstract Result<Void> deleteNS(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, String ns);\r
+\r
+ // NS Attribs\r
+ public abstract Result<Void> createAttribForNS(AuthzTrans trans, HttpServletResponse resp, String ns, String key, String value);\r
+\r
+ public abstract Result<Void> readNsByAttrib(AuthzTrans trans, HttpServletResponse resp, String key);\r
+\r
+ public abstract Result<Void> updAttribForNS(AuthzTrans trans, HttpServletResponse resp, String ns, String key, String value);\r
+\r
+ public abstract Result<Void> delAttribForNS(AuthzTrans trans, HttpServletResponse resp, String ns, String key);\r
+\r
+ /*\r
+ * Permissions\r
+ */\r
+ public abstract Result<Void> createPerm(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp); \r
+ \r
+ public abstract Result<Void> getPermsByName(AuthzTrans trans, HttpServletResponse resp, \r
+ String type, String instance, String action);\r
+\r
+ public abstract Result<Void> getPermsByUser(AuthzTrans trans, HttpServletResponse response, String user);\r
+ \r
+ public abstract Result<Void> getPermsByUserWithAAFQuery(AuthzTrans trans, HttpServletRequest request, HttpServletResponse response, String user);\r
+\r
+ public abstract Result<Void> getPermsByType(AuthzTrans trans, HttpServletResponse resp, String type);\r
+\r
+ public abstract Result<Void> getPermsForRole(AuthzTrans trans, HttpServletResponse response, String roleName);\r
+\r
+ public abstract Result<Void> getPermsByNS(AuthzTrans trans, HttpServletResponse response, String ns);\r
+ \r
+ public abstract Result<Void> renamePerm(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp,\r
+ String type, String instance, String action);\r
+ \r
+ public abstract Result<Void> updatePermDescription(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+ \r
+ public abstract Result<Void> resetPermRoles(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+\r
+ public abstract Result<Void> deletePerm(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+\r
+ public abstract Result<Void> deletePerm(AuthzTrans trans, HttpServletResponse resp, \r
+ String perm, String type, String action);\r
+\r
+ /*\r
+ * Roles\r
+ */\r
+ public abstract Result<Void> createRole(AuthzTrans trans, HttpServletRequest req, HttpServletResponse response);\r
+ \r
+ public abstract Result<Void> getRolesByName(AuthzTrans trans,HttpServletResponse resp, String name);\r
+\r
+ public abstract Result<Void> getRolesByNS(AuthzTrans trans, HttpServletResponse resp, String ns);\r
+\r
+ public abstract Result<Void> getRolesByNameOnly(AuthzTrans trans, HttpServletResponse resp, String nameOnly);\r
+\r
+ public abstract Result<Void> getRolesByUser(AuthzTrans trans, HttpServletResponse resp, String user);\r
+\r
+ public abstract Result<Void> getRolesByPerm(AuthzTrans trans, HttpServletResponse resp, String type, String instance, String action);\r
+\r
+ public abstract Result<Void> updateRoleDescription(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+ \r
+ public abstract Result<Void> addPermToRole(AuthzTrans trans,HttpServletRequest req, HttpServletResponse resp);\r
+ \r
+ public abstract Result<Void> delPermFromRole(AuthzTrans trans,HttpServletRequest req, HttpServletResponse resp);\r
+\r
+ public abstract Result<Void> deleteRole(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+\r
+ public abstract Result<Void> deleteRole(AuthzTrans trans, HttpServletResponse resp, String role);\r
+\r
+ /*\r
+ * Users\r
+ */\r
+ \r
+ public abstract Result<Void> getUsersByRole(AuthzTrans trans, HttpServletResponse resp, String role);\r
+ \r
+ public abstract Result<Void> getUsersByPermission(AuthzTrans trans, HttpServletResponse resp, \r
+ String type, String instance, String action);\r
+\r
+\r
+\r
+ /*\r
+ * Delegates\r
+ */\r
+ public abstract Result<Void> createDelegate(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+ \r
+ public abstract Result<Void> updateDelegate(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+ \r
+ public abstract Result<Void> deleteDelegate(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+ \r
+ public abstract Result<Void> deleteDelegate(AuthzTrans trans, String user);\r
+ \r
+ public abstract Result<Void> getDelegatesByUser(AuthzTrans trans, String userName, HttpServletResponse resp);\r
+\r
+ public abstract Result<Void> getDelegatesByDelegate(AuthzTrans trans, String userName, HttpServletResponse resp);\r
+\r
+ /*\r
+ * Credentials\r
+ */\r
+ public abstract Result<Void> createUserCred(AuthzTrans trans, HttpServletRequest req);\r
+\r
+ public abstract Result<Void> changeUserCred(AuthzTrans trans, HttpServletRequest req);\r
+\r
+ public abstract Result<Void> extendUserCred(AuthzTrans trans, HttpServletRequest req, String days);\r
+\r
+ public abstract Result<Void> getCredsByNS(AuthzTrans trans, HttpServletResponse resp, String ns);\r
+\r
+ public abstract Result<Void> getCredsByID(AuthzTrans trans, HttpServletResponse resp, String id);\r
+\r
+ public abstract Result<Void> deleteUserCred(AuthzTrans trans, HttpServletRequest req);\r
+\r
+ public abstract Result<Void> validBasicAuth(AuthzTrans trans, HttpServletResponse resp, String basicAuth);\r
+\r
+ public abstract Result<Date> doesCredentialMatch(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+\r
+ /*\r
+ * Miscellaneous\r
+ */\r
+ /**\r
+ * Place Standard Messages based on HTTP Code onto Error Data Structure, and write to OutputStream\r
+ * Log message\r
+ */\r
+ public abstract void error(AuthzTrans trans, HttpServletResponse response, Result<?> result);\r
+\r
+ /*\r
+ * UserRole\r
+ */\r
+ public abstract Result<Void> requestUserRole(AuthzTrans trans,HttpServletRequest req, HttpServletResponse resp);\r
+ \r
+ public abstract Result<Void> getUserInRole(AuthzTrans trans, HttpServletResponse resp, String user, String role);\r
+ \r
+ public abstract Result<Void> getUserRolesByRole(AuthzTrans trans, HttpServletResponse resp, String role);\r
+ \r
+ public abstract Result<Void> getUserRolesByUser(AuthzTrans trans, HttpServletResponse resp, String user);\r
+\r
+ public abstract Result<Void> deleteUserRole(AuthzTrans trans, HttpServletResponse resp, String user, String role);\r
+ \r
+ public abstract Result<Void> resetUsersForRole(AuthzTrans trans, HttpServletResponse resp, HttpServletRequest req);\r
+\r
+ public abstract Result<Void> resetRolesForUser(AuthzTrans trans, HttpServletResponse resp, HttpServletRequest req);\r
+ \r
+ public abstract Result<Void> extendUserRoleExpiration(AuthzTrans trans, HttpServletResponse resp, String user,\r
+ String role);\r
+\r
+ /*\r
+ * Approval \r
+ */\r
+ public abstract Result<Void> updateApproval(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);\r
+ \r
+ public abstract Result<Void> getApprovalsByUser(AuthzTrans trans, HttpServletResponse resp, String user);\r
+ \r
+ public abstract Result<Void> getApprovalsByTicket(AuthzTrans trans, HttpServletResponse resp, String ticket);\r
+ \r
+ public abstract Result<Void> getApprovalsByApprover(AuthzTrans trans, HttpServletResponse resp, String approver);\r
+\r
+\r
+ /*\r
+ * History\r
+ */\r
+ public abstract Result<Void> getHistoryByUser(AuthzTrans trans, HttpServletResponse resp, String user, int[] yyyymm, final int sort);\r
+ \r
+ public abstract Result<Void> getHistoryByRole(AuthzTrans trans, HttpServletResponse resp, String subject, int[] yyyymm, final int sort);\r
+\r
+ public abstract Result<Void> getHistoryByPerm(AuthzTrans trans, HttpServletResponse resp, String subject, int[] yyyymm, final int sort);\r
+\r
+ public abstract Result<Void> getHistoryByNS(AuthzTrans trans, HttpServletResponse resp, String subject, int[] yyyymm, final int sort);\r
+\r
+ /*\r
+ * Cache \r
+ */\r
+ public abstract Result<Void> cacheClear(AuthzTrans trans, String pathParam);\r
+\r
+ public abstract Result<Void> cacheClear(AuthzTrans trans, String string,String segments);\r
+ \r
+ public abstract void dbReset(AuthzTrans trans);\r
+\r
+\r
+\r
+ /*\r
+ * API\r
+ */\r
+ public Result<Void> getAPI(AuthzTrans trans, HttpServletResponse resp, RServlet<AuthzTrans> rservlet);\r
+\r
+ public abstract Result<Void> getAPIExample(AuthzTrans trans, HttpServletResponse resp, String typeCode, boolean optional);\r
+\r
+ public abstract Result<Void> getCertInfoByID(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, String id);\r
+\r
+\r
+\r
+\r
+\r
+}\r