X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Fapplication.ts;h=55bb40d840de3178249ddbd0392354a9f9f0a14f;hb=127944aacb52721877449a1f202dc0add866ef39;hp=38a57e3275ab3108ec12793a83261a38248640eb;hpb=65fcc3119c334b75dd13bcfdebf186afdc580a8f;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/application.ts b/server/models/application.ts index 38a57e327..55bb40d84 100644 --- a/server/models/application.ts +++ b/server/models/application.ts @@ -1,5 +1,20 @@ -module.exports = function (sequelize, DataTypes) { - const Application = sequelize.define('Application', +import * as Sequelize from 'sequelize' + +import { addMethodsToModel } from './utils' +import { + ApplicationClass, + ApplicationAttributes, + ApplicationInstance, + + ApplicationMethods +} from './application-interface' + +let Application: Sequelize.Model +let loadMigrationVersion: ApplicationMethods.LoadMigrationVersion +let updateMigrationVersion: ApplicationMethods.UpdateMigrationVersion + +export default function defineApplication (sequelize: Sequelize.Sequelize, DataTypes: Sequelize.DataTypes) { + Application = sequelize.define('Application', { migrationVersion: { type: DataTypes.INTEGER, @@ -9,42 +24,34 @@ module.exports = function (sequelize, DataTypes) { isInt: true } } - }, - { - classMethods: { - loadMigrationVersion, - updateMigrationVersion - } } ) + const classMethods = [ loadMigrationVersion, updateMigrationVersion ] + addMethodsToModel(Application, classMethods) + return Application } // --------------------------------------------------------------------------- -function loadMigrationVersion (callback) { +loadMigrationVersion = function (callback: ApplicationMethods.LoadMigrationVersionCallback) { const query = { attributes: [ 'migrationVersion' ] } - return this.findOne(query).asCallback(function (err, data) { + return Application.findOne(query).asCallback(function (err, data) { const version = data ? data.migrationVersion : null return callback(err, version) }) } -function updateMigrationVersion (newVersion, transaction, callback) { - const options: { where?: any, transaction?: any } = { - where: {} - } - - if (!callback) { - transaction = callback - } else { - options.transaction = transaction +updateMigrationVersion = function (newVersion: number, transaction: Sequelize.Transaction, callback: ApplicationMethods.UpdateMigrationVersionCallback) { + const options: Sequelize.UpdateOptions = { + where: {}, + transaction: transaction } - return this.update({ migrationVersion: newVersion }, options).asCallback(callback) + return Application.update({ migrationVersion: newVersion }, options).asCallback(callback) }