Fix schema.

This commit is contained in:
richburdon
2020-05-27 22:35:37 -04:00
parent eb6bcd9c95
commit d18a1475ea
18 changed files with 1274 additions and 185 deletions
-3
View File
@@ -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",
+3 -16
View File
@@ -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
}
}
}
}
+5 -9
View File
@@ -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.
+22
View File
@@ -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 -1
View File
@@ -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"
}