diff --git a/src/components/AddUserQuestion.vue b/src/components/AddUserQuestion.vue new file mode 100644 index 0000000..190d8e0 --- /dev/null +++ b/src/components/AddUserQuestion.vue @@ -0,0 +1,135 @@ + + + \ No newline at end of file diff --git a/src/components/Answer.vue b/src/components/Answer.vue index 0754388..a8e29cf 100644 --- a/src/components/Answer.vue +++ b/src/components/Answer.vue @@ -26,7 +26,8 @@ \ No newline at end of file diff --git a/src/components/OrganizationDescription.vue b/src/components/OrganizationDescription.vue index 692c132..efb69a0 100644 --- a/src/components/OrganizationDescription.vue +++ b/src/components/OrganizationDescription.vue @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/src/components/ProfileDescription.vue b/src/components/ProfileDescription.vue index 32d5f12..f6670e5 100644 --- a/src/components/ProfileDescription.vue +++ b/src/components/ProfileDescription.vue @@ -1,6 +1,6 @@ \ No newline at end of file diff --git a/src/components/UserHeader.vue b/src/components/UserHeader.vue index eae117e..330b360 100644 --- a/src/components/UserHeader.vue +++ b/src/components/UserHeader.vue @@ -1,6 +1,6 @@ - - \ No newline at end of file diff --git a/src/components/moderator/ModeratorNav.vue b/src/components/moderator/ModeratorNav.vue index 5bb1dd0..c24b5cc 100644 --- a/src/components/moderator/ModeratorNav.vue +++ b/src/components/moderator/ModeratorNav.vue @@ -72,9 +72,9 @@ export default { border-bottom: 1px solid lightgrey; margin-bottom: 24px; flex-flow: row wrap; - background-color: #404040; + background-color: #83677B; } .logout { - background-color: #404040; + background-color:#83677B; } \ No newline at end of file diff --git a/src/components/organizationProfileFeed.vue b/src/components/organizationProfileFeed.vue new file mode 100644 index 0000000..0904494 --- /dev/null +++ b/src/components/organizationProfileFeed.vue @@ -0,0 +1,51 @@ + + + + + + + + + \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js index 5e11264..b5ffa56 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -16,7 +16,7 @@ const routes = [ component: () => import('../views/UserLanding.vue') }, { - path: '/viewquestion', + path: '/viewquestion/:questionId', name: 'viewquestion', component: () => import('../views/Viewquestion.vue') }, @@ -50,6 +50,11 @@ const routes = [ name: 'profile', component: () => import('../views/UserProfile.vue') }, + { + path: '/organizationProfile', + name: 'organizationprofile', + component: () => import('../views/OrganizationProfile.vue') + }, { path: '/moderator', name: 'moderator', diff --git a/src/store/index.js b/src/store/index.js index 6b8f660..18f164c 100644 --- a/src/store/index.js +++ b/src/store/index.js @@ -8,42 +8,79 @@ const base_path = 'http://172.16.20.46:8086' export default new Vuex.Store({ state: { landingQuestions: {}, + questionDetail: {}, + userDetails: {}, + organizationDetails: {}, + approveUserDetails: {}, + approveQuestionDetails: {}, + questionDetailsById: {} token: localStorage.getItem('token') || '', status:'', UserDetails:{}, dummy:'' - }, mutations: { viewLandingQuestion(state,data) { state.landingQuestions=data; }, + + getQuestionDetails(state, data) { + state.questionDetail=data; + }, + + getUserProfile(state, data) { + state.userDetails=data; + }, + + getOrganizationProfile(state, data) { + state.organizationDetails=data; + }, + + setApproveUserDetails(state, data) { + state.approveUserDetails=data; + }, + + setApproveQuestionDetails(state,data) { + state.approveQuestionDetails=data; + }, + + setQuestionDetailsById(state,data) { + state.questionDetailsById=data + }, + auth_request(state) { state.status = 'loading' }, + auth_success(state, token, user) { state.status = "success" state.token = token state.user = user }, + auth_error(state) { state.status = '' state.token = '' }, + setUserDetails(state,UserDetails) { state.UserDetails=UserDetails }, + setDummy(state,dummy) { state.dummy=dummy } + }, actions: { viewLandingQuestion({commit}){ + let userId=localStorage.getItem('userId'); return new Promise((resolve, reject) => { - Axios.get('http://api' ) + Axios.get('http://172.16.20.107:8085/question/getLoginFeed/' + userId ) .then(response => { + window.console.log("the response",response); commit('viewLandingQuestion', response) resolve(response) }) @@ -53,6 +90,126 @@ export default new Vuex.Store({ }) }) }, + + getQuestionDetails({ commit }, questionid) { + window.console.log('questionId', questionid) + Axios.get('http://10.177.69.100:8080/' + questionid.questionId) + .then(response => { + commit('getQuestionDetails', response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + getUserProfileDetails({commit}, userId) { + Axios.get('http://172.16.20.46:8086/user/viewUser/' + userId) + .then(response => { + window.console.log("userdetails",response) + commit('getUserProfile', response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + getOrganizationProfileDetails({commit}, organizationId) { + Axios.get('http://172.16.20.46:8086/organiaztion/viewOrganization/' + organizationId) + .then(response => { + window.console.log("organizationdetails",response) + commit('getOrganizationProfile', response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + approveUser({commit}, moderatorId) { + Axios.get('http://172.16.20.46:8086/moderator/approvaleList/' + moderatorId) + .then(response => { + window.console.log("getApproveUserDetails",response) + commit('setApproveUserDetails', response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + approveUserId(context, data) { + Axios.post('http://172.16.20.46:8086/moderator/approve/' + data.userId+ "/" +data.moderatorId) + .then(response => { + window.console.log("getApproveUserDetails",response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + disapproveUserId(context, data) { + Axios.post('http://172.16.20.46:8086/moderator/disapove/' +data.moderatorId) + .then(response => { + window.console.log("getApproveUserDetails",response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + approveQuestion({commit}, moderatorId) { + Axios.get('http://172.16.20.46:8086/' + moderatorId) + .then(response => { + window.console.log("getApproveUserDetails",response) + commit('setApproveQuestionDetails', response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + approveQuestionId(context, data) { + Axios.post('http://172.16.20.46:8086/' + data.questionId+ "/" +data.moderatorId) + .then(response => { + window.console.log("setApproveQuestionDetails",response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + disapproveQuestionId(context, data) { + Axios.post('http://172.16.20.46:8086/' +data.moderatorId) + .then(response => { + window.console.log("getApproveUserDetails",response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + addQuestion(context, data) { + window.console.log("add question",data) + Axios.post('http://172.16.20.46:8085/question/add', data) + .then(response => { + window.console.log("response to add question",response) + }) + .catch(error => { + window.console.log(error) + }) + }, + + getQuestionDetailsById({commit}, questionId) { + Axios.gat('http://172.16.20.46:8085/question/', + questionId) + .then(response => { + window.console.log("response to get question details",response) + commit("setQuestionDetailsById",response) + }) + .catch(error => { + window.console.log(error) + }) + } + + }, + login({ commit }, data) { window.console.log(data) return new Promise((resolve, reject) => { @@ -79,9 +236,8 @@ export default new Vuex.Store({ reject(err) }) }) - // window.console.log(this.isLoggedIn,'iis logg'), - // window.console.log(this.role,'rolk') }, + register({ commit }, user) { window.console.log('user',user) return new Promise((resolve, reject) => { @@ -97,6 +253,7 @@ export default new Vuex.Store({ }) }) }, + sendRole({ commit } ,data) { let authStr = 'Bearer ' + localStorage.getItem('token') window.console.log('role data',data) @@ -112,6 +269,7 @@ export default new Vuex.Store({ }) }) }, + getUserDetails({commit},data) { window.console.log('token data',data) let authStr = 'Bearer ' + localStorage.getItem('token') @@ -128,6 +286,7 @@ export default new Vuex.Store({ }) }) }, + sendUserDetails({commit},data) { window.console.log('details data',data) return new Promise((resolve,reject)=> { @@ -142,6 +301,7 @@ export default new Vuex.Store({ }) }) }, + sendModeratorDetails({commit},data) { window.console.log('details data',data) return new Promise((resolve,reject)=> { @@ -157,6 +317,7 @@ export default new Vuex.Store({ }) }, + createOrg({commit},data) { const newData ={ organizationName: data.organizationName, @@ -176,6 +337,7 @@ export default new Vuex.Store({ }) }) }, + sendCategory({commit},data) { @@ -203,9 +365,37 @@ export default new Vuex.Store({ getters: { + getLandingQuestion(state) { + window.console.log("getter from store",state.landingQuestions) return state.landingQuestions || {} }, + + + questionDetails(state) { + return state.questionDetail || {} + }, + + getUserDetails(state) { + return state.userDetails || {} + }, + + getOrganizationDetails(state) { + return state.organizationDetails || {} + }, + + getApproveUserDetails(state) { + return state.approveUserDetails || {} + }, + + getApproveQuestionDetails(state) { + return state.approveQuestionDetails || {} + }, + + getQuestionDetails(state) { + return state.questionDetailsById || {} + }, + getUserInfo(state) { return state.UserDetails || {} } diff --git a/src/views/OrganizationProfile.vue b/src/views/OrganizationProfile.vue new file mode 100644 index 0000000..07bc878 --- /dev/null +++ b/src/views/OrganizationProfile.vue @@ -0,0 +1,40 @@ + + + + + \ No newline at end of file diff --git a/src/views/UserLanding.vue b/src/views/UserLanding.vue index 9cc1d52..ba07897 100644 --- a/src/views/UserLanding.vue +++ b/src/views/UserLanding.vue @@ -1,13 +1,16 @@ @@ -18,24 +21,27 @@ import { mapGetters } from "vuex"; export default { components: { - LandingQuestion, - UserHeader + LandingQuestion, + UserHeader }, data() { - return { - dialog: false - } + return { + dialog: false + }; }, created() { - // this.$store.dispatch("landingQuestions"); + localStorage.setItem("userId", "5e3140bb4c951a1723dc3f01"); + localStorage.setItem("organizationId", "5e3149d91edbf851280ccf51"); + localStorage.setItem("moderatorId", "5e314bc583f84b7add06ec37"); + this.$store.dispatch("viewLandingQuestion"); }, methods: { - dialogValue(){ - this.dialog = true; - }, - openProfile(){ - this.$router.push("/profile") - } + dialogValue() { + this.dialog = true; + }, + openProfile() { + this.$router.push("/profile"); + } }, computed: { @@ -55,7 +61,7 @@ export default { margin-left: 300px; } .sidenav { - height: 82%; + height: 100%; width: 160px; margin-top: 70px; z-index: 1; @@ -65,7 +71,6 @@ export default { background-color: #111; overflow-x: hidden; padding-top: 20px; - } .footer { position: fixed; @@ -111,8 +116,7 @@ input { margin-left: 450px; } -.profile-button{ - margin-left:10px; +.profile-button { + margin-left: 10px; } - \ No newline at end of file diff --git a/src/views/UserProfile.vue b/src/views/UserProfile.vue index d38b465..5539ef7 100644 --- a/src/views/UserProfile.vue +++ b/src/views/UserProfile.vue @@ -1,9 +1,8 @@ @@ -11,15 +10,34 @@ import ProfileDescription from "@/components/ProfileDescription.vue"; import ProfileFeed from "@/components/ProfileFeed.vue"; import UserHeader from "@/components/UserHeader.vue"; -// import OrganizationDescription from "@/components/OrganizationDescription.vue"; +import { mapGetters } from 'vuex'; export default { + name: "Profile", - components: { + components: { ProfileDescription, ProfileFeed, UserHeader // OrganizationDescription + }, + mounted() { + + window.console.log('hello from mounted') + let userId=localStorage.getItem("userId"); + window.console.log("userId",userId) + this.$store.dispatch('getUserProfileDetails',userId); + }, + computed: { + ...mapGetters(["getUserDetails"]) } } - \ No newline at end of file + + + \ No newline at end of file diff --git a/src/views/Viewquestion.vue b/src/views/Viewquestion.vue index c72f47c..f4e1af0 100644 --- a/src/views/Viewquestion.vue +++ b/src/views/Viewquestion.vue @@ -3,11 +3,10 @@


- +
- - +
@@ -16,15 +15,22 @@ import Question from "@/components/Question"; import Answer from "@/components/Answer"; import Enterans from "@/components/Enterans"; +import { mapGetters } from 'vuex'; export default { name: "viewquestion", - components: { Question, Answer, Enterans + }, + mounted() { + window.console.log("inside mounted", this.$route.params.questionId); + this.$store.dispatch("getQuestionDetailsById",this.$route.params.questionId); + }, + computed: { + ...mapGetters(["getQuestionDetails"]) } }; diff --git a/src/views/moderator/Moderator.vue b/src/views/moderator/Moderator.vue index 94e91aa..fe9ddbc 100644 --- a/src/views/moderator/Moderator.vue +++ b/src/views/moderator/Moderator.vue @@ -2,8 +2,8 @@
- +
diff --git a/src/views/moderator/ModeratorApproveAnswer.vue b/src/views/moderator/ModeratorApproveAnswer.vue index 858dabb..76eb4c1 100644 --- a/src/views/moderator/ModeratorApproveAnswer.vue +++ b/src/views/moderator/ModeratorApproveAnswer.vue @@ -15,4 +15,10 @@ export default { answerApproval } } - \ No newline at end of file + + + \ No newline at end of file diff --git a/src/views/moderator/ModeratorApproveQuestion.vue b/src/views/moderator/ModeratorApproveQuestion.vue index 7720cdd..1f53db9 100644 --- a/src/views/moderator/ModeratorApproveQuestion.vue +++ b/src/views/moderator/ModeratorApproveQuestion.vue @@ -16,4 +16,11 @@ export default { approveQuestion } } - \ No newline at end of file + + + + \ No newline at end of file diff --git a/src/views/moderator/ModeratorApproveUser.vue b/src/views/moderator/ModeratorApproveUser.vue index 66cc410..650adcd 100644 --- a/src/views/moderator/ModeratorApproveUser.vue +++ b/src/views/moderator/ModeratorApproveUser.vue @@ -16,4 +16,11 @@ export default { approveUser } } - \ No newline at end of file + + + + \ No newline at end of file