| 
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -5,7 +5,7 @@ import { resetHours } from '@ghostfolio/common/helper'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { User as IUser, UserWithSettings } from '@ghostfolio/common/interfaces'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { getPermissions, permissions } from '@ghostfolio/common/permissions'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Injectable } from '@nestjs/common'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Currency, DisplayMode, Prisma, Provider, User } from '@prisma/client'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { Currency, Prisma, Provider, User, ViewMode } from '@prisma/client'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					import { add } from 'date-fns'; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					const crypto = require('crypto'); | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -54,7 +54,7 @@ export class UserService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      settings: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        locale, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        baseCurrency: Settings?.currency ?? UserService.DEFAULT_CURRENCY, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        displayMode: Settings.displayMode ?? DisplayMode.DEFAULT | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        viewMode: Settings.viewMode ?? ViewMode.DEFAULT | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      subscription: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        expiresAt: resetHours(add(new Date(), { days: 7 })), | 
				
			
			
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
				 | 
				
					@ -80,9 +80,9 @@ export class UserService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      // Set default settings if needed
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      user.Settings = { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        currency: UserService.DEFAULT_CURRENCY, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        displayMode: DisplayMode.DEFAULT, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        updatedAt: new Date(), | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        userId: user?.id | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        userId: user?.id, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        viewMode: ViewMode.DEFAULT | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
				 | 
				
					@ -189,26 +189,26 @@ export class UserService { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					
 | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  public async updateUserSettings({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    currency, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    displayMode, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    userId | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    userId, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    viewMode | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  }: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    currency?: Currency; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    displayMode?: DisplayMode; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    userId: string; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    viewMode?: ViewMode; | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					  }) { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					    await this.prisma.settings.upsert({ | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      create: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        currency, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        displayMode, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        User: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          connect: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					            id: userId | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					          } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        } | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        viewMode | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      update: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        currency, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        displayMode | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        viewMode | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      }, | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					      where: { | 
				
			
			
		
	
		
			
				
					 | 
					 | 
				
				 | 
				
					        userId: userId | 
				
			
			
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
				 | 
				
					
  |