]>
Commit | Line | Data |
---|---|---|
d9bf974f C |
1 | import { QueryTypes, Sequelize, Transaction } from 'sequelize' |
2 | import { logger } from '@server/helpers/logger' | |
3 | ||
1d43c3a6 C |
4 | /** |
5 | * | |
6 | * Abstact builder to run video SQL queries | |
7 | * | |
8 | */ | |
9 | ||
d9bf974f C |
10 | export class AbstractVideosQueryBuilder { |
11 | protected sequelize: Sequelize | |
12 | ||
13 | protected query: string | |
14 | protected replacements: any = {} | |
15 | ||
71d4af1e | 16 | protected runQuery (options: { transaction?: Transaction, logging?: boolean } = {}) { |
d9bf974f C |
17 | logger.debug('Running videos query.', { query: this.query, replacements: this.replacements }) |
18 | ||
71d4af1e C |
19 | const queryOptions = { |
20 | transaction: options.transaction, | |
21 | logging: options.logging, | |
d9bf974f C |
22 | replacements: this.replacements, |
23 | type: QueryTypes.SELECT as QueryTypes.SELECT, | |
17bb4538 | 24 | next: false |
d9bf974f C |
25 | } |
26 | ||
71d4af1e | 27 | return this.sequelize.query<any>(this.query, queryOptions) |
d9bf974f C |
28 | } |
29 | } |