because I got bored of customising my CV for every job
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 45 lines 1.2 kB view raw
1import { Injectable } from "@nestjs/common"; 2import type { RefreshToken as PrismaRefreshToken } from "@prisma/client"; 3import { RefreshToken } from "./refresh-token.entity"; 4 5@Injectable() 6export class RefreshTokenMapper { 7 toDomain(prismaToken: null, decryptedToken?: string): null; 8 toDomain( 9 prismaToken: PrismaRefreshToken, 10 decryptedToken: string, 11 ): RefreshToken; 12 toDomain( 13 prismaToken: PrismaRefreshToken | null, 14 decryptedToken?: string, 15 ): RefreshToken | null { 16 if (prismaToken === null) { 17 return null; 18 } 19 20 return new RefreshToken( 21 prismaToken.id, 22 decryptedToken ?? prismaToken.token, 23 prismaToken.userId, 24 prismaToken.expiresAt, 25 prismaToken.createdAt, 26 prismaToken.updatedAt, 27 prismaToken.userAgent, 28 prismaToken.ipAddress, 29 prismaToken.deviceName, 30 prismaToken.deviceType, 31 prismaToken.country, 32 prismaToken.city, 33 prismaToken.usedAt, 34 ); 35 } 36 37 mapToDomain( 38 prismaTokens: PrismaRefreshToken[], 39 decryptedTokens: string[], 40 ): RefreshToken[] { 41 return prismaTokens.map((token, index) => 42 this.toDomain(token, decryptedTokens[index] ?? token.token), 43 ); 44 } 45}