-
Notifications
You must be signed in to change notification settings - Fork 4.3k
/
Copy pathAttemptApiController.java
58 lines (48 loc) · 2.06 KB
/
AttemptApiController.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
/*
* Copyright (c) 2022 Airbyte, Inc., all rights reserved.
*/
package io.airbyte.server.apis;
import static io.airbyte.commons.auth.AuthRoleConstants.ADMIN;
import io.airbyte.api.generated.AttemptApi;
import io.airbyte.api.model.generated.InternalOperationResult;
import io.airbyte.api.model.generated.SaveAttemptSyncConfigRequestBody;
import io.airbyte.api.model.generated.SaveStatsRequestBody;
import io.airbyte.api.model.generated.SetWorkflowInAttemptRequestBody;
import io.airbyte.commons.server.handlers.AttemptHandler;
import io.micronaut.context.annotation.Requires;
import io.micronaut.http.MediaType;
import io.micronaut.http.annotation.Body;
import io.micronaut.http.annotation.Controller;
import io.micronaut.http.annotation.Post;
import io.micronaut.security.annotation.Secured;
import io.micronaut.security.rules.SecurityRule;
@Controller("/api/v1/attempt/")
@Requires(property = "airbyte.deployment-mode",
value = "OSS")
@Secured(SecurityRule.IS_AUTHENTICATED)
public class AttemptApiController implements AttemptApi {
private final AttemptHandler attemptHandler;
public AttemptApiController(final AttemptHandler attemptHandler) {
this.attemptHandler = attemptHandler;
}
@Override
@Post(uri = "/save_stats",
processes = MediaType.APPLICATION_JSON)
public InternalOperationResult saveStats(final SaveStatsRequestBody requestBody) {
return ApiHelper.execute(() -> attemptHandler.saveStats(requestBody));
}
@Override
@Post(uri = "/set_workflow_in_attempt",
processes = MediaType.APPLICATION_JSON)
@Secured({ADMIN})
public InternalOperationResult setWorkflowInAttempt(@Body final SetWorkflowInAttemptRequestBody requestBody) {
return ApiHelper.execute(() -> attemptHandler.setWorkflowInAttempt(requestBody));
}
@Override
@Post(uri = "/save_sync_config",
processes = MediaType.APPLICATION_JSON)
@Secured({ADMIN})
public InternalOperationResult saveSyncConfig(@Body final SaveAttemptSyncConfigRequestBody requestBody) {
return ApiHelper.execute(() -> attemptHandler.saveSyncConfig(requestBody));
}
}