From aa8455a079fe93b2bbcf37f88e5f9dd08c2ee97e Mon Sep 17 00:00:00 2001
From: Yannick Bungers <git@innay.de>
Date: Wed, 13 Oct 2021 22:22:08 +0200
Subject: [PATCH] change getTokensByUsername to getTokensByUser

Signed-off-by: Yannick Bungers <git@innay.de>
---
 src/api/private/tokens/tokens.controller.ts |  6 +++---
 src/auth/auth.service.spec.ts               |  8 +++-----
 src/auth/auth.service.ts                    | 12 ++++++------
 3 files changed, 12 insertions(+), 14 deletions(-)

diff --git a/src/api/private/tokens/tokens.controller.ts b/src/api/private/tokens/tokens.controller.ts
index d634be650..cbb36375b 100644
--- a/src/api/private/tokens/tokens.controller.ts
+++ b/src/api/private/tokens/tokens.controller.ts
@@ -40,8 +40,8 @@ export class TokensController {
 
   @Get()
   async getUserTokens(@RequestUser() user: User): Promise<AuthTokenDto[]> {
-    return (await this.authService.getTokensByUsername(user.userName)).map(
-      (token) => this.authService.toAuthTokenDto(token),
+    return (await this.authService.getTokensByUser(user)).map((token) =>
+      this.authService.toAuthTokenDto(token),
     );
   }
 
@@ -64,7 +64,7 @@ export class TokensController {
     @RequestUser() user: User,
     @Param('keyId') keyId: string,
   ): Promise<void> {
-    const tokens = await this.authService.getTokensByUsername(user.userName);
+    const tokens = await this.authService.getTokensByUser(user);
     try {
       for (const token of tokens) {
         if (token.keyId == keyId) {
diff --git a/src/auth/auth.service.spec.ts b/src/auth/auth.service.spec.ts
index 937a97feb..582871953 100644
--- a/src/auth/auth.service.spec.ts
+++ b/src/auth/auth.service.spec.ts
@@ -74,12 +74,10 @@ describe('AuthService', () => {
     expect(service).toBeDefined();
   });
 
-  describe('getTokensByUsername', () => {
+  describe('getTokensByUser', () => {
     it('works', async () => {
-      jest
-        .spyOn(userRepo, 'findOne')
-        .mockResolvedValueOnce({ ...user, authTokens: [authToken] });
-      const tokens = await service.getTokensByUsername(user.userName);
+      jest.spyOn(authTokenRepo, 'find').mockResolvedValueOnce([authToken]);
+      const tokens = await service.getTokensByUser(user);
       expect(tokens).toHaveLength(1);
       expect(tokens).toEqual([authToken]);
     });
diff --git a/src/auth/auth.service.ts b/src/auth/auth.service.ts
index e196aee6f..225548362 100644
--- a/src/auth/auth.service.ts
+++ b/src/auth/auth.service.ts
@@ -140,14 +140,14 @@ export class AuthService {
     return accessToken;
   }
 
-  async getTokensByUsername(userName: string): Promise<AuthToken[]> {
-    const user = await this.usersService.getUserByUsername(userName, [
-      UserRelationEnum.AUTHTOKENS,
-    ]);
-    if (user.authTokens === undefined) {
+  async getTokensByUser(user: User): Promise<AuthToken[]> {
+    const tokens = await this.authTokenRepository.find({
+      where: { user: user },
+    });
+    if (tokens === undefined) {
       return [];
     }
-    return user.authTokens;
+    return tokens;
   }
 
   async removeToken(keyId: string): Promise<void> {