bug fixes
This commit is contained in:
@@ -8,19 +8,31 @@ import {
|
||||
UpdateAtemschutzData,
|
||||
} from '../models/atemschutz.model';
|
||||
|
||||
const ATEMSCHUTZ_PRIVILEGED = ['dashboard_admin', 'dashboard_kommando', 'dashboard_atemschutz', 'dashboard_moderator'];
|
||||
|
||||
class AtemschutzService {
|
||||
// =========================================================================
|
||||
// ÜBERSICHT (ALL RECORDS)
|
||||
// =========================================================================
|
||||
|
||||
async getAll(): Promise<AtemschutzUebersicht[]> {
|
||||
async getAll(userGroups: string[], userId: string): Promise<AtemschutzUebersicht[]> {
|
||||
const isPrivileged = userGroups.some(g => ATEMSCHUTZ_PRIVILEGED.includes(g));
|
||||
try {
|
||||
const result = await pool.query(`
|
||||
SELECT *
|
||||
FROM atemschutz_uebersicht
|
||||
WHERE mitglied_status IS NULL OR mitglied_status IN ('aktiv', 'anwärter')
|
||||
ORDER BY user_family_name, user_given_name
|
||||
`);
|
||||
let result;
|
||||
if (isPrivileged) {
|
||||
result = await pool.query(`
|
||||
SELECT *
|
||||
FROM atemschutz_uebersicht
|
||||
WHERE mitglied_status IS NULL OR mitglied_status IN ('aktiv', 'anwärter')
|
||||
ORDER BY user_family_name, user_given_name
|
||||
`);
|
||||
} else {
|
||||
result = await pool.query(`
|
||||
SELECT *
|
||||
FROM atemschutz_uebersicht
|
||||
WHERE user_id = $1
|
||||
`, [userId]);
|
||||
}
|
||||
|
||||
return result.rows.map((row) => ({
|
||||
...row,
|
||||
@@ -208,7 +220,21 @@ class AtemschutzService {
|
||||
// DASHBOARD KPI / STATISTIKEN
|
||||
// =========================================================================
|
||||
|
||||
async getStats(): Promise<AtemschutzStats> {
|
||||
async getStats(userGroups: string[], userId: string): Promise<AtemschutzStats> {
|
||||
const isPrivileged = userGroups.some(g => ATEMSCHUTZ_PRIVILEGED.includes(g));
|
||||
if (!isPrivileged) {
|
||||
return {
|
||||
total: 0,
|
||||
mitLehrgang: 0,
|
||||
untersuchungGueltig: 0,
|
||||
untersuchungAbgelaufen: 0,
|
||||
untersuchungBaldFaellig: 0,
|
||||
leistungstestGueltig: 0,
|
||||
leistungstestAbgelaufen: 0,
|
||||
leistungstestBaldFaellig: 0,
|
||||
einsatzbereit: 0,
|
||||
};
|
||||
}
|
||||
try {
|
||||
const result = await pool.query(`
|
||||
SELECT
|
||||
|
||||
Reference in New Issue
Block a user