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.
54 lines
1.4 KiB
54 lines
1.4 KiB
export async function fetchBikes() {
|
|
return await runBack({query: "fetchBikes"});
|
|
}
|
|
|
|
export async function fetchPrograms() {
|
|
return await runBack({query: "fetchPrograms"});
|
|
}
|
|
|
|
export async function fetchActiveWorkouts() {
|
|
return await runBack({query: "fetchActiveWorkouts"});
|
|
}
|
|
|
|
export async function createNewWorkout(bike, program) {
|
|
const bikeId = bike.id;
|
|
const programId = program.id;
|
|
|
|
return await runBack({query: "fetchActiveWorkouts", bikeId, programId});
|
|
}
|
|
|
|
export async function connectWorkout(workout) {
|
|
return await runBack({query: "connectWorkout", ...workout});
|
|
}
|
|
|
|
export async function stopWorkout(workout) {
|
|
return await runBack({query: "stopWorkout", ...workout});
|
|
}
|
|
|
|
export async function startWorkout(workout) {
|
|
return await runBack({query: "startWorkout", ...workout});
|
|
}
|
|
|
|
export async function pauseWorkout(workout) {
|
|
return await runBack({query: "pauseWorkout", ...workout});
|
|
}
|
|
|
|
export async function updateCooldownMins(workout, cooldownMin) {
|
|
return await runBack({query: "pauseWorkout", cooldownMin, ...workout});
|
|
}
|
|
|
|
export function openWebsocket(workout) {
|
|
return new WebSocket(`ws://127.0.0.1:9999/api/workout/${workout.id}/subscribe`);
|
|
}
|
|
|
|
async function runBack(query) {
|
|
return new Promise((resolve, reject) => {
|
|
chrome.runtime.sendMessage(query, result => {
|
|
if (result.success) {
|
|
resolve(result.data)
|
|
} else {
|
|
reject(result.message);
|
|
}
|
|
});
|
|
});
|
|
}
|