1import urqlClient from './urqlClient.js';
2import {
3 ALL_TODOS_QUERY,
4 ALL_WRITERS_QUERY,
5 ALL_BOOKS_QUERY,
6 ALL_STORES_QUERY,
7 ALL_EMPLOYEES_QUERY,
8 ALL_AUTHORS_QUERY,
9 ADD_TODO_MUTATION,
10 UPDATE_TODO_MUTATION,
11 ADD_TODOS_MUTATION,
12 ADD_WRITERS_MUTATION,
13 ADD_BOOKS_MUTATION,
14 ADD_STORES_MUTATION,
15 ADD_EMPLOYEES_MUTATION,
16 ADD_AUTHORS_MUTATION,
17} from './operations.js';
18
19// create functions that execute operations/queries/mutaitons to be benchmarked
20export const getAllTodos = async () => {
21 const queryResult = await urqlClient.query(ALL_TODOS_QUERY).toPromise();
22 return queryResult.data.todos;
23};
24export const getAllWriters = async () => {
25 const queryResult = await urqlClient.query(ALL_WRITERS_QUERY).toPromise();
26 return queryResult.data.writers;
27};
28export const getAllBooks = async () => {
29 const queryResult = await urqlClient.query(ALL_BOOKS_QUERY).toPromise();
30 return queryResult.data.books;
31};
32export const getAllStores = async () => {
33 const queryResult = await urqlClient.query(ALL_STORES_QUERY).toPromise();
34 return queryResult.data.stores;
35};
36export const getAllEmployees = async () => {
37 const queryResult = await urqlClient.query(ALL_EMPLOYEES_QUERY).toPromise();
38 return queryResult.data.employees;
39};
40export const getAllAuthors = async () => {
41 const queryResult = await urqlClient.query(ALL_AUTHORS_QUERY).toPromise();
42 return queryResult.data.authors;
43};
44export const addTodo = async () => {
45 const newTodo = { text: 'New todo', complete: true };
46 const mutationResult = await urqlClient
47 .mutation(ADD_TODO_MUTATION, newTodo)
48 .toPromise();
49 return mutationResult.data.addTodo;
50};
51export const updateTodo = async ({ id, complete }) => {
52 const updatedTodo = { id, complete };
53 const mutationResult = await urqlClient
54 .mutation(UPDATE_TODO_MUTATION, updatedTodo)
55 .toPromise();
56 return mutationResult.data.updateTodo;
57};
58export const addTodos = async todosToBeAdded => {
59 const newTodos = { newTodos: { todos: todosToBeAdded } };
60 const mutationResult = await urqlClient
61 .mutation(ADD_TODOS_MUTATION, newTodos)
62 .toPromise();
63 return mutationResult.data.addTodos;
64};
65export const addWriters = async writersToBeAdded => {
66 const newWriters = { newWriters: { writers: writersToBeAdded } };
67 const mutationResult = await urqlClient
68 .mutation(ADD_WRITERS_MUTATION, newWriters)
69 .toPromise();
70 return mutationResult.data.addWriters;
71};
72export const addBooks = async booksToBeAdded => {
73 const newBooks = { newBooks: { books: booksToBeAdded } };
74 const mutationResult = await urqlClient
75 .mutation(ADD_BOOKS_MUTATION, newBooks)
76 .toPromise();
77 return mutationResult.data.addBooks;
78};
79export const addStores = async storesToBeAdded => {
80 const newStores = { newStores: { stores: storesToBeAdded } };
81 const mutationResult = await urqlClient
82 .mutation(ADD_STORES_MUTATION, newStores)
83 .toPromise();
84 return mutationResult.data.addStores;
85};
86export const addEmployees = async employeesToBeAdded => {
87 const newEmployees = { newEmployees: { employees: employeesToBeAdded } };
88 const mutationResult = await urqlClient
89 .mutation(ADD_EMPLOYEES_MUTATION, newEmployees)
90 .toPromise();
91 return mutationResult.data.addEmployees;
92};
93export const addAuthors = async authorsToBeAdded => {
94 const newAuthors = { newAuthors: { authors: authorsToBeAdded } };
95 const mutationResult = await urqlClient
96 .mutation(ADD_AUTHORS_MUTATION, newAuthors)
97 .toPromise();
98 return mutationResult.data.addAuthors;
99};