[feature][common]Add permission management to chat model.

This commit is contained in:
jerryjzhang
2025-03-10 23:58:19 +08:00
parent 0dbf56d357
commit 93d585c0d5
14 changed files with 65 additions and 15 deletions

View File

@@ -44,6 +44,8 @@ public class DatabaseDO {
/** */
private String viewer;
private Integer isOpen = 0;
/** 配置信息 */
private String config;

View File

@@ -52,8 +52,10 @@ public class ChatModelController {
}
@RequestMapping("/getModelList")
public List<ChatModel> getModelList() {
return chatModelService.getChatModels();
public List<ChatModel> getModelList(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) {
User user = UserHolder.findUser(httpServletRequest, httpServletResponse);
return chatModelService.getChatModels(user);
}
@RequestMapping("/getModelAppList")

View File

@@ -96,14 +96,16 @@ public class DatabaseServiceImpl extends ServiceImpl<DatabaseDOMapper, DatabaseD
databaseResp.setHasEditPermission(true);
databaseResp.setHasUsePermission(true);
}
if (databaseResp.getViewers().contains(user.getName())) {
if (databaseResp.getViewers().contains(user.getName())
|| databaseResp.isPublic()) {
databaseResp.setHasUsePermission(true);
}
});
}
private boolean filterByAuth(DatabaseResp database, User user, AuthType authType) {
if (user.isSuperAdmin() || user.getName().equals(database.getCreatedBy())) {
if (database.isPublic() || user.isSuperAdmin()
|| user.getName().equals(database.getCreatedBy())) {
return true;
}
authType = authType == null ? AuthType.VIEWER : authType;