Compare commits
5 Commits
8abfff99e0
...
8466aa1f93
| Author | SHA1 | Date |
|---|---|---|
|
|
8466aa1f93 | |
|
|
ff3bf02d2e | |
|
|
a76b0b9a86 | |
|
|
c3b9983b73 | |
|
|
8a5d530d44 |
|
|
@ -20,10 +20,14 @@ export class AuthController {
|
||||||
throw new UnauthorizedException('Пользователь не аутентифицирован');
|
throw new UnauthorizedException('Пользователь не аутентифицирован');
|
||||||
}
|
}
|
||||||
|
|
||||||
const user = req.user as { userId: number; username: string; login?: string };
|
const user = req.user as { userId: number; username: string; login?: string; role?: string };
|
||||||
const userWithoutPassword = { ...user };
|
const userWithoutPassword = {
|
||||||
|
id: user.userId,
|
||||||
|
login: user.login || user.username,
|
||||||
|
role: user.role
|
||||||
|
};
|
||||||
|
|
||||||
this.logger.log(`Аутентифицированный пользователь: ${user.username}`);
|
this.logger.log(`Аутентифицированный пользователь: ${user.username}, роль: ${user.role}`);
|
||||||
return {
|
return {
|
||||||
isAuthenticated: true,
|
isAuthenticated: true,
|
||||||
user: userWithoutPassword
|
user: userWithoutPassword
|
||||||
|
|
@ -58,7 +62,8 @@ export class AuthController {
|
||||||
success: true,
|
success: true,
|
||||||
user: {
|
user: {
|
||||||
id: user.id,
|
id: user.id,
|
||||||
login: user.login
|
login: user.login,
|
||||||
|
role: user.role // Добавляем роль в ответ
|
||||||
},
|
},
|
||||||
access_token
|
access_token
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,10 @@ export class AuthService {
|
||||||
|
|
||||||
if (user && user.password === password) {
|
if (user && user.password === password) {
|
||||||
const { password, ...result } = user;
|
const { password, ...result } = user;
|
||||||
return result;
|
return {
|
||||||
|
...result,
|
||||||
|
role: user.role
|
||||||
|
};
|
||||||
}
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
@ -25,7 +28,8 @@ export class AuthService {
|
||||||
async login(user: any) {
|
async login(user: any) {
|
||||||
const payload = {
|
const payload = {
|
||||||
username: user.login,
|
username: user.login,
|
||||||
sub: user.id
|
sub: user.id,
|
||||||
|
role: user.role
|
||||||
};
|
};
|
||||||
return {
|
return {
|
||||||
access_token: this.jwtService.sign(payload),
|
access_token: this.jwtService.sign(payload),
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,8 @@ export class JwtStrategy extends PassportStrategy(Strategy) {
|
||||||
return {
|
return {
|
||||||
userId: payload.sub,
|
userId: payload.sub,
|
||||||
username: payload.username,
|
username: payload.username,
|
||||||
login: payload.username
|
login: payload.username,
|
||||||
|
role: payload.role
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -10,4 +10,7 @@ export class User {
|
||||||
|
|
||||||
@Column()
|
@Column()
|
||||||
password: string;
|
password: string;
|
||||||
|
|
||||||
|
@Column({ default: 'user' })
|
||||||
|
role: 'user' | 'admin';
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -225,10 +225,13 @@ export class PrometheusService {
|
||||||
|
|
||||||
async fetchAllMetricsWithValues(): Promise<any[]> {
|
async fetchAllMetricsWithValues(): Promise<any[]> {
|
||||||
const metricNames = await this.fetchAllMetrics();
|
const metricNames = await this.fetchAllMetrics();
|
||||||
const promises = metricNames.map(async (metric) => {
|
const zvksMetrics = metricNames.filter(metric => metric.startsWith('zvks'));
|
||||||
|
|
||||||
|
const promises = zvksMetrics.map(async (metric) => {
|
||||||
const data = await this.fetchMetrics(metric);
|
const data = await this.fetchMetrics(metric);
|
||||||
return { metric, data };
|
return { metric, data };
|
||||||
});
|
});
|
||||||
|
|
||||||
return Promise.all(promises);
|
return Promise.all(promises);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue