fehler im login korrigiert
This commit is contained in:
@@ -58,7 +58,7 @@ export class User implements IUser {
|
||||
@DeleteDateColumn()
|
||||
deletedAt: Date;
|
||||
|
||||
@OneToOne(() => UserSettings, (settings) => settings.user, { cascade: true })
|
||||
@OneToOne(() => UserSettings, (settings) => settings.user, { cascade: true, onDelete: 'CASCADE', onUpdate: 'NO ACTION', })
|
||||
settings: UserSettings;
|
||||
|
||||
accessToken?: string;
|
||||
|
||||
@@ -15,8 +15,12 @@ export class UserRepository extends Repository<User> {
|
||||
super(User, dataSource.createEntityManager());
|
||||
}
|
||||
|
||||
findByUsername(username: string): Promise<User> {
|
||||
return this.findOne({ where: { username }, relations: ['external'] });
|
||||
findByUsername(username: string, {settings = false}: { settings: boolean }): Promise<User> {
|
||||
const relations = ['external'];
|
||||
if (settings ) {
|
||||
relations.push('settings')
|
||||
}
|
||||
return this.findOne({ where: { username }, relations: relations });
|
||||
}
|
||||
|
||||
findById(id: string): Promise<User> {
|
||||
|
||||
@@ -49,7 +49,7 @@ export class AuthService {
|
||||
}): Promise<User> {
|
||||
const payload: IExternalAccessPayload = this.jwt.decode(access_token);
|
||||
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) {
|
||||
user = await this.userRepo.createUser({
|
||||
@@ -69,7 +69,9 @@ export class AuthService {
|
||||
|
||||
user.external.accessToken = access_token;
|
||||
user.external.refreshToken = refresh_token;
|
||||
await this.userRepo.save(user);
|
||||
try {
|
||||
await this.userRepo.save(user);
|
||||
} catch {}
|
||||
resolve(user);
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user