]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame - src/database.js
Styling structure
[github/Chocobozzz/PeerTube.git] / src / database.js
CommitLineData
8c308c2b
C
1;(function () {
2 'use strict'
3
4 var config = require('config')
5 var mongoose = require('mongoose')
6
7 var logger = require('./logger')
8
d148f3b9 9 var dbname = 'peertube' + config.get('database.suffix')
8c308c2b
C
10 var host = config.get('database.host')
11 var port = config.get('database.port')
12
13 // ----------- Videos -----------
14 var videosSchema = mongoose.Schema({
15 name: String,
16 namePath: String,
17 description: String,
18 magnetUri: String,
19 podUrl: String
20 })
21
22 var VideosDB = mongoose.model('videos', videosSchema)
23
24 // ----------- Pods -----------
25 var podsSchema = mongoose.Schema({
26 url: String,
3bcb78b3
C
27 publicKey: String,
28 score: { type: Number, max: global.FRIEND_BASE_SCORE }
8c308c2b
C
29 })
30
31 var PodsDB = mongoose.model('pods', podsSchema)
32
0b697522
C
33 // ----------- PoolRequests -----------
34 var poolRequestsSchema = mongoose.Schema({
35 type: String,
36 id: String, // Special id to find duplicates (video created we want to remove...)
37 request: mongoose.Schema.Types.Mixed
38 })
39
40 var PoolRequestsDB = mongoose.model('poolRequests', poolRequestsSchema)
41
8c308c2b
C
42 // ----------- Connection -----------
43
44 mongoose.connect('mongodb://' + host + ':' + port + '/' + dbname)
45 mongoose.connection.on('error', function () {
46 logger.error('Mongodb connection error.')
47 process.exit(0)
48 })
49
50 mongoose.connection.on('open', function () {
51 logger.info('Connected to mongodb.')
52 })
53
54 // ----------- Export -----------
55 module.exports = {
56 VideosDB: VideosDB,
0b697522
C
57 PodsDB: PodsDB,
58 PoolRequestsDB: PoolRequestsDB
8c308c2b
C
59 }
60})()