feat: 为访问令牌增加名称

- 支持创建和编辑访问令牌名称

- 在列表首列展示名称并兼容历史数据
This commit is contained in:
2026-08-07 12:55:04 +08:00
parent d244a0404d
commit 13dec6c216
8 changed files with 220 additions and 14 deletions

View File

@@ -79,6 +79,50 @@ public class SysApiKeyControllerTest {
verify(knowledgePermissionService).replaceApiPermissions(apiKeyId, true, true, true);
}
/**
* 验证名称可以单独更新,并在持久化前移除首尾空格。
*/
@Test
public void updateShouldPersistTrimmedNameOnly() {
BigInteger apiKeyId = BigInteger.valueOf(103);
SysApiKeyService apiKeyService = mock(SysApiKeyService.class);
KnowledgeSharePermissionService knowledgePermissionService =
mock(KnowledgeSharePermissionService.class);
SysApiKeyController controller = controller(apiKeyService, knowledgePermissionService);
SysApiKey existing = new SysApiKey();
existing.setId(apiKeyId);
when(apiKeyService.getById(apiKeyId)).thenReturn(existing);
SysApiKey request = new SysApiKey();
request.setId(apiKeyId);
request.setName(" 生产环境调用 ");
Result<?> result = controller.update(request);
assertEquals(result.getErrorCode(), 0);
assertEquals(request.getName(), "生产环境调用");
verify(apiKeyService).updateById(request);
}
/**
* 验证空白名称会被拒绝,避免覆盖为无意义内容。
*/
@Test
public void updateShouldRejectBlankName() {
SysApiKeyService apiKeyService = mock(SysApiKeyService.class);
KnowledgeSharePermissionService knowledgePermissionService =
mock(KnowledgeSharePermissionService.class);
SysApiKeyController controller = controller(apiKeyService, knowledgePermissionService);
SysApiKey request = new SysApiKey();
request.setId(BigInteger.valueOf(104));
request.setName(" ");
Result<?> result = controller.update(request);
assertNotEquals(result.getErrorCode(), 0);
verifyNoInteractions(apiKeyService, knowledgePermissionService);
}
/**
* 验证新版知识库权限缺少字段时拒绝更新,避免遗漏字段被隐式关闭。
*/