From d48ff09d27d234425c3e9f091ae9072d8e6d8b7a Mon Sep 17 00:00:00 2001 From: Chocobozzz Date: Thu, 14 Dec 2017 10:07:57 +0100 Subject: Use sequelize scopes --- server/models/oauth/oauth-token.ts | 59 +++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 30 deletions(-) (limited to 'server/models/oauth') diff --git a/server/models/oauth/oauth-token.ts b/server/models/oauth/oauth-token.ts index 0d21c42fd..995fa33d5 100644 --- a/server/models/oauth/oauth-token.ts +++ b/server/models/oauth/oauth-token.ts @@ -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 { 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 { 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 + }) } } -- cgit v1.2.3