Skip to content

Commit 417cfc8

Browse files
committed
feat: support dir creation with purpose
1 parent b40974b commit 417cfc8

4 files changed

Lines changed: 408 additions & 3 deletions

File tree

api/src/main/java/com/ke/bella/files/api/FileController.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1035,6 +1035,12 @@ public OpenAIFile mkdir(@RequestBody MkdirOp op) {
10351035

10361036
validateDirectoryName(op.getName());
10371037
validateDescription(op.getDescription());
1038+
if(op.getPurpose() != null && !FilePurposeClassifier.allowedPurposes().contains(op.getPurpose())) {
1039+
throw new IllegalArgumentException(
1040+
String.format("Unsupported purpose: '%s'. Supported purposes are: %s",
1041+
op.getPurpose(),
1042+
String.join(", ", FilePurposeClassifier.allowedPurposes())));
1043+
}
10381044

10391045
String spaceCode = BellaContextHelper.getOperateSpaceCode();
10401046

@@ -1044,7 +1050,7 @@ public OpenAIFile mkdir(@RequestBody MkdirOp op) {
10441050
String.format("Directory '%s' already exists in current directory, ancestor_id: '%s'", op.getName(), op.getAncestorId()));
10451051
}
10461052

1047-
return fileService.mkdir(op.getName(), op.getAncestorId(), op.getDescription());
1053+
return fileService.mkdir(op.getName(), op.getAncestorId(), op.getDescription(), op.getPurpose());
10481054
});
10491055
}
10501056

api/src/main/java/com/ke/bella/files/protocol/FileSystemOps.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ public static class MkdirOp {
2828
private String ancestorId;
2929
private String name;
3030
private String description;
31+
private String purpose;
3132
}
3233

3334
@Data

api/src/main/java/com/ke/bella/files/service/FileService.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ public InputStreamWithCharset getFileInputStream(String fileId) {
562562
}
563563
}
564564

565-
public OpenAIFile mkdir(String name, String ancestorId, String description) {
565+
public OpenAIFile mkdir(String name, String ancestorId, String description, String purpose) {
566566
String spaceCode = BellaContextHelper.getOperateSpaceCode();
567567

568568
FileType fileType = FileType.DIRECTORY;
@@ -579,7 +579,7 @@ public OpenAIFile mkdir(String name, String ancestorId, String description) {
579579
fileDB.setPath("");
580580
fileDB.setBytes(0L);
581581
fileDB.setSpaceCode(spaceCode);
582-
fileDB.setPurpose(null);
582+
fileDB.setPurpose(purpose);
583583
fileDB.setMetaData("{}");
584584
fileDB.setAkCode(akCode);
585585
fileDB.setIsDir(1);

0 commit comments

Comments
 (0)