Something went wrong on our end
-
Timothee P authoredTimothee P authored
feature-api.js 2.61 KiB
import axios from "@/axios-client.js";
import store from '../store'
const baseUrl = store.state.configuration.VUE_APP_DJANGO_API_BASE;
const featureAPI = {
async getFeaturesBbox(project_slug, queryParams) {
const response = await axios.get(
`${baseUrl}projects/${project_slug}/feature-bbox/${queryParams ? '?' + queryParams : ""}`
);
if (
response.status === 200 &&
response.data
) {
const bbox = response.data;
return [
[bbox[2], bbox[3]],
[bbox[0], bbox[1]],
];
} else {
return null;
}
},
async getPaginatedFeatures(url) {
const response = await axios.get(url);
if (
response.status === 200 &&
response.data
) {
return response.data;
} else {
return null;
}
},
async getFeatureEvents(featureId) {
const response = await axios.get(
`${baseUrl}features/${featureId}/events/`
);
if (
response.status === 200 &&
response.data
) {
return response.data;
} else {
return null;
}
},
async getFeatureAttachments(featureId) {
const response = await axios.get(
`${baseUrl}features/${featureId}/attachments/`
);
if (
response.status === 200 &&
response.data
) {
return response.data;
} else {
return null;
}
},
async postComment({ featureId, comment }) {
const response = await axios.post(
`${baseUrl}features/${featureId}/comments/`, { comment }
);
if (
response.status === 201 &&
response.data
) {
return response;
} else {
return null;
}
},
async postCommentAttachment({ featureId, file, fileName, commentId, title }) {
let formdata = new FormData();
formdata.append("file", file, fileName);
formdata.append("title", title);
const response = await axios.put(
`${baseUrl}features/${featureId}/comments/${commentId}/upload-file/`, formdata
);
if (
response.status === 200 &&
response.data
) {
return response;
} else {
return null;
}
},
async getFeatureLinks(featureId) {
const response = await axios.get(
`${baseUrl}features/${featureId}/feature-links/`
);
if (
response.status === 200 &&
response.data
) {
return response.data;
} else {
return null;
}
},
async getFeaturesBlob(url) {
const response = await axios
.get(url, { responseType: "blob" })
if (
response.status === 200 &&
response.data
) {
return response.data;
} else {
return null;
}
},
}
export default featureAPI;