aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/video/sql/shared/abstract-videos-query-builder.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2021-06-10 14:43:55 +0200
committerChocobozzz <me@florianbigard.com>2021-06-10 15:26:18 +0200
commitd9bf974f5df787bbeaab5b04949ca91a2b3ca2a3 (patch)
treeaa02ee0cc28c845432e91da43b1e6de2a2f04039 /server/models/video/sql/shared/abstract-videos-query-builder.ts
parente5dbd5084e7ae91ce118c0bccd5b84c47b88c55f (diff)
downloadPeerTube-d9bf974f5df787bbeaab5b04949ca91a2b3ca2a3.tar.gz
PeerTube-d9bf974f5df787bbeaab5b04949ca91a2b3ca2a3.tar.zst
PeerTube-d9bf974f5df787bbeaab5b04949ca91a2b3ca2a3.zip
Use raw SQL for video get request
Diffstat (limited to 'server/models/video/sql/shared/abstract-videos-query-builder.ts')
-rw-r--r--server/models/video/sql/shared/abstract-videos-query-builder.ts22
1 files changed, 22 insertions, 0 deletions
diff --git a/server/models/video/sql/shared/abstract-videos-query-builder.ts b/server/models/video/sql/shared/abstract-videos-query-builder.ts
new file mode 100644
index 000000000..01694e691
--- /dev/null
+++ b/server/models/video/sql/shared/abstract-videos-query-builder.ts
@@ -0,0 +1,22 @@
1import { QueryTypes, Sequelize, Transaction } from 'sequelize'
2import { logger } from '@server/helpers/logger'
3
4export class AbstractVideosQueryBuilder {
5 protected sequelize: Sequelize
6
7 protected query: string
8 protected replacements: any = {}
9
10 protected runQuery (transaction?: Transaction, nest?: boolean) {
11 logger.debug('Running videos query.', { query: this.query, replacements: this.replacements })
12
13 const options = {
14 transaction,
15 replacements: this.replacements,
16 type: QueryTypes.SELECT as QueryTypes.SELECT,
17 nest
18 }
19
20 return this.sequelize.query<any>(this.query, options)
21 }
22}