drop undefined filters
parent
db6ab7e37f
commit
37b5d68be2
|
|
@ -682,10 +682,7 @@ function idsAllExists(eb: AssetExpressionBuilder, membership: Membership, ids: s
|
|||
}
|
||||
}
|
||||
|
||||
function idsPredicates(eb: AssetExpressionBuilder, membership: Membership, filter: IdsFilter | undefined) {
|
||||
if (!filter) {
|
||||
return [];
|
||||
}
|
||||
function idsPredicates(eb: AssetExpressionBuilder, membership: Membership, filter: IdsFilter = {}) {
|
||||
const predicates: Expression<SqlBool>[] = [];
|
||||
if (filter.any) {
|
||||
predicates.push(idsAnyExists(eb, membership, filter.any));
|
||||
|
|
@ -704,11 +701,8 @@ function idsPredicates(eb: AssetExpressionBuilder, membership: Membership, filte
|
|||
function idPredicates(
|
||||
eb: AssetExpressionBuilder,
|
||||
column: 'asset.id' | 'asset.libraryId',
|
||||
filter: IdFilter | IdFilterNullable | undefined,
|
||||
filter: IdFilter | IdFilterNullable = {},
|
||||
) {
|
||||
if (!filter) {
|
||||
return [];
|
||||
}
|
||||
const predicates: Expression<SqlBool>[] = [];
|
||||
if (filter.eq === null) {
|
||||
predicates.push(eb(column, 'is', null));
|
||||
|
|
@ -726,11 +720,8 @@ function idPredicates(
|
|||
function enumPredicates<T extends string>(
|
||||
eb: AssetExpressionBuilder,
|
||||
column: 'asset.type' | 'asset.visibility',
|
||||
filter: { eq?: T; ne?: T; in?: T[]; notIn?: T[] } | undefined,
|
||||
filter: { eq?: T; ne?: T; in?: T[]; notIn?: T[] } = {},
|
||||
) {
|
||||
if (!filter) {
|
||||
return [];
|
||||
}
|
||||
// `as never`: kysely's column-union type can't narrow to T; SearchFilter enum schemas validate at the boundary.
|
||||
const predicates: Expression<SqlBool>[] = [];
|
||||
if (filter.eq !== undefined) {
|
||||
|
|
@ -762,11 +753,8 @@ type StringColumn =
|
|||
function stringEqNeInPredicates(
|
||||
eb: AssetExpressionBuilder,
|
||||
column: StringColumn,
|
||||
filter: StringFilterNullable | StringPatternFilter | undefined,
|
||||
filter: StringFilterNullable | StringPatternFilter = {},
|
||||
) {
|
||||
if (!filter) {
|
||||
return [];
|
||||
}
|
||||
const predicates: Expression<SqlBool>[] = [];
|
||||
if (filter.eq === null) {
|
||||
predicates.push(eb(column, 'is', null));
|
||||
|
|
@ -787,14 +775,7 @@ function stringEqNeInPredicates(
|
|||
return predicates;
|
||||
}
|
||||
|
||||
function stringPatternPredicates(
|
||||
eb: AssetExpressionBuilder,
|
||||
column: StringColumn,
|
||||
filter: StringPatternFilter | undefined,
|
||||
) {
|
||||
if (!filter) {
|
||||
return [];
|
||||
}
|
||||
function stringPatternPredicates(eb: AssetExpressionBuilder, column: StringColumn, filter: StringPatternFilter = {}) {
|
||||
const predicates: Expression<SqlBool>[] = stringEqNeInPredicates(eb, column, filter);
|
||||
const ref = sql.ref(column);
|
||||
if (filter.like !== undefined) {
|
||||
|
|
@ -817,11 +798,8 @@ type NumberColumn = 'asset_exif.rating' | 'asset_exif.fileSizeInByte';
|
|||
function numberPredicates(
|
||||
eb: AssetExpressionBuilder,
|
||||
column: NumberColumn,
|
||||
filter: NumberFilter | NumberFilterNullable | undefined,
|
||||
filter: NumberFilter | NumberFilterNullable = {},
|
||||
) {
|
||||
if (!filter) {
|
||||
return [];
|
||||
}
|
||||
const predicates: Expression<SqlBool>[] = [];
|
||||
if (filter.eq === null) {
|
||||
predicates.push(eb(column, 'is', null));
|
||||
|
|
@ -856,14 +834,7 @@ function numberPredicates(
|
|||
|
||||
type DateColumn = 'asset.fileCreatedAt' | 'asset.createdAt' | 'asset.updatedAt' | 'asset.deletedAt';
|
||||
|
||||
function datePredicates(
|
||||
eb: AssetExpressionBuilder,
|
||||
column: DateColumn,
|
||||
filter: DateFilter | DateFilterNullable | undefined,
|
||||
) {
|
||||
if (!filter) {
|
||||
return [];
|
||||
}
|
||||
function datePredicates(eb: AssetExpressionBuilder, column: DateColumn, filter: DateFilter | DateFilterNullable = {}) {
|
||||
const predicates: Expression<SqlBool>[] = [];
|
||||
if (filter.eq === null) {
|
||||
predicates.push(eb(column, 'is', null));
|
||||
|
|
@ -890,10 +861,7 @@ function datePredicates(
|
|||
return predicates;
|
||||
}
|
||||
|
||||
function checksumPredicates(eb: AssetExpressionBuilder, filter: StringFilter | undefined) {
|
||||
if (!filter) {
|
||||
return [];
|
||||
}
|
||||
function checksumPredicates(eb: AssetExpressionBuilder, filter: StringFilter = {}) {
|
||||
const predicates: Expression<SqlBool>[] = [];
|
||||
if (filter.eq !== undefined) {
|
||||
predicates.push(eb('asset.checksum', '=', fromChecksum(filter.eq)));
|
||||
|
|
|
|||
Loading…
Reference in New Issue