diff options
| author | Ernst Widerberg <ernst@sunet.se> | 2022-03-30 12:53:34 +0200 |
|---|---|---|
| committer | Ernst Widerberg <ernst@sunet.se> | 2022-03-30 12:54:32 +0200 |
| commit | dcd03d8a3f94505c53e667a4b967a29b698c5728 (patch) | |
| tree | 399c39a193666d72e2fb9dcf0370ced04b1f96b0 /src/components/ScanView.js | |
| parent | cb77e7928297c39222a813b0de6f3b2768c24c61 (diff) | |
Merge redesign (refs/archive/redesign-2022-03-30)
Diffstat (limited to 'src/components/ScanView.js')
| -rw-r--r-- | src/components/ScanView.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/components/ScanView.js b/src/components/ScanView.js new file mode 100644 index 0000000..aefd287 --- /dev/null +++ b/src/components/ScanView.js @@ -0,0 +1,55 @@ +import React from "react"; + +import ScanDetail from "./ScanDetail"; + +class ScanView extends React.Component { + constructor(props) { + super(props); + this.state = { + object: null + }; + + this.getData = this.getData.bind(this); + } + + componentDidMount() { + this.getData(); + } + + getData() { + fetch( + `${window.injectedEnv.COLLECTOR_URL}/sc/v0/get/${this.props.id}`, + { + headers: { + Authorization: "Bearer " + this.props.token + } + } + ) + // TODO: Look at `status` or return code or both? + .then(resp => { + if (resp.status !== 200) + throw new Error( + `Unexpected HTTP response code from soc_collector: ${resp.status} ${resp.statusText}` + ); + return resp.json(); + }) + .then(json => { + if (json.status != "success") + throw new Error( + `Unexpected status from soc_collector: ${json.status}` + ); + this.setState({ + object: json.docs + }); + }) + .catch(e => this.props.setError(e)); + } + + render() { + return this.state.object === null ? null : ( + <ScanDetail {...this.state.object} /> + ); + } +} + +export default ScanView; |
