76 lines
1.5 KiB
JavaScript
76 lines
1.5 KiB
JavaScript
const React = require('react');
|
|
|
|
const BaseObject = {
|
|
uuid: React.PropTypes.string,
|
|
id: React.PropTypes.string,
|
|
name: React.PropTypes.string
|
|
};
|
|
|
|
const Account = React.PropTypes.shape({
|
|
...BaseObject
|
|
});
|
|
|
|
const Link = React.PropTypes.shape({
|
|
name: React.PropTypes.string,
|
|
pathname: React.PropTypes.string
|
|
});
|
|
|
|
const Org = React.PropTypes.shape({
|
|
...BaseObject,
|
|
owner: React.PropTypes.string
|
|
});
|
|
|
|
const Project = React.PropTypes.shape({
|
|
...BaseObject
|
|
});
|
|
|
|
const Service = React.PropTypes.shape({
|
|
...BaseObject
|
|
});
|
|
|
|
const Instance = React.PropTypes.shape({
|
|
...BaseObject,
|
|
datacenter: React.PropTypes.string,
|
|
service: React.PropTypes.string,
|
|
project: React.PropTypes.string
|
|
});
|
|
|
|
const Metric = React.PropTypes.shape({
|
|
...BaseObject
|
|
});
|
|
|
|
const MetricType = React.PropTypes.shape({
|
|
...BaseObject
|
|
});
|
|
|
|
const Dataset = React.PropTypes.shape({
|
|
uuid: React.PropTypes.string,
|
|
type: React.PropTypes.string,
|
|
data: React.PropTypes.arrayOf(
|
|
React.PropTypes.shape({
|
|
firstQuartile: React.PropTypes.number,
|
|
thirdQuartile: React.PropTypes.number,
|
|
median: React.PropTypes.number,
|
|
max: React.PropTypes.number,
|
|
min: React.PropTypes.number
|
|
})
|
|
)
|
|
});
|
|
|
|
const Sections = React.PropTypes.arrayOf(
|
|
React.PropTypes.string
|
|
);
|
|
|
|
module.exports = {
|
|
account: Account,
|
|
link: Link,
|
|
org: Org,
|
|
project: Project,
|
|
sections: Sections,
|
|
service: Service,
|
|
instance: Instance,
|
|
metric: Metric,
|
|
metricType: MetricType,
|
|
dataset: Dataset
|
|
};
|