import { IToken } from "./models/Abstraction/IToken"; import { TokenModel } from "./models/token.model"; import { BaseRepository } from "../../common/base/repository"; class TokenRepository extends BaseRepository { constructor() { super(TokenModel); } async findByToken(refreshToken: string) { return this.model.findOne({ refreshToken }); } async findByUserId(id: string) { return this.model.findOne({ userId: id }); } } function createTokenRepository(): TokenRepository { return new TokenRepository(); } export { TokenRepository, createTokenRepository };