]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blob - server/models/oauth-client.js
Server: implement refresh token
[github/Chocobozzz/PeerTube.git] / server / models / oauth-client.js
1 const mongoose = require('mongoose')
2
3 // ---------------------------------------------------------------------------
4
5 const OAuthClientSchema = mongoose.Schema({
6 clientSecret: String,
7 grants: Array,
8 redirectUris: Array
9 })
10
11 OAuthClientSchema.path('clientSecret').required(true)
12
13 OAuthClientSchema.statics = {
14 getByIdAndSecret: getByIdAndSecret,
15 list: list,
16 loadFirstClient: loadFirstClient
17 }
18
19 mongoose.model('OAuthClient', OAuthClientSchema)
20
21 // ---------------------------------------------------------------------------
22
23 function list (callback) {
24 return this.find(callback)
25 }
26
27 function loadFirstClient (callback) {
28 return this.findOne({}, callback)
29 }
30
31 function getByIdAndSecret (id, clientSecret) {
32 return this.findOne({ _id: id, clientSecret: clientSecret })
33 }