diff --git a/client/src/components/Apps/GoogleDrive/Modal/Form.js b/client/src/components/Apps/GoogleDrive/Modal/Form.js
index 5b5e978a..27c80399 100644
--- a/client/src/components/Apps/GoogleDrive/Modal/Form.js
+++ b/client/src/components/Apps/GoogleDrive/Modal/Form.js
@@ -1,45 +1,65 @@
-import React from 'react';
+import React from "react";
import styles from "../GoogleDrive.module.css";
-
+import axios from "axios";
class NameForm extends React.Component {
- constructor(props) {
- super(props);
- this.state = { value: '' };
+ constructor(props) {
+ super(props);
+ this.state = { value: "" };
- this.handleChange = this.handleChange.bind(this);
- this.handleSubmit = this.handleSubmit.bind(this);
- }
+ this.handleChange = this.handleChange.bind(this);
+ this.handleSubmit = this.handleSubmit.bind(this);
+ }
- handleChange(event) {
- this.setState({ value: event.target.value });
- }
+ handleChange(event) {
+ this.setState({ value: event.target.value });
+ }
- handleSubmit(event) {
- alert('A comment was submitted: ' + this.state.value);
- event.preventDefault();
- }
+ handleSubmit(event) {
+ // alert("A comment was submitted: " + this.state.value);
+ event.preventDefault();
+ axios
+ .post("/tools/addtools", {
+ comment: this.state.value,
+ tool: "googledrive",
+ })
+ .then((resp) => {
+ alert("A comment was submitted: " + resp);
+ })
+ .catch((error) => {
+ alert("An error occured: " + error);
+ });
+ }
- render() {
- return (
-
- );
- }
+ render() {
+ return (
+
+
+
+ );
+ }
}
-export default NameForm
\ No newline at end of file
+export default NameForm;
diff --git a/server/src/config/routing.js b/server/src/config/routing.js
index d06d1763..48827ab4 100644
--- a/server/src/config/routing.js
+++ b/server/src/config/routing.js
@@ -2,6 +2,11 @@ const express = require("express");
const morgan = require("morgan");
const compression = require("compression");
const cors = require("cors");
+const corsOptions = {
+ origin: "*",
+ credentials: true, //access-control-allow-credentials:true
+ optionSuccessStatus: 200,
+};
const { NotFoundError } = require("../lib/errors");
const errorMiddleware = require("../middlewares/error");
@@ -14,7 +19,7 @@ module.exports = (app) => {
app.use(morgan("dev"));
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
- app.use(cors());
+ app.use(cors(corsOptions));
app.use("/api", routes);
diff --git a/server/src/controllers/googledrive/index.js b/server/src/controllers/googledrive/index.js
index b3fbef79..7b3f44ff 100644
--- a/server/src/controllers/googledrive/index.js
+++ b/server/src/controllers/googledrive/index.js
@@ -27,7 +27,6 @@ class GoogleDriveController {
);
}
async getFilesList(req, res) {
- console.log(REDIRECT_URI);
try {
const r = await drive.files.list();
const { data } = r;
@@ -41,7 +40,7 @@ class GoogleDriveController {
}
}
async getData(req, res) {
- const resp = await fetch('https://jsonplaceholder.typicode.com/posts');
+ const resp = await fetch("https://jsonplaceholder.typicode.com/posts");
const json = await resp.json();
res.send(response("Data info returned successfully", json));
}
diff --git a/server/src/controllers/tools.js b/server/src/controllers/tools.js
index 7ce03807..e2553bd8 100644
--- a/server/src/controllers/tools.js
+++ b/server/src/controllers/tools.js
@@ -1,22 +1,76 @@
const tools = require("../services/tools");
const response = require("../utils/response");
+const axios = require("axios");
+const fs = require("fs");
+//store
+const toolsData = [];
class ToolsController {
async getAllAvailableTools(req, res) {
const origin = req.headers.referer || req.headers.host;
const availableTools = await tools.getAll(req.query, origin);
-
res.send(response("Available Tools returned successfully", availableTools));
}
async getRecommendedTools(req, res) {
const origin = req.headers.referer || req.headers.host;
const recommendedTools = await tools.getRecommendedTools(origin);
-
res.send(
response("Recommended Tools returned successfully", recommendedTools)
);
}
+ async getOrganizationTools(req, res) {
+ const { plugin_id, coll_name, org_id } = req.body;
+ axios
+ .get(
+ `https://api.zuri.chat/data/read/${plugin_id}/${coll_name}/${org_id}`
+ )
+ .then((resp) => {
+ res.send(resp.data);
+ })
+ .catch((err) => {
+ res.status(500).json({
+ statusCode: 500,
+ message: err.message,
+ });
+ });
+ }
+
+ async addTool(req, res) {
+ const options = {
+ headers: {
+ "content-type": "application/json",
+ "cache-control": "no-cache",
+ },
+ };
+ axios
+ .post(
+ "https://api.zuri.chat/v1/data/write",
+ {
+ plugin_id: req.body.plugin_id,
+ organization_id: req.body.organization_id,
+ collection_name: "organization_tools",
+ payload: {
+ plugin_id: req.body.plugin_id,
+ organization_id: req.body.organization_id,
+ message: req.body.message,
+ },
+ bulk_write: false,
+ object_id: "",
+ filter: {},
+ },
+ options
+ )
+ .then((resp) => {
+ res.send("This tool has been added successfully");
+ })
+ .catch((err) => {
+ res.status(500).json({
+ statusCode: 500,
+ message: err.message,
+ });
+ });
+ }
}
module.exports = new ToolsController();
diff --git a/server/src/routes/externaltools.js b/server/src/routes/externaltools.js
index e28395e0..33c210a2 100644
--- a/server/src/routes/externaltools.js
+++ b/server/src/routes/externaltools.js
@@ -4,6 +4,8 @@ const externaltools = require("../controllers/tools");
module.exports = function () {
router.get("/tools", externaltools.getAllAvailableTools);
router.get("/tools/recommended", externaltools.getRecommendedTools);
+ router.get("/tools/organizationtools", externaltools.getOrganizationTools);
+ router.post("/tools/addtools", externaltools.addTool);
return router;
};
diff --git a/server/src/routes/googledrive/index.js b/server/src/routes/googledrive/index.js
index 8af137ce..aca197f5 100644
--- a/server/src/routes/googledrive/index.js
+++ b/server/src/routes/googledrive/index.js
@@ -4,8 +4,7 @@ const googleDrvieController = require("../../controllers/googledrive/index");
module.exports = function () {
router.get("/googledrive/info", googleDrvieController.index);
- router.get("/googledrive/data", googleDrvieController.getData)
-
+ router.get("/googledrive/data", googleDrvieController.getData);
router.get("/googledrive/get-files-list", googleDrvieController.getFilesList);
return router;
};