mirror of
https://github.com/KevinMidboe/immich.git
synced 2025-10-29 17:40:28 +00:00
* chore(mobile): invoke logout() on mobile app * feat: add mechanism to delete token from logging out endpoint * fix: set state after login sequence success * fix: not removing token when logging out from OAuth * fix: prettier * refactor: using accessTokenId to delete * chore: pr comments * fix: test * fix: test threshold
26 lines
891 B
TypeScript
26 lines
891 B
TypeScript
import { Injectable } from '@nestjs/common';
|
|
import { InjectRepository } from '@nestjs/typeorm';
|
|
import { Repository } from 'typeorm';
|
|
import { UserTokenEntity } from '@app/infra/db/entities/user-token.entity';
|
|
import { IUserTokenRepository } from '@app/domain/user-token';
|
|
|
|
@Injectable()
|
|
export class UserTokenRepository implements IUserTokenRepository {
|
|
constructor(
|
|
@InjectRepository(UserTokenEntity)
|
|
private userTokenRepository: Repository<UserTokenEntity>,
|
|
) {}
|
|
|
|
async get(userToken: string): Promise<UserTokenEntity | null> {
|
|
return this.userTokenRepository.findOne({ where: { token: userToken }, relations: { user: true } });
|
|
}
|
|
|
|
async create(userToken: Partial<UserTokenEntity>): Promise<UserTokenEntity> {
|
|
return this.userTokenRepository.save(userToken);
|
|
}
|
|
|
|
async delete(id: string): Promise<void> {
|
|
await this.userTokenRepository.delete(id);
|
|
}
|
|
}
|