Skip to content

@sourceloop/search-service / Exports / MySqlQueryBuilder

Class: MySqlQueryBuilder<T>

Type parameters

Name Type
T extends Model

Hierarchy

Table of contents

Constructors

Properties

Accessors

Methods

Constructors

constructor

• new MySqlQueryBuilder<T>(query)

Type parameters

Name Type
T extends Model<T>

Parameters

Name Type
query DataObject<SearchQuery>

Overrides

SearchQueryBuilder.constructor

Defined in

services/search-service/src/classes/mysql/query.builder.ts:14

Properties

_placeholderIndex

• _placeholderIndex: number = 0

Overrides

SearchQueryBuilder._placeholderIndex

Defined in

services/search-service/src/classes/mysql/query.builder.ts:12


baseQueryList

• Protected baseQueryList: Query[]

Inherited from

SearchQueryBuilder.baseQueryList

Defined in

services/search-service/src/classes/base/query.builder.ts:29


idType

• Protected Optional idType: string = 'uuid'

Inherited from

SearchQueryBuilder.idType

Defined in

services/search-service/src/classes/base/query.builder.ts:34


limitQuery

• Protected limitQuery: string

Inherited from

SearchQueryBuilder.limitQuery

Defined in

services/search-service/src/classes/base/query.builder.ts:30


modelNameMap

• Protected modelNameMap: Map<string, string>

Inherited from

SearchQueryBuilder.modelNameMap

Defined in

services/search-service/src/classes/base/query.builder.ts:36


orderQuery

• Protected orderQuery: string

Inherited from

SearchQueryBuilder.orderQuery

Defined in

services/search-service/src/classes/base/query.builder.ts:31


query

• Protected query: DataObject<SearchQuery>

Inherited from

SearchQueryBuilder.query

Defined in

services/search-service/src/classes/base/query.builder.ts:32


schema

• Protected Optional schema: string

Inherited from

SearchQueryBuilder.schema

Defined in

services/search-service/src/classes/base/query.builder.ts:33


unionString

• unionString: string = ' UNION ALL '

Overrides

SearchQueryBuilder.unionString

Defined in

services/search-service/src/classes/mysql/query.builder.ts:11

Accessors

placeholder

• Protected get placeholder(): string

Returns

string

Inherited from

SearchQueryBuilder.placeholder

Defined in

services/search-service/src/classes/base/query.builder.ts:37

• Protected set placeholder(val): void

Parameters

Name Type
val string | number

Returns

void

Inherited from

SearchQueryBuilder.placeholder

Defined in

services/search-service/src/classes/base/query.builder.ts:41

Methods

build

▸ build(models, ignoredColumns?, type?, idType?): Object

Parameters

Name Type
models (typeof Model | SearchableModel<T, typeof Model>)[]
ignoredColumns? Exclude<keyof T, "getId" | "getIdObject" | "toJSON" | "toObject">[]
type? typeof Model
idType? string

Returns

Object

Name Type
params AnyObject | (string | AnyObject)[]
query string

Inherited from

SearchQueryBuilder.build

Defined in

services/search-service/src/classes/base/query.builder.ts:58


buildClauseFromExpress

▸ buildClauseFromExpress(values, separator, grouping, getPlaceholder): Query

The function buildClauseFromExpress constructs a SQL clause from an array of values, a separator, and other parameters.

Parameters

Name Type Description
values ShortHandEqualType | Query | (ShortHandEqualType | Query)[] The values parameter in the buildClauseFromExpress function can be one of the following types:
separator string The separator parameter is a string that will be used to separate the values in the resulting clause.
grouping boolean The grouping parameter in the buildClauseFromExpress function is a boolean flag that determines whether the generated SQL clause should be wrapped in parentheses for grouping purposes. If grouping is set to true, the SQL clause will be enclosed in parentheses. If grouping
getPlaceholder () => string The buildClauseFromExpress function takes in four parameters:

Returns

Query

The buildClauseFromExpress function returns an object with sql and params properties. The sql property contains the generated SQL clause based on the input values, separator, and grouping settings. The params property contains an array of parameters used in the SQL clause.

Inherited from

