23
23
public interface AsyncProjectService {
24
24
25
25
/**
26
- * Submits a project update request and returns a reactive {@link Mono< ProjectUpdateResponse >}
26
+ * Submits a project update request and returns a reactive {@link Mono<ProjectUpdateResponse>}
27
27
* object immediately.
28
28
* <p>
29
- * The method is non-blocking.
29
+ * The method implementation must be non-blocking.
30
30
* <p>
31
31
* The implementing class must ensure to be able to process all implementing classes of the
32
32
* {@link UpdateRequestBody} interface contained in the request.
@@ -47,6 +47,20 @@ Mono<ProjectUpdateResponse> update(
47
47
throws UnknownRequestException , RequestFailedException , AccessDeniedException ;
48
48
49
49
50
+ /**
51
+ * Submits a project creation request and returns a {@link Mono<ProjectCreationResponse>}
52
+ * immediately.
53
+ * <p>
54
+ * This implementation must be non-blocking.
55
+ *
56
+ * @param request the request with information required for project creation.
57
+ * @return {@link Mono<ProjectCreationResponse>} object publishing an
58
+ * {@link ProjectCreationResponse} on success.
59
+ * @throws UnknownRequestException if an unknown request has been used in the service call
60
+ * @throws RequestFailedException if the request was not successfully executed
61
+ * @throws AccessDeniedException if the user has insufficient rights
62
+ * @since 1.9.0
63
+ */
50
64
Mono <ProjectCreationResponse > create (ProjectCreationRequest request )
51
65
throws UnknownRequestException , RequestFailedException , AccessDeniedException ;
52
66
@@ -191,7 +205,8 @@ public String requestId() {
191
205
* @param responseBody the information that was updated.
192
206
* @since 1.9.0
193
207
*/
194
- record ProjectUpdateResponse (String projectId , UpdateResponseBody responseBody , String requestId ) {
208
+ record ProjectUpdateResponse (String projectId , UpdateResponseBody responseBody ,
209
+ String requestId ) {
195
210
196
211
public ProjectUpdateResponse {
197
212
if (projectId == null ) {
0 commit comments