feat(admin, settlement, dashboard): strengthen permission gating and billing workflows
This commit is contained in:
@@ -1,6 +1,8 @@
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { AdminRolesConsole } from "@/modules/admin-roles/admin-roles-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { PRD_ADMIN_ROLE_MANAGE } from "@/lib/admin-prd";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = buildPageMetadata("adminRoles", "title");
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("adminRoles", "title");
|
||||
export default function AdminRolesPage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<AdminRolesConsole />
|
||||
<AdminPermissionGate requiredAny={[PRD_ADMIN_ROLE_MANAGE]}>
|
||||
<AdminRolesConsole />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { AdminUsersConsole } from "@/modules/admin-users/admin-users-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { PRD_ADMIN_USER_MANAGE } from "@/lib/admin-prd";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = buildPageMetadata("adminUsers", "title");
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("adminUsers", "title");
|
||||
export default function AdminUsersPage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<AdminUsersConsole />
|
||||
<AdminPermissionGate requiredAny={[PRD_ADMIN_USER_MANAGE]}>
|
||||
<AdminUsersConsole />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { AuditLogsConsole } from "@/modules/audit/audit-logs-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { PRD_AUDIT_VIEW } from "@/lib/admin-prd";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = buildPageMetadata("audit", "title");
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("audit", "title");
|
||||
export default function AdminAuditLogsPage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<AuditLogsConsole />
|
||||
<AdminPermissionGate requiredAny={[PRD_AUDIT_VIEW]}>
|
||||
<AuditLogsConsole />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { ConfigHubScreen } from "@/modules/config/config-hub-screen";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { PRD_CONFIG_HUB_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = buildPageMetadata("config", "hub.title");
|
||||
|
||||
export default function AdminConfigHubPage() {
|
||||
return <ConfigHubScreen />;
|
||||
return (
|
||||
<AdminPermissionGate requiredAny={PRD_CONFIG_HUB_ACCESS_ANY}>
|
||||
<ConfigHubScreen />
|
||||
</AdminPermissionGate>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { CurrencyManagementScreen } from "@/modules/settings/currency-management-screen";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { PRD_CURRENCY_MANAGE } from "@/lib/admin-prd";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = buildPageMetadata("config", "currencies.title");
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("config", "currencies.title"
|
||||
export default function AdminCurrenciesPage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<CurrencyManagementScreen />
|
||||
<AdminPermissionGate requiredAny={[PRD_CURRENCY_MANAGE]}>
|
||||
<CurrencyManagementScreen />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { ReconcileConsole } from "@/modules/reconcile/reconcile-console";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { PRD_WALLET_TX_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = buildPageMetadata("reconcile", "title");
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("reconcile", "title");
|
||||
export default function AdminReconcilePage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<ReconcileConsole />
|
||||
<AdminPermissionGate requiredAny={PRD_WALLET_TX_ACCESS_ANY}>
|
||||
<ReconcileConsole />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { RulesOddsConfigScreen } from "@/modules/rules/rules-odds-config-screen";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { PRD_RULES_ODDS_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = buildPageMetadata("config", "nav.rulesOddsTitle");
|
||||
|
||||
export default function AdminRulesOddsPage() {
|
||||
return <RulesOddsConfigScreen />;
|
||||
return (
|
||||
<AdminPermissionGate requiredAny={PRD_RULES_ODDS_ACCESS_ANY}>
|
||||
<RulesOddsConfigScreen />
|
||||
</AdminPermissionGate>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { PlayConfigDocScreen } from "@/modules/config/doc/play-config-doc-screen";
|
||||
import { RulesPageShell } from "@/modules/rules/rules-page-shell";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { PRD_RULES_PLAYS_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = buildPageMetadata("config", "nav.rulesPlaysTitle");
|
||||
|
||||
export default function AdminRulesPlaysPage() {
|
||||
return (
|
||||
<RulesPageShell>
|
||||
<PlayConfigDocScreen />
|
||||
</RulesPageShell>
|
||||
<AdminPermissionGate requiredAny={PRD_RULES_PLAYS_ACCESS_ANY}>
|
||||
<RulesPageShell>
|
||||
<PlayConfigDocScreen />
|
||||
</RulesPageShell>
|
||||
</AdminPermissionGate>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
import { ModuleScaffold } from "@/components/admin/module-scaffold";
|
||||
import { AdminPermissionGate } from "@/components/admin/admin-permission-gate";
|
||||
import { SystemSettingsScreen } from "@/modules/settings/system-settings-screen";
|
||||
import { buildPageMetadata } from "@/lib/page-metadata";
|
||||
import { PRD_SETTINGS_ACCESS_ANY } from "@/lib/admin-prd";
|
||||
import type { Metadata } from "next";
|
||||
|
||||
export const metadata: Metadata = buildPageMetadata("common", "nav.settings");
|
||||
@@ -8,7 +10,9 @@ export const metadata: Metadata = buildPageMetadata("common", "nav.settings");
|
||||
export default function AdminSettingsPage() {
|
||||
return (
|
||||
<ModuleScaffold>
|
||||
<SystemSettingsScreen />
|
||||
<AdminPermissionGate requiredAny={PRD_SETTINGS_ACCESS_ANY}>
|
||||
<SystemSettingsScreen />
|
||||
</AdminPermissionGate>
|
||||
</ModuleScaffold>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user