{"version":3,"sources":["libs/contextLib.js","libs/errorLib.js","containers/Home.js","components/LoaderButton.js","libs/hooksLib.js","containers/Login.js","libs/awsLib.js","config.js","containers/Notes.js","containers/Signup.js","containers/NewNote.js","containers/NotFound.js","components/AuthenticatedRoute.js","components/UnauthenticatedRoute.js","containers/Authentication.js","containers/SubscriptionTable.js","Routes.js","App.js","reportWebVitals.js","index.js"],"names":["AppContext","createContext","useAppContext","useContext","onError","error","message","toString","Error","alert","Home","useState","setNotes","isAuthenticated","setIsLoading","loadNotes","console","log","renderLander","className","useEffect","a","notes","onLoad","LoaderButton","isLoading","disabled","props","Button","children","useFormFields","initialState","fields","setValues","event","target","id","value","Login","userHasAuthenticated","email","password","handleFieldChange","preventDefault","Auth","signIn","Form","onSubmit","Group","size","controlId","Label","Control","autoFocus","type","onChange","block","length","s3Upload","file","filename","Date","now","name","Storage","vault","put","contentType","stored","key","config","STRIPE_KEY","MAX_ATTACHMENT_SIZE","s3","REGION","BUCKET","apiGateway","URL","cognito","USER_POOL_ID","APP_CLIENT_ID","IDENTITY_POOL_ID","Notes","str","useRef","useParams","history","useHistory","note","setNote","content","setContent","isDeleting","setIsDeleting","saveNote","API","body","current","attachment","push","deleteNote","del","window","confirm","loadNote","get","attachmentURL","as","e","rel","href","replace","files","variant","onClick","Option","Select","Signup","confirmPassword","confirmationCode","newUser","setNewUser","handleSubmit","signUp","username","handleConfirmationSubmit","confirmSignUp","renderForm","Text","muted","NewNote","createNote","post","NotFound","AuthenticatedRoute","rest","useLocation","pathname","search","to","UnauthenticatedRoute","redirect","url","location","results","RegExp","exec","decodeURIComponent","querystring","columns","title","dataIndex","width","ellipsis","render","item","style","marginBottom","htmlType","data","clientId","clientSecret","accessKey","Subscriptions","dataSource","Panel","Collapse","AUTHENTICATION_URL","callback","AuthStatusCodes","AuthMsgs","statusCode","msg","HeartBeatmsgs","FaultCodeMsgs","showResponse","setShowResponse","keyResponse","setKeyResponse","setAccessKey","accessKeyLoading","setAccessKeyLoading","accessToken","setAccessToken","heartBeatResponse","setHeartBeatResponse","faultcodeResponse","setFaultcodeResponse","showHBResponse","setShowHBResponse","showFCResponse","setShowFCResponse","setEnteredAccessToken","getAPIKeys","encodedKey","encodeURIComponent","encodedValue","formBody","fetch","mode","headers","Authorization","method","response","json","access_token","expires_in","token_type","getHeartBeatResponse","status","getFaultCodeResponse","header","layout","Item","label","span","pagination","rules","required","display","defaultActiveKey","loading","Routes","exact","path","App","isAuthenticating","setIsAuthenticating","currentSession","signOut","Navbar","collapseOnSelect","bg","expand","Brand","Toggle","Nav","activeKey","Link","Provider","reportWebVitals","onPerfEntry","Function","then","getCLS","getFID","getFCP","getLCP","getTTFB","Amplify","configure","mandatorySignIn","region","userPoolId","identityPoolId","userPoolWebClientId","bucket","endpoints","endpoint","ReactDOM","StrictMode","document","getElementById"],"mappings":"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","file":"static/js/main.53579069.chunk.js","sourcesContent":["import { useContext, createContext } from \"react\";\n\nexport const AppContext = createContext(null);\n\nexport function useAppContext() {\n return useContext(AppContext);\n}\n","export function onError(error) {\n let message = error.toString();\n\n // Auth errors\n if (!(error instanceof Error) && error.message) {\n message = error.message;\n }\n\n alert(message);\n}\n","import React, { useState, useEffect } from \"react\";\nimport { API } from \"aws-amplify\";\nimport { SiSwagger } from \"react-icons/si\";\nimport ListGroup from \"react-bootstrap/ListGroup\";\nimport { LinkContainer } from \"react-router-bootstrap\";\nimport { useAppContext } from \"../libs/contextLib\";\nimport { onError } from \"../libs/errorLib\";\nimport \"./Home.css\";\n\nexport default function Home() {\n const [notes, setNotes] = useState([]);\n const { isAuthenticated } = useAppContext();\n const [isLoading, setIsLoading] = useState(true);\n\n useEffect(() => {\n async function onLoad() {\n if (!isAuthenticated) {\n return;\n }\n\n try {\n const notes = await loadNotes();\n setNotes(notes);\n } catch (e) {\n onError(e);\n }\n\n setIsLoading(false);\n }\n\n onLoad();\n }, [isAuthenticated]);\n\n function loadNotes() {\n //return API.get(\"notes\", \"/notes\");\n console.log(\"Ignored\");\n }\n\n function renderNotesList(notes) {\n return (\n <>\n \n \n \n Create a new note\n \n \n {notes.map(({ noteId, content, createdAt }) => (\n \n \n \n {content.trim().split(\"\\n\")[0]}\n \n
\n \n Created: {new Date(createdAt).toLocaleString()}\n \n
\n
\n ))}\n \n );\n }\n\n function renderLander() {\n return (\n
\n

Digital Accelerator API Management Portal

\n

Cummins - API Catalog

\n
\n );\n }\n\n function renderNotes() {\n return (\n
\n

Your Notes

\n {!isLoading && renderNotesList(notes)}\n
\n );\n }\n \n return (\n
\n {isAuthenticated ? renderLander() : renderLander()}\n
\n );\n}\n","import React from \"react\";\nimport Button from \"react-bootstrap/Button\";\nimport { BsArrowRepeat } from \"react-icons/bs\";\nimport \"./LoaderButton.css\";\n\nexport default function LoaderButton({\n isLoading,\n className = \"\",\n disabled = false,\n ...props\n}) {\n return (\n \n {isLoading && }\n {props.children}\n \n );\n}\n","import { useState } from \"react\";\n\nexport function useFormFields(initialState) {\n const [fields, setValues] = useState(initialState);\n\n return [\n fields,\n function(event) {\n setValues({\n ...fields,\n [event.target.id]: event.target.value\n });\n }\n ];\n}\n","import React, { useState } from \"react\";\nimport { Auth } from \"aws-amplify\";\nimport Form from \"react-bootstrap/Form\";\nimport LoaderButton from \"../components/LoaderButton\";\nimport { useAppContext } from \"../libs/contextLib\";\nimport { useFormFields } from \"../libs/hooksLib\";\nimport { onError } from \"../libs/errorLib\";\nimport \"./Login.css\";\n\nexport default function Login() {\n const { userHasAuthenticated } = useAppContext();\n const [isLoading, setIsLoading] = useState(false);\n const [fields, handleFieldChange] = useFormFields({\n email: \"\",\n password: \"\"\n });\n\n function validateForm() {\n return fields.email.length > 0 && fields.password.length > 0;\n }\n\n async function handleSubmit(event) {\n event.preventDefault();\n\n setIsLoading(true);\n\n try {\n await Auth.signIn(fields.email, fields.password);\n userHasAuthenticated(true);\n } catch (e) {\n onError(e);\n setIsLoading(false);\n }\n }\n\n return (\n
\n
\n \n Email\n \n \n \n Password\n \n \n \n Login\n \n \n
\n );\n}\n","import { Storage } from \"aws-amplify\";\n\nexport async function s3Upload(file) {\n const filename = `${Date.now()}-${file.name}`;\n\n const stored = await Storage.vault.put(filename, file, {\n contentType: file.type,\n });\n\n return stored.key;\n}\n","const config = {\n STRIPE_KEY: \"pk_test_v1amvR35uoCNduJfkqGB8RLD\",\n MAX_ATTACHMENT_SIZE: 5000000,\n s3: {\n REGION: \"us-east-1\",\n BUCKET: \"prod-notes-infra-s3-uploads4f6eb0fd-1838t5x17uk5u\",\n },\n apiGateway: {\n REGION: \"us-east-1\",\n URL: \"https://api.serverless-stack.seed-demo.club/prod\",\n },\n cognito: {\n REGION: \"us-east-1\",\n USER_POOL_ID: \"us-east-1_2o9302crV\",\n APP_CLIENT_ID: \"6pp1doguafp4shqs18vn65aorf\",\n IDENTITY_POOL_ID: \"us-east-1:74a17149-6a33-43aa-a28f-c897a083f8e2\",\n },\n // cognito: {\n // REGION: \"us-east-1\",\n // USER_POOL_ID: \"us-east-1_BAculJKJt\",\n // APP_CLIENT_ID: \"2bm3dr7gnjffmqf04865o4g1rn\",\n // APP_CLIENT_SECRET: \"1j4abq1btma3boodec8m06qhakiosonji8icpvmm3durcvkg8g9\"\n // //IDENTITY_POOL_ID: \"us-east-1:74a17149-6a33-43aa-a28f-c897a083f8e2\",\n // },\n};\n\nexport default config;\n","import React, { useRef, useState, useEffect } from \"react\";\nimport Form from \"react-bootstrap/Form\";\nimport { API, Storage } from \"aws-amplify\";\nimport { useParams, useHistory } from \"react-router-dom\";\nimport LoaderButton from \"../components/LoaderButton\";\nimport { onError } from \"../libs/errorLib\";\nimport { s3Upload } from \"../libs/awsLib\";\nimport config from \"../config\";\nimport \"./Notes.css\";\n\nexport default function Notes() {\n const file = useRef(null);\n const { id } = useParams();\n const history = useHistory();\n const [note, setNote] = useState(null);\n const [content, setContent] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n const [isDeleting, setIsDeleting] = useState(false);\n\n useEffect(() => {\n function loadNote() {\n return API.get(\"notes\", `/notes/${id}`);\n }\n\n async function onLoad() {\n try {\n const note = await loadNote();\n const { content, attachment } = note;\n\n if (attachment) {\n note.attachmentURL = await Storage.vault.get(attachment);\n }\n\n setContent(content);\n setNote(note);\n } catch (e) {\n onError(e);\n }\n }\n\n onLoad();\n }, [id]);\n\n function validateForm() {\n return content.length > 0;\n }\n\n function formatFilename(str) {\n return str.replace(/^\\w+-/, \"\");\n }\n\n function handleFileChange(event) {\n file.current = event.target.files[0];\n }\n\n function saveNote(note) {\n return API.put(\"notes\", `/notes/${id}`, {\n body: note\n });\n }\n\n async function handleSubmit(event) {\n let attachment;\n\n event.preventDefault();\n\n if (file.current && file.current.size > config.MAX_ATTACHMENT_SIZE) {\n alert(\n `Please pick a file smaller than ${\n config.MAX_ATTACHMENT_SIZE / 1000000\n } MB.`\n );\n return;\n }\n\n setIsLoading(true);\n\n try {\n if (file.current) {\n attachment = await s3Upload(file.current);\n }\n\n await saveNote({\n content,\n attachment: attachment || note.attachment\n });\n history.push(\"/\");\n } catch (e) {\n onError(e);\n setIsLoading(false);\n }\n }\n\n function deleteNote() {\n return API.del(\"notes\", `/notes/${id}`);\n }\n\n async function handleDelete(event) {\n event.preventDefault();\n\n const confirmed = window.confirm(\n \"Are you sure you want to delete this note?\"\n );\n\n if (!confirmed) {\n return;\n }\n\n setIsDeleting(true);\n\n try {\n await deleteNote();\n history.push(\"/\");\n } catch (e) {\n onError(e);\n setIsDeleting(false);\n }\n }\n\n return (\n
\n {note && (\n
\n \n setContent(e.target.value)}\n />\n \n \n Attachment\n {note.attachment && (\n

\n \n {formatFilename(note.attachment)}\n \n

\n )}\n \n
\n \n Save\n \n \n Delete\n \n \n )}\n
\n );\n}\n","import React, { useState } from \"react\";\nimport { Auth } from \"aws-amplify\";\nimport Form from \"react-bootstrap/Form\";\nimport { useHistory } from \"react-router-dom\";\nimport LoaderButton from \"../components/LoaderButton\";\nimport { useAppContext } from \"../libs/contextLib\";\nimport { useFormFields } from \"../libs/hooksLib\";\nimport { onError } from \"../libs/errorLib\";\nimport \"./Signup.css\";\nimport { Select } from 'antd';\nimport \"../../node_modules/antd/dist/antd.css\";\n\nconst { Option } = Select;\n\nexport default function Signup() {\n const [fields, handleFieldChange] = useFormFields({\n email: \"\",\n password: \"\",\n confirmPassword: \"\",\n confirmationCode: \"\",\n });\n const history = useHistory();\n const [newUser, setNewUser] = useState(null);\n const { userHasAuthenticated } = useAppContext();\n const [isLoading, setIsLoading] = useState(false);\n\n function validateForm() {\n return (\n fields.email.length > 0 &&\n fields.password.length > 0 &&\n fields.password === fields.confirmPassword\n );\n }\n\n function validateConfirmationForm() {\n return fields.confirmationCode.length > 0;\n }\n\n function onSubscription(){\n console.log(\"Inside subscription\")\n }\n\n async function handleSubmit(event) {\n event.preventDefault();\n\n setIsLoading(true);\n\n try {\n const newUser = await Auth.signUp({\n username: fields.email,\n password: fields.password,\n });\n setIsLoading(false);\n setNewUser(newUser);\n } catch (e) {\n onError(e);\n setIsLoading(false);\n }\n }\n\n async function handleConfirmationSubmit(event) {\n event.preventDefault();\n\n setIsLoading(true);\n\n try {\n await Auth.confirmSignUp(fields.email, fields.confirmationCode);\n await Auth.signIn(fields.email, fields.password);\n\n userHasAuthenticated(true);\n history.push(\"/\");\n } catch (e) {\n onError(e);\n setIsLoading(false);\n }\n }\n\n function renderConfirmationForm() {\n return (\n
\n \n Confirmation Code\n \n Please check your email for the code.\n \n \n Verify\n \n \n );\n }\n\n function renderForm() {\n const children = [];\n children.push();\n children.push();\n children.push();\n return (\n
\n \n Email\n \n \n \n Password\n \n \n \n Confirm Password\n \n \n \n Signup\n \n \n );\n }\n\n return (\n
\n {newUser === null ? renderForm() : renderConfirmationForm()}\n
\n );\n}\n","import React, { useRef, useState } from \"react\";\nimport { API } from \"aws-amplify\";\nimport Form from \"react-bootstrap/Form\";\nimport { useHistory } from \"react-router-dom\";\nimport LoaderButton from \"../components/LoaderButton\";\nimport { onError } from \"../libs/errorLib\";\nimport { s3Upload } from \"../libs/awsLib\";\nimport config from \"../config\";\nimport \"./NewNote.css\";\n\nexport default function NewNote() {\n const file = useRef(null);\n const history = useHistory();\n const [content, setContent] = useState(\"\");\n const [isLoading, setIsLoading] = useState(false);\n\n function validateForm() {\n return content.length > 0;\n }\n\n function handleFileChange(event) {\n file.current = event.target.files[0];\n }\n\n async function handleSubmit(event) {\n event.preventDefault();\n\n if (file.current && file.current.size > config.MAX_ATTACHMENT_SIZE) {\n alert(\n `Please pick a file smaller than ${\n config.MAX_ATTACHMENT_SIZE / 1000000\n } MB.`\n );\n return;\n }\n\n setIsLoading(true);\n\n try {\n const attachment = file.current ? await s3Upload(file.current) : null;\n\n await createNote({ content, attachment });\n history.push(\"/\");\n } catch (e) {\n onError(e);\n setIsLoading(false);\n }\n }\n\n function createNote(note) {\n return API.post(\"notes\", \"/notes\", {\n body: note\n });\n }\n\n return (\n
\n
\n \n setContent(e.target.value)}\n />\n \n \n Attachment\n \n \n \n Create\n \n \n
\n );\n}\n","import React from \"react\";\nimport \"./NotFound.css\";\n\nexport default function NotFound() {\n return (\n
\n

