1
0
Fork 0
mirror of https://github.com/Chocobozzz/PeerTube.git synced 2025-10-05 02:39:33 +02:00

Use sequelize scopes

This commit is contained in:
Chocobozzz 2017-12-14 10:07:57 +01:00
parent 94edfc3b2a
commit d48ff09d27
No known key found for this signature in database
GPG key ID: 583A612D890159BE
13 changed files with 264 additions and 312 deletions

View file

@ -1,4 +1,4 @@
import { AllowNull, BelongsTo, Column, CreatedAt, ForeignKey, Model, Table, UpdatedAt } from 'sequelize-typescript'
import { AllowNull, BelongsTo, Column, CreatedAt, ForeignKey, Model, Scopes, Table, UpdatedAt } from 'sequelize-typescript'
import { logger } from '../../helpers'
import { AccountModel } from '../account/account'
import { UserModel } from '../account/user'
@ -15,6 +15,25 @@ export type OAuthTokenInfo = {
}
}
enum ScopeNames {
WITH_ACCOUNT = 'WITH_ACCOUNT'
}
@Scopes({
[ScopeNames.WITH_ACCOUNT]: {
include: [
{
model: () => UserModel,
include: [
{
model: () => AccountModel,
required: true
}
]
}
]
}
})
@Table({
tableName: 'oAuthToken',
indexes: [
@ -115,21 +134,10 @@ export class OAuthTokenModel extends Model<OAuthTokenModel> {
const query = {
where: {
accessToken: bearerToken
},
include: [
{
model: UserModel,
include: [
{
model: AccountModel,
required: true
}
]
}
]
}
}
return OAuthTokenModel.findOne(query).then(token => {
return OAuthTokenModel.scope(ScopeNames.WITH_ACCOUNT).findOne(query).then(token => {
if (token) token['user'] = token.User
return token
@ -140,24 +148,15 @@ export class OAuthTokenModel extends Model<OAuthTokenModel> {
const query = {
where: {
refreshToken: refreshToken
},
include: [
{
model: UserModel,
include: [
{
model: AccountModel,
required: true
}
]
}
]
}
}
return OAuthTokenModel.findOne(query).then(token => {
token['user'] = token.User
return OAuthTokenModel.scope(ScopeNames.WITH_ACCOUNT)
.findOne(query)
.then(token => {
token['user'] = token.User
return token
})
return token
})
}
}