]>
Commit | Line | Data |
---|---|---|
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 | })() |