directus
1import type { Knex } from 'knex';
2import { maybeStringifyBigInt } from '../utils/maybe-stringify-big-int.js';
3import { numberInRange } from '../utils/number-in-range.js';
4import { NumberDatabaseHelper, type NumberInfo } from '../types.js';
5import type { NumericValue } from '@directus/types';
6
7export class NumberHelperMSSQL extends NumberDatabaseHelper {
8override addSearchCondition(
9dbQuery: Knex.QueryBuilder,
10collection: string,
11name: string,
12value: NumericValue,
13): Knex.QueryBuilder {
14return dbQuery.orWhere({ [`${collection}.${name}`]: maybeStringifyBigInt(value) });
15}
16
17override isNumberValid(value: NumericValue, info: NumberInfo) {
18return numberInRange(value, info);
19}
20}
21