diff options
| author | ivarlovlie <git@ivarlovlie.no> | 2022-10-09 18:33:20 +0200 |
|---|---|---|
| committer | ivarlovlie <git@ivarlovlie.no> | 2022-10-09 18:33:20 +0200 |
| commit | a57845f08a6eb9bc32c2173f15472e0c29722cf6 (patch) | |
| tree | 68724e66a4caadf78c464a9cd93f62c8aaed7401 /code/app/src/lib/models/work/WorkQuery.ts | |
| parent | b7e39b59fd0fc7b5610ebff29035bf622079e0d8 (diff) | |
| download | greatoffice-a57845f08a6eb9bc32c2173f15472e0c29722cf6.tar.xz greatoffice-a57845f08a6eb9bc32c2173f15472e0c29722cf6.zip | |
refactor: Restructure and create new models
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; + } +} |
