fehler im login korrigiert
This commit is contained in:
@@ -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;
|
||||||
|
|||||||
@@ -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> {
|
||||||
|
|||||||
@@ -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;
|
||||||
|
try {
|
||||||
await this.userRepo.save(user);
|
await this.userRepo.save(user);
|
||||||
|
} catch {}
|
||||||
resolve(user);
|
resolve(user);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user