Add 'enabled' field to schedule management

- Introduced a new boolean field `enabled` in the `schedule` schema to indicate the active status of schedules.
- Updated the `HandleSchedules` component to include a toggle switch for enabling/disabling schedules.
- Enhanced the `ShowSchedules` component to display the status of each schedule with a badge indicating whether it is enabled or disabled.
- Added a new API mutation to run schedules manually, ensuring proper error handling for non-existent schedules.
- Updated database schema to reflect the new `enabled` field with a default value of true.
This commit is contained in:
Mauricio Siu
2025-05-02 03:45:07 -06:00
parent e84ce38994
commit 442f051457
7 changed files with 5567 additions and 7 deletions

View File

@@ -80,6 +80,24 @@ export const scheduleRouter = createTRPCRouter({
});
}
return schedule;
}),
runManually: protectedProcedure
.input(z.object({ scheduleId: z.string() }))
.mutation(async ({ ctx, input }) => {
const schedule = await ctx.db
.select()
.from(schedules)
.where(eq(schedules.scheduleId, input.scheduleId));
if (!schedule) {
throw new TRPCError({
code: "NOT_FOUND",
message: "Schedule not found",
});
}
return schedule;
}),
});