4952dbec7ed11e605c5c182d049600c2726d88dc
[aaf/authz.git] / auth / auth-certman / src / main / java / org / onap / aaf / auth / cm / facade / Facade.java
1 /**
2  * ============LICENSE_START====================================================
3  * org.onap.aaf
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
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
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====================================================
19  *
20  */
21
22 package org.onap.aaf.auth.cm.facade;
23
24 import java.io.IOException;
25
26 import javax.servlet.http.HttpServletRequest;
27 import javax.servlet.http.HttpServletResponse;
28
29 import org.onap.aaf.auth.cm.ca.CA;
30 import org.onap.aaf.auth.cm.mapper.Mapper;
31 import org.onap.aaf.auth.env.AuthzTrans;
32 import org.onap.aaf.auth.layer.Result;
33
34
35 /**
36  *   
37  * @author Jonathan
38  *
39  */
40 public interface Facade<REQ,CERT,ARTIFACTS,ERROR> {
41
42 /////////////////////  STANDARD ELEMENTS //////////////////
43     /** 
44      * @param trans
45      * @param response
46      * @param result
47      */
48     void error(AuthzTrans trans, HttpServletResponse response, Result<?> result);
49
50     /**
51      * 
52      * @param trans
53      * @param response
54      * @param status
55      */
56     void error(AuthzTrans trans, HttpServletResponse response, int status,    String msg, String ... detail);
57
58     /**
59      * Permission checker
60      *
61      * @param trans
62      * @param resp
63      * @param perm
64      * @return
65      * @throws IOException 
66      */
67     Result<Void> check(AuthzTrans trans, HttpServletResponse resp, String perm) throws IOException;
68
69     /**
70      * 
71      * @return
72      */
73     public Mapper<REQ,CERT,ARTIFACTS,ERROR> mapper();
74
75 /////////////////////  STANDARD ELEMENTS //////////////////
76     
77     /**
78      * 
79      * @param trans
80      * @param resp
81      * @param rservlet
82      * @return
83      */
84     public abstract Result<Void> requestCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, CA ca);
85
86     /**
87      * 
88      * @param trans
89      * @param resp
90      * @param rservlet
91      * @return
92      */
93     public abstract Result<Void> requestPersonalCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, CA ca);
94
95
96     /**
97      * 
98      * @param trans
99      * @param req
100      * @param resp
101      * @return
102      */
103     public abstract Result<Void> renewCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp, boolean withTrust);
104
105     /**
106      * 
107      * @param trans
108      * @param req
109      * @param resp
110      * @return
111      */
112     public abstract Result<Void> dropCert(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);
113     
114
115     /**
116      * 
117      * @param trans
118      * @param resp
119      * @param pathParam
120      * @return
121      */
122     public Result<Void> readCertsByMechID(AuthzTrans trans, HttpServletResponse resp, String mechID);
123     
124
125     /**
126      * 
127      * @param trans
128      * @param req
129      * @param resp
130      * @return
131      */
132     Result<Void> createArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);
133     
134     /**
135      * 
136      * @param trans
137      * @param req
138      * @param resp
139      * @return
140      */
141     Result<Void> readArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);
142
143     /**
144      * 
145      * @param trans
146      * @param resp
147      * @param mechid
148      * @param machine
149      * @return
150      */
151     Result<Void> readArtifacts(AuthzTrans trans, HttpServletResponse resp, String mechid, String machine);
152
153     /**
154      * 
155      * @param trans
156      * @param req
157      * @param resp
158      * @return
159      */
160     Result<Void> updateArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);
161     
162     /**
163      * 
164      * @param trans
165      * @param req
166      * @param resp
167      * @return
168      */
169     Result<Void> deleteArtifacts(AuthzTrans trans, HttpServletRequest req, HttpServletResponse resp);
170
171     /**
172      * 
173      * @param trans
174      * @param resp
175      * @param mechid
176      * @param machine
177      * @return
178      */
179     Result<Void> deleteArtifacts(AuthzTrans trans, HttpServletResponse resp, String mechid, String machine);
180
181
182 }