Skip to content
Snippets Groups Projects
Commit 38c8f855 authored by Isa H's avatar Isa H
Browse files

api post to mongodb with disease

parent 7d97ee59
Branches
No related tags found
No related merge requests found
...@@ -261,6 +261,7 @@ export default { ...@@ -261,6 +261,7 @@ export default {
collection: "", collection: "",
sampleCollection: "", sampleCollection: "",
solrbaseurl: "https://app01.cc.univie.ac.at:8983/solr/phaidra_sandbox", solrbaseurl: "https://app01.cc.univie.ac.at:8983/solr/phaidra_sandbox",
mongobaseurl: "http://localhost:8081",
phaidrabaseurl: "phaidra-sandbox.univie.ac.at", phaidrabaseurl: "phaidra-sandbox.univie.ac.at",
trackerbaseurl: "www.univie.ac.at/phaidra-stat/piwik", trackerbaseurl: "www.univie.ac.at/phaidra-stat/piwik",
siteid: 19, siteid: 19,
...@@ -1193,6 +1194,7 @@ export default { ...@@ -1193,6 +1194,7 @@ export default {
suggester: "ols", suggester: "ols",
url: "ols: 'http://www.ebi.ac.uk/ols/api/" url: "ols: 'http://www.ebi.ac.uk/ols/api/"
}); });
this.$store.commit("setInstanceMongo", this.mongobaseurl);
this.$store.commit("initStore"); // this commits initStore in every store module which has it this.$store.commit("initStore"); // this commits initStore in every store module which has it
this.createContainerForm(); this.createContainerForm();
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
</template> </template>
</v-tab> </v-tab>
<v-tab ripple @click="updatePrettyPrint()">Metadata preview</v-tab> <v-tab ripple @click="updatePrettyPrint()">Metadata preview</v-tab>
<v-tab ripple @click="addPost()">Mongo</v-tab>
<!-- <v-tab v-if="templating" ripple @click="loadTemplates()">Templates</v-tab>--> <!-- <v-tab v-if="templating" ripple @click="loadTemplates()">Templates</v-tab>-->
</v-tabs> </v-tabs>
...@@ -46,14 +47,16 @@ import VueJsonPretty from "vue-json-pretty"; ...@@ -46,14 +47,16 @@ import VueJsonPretty from "vue-json-pretty";
import arrays from "../../utils/arrays"; import arrays from "../../utils/arrays";
import jsonLd from "../../utils/json-ld"; import jsonLd from "../../utils/json-ld";
import fields from "../../utils/fields"; import fields from "../../utils/fields";
import PostsService from "@/services/PostsService";
import axios from "axios";
import PhInputForm from "./pharma-input-fields/PhInputForm"; import PhInputForm from "./pharma-input-fields/PhInputForm";
import { filterjsonfields } from "@/mixins/filterjsonfields";
export default { export default {
name: "ph-submit", name: "ph-submit",
mixins: [filterjsonfields],
components: { components: {
PhInputForm, PhInputForm,
VueJsonPretty VueJsonPretty
}, },
props: { props: {
...@@ -128,7 +131,9 @@ export default { ...@@ -128,7 +131,9 @@ export default {
previewMember: "", previewMember: "",
searchfieldsinput: "", searchfieldsinput: "",
metadatapreview: {}, metadatapreview: {},
ticked: [] ticked: [],
title: "ICI",
description: "voila"
}; };
}, },
methods: { methods: {
...@@ -239,6 +244,41 @@ export default { ...@@ -239,6 +244,41 @@ export default {
return "unknown"; return "unknown";
} }
}, },
submitMongo: async function() {
var self = this;
//var httpFormData = new FormData();
var myjson = {
title: "poupinette",
description: "mon poupie"
};
//httpFormData.append(JSON.stringify(myjson));
//console.log("httpFormData", self.getMetadata());
axios.post(
self.$store.state.settings.instance.mongo + "/posts",
{
title: "NOW",
description: "NOWWWWWWWWWWWWWWWWWWWWWWW"
},
{
headers: {
"Content-Type": "application/json"
}
}
);
// fetch(self.$store.state.settings.instance.mongo, {
// method: "POST",
// headers: {
// "Content-Type": "application/json"
// },
// body: JSON.stringify(myjson)
// })
// .then(response => response.json())
// .then(function(json) {})
// .catch(function(error) {});
},
submit: async function() { submit: async function() {
var self = this; var self = this;
this.loading = true; this.loading = true;
...@@ -408,7 +448,36 @@ export default { ...@@ -408,7 +448,36 @@ export default {
self.loading = false; self.loading = false;
self.$store.commit("setAlerts", []); self.$store.commit("setAlerts", []);
this.submit(); this.submit();
//need to launch the script to mongodb
} }
},
async addPost() {
var self = this;
if (self.getMetadata().metadata["json-ld"].container) {
var myJson = self.getMetadata().metadata["json-ld"].container;
console.log(self.getField(myJson, "pharmaWien:disease"));
/*if (
self.getMetadata().metadata["json-ld"].container["dcterms:subject"]
) {
var pharmaMetada = self.getMetadata().metadata["json-ld"].container[
"dcterms:subject"
];
//filter for all the @type which are relevant
var result = pharmaMetada.filter(obj => {
return obj["@type"] === "pharmaWien:disease";
});
console.log("results", result);
}*/
}
var httpFormData = new FormData();
//console.log("lalalal", self.getMetadata(), pharmaMetada);
await PostsService.addPost({
phaidraId: "objectID",
disease: this.description
});
//this.$router.push({ name: 'Posts' })
} }
}, },
mounted: function() { mounted: function() {
......
export const filterjsonfields = {
methods: {
getField: function (jsonObject, type) {
console.log("in getfields", jsonObject)
if (jsonObject) {
if (jsonObject["dcterms:subject"]) {
var pharmaMetada = jsonObject["dcterms:subject"];
//filter for all the @type which are relevant
var result = pharmaMetada.filter(obj => {
return obj["@type"] === type;
});
console.log("results", result);
return result;
}
}
},
}
};
import axios from "axios";
export default () => {
return axios.create({
//baseURL: this.$store.state.settings.instance.mongo
baseURL: "http://localhost:8081"
});
};
import Api from "@/services/Api";
export default {
fetchPosts() {
console.log("in fetch posts", Api().get("posts"));
return Api().get("posts");
},
addPost(params) {
return Api().post("posts", params);
}
};
...@@ -14,7 +14,8 @@ export default new Vuex.Store({ ...@@ -14,7 +14,8 @@ export default new Vuex.Store({
instance: { instance: {
api: "", api: "",
solr: "", solr: "",
baseurl: "" baseurl: "",
mongo: ""
}, },
global: { global: {
suggesters: {} suggesters: {}
...@@ -57,6 +58,9 @@ export default new Vuex.Store({ ...@@ -57,6 +58,9 @@ export default new Vuex.Store({
setInstanceSolr(state, solr) { setInstanceSolr(state, solr) {
state.settings.instance.solr = solr; state.settings.instance.solr = solr;
}, },
setInstanceMongo(state, mongo) {
state.settings.instance.mongo = mongo;
},
setInstancePhaidra(state, baseurl) { setInstancePhaidra(state, baseurl) {
state.settings.instance.baseurl = baseurl; state.settings.instance.baseurl = baseurl;
}, },
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment