All files / src/services apiService.js

0% Statements 0/23
0% Branches 0/2
0% Functions 0/6
0% Lines 0/23

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52                                                                                                       
import { getDatabase,
	createDatabase,
	updateDatabase,
	deleteDatabase
	} from '../components/hooks/dbActions';
 
const handleError = (err) => {
	console.error(err);
	alert('Something went wrong, try again.');
};
 
const apiService = (collection) => {
	return {
		get: async (query) => {
			try {
				return await getDatabase(collection, query);
			} catch (err) {
				handleError(err);
				throw err;
			}
		},
		add: async (data) => {
			try {
				return await createDatabase(collection, data);
			} catch (err) {
				handleError(err);
				throw err;
			}
		},
		update: async (data) => {
			try {
				return await updateDatabase(collection, data);
			} catch (err) {
				handleError(err);
				throw err;
			}
		},
		delete: async (identifier) => {
			if (!window.confirm('Are you sure you want to remove this?')) {
				return;
			}
			try {
				return await deleteDatabase(collection, identifier);
			} catch (err) {
				handleError(err);
				throw err;
			}
		},
	};
};
 
export default apiService;