@arcblock/did-connect-service 4.1.21 → 4.1.23
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/_generated/asset-bytes.js +1 -1
- package/dist/_generated/asset-manifest.js +3 -3
- package/dist/assets/admin-core.1fc3260c.js +1623 -0
- package/dist/assets/admin-core.5a2d69b0.js +2067 -0
- package/dist/assets/admin-core.9fff6042.js +2083 -0
- package/dist/assets/admin-core.a13c2729.js +1461 -0
- package/dist/assets/{admin-core.40671087.js → admin-core.a63bbc69.js} +2 -12
- package/dist/assets/admin-core.c0b5af61.js +1393 -0
- package/dist/assets/admin-core.cbbdbe6d.js +1465 -0
- package/dist/assets/admin-core.e83fd379.js +1397 -0
- package/dist/assets/admin-extra.143b5774.js +2543 -0
- package/dist/assets/admin-extra.35b91f98.js +2543 -0
- package/dist/assets/admin-extra.531b187f.js +2552 -0
- package/dist/assets/admin-extra.7ca9c16b.js +2529 -0
- package/dist/assets/admin-extra.841b2bbe.js +2530 -0
- package/dist/assets/admin-extra.afcb3651.js +2528 -0
- package/dist/assets/admin.7c5d5f04.css +2312 -0
- package/dist/assets/admin.c26bb17a.css +2219 -0
- package/dist/assets/login.4404e695.js +720 -0
- package/dist/assets/login.bb9f8b03.js +720 -0
- package/dist/assets/login.d3f05790.js +720 -0
- package/dist/assets/login.fa25f37a.js +720 -0
- package/dist/blocklet-service-rpc.d.ts.map +1 -1
- package/dist/blocklet-service-rpc.js +11 -8
- package/dist/blocklet-service-rpc.js.map +1 -1
- package/dist/blocklet-service.d.ts +11 -8
- package/dist/blocklet-service.d.ts.map +1 -1
- package/dist/blocklet-service.js +32 -38
- package/dist/blocklet-service.js.map +1 -1
- package/dist/embedded.d.ts +6 -0
- package/dist/embedded.d.ts.map +1 -1
- package/dist/embedded.js +1 -0
- package/dist/embedded.js.map +1 -1
- package/dist/handlers/account-merge-handler.d.ts +63 -0
- package/dist/handlers/account-merge-handler.d.ts.map +1 -0
- package/dist/handlers/account-merge-handler.js +263 -0
- package/dist/handlers/account-merge-handler.js.map +1 -0
- package/dist/handlers/auth-handler.d.ts +9 -5
- package/dist/handlers/auth-handler.d.ts.map +1 -1
- package/dist/handlers/auth-handler.js +28 -7
- package/dist/handlers/auth-handler.js.map +1 -1
- package/dist/handlers/blocklet-js-handler.d.ts +3 -2
- package/dist/handlers/blocklet-js-handler.d.ts.map +1 -1
- package/dist/handlers/blocklet-js-handler.js +4 -2
- package/dist/handlers/blocklet-js-handler.js.map +1 -1
- package/dist/handlers/branding-handler.d.ts +4 -0
- package/dist/handlers/branding-handler.d.ts.map +1 -1
- package/dist/handlers/branding-handler.js +12 -6
- package/dist/handlers/branding-handler.js.map +1 -1
- package/dist/handlers/cimd.d.ts +6 -1
- package/dist/handlers/cimd.d.ts.map +1 -1
- package/dist/handlers/cimd.js +12 -2
- package/dist/handlers/cimd.js.map +1 -1
- package/dist/handlers/did-connect-handler.d.ts +22 -0
- package/dist/handlers/did-connect-handler.d.ts.map +1 -1
- package/dist/handlers/did-connect-handler.js +191 -17
- package/dist/handlers/did-connect-handler.js.map +1 -1
- package/dist/handlers/email-login-handler.d.ts +2 -0
- package/dist/handlers/email-login-handler.d.ts.map +1 -1
- package/dist/handlers/email-login-handler.js +30 -14
- package/dist/handlers/email-login-handler.js.map +1 -1
- package/dist/handlers/oauth-handler.d.ts +15 -0
- package/dist/handlers/oauth-handler.d.ts.map +1 -1
- package/dist/handlers/oauth-handler.js +107 -43
- package/dist/handlers/oauth-handler.js.map +1 -1
- package/dist/handlers/passkey-handler.d.ts.map +1 -1
- package/dist/handlers/passkey-handler.js +40 -8
- package/dist/handlers/passkey-handler.js.map +1 -1
- package/dist/handlers/team-handler.d.ts +1 -1
- package/dist/handlers/team-handler.d.ts.map +1 -1
- package/dist/handlers/team-handler.js +43 -3
- package/dist/handlers/team-handler.js.map +1 -1
- package/dist/handlers/ticket-handler.d.ts.map +1 -1
- package/dist/handlers/ticket-handler.js +4 -2
- package/dist/handlers/ticket-handler.js.map +1 -1
- package/dist/handlers/unbind-account.d.ts +22 -0
- package/dist/handlers/unbind-account.d.ts.map +1 -0
- package/dist/handlers/unbind-account.js +20 -0
- package/dist/handlers/unbind-account.js.map +1 -0
- package/dist/http/security-headers.d.ts +38 -0
- package/dist/http/security-headers.d.ts.map +1 -0
- package/dist/http/security-headers.js +67 -0
- package/dist/http/security-headers.js.map +1 -0
- package/dist/identity/account-state.d.ts +37 -0
- package/dist/identity/account-state.d.ts.map +1 -0
- package/dist/identity/account-state.js +97 -0
- package/dist/identity/account-state.js.map +1 -0
- package/dist/identity/json-content-type.d.ts +14 -0
- package/dist/identity/json-content-type.d.ts.map +1 -0
- package/dist/identity/json-content-type.js +26 -0
- package/dist/identity/json-content-type.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/oauth-adapters/apple.d.ts +1 -1
- package/dist/oauth-adapters/apple.d.ts.map +1 -1
- package/dist/oauth-adapters/apple.js +2 -0
- package/dist/oauth-adapters/apple.js.map +1 -1
- package/dist/oauth-adapters/auth0-legacy.d.ts +1 -1
- package/dist/oauth-adapters/auth0-legacy.d.ts.map +1 -1
- package/dist/oauth-adapters/auth0-legacy.js +2 -0
- package/dist/oauth-adapters/auth0-legacy.js.map +1 -1
- package/dist/oauth-adapters/auth0.d.ts +1 -1
- package/dist/oauth-adapters/auth0.d.ts.map +1 -1
- package/dist/oauth-adapters/auth0.js +2 -0
- package/dist/oauth-adapters/auth0.js.map +1 -1
- package/dist/oauth-adapters/github.d.ts.map +1 -1
- package/dist/oauth-adapters/github.js +19 -12
- package/dist/oauth-adapters/github.js.map +1 -1
- package/dist/oauth-adapters/google.d.ts +1 -1
- package/dist/oauth-adapters/google.d.ts.map +1 -1
- package/dist/oauth-adapters/google.js +2 -0
- package/dist/oauth-adapters/google.js.map +1 -1
- package/dist/oauth-adapters/types.d.ts +7 -0
- package/dist/oauth-adapters/types.d.ts.map +1 -1
- package/dist/oauth-adapters/types.js +4 -1
- package/dist/oauth-adapters/types.js.map +1 -1
- package/dist/package-branding.d.ts +18 -0
- package/dist/package-branding.d.ts.map +1 -0
- package/dist/package-branding.js +103 -0
- package/dist/package-branding.js.map +1 -0
- package/dist/pages/admin/i18n.d.ts.map +1 -1
- package/dist/pages/admin/i18n.js +86 -0
- package/dist/pages/admin/i18n.js.map +1 -1
- package/dist/pages/admin/index.d.ts +4 -0
- package/dist/pages/admin/index.d.ts.map +1 -1
- package/dist/pages/admin/index.js +10 -2
- package/dist/pages/admin/index.js.map +1 -1
- package/dist/pages/admin/merge-confirm-view.d.ts +48 -0
- package/dist/pages/admin/merge-confirm-view.d.ts.map +1 -0
- package/dist/pages/admin/merge-confirm-view.js +85 -0
- package/dist/pages/admin/merge-confirm-view.js.map +1 -0
- package/dist/pages/admin/merge-method-picker.d.ts +12 -0
- package/dist/pages/admin/merge-method-picker.d.ts.map +1 -0
- package/dist/pages/admin/merge-method-picker.js +34 -0
- package/dist/pages/admin/merge-method-picker.js.map +1 -0
- package/dist/pages/admin/oauth-popup-close.d.ts +13 -0
- package/dist/pages/admin/oauth-popup-close.d.ts.map +1 -0
- package/dist/pages/admin/oauth-popup-close.js +15 -0
- package/dist/pages/admin/oauth-popup-close.js.map +1 -0
- package/dist/pages/admin/styles.d.ts +1 -1
- package/dist/pages/admin/styles.d.ts.map +1 -1
- package/dist/pages/admin/styles.js +83 -0
- package/dist/pages/admin/styles.js.map +1 -1
- package/dist/pages/admin/tab-audit.d.ts +1 -1
- package/dist/pages/admin/tab-audit.d.ts.map +1 -1
- package/dist/pages/admin/tab-audit.js +12 -0
- package/dist/pages/admin/tab-audit.js.map +1 -1
- package/dist/pages/admin/tab-profile-accounts.d.ts.map +1 -1
- package/dist/pages/admin/tab-profile-accounts.js +509 -3
- package/dist/pages/admin/tab-profile-accounts.js.map +1 -1
- package/dist/pages/invite-page.d.ts +1 -0
- package/dist/pages/invite-page.d.ts.map +1 -1
- package/dist/pages/invite-page.js +13 -3
- package/dist/pages/invite-page.js.map +1 -1
- package/dist/store/account-merge.d.ts +167 -0
- package/dist/store/account-merge.d.ts.map +1 -0
- package/dist/store/account-merge.js +313 -0
- package/dist/store/account-merge.js.map +1 -0
- package/dist/store/d1-store.d.ts +97 -7
- package/dist/store/d1-store.d.ts.map +1 -1
- package/dist/store/d1-store.js +421 -23
- package/dist/store/d1-store.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/migrations/0015_connected_accounts_id_index.sql +6 -0
- package/migrations/0016_did_aliases.sql +11 -0
- package/migrations/0017_unbind_revoke_and_cascade.sql +49 -0
- package/migrations/0018_primary_credential_did.sql +54 -0
- package/migrations/0019_account_merge.sql +16 -0
- package/migrations/0020_dedupe_connected_accounts.sql +24 -0
- package/package.json +3 -3
|
@@ -3,6 +3,6 @@
|
|
|
3
3
|
*/
|
|
4
4
|
type TFn = (key: string, params?: Record<string, string>) => string;
|
|
5
5
|
export declare function auditTabHtml(t: TFn): string;
|
|
6
|
-
export declare const AUDIT_TAB_SCRIPT = "\nvar auditPage = 1;\nvar auditPageSize = 50;\n\nvar AUDIT_ACTION_I18N = {\n \"login\": \"audit.actions.login\",\n \"user.register\": \"audit.actions.register\",\n \"user.login\": \"audit.actions.login\",\n \"user.accept_invitation\": \"audit.actions.acceptInvitation\",\n \"user.remove\": \"audit.actions.removeMember\",\n \"user.block\": \"audit.actions.blockMember\",\n \"user.unblock\": \"audit.actions.unblockMember\",\n \"user.role_change\": \"audit.actions.roleChange\",\n \"user.transfer_ownership\": \"audit.actions.transferOwnership\",\n \"user.profile_update\": \"audit.actions.profileUpdate\",\n \"user.avatar_update\": \"audit.actions.avatarUpdate\",\n \"user.avatar_delete\": \"audit.actions.avatarDelete\",\n \"user.email_change\": \"audit.actions.emailChange\",\n \"user.register_blocked\": \"audit.actions.registerBlocked\",\n \"invitation.create\": \"audit.actions.createInvitation\",\n \"invitation.delete\": \"audit.actions.deleteInvitation\",\n \"oauth.bind\": \"audit.actions.oauthBind\",\n \"oauth.unbind\": \"audit.actions.oauthUnbind\",\n \"accessKey.create\": \"audit.actions.accessKeyCreate\",\n \"accessKey.update\": \"audit.actions.accessKeyUpdate\",\n \"accessKey.delete\": \"audit.actions.accessKeyDelete\",\n \"membership.create\": \"audit.actions.membershipCreate\",\n \"membership.update_role\": \"audit.actions.membershipUpdateRole\",\n \"membership.remove\": \"audit.actions.membershipRemove\",\n \"passkey.connect\": \"audit.actions.passkeyConnect\",\n \"passkey.disconnect\": \"audit.actions.passkeyDisconnect\",\n \"access_policy.create\": \"audit.actions.accessPolicyCreate\",\n \"access_policy.update\": \"audit.actions.accessPolicyUpdate\",\n \"access_policy.delete\": \"audit.actions.accessPolicyDelete\",\n \"security_rule.create\": \"audit.actions.securityRuleCreate\",\n \"security_rule.update\": \"audit.actions.securityRuleUpdate\",\n \"security_rule.delete\": \"audit.actions.securityRuleDelete\",\n \"settings.oauth_update\": \"audit.actions.settingsOauthUpdate\",\n \"settings.oauth_delete\": \"audit.actions.settingsOauthDelete\",\n \"settings.builtin_providers_update\": \"audit.actions.settingsBuiltinProvidersUpdate\",\n \"settings.session_update\": \"audit.actions.settingsSessionUpdate\",\n \"settings.email_update\": \"audit.actions.settingsEmailUpdate\",\n};\n\nfunction translateAction(action) {\n var key = AUDIT_ACTION_I18N[action];\n return key ? __t(key) : action;\n}\n\nvar _ICONS = {\n login: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"/><polyline points=\"10 17 15 12 10 7\"/><line x1=\"15\" y1=\"12\" x2=\"3\" y2=\"12\"/></svg>',\n register: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"/><circle cx=\"9\" cy=\"7\" r=\"4\"/><line x1=\"19\" y1=\"8\" x2=\"19\" y2=\"14\"/><line x1=\"22\" y1=\"11\" x2=\"16\" y2=\"11\"/></svg>',\n block: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"/></svg>',\n unblock: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"/><path d=\"M7 11V7a5 5 0 0 1 9.9-1\"/></svg>',\n remove: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"/><circle cx=\"9\" cy=\"7\" r=\"4\"/><line x1=\"22\" y1=\"11\" x2=\"16\" y2=\"11\"/></svg>',\n trash: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"3 6 5 6 21 6\"/><path d=\"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6\"/><path d=\"M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2\"/></svg>',\n edit: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"/><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"/></svg>',\n create: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"/><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"/></svg>',\n key: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\"/></svg>',\n link: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"/><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"/></svg>',\n unlink: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"/><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"/><line x1=\"2\" y1=\"2\" x2=\"22\" y2=\"22\"/></svg>',\n mail: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"/><polyline points=\"22,6 12,13 2,6\"/></svg>',\n settings: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"/></svg>',\n shield: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"/></svg>',\n lock: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"/></svg>',\n image: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"/><polyline points=\"21 15 16 10 5 21\"/></svg>',\n at: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\"/></svg>',\n user: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"/><circle cx=\"12\" cy=\"7\" r=\"4\"/></svg>',\n crown: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 4l4.5 9L12 4l5.5 9L22 4l-3 13H5L2 4z\"/><line x1=\"5\" y1=\"17\" x2=\"19\" y2=\"17\"/></svg>',\n role: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16V4m0 0L3 8m4-4 4 4\"/><path d=\"M17 8v12m0 0 4-4m-4 4-4-4\"/></svg>',\n users: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"/><circle cx=\"9\" cy=\"7\" r=\"4\"/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"/></svg>',\n};\n\nfunction actionIcon(action) {\n if (!action) return \"\";\n switch (action) {\n case \"login\":\n case \"user.login\": return _ICONS.login;\n case \"user.register\": return _ICONS.register;\n case \"user.register_blocked\":\n case \"user.block\": return _ICONS.block;\n case \"user.unblock\": return _ICONS.unblock;\n case \"user.remove\":\n case \"membership.remove\": return _ICONS.remove;\n case \"user.role_change\":\n case \"membership.update_role\": return _ICONS.role;\n case \"user.transfer_ownership\": return _ICONS.crown;\n case \"user.profile_update\": return _ICONS.user;\n case \"user.avatar_update\":\n case \"user.avatar_delete\": return _ICONS.image;\n case \"user.email_change\": return _ICONS.at;\n case \"user.accept_invitation\":\n case \"invitation.create\":\n case \"invitation.delete\": return _ICONS.mail;\n case \"membership.create\": return _ICONS.users;\n case \"oauth.bind\": return _ICONS.link;\n case \"oauth.unbind\": return _ICONS.unlink;\n case \"passkey.connect\":\n case \"passkey.disconnect\":\n case \"accessKey.create\":\n case \"accessKey.update\":\n case \"accessKey.delete\": return _ICONS.key;\n case \"access_policy.create\":\n case \"access_policy.update\":\n case \"access_policy.delete\": return _ICONS.shield;\n case \"security_rule.create\":\n case \"security_rule.update\":\n case \"security_rule.delete\": return _ICONS.lock;\n case \"settings.oauth_update\":\n case \"settings.oauth_delete\":\n case \"settings.builtin_providers_update\":\n case \"settings.session_update\":\n case \"settings.email_update\": return _ICONS.settings;\n default:\n if (action.indexOf(\"delete\") !== -1) return _ICONS.trash;\n if (action.indexOf(\"create\") !== -1) return _ICONS.create;\n if (action.indexOf(\"update\") !== -1) return _ICONS.edit;\n return \"\";\n }\n}\n\nfunction actionBadgeClass(action) {\n if (!action) return \"badge-neutral\";\n var a = action.toLowerCase();\n // Destructive: delete / remove / block / unbind / disconnect / register_blocked\n if (a.indexOf(\"delete\") !== -1 || a.indexOf(\"remove\") !== -1 ||\n a.indexOf(\".block\") !== -1 || a.indexOf(\"unbind\") !== -1 ||\n a.indexOf(\"disconnect\") !== -1 || a.indexOf(\"register_blocked\") !== -1) {\n return \"badge-blocked\";\n }\n // Auth events: login / register\n if (a === \"login\" || a === \"user.login\" || a === \"user.register\") {\n return \"badge-member\";\n }\n // Restore: unblock\n if (a.indexOf(\"unblock\") !== -1) {\n return \"badge-admin\";\n }\n // Modifications: update / change / role_change / transfer / settings.*\n if (a.indexOf(\"update\") !== -1 || a.indexOf(\"change\") !== -1 ||\n a.indexOf(\"role_change\") !== -1 || a.indexOf(\"transfer\") !== -1 ||\n a.indexOf(\"settings.\") !== -1) {\n return \"badge-guest\";\n }\n // Create / bind / connect / accept / add\n return \"badge-owner\";\n}\n\nasync function loadAuditLogs(page) {\n auditPage = page || 1;\n var action = document.getElementById(\"audit-action-filter\").value;\n var qs = \"?page=\" + auditPage + \"&pageSize=\" + auditPageSize;\n if (action) qs += \"&action=\" + encodeURIComponent(action);\n document.getElementById(\"audit-table-wrap\").innerHTML = skeletonTable(4, 8);\n document.getElementById(\"audit-pagination\").innerHTML = \"\";\n var data = await api(\"GET\", \"/audit-logs\" + qs);\n if (!data.ok) {\n document.getElementById(\"audit-table-wrap\").innerHTML = '<div class=\"empty-state\"><div class=\"empty-state-icon\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 8v4m0 4h.01\"/></svg></div><div class=\"empty-state-title\">' + __t(\"audit.loadFailed\") + '</div></div>';\n return;\n }\n renderAuditLogs(data.logs, data.paging);\n}\n\nfunction renderAuditLogs(logs, paging) {\n var wrap = document.getElementById(\"audit-table-wrap\");\n if (!logs || logs.length === 0) {\n wrap.innerHTML = '<div class=\"empty-state\"><div class=\"empty-state-icon\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"/><polyline points=\"14 2 14 8 20 8\"/><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"/><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"/></svg></div><div class=\"empty-state-title\">' + __t(\"audit.noLogs\") + '</div><div class=\"empty-state-desc\">' + __t(\"audit.noLogsHint\") + '</div></div>';\n document.getElementById(\"audit-pagination\").innerHTML = \"\";\n return;\n }\n\n var html = '<table class=\"table\"><thead><tr><th>' + __t(\"audit.col.time\") + '</th><th>' + __t(\"audit.col.action\") + '</th><th>' + __t(\"audit.col.operator\") + '</th><th>' + __t(\"audit.col.target\") + '</th></tr></thead><tbody>';\n logs.forEach(function(log) {\n var time = relativeTime(log.createdAt);\n var absTime = absoluteTime(log.createdAt);\n var operatorName = log.operatorName\n ? escapeHtml(log.operatorName)\n : (log.operatorDid ? '<did-address did=\"' + escapeHtml(log.operatorDid) + '\" compact></did-address>' : \"\u2014\");\n var operatorRoleBadge = log.operatorRole\n ? ' <span class=\"badge badge-' + escapeHtml(log.operatorRole) + '\" style=\"font-size:10px;padding:1px 6px;\">' + escapeHtml(__t(\"common.\" + log.operatorRole)) + '</span>'\n : \"\";\n var target = log.targetName\n ? escapeHtml(log.targetName)\n : (log.targetDid ? '<did-address did=\"' + escapeHtml(log.targetDid) + '\" compact></did-address>' : \"\u2014\");\n\n // For register_blocked: show IP, method, reason in detail column\n var detail = \"\";\n if (log.action === \"user.register_blocked\") {\n var meta = {};\n try { meta = typeof log.metadata === \"string\" ? JSON.parse(log.metadata) : (log.metadata || {}); } catch(e) {}\n var parts = [];\n if (log.ip) parts.push('<span class=\"badge badge-neutral\" style=\"font-size:10px;padding:1px 6px;\">' + escapeHtml(log.ip) + '</span>');\n if (meta.source) parts.push('<span style=\"color:var(--fg-muted);font-size:12px\">' + escapeHtml(meta.source) + '</span>');\n if (meta.method) parts.push('<span class=\"badge ' + (meta.method === \"invite\" ? \"badge-guest\" : \"badge-blocked\") + '\" style=\"font-size:10px;padding:1px 6px;\">' + escapeHtml(meta.method) + '</span>');\n if (meta.reason) parts.push('<span style=\"color:var(--fg-muted);font-size:12px\">' + escapeHtml(meta.reason) + '</span>');\n detail = parts.length > 0 ? parts.join(\" \") : \"\u2014\";\n }\n\n html += '<tr><td><span class=\"cell-date\" title=\"' + escapeHtml(absTime) + '\">' + escapeHtml(time) + '</span></td>';\n html += '<td><span class=\"badge ' + actionBadgeClass(log.action) + '\" style=\"gap:3px\">' + actionIcon(log.action) + escapeHtml(translateAction(log.action)) + '</span></td>';\n html += '<td>' + operatorName + operatorRoleBadge + '</td>';\n html += '<td>' + (detail || target) + '</td></tr>';\n });\n html += '</tbody></table>';\n wrap.innerHTML = html;\n\n renderPagination(\"audit-pagination\", paging, loadAuditLogs);\n}\n\nregisterTab(\"audit-logs\", function() { loadAuditLogs(1); });\n";
|
|
6
|
+
export declare const AUDIT_TAB_SCRIPT = "\nvar auditPage = 1;\nvar auditPageSize = 50;\n\nvar AUDIT_ACTION_I18N = {\n \"login\": \"audit.actions.login\",\n \"user.register\": \"audit.actions.register\",\n \"user.login\": \"audit.actions.login\",\n \"user.accept_invitation\": \"audit.actions.acceptInvitation\",\n \"user.remove\": \"audit.actions.removeMember\",\n \"user.block\": \"audit.actions.blockMember\",\n \"user.unblock\": \"audit.actions.unblockMember\",\n \"user.role_change\": \"audit.actions.roleChange\",\n \"user.transfer_ownership\": \"audit.actions.transferOwnership\",\n \"user.profile_update\": \"audit.actions.profileUpdate\",\n \"user.avatar_update\": \"audit.actions.avatarUpdate\",\n \"user.avatar_delete\": \"audit.actions.avatarDelete\",\n \"user.email_change\": \"audit.actions.emailChange\",\n \"user.register_blocked\": \"audit.actions.registerBlocked\",\n \"invitation.create\": \"audit.actions.createInvitation\",\n \"invitation.delete\": \"audit.actions.deleteInvitation\",\n \"oauth.bind\": \"audit.actions.oauthBind\",\n \"oauth.unbind\": \"audit.actions.oauthUnbind\",\n \"accessKey.create\": \"audit.actions.accessKeyCreate\",\n \"accessKey.update\": \"audit.actions.accessKeyUpdate\",\n \"accessKey.delete\": \"audit.actions.accessKeyDelete\",\n \"membership.create\": \"audit.actions.membershipCreate\",\n \"membership.update_role\": \"audit.actions.membershipUpdateRole\",\n \"membership.remove\": \"audit.actions.membershipRemove\",\n \"passkey.connect\": \"audit.actions.passkeyConnect\",\n \"passkey.disconnect\": \"audit.actions.passkeyDisconnect\",\n \"access_policy.create\": \"audit.actions.accessPolicyCreate\",\n \"access_policy.update\": \"audit.actions.accessPolicyUpdate\",\n \"access_policy.delete\": \"audit.actions.accessPolicyDelete\",\n \"security_rule.create\": \"audit.actions.securityRuleCreate\",\n \"security_rule.update\": \"audit.actions.securityRuleUpdate\",\n \"security_rule.delete\": \"audit.actions.securityRuleDelete\",\n \"settings.oauth_update\": \"audit.actions.settingsOauthUpdate\",\n \"settings.oauth_delete\": \"audit.actions.settingsOauthDelete\",\n \"settings.builtin_providers_update\": \"audit.actions.settingsBuiltinProvidersUpdate\",\n \"settings.session_update\": \"audit.actions.settingsSessionUpdate\",\n \"settings.email_update\": \"audit.actions.settingsEmailUpdate\",\n \"account.merge.start\": \"audit.actions.mergeStart\",\n \"account.merge.proof\": \"audit.actions.mergeProof\",\n \"account.merge.dry_run\": \"audit.actions.mergeDryRun\",\n \"account.merge\": \"audit.actions.mergeCommit\",\n \"account.merge.rollback\": \"audit.actions.mergeRollback\",\n};\n\nfunction translateAction(action) {\n var key = AUDIT_ACTION_I18N[action];\n return key ? __t(key) : action;\n}\n\nvar _ICONS = {\n login: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4\"/><polyline points=\"10 17 15 12 10 7\"/><line x1=\"15\" y1=\"12\" x2=\"3\" y2=\"12\"/></svg>',\n register: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"/><circle cx=\"9\" cy=\"7\" r=\"4\"/><line x1=\"19\" y1=\"8\" x2=\"19\" y2=\"14\"/><line x1=\"22\" y1=\"11\" x2=\"16\" y2=\"11\"/></svg>',\n block: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"4.93\" y1=\"4.93\" x2=\"19.07\" y2=\"19.07\"/></svg>',\n unblock: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"/><path d=\"M7 11V7a5 5 0 0 1 9.9-1\"/></svg>',\n remove: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2\"/><circle cx=\"9\" cy=\"7\" r=\"4\"/><line x1=\"22\" y1=\"11\" x2=\"16\" y2=\"11\"/></svg>',\n trash: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polyline points=\"3 6 5 6 21 6\"/><path d=\"M19 6l-1 14a2 2 0 0 1-2 2H8a2 2 0 0 1-2-2L5 6\"/><path d=\"M9 6V4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v2\"/></svg>',\n edit: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7\"/><path d=\"M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z\"/></svg>',\n create: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><line x1=\"12\" y1=\"8\" x2=\"12\" y2=\"16\"/><line x1=\"8\" y1=\"12\" x2=\"16\" y2=\"12\"/></svg>',\n key: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\"/></svg>',\n link: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"/><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"/></svg>',\n unlink: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71\"/><path d=\"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71\"/><line x1=\"2\" y1=\"2\" x2=\"22\" y2=\"22\"/></svg>',\n mail: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z\"/><polyline points=\"22,6 12,13 2,6\"/></svg>',\n settings: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"3\"/><path d=\"M19.4 15a1.65 1.65 0 0 0 .33 1.82l.06.06a2 2 0 0 1-2.83 2.83l-.06-.06a1.65 1.65 0 0 0-1.82-.33 1.65 1.65 0 0 0-1 1.51V21a2 2 0 0 1-4 0v-.09A1.65 1.65 0 0 0 9 19.4a1.65 1.65 0 0 0-1.82.33l-.06.06a2 2 0 0 1-2.83-2.83l.06-.06A1.65 1.65 0 0 0 4.68 15a1.65 1.65 0 0 0-1.51-1H3a2 2 0 0 1 0-4h.09A1.65 1.65 0 0 0 4.6 9a1.65 1.65 0 0 0-.33-1.82l-.06-.06a2 2 0 0 1 2.83-2.83l.06.06A1.65 1.65 0 0 0 9 4.68a1.65 1.65 0 0 0 1-1.51V3a2 2 0 0 1 4 0v.09a1.65 1.65 0 0 0 1 1.51 1.65 1.65 0 0 0 1.82-.33l.06-.06a2 2 0 0 1 2.83 2.83l-.06.06A1.65 1.65 0 0 0 19.4 9a1.65 1.65 0 0 0 1.51 1H21a2 2 0 0 1 0 4h-.09a1.65 1.65 0 0 0-1.51 1z\"/></svg>',\n shield: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z\"/></svg>',\n lock: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"11\" width=\"18\" height=\"11\" rx=\"2\" ry=\"2\"/><path d=\"M7 11V7a5 5 0 0 1 10 0v4\"/></svg>',\n image: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\"/><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"/><polyline points=\"21 15 16 10 5 21\"/></svg>',\n at: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"12\" cy=\"12\" r=\"4\"/><path d=\"M16 8v5a3 3 0 0 0 6 0v-1a10 10 0 1 0-3.92 7.94\"/></svg>',\n user: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2\"/><circle cx=\"12\" cy=\"7\" r=\"4\"/></svg>',\n crown: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M2 4l4.5 9L12 4l5.5 9L22 4l-3 13H5L2 4z\"/><line x1=\"5\" y1=\"17\" x2=\"19\" y2=\"17\"/></svg>',\n role: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M7 16V4m0 0L3 8m4-4 4 4\"/><path d=\"M17 8v12m0 0 4-4m-4 4-4-4\"/></svg>',\n users: '<svg width=\"11\" height=\"11\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M17 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2\"/><circle cx=\"9\" cy=\"7\" r=\"4\"/><path d=\"M23 21v-2a4 4 0 0 0-3-3.87\"/><path d=\"M16 3.13a4 4 0 0 1 0 7.75\"/></svg>',\n};\n\nfunction actionIcon(action) {\n if (!action) return \"\";\n switch (action) {\n case \"login\":\n case \"user.login\": return _ICONS.login;\n case \"user.register\": return _ICONS.register;\n case \"user.register_blocked\":\n case \"user.block\": return _ICONS.block;\n case \"user.unblock\": return _ICONS.unblock;\n case \"user.remove\":\n case \"membership.remove\": return _ICONS.remove;\n case \"user.role_change\":\n case \"membership.update_role\": return _ICONS.role;\n case \"user.transfer_ownership\": return _ICONS.crown;\n case \"user.profile_update\": return _ICONS.user;\n case \"user.avatar_update\":\n case \"user.avatar_delete\": return _ICONS.image;\n case \"user.email_change\": return _ICONS.at;\n case \"user.accept_invitation\":\n case \"invitation.create\":\n case \"invitation.delete\": return _ICONS.mail;\n case \"membership.create\": return _ICONS.users;\n case \"oauth.bind\": return _ICONS.link;\n case \"oauth.unbind\": return _ICONS.unlink;\n case \"passkey.connect\":\n case \"passkey.disconnect\":\n case \"accessKey.create\":\n case \"accessKey.update\":\n case \"accessKey.delete\": return _ICONS.key;\n case \"access_policy.create\":\n case \"access_policy.update\":\n case \"access_policy.delete\": return _ICONS.shield;\n case \"security_rule.create\":\n case \"security_rule.update\":\n case \"security_rule.delete\": return _ICONS.lock;\n case \"settings.oauth_update\":\n case \"settings.oauth_delete\":\n case \"settings.builtin_providers_update\":\n case \"settings.session_update\":\n case \"settings.email_update\": return _ICONS.settings;\n default:\n if (action.indexOf(\"delete\") !== -1) return _ICONS.trash;\n if (action.indexOf(\"create\") !== -1) return _ICONS.create;\n if (action.indexOf(\"update\") !== -1) return _ICONS.edit;\n return \"\";\n }\n}\n\nfunction actionBadgeClass(action) {\n if (!action) return \"badge-neutral\";\n var a = action.toLowerCase();\n // Destructive: delete / remove / block / unbind / disconnect / register_blocked\n if (a.indexOf(\"delete\") !== -1 || a.indexOf(\"remove\") !== -1 ||\n a.indexOf(\".block\") !== -1 || a.indexOf(\"unbind\") !== -1 ||\n a.indexOf(\"disconnect\") !== -1 || a.indexOf(\"register_blocked\") !== -1) {\n return \"badge-blocked\";\n }\n // Auth events: login / register\n if (a === \"login\" || a === \"user.login\" || a === \"user.register\") {\n return \"badge-member\";\n }\n // Restore: unblock\n if (a.indexOf(\"unblock\") !== -1) {\n return \"badge-admin\";\n }\n // Modifications: update / change / role_change / transfer / settings.*\n if (a.indexOf(\"update\") !== -1 || a.indexOf(\"change\") !== -1 ||\n a.indexOf(\"role_change\") !== -1 || a.indexOf(\"transfer\") !== -1 ||\n a.indexOf(\"settings.\") !== -1) {\n return \"badge-guest\";\n }\n // Create / bind / connect / accept / add\n return \"badge-owner\";\n}\n\nasync function loadAuditLogs(page) {\n auditPage = page || 1;\n var action = document.getElementById(\"audit-action-filter\").value;\n var qs = \"?page=\" + auditPage + \"&pageSize=\" + auditPageSize;\n if (action) qs += \"&action=\" + encodeURIComponent(action);\n document.getElementById(\"audit-table-wrap\").innerHTML = skeletonTable(4, 8);\n document.getElementById(\"audit-pagination\").innerHTML = \"\";\n var data = await api(\"GET\", \"/audit-logs\" + qs);\n if (!data.ok) {\n document.getElementById(\"audit-table-wrap\").innerHTML = '<div class=\"empty-state\"><div class=\"empty-state-icon\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 8v4m0 4h.01\"/></svg></div><div class=\"empty-state-title\">' + __t(\"audit.loadFailed\") + '</div></div>';\n return;\n }\n renderAuditLogs(data.logs, data.paging);\n}\n\nfunction renderAuditLogs(logs, paging) {\n var wrap = document.getElementById(\"audit-table-wrap\");\n if (!logs || logs.length === 0) {\n wrap.innerHTML = '<div class=\"empty-state\"><div class=\"empty-state-icon\"><svg width=\"20\" height=\"20\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\"><path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\"/><polyline points=\"14 2 14 8 20 8\"/><line x1=\"16\" y1=\"13\" x2=\"8\" y2=\"13\"/><line x1=\"16\" y1=\"17\" x2=\"8\" y2=\"17\"/></svg></div><div class=\"empty-state-title\">' + __t(\"audit.noLogs\") + '</div><div class=\"empty-state-desc\">' + __t(\"audit.noLogsHint\") + '</div></div>';\n document.getElementById(\"audit-pagination\").innerHTML = \"\";\n return;\n }\n\n var html = '<table class=\"table\"><thead><tr><th>' + __t(\"audit.col.time\") + '</th><th>' + __t(\"audit.col.action\") + '</th><th>' + __t(\"audit.col.operator\") + '</th><th>' + __t(\"audit.col.target\") + '</th></tr></thead><tbody>';\n logs.forEach(function(log) {\n var time = relativeTime(log.createdAt);\n var absTime = absoluteTime(log.createdAt);\n var operatorName = log.operatorName\n ? escapeHtml(log.operatorName)\n : (log.operatorDid ? '<did-address did=\"' + escapeHtml(log.operatorDid) + '\" compact></did-address>' : \"\u2014\");\n var operatorRoleBadge = log.operatorRole\n ? ' <span class=\"badge badge-' + escapeHtml(log.operatorRole) + '\" style=\"font-size:10px;padding:1px 6px;\">' + escapeHtml(__t(\"common.\" + log.operatorRole)) + '</span>'\n : \"\";\n var target = log.targetName\n ? escapeHtml(log.targetName)\n : (log.targetDid ? '<did-address did=\"' + escapeHtml(log.targetDid) + '\" compact></did-address>' : \"\u2014\");\n\n // For register_blocked: show IP, method, reason in detail column\n var detail = \"\";\n if (log.action === \"user.register_blocked\") {\n var meta = {};\n try { meta = typeof log.metadata === \"string\" ? JSON.parse(log.metadata) : (log.metadata || {}); } catch(e) {}\n var parts = [];\n if (log.ip) parts.push('<span class=\"badge badge-neutral\" style=\"font-size:10px;padding:1px 6px;\">' + escapeHtml(log.ip) + '</span>');\n if (meta.source) parts.push('<span style=\"color:var(--fg-muted);font-size:12px\">' + escapeHtml(meta.source) + '</span>');\n if (meta.method) parts.push('<span class=\"badge ' + (meta.method === \"invite\" ? \"badge-guest\" : \"badge-blocked\") + '\" style=\"font-size:10px;padding:1px 6px;\">' + escapeHtml(meta.method) + '</span>');\n if (meta.reason) parts.push('<span style=\"color:var(--fg-muted);font-size:12px\">' + escapeHtml(meta.reason) + '</span>');\n detail = parts.length > 0 ? parts.join(\" \") : \"\u2014\";\n }\n\n html += '<tr><td><span class=\"cell-date\" title=\"' + escapeHtml(absTime) + '\">' + escapeHtml(time) + '</span></td>';\n html += '<td><span class=\"badge ' + actionBadgeClass(log.action) + '\" style=\"gap:3px\">' + actionIcon(log.action) + escapeHtml(translateAction(log.action)) + '</span></td>';\n html += '<td>' + operatorName + operatorRoleBadge + '</td>';\n html += '<td>' + (detail || target) + '</td></tr>';\n });\n html += '</tbody></table>';\n wrap.innerHTML = html;\n\n renderPagination(\"audit-pagination\", paging, loadAuditLogs);\n}\n\nregisterTab(\"audit-logs\", function() { loadAuditLogs(1); });\n";
|
|
7
7
|
export {};
|
|
8
8
|
//# sourceMappingURL=tab-audit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-audit.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-audit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAEpE,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"tab-audit.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-audit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAEpE,wBAAgB,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAgF3C;AAED,eAAO,MAAM,gBAAgB,2+hBAuN5B,CAAC"}
|
|
@@ -64,6 +64,13 @@ export function auditTabHtml(t) {
|
|
|
64
64
|
<option value="settings.session_update">${t("audit.actions.settingsSessionUpdate")}</option>
|
|
65
65
|
<option value="settings.email_update">${t("audit.actions.settingsEmailUpdate")}</option>
|
|
66
66
|
</optgroup>
|
|
67
|
+
<optgroup label="${t("audit.groups.merge")}">
|
|
68
|
+
<option value="account.merge.start">${t("audit.actions.mergeStart")}</option>
|
|
69
|
+
<option value="account.merge.proof">${t("audit.actions.mergeProof")}</option>
|
|
70
|
+
<option value="account.merge.dry_run">${t("audit.actions.mergeDryRun")}</option>
|
|
71
|
+
<option value="account.merge">${t("audit.actions.mergeCommit")}</option>
|
|
72
|
+
<option value="account.merge.rollback">${t("audit.actions.mergeRollback")}</option>
|
|
73
|
+
</optgroup>
|
|
67
74
|
</select>
|
|
68
75
|
<button class="btn btn-secondary btn-sm" onclick="loadAuditLogs(auditPage)">${t("audit.refresh")}</button>
|
|
69
76
|
</div>
|
|
@@ -117,6 +124,11 @@ var AUDIT_ACTION_I18N = {
|
|
|
117
124
|
"settings.builtin_providers_update": "audit.actions.settingsBuiltinProvidersUpdate",
|
|
118
125
|
"settings.session_update": "audit.actions.settingsSessionUpdate",
|
|
119
126
|
"settings.email_update": "audit.actions.settingsEmailUpdate",
|
|
127
|
+
"account.merge.start": "audit.actions.mergeStart",
|
|
128
|
+
"account.merge.proof": "audit.actions.mergeProof",
|
|
129
|
+
"account.merge.dry_run": "audit.actions.mergeDryRun",
|
|
130
|
+
"account.merge": "audit.actions.mergeCommit",
|
|
131
|
+
"account.merge.rollback": "audit.actions.mergeRollback",
|
|
120
132
|
};
|
|
121
133
|
|
|
122
134
|
function translateAction(action) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-audit.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-audit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,UAAU,YAAY,CAAC,CAAM;IACjC,OAAO,UAAU,CAAC;;8BAEU,CAAC,CAAC,aAAa,CAAC;4BAClB,CAAC,CAAC,YAAY,CAAC;;;;yBAIlB,CAAC,CAAC,kBAAkB,CAAC;yBACrB,CAAC,CAAC,mBAAmB,CAAC;wCACP,CAAC,CAAC,wBAAwB,CAAC;qCAC9B,CAAC,CAAC,qBAAqB,CAAC;gDACb,CAAC,CAAC,+BAA+B,CAAC;8CACpC,CAAC,CAAC,6BAA6B,CAAC;6CACjC,CAAC,CAAC,4BAA4B,CAAC;6CAC/B,CAAC,CAAC,4BAA4B,CAAC;4CAChC,CAAC,CAAC,2BAA2B,CAAC;qCACrC,CAAC,CAAC,2BAA2B,CAAC;uCAC5B,CAAC,CAAC,6BAA6B,CAAC;sCACjC,CAAC,CAAC,4BAA4B,CAAC;2CAC1B,CAAC,CAAC,0BAA0B,CAAC;kDACtB,CAAC,CAAC,iCAAiC,CAAC;iDACrC,CAAC,CAAC,gCAAgC,CAAC;;yBAE3D,CAAC,CAAC,yBAAyB,CAAC;4CACT,CAAC,CAAC,gCAAgC,CAAC;4CACnC,CAAC,CAAC,gCAAgC,CAAC;;yBAEtD,CAAC,CAAC,yBAAyB,CAAC;4CACT,CAAC,CAAC,gCAAgC,CAAC;iDAC9B,CAAC,CAAC,oCAAoC,CAAC;4CAC5C,CAAC,CAAC,gCAAgC,CAAC;;yBAEtD,CAAC,CAAC,oBAAoB,CAAC;qCACX,CAAC,CAAC,yBAAyB,CAAC;uCAC1B,CAAC,CAAC,2BAA2B,CAAC;;yBAE5C,CAAC,CAAC,sBAAsB,CAAC;0CACR,CAAC,CAAC,8BAA8B,CAAC;6CAC9B,CAAC,CAAC,iCAAiC,CAAC;;yBAExD,CAAC,CAAC,wBAAwB,CAAC;2CACT,CAAC,CAAC,+BAA+B,CAAC;2CAClC,CAAC,CAAC,+BAA+B,CAAC;2CAClC,CAAC,CAAC,+BAA+B,CAAC;;yBAEpD,CAAC,CAAC,2BAA2B,CAAC;+CACR,CAAC,CAAC,kCAAkC,CAAC;+CACrC,CAAC,CAAC,kCAAkC,CAAC;+CACrC,CAAC,CAAC,kCAAkC,CAAC;;yBAE3D,CAAC,CAAC,2BAA2B,CAAC;+CACR,CAAC,CAAC,kCAAkC,CAAC;+CACrC,CAAC,CAAC,kCAAkC,CAAC;+CACrC,CAAC,CAAC,kCAAkC,CAAC;;yBAE3D,CAAC,CAAC,uBAAuB,CAAC;gDACH,CAAC,CAAC,mCAAmC,CAAC;gDACtC,CAAC,CAAC,mCAAmC,CAAC;4DAC1B,CAAC,CAAC,8CAA8C,CAAC;kDAC3D,CAAC,CAAC,qCAAqC,CAAC;gDAC1C,CAAC,CAAC,mCAAmC,CAAC;;;
|
|
1
|
+
{"version":3,"file":"tab-audit.js","sourceRoot":"","sources":["../../../src/pages/admin/tab-audit.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,UAAU,YAAY,CAAC,CAAM;IACjC,OAAO,UAAU,CAAC;;8BAEU,CAAC,CAAC,aAAa,CAAC;4BAClB,CAAC,CAAC,YAAY,CAAC;;;;yBAIlB,CAAC,CAAC,kBAAkB,CAAC;yBACrB,CAAC,CAAC,mBAAmB,CAAC;wCACP,CAAC,CAAC,wBAAwB,CAAC;qCAC9B,CAAC,CAAC,qBAAqB,CAAC;gDACb,CAAC,CAAC,+BAA+B,CAAC;8CACpC,CAAC,CAAC,6BAA6B,CAAC;6CACjC,CAAC,CAAC,4BAA4B,CAAC;6CAC/B,CAAC,CAAC,4BAA4B,CAAC;4CAChC,CAAC,CAAC,2BAA2B,CAAC;qCACrC,CAAC,CAAC,2BAA2B,CAAC;uCAC5B,CAAC,CAAC,6BAA6B,CAAC;sCACjC,CAAC,CAAC,4BAA4B,CAAC;2CAC1B,CAAC,CAAC,0BAA0B,CAAC;kDACtB,CAAC,CAAC,iCAAiC,CAAC;iDACrC,CAAC,CAAC,gCAAgC,CAAC;;yBAE3D,CAAC,CAAC,yBAAyB,CAAC;4CACT,CAAC,CAAC,gCAAgC,CAAC;4CACnC,CAAC,CAAC,gCAAgC,CAAC;;yBAEtD,CAAC,CAAC,yBAAyB,CAAC;4CACT,CAAC,CAAC,gCAAgC,CAAC;iDAC9B,CAAC,CAAC,oCAAoC,CAAC;4CAC5C,CAAC,CAAC,gCAAgC,CAAC;;yBAEtD,CAAC,CAAC,oBAAoB,CAAC;qCACX,CAAC,CAAC,yBAAyB,CAAC;uCAC1B,CAAC,CAAC,2BAA2B,CAAC;;yBAE5C,CAAC,CAAC,sBAAsB,CAAC;0CACR,CAAC,CAAC,8BAA8B,CAAC;6CAC9B,CAAC,CAAC,iCAAiC,CAAC;;yBAExD,CAAC,CAAC,wBAAwB,CAAC;2CACT,CAAC,CAAC,+BAA+B,CAAC;2CAClC,CAAC,CAAC,+BAA+B,CAAC;2CAClC,CAAC,CAAC,+BAA+B,CAAC;;yBAEpD,CAAC,CAAC,2BAA2B,CAAC;+CACR,CAAC,CAAC,kCAAkC,CAAC;+CACrC,CAAC,CAAC,kCAAkC,CAAC;+CACrC,CAAC,CAAC,kCAAkC,CAAC;;yBAE3D,CAAC,CAAC,2BAA2B,CAAC;+CACR,CAAC,CAAC,kCAAkC,CAAC;+CACrC,CAAC,CAAC,kCAAkC,CAAC;+CACrC,CAAC,CAAC,kCAAkC,CAAC;;yBAE3D,CAAC,CAAC,uBAAuB,CAAC;gDACH,CAAC,CAAC,mCAAmC,CAAC;gDACtC,CAAC,CAAC,mCAAmC,CAAC;4DAC1B,CAAC,CAAC,8CAA8C,CAAC;kDAC3D,CAAC,CAAC,qCAAqC,CAAC;gDAC1C,CAAC,CAAC,mCAAmC,CAAC;;yBAE7D,CAAC,CAAC,oBAAoB,CAAC;8CACF,CAAC,CAAC,0BAA0B,CAAC;8CAC7B,CAAC,CAAC,0BAA0B,CAAC;gDAC3B,CAAC,CAAC,2BAA2B,CAAC;wCACtC,CAAC,CAAC,2BAA2B,CAAC;iDACrB,CAAC,CAAC,6BAA6B,CAAC;;;kFAGC,CAAC,CAAC,eAAe,CAAC;;;;;;;;CAQnG,CAAC;AACF,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,QAAQ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuNxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab-profile-accounts.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-profile-accounts.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"tab-profile-accounts.d.ts","sourceRoot":"","sources":["../../../src/pages/admin/tab-profile-accounts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAYH,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,MAAM,CAAC;AAqBpE,wBAAgB,yBAAyB,CAAC,CAAC,EAAE,GAAG,GAAG,MAAM,CAUxD;AAID,eAAO,MAAM,yBAAyB,QAoiClC,CAAC"}
|