mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	fix(server) Cannot change first time password due to null in first and last name payload (#1205)
* fix(server) Cannot change first time password due to null in first and last name payload * Added error message for form on the web
This commit is contained in:
		@@ -35,11 +35,25 @@ export class UserCore {
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const user = await this.userRepository.get(id);
 | 
			
		||||
    if (!user) {
 | 
			
		||||
      throw new NotFoundException('User not found');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    try {
 | 
			
		||||
      if (dto.password) {
 | 
			
		||||
        dto.password = await hash(dto.password, SALT_ROUNDS);
 | 
			
		||||
      }
 | 
			
		||||
      return this.userRepository.update(id, dto);
 | 
			
		||||
 | 
			
		||||
      user.password = dto.password ?? user.password;
 | 
			
		||||
      user.email = dto.email ?? user.email;
 | 
			
		||||
      user.firstName = dto.firstName ?? user.firstName;
 | 
			
		||||
      user.lastName = dto.lastName ?? user.lastName;
 | 
			
		||||
      user.isAdmin = dto.isAdmin ?? user.isAdmin;
 | 
			
		||||
      user.shouldChangePassword = dto.shouldChangePassword ?? user.shouldChangePassword;
 | 
			
		||||
      user.profileImagePath = dto.profileImagePath ?? user.profileImagePath;
 | 
			
		||||
 | 
			
		||||
      return this.userRepository.update(id, user);
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
      Logger.error(e, 'Failed to update user info');
 | 
			
		||||
      throw new InternalServerErrorException('Failed to update user info');
 | 
			
		||||
 
 | 
			
		||||
@@ -1,6 +1,10 @@
 | 
			
		||||
<script lang="ts">
 | 
			
		||||
	import { api } from '@api';
 | 
			
		||||
	import { createEventDispatcher } from 'svelte';
 | 
			
		||||
	import {
 | 
			
		||||
		notificationController,
 | 
			
		||||
		NotificationType
 | 
			
		||||
	} from '../shared-components/notification/notification';
 | 
			
		||||
 | 
			
		||||
	let error: string;
 | 
			
		||||
	let success: string;
 | 
			
		||||
@@ -38,6 +42,7 @@
 | 
			
		||||
			const firstName = form.get('firstName');
 | 
			
		||||
			const lastName = form.get('lastName');
 | 
			
		||||
 | 
			
		||||
			try {
 | 
			
		||||
				const { status } = await api.userApi.createUser({
 | 
			
		||||
					email: String(email),
 | 
			
		||||
					password: String(password),
 | 
			
		||||
@@ -56,6 +61,17 @@
 | 
			
		||||
					error = 'Error create user account';
 | 
			
		||||
					isCreatingUser = false;
 | 
			
		||||
				}
 | 
			
		||||
			} catch (e) {
 | 
			
		||||
				error = 'Error create user account';
 | 
			
		||||
				isCreatingUser = false;
 | 
			
		||||
 | 
			
		||||
				console.log('[ERROR] registerUser', e);
 | 
			
		||||
 | 
			
		||||
				notificationController.show({
 | 
			
		||||
					message: `Error create new user, check console for more detail`,
 | 
			
		||||
					type: NotificationType.Error
 | 
			
		||||
				});
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
</script>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user