Skip to content

Commit e971684

Browse files
committed
Application Record API Endpoints
1 parent ef20864 commit e971684

File tree

3 files changed

+90
-0
lines changed

3 files changed

+90
-0
lines changed

server/api-service/lowcoder-infra/src/main/java/org/lowcoder/infra/constant/NewUrl.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ private NewUrl() {
1818
public static final String CUSTOM_AUTH = PREFIX + "/auth";
1919
public static final String INVITATION_URL = PREFIX + "/invitation";
2020
public static final String APPLICATION_URL = PREFIX + "/applications";
21+
public static final String APPLICATION_RECORD_URL = PREFIX + "/application-records";
2122

2223
public static final String APPLICATION_HISTORY_URL = PREFIX + "/application/history-snapshots";
2324
public static final String QUERY_URL = PREFIX + "/query";
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.lowcoder.api.application;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import org.lowcoder.api.framework.view.ResponseView;
5+
import org.lowcoder.api.application.ApplicationRecordApiService;
6+
import org.lowcoder.api.application.view.ApplicationRecordMetaView;
7+
import org.lowcoder.domain.application.model.ApplicationCombineId;
8+
import org.springframework.web.bind.annotation.PathVariable;
9+
import org.springframework.web.bind.annotation.RequestParam;
10+
import org.springframework.web.bind.annotation.RestController;
11+
import reactor.core.publisher.Mono;
12+
13+
import java.util.List;
14+
import java.util.Map;
15+
16+
@RequiredArgsConstructor
17+
@RestController
18+
public class ApplicationRecordController implements ApplicationRecordEndpoints
19+
{
20+
private final ApplicationRecordApiService applicationRecordApiService;
21+
22+
@Override
23+
public Mono<Void> delete(@PathVariable String applicationRecordId) {
24+
return applicationRecordApiService.delete(applicationRecordId);
25+
}
26+
27+
@Override
28+
public Mono<ResponseView<List<ApplicationRecordMetaView>>> getByApplicationId(@RequestParam(name = "applicationId") String applicationId) {
29+
return applicationRecordApiService.getByApplicationId(applicationId)
30+
.map(ResponseView::success);
31+
}
32+
33+
@Override
34+
public Mono<ResponseView<Map<String, Object>>> dslById(@RequestParam(name = "applicationId") String applicationId,
35+
@RequestParam(name = "applicationRecordId") String applicationRecordId) {
36+
ApplicationCombineId applicationCombineId = new ApplicationCombineId(applicationId, applicationRecordId);
37+
return applicationRecordApiService.getRecordDSLFromApplicationCombineId(applicationCombineId)
38+
.map(ResponseView::success);
39+
}
40+
41+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
package org.lowcoder.api.application;
2+
3+
import io.swagger.v3.oas.annotations.Operation;
4+
import org.lowcoder.api.framework.view.ResponseView;
5+
import org.lowcoder.api.application.view.ApplicationRecordMetaView;
6+
import org.springframework.web.bind.annotation.*;
7+
import reactor.core.publisher.Mono;
8+
9+
import java.util.List;
10+
import java.util.Map;
11+
12+
import static org.lowcoder.infra.constant.NewUrl.APPLICATION_RECORD_URL;
13+
14+
@RestController
15+
@RequestMapping(value = APPLICATION_RECORD_URL)
16+
public interface ApplicationRecordEndpoints
17+
{
18+
public static final String TAG_APPLICATION_RECORDS = "Application Record APIs";
19+
20+
@Operation(
21+
tags = TAG_APPLICATION_RECORDS,
22+
operationId = "deleteApplicationRecord",
23+
summary = "Delete Application Record",
24+
description = "Permanently remove a specific Application Record from Lowcoder using its unique record ID."
25+
)
26+
@DeleteMapping("/{ApplicationRecordId}")
27+
public Mono<Void> delete(@PathVariable String ApplicationRecordId);
28+
29+
@Operation(
30+
tags = TAG_APPLICATION_RECORDS,
31+
operationId = "getApplicationRecord",
32+
summary = "Get Application Record",
33+
description = "Retrieve a specific Application Record within Lowcoder using the associated application ID."
34+
)
35+
@GetMapping("/listByApplicationId")
36+
public Mono<ResponseView<List<ApplicationRecordMetaView>>> getByApplicationId(@RequestParam(name = "ApplicationId") String ApplicationId);
37+
38+
@Operation(
39+
tags = TAG_APPLICATION_RECORDS,
40+
operationId = "listApplicationRecords",
41+
summary = "Get Application Records",
42+
description = "Retrieve a list of Application Records, which store information related to executed queries within Lowcoder and the current Organization / Workspace by the impersonated User"
43+
)
44+
@GetMapping
45+
public Mono<ResponseView<Map<String, Object>>> dslById(@RequestParam(name = "ApplicationId") String ApplicationId,
46+
@RequestParam(name = "ApplicationRecordId") String ApplicationRecordId);
47+
48+
}

0 commit comments

Comments
 (0)