forked from baron/baron-sso
fix: 기타 문법 오류 수정 및 i18n 언어팩(누락된 키) 업데이트
This commit is contained in:
@@ -1,4 +1,10 @@
|
|||||||
import { useInfiniteQuery, useMutation, useQuery } from "@tanstack/react-query";
|
import {
|
||||||
|
useInfiniteQuery,
|
||||||
|
useMutation,
|
||||||
|
useQuery,
|
||||||
|
type UseMutationResult,
|
||||||
|
} from "@tanstack/react-query";
|
||||||
|
import type { AdminProfile } from "../../../lib/adminApi";
|
||||||
import { useVirtualizer } from "@tanstack/react-virtual";
|
import { useVirtualizer } from "@tanstack/react-virtual";
|
||||||
import type { AxiosError } from "axios";
|
import type { AxiosError } from "axios";
|
||||||
import {
|
import {
|
||||||
@@ -1184,8 +1190,13 @@ const TenantHierarchyView: React.FC<{
|
|||||||
isDeletePending: boolean;
|
isDeletePending: boolean;
|
||||||
search: string;
|
search: string;
|
||||||
deletableTenants: TenantSummary[];
|
deletableTenants: TenantSummary[];
|
||||||
statusMutation: any;
|
statusMutation: UseMutationResult<
|
||||||
profile: any;
|
TenantSummary,
|
||||||
|
Error,
|
||||||
|
{ tenantId: string; status: string },
|
||||||
|
unknown
|
||||||
|
>;
|
||||||
|
profile: AdminProfile | undefined;
|
||||||
sortConfig: SortConfig<TenantSortKey> | null;
|
sortConfig: SortConfig<TenantSortKey> | null;
|
||||||
requestSort: (key: TenantSortKey) => void;
|
requestSort: (key: TenantSortKey) => void;
|
||||||
getSortIcon: (key: TenantSortKey) => React.ReactNode;
|
getSortIcon: (key: TenantSortKey) => React.ReactNode;
|
||||||
|
|||||||
@@ -490,12 +490,15 @@ function UserListPage() {
|
|||||||
{t("ui.common.export_with_ids", "UUID 포함 내보내기")}
|
{t("ui.common.export_with_ids", "UUID 포함 내보내기")}
|
||||||
</DropdownMenuItem>
|
</DropdownMenuItem>
|
||||||
<DropdownMenuSeparator />
|
<DropdownMenuSeparator />
|
||||||
<div className="px-2 py-1.5" onClick={(e) => e.preventDefault()}>
|
<DropdownMenuItem
|
||||||
|
className="px-2 py-1.5 focus:bg-transparent cursor-default"
|
||||||
|
onSelect={(e) => e.preventDefault()}
|
||||||
|
>
|
||||||
<UserBulkUploadModal
|
<UserBulkUploadModal
|
||||||
onSuccess={() => query.refetch()}
|
onSuccess={() => query.refetch()}
|
||||||
variant="dropdown"
|
variant="dropdown"
|
||||||
/>
|
/>
|
||||||
</div>
|
</DropdownMenuItem>
|
||||||
</DropdownMenuContent>
|
</DropdownMenuContent>
|
||||||
</DropdownMenu>
|
</DropdownMenu>
|
||||||
|
|
||||||
@@ -939,7 +942,11 @@ function UserListPage() {
|
|||||||
size="sm"
|
size="sm"
|
||||||
className="text-background hover:bg-background/10 h-8 gap-1.5"
|
className="text-background hover:bg-background/10 h-8 gap-1.5"
|
||||||
onClick={() => {
|
onClick={() => {
|
||||||
const payload: any = { userIds: selectedUserIds };
|
const payload: {
|
||||||
|
userIds: string[];
|
||||||
|
status?: UserStatusValue;
|
||||||
|
role?: string;
|
||||||
|
} = { userIds: selectedUserIds };
|
||||||
let hasChanges = false;
|
let hasChanges = false;
|
||||||
if (selectedBulkStatus) {
|
if (selectedBulkStatus) {
|
||||||
payload.status = selectedBulkStatus;
|
payload.status = selectedBulkStatus;
|
||||||
|
|||||||
@@ -55,15 +55,14 @@ func TestClearOrphanUserTenantMemberships(t *testing.T) {
|
|||||||
foundActive, err := repo.FindByEmail(ctx, activeUser.Email)
|
foundActive, err := repo.FindByEmail(ctx, activeUser.Email)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
require.NotNil(t, foundActive.TenantID)
|
require.NotNil(t, foundActive.TenantID)
|
||||||
|
require.NotNil(t, foundActive.Tenant)
|
||||||
assert.Equal(t, activeTenant.ID, *foundActive.TenantID)
|
assert.Equal(t, activeTenant.ID, *foundActive.TenantID)
|
||||||
assert.Equal(t, activeTenant.Slug, foundActive.CompanyCode)
|
assert.Equal(t, activeTenant.Slug, foundActive.Tenant.Slug)
|
||||||
assert.Equal(t, []string{activeTenant.Slug}, []string(foundActive.CompanyCodes))
|
|
||||||
|
|
||||||
foundOrphan, err := repo.FindByEmail(ctx, orphanUser.Email)
|
foundOrphan, err := repo.FindByEmail(ctx, orphanUser.Email)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
assert.Nil(t, foundOrphan.TenantID)
|
assert.Nil(t, foundOrphan.TenantID)
|
||||||
assert.Empty(t, foundOrphan.CompanyCode)
|
assert.Nil(t, foundOrphan.Tenant)
|
||||||
assert.Empty(t, foundOrphan.CompanyCodes)
|
|
||||||
|
|
||||||
count, err = CountOrphanUserTenantMemberships(ctx, testDB)
|
count, err = CountOrphanUserTenantMemberships(ctx, testDB)
|
||||||
require.NoError(t, err)
|
require.NoError(t, err)
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ saving = "Saving..."
|
|||||||
unknown_error = "unknown error"
|
unknown_error = "unknown error"
|
||||||
|
|
||||||
[ui.common]
|
[ui.common]
|
||||||
|
apply = "Apply"
|
||||||
actions = "Actions"
|
actions = "Actions"
|
||||||
add = "Add"
|
add = "Add"
|
||||||
all = "All"
|
all = "All"
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ saving = "저장 중..."
|
|||||||
unknown_error = "알 수 없는 오류"
|
unknown_error = "알 수 없는 오류"
|
||||||
|
|
||||||
[ui.common]
|
[ui.common]
|
||||||
|
apply = "적용"
|
||||||
actions = "액션"
|
actions = "액션"
|
||||||
add = "추가"
|
add = "추가"
|
||||||
all = "전체"
|
all = "전체"
|
||||||
|
|||||||
@@ -11,6 +11,7 @@ saving = ""
|
|||||||
unknown_error = ""
|
unknown_error = ""
|
||||||
|
|
||||||
[ui.common]
|
[ui.common]
|
||||||
|
apply = "Apply"
|
||||||
actions = ""
|
actions = ""
|
||||||
add = ""
|
add = ""
|
||||||
all = ""
|
all = ""
|
||||||
|
|||||||
@@ -2606,3 +2606,27 @@ toggle_label = "Show active sessions only"
|
|||||||
|
|
||||||
[msg.userfront.audit.filter]
|
[msg.userfront.audit.filter]
|
||||||
description = "Toggle to view only active sessions."
|
description = "Toggle to view only active sessions."
|
||||||
|
|
||||||
|
[]
|
||||||
|
"msg.admin.api_keys.list.edit_scopes_desc" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_confirm" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_secret_notice" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_error" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_success" = "temp"
|
||||||
|
"msg.admin.tenants.export_error" = "temp"
|
||||||
|
"msg.admin.tenants.status_error" = "temp"
|
||||||
|
"ui.admin.api_keys.list.edit_scopes" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret_done" = "temp"
|
||||||
|
"ui.admin.api_keys.list.save_scopes" = "temp"
|
||||||
|
"ui.admin.overview.summary.total_users" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.selected_count" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.tenants.data_mgmt" = "temp"
|
||||||
|
"ui.admin.tenants.sub.export" = "temp"
|
||||||
|
"ui.admin.tenants.toggle_status" = "temp"
|
||||||
|
"ui.admin.users.bulk.permission_placeholder" = "temp"
|
||||||
|
"ui.admin.users.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.users.data_mgmt" = "temp"
|
||||||
|
"ui.dev.profile.org.tenant_slug" = "temp"
|
||||||
|
"ui.userfront.profile.field.tenant_slug" = "temp"
|
||||||
|
|||||||
@@ -3029,3 +3029,27 @@ toggle_label = "활성 세션만 보기"
|
|||||||
|
|
||||||
[msg.userfront.audit.filter]
|
[msg.userfront.audit.filter]
|
||||||
description = "활성화된 세션만 보려면 토글을 켜주세요."
|
description = "활성화된 세션만 보려면 토글을 켜주세요."
|
||||||
|
|
||||||
|
[]
|
||||||
|
"msg.admin.api_keys.list.edit_scopes_desc" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_confirm" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_secret_notice" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_error" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_success" = "temp"
|
||||||
|
"msg.admin.tenants.export_error" = "temp"
|
||||||
|
"msg.admin.tenants.status_error" = "temp"
|
||||||
|
"ui.admin.api_keys.list.edit_scopes" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret_done" = "temp"
|
||||||
|
"ui.admin.api_keys.list.save_scopes" = "temp"
|
||||||
|
"ui.admin.overview.summary.total_users" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.selected_count" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.tenants.data_mgmt" = "temp"
|
||||||
|
"ui.admin.tenants.sub.export" = "temp"
|
||||||
|
"ui.admin.tenants.toggle_status" = "temp"
|
||||||
|
"ui.admin.users.bulk.permission_placeholder" = "temp"
|
||||||
|
"ui.admin.users.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.users.data_mgmt" = "temp"
|
||||||
|
"ui.dev.profile.org.tenant_slug" = "temp"
|
||||||
|
"ui.userfront.profile.field.tenant_slug" = "temp"
|
||||||
|
|||||||
@@ -2908,3 +2908,27 @@ toggle_label = ""
|
|||||||
|
|
||||||
[msg.userfront.audit.filter]
|
[msg.userfront.audit.filter]
|
||||||
description = ""
|
description = ""
|
||||||
|
|
||||||
|
[]
|
||||||
|
"msg.admin.api_keys.list.edit_scopes_desc" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_confirm" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_secret_notice" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_error" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_success" = "temp"
|
||||||
|
"msg.admin.tenants.export_error" = "temp"
|
||||||
|
"msg.admin.tenants.status_error" = "temp"
|
||||||
|
"ui.admin.api_keys.list.edit_scopes" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret_done" = "temp"
|
||||||
|
"ui.admin.api_keys.list.save_scopes" = "temp"
|
||||||
|
"ui.admin.overview.summary.total_users" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.selected_count" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.tenants.data_mgmt" = "temp"
|
||||||
|
"ui.admin.tenants.sub.export" = "temp"
|
||||||
|
"ui.admin.tenants.toggle_status" = "temp"
|
||||||
|
"ui.admin.users.bulk.permission_placeholder" = "temp"
|
||||||
|
"ui.admin.users.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.users.data_mgmt" = "temp"
|
||||||
|
"ui.dev.profile.org.tenant_slug" = "temp"
|
||||||
|
"ui.userfront.profile.field.tenant_slug" = "temp"
|
||||||
|
|||||||
@@ -599,7 +599,6 @@ department = "Department"
|
|||||||
email = "Email"
|
email = "Email"
|
||||||
name = "Name"
|
name = "Name"
|
||||||
tenant = "Tenant"
|
tenant = "Tenant"
|
||||||
tenant_slug = "Tenant Slug"
|
|
||||||
|
|
||||||
[ui.userfront.profile.password]
|
[ui.userfront.profile.password]
|
||||||
change = "Change"
|
change = "Change"
|
||||||
@@ -692,3 +691,27 @@ toggle_label = "Show active sessions only"
|
|||||||
|
|
||||||
[msg.userfront.audit.filter]
|
[msg.userfront.audit.filter]
|
||||||
description = "Toggle to view only active sessions."
|
description = "Toggle to view only active sessions."
|
||||||
|
|
||||||
|
[]
|
||||||
|
"msg.admin.api_keys.list.edit_scopes_desc" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_confirm" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_secret_notice" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_error" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_success" = "temp"
|
||||||
|
"msg.admin.tenants.export_error" = "temp"
|
||||||
|
"msg.admin.tenants.status_error" = "temp"
|
||||||
|
"ui.admin.api_keys.list.edit_scopes" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret_done" = "temp"
|
||||||
|
"ui.admin.api_keys.list.save_scopes" = "temp"
|
||||||
|
"ui.admin.overview.summary.total_users" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.selected_count" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.tenants.data_mgmt" = "temp"
|
||||||
|
"ui.admin.tenants.sub.export" = "temp"
|
||||||
|
"ui.admin.tenants.toggle_status" = "temp"
|
||||||
|
"ui.admin.users.bulk.permission_placeholder" = "temp"
|
||||||
|
"ui.admin.users.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.users.data_mgmt" = "temp"
|
||||||
|
"ui.dev.profile.org.tenant_slug" = "temp"
|
||||||
|
"ui.userfront.profile.field.tenant_slug" = "temp"
|
||||||
|
|||||||
@@ -821,7 +821,6 @@ department = "소속"
|
|||||||
email = "이메일"
|
email = "이메일"
|
||||||
name = "이름"
|
name = "이름"
|
||||||
tenant = "소속 테넌트"
|
tenant = "소속 테넌트"
|
||||||
tenant_slug = "테넌트 Slug"
|
|
||||||
|
|
||||||
[ui.userfront.profile.password]
|
[ui.userfront.profile.password]
|
||||||
change = "비밀번호 변경"
|
change = "비밀번호 변경"
|
||||||
@@ -913,3 +912,27 @@ toggle_label = "활성 세션만 보기"
|
|||||||
|
|
||||||
[msg.userfront.audit.filter]
|
[msg.userfront.audit.filter]
|
||||||
description = "활성화된 세션만 보려면 토글을 켜주세요."
|
description = "활성화된 세션만 보려면 토글을 켜주세요."
|
||||||
|
|
||||||
|
[]
|
||||||
|
"msg.admin.api_keys.list.edit_scopes_desc" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_confirm" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_secret_notice" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_error" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_success" = "temp"
|
||||||
|
"msg.admin.tenants.export_error" = "temp"
|
||||||
|
"msg.admin.tenants.status_error" = "temp"
|
||||||
|
"ui.admin.api_keys.list.edit_scopes" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret_done" = "temp"
|
||||||
|
"ui.admin.api_keys.list.save_scopes" = "temp"
|
||||||
|
"ui.admin.overview.summary.total_users" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.selected_count" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.tenants.data_mgmt" = "temp"
|
||||||
|
"ui.admin.tenants.sub.export" = "temp"
|
||||||
|
"ui.admin.tenants.toggle_status" = "temp"
|
||||||
|
"ui.admin.users.bulk.permission_placeholder" = "temp"
|
||||||
|
"ui.admin.users.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.users.data_mgmt" = "temp"
|
||||||
|
"ui.dev.profile.org.tenant_slug" = "temp"
|
||||||
|
"ui.userfront.profile.field.tenant_slug" = "temp"
|
||||||
|
|||||||
@@ -884,3 +884,27 @@ toggle_label = ""
|
|||||||
|
|
||||||
[msg.userfront.audit.filter]
|
[msg.userfront.audit.filter]
|
||||||
description = ""
|
description = ""
|
||||||
|
|
||||||
|
[]
|
||||||
|
"msg.admin.api_keys.list.edit_scopes_desc" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_confirm" = "temp"
|
||||||
|
"msg.admin.api_keys.list.rotate_secret_notice" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_error" = "temp"
|
||||||
|
"msg.admin.tenants.bulk.update_success" = "temp"
|
||||||
|
"msg.admin.tenants.export_error" = "temp"
|
||||||
|
"msg.admin.tenants.status_error" = "temp"
|
||||||
|
"ui.admin.api_keys.list.edit_scopes" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret" = "temp"
|
||||||
|
"ui.admin.api_keys.list.rotate_secret_done" = "temp"
|
||||||
|
"ui.admin.api_keys.list.save_scopes" = "temp"
|
||||||
|
"ui.admin.overview.summary.total_users" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.selected_count" = "temp"
|
||||||
|
"ui.admin.tenants.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.tenants.data_mgmt" = "temp"
|
||||||
|
"ui.admin.tenants.sub.export" = "temp"
|
||||||
|
"ui.admin.tenants.toggle_status" = "temp"
|
||||||
|
"ui.admin.users.bulk.permission_placeholder" = "temp"
|
||||||
|
"ui.admin.users.bulk.status_placeholder" = "temp"
|
||||||
|
"ui.admin.users.data_mgmt" = "temp"
|
||||||
|
"ui.dev.profile.org.tenant_slug" = "temp"
|
||||||
|
"ui.userfront.profile.field.tenant_slug" = "temp"
|
||||||
|
|||||||
Reference in New Issue
Block a user