X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Futils.ts;h=bdf2291f0ceb5b34ed3c089de5e71044ec7304b8;hb=c2a89b70ce75c4955cbdb1ced6fd20a5010a8c9b;hp=06ff058649965d2f1e2d1a2c85ede33245ffe808;hpb=8319d6ae72d4da6de51bd3d4b5c68040fc8dc3b4;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/utils.ts b/server/models/utils.ts index 06ff05864..bdf2291f0 100644 --- a/server/models/utils.ts +++ b/server/models/utils.ts @@ -1,7 +1,7 @@ import { Model, Sequelize } from 'sequelize-typescript' import validator from 'validator' import { Col } from 'sequelize/types/lib/utils' -import { literal, OrderItem } from 'sequelize' +import { literal, OrderItem, Op } from 'sequelize' type Primitive = string | Function | number | boolean | Symbol | undefined | null type DeepOmitHelper = { @@ -207,6 +207,18 @@ function buildDirectionAndField (value: string) { return { direction, field } } +function searchAttribute (sourceField, targetField) { + if (sourceField) { + return { + [targetField]: { + [Op.iLike]: `%${sourceField}%` + } + } + } else { + return {} + } +} + // --------------------------------------------------------------------------- export { @@ -228,7 +240,8 @@ export { parseAggregateResult, getFollowsSort, buildDirectionAndField, - createSafeIn + createSafeIn, + searchAttribute } // ---------------------------------------------------------------------------