aboutsummaryrefslogtreecommitdiffhomepage
path: root/server/models/application
diff options
context:
space:
mode:
authorChocobozzz <florian.bigard@gmail.com>2017-11-14 17:31:26 +0100
committerChocobozzz <florian.bigard@gmail.com>2017-11-27 19:40:51 +0100
commit350e31d6b64e4973dfa5e9f7b46841cb09aeb1ad (patch)
treef4191f3c04a5230fcf8ca3d6ca3248643fc4151d /server/models/application
parente34c85e527100c0b5c44567bd951e95be41b8d7e (diff)
downloadPeerTube-350e31d6b64e4973dfa5e9f7b46841cb09aeb1ad.tar.gz
PeerTube-350e31d6b64e4973dfa5e9f7b46841cb09aeb1ad.tar.zst
PeerTube-350e31d6b64e4973dfa5e9f7b46841cb09aeb1ad.zip
Follow works
Diffstat (limited to 'server/models/application')
-rw-r--r--server/models/application/application-interface.ts9
-rw-r--r--server/models/application/application.ts11
2 files changed, 16 insertions, 4 deletions
diff --git a/server/models/application/application-interface.ts b/server/models/application/application-interface.ts
index 33254ba2d..2c391dba3 100644
--- a/server/models/application/application-interface.ts
+++ b/server/models/application/application-interface.ts
@@ -1,18 +1,21 @@
1import * as Sequelize from 'sequelize' 1import * as Sequelize from 'sequelize'
2import * as Promise from 'bluebird' 2import * as Bluebird from 'bluebird'
3 3
4export namespace ApplicationMethods { 4export namespace ApplicationMethods {
5 export type LoadMigrationVersion = () => Promise<number> 5 export type LoadMigrationVersion = () => Bluebird<number>
6 6
7 export type UpdateMigrationVersion = ( 7 export type UpdateMigrationVersion = (
8 newVersion: number, 8 newVersion: number,
9 transaction: Sequelize.Transaction 9 transaction: Sequelize.Transaction
10 ) => Promise<[ number, ApplicationInstance[] ]> 10 ) => Bluebird<[ number, ApplicationInstance[] ]>
11
12 export type CountTotal = () => Bluebird<number>
11} 13}
12 14
13export interface ApplicationClass { 15export interface ApplicationClass {
14 loadMigrationVersion: ApplicationMethods.LoadMigrationVersion 16 loadMigrationVersion: ApplicationMethods.LoadMigrationVersion
15 updateMigrationVersion: ApplicationMethods.UpdateMigrationVersion 17 updateMigrationVersion: ApplicationMethods.UpdateMigrationVersion
18 countTotal: ApplicationMethods.CountTotal
16} 19}
17 20
18export interface ApplicationAttributes { 21export interface ApplicationAttributes {
diff --git a/server/models/application/application.ts b/server/models/application/application.ts
index 507b7a843..8ba40a895 100644
--- a/server/models/application/application.ts
+++ b/server/models/application/application.ts
@@ -11,6 +11,7 @@ import {
11let Application: Sequelize.Model<ApplicationInstance, ApplicationAttributes> 11let Application: Sequelize.Model<ApplicationInstance, ApplicationAttributes>
12let loadMigrationVersion: ApplicationMethods.LoadMigrationVersion 12let loadMigrationVersion: ApplicationMethods.LoadMigrationVersion
13let updateMigrationVersion: ApplicationMethods.UpdateMigrationVersion 13let updateMigrationVersion: ApplicationMethods.UpdateMigrationVersion
14let countTotal: ApplicationMethods.CountTotal
14 15
15export default function defineApplication (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) { 16export default function defineApplication (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) {
16 Application = sequelize.define<ApplicationInstance, ApplicationAttributes>('Application', 17 Application = sequelize.define<ApplicationInstance, ApplicationAttributes>('Application',
@@ -26,7 +27,11 @@ export default function defineApplication (sequelize: Sequelize.Sequelize, DataT
26 } 27 }
27 ) 28 )
28 29
29 const classMethods = [ loadMigrationVersion, updateMigrationVersion ] 30 const classMethods = [
31 countTotal,
32 loadMigrationVersion,
33 updateMigrationVersion
34 ]
30 addMethodsToModel(Application, classMethods) 35 addMethodsToModel(Application, classMethods)
31 36
32 return Application 37 return Application
@@ -34,6 +39,10 @@ export default function defineApplication (sequelize: Sequelize.Sequelize, DataT
34 39
35// --------------------------------------------------------------------------- 40// ---------------------------------------------------------------------------
36 41
42countTotal = function () {
43 return this.count()
44}
45
37loadMigrationVersion = function () { 46loadMigrationVersion = function () {
38 const query = { 47 const query = {
39 attributes: [ 'migrationVersion' ] 48 attributes: [ 'migrationVersion' ]