Sorry, page not found!

\n
\n );\n}\n","import React from \"react\";\nimport { Route, Redirect, useLocation } from \"react-router-dom\";\nimport { useAppContext } from \"../libs/contextLib\";\n\nexport default function AuthenticatedRoute({ children, ...rest }) {\n const { pathname, search } = useLocation();\n const { isAuthenticated } = useAppContext();\n return (\n \n {isAuthenticated ? (\n children\n ) : (\n \n )}\n \n );\n}\n","import React from \"react\";\nimport { Route, Redirect } from \"react-router-dom\";\nimport { useAppContext } from \"../libs/contextLib\";\n\nfunction querystring(name, url = window.location.href) {\n name = name.replace(/[[]]/g, \"\\\\$&\");\n\n const regex = new RegExp(\"[?&]\" + name + \"(=([^&#]*)|&|#|$)\", \"i\");\n const results = regex.exec(url);\n\n if (!results) {\n return null;\n }\n if (!results[2]) {\n return \"\";\n }\n\n return decodeURIComponent(results[2].replace(/\\+/g, \" \"));\n}\n\nexport default function UnauthenticatedRoute({ children, ...rest }) {\n const { isAuthenticated } = useAppContext();\n const redirect = querystring(\"redirect\");\n return (\n \n {!isAuthenticated ? (\n children\n ) : (\n \n )}\n \n );\n}\n","import { useState } from \"react\";\r\nimport { Table, Tag, Space, Button,Descriptions,Input } from \"antd\";\r\nimport { KeyOutlined,EyeInvisibleOutlined, EyeTwoTone } from \"@ant-design/icons\";\r\nimport MaskedInput from 'antd-mask-input';\r\n\r\nconst copyIcon = \"Basic MmJtM2RyN2duamZmbXFmMDQ4NjVvNGcxcm46MWo0YWJxMWJ0bWEzYm9vZGVjOG0wNnFoYWtpb3NvbmppOGljcHZtbTNkdXJjdmtnOGc5\"\r\n\r\nconst columns = [\r\n {\r\n title: \"Product\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: 100,\r\n },\r\n {\r\n title: \"Client Id\",\r\n dataIndex: \"clientId\",\r\n key: \"clientId\",\r\n ellipsis: true,\r\n }, \r\n {\r\n title: \"Client Secret\",\r\n dataIndex: \"clientSecret\",\r\n key: \"clientSecret\",\r\n ellipsis: true,\r\n }, \r\n {\r\n title: \"Access Key\",\r\n dataIndex: \"accessKey\",\r\n key: \"accessKey\",\r\n ellipsis: true,\r\n }, \r\n {\r\n title: \"Actions\",\r\n dataIndex: \"actions\",\r\n key: \"actions\",\r\n render(item) {\r\n return(\r\n \r\n );\r\n }\r\n }, \r\n];\r\n\r\nconst data = [\r\n {\r\n key: \"1\",\r\n name: \"CD\",\r\n clientId: \"2bm3dr7gnjffmqf04865o4g1rn\",\r\n clientSecret:\"1j4abq1btma3boodec8m06qhakiosonji8icpvmm3durcvkg8g9\",\r\n accessKey: \"Basic MmJtM2RyN2duamZmbXFmMDQ4NjVvNGcxcm46MWo0YWJxMWJ0bWEzYm9vZGVjOG0wNnFoYWtpb3NvbmppOGljcHZtbTNkdXJjdmtnOGc5\",\r\n },\r\n];\r\n\r\n// const Subscriptions = () => {\r\n// console.log(\"Request Access keys\");\r\n// //setShowSecretsTable(true);\r\n// };\r\n\r\n\r\n\r\nconst Subscriptions = () => {\r\n const [showSecretsTable, setShowSecretsTable] = useState(false);\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Subscriptions;\r\n","import {\r\n Collapse,\r\n Descriptions,\r\n Button,\r\n Table,\r\n Form,\r\n Input,\r\n Result,\r\n} from \"antd\";\r\nimport React, { useState } from \"react\";\r\n\r\nconst { Panel } = Collapse;\r\n\r\nconst AUTHENTICATION_URL =\r\n \"https://api-sandbox.auth.us-east-1.amazoncognito.com/oauth2/token\";\r\nconst HEARTBEAT_URL =\r\n \"https://api.sandbox.aws.cummins.com/v1/telematics/heartbeat\";\r\n\r\n const FAULTCODE_URL =\r\n \"https://api.sandbox.aws.cummins.com/v1/telematics/faultcode\";\r\n\r\n\r\nfunction callback(key) {\r\n console.log(key);\r\n}\r\n\r\nconst request = `\r\n {\"grant_type\": \"client_credentials\"}\r\n`;\r\n\r\nconst response = `\r\n{\r\n \"message\": \"Heart Beat Message Posted\"\r\n}\r\n`;\r\n\r\nconst columns = [\r\n {\r\n title: \"Name\",\r\n dataIndex: \"name\",\r\n key: \"name\",\r\n width: 150,\r\n },\r\n {\r\n title: \"Value\",\r\n dataIndex: \"value\",\r\n key: \"value\",\r\n ellipsis: true,\r\n },\r\n];\r\n\r\nconst AuthStatusCodes = [\r\n {\r\n title: \"Http StatusCode\",\r\n dataIndex: \"statusCode\",\r\n key: \"statusCode\",\r\n width: 150,\r\n },\r\n {\r\n title: \"Message\",\r\n dataIndex: \"msg\",\r\n key: \"msg\",\r\n ellipsis: true,\r\n },\r\n];\r\n\r\nconst AuthMsgs = [\r\n {\r\n key: \"1\",\r\n statusCode: \"200\",\r\n msg: \"{\\\"access_token\\\":\\\"eyJraWQiOiJwR3dxMVc1eVlSdVVPbTd0UktkUFFkRG5paE5heDdpWTFNZjJ1OTRlWktJPSIsImFsZyI6IlJTMjU2In0\\.eyJzdWIiOiIyYm0zZHI3Z25qZmZtcWYwNDg2NW80ZzFybiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoidGVsZW1hdGljc1wvZmF1bHRjb2RlIHRlbGVtYXRpY3NcL2hlYXJ0YmVhdCB0ZWxlbWF0aWNzXC9sZWFybmluZ2FjY2VzcyIsImF1dGhfdGltZSI6MTYxODIyMjQ3OCwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tXC91cy1lYXN0LTFfQkFjdWxKS0p0IiwiZXhwIjoxNjE4MjI2MDc4LCJpYXQiOjE2MTgyMjI0NzgsInZlcnNpb24iOjIsImp0aSI6IjM0ZGQ5OTU0LTdkODAtNDY1Zi05ODkwLTNkM2JhZjRmYjY4OCIsImNsaWVudF9pZCI6IjJibTNkcjdnbmpmZm1xZjA0ODY1bzRnMXJuIn0.cCsYzx85mUE5OVCYhKcEFHr0-Qm4w11Nn_cb-_rbqZQBOn1jC8_CwvXK7rozCtAJlk5f7DZ-7WF2IUV21zodx2nRsPBTVsvpFFBT9mTC8VnckacQubEEJY_JdGsSuA8ZFvQTNHJNiM3kJxj5gsir64PJji0Zb5L_OBizgBQp8wLGFaiAL9cySxp7kmQUkVxPlnM6Y1GfL363brKNwHfYnVtJgTiejmPWCzms_2OXO2wqY8FOulHQkRn8gDrRZutta9tCDi29hSdFKxtxnwFjd67-1iIsHo_mOV715hAfAeA_T8r6Q54e9yaCiil4ZquGSPg626xO-Ueo7ySWqRoe-w\\\",\\\"expires_in\\\":3600,\\\"token_type\\\":\\\"Bearer\\\"}\",\r\n },\r\n {\r\n key: \"2\",\r\n statusCode: \"400\",\r\n msg: \"Bad Request\",\r\n },\r\n {\r\n key: \"3\",\r\n statusCode: \"500\",\r\n msg: \"Internal Server Error\",\r\n },\r\n];\r\n\r\nconst HeartBeatmsgs = [\r\n {\r\n key: \"1\",\r\n statusCode: \"200\",\r\n msg: \"HeartBeat Message Posted\",\r\n },\r\n {\r\n key: \"2\",\r\n statusCode: \"400\",\r\n msg: \"Bad Request\",\r\n },\r\n {\r\n key: \"3\",\r\n statusCode: \"500\",\r\n msg: \"Internal Server Error\",\r\n },\r\n];\r\n\r\nconst FaultCodeMsgs = [\r\n {\r\n key: \"1\",\r\n statusCode: \"200\",\r\n msg: \"FaultCode Message Posted\",\r\n },\r\n {\r\n key: \"2\",\r\n statusCode: \"400\",\r\n msg: \"Bad Request\",\r\n },\r\n {\r\n key: \"3\",\r\n statusCode: \"500\",\r\n msg: \"Internal Server Error\",\r\n },\r\n];\r\n\r\nconst learningAccessCodes = [\r\n {\r\n key: \"1\",\r\n statusCode: \"200\",\r\n msg: \"Learning Access Message Posted\",\r\n },\r\n {\r\n key: \"2\",\r\n statusCode: \"400\",\r\n msg: \"Bad Request\",\r\n },\r\n {\r\n key: \"3\",\r\n statusCode: \"500\",\r\n msg: \"Internal Server Error\",\r\n },\r\n];\r\n\r\nconst API = () => {\r\n const [showResponse, setShowResponse] = useState(false);\r\n const [keyResponse, setKeyResponse] = useState([]);\r\n const [accessKey, setAccessKey] = useState(\"\");\r\n const [accessKeyLoading, setAccessKeyLoading] = useState(false);\r\n const [accessToken, setAccessToken] = useState(\"\");\r\n const [heartBeatResponse, setHeartBeatResponse] = useState(\"\");\r\n const [faultcodeResponse, setFaultcodeResponse] = useState(\"\");\r\n const [showHBResponse, setShowHBResponse] = useState(false);\r\n const [showFCResponse, setShowFCResponse] = useState(false);\r\n\r\n\r\n const onAccessKeyChange = (event) => {\r\n setAccessKey(event.target.value);\r\n };\r\n\r\n const setEnteredAccessToken = (event) => {\r\n setAccessToken(event.target.value);\r\n };\r\n\r\n const getAPIKeys = async () => {\r\n setAccessKeyLoading(false);\r\n console.log(\"Invoke Get API keys\", accessKey);\r\n var formBody = \"\";\r\n var encodedKey = encodeURIComponent(\"grant_type\");\r\n var encodedValue = encodeURIComponent(\"client_credentials\");\r\n formBody = encodedKey + \"=\" + encodedValue;\r\n const response = await fetch(AUTHENTICATION_URL, {\r\n mode: \"cors\",\r\n headers: {\r\n Authorization: accessKey,\r\n \"Access-Control-Allow-Methods\": \"POST, GET, OPTIONS, PUT, DELETE\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Headers\":\r\n \"Origin, X-Requested-With, Content-Type, Accept, Authorization\",\r\n \"Content-Type\": \"application/x-www-form-urlencoded;charset=UTF-8\",\r\n },\r\n method: \"post\",\r\n body: formBody,\r\n });\r\n const data = await response.json();\r\n console.log(data);\r\n console.log(data.access_token);\r\n const dataSource = [\r\n {\r\n key: \"1\",\r\n name: \"Access Token\",\r\n value: data.access_token,\r\n },\r\n {\r\n key: \"2\",\r\n name: \"Expiration\",\r\n value: data.expires_in,\r\n },\r\n {\r\n key: \"3\",\r\n name: \"Token Type\",\r\n value: data.token_type,\r\n },\r\n ];\r\n setAccessKeyLoading(false);\r\n setKeyResponse(dataSource);\r\n setShowResponse(true);\r\n };\r\n\r\n const getHeartBeatResponse = async (event) => {\r\n console.log(\"Invoke Get API keys\", event);\r\n console.log(\"AccessToken:\", accessToken);\r\n var cors_api_host = 'cors-anywhere.herokuapp.com';\r\n var cors_api_url = 'https://' + cors_api_host + '/';\r\n const url = \"https://api.sandbox.aws.cummins.com/v1/telematics/heartbeat\";\r\n\r\n const response = await fetch(url, {\r\n mode: \"cors\",\r\n headers: {\r\n \"Authorization\": accessToken,\r\n \"Access-Control-Allow-Methods\": \"POST, GET, OPTIONS, PUT, DELETE\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Headers\":\r\n \"Origin, X-Requested-With, Content-Type, Accept, Authorization\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n method: \"post\",\r\n });\r\n console.log(\"Response\", response);\r\n const data = await response.json();\r\n console.log(\"HeartBeat response data\",data);\r\n const dataSource = [\r\n {\r\n key: \"1\",\r\n statusCode: response.status,\r\n msg: data.message,\r\n },\r\n ];\r\n setHeartBeatResponse(dataSource);\r\n setShowHBResponse(true);\r\n };\r\n\r\n const getFaultCodeResponse = async (event) => {\r\n console.log(\"Invoke Get API keys\", event);\r\n console.log(\"AccessToken:\", accessToken);\r\n var cors_api_host = 'cors-anywhere.herokuapp.com';\r\n var cors_api_url = 'https://' + cors_api_host + '/';\r\n const url = \"https://api.sandbox.aws.cummins.com/v1/telematics/faultcode\";\r\n\r\n const response = await fetch(url, {\r\n mode: \"cors\",\r\n headers: {\r\n \"Authorization\": accessToken,\r\n \"Access-Control-Allow-Methods\": \"POST, GET, OPTIONS, PUT, DELETE\",\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"Access-Control-Allow-Headers\":\r\n \"Origin, X-Requested-With, Content-Type, Accept, Authorization\",\r\n \"Content-Type\": \"application/json\",\r\n },\r\n method: \"post\",\r\n });\r\n console.log(\"Response\", response);\r\n const data = await response.json();\r\n console.log(\"HeartBeat response data\",data);\r\n const dataSource = [\r\n {\r\n key: \"1\",\r\n statusCode: response.status,\r\n msg: data.message,\r\n },\r\n ];\r\n setFaultcodeResponse(dataSource);\r\n setShowFCResponse(true);\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n {AUTHENTICATION_URL}\r\n \r\n \r\n POST\r\n \r\n \r\n {request}\r\n \r\n \r\n \r\n \r\n \r\n Using client_id & client_secret generate base64 encoded valued and\r\n then pass it in the header for Authorization\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {HEARTBEAT_URL}\r\n \r\n \r\n POST\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {FAULTCODE_URL}\r\n \r\n \r\n POST\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {/* \r\n \r\n \r\n {LEARNING_ACCESS_URL}\r\n \r\n \r\n POST\r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default API;\r\n","import React from \"react\";\nimport { Route, Switch } from \"react-router-dom\";\nimport Home from \"./containers/Home\";\nimport Login from \"./containers/Login\";\nimport Notes from \"./containers/Notes\";\nimport Signup from \"./containers/Signup\";\nimport NewNote from \"./containers/NewNote\";\nimport NotFound from \"./containers/NotFound\";\nimport AuthenticatedRoute from \"./components/AuthenticatedRoute\";\nimport UnauthenticatedRoute from \"./components/UnauthenticatedRoute\";\nimport Subscriptions from \"./containers/Authentication\";\nimport API from \"./containers/SubscriptionTable\";\n\nexport default function Routes() {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {/* Finally, catch all unmatched routes */}\n \n \n \n \n );\n}\n","import React, { useState, useEffect } from \"react\";\nimport { Auth } from \"aws-amplify\";\nimport Nav from \"react-bootstrap/Nav\";\nimport Navbar from \"react-bootstrap/Navbar\";\nimport { useHistory } from \"react-router-dom\";\nimport { LinkContainer } from \"react-router-bootstrap\";\nimport { AppContext } from \"./libs/contextLib\";\nimport { onError } from \"./libs/errorLib\";\nimport Routes from \"./Routes\";\nimport \"./App.css\";\n\nfunction App() {\n const history = useHistory();\n const [isAuthenticating, setIsAuthenticating] = useState(true);\n const [isAuthenticated, userHasAuthenticated] = useState(false);\n\n useEffect(() => {\n onLoad();\n }, []);\n\n async function onLoad() {\n try {\n await Auth.currentSession();\n userHasAuthenticated(true);\n }\n catch(e) {\n if (e !== 'No current user') {\n onError(e);\n }\n }\n\n setIsAuthenticating(false);\n }\n\n async function handleLogout() {\n await Auth.signOut();\n\n userHasAuthenticated(false);\n\n history.push(\"/login\");\n }\n\n return (\n !isAuthenticating && (\n
\n \n \n \n Digital Accelerator - API Catalog\n \n \n \n \n \n \n \n \n \n \n
\n )\n );\n}\n\nexport default App;\n","const reportWebVitals = onPerfEntry => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry);\n getFID(onPerfEntry);\n getFCP(onPerfEntry);\n getLCP(onPerfEntry);\n getTTFB(onPerfEntry);\n });\n }\n};\n\nexport default reportWebVitals;\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { Amplify } from 'aws-amplify';\nimport { BrowserRouter as Router } from 'react-router-dom';\nimport './index.css';\nimport App from './App';\nimport config from './config';\nimport reportWebVitals from './reportWebVitals';\n\nAmplify.configure({\n Auth: {\n mandatorySignIn: true,\n region: config.cognito.REGION,\n userPoolId: config.cognito.USER_POOL_ID,\n identityPoolId: config.cognito.IDENTITY_POOL_ID,\n userPoolWebClientId: config.cognito.APP_CLIENT_ID\n },\n Storage: {\n region: config.s3.REGION,\n bucket: config.s3.BUCKET,\n identityPoolId: config.cognito.IDENTITY_POOL_ID\n },\n API: {\n endpoints: [\n {\n name: \"notes\",\n endpoint: config.apiGateway.URL,\n region: config.apiGateway.REGION\n },\n ]\n }\n});\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals();\n"],"sourceRoot":""}