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