Преглед изворни кода

deletion integrated but not working

jusrhee пре 5 година
родитељ
комит
2a8d92173e
2 измењених фајлова са 16 додато и 2 уклоњено
  1. 10 1
      dashboard/src/main/home/modals/UpdateProjectModal.tsx
  2. 6 1
      dashboard/src/shared/api.tsx

+ 10 - 1
dashboard/src/main/home/modals/UpdateProjectModal.tsx

@@ -27,7 +27,16 @@ export default class UpdateProjectModal extends Component<PropsType, StateType>
   };
   
   handleDelete = () => {
-    alert('ay lmao');
+    let { currentProject } = this.context;
+    this.setState({ status: 'loading' });
+    api.deleteProject('<token>', {}, { id: currentProject.id }, (err: any, res: any) => {
+      if (err) {
+        this.setState({ status: 'error' });
+        // console.log(err)
+      } else {
+        this.setState({ status: 'successful', showDeleteOverlay: false });
+      }
+    });
   }
 
   render() {

+ 6 - 1
dashboard/src/shared/api.tsx

@@ -149,6 +149,10 @@ const createProject = baseApi<{ name: string }, {}>('POST', pathParams => {
   return `/api/projects`;
 });
 
+const deleteProject = baseApi<{}, { id: number }>('DELETE', pathParams => {
+  return `/api/projects/${pathParams.id}`;
+});
+
 // Bundle export to allow default api import (api.<method> is more readable)
 export default {
   checkAuth,
@@ -171,5 +175,6 @@ export default {
   getBranches,
   getBranchContents,
   getProjects,
-  createProject
+  createProject,
+  deleteProject
 }