summaryrefslogtreecommitdiffstats
path: root/apps/web-shared/src/lib/models/TimeEntryQuery.ts
diff options
context:
space:
mode:
Diffstat (limited to 'apps/web-shared/src/lib/models/TimeEntryQuery.ts')
-rw-r--r--apps/web-shared/src/lib/models/TimeEntryQuery.ts27
1 files changed, 27 insertions, 0 deletions
diff --git a/apps/web-shared/src/lib/models/TimeEntryQuery.ts b/apps/web-shared/src/lib/models/TimeEntryQuery.ts
new file mode 100644
index 0000000..6681c79
--- /dev/null
+++ b/apps/web-shared/src/lib/models/TimeEntryQuery.ts
@@ -0,0 +1,27 @@
+import type { TimeCategoryDto } from "./TimeCategoryDto";
+import type { TimeLabelDto } from "./TimeLabelDto";
+import type { Temporal } from "@js-temporal/polyfill";
+
+export interface TimeEntryQuery {
+ duration: TimeEntryQueryDuration,
+ categories?: Array<TimeCategoryDto>,
+ labels?: Array<TimeLabelDto>,
+ dateRange?: TimeEntryQueryDateRange,
+ specificDate?: Temporal.PlainDateTime
+ page: number,
+ pageSize: number
+}
+
+export interface TimeEntryQueryDateRange {
+ from: Temporal.PlainDateTime,
+ to: Temporal.PlainDateTime
+}
+
+export enum TimeEntryQueryDuration {
+ TODAY = 0,
+ THIS_WEEK = 1,
+ THIS_MONTH = 2,
+ THIS_YEAR = 3,
+ SPECIFIC_DATE = 4,
+ DATE_RANGE = 5,
+}