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:
parent
94edfc3b2a
commit
d48ff09d27
13 changed files with 264 additions and 312 deletions
|
@ -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
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue