diff --git a/client/src/components/TickComponent.vue b/client/src/components/TickComponent.vue index 8b1d863..7fc1ae0 100644 --- a/client/src/components/TickComponent.vue +++ b/client/src/components/TickComponent.vue @@ -15,7 +15,7 @@ const className = computed(() => isSet.value ? "button is-rounded is-info" : "bu async function toggle() { if (isSet.value) { - await state.taskMarkedIncomplete(props.track, props.date) + await state.taskMarkedIncomplete(props.track) } else await state.taskCompleted(props.track, props.date) } diff --git a/client/src/state.ts b/client/src/state.ts index 8d7b479..cb842b6 100644 --- a/client/src/state.ts +++ b/client/src/state.ts @@ -9,15 +9,6 @@ enum State { Fetched, } -function dateQuery(date: Date): URLSearchParams { - let query = new URLSearchParams() - query.set("year", date.getUTCFullYear().toString()) - query.set("month", (date.getUTCMonth() + 1).toString()) - // good thing I still had this ^^^^^^^^^^^^^^ in mind when I wrote this 😬 - query.set("day", date.getUTCDate().toString()) - return query -} - export const state = reactive({ tracks: new Array, state: State.Unfetched, @@ -83,7 +74,11 @@ export const state = reactive({ this.state = State.Fetched }, async taskCompleted(track: Track, date: Date): Promise { - const query = dateQuery(date) + let query = new URLSearchParams() + query.append("year", date.getUTCFullYear().toString()) + query.append("month", (date.getUTCMonth() + 1).toString()) + // good thing I still had this ^^^^^^^^^^^^^^ in mind when I wrote this 😬 + query.append("day", date.getUTCDate().toString()) const response: Response = await fetch(`/api/v1/tracks/${track.id}/ticked?${query.toString()}`, { method: "PATCH" }) const body = await response.text() if (!response.ok) { @@ -92,9 +87,8 @@ export const state = reactive({ } return JSON.parse(body) }, - async taskMarkedIncomplete(track: Track, date: Date) { - const query = dateQuery(date) - const { ok, status, statusText } = await fetch(`/api/v1/tracks/${track.id}/all-ticks?${query.toString()}`, { method: 'DELETE' }) + async taskMarkedIncomplete(track: Track) { + const { ok, status, statusText } = await fetch(`/api/v1/tracks/${track.id}/all-ticks`, { method: 'DELETE' }) if (!ok) error(`error deleting ticks for ${track.id}: ${statusText} (${status})`) }, diff --git a/server/src/api/mod.rs b/server/src/api/mod.rs index bec41f1..fc35abf 100644 --- a/server/src/api/mod.rs +++ b/server/src/api/mod.rs @@ -87,7 +87,6 @@ pub(crate) fn start_server(db: DatabaseConnection) -> Rocket { ticked, ticked_on_date, clear_all_ticks, - clear_all_ticks_on_day, ], ) .mount( diff --git a/server/src/api/tracks.rs b/server/src/api/tracks.rs index edfa616..c14789b 100644 --- a/server/src/api/tracks.rs +++ b/server/src/api/tracks.rs @@ -158,28 +158,3 @@ pub(super) async fn clear_all_ticks( } Ok(Right(Json(ticks))) } - -#[delete("//all-ticks?&&")] -pub(super) async fn clear_all_ticks_on_day( - db: &State, - tx: &State>, - id: i32, - year: i32, - month: u32, - day: u32, -) -> ApiResult>> { - let db = db as &DatabaseConnection; - let ticks = Ticks::find() - .filter(ticks::Column::TrackId.eq(id)) - .filter(ticks::Column::Year.eq(year)) - .filter(ticks::Column::Month.eq(month)) - .filter(ticks::Column::Day.eq(day)) - .all(db) - .await - .map_err(Error::from)?; - for tick in ticks.clone() { - tick.clone().delete(db).await.map_err(Error::from)?; - Update::tick_cancelled(tick).send(&tx)?; - } - Ok(Json(ticks)) -}