mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 02:46:56 +00:00
[opt](headless)Deletion of chat model and database should record user.
This commit is contained in:
@@ -15,5 +15,5 @@ public interface ChatModelService {
|
|||||||
|
|
||||||
ChatModel updateChatModel(ChatModel chatModel, User user);
|
ChatModel updateChatModel(ChatModel chatModel, User user);
|
||||||
|
|
||||||
void deleteChatModel(Integer id);
|
void deleteChatModel(Integer id, User user);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,7 +79,12 @@ public class ChatModelServiceImpl extends ServiceImpl<ChatModelMapper, ChatModel
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteChatModel(Integer id) {
|
public void deleteChatModel(Integer id, User user) {
|
||||||
|
ChatModel chatModel = getChatModel(id);
|
||||||
|
if (!checkAdminPermission(user, chatModel)) {
|
||||||
|
throw new RuntimeException("没有权限删除该大模型");
|
||||||
|
}
|
||||||
|
|
||||||
removeById(id);
|
removeById(id);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -103,4 +108,13 @@ public class ChatModelServiceImpl extends ServiceImpl<ChatModelMapper, ChatModel
|
|||||||
chatModelDO.setConfig(JsonUtil.toString(chatModel.getConfig()));
|
chatModelDO.setConfig(JsonUtil.toString(chatModel.getConfig()));
|
||||||
return chatModelDO;
|
return chatModelDO;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private boolean checkAdminPermission(User user, ChatModel chatModel) {
|
||||||
|
String admin = chatModel.getAdmin();
|
||||||
|
if (user.isSuperAdmin()) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return admin != null && admin.equals(user.getName())
|
||||||
|
|| chatModel.getCreatedBy().equals(user.getName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -46,8 +46,10 @@ public class ChatModelController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public boolean deleteModel(@PathVariable("id") Integer id) {
|
public boolean deleteModel(@PathVariable("id") Integer id,
|
||||||
chatModelService.deleteChatModel(id);
|
HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
|
||||||
|
User user = UserHolder.findUser(httpServletRequest, httpServletResponse);
|
||||||
|
chatModelService.deleteChatModel(id, user);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -64,8 +64,10 @@ public class DatabaseController {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@DeleteMapping("/{id}")
|
@DeleteMapping("/{id}")
|
||||||
public boolean deleteDatabase(@PathVariable("id") Long id) {
|
public boolean deleteDatabase(@PathVariable("id") Long id, HttpServletRequest request,
|
||||||
databaseService.deleteDatabase(id);
|
HttpServletResponse response) {
|
||||||
|
User user = UserHolder.findUser(request, response);
|
||||||
|
databaseService.deleteDatabase(id, user);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -34,7 +34,7 @@ public interface DatabaseService {
|
|||||||
|
|
||||||
List<DatabaseResp> getDatabaseList(User user);
|
List<DatabaseResp> getDatabaseList(User user);
|
||||||
|
|
||||||
void deleteDatabase(Long databaseId);
|
void deleteDatabase(Long databaseId, User user);
|
||||||
|
|
||||||
List<String> getCatalogs(Long id) throws SQLException;
|
List<String> getCatalogs(Long id) throws SQLException;
|
||||||
|
|
||||||
|
|||||||
@@ -138,7 +138,12 @@ public class DatabaseServiceImpl extends ServiceImpl<DatabaseDOMapper, DatabaseD
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void deleteDatabase(Long databaseId) {
|
public void deleteDatabase(Long databaseId, User user) {
|
||||||
|
DatabaseResp databaseResp = getDatabase(databaseId);
|
||||||
|
if (!checkAdminPermission(user, databaseResp)) {
|
||||||
|
throw new RuntimeException("没有权限删除该数据库");
|
||||||
|
}
|
||||||
|
|
||||||
ModelFilter modelFilter = new ModelFilter();
|
ModelFilter modelFilter = new ModelFilter();
|
||||||
modelFilter.setDatabaseId(databaseId);
|
modelFilter.setDatabaseId(databaseId);
|
||||||
modelFilter.setIncludesDetail(false);
|
modelFilter.setIncludesDetail(false);
|
||||||
|
|||||||
Reference in New Issue
Block a user