X-Git-Url: https://git.immae.eu/?a=blobdiff_plain;f=server%2Fmodels%2Foauth%2Foauth-token.ts;h=f72423190ed54e523bc2e422ed8680482df0bdd7;hb=ba2684ceddf9b76312635b9cddc6bf6975ce436a;hp=38953e8ad0aefd1b5a48d6dbeec5291f8e9e5d6e;hpb=610d0be13b3d01f653ef269271dd667a57c85ef2;p=github%2FChocobozzz%2FPeerTube.git diff --git a/server/models/oauth/oauth-token.ts b/server/models/oauth/oauth-token.ts index 38953e8ad..f72423190 100644 --- a/server/models/oauth/oauth-token.ts +++ b/server/models/oauth/oauth-token.ts @@ -1,3 +1,4 @@ +import { Transaction } from 'sequelize' import { AfterDestroy, AfterUpdate, @@ -11,15 +12,15 @@ import { Table, UpdatedAt } from 'sequelize-typescript' +import { TokensCache } from '@server/lib/auth/tokens-cache' +import { MUserAccountId } from '@server/types/models' +import { MOAuthTokenUser } from '@server/types/models/oauth/oauth-token' +import { AttributesOnly } from '@shared/typescript-utils' import { logger } from '../../helpers/logger' -import { UserModel } from '../account/user' -import { OAuthClientModel } from './oauth-client' -import { Transaction } from 'sequelize' import { AccountModel } from '../account/account' -import { ActorModel } from '../activitypub/actor' -import { clearCacheByToken } from '../../lib/oauth-model' -import * as Bluebird from 'bluebird' -import { MOAuthTokenUser } from '@server/typings/models/oauth/oauth-token' +import { ActorModel } from '../actor/actor' +import { UserModel } from '../user/user' +import { OAuthClientModel } from './oauth-client' export type OAuthTokenInfo = { refreshToken: string @@ -27,9 +28,7 @@ export type OAuthTokenInfo = { client: { id: number } - user: { - id: number - } + user: MUserAccountId token: MOAuthTokenUser } @@ -80,7 +79,7 @@ enum ScopeNames { } ] }) -export class OAuthTokenModel extends Model { +export class OAuthTokenModel extends Model>> { @AllowNull(false) @Column @@ -134,7 +133,7 @@ export class OAuthTokenModel extends Model { @AfterUpdate @AfterDestroy static removeTokenCache (token: OAuthTokenModel) { - return clearCacheByToken(token.accessToken) + return TokensCache.Instance.clearCacheByToken(token.accessToken) } static loadByRefreshToken (refreshToken: string) { @@ -174,7 +173,7 @@ export class OAuthTokenModel extends Model { }) } - static getByTokenAndPopulateUser (bearerToken: string): Bluebird { + static getByTokenAndPopulateUser (bearerToken: string): Promise { const query = { where: { accessToken: bearerToken @@ -190,7 +189,7 @@ export class OAuthTokenModel extends Model { }) } - static getByRefreshTokenAndPopulateUser (refreshToken: string): Bluebird { + static getByRefreshTokenAndPopulateUser (refreshToken: string): Promise { const query = { where: { refreshToken @@ -207,6 +206,8 @@ export class OAuthTokenModel extends Model { } static deleteUserToken (userId: number, t?: Transaction) { + TokensCache.Instance.deleteUserToken(userId) + const query = { where: { userId