@actuate-media/cms-admin 0.31.0 → 0.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/__tests__/views/user-detail-drawer.render.test.js +31 -0
- package/dist/__tests__/views/user-detail-drawer.render.test.js.map +1 -1
- package/dist/views/users/UserDetailDrawer.d.ts.map +1 -1
- package/dist/views/users/UserDetailDrawer.js +45 -5
- package/dist/views/users/UserDetailDrawer.js.map +1 -1
- package/package.json +2 -2
- package/src/__tests__/views/user-detail-drawer.render.test.tsx +43 -0
- package/src/views/users/UserDetailDrawer.tsx +169 -24
|
@@ -57,15 +57,35 @@ const PERMISSIONS = {
|
|
|
57
57
|
};
|
|
58
58
|
const { cmsApi } = vi.hoisted(() => ({ cmsApi: vi.fn() }));
|
|
59
59
|
vi.mock('../../lib/api.js', () => ({ cmsApi }));
|
|
60
|
+
const DIRECTORY = [
|
|
61
|
+
{
|
|
62
|
+
id: 'u1',
|
|
63
|
+
name: 'Priya Nair',
|
|
64
|
+
email: 'priya@actuatemedia.com',
|
|
65
|
+
status: 'active',
|
|
66
|
+
isCurrentUser: false,
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
id: 'u2',
|
|
70
|
+
name: 'Dana Chen',
|
|
71
|
+
email: 'dana@actuatemedia.com',
|
|
72
|
+
status: 'active',
|
|
73
|
+
isCurrentUser: false,
|
|
74
|
+
},
|
|
75
|
+
];
|
|
60
76
|
cmsApi.mockImplementation(async (endpoint) => {
|
|
61
77
|
if (!endpoint)
|
|
62
78
|
return { data: null, status: 200 };
|
|
79
|
+
if (endpoint.includes('/transfer-content'))
|
|
80
|
+
return { data: { documents: 4, media: 0, templates: 0, total: 4 }, status: 200 };
|
|
63
81
|
if (endpoint.endsWith('/sessions'))
|
|
64
82
|
return { data: SESSIONS, status: 200 };
|
|
65
83
|
if (endpoint.endsWith('/permissions'))
|
|
66
84
|
return { data: PERMISSIONS, status: 200 };
|
|
67
85
|
if (endpoint.endsWith('/activity'))
|
|
68
86
|
return { data: [], status: 200 };
|
|
87
|
+
if (endpoint === '/users' || endpoint.startsWith('/users?'))
|
|
88
|
+
return { data: DIRECTORY, status: 200 };
|
|
69
89
|
if (endpoint.startsWith('/users/u1'))
|
|
70
90
|
return { data: DETAIL, status: 200 };
|
|
71
91
|
return { data: null, status: 200 };
|
|
@@ -109,5 +129,16 @@ describe('UserDetailDrawer', () => {
|
|
|
109
129
|
await waitFor(() => expect(screen.getByText('content.publish')).toBeTruthy());
|
|
110
130
|
expect(screen.getByText('dashboard.view')).toBeTruthy();
|
|
111
131
|
});
|
|
132
|
+
it('transfers content ownership to a chosen active recipient', async () => {
|
|
133
|
+
render(_jsx(UserDetailDrawer, { userId: "u1", open: true, onOpenChange: () => { } }));
|
|
134
|
+
await screen.findByText('Priya Nair');
|
|
135
|
+
fireEvent.click(screen.getByRole('button', { name: 'Transfer content' }));
|
|
136
|
+
// Modal opens and loads the directory, excluding the target (u1).
|
|
137
|
+
expect(await screen.findByText('Transfer content ownership')).toBeTruthy();
|
|
138
|
+
const select = (await screen.findByLabelText('Transfer to'));
|
|
139
|
+
fireEvent.change(select, { target: { value: 'u2' } });
|
|
140
|
+
fireEvent.click(screen.getByRole('button', { name: 'Transfer' }));
|
|
141
|
+
await waitFor(() => expect(cmsApi.mock.calls.some(([endpoint]) => String(endpoint).includes('/users/u1/transfer-content'))).toBe(true));
|
|
142
|
+
});
|
|
112
143
|
});
|
|
113
144
|
//# sourceMappingURL=user-detail-drawer.render.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-detail-drawer.render.test.js","sourceRoot":"","sources":["../../../src/__tests__/views/user-detail-drawer.render.test.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"user-detail-drawer.render.test.js","sourceRoot":"","sources":["../../../src/__tests__/views/user-detail-drawer.render.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserDetailDrawer.d.ts","sourceRoot":"","sources":["../../../src/views/users/UserDetailDrawer.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UserDetailDrawer.d.ts","sourceRoot":"","sources":["../../../src/views/users/UserDetailDrawer.tsx"],"names":[],"mappings":"AA+YA,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA;IACrC,8DAA8D;IAC9D,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,wBAAgB,gBAAgB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CAqpBhG"}
|
|
@@ -105,6 +105,45 @@ function ReauthDialog({ open, onClose, onSubmit, }) {
|
|
|
105
105
|
submit();
|
|
106
106
|
}, autoComplete: "current-password", className: "border-border bg-input-background text-foreground focus:ring-brand w-full rounded-md border px-3 py-2 text-sm focus:ring-2 focus:outline-none" })] }));
|
|
107
107
|
}
|
|
108
|
+
function TransferContentModal({ open, onClose, fromUser, onTransferred, }) {
|
|
109
|
+
// Only fetch the directory while the picker is open.
|
|
110
|
+
const members = useApiData(open ? '/users' : null);
|
|
111
|
+
const [toUserId, setToUserId] = useState('');
|
|
112
|
+
const [busy, setBusy] = useState(false);
|
|
113
|
+
const recipients = (members.data ?? []).filter((m) => m.id !== fromUser.id && m.status === 'active');
|
|
114
|
+
const submit = async () => {
|
|
115
|
+
if (!toUserId || busy)
|
|
116
|
+
return;
|
|
117
|
+
setBusy(true);
|
|
118
|
+
try {
|
|
119
|
+
const res = await cmsApi(`/users/${fromUser.id}/transfer-content`, {
|
|
120
|
+
method: 'POST',
|
|
121
|
+
body: JSON.stringify({ toUserId }),
|
|
122
|
+
});
|
|
123
|
+
if (res.error) {
|
|
124
|
+
toast.error(res.error);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
const c = res.data;
|
|
128
|
+
toast.success(c && c.total > 0
|
|
129
|
+
? `Transferred ${c.total} item${c.total === 1 ? '' : 's'} (${c.documents} docs, ${c.media} media, ${c.templates} templates).`
|
|
130
|
+
: 'Nothing to transfer.');
|
|
131
|
+
setToUserId('');
|
|
132
|
+
onClose();
|
|
133
|
+
onTransferred();
|
|
134
|
+
}
|
|
135
|
+
finally {
|
|
136
|
+
setBusy(false);
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
return (_jsxs(Modal, { open: open, onClose: () => {
|
|
140
|
+
setToUserId('');
|
|
141
|
+
onClose();
|
|
142
|
+
}, title: "Transfer content ownership", actions: _jsxs(_Fragment, { children: [_jsx(Button, { variant: "ghost", onClick: () => {
|
|
143
|
+
setToUserId('');
|
|
144
|
+
onClose();
|
|
145
|
+
}, children: "Cancel" }), _jsx(Button, { variant: "primary", loading: busy, disabled: !toUserId || busy, onClick: submit, children: "Transfer" })] }), children: [_jsxs("p", { className: "text-muted-foreground mb-3 text-sm", children: ["Reassign ", fromUser.name, "'s authored documents, uploaded media, and templates to another active member. Version history and audit records are left unchanged."] }), _jsx("label", { htmlFor: "transfer-to", className: "text-card-foreground mb-1 block text-sm font-medium", children: "Transfer to" }), members.loading ? (_jsx(Skeleton, { variant: "table-row", lines: 1 })) : recipients.length === 0 ? (_jsx("p", { className: "text-muted-foreground text-sm", children: "No other active members to receive the content." })) : (_jsxs("select", { id: "transfer-to", value: toUserId, onChange: (e) => setToUserId(e.target.value), className: "border-border bg-input-background text-foreground focus:ring-brand w-full rounded-md border px-3 py-2 text-sm focus:ring-2 focus:outline-none", children: [_jsx("option", { value: "", children: "Select a member\u2026" }), recipients.map((m) => (_jsxs("option", { value: m.id, children: [m.name, " (", m.email, ")"] }, m.id)))] }))] }));
|
|
146
|
+
}
|
|
108
147
|
// ---------------------------------------------------------------------------
|
|
109
148
|
// Small presentational bits
|
|
110
149
|
// ---------------------------------------------------------------------------
|
|
@@ -137,6 +176,7 @@ export function UserDetailDrawer({ userId, open, onOpenChange, onChanged }) {
|
|
|
137
176
|
const [reauth, setReauth] = useState(null);
|
|
138
177
|
const [confirm, setConfirm] = useState(null);
|
|
139
178
|
const [pending, setPending] = useState(null);
|
|
179
|
+
const [showTransfer, setShowTransfer] = useState(false);
|
|
140
180
|
const refreshAfterChange = useCallback(() => {
|
|
141
181
|
detail.refetch();
|
|
142
182
|
onChanged?.();
|
|
@@ -179,7 +219,7 @@ export function UserDetailDrawer({ userId, open, onOpenChange, onChanged }) {
|
|
|
179
219
|
}
|
|
180
220
|
}, []);
|
|
181
221
|
const u = detail.data;
|
|
182
|
-
return (
|
|
222
|
+
return (_jsx(_Fragment, { children: _jsxs(Drawer, { open: open, onOpenChange: onOpenChange, width: "max-w-xl", title: u ? u.name : detail.loading ? 'Loading…' : 'User', description: u?.email, headerExtra: u ? (_jsx("span", { className: `mr-1 inline-flex items-center rounded-full px-2 py-0.5 text-xs font-medium ${ROLE_PILL[u.roleName] ?? ROLE_PILL.Viewer}`, children: u.roleName })) : undefined, children: [detail.loading ? (_jsxs("div", { className: "space-y-3", children: [_jsx(Skeleton, { variant: "card" }), _jsx(Skeleton, { variant: "table-row", lines: 4 })] })) : detail.error || !u ? (_jsxs("div", { className: "flex items-center gap-3 py-6", children: [_jsx(AlertTriangle, { size: 18, className: "text-destructive shrink-0", "aria-hidden": true }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: detail.error ?? 'User not found.' }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => detail.refetch(), children: "Retry" })] })) : (_jsxs(Tabs.Root, { value: tab, onValueChange: setTab, children: [_jsx(Tabs.List, { className: "border-border mb-4 flex gap-1 overflow-x-auto border-b", "aria-label": "User detail sections", children: TABS.map((t) => (_jsx(Tabs.Trigger, { value: t.id, className: "text-muted-foreground hover:text-foreground data-[state=active]:text-foreground data-[state=active]:border-brand focus-visible:ring-ring -mb-px shrink-0 border-b-2 border-transparent px-3 py-2 text-sm font-medium transition-colors focus-visible:ring-2 focus-visible:outline-none", children: t.label }, t.id))) }), _jsxs(Tabs.Content, { value: "overview", tabIndex: -1, className: "focus:outline-none", children: [_jsxs("div", { className: "mb-4 flex items-center gap-2", children: [_jsxs("span", { className: `inline-flex items-center gap-1.5 text-sm ${STATUS_META[u.status].text}`, children: [_jsx("span", { className: `h-2 w-2 rounded-full ${STATUS_META[u.status].dot}`, "aria-hidden": true }), STATUS_META[u.status].label] }), u.isCurrentUser && (_jsx("span", { className: "bg-muted text-muted-foreground rounded px-1.5 py-0.5 text-xs", children: "You" })), u.externalDomain && (_jsx("span", { className: "bg-warning/10 text-warning rounded px-1.5 py-0.5 text-xs", children: "External domain" }))] }), _jsxs("dl", { className: "grid grid-cols-2 gap-x-4 gap-y-4", children: [_jsx(Fact, { label: "Role", value: u.roleName }), _jsx(Fact, { label: "Status", value: STATUS_META[u.status].label }), _jsx(Fact, { label: "Last active", value: relativeTime(u.lastActiveAt) }), _jsx(Fact, { label: "Last sign-in", value: relativeTime(u.lastLoginAt) }), _jsx(Fact, { label: "Created", value: formatDate(u.createdAt) }), _jsx(Fact, { label: "Accepted invite", value: formatDate(u.acceptedInviteAt) }), _jsx(Fact, { label: "Invited by", value: u.invitedBy ? (u.invitedBy.name) : (_jsx("span", { className: "text-muted-foreground", children: "\u2014" })) }), _jsx(Fact, { label: "Email domain", value: u.email.split('@')[1] ?? '—' }), _jsx(Fact, { label: "Content owned", value: `${u.contentOwnedCount} ${u.contentOwnedCount === 1 ? 'item' : 'items'}` }), _jsx(Fact, { label: "Email verified", value: u.emailVerified ? 'Yes' : _jsx("span", { className: "text-warning", children: "No" }) }), u.authProvider && _jsx(Fact, { label: "Auth provider", value: u.authProvider }), u.oauthProviders.length > 0 && (_jsx(Fact, { label: "Connected accounts", value: u.oauthProviders.join(', ') }))] }), u.contentOwnedCount > 0 && (_jsxs("div", { className: "border-info/30 bg-info/5 mt-4 flex items-start gap-2 rounded-md border p-3", children: [_jsx(FileText, { size: 14, className: "text-info mt-0.5 shrink-0", "aria-hidden": true }), _jsxs("div", { className: "min-w-0 flex-1", children: [_jsxs("p", { className: "text-muted-foreground text-xs", children: ["This user owns ", u.contentOwnedCount, " content", ' ', u.contentOwnedCount === 1 ? 'item' : 'items', ". Revoking access suspends the account and preserves their content and authorship \u2014 or reassign it to another member first."] }), _jsx(Button, { size: "sm", variant: "outline", className: "mt-2", leftIcon: _jsx(FileText, { size: 14, "aria-hidden": true }), onClick: () => setShowTransfer(true), children: "Transfer content" })] })] }))] }), _jsxs(Tabs.Content, { value: "security", tabIndex: -1, className: "focus:outline-none", children: [_jsx(SecurityRow, { icon: u.mfaEnabled ? _jsx(ShieldCheck, { size: 16 }) : _jsx(ShieldAlert, { size: 16 }), title: "Multi-factor authentication", description: u.mfaEnabled
|
|
183
223
|
? 'Enabled for this account.'
|
|
184
224
|
: u.mfaRequired
|
|
185
225
|
? 'Required but not yet enrolled.'
|
|
@@ -228,9 +268,9 @@ export function UserDetailDrawer({ userId, open, onOpenChange, onChanged }) {
|
|
|
228
268
|
onConfirm: () => runAction('revoke-all', `/users/${u.id}/sessions/revoke-all`, { method: 'POST' }, { successMsg: 'Sessions revoked.', after: () => sessions.refetch() }),
|
|
229
269
|
}), children: "Revoke all" }) }), _jsx("ul", { className: "space-y-2", children: sessions.data
|
|
230
270
|
?.filter((s) => s.active)
|
|
231
|
-
.map((s) => (_jsxs("li", { className: "border-border flex items-center justify-between gap-3 rounded-md border p-3", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [_jsx(Monitor, { size: 16, className: "text-muted-foreground shrink-0", "aria-hidden": true }), _jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "text-card-foreground flex items-center gap-1.5 text-sm", children: [_jsx("span", { className: "truncate", children: s.deviceLabel }), s.current && (_jsx("span", { className: "bg-success/10 text-success rounded px-1 text-[10px]", children: "This device" }))] }), _jsxs("div", { className: "text-muted-foreground text-xs", children: ["Signed in ", relativeTime(s.createdAt), " \u00B7 expires", ' ', formatDate(s.expiresAt)] })] })] }), _jsx("button", { type: "button", disabled: pending === `revoke-${s.id}`, onClick: () => runAction(`revoke-${s.id}`, `/users/${u.id}/sessions/${s.id}`, { method: 'DELETE' }, { successMsg: 'Session revoked.', after: () => sessions.refetch() }), className: "text-muted-foreground hover:text-destructive shrink-0 text-xs font-medium transition-colors disabled:opacity-50", children: "Revoke" })] }, s.id))) })] })) }), _jsx(Tabs.Content, { value: "activity", tabIndex: -1, className: "focus:outline-none", children: activity.loading ? (_jsx(Skeleton, { variant: "table-row", lines: 4 })) : activity.error ? (_jsxs("div", { className: "flex items-center gap-3 py-4", children: [_jsx(AlertTriangle, { size: 16, className: "text-destructive shrink-0", "aria-hidden": true }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: activity.error }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => activity.refetch(), children: "Retry" })] })) : (activity.data?.length ?? 0) === 0 ? (_jsx(EmptyState, { icon: _jsx(ActivityIcon, { size: 24, "aria-hidden": true }), title: "No recent activity", description: "Audit events for this user will appear here." })) : (_jsx("ul", { className: "space-y-1", children: activity.data?.map((e) => (_jsxs("li", { className: "hover:bg-accent/30 flex items-center justify-between gap-3 rounded-md px-2 py-2", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [_jsx(ActivityIcon, { size: 14, className: "text-muted-foreground shrink-0", "aria-hidden": true }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-card-foreground truncate text-sm", children: humanizeEvent(e.event) }), _jsxs("div", { className: "text-muted-foreground text-xs", children: [e.role === 'target' ? 'Affected this user' : 'Performed by this user', e.ipAddress ? ` · ${e.ipAddress}` : ''] })] })] }), _jsx("span", { className: "text-muted-foreground shrink-0 text-xs", children: relativeTime(e.timestamp) })] }, e.id))) })) }), _jsx(Tabs.Content, { value: "permissions", tabIndex: -1, className: "focus:outline-none", children: perms.loading ? (_jsx(Skeleton, { variant: "table-row", lines: 4 })) : perms.error ? (_jsxs("div", { className: "flex items-center gap-3 py-4", children: [_jsx(AlertTriangle, { size: 16, className: "text-destructive shrink-0", "aria-hidden": true }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: perms.error }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => perms.refetch(), children: "Retry" })] })) : perms.data ? (_jsxs(_Fragment, { children: [_jsxs("p", { className: "text-muted-foreground mb-3 text-sm", children: ["Effective role", ' ', _jsx("span", { className: "text-card-foreground font-medium", children: perms.data.roleName }), ' ', "grants ", perms.data.permissions.length, " permission", perms.data.permissions.length === 1 ? '' : 's', ". Permissions are derived from the role and managed in configuration."] }), _jsx("ul", { className: "flex flex-wrap gap-1.5", children: perms.data.permissions.map((p) => (_jsxs("li", { className: "border-border bg-muted/50 text-card-foreground inline-flex items-center gap-1 rounded-md border px-2 py-1 text-xs", children: [_jsx(Check, { size: 12, className: "text-success", "aria-hidden": true }), p] }, p))) })] })) : null })] }))
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
271
|
+
.map((s) => (_jsxs("li", { className: "border-border flex items-center justify-between gap-3 rounded-md border p-3", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [_jsx(Monitor, { size: 16, className: "text-muted-foreground shrink-0", "aria-hidden": true }), _jsxs("div", { className: "min-w-0", children: [_jsxs("div", { className: "text-card-foreground flex items-center gap-1.5 text-sm", children: [_jsx("span", { className: "truncate", children: s.deviceLabel }), s.current && (_jsx("span", { className: "bg-success/10 text-success rounded px-1 text-[10px]", children: "This device" }))] }), _jsxs("div", { className: "text-muted-foreground text-xs", children: ["Signed in ", relativeTime(s.createdAt), " \u00B7 expires", ' ', formatDate(s.expiresAt)] })] })] }), _jsx("button", { type: "button", disabled: pending === `revoke-${s.id}`, onClick: () => runAction(`revoke-${s.id}`, `/users/${u.id}/sessions/${s.id}`, { method: 'DELETE' }, { successMsg: 'Session revoked.', after: () => sessions.refetch() }), className: "text-muted-foreground hover:text-destructive shrink-0 text-xs font-medium transition-colors disabled:opacity-50", children: "Revoke" })] }, s.id))) })] })) }), _jsx(Tabs.Content, { value: "activity", tabIndex: -1, className: "focus:outline-none", children: activity.loading ? (_jsx(Skeleton, { variant: "table-row", lines: 4 })) : activity.error ? (_jsxs("div", { className: "flex items-center gap-3 py-4", children: [_jsx(AlertTriangle, { size: 16, className: "text-destructive shrink-0", "aria-hidden": true }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: activity.error }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => activity.refetch(), children: "Retry" })] })) : (activity.data?.length ?? 0) === 0 ? (_jsx(EmptyState, { icon: _jsx(ActivityIcon, { size: 24, "aria-hidden": true }), title: "No recent activity", description: "Audit events for this user will appear here." })) : (_jsx("ul", { className: "space-y-1", children: activity.data?.map((e) => (_jsxs("li", { className: "hover:bg-accent/30 flex items-center justify-between gap-3 rounded-md px-2 py-2", children: [_jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [_jsx(ActivityIcon, { size: 14, className: "text-muted-foreground shrink-0", "aria-hidden": true }), _jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-card-foreground truncate text-sm", children: humanizeEvent(e.event) }), _jsxs("div", { className: "text-muted-foreground text-xs", children: [e.role === 'target' ? 'Affected this user' : 'Performed by this user', e.ipAddress ? ` · ${e.ipAddress}` : ''] })] })] }), _jsx("span", { className: "text-muted-foreground shrink-0 text-xs", children: relativeTime(e.timestamp) })] }, e.id))) })) }), _jsx(Tabs.Content, { value: "permissions", tabIndex: -1, className: "focus:outline-none", children: perms.loading ? (_jsx(Skeleton, { variant: "table-row", lines: 4 })) : perms.error ? (_jsxs("div", { className: "flex items-center gap-3 py-4", children: [_jsx(AlertTriangle, { size: 16, className: "text-destructive shrink-0", "aria-hidden": true }), _jsx("span", { className: "text-destructive flex-1 text-sm", children: perms.error }), _jsx(Button, { variant: "outline", size: "sm", onClick: () => perms.refetch(), children: "Retry" })] })) : perms.data ? (_jsxs(_Fragment, { children: [_jsxs("p", { className: "text-muted-foreground mb-3 text-sm", children: ["Effective role", ' ', _jsx("span", { className: "text-card-foreground font-medium", children: perms.data.roleName }), ' ', "grants ", perms.data.permissions.length, " permission", perms.data.permissions.length === 1 ? '' : 's', ". Permissions are derived from the role and managed in configuration."] }), _jsx("ul", { className: "flex flex-wrap gap-1.5", children: perms.data.permissions.map((p) => (_jsxs("li", { className: "border-border bg-muted/50 text-card-foreground inline-flex items-center gap-1 rounded-md border px-2 py-1 text-xs", children: [_jsx(Check, { size: 12, className: "text-success", "aria-hidden": true }), p] }, p))) })] })) : null })] })), confirm && (_jsx(ConfirmDialog, { open: !!confirm, onClose: () => setConfirm(null), onConfirm: confirm.onConfirm, title: confirm.title, description: confirm.description, confirmLabel: confirm.confirmLabel, destructive: confirm.destructive })), _jsx(ReauthDialog, { open: !!reauth, onClose: () => setReauth(null), onSubmit: async (password) => {
|
|
272
|
+
if (reauth)
|
|
273
|
+
await reauth.run(password);
|
|
274
|
+
} }), u && (_jsx(TransferContentModal, { open: showTransfer, onClose: () => setShowTransfer(false), fromUser: { id: u.id, name: u.name, contentOwnedCount: u.contentOwnedCount }, onTransferred: refreshAfterChange }))] }) }));
|
|
235
275
|
}
|
|
236
276
|
//# sourceMappingURL=UserDetailDrawer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserDetailDrawer.js","sourceRoot":"","sources":["../../../src/views/users/UserDetailDrawer.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"UserDetailDrawer.js","sourceRoot":"","sources":["../../../src/views/users/UserDetailDrawer.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@actuate-media/cms-admin",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.32.0",
|
|
4
4
|
"repository": {
|
|
5
5
|
"type": "git",
|
|
6
6
|
"url": "https://github.com/actuate-media/actuatecms.git",
|
|
@@ -88,7 +88,7 @@
|
|
|
88
88
|
"tailwindcss": "^4.0.0",
|
|
89
89
|
"typescript": "^5.7.0",
|
|
90
90
|
"vitest": "^4.1.0",
|
|
91
|
-
"@actuate-media/cms-core": "0.
|
|
91
|
+
"@actuate-media/cms-core": "0.41.0",
|
|
92
92
|
"@actuate-media/component-blocks": "0.2.0"
|
|
93
93
|
},
|
|
94
94
|
"scripts": {
|
|
@@ -62,11 +62,32 @@ const PERMISSIONS = {
|
|
|
62
62
|
const { cmsApi } = vi.hoisted(() => ({ cmsApi: vi.fn() }))
|
|
63
63
|
vi.mock('../../lib/api.js', () => ({ cmsApi }))
|
|
64
64
|
|
|
65
|
+
const DIRECTORY = [
|
|
66
|
+
{
|
|
67
|
+
id: 'u1',
|
|
68
|
+
name: 'Priya Nair',
|
|
69
|
+
email: 'priya@actuatemedia.com',
|
|
70
|
+
status: 'active',
|
|
71
|
+
isCurrentUser: false,
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: 'u2',
|
|
75
|
+
name: 'Dana Chen',
|
|
76
|
+
email: 'dana@actuatemedia.com',
|
|
77
|
+
status: 'active',
|
|
78
|
+
isCurrentUser: false,
|
|
79
|
+
},
|
|
80
|
+
]
|
|
81
|
+
|
|
65
82
|
cmsApi.mockImplementation(async (endpoint?: string) => {
|
|
66
83
|
if (!endpoint) return { data: null, status: 200 }
|
|
84
|
+
if (endpoint.includes('/transfer-content'))
|
|
85
|
+
return { data: { documents: 4, media: 0, templates: 0, total: 4 }, status: 200 }
|
|
67
86
|
if (endpoint.endsWith('/sessions')) return { data: SESSIONS, status: 200 }
|
|
68
87
|
if (endpoint.endsWith('/permissions')) return { data: PERMISSIONS, status: 200 }
|
|
69
88
|
if (endpoint.endsWith('/activity')) return { data: [], status: 200 }
|
|
89
|
+
if (endpoint === '/users' || endpoint.startsWith('/users?'))
|
|
90
|
+
return { data: DIRECTORY, status: 200 }
|
|
70
91
|
if (endpoint.startsWith('/users/u1')) return { data: DETAIL, status: 200 }
|
|
71
92
|
return { data: null, status: 200 }
|
|
72
93
|
})
|
|
@@ -116,4 +137,26 @@ describe('UserDetailDrawer', () => {
|
|
|
116
137
|
await waitFor(() => expect(screen.getByText('content.publish')).toBeTruthy())
|
|
117
138
|
expect(screen.getByText('dashboard.view')).toBeTruthy()
|
|
118
139
|
})
|
|
140
|
+
|
|
141
|
+
it('transfers content ownership to a chosen active recipient', async () => {
|
|
142
|
+
render(<UserDetailDrawer userId="u1" open onOpenChange={() => {}} />)
|
|
143
|
+
await screen.findByText('Priya Nair')
|
|
144
|
+
|
|
145
|
+
fireEvent.click(screen.getByRole('button', { name: 'Transfer content' }))
|
|
146
|
+
|
|
147
|
+
// Modal opens and loads the directory, excluding the target (u1).
|
|
148
|
+
expect(await screen.findByText('Transfer content ownership')).toBeTruthy()
|
|
149
|
+
const select = (await screen.findByLabelText('Transfer to')) as HTMLSelectElement
|
|
150
|
+
fireEvent.change(select, { target: { value: 'u2' } })
|
|
151
|
+
|
|
152
|
+
fireEvent.click(screen.getByRole('button', { name: 'Transfer' }))
|
|
153
|
+
|
|
154
|
+
await waitFor(() =>
|
|
155
|
+
expect(
|
|
156
|
+
cmsApi.mock.calls.some(([endpoint]) =>
|
|
157
|
+
String(endpoint).includes('/users/u1/transfer-content'),
|
|
158
|
+
),
|
|
159
|
+
).toBe(true),
|
|
160
|
+
)
|
|
161
|
+
})
|
|
119
162
|
})
|
|
@@ -227,6 +227,126 @@ function ReauthDialog({
|
|
|
227
227
|
)
|
|
228
228
|
}
|
|
229
229
|
|
|
230
|
+
// ---------------------------------------------------------------------------
|
|
231
|
+
// Transfer content modal
|
|
232
|
+
// ---------------------------------------------------------------------------
|
|
233
|
+
|
|
234
|
+
interface TransferMember {
|
|
235
|
+
id: string
|
|
236
|
+
name: string
|
|
237
|
+
email: string
|
|
238
|
+
status: string
|
|
239
|
+
isCurrentUser: boolean
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
function TransferContentModal({
|
|
243
|
+
open,
|
|
244
|
+
onClose,
|
|
245
|
+
fromUser,
|
|
246
|
+
onTransferred,
|
|
247
|
+
}: {
|
|
248
|
+
open: boolean
|
|
249
|
+
onClose: () => void
|
|
250
|
+
fromUser: { id: string; name: string; contentOwnedCount: number }
|
|
251
|
+
onTransferred: () => void
|
|
252
|
+
}) {
|
|
253
|
+
// Only fetch the directory while the picker is open.
|
|
254
|
+
const members = useApiData<TransferMember[]>(open ? '/users' : null)
|
|
255
|
+
const [toUserId, setToUserId] = useState('')
|
|
256
|
+
const [busy, setBusy] = useState(false)
|
|
257
|
+
|
|
258
|
+
const recipients = (members.data ?? []).filter(
|
|
259
|
+
(m) => m.id !== fromUser.id && m.status === 'active',
|
|
260
|
+
)
|
|
261
|
+
|
|
262
|
+
const submit = async () => {
|
|
263
|
+
if (!toUserId || busy) return
|
|
264
|
+
setBusy(true)
|
|
265
|
+
try {
|
|
266
|
+
const res = await cmsApi<{
|
|
267
|
+
documents: number
|
|
268
|
+
media: number
|
|
269
|
+
templates: number
|
|
270
|
+
total: number
|
|
271
|
+
}>(`/users/${fromUser.id}/transfer-content`, {
|
|
272
|
+
method: 'POST',
|
|
273
|
+
body: JSON.stringify({ toUserId }),
|
|
274
|
+
})
|
|
275
|
+
if (res.error) {
|
|
276
|
+
toast.error(res.error)
|
|
277
|
+
return
|
|
278
|
+
}
|
|
279
|
+
const c = res.data
|
|
280
|
+
toast.success(
|
|
281
|
+
c && c.total > 0
|
|
282
|
+
? `Transferred ${c.total} item${c.total === 1 ? '' : 's'} (${c.documents} docs, ${c.media} media, ${c.templates} templates).`
|
|
283
|
+
: 'Nothing to transfer.',
|
|
284
|
+
)
|
|
285
|
+
setToUserId('')
|
|
286
|
+
onClose()
|
|
287
|
+
onTransferred()
|
|
288
|
+
} finally {
|
|
289
|
+
setBusy(false)
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
|
|
293
|
+
return (
|
|
294
|
+
<Modal
|
|
295
|
+
open={open}
|
|
296
|
+
onClose={() => {
|
|
297
|
+
setToUserId('')
|
|
298
|
+
onClose()
|
|
299
|
+
}}
|
|
300
|
+
title="Transfer content ownership"
|
|
301
|
+
actions={
|
|
302
|
+
<>
|
|
303
|
+
<Button
|
|
304
|
+
variant="ghost"
|
|
305
|
+
onClick={() => {
|
|
306
|
+
setToUserId('')
|
|
307
|
+
onClose()
|
|
308
|
+
}}
|
|
309
|
+
>
|
|
310
|
+
Cancel
|
|
311
|
+
</Button>
|
|
312
|
+
<Button variant="primary" loading={busy} disabled={!toUserId || busy} onClick={submit}>
|
|
313
|
+
Transfer
|
|
314
|
+
</Button>
|
|
315
|
+
</>
|
|
316
|
+
}
|
|
317
|
+
>
|
|
318
|
+
<p className="text-muted-foreground mb-3 text-sm">
|
|
319
|
+
Reassign {fromUser.name}'s authored documents, uploaded media, and templates to another
|
|
320
|
+
active member. Version history and audit records are left unchanged.
|
|
321
|
+
</p>
|
|
322
|
+
<label htmlFor="transfer-to" className="text-card-foreground mb-1 block text-sm font-medium">
|
|
323
|
+
Transfer to
|
|
324
|
+
</label>
|
|
325
|
+
{members.loading ? (
|
|
326
|
+
<Skeleton variant="table-row" lines={1} />
|
|
327
|
+
) : recipients.length === 0 ? (
|
|
328
|
+
<p className="text-muted-foreground text-sm">
|
|
329
|
+
No other active members to receive the content.
|
|
330
|
+
</p>
|
|
331
|
+
) : (
|
|
332
|
+
<select
|
|
333
|
+
id="transfer-to"
|
|
334
|
+
value={toUserId}
|
|
335
|
+
onChange={(e) => setToUserId(e.target.value)}
|
|
336
|
+
className="border-border bg-input-background text-foreground focus:ring-brand w-full rounded-md border px-3 py-2 text-sm focus:ring-2 focus:outline-none"
|
|
337
|
+
>
|
|
338
|
+
<option value="">Select a member…</option>
|
|
339
|
+
{recipients.map((m) => (
|
|
340
|
+
<option key={m.id} value={m.id}>
|
|
341
|
+
{m.name} ({m.email})
|
|
342
|
+
</option>
|
|
343
|
+
))}
|
|
344
|
+
</select>
|
|
345
|
+
)}
|
|
346
|
+
</Modal>
|
|
347
|
+
)
|
|
348
|
+
}
|
|
349
|
+
|
|
230
350
|
// ---------------------------------------------------------------------------
|
|
231
351
|
// Small presentational bits
|
|
232
352
|
// ---------------------------------------------------------------------------
|
|
@@ -309,6 +429,7 @@ export function UserDetailDrawer({ userId, open, onOpenChange, onChanged }: User
|
|
|
309
429
|
onConfirm: () => void
|
|
310
430
|
} | null>(null)
|
|
311
431
|
const [pending, setPending] = useState<string | null>(null)
|
|
432
|
+
const [showTransfer, setShowTransfer] = useState(false)
|
|
312
433
|
|
|
313
434
|
const refreshAfterChange = useCallback(() => {
|
|
314
435
|
detail.refetch()
|
|
@@ -469,13 +590,25 @@ export function UserDetailDrawer({ userId, open, onOpenChange, onChanged }: User
|
|
|
469
590
|
)}
|
|
470
591
|
</dl>
|
|
471
592
|
{u.contentOwnedCount > 0 && (
|
|
472
|
-
<div className="border-info/30 bg-info/5
|
|
593
|
+
<div className="border-info/30 bg-info/5 mt-4 flex items-start gap-2 rounded-md border p-3">
|
|
473
594
|
<FileText size={14} className="text-info mt-0.5 shrink-0" aria-hidden />
|
|
474
|
-
<
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
595
|
+
<div className="min-w-0 flex-1">
|
|
596
|
+
<p className="text-muted-foreground text-xs">
|
|
597
|
+
This user owns {u.contentOwnedCount} content{' '}
|
|
598
|
+
{u.contentOwnedCount === 1 ? 'item' : 'items'}. Revoking access suspends the
|
|
599
|
+
account and preserves their content and authorship — or reassign it to another
|
|
600
|
+
member first.
|
|
601
|
+
</p>
|
|
602
|
+
<Button
|
|
603
|
+
size="sm"
|
|
604
|
+
variant="outline"
|
|
605
|
+
className="mt-2"
|
|
606
|
+
leftIcon={<FileText size={14} aria-hidden />}
|
|
607
|
+
onClick={() => setShowTransfer(true)}
|
|
608
|
+
>
|
|
609
|
+
Transfer content
|
|
610
|
+
</Button>
|
|
611
|
+
</div>
|
|
479
612
|
</div>
|
|
480
613
|
)}
|
|
481
614
|
</Tabs.Content>
|
|
@@ -898,27 +1031,39 @@ export function UserDetailDrawer({ userId, open, onOpenChange, onChanged }: User
|
|
|
898
1031
|
</Tabs.Content>
|
|
899
1032
|
</Tabs.Root>
|
|
900
1033
|
)}
|
|
901
|
-
</Drawer>
|
|
902
1034
|
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
1035
|
+
{/* Auxiliary dialogs live inside the Drawer subtree so Radix's focus
|
|
1036
|
+
scope and aria-hidden management treat them as part of the active
|
|
1037
|
+
dialog rather than hiding them as background content. */}
|
|
1038
|
+
{confirm && (
|
|
1039
|
+
<ConfirmDialog
|
|
1040
|
+
open={!!confirm}
|
|
1041
|
+
onClose={() => setConfirm(null)}
|
|
1042
|
+
onConfirm={confirm.onConfirm}
|
|
1043
|
+
title={confirm.title}
|
|
1044
|
+
description={confirm.description}
|
|
1045
|
+
confirmLabel={confirm.confirmLabel}
|
|
1046
|
+
destructive={confirm.destructive}
|
|
1047
|
+
/>
|
|
1048
|
+
)}
|
|
1049
|
+
|
|
1050
|
+
<ReauthDialog
|
|
1051
|
+
open={!!reauth}
|
|
1052
|
+
onClose={() => setReauth(null)}
|
|
1053
|
+
onSubmit={async (password) => {
|
|
1054
|
+
if (reauth) await reauth.run(password)
|
|
1055
|
+
}}
|
|
912
1056
|
/>
|
|
913
|
-
)}
|
|
914
1057
|
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
1058
|
+
{u && (
|
|
1059
|
+
<TransferContentModal
|
|
1060
|
+
open={showTransfer}
|
|
1061
|
+
onClose={() => setShowTransfer(false)}
|
|
1062
|
+
fromUser={{ id: u.id, name: u.name, contentOwnedCount: u.contentOwnedCount }}
|
|
1063
|
+
onTransferred={refreshAfterChange}
|
|
1064
|
+
/>
|
|
1065
|
+
)}
|
|
1066
|
+
</Drawer>
|
|
922
1067
|
</>
|
|
923
1068
|
)
|
|
924
1069
|
}
|