@shagital/adonisjs-crud-generator
Version:
Adonisjs Admin Panel Generator is a package that helps you quickly scaffold your typical CRUD admin interfaces. It generates the admin panel code based on the existing (migrated) table in the database
78 lines (72 loc) • 2.02 kB
JavaScript
import axios from 'axios';
const API = process.env.VUE_APP_BASE_URI || `{{baseUrl}}`;
export default {
index({
commit
}, {per_page = 5, sort = ''}) {
return new Promise((resolve, reject) => {
let url = `${API}/{{plural}}?sort=${sort}&per_page=${per_page}`;
axios.get(url)
.then(async ({
data
}) => {
commit('SET_{{pascalCapital}}', data);
delete data.data;
commit('SET_{{pascalCapital}}_META', data);
resolve(data.data);
})
.catch((error) => {
reject(error.response)
});
});
},
getSingle({
commit
}, id) {
return new Promise((resolve, reject) => {
let url = `${API}/{{plural}}/${id}`;
axios.get(url)
.then(async ({
data : {data}
}) => {
commit('SET_{{pascalCapital}}', data);
resolve(data);
})
.catch((error) => {
reject(error.response)
});
});
},
createOrUpdate({
commit
}, data) {
return new Promise((resolve, reject) => {
let url = `${API}/{{plural}}${data && data.id ? `/${data.id}` : ''}`;
let method = data && data.id ? axios.patch(url, data) : axios.post(url, data);
method.then(async ({
data
}) => {
resolve(data);
})
.catch((error) => {
reject(error.response)
});
});
},
delete({
commit
}, id) {
return new Promise((resolve, reject) => {
let url = `${API}/{{plural}}/${id}`;
axios.delete(url)
.then(async ({
data
}) => {
resolve(data);
})
.catch((error) => {
reject(error.response)
});
});
},
}