joyent-portal/frontend/src/prop-types.js

76 lines
1.5 KiB
JavaScript
Raw Normal View History

2017-01-03 00:32:29 +02:00
const React = require('react');
const BaseObject = {
uuid: React.PropTypes.string,
id: React.PropTypes.string,
name: React.PropTypes.string
};
const Account = React.PropTypes.shape({
...BaseObject
});
2017-01-03 01:17:12 +02:00
const Link = React.PropTypes.shape({
name: React.PropTypes.string,
pathname: React.PropTypes.string
});
2017-01-03 00:32:29 +02:00
const Org = React.PropTypes.shape({
...BaseObject,
owner: React.PropTypes.string
});
const Project = React.PropTypes.shape({
...BaseObject
});
const Service = React.PropTypes.shape({
...BaseObject
});
2017-01-09 21:08:47 +02:00
const Instance = React.PropTypes.shape({
...BaseObject,
datacenter: React.PropTypes.string,
service: React.PropTypes.string,
project: React.PropTypes.string
});
const Metric = React.PropTypes.shape({
...BaseObject
});
2017-01-16 21:45:15 +02:00
const MetricType = React.PropTypes.shape({
...BaseObject
});
2017-01-11 23:11:48 +02:00
const Dataset = React.PropTypes.shape({
uuid: React.PropTypes.string,
type: React.PropTypes.string,
data: React.PropTypes.arrayOf(
React.PropTypes.shape({
2017-01-12 18:13:45 +02:00
firstQuartile: React.PropTypes.number,
thirdQuartile: React.PropTypes.number,
median: React.PropTypes.number,
max: React.PropTypes.number,
min: React.PropTypes.number
2017-01-11 23:11:48 +02:00
})
)
});
2017-01-03 00:32:29 +02:00
const Sections = React.PropTypes.arrayOf(
React.PropTypes.string
);
module.exports = {
account: Account,
2017-01-03 01:17:12 +02:00
link: Link,
2017-01-03 00:32:29 +02:00
org: Org,
project: Project,
sections: Sections,
2017-01-09 21:08:47 +02:00
service: Service,
instance: Instance,
metric: Metric,
2017-01-16 21:45:15 +02:00
metricType: MetricType,
2017-01-11 23:11:48 +02:00
dataset: Dataset
2017-01-03 00:32:29 +02:00
};