diff options
Diffstat (limited to 'code/app/src/lib/models/work/WorkQuery.ts')
| -rw-r--r-- | code/app/src/lib/models/work/WorkQuery.ts | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/code/app/src/lib/models/work/WorkQuery.ts b/code/app/src/lib/models/work/WorkQuery.ts new file mode 100644 index 0000000..bccc589 --- /dev/null +++ b/code/app/src/lib/models/work/WorkQuery.ts @@ -0,0 +1,30 @@ +import type { HourEntry } from "./WorkEntry"; +import type { IValidationResult } from "../internal/IValidationResult"; +import ValidationResult from "../internal/IValidationResult"; + +export interface IWorkQuery { + results: Array<HourEntry>, + page: number, + pageSize: number, + totalRecords: number, + totalPageCount: number, + is_valid: Function +} + +export class WorkQuery implements IWorkQuery { + results: HourEntry[]; + page: number; + pageSize: number; + totalRecords: number; + totalPageCount: number; + + is_valid(): IValidationResult { + const result = new ValidationResult(); + if (this.page < 0) { + result.add_error("page", { + title: "Page cannot be less than zero", + }) + } + return result; + } +} |
