Type models
This commit is contained in:
parent
65fcc3119c
commit
e02643f32e
76 changed files with 1710 additions and 816 deletions
|
@ -6,12 +6,52 @@ import { CONFIG } from './constants'
|
|||
// Do not use barrel, we need to load database first
|
||||
import { logger } from '../helpers/logger'
|
||||
import { isTestInstance } from '../helpers/utils'
|
||||
import {
|
||||
ApplicationModel,
|
||||
AuthorModel,
|
||||
JobModel,
|
||||
OAuthClientModel,
|
||||
OAuthTokenModel,
|
||||
PodModel,
|
||||
RequestModel,
|
||||
RequestToPodModel,
|
||||
RequestVideoEventModel,
|
||||
RequestVideoQaduModel,
|
||||
TagModel,
|
||||
UserModel,
|
||||
UserVideoRateModel,
|
||||
VideoAbuseModel,
|
||||
BlacklistedVideoModel,
|
||||
VideoTagModel,
|
||||
VideoModel
|
||||
} from '../models'
|
||||
|
||||
const dbname = CONFIG.DATABASE.DBNAME
|
||||
const username = CONFIG.DATABASE.USERNAME
|
||||
const password = CONFIG.DATABASE.PASSWORD
|
||||
|
||||
const database: any = {}
|
||||
const database: {
|
||||
sequelize?: Sequelize.Sequelize,
|
||||
init?: (silent: any, callback: any) => void,
|
||||
|
||||
Application?: ApplicationModel,
|
||||
Author?: AuthorModel,
|
||||
Job?: JobModel,
|
||||
OAuthClient?: OAuthClientModel,
|
||||
OAuthToken?: OAuthTokenModel,
|
||||
Pod?: PodModel,
|
||||
RequestToPod?: RequestToPodModel,
|
||||
RequestVideoEvent?: RequestVideoEventModel,
|
||||
RequestVideoQadu?: RequestVideoQaduModel,
|
||||
Request?: RequestModel,
|
||||
Tag?: TagModel,
|
||||
UserVideoRate?: UserVideoRateModel,
|
||||
User?: UserModel,
|
||||
VideoAbuse?: VideoAbuseModel,
|
||||
BlacklistedVideo?: BlacklistedVideoModel,
|
||||
VideoTag?: VideoTagModel,
|
||||
Video?: VideoModel
|
||||
} = {}
|
||||
|
||||
const sequelize = new Sequelize(dbname, username, password, {
|
||||
dialect: 'postgres',
|
||||
|
@ -32,12 +72,6 @@ const sequelize = new Sequelize(dbname, username, password, {
|
|||
database.sequelize = sequelize
|
||||
|
||||
database.init = function (silent, callback) {
|
||||
if (!callback) {
|
||||
callback = silent
|
||||
silent = false
|
||||
}
|
||||
|
||||
if (!callback) callback = function () { /* empty */ }
|
||||
|
||||
const modelDirectory = join(__dirname, '..', 'models')
|
||||
fs.readdir(modelDirectory, function (err, files) {
|
||||
|
@ -45,7 +79,12 @@ database.init = function (silent, callback) {
|
|||
|
||||
files.filter(function (file) {
|
||||
// For all models but not utils.js
|
||||
if (file === 'utils.js') return false
|
||||
if (
|
||||
file === 'index.js' ||
|
||||
file === 'utils.js' ||
|
||||
file.endsWith('-interface.js') ||
|
||||
file.endsWith('.js.map')
|
||||
) return false
|
||||
|
||||
return true
|
||||
})
|
||||
|
@ -69,4 +108,6 @@ database.init = function (silent, callback) {
|
|||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
module.exports = database
|
||||
export {
|
||||
database
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue