summaryrefslogtreecommitdiff
path: root/frontend
diff options
context:
space:
mode:
Diffstat (limited to 'frontend')
-rw-r--r--frontend/src/actions/modals/prefabs.js14
-rw-r--r--frontend/src/actions/prefabs.js45
-rw-r--r--frontend/src/api/routes/prefabs.js40
3 files changed, 99 insertions, 0 deletions
diff --git a/frontend/src/actions/modals/prefabs.js b/frontend/src/actions/modals/prefabs.js
new file mode 100644
index 00000000..826565d2
--- /dev/null
+++ b/frontend/src/actions/modals/prefabs.js
@@ -0,0 +1,14 @@
+export const OPEN_NEW_PREFAB_MODAL = 'OPEN_NEW_PREFAB_MODAL'
+export const CLOSE_NEW_PREFAB_MODAL = 'CLOSE_PREFAB_MODAL'
+
+export function openNewPrefabModal() {
+ return {
+ type: OPEN_NEW_PREFAB_MODAL,
+ }
+}
+
+export function closeNewPrefabModal() {
+ return {
+ type: CLOSE_NEW_PREFAB_MODAL,
+ }
+}
diff --git a/frontend/src/actions/prefabs.js b/frontend/src/actions/prefabs.js
new file mode 100644
index 00000000..3f1558ce
--- /dev/null
+++ b/frontend/src/actions/prefabs.js
@@ -0,0 +1,45 @@
+export const ADD_PREFAB = 'ADD_PREFAB'
+export const ADD_PREFAB_SUCCEEDED = 'ADD_PREFAB_SUCCEEDED'
+export const DELETE_PREFAB = 'DELETE_PREFAB'
+export const DELETE_PREFAB_SUCCEEDED = 'DELETE_PREFAB_SUCCEEDED'
+export const OPEN_PREFAB_SUCCEEDED = 'OPEN_PREFAB_SUCCEEDED'
+
+
+export function addPrefab(name) {
+ return (dispatch, getState) => {
+ const { auth } = getState()
+ dispatch({
+ type: ADD_PREFAB,
+ name,
+ userId: auth.userId,
+ })
+ }
+}
+
+export function addPrefabSucceeded(authorization) {
+ return {
+ type: ADD_PREFAB_SUCCEEDED,
+ authorization,
+ }
+}
+
+export function deletePrefab(id) {
+ return {
+ type: DELETE_PREFAB,
+ id,
+ }
+}
+
+export function deletePrefabSucceeded(id) {
+ return {
+ type: DELETE_PREFAB_SUCCEEDED,
+ id,
+ }
+}
+
+export function openPrefabSucceeded(id) {
+ return {
+ type: OPEN_PREFAB_SUCCEEDED,
+ id,
+ }
+}
diff --git a/frontend/src/api/routes/prefabs.js b/frontend/src/api/routes/prefabs.js
new file mode 100644
index 00000000..8a1debfa
--- /dev/null
+++ b/frontend/src/api/routes/prefabs.js
@@ -0,0 +1,40 @@
+import { sendRequest } from '../index'
+import { deleteById, getById } from './util'
+
+export function getPrefab(prefabId) {
+ return getById('/prefabs/{prefabId}', { prefabId })
+}
+
+export function addPrefab(prefab) {
+ return sendRequest({
+ path: '/prefabs',
+ method: 'POST',
+ parameters: {
+ body: {
+ prefab,
+ },
+ path: {},
+ query: {},
+ },
+ })
+}
+
+export function updatePrefab(prefab) {
+ return sendRequest({
+ path: '/prefabs/{prefabId}',
+ method: 'PUT',
+ parameters: {
+ body: {
+ prefab,
+ },
+ path: {
+ prefabId: prefab._id,
+ },
+ query: {},
+ },
+ })
+}
+
+export function deletePrefab(prefabId) {
+ return deleteById('/prefabs/{prefabId}', { prefabId })
+}