1
0
mirror of https://github.com/oceanprotocol/market.git synced 2024-12-02 05:57:29 +01:00

creating an error alert for permission denied

This commit is contained in:
Jamie Hewitt 2021-05-20 18:54:42 +03:00
parent 6d037abeec
commit 18a446850c
4 changed files with 24 additions and 23 deletions

5
package-lock.json generated
View File

@ -32247,6 +32247,11 @@
"lodash": "^4.0.1"
}
},
"reactjs-popup": {
"version": "2.0.4",
"resolved": "https://registry.npmjs.org/reactjs-popup/-/reactjs-popup-2.0.4.tgz",
"integrity": "sha512-G5jTXL2JkClKAYAdqedf+K9QvbNsFWvdbrXW1/vWiyanuCU/d7DtQzQux+uKOz2HeNVRsFQHvs7abs0Z7VLAhg=="
},
"read": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/read/-/read-1.0.7.tgz",

View File

@ -1,5 +1,6 @@
import React, { ReactElement, useEffect, useState } from 'react'
import rbacRequest from '../../utils/rbac'
import Alert from '../atoms/Alert'
export default function Permission({
eventType,
@ -11,14 +12,15 @@ export default function Permission({
const [data, updateData] = useState<boolean>()
useEffect(() => {
const getData = async () => {
const data = await rbacRequest('browse')
const data = await rbacRequest(eventType)
updateData(data)
}
getData()
}, [])
console.log('eventType', eventType)
if (data === false) {
return <b>Sorry you do not have permission to {eventType}</b>
const message = `Sorry, you don't have permission to ${eventType}. Please make sure you are logged in.`
return <Alert title="Permission denied" text={message} state="error" />
} else {
return <>{children}</>
}

View File

@ -22,21 +22,18 @@ export default function Page({
headerCenter
}: PageProps): ReactElement {
return (
<Permission eventType="browse">
<>
<Seo title={title} description={description} uri={uri} />
<Container>
{title && !noPageHeader && (
<PageHeader
title={title}
description={description}
center={headerCenter}
/>
)}
{children}
</Container>
</>
</Permission>
<>
<Seo title={title} description={description} uri={uri} />
<Container>
{title && !noPageHeader && (
<PageHeader
title={title}
description={description}
center={headerCenter}
/>
)}
{children}
</Container>
</>
)
}

View File

@ -12,11 +12,9 @@ export default async function rbacRequest(eventType: string): Promise<boolean> {
eventType,
credentials: {
token:
'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJDWVdQTTJLY1NKUjJtV0o2ZFBqZTVKVmZ5YTZnZXdhVElVZDBabUoyWndFIn0.eyJleHAiOjE2MjE1MjA4MTUsImlhdCI6MTYyMTUyMDIxNSwianRpIjoiZmRhODM1Y2MtOTMyNi00YmM5LTkwNTktZWI5NWMxY2IwY2M3IiwiaXNzIjoiaHR0cHM6Ly9rZXljbG9hay1pbnQuZGF0YS1tYXJrZXRwbGFjZS5pby9hdXRoL3JlYWxtcy9tYXJrZXRwbGFjZSIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiJkZDM2NDVlZi0zN2Q5LTQzMzQtOWEzYy1jMjczNTRkYmNkMWMiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJwb3J0YWwiLCJzZXNzaW9uX3N0YXRlIjoiZjBjZTE3YmQtZTM5ZS00N2E4LTkzMWMtNjUwNDBhZjNjZGJiIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwczovL3BvcnRhbC1pbnQuZGF0YS1tYXJrZXRwbGFjZS5pbyJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJwdWJsaXNoZXIiLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiamFtaWUgb2NlYW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJqYW1pZUBvY2Vhbi5jb20iLCJnaXZlbl9uYW1lIjoiamFtaWUiLCJmYW1pbHlfbmFtZSI6Im9jZWFuIiwiZW1haWwiOiJqYW1pZUBvY2Vhbi5jb20ifQ.OTDbNFg8FusY-TovkdpSZZqVcBQ8xVRQfl-Hf0aCzRioRLYc0mri4hgenbVubDsVqyThZU7xOIXUoQ2-mTGqQA0zwpgqKY-ntRz2XZ1GW6saVIiFMuYDCRpiL1KVdW0s0gVZKNJoYHT1O31Xg7aQ7qN8E0f8TFnK_pDwKZ5AEj5VyDVhDcHEqJo1pW6ElVe5A1Rnh7m11SsZ_yi5lbrfssa18RFOzU9XYSmqdqEsEzFGxlAdiTB-eeFSRTt7jUALVZ66jPiUQ6fju8qI9KKRB9Tg80N3sfjoULUp_EwbYGx7HVuxtvl_cPUYDpmb3gsjsAU1Fd877ddpLvsfTxi4hw'
'eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJDWVdQTTJLY1NKUjJtV0o2ZFBqZTVKVmZ5YTZnZXdhVElVZDBabUoyWndFIn0.eyJleHAiOjE2MjE1MjU0NDQsImlhdCI6MTYyMTUyNDg0NCwianRpIjoiYzRhY2U3NWItZTM1NC00ZjQwLWE0YTMtYjliMmQ4MDY1M2M5IiwiaXNzIjoiaHR0cHM6Ly9rZXljbG9hay1pbnQuZGF0YS1tYXJrZXRwbGFjZS5pby9hdXRoL3JlYWxtcy9tYXJrZXRwbGFjZSIsImF1ZCI6ImFjY291bnQiLCJzdWIiOiJkZDM2NDVlZi0zN2Q5LTQzMzQtOWEzYy1jMjczNTRkYmNkMWMiLCJ0eXAiOiJCZWFyZXIiLCJhenAiOiJwb3J0YWwiLCJzZXNzaW9uX3N0YXRlIjoiYTY0NTRmYmQtNDk5Ni00MmMwLTk4ZWMtYWEzZjE3NmIzODhlIiwiYWNyIjoiMSIsImFsbG93ZWQtb3JpZ2lucyI6WyJodHRwczovL3BvcnRhbC1pbnQuZGF0YS1tYXJrZXRwbGFjZS5pbyJdLCJyZWFsbV9hY2Nlc3MiOnsicm9sZXMiOlsib2ZmbGluZV9hY2Nlc3MiLCJwdWJsaXNoZXIiLCJ1bWFfYXV0aG9yaXphdGlvbiJdfSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJtYW5hZ2UtYWNjb3VudC1saW5rcyIsInZpZXctcHJvZmlsZSJdfX0sInNjb3BlIjoicHJvZmlsZSBlbWFpbCIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJuYW1lIjoiamFtaWUgb2NlYW4iLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJqYW1pZUBvY2Vhbi5jb20iLCJnaXZlbl9uYW1lIjoiamFtaWUiLCJmYW1pbHlfbmFtZSI6Im9jZWFuIiwiZW1haWwiOiJqYW1pZUBvY2Vhbi5jb20ifQ.SwWiFq1jYXtLseZHZesyKuIINZwPx45aC4pMsBvtODOwUGIjw5srBhLHc4kT87SiKczv8YviOgW31xxZ4X30udHON5YbrTfeox9hWmzu6XPQDzIfkuhdorkH7HSpU2asiYKWlJ32hzhnbVJ8GqPy6nmWnCBE1yCiHzXq_vb3i90hJOtrueI2xHmU2rxw6B4iqXvGiswwCU12GL6eR1g0yaslHwYDf3BETvO_5XX4PtJJHeb3EOsozNS8pkL0r2Yy_V6ykH5LCOdX366GPmq1lwi89mYYKM_2n6xRCCHwzEvl1GuY9Zv79wt7zuJHM_LHh3REc8ic40L5MDn1N39vJQ'
}
}
console.log('appConfig', appConfig)
console.log('appConfig rbacUrl', appConfig.rbacUrl)
try {
const response = await fetch(url, {
method: 'POST',
@ -25,7 +23,6 @@ export default async function rbacRequest(eventType: string): Promise<boolean> {
},
body: JSON.stringify(data)
})
return await response.json()
} catch (error) {
console.error('Error parsing json: ' + error.message)