forked from EduCraft/curriculum-project-hub
feat(admin-web): add Feishu Application Connection admin page
ADR-0021 pins the organization<->Feishu application binding to 1:1 and the backend already exposes GET /api/org/:orgSlug/feishu-application-connection PUT /api/org/:orgSlug/feishu-application-connection (rotate/create) DELETE /api/org/:orgSlug/feishu-application-connection (disable) backed by FeishuApplicationConnectionService with versioned envelopes (ADR-0024). The org-admin SPA had no surface for it, so the only connection type the spec requires was unmanageable from the admin UI. Add a Feishu page that reads the current connection (status, redacted app fingerprint, active version, updatedAt), rotates credentials with appId/appSecret/botOpenId (+ optional verificationToken/encryptKey) as the backend requires, and disables with confirmation. Add the matching api client (feishuApplication / rotateFeishuApplication / disableFeishuApplication), a feishu nav icon and a nav entry.
This commit is contained in:
@@ -9,8 +9,9 @@
|
||||
| 'members'
|
||||
| 'teams'
|
||||
| 'projects'
|
||||
| 'provider'
|
||||
| 'menu'
|
||||
| 'provider'
|
||||
| 'feishu'
|
||||
| 'menu'
|
||||
| 'logout'
|
||||
| 'org'
|
||||
| 'chevron'
|
||||
@@ -54,6 +55,15 @@
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M13.19 8.688a4.5 4.5 0 016.364 6.364l-3.182 3.182a4.5 4.5 0 01-6.364-6.364" />
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M10.81 15.312a4.5 4.5 0 01-6.364-6.364l3.182-3.182a4.5 4.5 0 016.364 6.364" />
|
||||
</svg>
|
||||
{:else if name === 'feishu'}
|
||||
<svg class={className} viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75">
|
||||
<path
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
d="M4.5 8.25h15a8.25 8.25 0 01-8.25 8.25A8.25 8.25 0 014.5 8.25z"
|
||||
/>
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M8.25 11.25h.01M12 11.25h.01M15.75 11.25h.01" />
|
||||
</svg>
|
||||
{:else if name === 'menu'}
|
||||
<svg class={className} viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.75">
|
||||
<path stroke-linecap="round" stroke-linejoin="round" d="M3.75 6.75h16.5M3.75 12h16.5m-16.5 5.25h16.5" />
|
||||
|
||||
Reference in New Issue
Block a user