mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-06-07 18:44:08 +00:00
interlocutors: actions, mutations, fetch request (wip)
This commit is contained in:
parent
6da8f1c107
commit
eac42581a6
@ -1,3 +1,14 @@
|
||||
|
||||
const getBodyTypeId = (payload) => {
|
||||
const body = {};
|
||||
if (payload !== null) {
|
||||
const typeId = `${payload.result.type}_id`;
|
||||
body[typeId] = payload.result[typeId];
|
||||
};
|
||||
console.log('body', body);
|
||||
return body;
|
||||
}
|
||||
|
||||
/*
|
||||
* Endpoint v.2 chill_api_single_accompanying_course__entity
|
||||
* method GET/HEAD, get AccompanyingCourse Instance
|
||||
@ -68,12 +79,7 @@ const postParticipation = (id, person_id, method) => {
|
||||
* @method string - POST or DELETE
|
||||
*/
|
||||
const postRequestor = (id, payload, method) => {
|
||||
const body = {};
|
||||
if (payload !== null) {
|
||||
const typeId = `${payload.result.type}_id`;
|
||||
body[typeId] = payload.result[typeId];
|
||||
};
|
||||
console.log('body', body);
|
||||
const body = getBodyTypeId(payload);
|
||||
const url = `/api/1.0/person/accompanying-course/${id}/requestor.json`;
|
||||
return fetch(url, {
|
||||
method: method,
|
||||
@ -88,9 +94,34 @@ const postRequestor = (id, payload, method) => {
|
||||
});
|
||||
};
|
||||
|
||||
/*
|
||||
* Endpoint v.2 chill_api_single_accompanying_course_resource,
|
||||
* method POST/DELETE, add/remove a resource to the accompanyingCourse
|
||||
*
|
||||
* @id integer - id of accompanyingCourse
|
||||
* @payload object of type person|thirdparty
|
||||
* @method string - POST or DELETE
|
||||
*/
|
||||
const postResource = (id, payload, method) => {
|
||||
const body = getBodyTypeId(payload);
|
||||
const url = `/api/1.0/person/accompanying-course/${id}/resource.json`;
|
||||
return fetch(url, {
|
||||
method: method,
|
||||
headers: {
|
||||
'Content-Type': 'application/json;charset=utf-8'
|
||||
},
|
||||
body: JSON.stringify(body)
|
||||
})
|
||||
.then(response => {
|
||||
if (response.ok) { return response.json(); }
|
||||
throw Error('Error with request resource response');
|
||||
});
|
||||
};
|
||||
|
||||
export {
|
||||
getAccompanyingCourse,
|
||||
patchAccompanyingCourse,
|
||||
postParticipation,
|
||||
postRequestor
|
||||
postRequestor,
|
||||
postResource
|
||||
};
|
||||
|
@ -37,8 +37,8 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import AddPersons from 'ChillPersonAssets/vuejs/_components/AddPersons.vue'
|
||||
import InterlocutorItem from './InterlocutorItem.vue'
|
||||
import AddPersons from 'ChillPersonAssets/vuejs/_components/AddPersons.vue';
|
||||
import InterlocutorItem from './InterlocutorItem.vue';
|
||||
|
||||
export default {
|
||||
name: 'Interlocutors',
|
||||
@ -60,7 +60,7 @@ export default {
|
||||
},
|
||||
computed: {
|
||||
accompanyingCourse() {
|
||||
return this.$store.state.accompanyingCourse
|
||||
return this.$store.state.accompanyingCourse;
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
|
@ -3,7 +3,8 @@ import { createStore } from 'vuex';
|
||||
import { getAccompanyingCourse,
|
||||
patchAccompanyingCourse,
|
||||
postParticipation,
|
||||
postRequestor } from '../api';
|
||||
postRequestor,
|
||||
postResource } from '../api';
|
||||
|
||||
const debug = process.env.NODE_ENV !== 'production';
|
||||
const id = window.accompanyingCourseId;
|
||||
@ -38,21 +39,30 @@ let initPromise = getAccompanyingCourse(id)
|
||||
state.accompanyingCourse.participations.push(participation);
|
||||
},
|
||||
removeRequestor(state) {
|
||||
console.log('### mutation: removeRequestor');
|
||||
//console.log('### mutation: removeRequestor');
|
||||
state.accompanyingCourse.requestor = null;
|
||||
},
|
||||
addRequestor(state, requestor) {
|
||||
console.log('### mutation: addRequestor', requestor);
|
||||
//console.log('### mutation: addRequestor', requestor);
|
||||
state.accompanyingCourse.requestor = requestor;
|
||||
},
|
||||
requestorIsAnonymous(state, value) {
|
||||
console.log('### mutation: requestorIsAnonymous', value);
|
||||
//console.log('### mutation: requestorIsAnonymous', value);
|
||||
state.accompanyingCourse.requestorAnonymous = value;
|
||||
}
|
||||
},
|
||||
removeInterlocutor(state, interlocutor) {
|
||||
console.log('### mutation: removeInterlocutor', interlocutor);
|
||||
state.accompanyingCourse.resources = state.accompanyingCourse.resources.filter(resource => resource !== interlocutor);
|
||||
},
|
||||
addInterlocutor(state, interlocutor) {
|
||||
console.log('### mutation: addInterlocutor', interlocutor);
|
||||
state.accompanyingCourse.resources.push(interlocutor);
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
removeParticipation({ commit }, payload) {
|
||||
commit('removeParticipation', payload);
|
||||
// fetch DELETE request...
|
||||
},
|
||||
closeParticipation({ commit }, payload) {
|
||||
console.log('## action: fetch delete participation: payload', payload);
|
||||
@ -77,7 +87,7 @@ let initPromise = getAccompanyingCourse(id)
|
||||
});
|
||||
},
|
||||
removeRequestor({ commit }) {
|
||||
console.log('## action: fetch post requestor');
|
||||
console.log('## action: fetch delete requestor');
|
||||
postRequestor(id, null, 'DELETE')
|
||||
.then(requestor => new Promise((resolve, reject) => {
|
||||
commit('removeRequestor');
|
||||
@ -109,7 +119,30 @@ let initPromise = getAccompanyingCourse(id)
|
||||
.catch((error) => {
|
||||
state.errorMsg.push(error.message);
|
||||
});
|
||||
}
|
||||
},
|
||||
removeInterlocutor({ commit }, payload) {
|
||||
console.log('## action: fetch postInterlocutor: payload', payload);
|
||||
postResource(id, payload, 'POST')
|
||||
.then(resource => new Promise((resolve, reject) => {
|
||||
commit('removeInterlocutor', resource)
|
||||
resolve();
|
||||
}))
|
||||
.catch((error) => {
|
||||
state.errorMsg.push(error.message);
|
||||
});
|
||||
},
|
||||
addInterlocutor({ commit }, payload) {
|
||||
console.log('## action: fetch postInterlocutor: payload', payload);
|
||||
postResource(id, payload, 'POST')
|
||||
.then(resource => new Promise((resolve, reject) => {
|
||||
commit('addInterlocutor', resource)
|
||||
resolve();
|
||||
}))
|
||||
.catch((error) => {
|
||||
state.errorMsg.push(error.message);
|
||||
});
|
||||
|
||||
},
|
||||
}
|
||||
});
|
||||
resolve(store);
|
||||
|
Loading…
x
Reference in New Issue
Block a user