1
0
mirror of https://github.com/immich-app/immich.git synced 2024-12-25 10:43:13 +02: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:
Alex 2022-12-28 21:07:04 -06:00 committed by GitHub
parent 7810dd1942
commit 1eb9ac8217
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 43 additions and 13 deletions

View File

@ -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');

View File

@ -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,23 +42,35 @@
const firstName = form.get('firstName');
const lastName = form.get('lastName');
const { status } = await api.userApi.createUser({
email: String(email),
password: String(password),
firstName: String(firstName),
lastName: String(lastName)
});
try {
const { status } = await api.userApi.createUser({
email: String(email),
password: String(password),
firstName: String(firstName),
lastName: String(lastName)
});
if (status === 201) {
success = 'New user created';
if (status === 201) {
success = 'New user created';
dispatch('user-created');
dispatch('user-created');
isCreatingUser = false;
return;
} else {
isCreatingUser = false;
return;
} else {
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
});
}
}
}