@zapscloud/zapsdatabase
Version:
Zapscloud Database Service API Client
62 lines (55 loc) • 2.54 kB
JavaScript
;
const axios = require('axios');
module.exports = class Relation {
constructor(){
}
createRelation(collectionname, fieldname, foreign_collection, foreign_key) {
return new Promise((resolve, reject) => {
var jsonrelation = {
'fieldname': fieldname,
'foreign_collection': foreign_collection,
'foreign_key': foreign_key
}
axios.post(`https://database.api${this.stage}.zapscloud.com/collections/${collectionname}/relations`, jsonrelation, this.header_param)
.then(function (response) {
return resolve(response.data);
})
.catch(function (error) {
return reject(error.response?(error.response.data?error.response.data:error.response):error);
});
});
}
removeRelation(collectionname, relationname) {
return new Promise((resolve, reject) => {
axios.delete(`https://database.api${this.stage}.zapscloud.com/collections/${collectionname}/relations/${relationname}`, this.header_param)
.then(function (response) {
return resolve(response.data);
})
.catch(function (error) {
return reject(error.response?(error.response.data?error.response.data:error.response):error);
});
});
}
getRelation(collectionname, relationname) {
return new Promise((resolve, reject) => {
axios.get(`https://database.api${this.stage}.zapscloud.com/collections/${collectionname}/relations/${relationname}`, this.header_param)
.then(function (response) {
return resolve(response.data);
})
.catch(function (error) {
return reject(error.response?(error.response.data?error.response.data:error.response):error);
});
});
}
getRelationList(collectionname) {
return new Promise((resolve, reject) => {
axios.get(`https://database.api${this.stage}.zapscloud.com/collections/${collectionname}/relations`, this.header_param)
.then(function (response) {
return resolve(response.data);
})
.catch(function (error) {
return reject(error.response?(error.response.data?error.response.data:error.response):error);
});
});
}
}