forked from cerc-io/laconic-console
Fix schema.
This commit is contained in:
@@ -43,9 +43,6 @@
|
||||
"graphql-tag": "^2.10.3",
|
||||
"lodash.defaultsdeep": "^4.6.1",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lodash.isobject": "^3.0.2",
|
||||
"lodash.omit": "^4.5.0",
|
||||
"lodash.transform": "^4.6.0",
|
||||
"moment": "^2.26.0",
|
||||
"react": "^16.13.1",
|
||||
"react-dom": "^16.13.1",
|
||||
|
||||
@@ -2,37 +2,24 @@
|
||||
// Copyright 2020 DxOS.org
|
||||
//
|
||||
|
||||
import isObject from 'lodash.isobject';
|
||||
import omit from 'lodash.omit';
|
||||
import transform from 'lodash.transform';
|
||||
import React from 'react';
|
||||
import { makeStyles } from '@material-ui/core';
|
||||
|
||||
import { JsonTreeView } from '@dxos/react-ux';
|
||||
|
||||
import { omitDeep } from '../util/omit';
|
||||
|
||||
const useStyles = makeStyles(() => ({
|
||||
root: {
|
||||
flex: 1
|
||||
}
|
||||
}));
|
||||
|
||||
/**
|
||||
* Remove Apollo __typename directive.
|
||||
* @param {Object} data
|
||||
* @returns {Object}
|
||||
*/
|
||||
const removeTypename = data => transform(data, (result, value, key) => {
|
||||
if (key !== '__typename') {
|
||||
result[key] = isObject(value) ? ('__typename' in value ? omit(value, '__typename') : value) : value;
|
||||
}
|
||||
}, {});
|
||||
|
||||
const Json = ({ data }) => {
|
||||
const classes = useStyles();
|
||||
|
||||
// TODO(burdon): Bug expands when updated.
|
||||
return (
|
||||
<JsonTreeView className={classes.root} data={removeTypename(data)} />
|
||||
<JsonTreeView className={classes.root} data={omitDeep(data, '__typename')} />
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
@@ -35,7 +35,7 @@ const VersionCheck = () => {
|
||||
// Check version.
|
||||
useEffect(() => {
|
||||
if (status && data) {
|
||||
const { dxos: { image: current } } = JSON.parse(status.system_status.json);
|
||||
const { dxos: { image: current } } = status.system_status;
|
||||
let latest = current;
|
||||
data.wns_records.json.forEach(({ attributes: { name, version } }) => {
|
||||
// TODO(burdon): Filter by type (WRN?)
|
||||
|
||||
@@ -27,7 +27,7 @@ const Status = () => {
|
||||
<Toolbar />
|
||||
}
|
||||
>
|
||||
<Json data={JSON.parse(data.system_status.json)} />
|
||||
<Json data={data.system_status} />
|
||||
</Panel>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -5,6 +5,17 @@
|
||||
query {
|
||||
system_status {
|
||||
timestamp
|
||||
json
|
||||
dxos {
|
||||
image
|
||||
}
|
||||
system {
|
||||
network {
|
||||
address
|
||||
}
|
||||
nodejs {
|
||||
version
|
||||
environment
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -59,19 +59,15 @@ export const createResolvers = config => {
|
||||
wns_log: async () => {
|
||||
log('WNS log...');
|
||||
|
||||
const data = await registry.getLogs();
|
||||
|
||||
// TODO(burdon): Bug returns blank line at end.
|
||||
const filtered = data.map(line => line).filter(Boolean);
|
||||
|
||||
// Cache and merge previous state.
|
||||
let i = filtered.findIndex(line => line === cachedLog[cachedLog.length - 1]);
|
||||
const data = await registry.getLogs();
|
||||
let i = data.findIndex(line => line === cachedLog[cachedLog.length - 1]);
|
||||
if (i === -1) {
|
||||
cachedLog = filtered;
|
||||
cachedLog = data;
|
||||
} else {
|
||||
i++;
|
||||
for (; i < filtered.length - 1; i++) {
|
||||
cachedLog.push(filtered[i]);
|
||||
for (; i < data.length - 1; i++) {
|
||||
cachedLog.push(data[i]);
|
||||
}
|
||||
|
||||
// Trim.
|
||||
|
||||
@@ -0,0 +1,22 @@
|
||||
//
|
||||
// Copyright 2020 DxOS.org
|
||||
//
|
||||
|
||||
// TODO(burdon): Factor out.
|
||||
export const omitDeep = (value, key) => {
|
||||
if (Array.isArray(value)) {
|
||||
return value.map(i => omitDeep(i, key));
|
||||
} else if (typeof value === 'object' && value !== null) {
|
||||
return Object.keys(value).reduce((newObject, k) => {
|
||||
if (k === key) {
|
||||
return newObject;
|
||||
}
|
||||
|
||||
return Object.assign({
|
||||
[k]: omitDeep(value[k], key),
|
||||
}, newObject);
|
||||
}, {});
|
||||
}
|
||||
|
||||
return value;
|
||||
};
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"build": {
|
||||
"name": "@dxos/console-client",
|
||||
"name": "@dxos/console-app",
|
||||
"buildDate": "2020-05-27T22:04:52.661Z",
|
||||
"version": "1.0.0-beta.0"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user