diff options
| author | Georgios Andreadis <info@gandreadis.com> | 2020-07-10 10:21:46 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-08-24 19:48:01 +0200 |
| commit | 8aa174e70c01631ae4e00a6d208966fcd77cf972 (patch) | |
| tree | 35ec6527e8d7a0b4093e18c8cb501c293a18b5eb /frontend/src/shapes | |
| parent | 607e8c72d85bf79dcd9bf28df96b239e2764bc30 (diff) | |
Add implementation of portfolio and scenario UI structure
Diffstat (limited to 'frontend/src/shapes')
| -rw-r--r-- | frontend/src/shapes/index.js | 37 |
1 files changed, 29 insertions, 8 deletions
diff --git a/frontend/src/shapes/index.js b/frontend/src/shapes/index.js index b3889243..32914f25 100644 --- a/frontend/src/shapes/index.js +++ b/frontend/src/shapes/index.js @@ -17,7 +17,7 @@ Shapes.Project = PropTypes.shape({ datetimeCreated: PropTypes.string.isRequired, datetimeLastEdited: PropTypes.string.isRequired, topologyIds: PropTypes.array.isRequired, - experimentIds: PropTypes.array.isRequired, + portfolioIds: PropTypes.array.isRequired, }) Shapes.Authorization = PropTypes.shape({ @@ -96,16 +96,37 @@ Shapes.Trace = PropTypes.shape({ type: PropTypes.string.isRequired, }) -Shapes.Experiment = PropTypes.shape({ +Shapes.Portfolio = PropTypes.shape({ _id: PropTypes.string.isRequired, projectId: PropTypes.string.isRequired, - topologyId: PropTypes.string.isRequired, - topology: Shapes.Topology, - traceId: PropTypes.string.isRequired, - trace: Shapes.Trace, - schedulerName: PropTypes.string.isRequired, - scheduler: Shapes.Scheduler, name: PropTypes.string.isRequired, + scenarioIds: PropTypes.arrayOf(PropTypes.string).isRequired, + targets: PropTypes.shape({ + enabledMetrics: PropTypes.arrayOf(PropTypes.string).isRequired, + repeatsPerScenario: PropTypes.number.isRequired, + }).isRequired, +}) + +Shapes.Scenario = PropTypes.shape({ + _id: PropTypes.string.isRequired, + portfolioId: PropTypes.string.isRequired, + name: PropTypes.string.isRequired, + simulationState: PropTypes.string.isRequired, + trace: PropTypes.shape({ + traceId: PropTypes.string.isRequired, + trace: Shapes.Trace, + loadSamplingFraction: PropTypes.number.isRequired, + }).isRequired, + topology: PropTypes.shape({ + topologyId: PropTypes.string.isRequired, + topology: Shapes.Topology, + }).isRequired, + operational: PropTypes.shape({ + failuresEnabled: PropTypes.bool.isRequired, + performanceInterferenceEnabled: PropTypes.bool.isRequired, + schedulerName: PropTypes.string.isRequired, + scheduler: Shapes.Scheduler, + }).isRequired, }) Shapes.WallSegment = PropTypes.shape({ |