SearchQueryBuilder.buildClauseFromExpress

Defined in

services/search-service/src/classes/base/query.builder.ts:568


buildColumnValueForExpression

▸ buildColumnValueForExpression(expressionValue, p): any[]

Parameters

Name Type
expressionValue PredicateValueType<ShortHandEqualType>
p PropertyDefinition

Returns

any[]

Inherited from

SearchQueryBuilder.buildColumnValueForExpression

Defined in

services/search-service/src/classes/base/query.builder.ts:376


buildExpression

▸ buildExpression(columnName, prop, operator, value, model): Object

Parameters

Name Type
columnName keyof T
prop PropertyDefinition
operator string
value ShortHandEqualType | Query | (ShortHandEqualType | Query)[]
model typeof Model

Returns

Object

Name Type
params ShortHandEqualType[]
sql string

Inherited from

SearchQueryBuilder.buildExpression

Defined in

services/search-service/src/classes/base/query.builder.ts:487


getColumnListFromArray

▸ getColumnListFromArray(model, columns, filter): Object

Parameters

Name Type
model typeof Model
columns keyof T[]
filter keyof T[]

Returns

Object

Name Type
columnList string
selectors string

Inherited from

SearchQueryBuilder.getColumnListFromArray

Defined in

services/search-service/src/classes/base/query.builder.ts:181


getColumnListFromArrayOrMap

▸ getColumnListFromArrayOrMap(model, columns, filter): Object

Parameters

Name Type
model typeof Model
columns keyof T[] | ColumnMap<T>
filter keyof T[]

Returns

Object

Name Type
columnList string
selectors string

Inherited from

SearchQueryBuilder.getColumnListFromArrayOrMap

Defined in

services/search-service/src/classes/base/query.builder.ts:134


getColumnListFromMap

▸ getColumnListFromMap(model, columns, filter): Object

Parameters

Name Type
model typeof Model
columns ColumnMap<T>
filter keyof T[]

Returns

Object

Name Type
columnList string
selectors string

Inherited from

SearchQueryBuilder.getColumnListFromMap

Defined in

services/search-service/src/classes/base/query.builder.ts:146


getColumnName

▸ getColumnName(model, name): any

Parameters

Name Type
model typeof Model
name keyof T

Returns

any

Inherited from

SearchQueryBuilder.getColumnName

Defined in

services/search-service/src/classes/base/query.builder.ts:399


getModelName

▸ getModelName(model): any

Parameters

Name Type
model typeof Model

Returns

any

Overrides

SearchQueryBuilder.getModelName

Defined in

services/search-service/src/classes/mysql/query.builder.ts:49


getSchemaName

▸ getSchemaName(model): string

Parameters

Name Type
model typeof Model

Returns

string

Inherited from

SearchQueryBuilder.getSchemaName

Defined in

services/search-service/src/classes/base/query.builder.ts:607


getTableName

▸ getTableName(model): string

Parameters

Name Type
model typeof Model

Returns

string

Inherited from

SearchQueryBuilder.getTableName

Defined in

services/search-service/src/classes/base/query.builder.ts:603


handleAndOr

▸ handleAndOr<S>(where, key, model): undefined | Query

Type parameters

Name Type
S extends typeof Model

Parameters

Name Type
where SearchWhereFilter<AnyObject>
key never
model S

Returns

undefined | Query

Inherited from

SearchQueryBuilder.handleAndOr

Defined in

services/search-service/src/classes/base/query.builder.ts:320


handleKeys

▸ handleKeys(model, key, where): undefined | Query | Queries

Parameters

Name Type
model typeof Model
key never
where SearchWhereFilter<AnyObject>

Returns

undefined | Query | Queries

Inherited from

SearchQueryBuilder.handleKeys

Defined in

services/search-service/src/classes/base/query.builder.ts:269


handleObjectValue

▸ handleObjectValue<S>(expression, p, key, model): undefined | Query

Type parameters

Name Type
S extends typeof Model

Parameters

Name Type
expression PredicateComparison<ShortHandEqualType>
p PropertyDefinition
key never
model S

Returns

undefined | Query

Inherited from

