diff --git a/mediarepo-ui/src/api/api-types/files.ts b/mediarepo-ui/src/api/api-types/files.ts index f40d1bb..de453ec 100644 --- a/mediarepo-ui/src/api/api-types/files.ts +++ b/mediarepo-ui/src/api/api-types/files.ts @@ -28,9 +28,9 @@ export type PropertyQuery = PropertyQueryStatus export type PropertyQueryStatus = { Status: FileStatus }; export type PropertyQueryFileSize = { FileSize: ValueComparator }; -export type PropertyQueryImportedTime = { ImportedTime: ValueComparator }; -export type PropertyQueryChangedTime = { ChangedTime: ValueComparator }; -export type PropertyQueryCreatedTime = { CreatedTime: ValueComparator }; +export type PropertyQueryImportedTime = { ImportedTime: ValueComparator }; +export type PropertyQueryChangedTime = { ChangedTime: ValueComparator }; +export type PropertyQueryCreatedTime = { CreatedTime: ValueComparator }; export type PropertyQueryTagCount = { TagCount: ValueComparator }; export type PropertyQueryCd = { Cd: string }; export type PropertyQueryId = { Id: number }; diff --git a/mediarepo-ui/src/api/models/FilterQueryBuilder.ts b/mediarepo-ui/src/api/models/FilterQueryBuilder.ts index 95e7827..f9f45dc 100644 --- a/mediarepo-ui/src/api/models/FilterQueryBuilder.ts +++ b/mediarepo-ui/src/api/models/FilterQueryBuilder.ts @@ -29,21 +29,21 @@ export class FilterQueryBuilder { public static importedTime(date: Date, comparator: Comparator, max_date: Date): FilterQuery { return filterQuery({ - ImportedTime: valuesToCompareEnum(date, comparator, - max_date + ImportedTime: valuesToCompareEnum(formatDate(date)!!, comparator, + formatDate(max_date) ) }); } public static changedTime(date: Date, comparator: Comparator, max_date: Date): FilterQuery { return filterQuery({ - ChangedTime: valuesToCompareEnum(date, comparator, max_date) + ChangedTime: valuesToCompareEnum(formatDate(date)!!, comparator, formatDate(max_date)) }); } public static createdTime(date: Date, comparator: Comparator, max_date: Date): FilterQuery { return filterQuery({ - CreatedTime: valuesToCompareEnum(date, comparator, max_date) + CreatedTime: valuesToCompareEnum(formatDate(date)!!, comparator, formatDate(max_date)) }); } @@ -150,6 +150,7 @@ export class FilterQueryBuilder { } break; case "ImportedTime": + console.debug(propertyName, rawComparator, compareValue); value = this.parsePropertyValue(compareValue, parseDate); if (value != undefined) { return this.importedTime(value[0], comparator, value[1]); @@ -263,7 +264,7 @@ function filterQuery(propertyQuery: PropertyQuery): FilterQuery { return { Property: propertyQuery }; } -function valuesToCompareEnum(min_value: T, comparator: Comparator, max_value?: T): ValueComparator { +function valuesToCompareEnum(min_value: T, comparator: Comparator, max_value: T | undefined): ValueComparator { switch (comparator) { case "Less": return { Less: min_value }; @@ -299,9 +300,9 @@ function parseByteSize(value: string): number | undefined { if (number) { for (const key of Object.keys(valueMappings)) { if (checkUnit(key)) { - console.log("key", key, "valueMapping", valueMappings[key]); + console.debug("key", key, "valueMapping", valueMappings[key]); number *= valueMappings[key]; - console.log("number", number); + console.debug("number", number); break; } } @@ -311,7 +312,7 @@ function parseByteSize(value: string): number | undefined { } function parseDate(value: string): Date | undefined { - const date = Date.parse(value); + const date = Date.parse(value.toUpperCase()); if (isNaN(date)) { return undefined; @@ -331,3 +332,13 @@ function parseStatus(value: string): FileStatus | undefined { return undefined; } } + +function formatDate(date?: Date): string | undefined { + if (date) { + const pad = (s: number) => s.toString().padStart(2, "0"); + return `${date.getFullYear()}-${pad(date.getMonth() + 1)}-${pad(date.getDate())}T${pad(date.getHours())}:${pad( + date.getMinutes())}:${pad( + date.getSeconds())}`; + } + return; +} diff --git a/mediarepo-ui/src/app/utils/filter-utils.ts b/mediarepo-ui/src/app/utils/filter-utils.ts index dc2aedc..9264c9b 100644 --- a/mediarepo-ui/src/app/utils/filter-utils.ts +++ b/mediarepo-ui/src/app/utils/filter-utils.ts @@ -40,19 +40,19 @@ export function propertyQueryToStringParts(propertyQuery: PropertyQuery): [strin return [ "ImportedTime", getComparator(propertyQuery.ImportedTime), - getValue(propertyQuery.ImportedTime).toISOString() + getValue(propertyQuery.ImportedTime) ]; } else if ("ChangedTime" in propertyQuery) { return [ "ChangedTime", getComparator(propertyQuery.ChangedTime), - getValue(propertyQuery.ChangedTime).toISOString() + getValue(propertyQuery.ChangedTime) ]; } else if ("CreatedTime" in propertyQuery) { return [ "CreatedTime", getComparator(propertyQuery.CreatedTime), - getValue(propertyQuery.CreatedTime).toISOString() + getValue(propertyQuery.CreatedTime) ]; } else if ("TagCount" in propertyQuery) { return [