]> git.immae.eu Git - github/Chocobozzz/PeerTube.git/blame_incremental - server/models/oauth-token.js
Server: Remove unused console log
[github/Chocobozzz/PeerTube.git] / server / models / oauth-token.js
... / ...
CommitLineData
1const mongoose = require('mongoose')
2
3const logger = require('../helpers/logger')
4
5// ---------------------------------------------------------------------------
6
7const OAuthTokenSchema = mongoose.Schema({
8 accessToken: String,
9 accessTokenExpiresAt: Date,
10 client: { type: mongoose.Schema.Types.ObjectId, ref: 'OAuthClient' },
11 refreshToken: String,
12 refreshTokenExpiresAt: Date,
13 user: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }
14})
15
16OAuthTokenSchema.path('accessToken').required(true)
17OAuthTokenSchema.path('client').required(true)
18OAuthTokenSchema.path('user').required(true)
19
20OAuthTokenSchema.statics = {
21 getByRefreshTokenAndPopulateClient,
22 getByTokenAndPopulateUser,
23 getByRefreshTokenAndPopulateUser,
24 removeByUserId
25}
26
27mongoose.model('OAuthToken', OAuthTokenSchema)
28
29// ---------------------------------------------------------------------------
30
31function getByRefreshTokenAndPopulateClient (refreshToken) {
32 return this.findOne({ refreshToken: refreshToken }).populate('client').exec().then(function (token) {
33 if (!token) return token
34
35 const tokenInfos = {
36 refreshToken: token.refreshToken,
37 refreshTokenExpiresAt: token.refreshTokenExpiresAt,
38 client: {
39 id: token.client._id.toString()
40 },
41 user: {
42 id: token.user
43 }
44 }
45
46 return tokenInfos
47 }).catch(function (err) {
48 logger.info('getRefreshToken error.', { error: err })
49 })
50}
51
52function getByTokenAndPopulateUser (bearerToken) {
53 return this.findOne({ accessToken: bearerToken }).populate('user').exec()
54}
55
56function getByRefreshTokenAndPopulateUser (refreshToken) {
57 return this.findOne({ refreshToken: refreshToken }).populate('user').exec()
58}
59
60function removeByUserId (userId, callback) {
61 return this.remove({ user: userId }, callback)
62}