You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
730 B
42 lines
730 B
5 years ago
|
import apollo from "@Global/utils/api/init/apollo";
|
||
5 years ago
|
|
||
5 years ago
|
export default class apolloApi {
|
||
5 years ago
|
|
||
|
constructor(urlObj) {
|
||
|
this.staticMethods = ["query", "mutations"];
|
||
|
|
||
|
this.method = urlObj.method;
|
||
|
this.gql = urlObj.gql;
|
||
|
this.variables = urlObj.variables;
|
||
|
}
|
||
|
|
||
|
init() {
|
||
|
if (this.checkMethod()) {
|
||
|
return this[this.method]();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
checkMethod() {
|
||
|
return this.staticMethods.includes(this.method);
|
||
|
}
|
||
|
|
||
|
query() {
|
||
|
const query = this.gql;
|
||
5 years ago
|
const variables = this.variables;
|
||
|
|
||
5 years ago
|
return apollo.query({
|
||
|
query,
|
||
|
variables
|
||
|
});
|
||
|
}
|
||
|
|
||
|
mutate() {
|
||
|
const mutation = this.gql;
|
||
|
const variables = this.variables;
|
||
|
return apollo.mutate({
|
||
|
mutation,
|
||
|
variables
|
||
|
});
|
||
|
}
|
||
|
}
|