fehler im login korrigiert

This commit is contained in:
Bastian Wagner
2026-02-13 11:17:20 +01:00
parent 552000fabf
commit 21b04c5354
3 changed files with 11 additions and 5 deletions

View File

@@ -58,7 +58,7 @@ export class User implements IUser {
@DeleteDateColumn() @DeleteDateColumn()
deletedAt: Date; deletedAt: Date;
@OneToOne(() => UserSettings, (settings) => settings.user, { cascade: true }) @OneToOne(() => UserSettings, (settings) => settings.user, { cascade: true, onDelete: 'CASCADE', onUpdate: 'NO ACTION', })
settings: UserSettings; settings: UserSettings;
accessToken?: string; accessToken?: string;

View File

@@ -15,8 +15,12 @@ export class UserRepository extends Repository<User> {
super(User, dataSource.createEntityManager()); super(User, dataSource.createEntityManager());
} }
findByUsername(username: string): Promise<User> { findByUsername(username: string, {settings = false}: { settings: boolean }): Promise<User> {
return this.findOne({ where: { username }, relations: ['external'] }); const relations = ['external'];
if (settings ) {
relations.push('settings')
}
return this.findOne({ where: { username }, relations: relations });
} }
findById(id: string): Promise<User> { findById(id: string): Promise<User> {

View File

@@ -49,7 +49,7 @@ export class AuthService {
}): Promise<User> { }): Promise<User> {
const payload: IExternalAccessPayload = this.jwt.decode(access_token); const payload: IExternalAccessPayload = this.jwt.decode(access_token);
return new Promise<User>(async (resolve) => { return new Promise<User>(async (resolve) => {
let user = await this.userRepo.findByUsername(payload.username); let user = await this.userRepo.findByUsername(payload.username, { settings: true });
if (!user) { if (!user) {
user = await this.userRepo.createUser({ user = await this.userRepo.createUser({
@@ -69,7 +69,9 @@ export class AuthService {
user.external.accessToken = access_token; user.external.accessToken = access_token;
user.external.refreshToken = refresh_token; user.external.refreshToken = refresh_token;
await this.userRepo.save(user); try {
await this.userRepo.save(user);
} catch {}
resolve(user); resolve(user);
}); });
} }