mirror of
https://github.com/donpat1to/Schichtenplaner.git
synced 2025-12-01 06:55:45 +01:00
removed unnecessary comments
This commit is contained in:
@@ -64,7 +64,7 @@ export const login = async (req: Request, res: Response) => {
|
||||
return res.status(400).json({ error: 'E-Mail und Passwort sind erforderlich' });
|
||||
}
|
||||
|
||||
// UPDATED: Get user from database with role from employee_roles table
|
||||
// Get user from database with role from employee_roles table
|
||||
const user = await db.get<any>(
|
||||
`SELECT
|
||||
e.id, e.email, e.password, e.firstname, e.lastname,
|
||||
@@ -155,7 +155,7 @@ export const getCurrentUser = async (req: Request, res: Response) => {
|
||||
return res.status(401).json({ error: 'Nicht authentifiziert' });
|
||||
}
|
||||
|
||||
// UPDATED: Get user with role from employee_roles table
|
||||
// Get user with role from employee_roles table
|
||||
const user = await db.get<any>(
|
||||
`SELECT
|
||||
e.id, e.email, e.firstname, e.lastname,
|
||||
|
||||
@@ -53,7 +53,6 @@ export const requireRole = (roles: string[]) => {
|
||||
};
|
||||
};
|
||||
|
||||
// Add this function to your existing auth.ts
|
||||
export const getClientIP = (req: Request): string => {
|
||||
const trustedHeader = process.env.TRUSTED_PROXY_HEADER || 'x-forwarded-for';
|
||||
const forwarded = req.headers[trustedHeader];
|
||||
@@ -74,7 +73,6 @@ export const getClientIP = (req: Request): string => {
|
||||
return req.socket.remoteAddress || req.ip || 'unknown';
|
||||
};
|
||||
|
||||
// Add IP-based security checks
|
||||
export const ipSecurityCheck = (req: AuthRequest, res: Response, next: NextFunction): void => {
|
||||
const clientIP = getClientIP(req);
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@ function generateEmail(firstname: string, lastname: string): string {
|
||||
return `${cleanFirstname}.${cleanLastname}@sp.de`;
|
||||
}
|
||||
|
||||
// UPDATED: Validation for new employee model with employee types
|
||||
// Validation for new employee model with employee types
|
||||
export function validateEmployeeData(employee: CreateEmployeeRequest): string[] {
|
||||
const errors: string[] = [];
|
||||
|
||||
@@ -71,7 +71,7 @@ export function generateEmployeeEmail(firstname: string, lastname: string): stri
|
||||
return generateEmail(firstname, lastname);
|
||||
}
|
||||
|
||||
// UPDATED: Business logic helpers for new employee types
|
||||
// Business logic helpers for new employee types
|
||||
export const isManager = (employee: Employee): boolean =>
|
||||
employee.employeeType === 'manager';
|
||||
|
||||
@@ -90,7 +90,7 @@ export const isInternal = (employee: Employee): boolean =>
|
||||
export const isExternal = (employee: Employee): boolean =>
|
||||
employee.employeeType === 'guest';
|
||||
|
||||
// UPDATED: Trainee logic - now based on isTrainee field for personell type
|
||||
// Trainee logic - now based on isTrainee field for personell type
|
||||
export const isTrainee = (employee: Employee): boolean =>
|
||||
employee.employeeType === 'personell' && employee.isTrainee;
|
||||
|
||||
@@ -107,7 +107,7 @@ export const isMaintenance = (employee: Employee): boolean =>
|
||||
export const isUser = (employee: Employee): boolean =>
|
||||
employee.roles?.includes('user') || false;
|
||||
|
||||
// UPDATED: Work alone permission - managers and experienced personell can work alone
|
||||
// Work alone permission - managers and experienced personell can work alone
|
||||
export const canEmployeeWorkAlone = (employee: Employee): boolean =>
|
||||
employee.canWorkAlone && (isManager(employee) || isExperienced(employee));
|
||||
|
||||
@@ -134,7 +134,7 @@ export function validateAvailabilityData(availability: Omit<EmployeeAvailability
|
||||
return errors;
|
||||
}
|
||||
|
||||
// UPDATED: Helper to get employee type category
|
||||
// Helper to get employee type category
|
||||
export const getEmployeeCategory = (employee: Employee): 'internal' | 'external' => {
|
||||
return isInternal(employee) ? 'internal' : 'external';
|
||||
};
|
||||
|
||||
@@ -78,7 +78,7 @@ export function calculateTotalRequiredEmployees(plan: ShiftPlan): number {
|
||||
return plan.shifts.reduce((total, shift) => total + shift.requiredEmployees, 0);
|
||||
}
|
||||
|
||||
// UPDATED: Get scheduled shift by date and time slot
|
||||
// Get scheduled shift by date and time slot
|
||||
export function getScheduledShiftByDateAndTime(
|
||||
plan: ShiftPlan,
|
||||
date: string,
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
import { Employee } from './Employee.js';
|
||||
import { ShiftPlan } from './ShiftPlan.js';
|
||||
|
||||
// Updated Availability interface to match new schema
|
||||
// Availability interface
|
||||
export interface Availability {
|
||||
id: string;
|
||||
employeeId: string;
|
||||
|
||||
@@ -53,7 +53,7 @@ async function markMigrationAsApplied(migrationName: string) {
|
||||
);
|
||||
}
|
||||
|
||||
// UPDATED: Function to handle schema changes for the new employee type system
|
||||
// Function to handle schema changes for the new employee type system
|
||||
async function applySchemaUpdates() {
|
||||
console.log('🔄 Applying schema updates for new employee type system...');
|
||||
|
||||
@@ -80,7 +80,7 @@ async function applySchemaUpdates() {
|
||||
PRAGMA table_info(employees)
|
||||
`);
|
||||
|
||||
// FIXED: Check for employee_type column (not roles column)
|
||||
// Check for employee_type column (not roles column)
|
||||
const hasEmployeeType = employeesTableInfo.some((col: TableColumnInfo) => col.name === 'employee_type');
|
||||
const hasIsTrainee = employeesTableInfo.some((col: TableColumnInfo) => col.name === 'is_trainee');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user