Skip to content

Commit 6526e5b

Browse files
authored
Merge pull request #967 from PayButton/fix/admin-page
fix: admin page
2 parents e4f2839 + 95a544f commit 6526e5b

File tree

2 files changed

+11
-8
lines changed

2 files changed

+11
-8
lines changed

pages/admin/index.tsx

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,13 @@ import Session from 'supertokens-node/recipe/session'
55
import { GetServerSideProps } from 'next'
66
import Page from 'components/Page'
77
import style from './admin.module.css'
8-
import { isUserAdmin, UserWithSupertokens } from 'services/userService'
8+
import { fetchUserWithSupertokens, isUserAdmin, UserWithSupertokens } from 'services/userService'
99
import { useRouter } from 'next/router'
1010
import RegisteredUsers from 'components/Admin/RegisteredUsers'
1111
import TableContainer from '../../components/TableContainer/TableContainer'
1212
import EyeIcon from 'assets/eye-icon.png'
1313
import Image from 'next/image'
14+
import { removeUnserializableFields } from 'utils'
1415

1516
export const getServerSideProps: GetServerSideProps = async (context) => {
1617
// this runs on the backend, so we must call init on supertokens-node SDK
@@ -29,7 +30,9 @@ export const getServerSideProps: GetServerSideProps = async (context) => {
2930
}
3031
if (session === undefined) return
3132
const userId = session?.getUserId()
32-
const user = await supertokensNode.getUser(userId)
33+
const user = await fetchUserWithSupertokens(userId)
34+
removeUnserializableFields(user.userProfile)
35+
3336
const isAdmin = await isUserAdmin(userId)
3437
return {
3538
props: {
@@ -61,8 +64,8 @@ export default function Admin ({ user, isAdmin }: IProps): JSX.Element {
6164
useEffect(() => {
6265
void (async () => {
6366
const ok = await (await fetch('chronikStatus')).json()
64-
const subscribedEcashAddresses = ok.ecash.map((value: string) => ({ address: value }))
65-
const subscribedBitcoincashAddresses = ok.bitcoincash.map((value: string) => ({ address: value }))
67+
const subscribedEcashAddresses = ok.ecash?.map((value: string) => ({ address: value }))
68+
const subscribedBitcoincashAddresses = ok.bitcoincash?.map((value: string) => ({ address: value }))
6669
setEcashSubscribedAddresses(subscribedEcashAddresses)
6770
setBitcoincashSubscribedAddresses(subscribedBitcoincashAddresses)
6871
const ok2 = await (await fetch('/api/users')).json()
@@ -99,9 +102,9 @@ export default function Admin ({ user, isAdmin }: IProps): JSX.Element {
99102
<h2>Admin Dashboard</h2>
100103
<div className={style.admin_ctn}>
101104
<h3> eCash</h3>
102-
<TableContainer columns={columns} data={ecashSubscribedAddresses} ssr/>
105+
<TableContainer columns={columns} data={ecashSubscribedAddresses ?? []} ssr/>
103106
<h3> Bitcoin Cash</h3>
104-
<TableContainer columns={columns} data={bitcoincashSubscribedAddresses} ssr/>
107+
<TableContainer columns={columns} data={bitcoincashSubscribedAddresses ?? []} ssr/>
105108
<a
106109
target="_blank"
107110
rel="noopener noreferrer"

pages/api/chronikStatus/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import { getAllSubscribedAddresses } from 'services/chronikService'
1+
import { multiBlockchainClient } from 'services/chronikService'
22
import { fetchUserProfileFromId } from 'services/userService'
33
import { setSession } from 'utils/setSession'
44

@@ -11,7 +11,7 @@ export default async (req: any, res: any): Promise<void> => {
1111
if (user.isAdmin !== true) {
1212
throw new Error('unauthorised')
1313
}
14-
res.status(200).json(getAllSubscribedAddresses())
14+
res.status(200).json(multiBlockchainClient.getAllSubscribedAddresses())
1515
} catch (err: any) {
1616
switch (err.message) {
1717
default:

0 commit comments

Comments
 (0)