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.

36 lines
1.1 KiB

  1. import goalStore, { fpGoalStore } from "./goal";
  2. import groupStore from "./group";
  3. import logStore, { fpLogStore } from "./logs";
  4. import projectStore, { fpProjectStore, fpProjectStore2 } from "./project";
  5. import taskStore, { fpTaskStore } from "./tasks";
  6. import projectGroupStore from "./projectGroup";
  7. type ModelName = "goal" | "project" | "task" | "group" | "item" | "log" | "*"
  8. export default function markStale(...models: ModelName[]) {
  9. const markAll = models.includes("*");
  10. if (markAll || models.includes("goal")) {
  11. goalStore.markStale();
  12. fpGoalStore.markStale();
  13. }
  14. if (markAll || models.includes("project")) {
  15. projectStore.markStale();
  16. fpProjectStore.markStale();
  17. fpProjectStore2.markStale();
  18. projectGroupStore.markStale();
  19. }
  20. if (markAll || models.includes("task")) {
  21. taskStore.markStale();
  22. fpTaskStore.markStale();
  23. }
  24. if (markAll || models.includes("group")) {
  25. groupStore.markStale();
  26. }
  27. if (markAll || models.includes("item")) {
  28. // Do nothing.
  29. }
  30. if (markAll || models.includes("log")) {
  31. logStore.markStale();
  32. fpLogStore.markStale();
  33. }
  34. }