From ff4eb1eff335163cb8bfeda381522a2e578e9d04 Mon Sep 17 00:00:00 2001 From: colin Date: Thu, 19 Dec 2024 17:45:46 +0800 Subject: [PATCH] =?UTF-8?q?refactor(claims):=20=E9=87=8D=E6=9E=84=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E5=A3=B0=E6=98=8E=E5=BC=B9=E7=AA=97=E4=B8=BA=E5=85=AC?= =?UTF-8?q?=E5=85=B1=E7=BB=84=E4=BB=B6.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../packages/@abp/identity/src/api/users.ts | 20 ++- .../ClaimModal.vue} | 37 ++-- .../src/components/claims/ClaimTable.vue | 156 +++++++++++++++++ .../identity/src/components/claims/types.ts | 35 ++++ .../src/components/users/UserClaimModal.vue | 160 +++++------------- .../src/components/users/UserTable.vue | 1 + .../@abp/identity/src/types/claim-types.ts | 19 --- .../@abp/identity/src/types/claims.ts | 28 +++ .../packages/@abp/identity/src/types/users.ts | 17 -- 9 files changed, 287 insertions(+), 186 deletions(-) rename apps/vben5/packages/@abp/identity/src/components/{users/UserClaimEditModal.vue => claims/ClaimModal.vue} (72%) create mode 100644 apps/vben5/packages/@abp/identity/src/components/claims/ClaimTable.vue create mode 100644 apps/vben5/packages/@abp/identity/src/components/claims/types.ts create mode 100644 apps/vben5/packages/@abp/identity/src/types/claims.ts diff --git a/apps/vben5/packages/@abp/identity/src/api/users.ts b/apps/vben5/packages/@abp/identity/src/api/users.ts index f73e7a2dc..56848c068 100644 --- a/apps/vben5/packages/@abp/identity/src/api/users.ts +++ b/apps/vben5/packages/@abp/identity/src/api/users.ts @@ -1,13 +1,15 @@ import type { ListResultDto, PagedResultDto } from '@abp/core'; import type { IdentityRoleDto, OrganizationUnitDto } from '../types'; +import type { + IdentityClaimCreateDto, + IdentityClaimDeleteDto, + IdentityClaimDto, + IdentityClaimUpdateDto, +} from '../types/claims'; import type { ChangeUserPasswordInput, GetUserPagedListInput, - IdentityUserClaimCreateDto, - IdentityUserClaimDeleteDto, - IdentityUserClaimDto, - IdentityUserClaimUpdateDto, IdentityUserCreateDto, IdentityUserDto, IdentityUserUpdateDto, @@ -158,8 +160,8 @@ export function getRolesApi( */ export function getClaimsApi( id: string, -): Promise> { - return requestClient.get>( +): Promise> { + return requestClient.get>( `/api/identity/users/${id}/claims`, ); } @@ -171,7 +173,7 @@ export function getClaimsApi( */ export function deleteClaimApi( id: string, - input: IdentityUserClaimDeleteDto, + input: IdentityClaimDeleteDto, ): Promise { return requestClient.delete(`/api/identity/users/${id}/claims`, { params: input, @@ -185,7 +187,7 @@ export function deleteClaimApi( */ export function createClaimApi( id: string, - input: IdentityUserClaimCreateDto, + input: IdentityClaimCreateDto, ): Promise { return requestClient.post(`/api/identity/users/${id}/claims`, input); } @@ -197,7 +199,7 @@ export function createClaimApi( */ export function updateClaimApi( id: string, - input: IdentityUserClaimUpdateDto, + input: IdentityClaimUpdateDto, ): Promise { return requestClient.put(`/api/identity/users/${id}/claims`, input); } diff --git a/apps/vben5/packages/@abp/identity/src/components/users/UserClaimEditModal.vue b/apps/vben5/packages/@abp/identity/src/components/claims/ClaimModal.vue similarity index 72% rename from apps/vben5/packages/@abp/identity/src/components/users/UserClaimEditModal.vue rename to apps/vben5/packages/@abp/identity/src/components/claims/ClaimModal.vue index 94ce61037..4709cd7e4 100644 --- a/apps/vben5/packages/@abp/identity/src/components/users/UserClaimEditModal.vue +++ b/apps/vben5/packages/@abp/identity/src/components/claims/ClaimModal.vue @@ -1,22 +1,19 @@ + + + + diff --git a/apps/vben5/packages/@abp/identity/src/components/claims/types.ts b/apps/vben5/packages/@abp/identity/src/components/claims/types.ts new file mode 100644 index 000000000..6f2f6a22b --- /dev/null +++ b/apps/vben5/packages/@abp/identity/src/components/claims/types.ts @@ -0,0 +1,35 @@ +import type { ListResultDto } from '@abp/core'; + +import type { + IdentityClaimCreateDto, + IdentityClaimDeleteDto, + IdentityClaimDto, + IdentityClaimUpdateDto, +} from '../../types/claims'; + +interface ClaimEditModalProps { + /** 新增声明api */ + createApi: (input: IdentityClaimCreateDto) => Promise; + /** 新增声明权限代码 */ + createPolicy: string; + /** 删除声明api */ + deleteApi: (input: IdentityClaimDeleteDto) => Promise; + /** 删除声明权限代码 */ + deletePolicy: string; + /** 更新声明api */ + updateApi: (input: IdentityClaimUpdateDto) => Promise; + /** 更新声明权限代码 */ + updatePolicy: string; +} + +interface ClaimModalProps extends ClaimEditModalProps { + /** 加载声明列表api */ + getApi: () => Promise>; +} + +interface ClaimModalEvents { + (event: 'change', data: IdentityClaimDto): void; + (event: 'onDelete'): void; +} + +export type { ClaimEditModalProps, ClaimModalEvents, ClaimModalProps }; diff --git a/apps/vben5/packages/@abp/identity/src/components/users/UserClaimModal.vue b/apps/vben5/packages/@abp/identity/src/components/users/UserClaimModal.vue index e29a306ad..1ce9b43e2 100644 --- a/apps/vben5/packages/@abp/identity/src/components/users/UserClaimModal.vue +++ b/apps/vben5/packages/@abp/identity/src/components/users/UserClaimModal.vue @@ -1,26 +1,30 @@ diff --git a/apps/vben5/packages/@abp/identity/src/components/users/UserTable.vue b/apps/vben5/packages/@abp/identity/src/components/users/UserTable.vue index 758e31ebd..ec654fa32 100644 --- a/apps/vben5/packages/@abp/identity/src/components/users/UserTable.vue +++ b/apps/vben5/packages/@abp/identity/src/components/users/UserTable.vue @@ -194,6 +194,7 @@ const handleUnlock = async (row: IdentityUserDto) => { const handleMenuClick = async (row: IdentityUserDto, info: MenuInfo) => { switch (info.key) { case 'claims': { + console.log(claimModalApi); claimModalApi.setData(row); claimModalApi.open(); break; diff --git a/apps/vben5/packages/@abp/identity/src/types/claim-types.ts b/apps/vben5/packages/@abp/identity/src/types/claim-types.ts index 09741db51..2a7215ada 100644 --- a/apps/vben5/packages/@abp/identity/src/types/claim-types.ts +++ b/apps/vben5/packages/@abp/identity/src/types/claim-types.ts @@ -42,28 +42,9 @@ interface GetIdentityClaimTypePagedListInput filter?: string; } -interface IdentityClaimDto { - claimType: string; - claimValue: string; -} - -interface IdentityClaimDeleteDto { - claimType: string; - claimValue: string; -} - -type IdentityClaimCreateDto = IdentityClaimDeleteDto; - -interface IdentityClaimUpdateDto extends IdentityClaimDeleteDto { - newClaimValue: string; -} - export type { GetIdentityClaimTypePagedListInput, - IdentityClaimCreateDto, - IdentityClaimDto, IdentityClaimTypeCreateDto, IdentityClaimTypeDto, IdentityClaimTypeUpdateDto, - IdentityClaimUpdateDto, }; diff --git a/apps/vben5/packages/@abp/identity/src/types/claims.ts b/apps/vben5/packages/@abp/identity/src/types/claims.ts new file mode 100644 index 000000000..7e1a61d75 --- /dev/null +++ b/apps/vben5/packages/@abp/identity/src/types/claims.ts @@ -0,0 +1,28 @@ +interface IdentityClaimDto { + claimType: string; + claimValue: string; + id: string; +} + +interface IdentityClaimDeleteDto { + claimType: string; + claimValue: string; +} + +interface IdentityClaimUpdateDto { + claimType: string; + claimValue: string; + newClaimValue: string; +} + +interface IdentityClaimCreateDto { + claimType: string; + claimValue: string; +} + +export type { + IdentityClaimCreateDto, + IdentityClaimDeleteDto, + IdentityClaimDto, + IdentityClaimUpdateDto, +}; diff --git a/apps/vben5/packages/@abp/identity/src/types/users.ts b/apps/vben5/packages/@abp/identity/src/types/users.ts index 075564265..9c718cd88 100644 --- a/apps/vben5/packages/@abp/identity/src/types/users.ts +++ b/apps/vben5/packages/@abp/identity/src/types/users.ts @@ -6,8 +6,6 @@ import type { PagedAndSortedResultRequestDto, } from '@abp/core'; -import type { IdentityClaimDto } from './claim-types'; - /** 用户对象接口 */ interface IUser { /** 邮件地址 */ @@ -92,25 +90,10 @@ interface GetUserPagedListInput extends PagedAndSortedResultRequestDto { type IdentityUserCreateDto = IdentityUserCreateOrUpdateDto; type IdentityUserUpdateDto = IdentityUserCreateOrUpdateDto; -interface IdentityUserClaimDto extends IdentityClaimDto { - id: string; -} - -interface IdentityUserClaimUpdateDto extends IdentityClaimDto { - newClaimValue: string; -} - -type IdentityUserClaimDeleteDto = IdentityClaimDto; -type IdentityUserClaimCreateDto = IdentityClaimDto; - export type { ChangeMyPasswordInput, ChangeUserPasswordInput, GetUserPagedListInput, - IdentityUserClaimCreateDto, - IdentityUserClaimDeleteDto, - IdentityUserClaimDto, - IdentityUserClaimUpdateDto, IdentityUserCreateDto, IdentityUserDto, IdentityUserOrganizationUnitUpdateDto,