summaryrefslogtreecommitdiff
path: root/src/shapes/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/shapes/index.js')
-rw-r--r--src/shapes/index.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/shapes/index.js b/src/shapes/index.js
new file mode 100644
index 00000000..72153f54
--- /dev/null
+++ b/src/shapes/index.js
@@ -0,0 +1,28 @@
+import PropTypes from 'prop-types';
+
+const Shapes = {};
+
+Shapes.User = PropTypes.shape({
+ id: PropTypes.number.isRequired,
+ googleId: PropTypes.number.isRequired,
+ email: PropTypes.string.isRequired,
+ givenName: PropTypes.string.isRequired,
+ familyName: PropTypes.string.isRequired,
+});
+
+Shapes.Simulation = PropTypes.shape({
+ id: PropTypes.number.isRequired,
+ name: PropTypes.string.isRequired,
+ datetimeCreated: PropTypes.string.isRequired,
+ datetimeLastEdited: PropTypes.string.isRequired,
+});
+
+Shapes.Authorization = PropTypes.shape({
+ userId: PropTypes.number.isRequired,
+ user: Shapes.User,
+ simulationId: PropTypes.number.isRequired,
+ simulation: Shapes.Simulation,
+ authorizationLevel: PropTypes.string.isRequired,
+});
+
+export default Shapes; \ No newline at end of file