SearchQueryBuilder.handleObjectValue

Defined in

services/search-service/src/classes/base/query.builder.ts:351


isDateType

▸ isDateType(type): boolean

Parameters

Name Type
type PropertyType

Returns

boolean

Inherited from

SearchQueryBuilder.isDateType

Defined in

services/search-service/src/classes/base/query.builder.ts:445


isNumberType

▸ isNumberType(type, val): boolean

Parameters

Name Type
type PropertyType
val PredicateValueType<ShortHandEqualType>

Returns

boolean

Inherited from

SearchQueryBuilder.isNumberType

Defined in

services/search-service/src/classes/base/query.builder.ts:451


isStringType

▸ isStringType(type, val): boolean

Parameters

Name Type
type PropertyType
val PredicateValueType<ShortHandEqualType>

Returns

boolean

Inherited from

SearchQueryBuilder.isStringType

Defined in

services/search-service/src/classes/base/query.builder.ts:438


limit

▸ limit(): void

Returns

void

Inherited from

SearchQueryBuilder.limit

Defined in

services/search-service/src/classes/base/query.builder.ts:77


order

▸ order(columns): void

Parameters

Name Type
columns keyof T[]

Returns

void

Inherited from

SearchQueryBuilder.order

Defined in

services/search-service/src/classes/base/query.builder.ts:104


paramString

▸ paramString(index): string

Parameters

Name Type
index number

Returns

string

Overrides

SearchQueryBuilder.paramString

Defined in

services/search-service/src/classes/mysql/query.builder.ts:45


paramsBuild

▸ paramsBuild(param): AnyObject | (string | AnyObject)[]

Parameters

Name Type
param string

Returns

AnyObject | (string | AnyObject)[]

Inherited from

SearchQueryBuilder.paramsBuild

Defined in

services/search-service/src/classes/base/query.builder.ts:202


parseIdPlaceholder

▸ parseIdPlaceholder(prop): string

Parameters

Name Type
prop PropertyDefinition

Returns

string

Inherited from

SearchQueryBuilder.parseIdPlaceholder

Defined in

services/search-service/src/classes/base/query.builder.ts:391


queryBuild

▸ queryBuild(models, ignoredColumns?, type?): string

Parameters

Name Type
models (typeof Model | SearchableModel<T, typeof Model>)[]
ignoredColumns? keyof T[]
type? typeof Model

Returns

string

Inherited from

SearchQueryBuilder.queryBuild

Defined in

services/search-service/src/classes/base/query.builder.ts:214


▸ search(model, columns, ignoredColumns): void

Parameters

Name Type
model typeof Model
columns keyof T[] | ColumnMap<T>
ignoredColumns keyof T[]

Returns

void

Overrides

SearchQueryBuilder.search

Defined in

services/search-service/src/classes/mysql/query.builder.ts:18


toArrayPropTypes

▸ toArrayPropTypes<R>(prop, val): any

Type parameters

Name
R

Parameters

Name Type
prop PropertyDefinition
val R | R[]

Returns

any

Inherited from

SearchQueryBuilder.toArrayPropTypes

Defined in

services/search-service/src/classes/base/query.builder.ts:471


toColumnValue

▸ toColumnValue(prop, val): any

Parameters

Name Type
prop PropertyDefinition
val PredicateValueType<ShortHandEqualType>

Returns

any

Inherited from

SearchQueryBuilder.toColumnValue

Defined in

services/search-service/src/classes/base/query.builder.ts:406


toDateType

▸ toDateType(val): Object

Parameters

Name Type
val string | Date

Returns

Object

Name Type
params string[]
sql string

Inherited from

SearchQueryBuilder.toDateType

Defined in

services/search-service/src/classes/base/query.builder.ts:458


whereBuild

▸ whereBuild<S>(model, where?): Object

Type parameters

Name Type
S extends typeof Model

Parameters

Name Type
model S
where? SearchWhereFilter<AnyObject>

Returns

Object

Name Type
params ShortHandEqualType[]
sql string

Inherited from

SearchQueryBuilder.whereBuild

Defined in

services/search-service/src/classes/base/query.builder.ts:255