feat(docker): add Docker support and enhance dashboard data
- Add Dockerfile and docker-compose.yml for containerized deployment - Update server to listen on all network interfaces for Docker compatibility - Add .dockerignore to exclude unnecessary files from build context - Enhance dashboard controller with additional user data, trends, and suggestions - Update package.json scripts for proper Docker build workflow
This commit is contained in:
18
dist/dashboard/dashboard.controller.d.ts
vendored
18
dist/dashboard/dashboard.controller.d.ts
vendored
@@ -9,6 +9,7 @@ export declare class DashboardController {
|
||||
constructor(utilsService: UtilsService, userGoalModel: typeof UserGoal, weightLogModel: typeof WeightLog);
|
||||
getDashboard(req: any, res: Response): Promise<{
|
||||
user: any;
|
||||
current_user: any;
|
||||
nutrition: {
|
||||
calories: number;
|
||||
protein: number;
|
||||
@@ -34,19 +35,16 @@ export declare class DashboardController {
|
||||
fat: number;
|
||||
water: number;
|
||||
};
|
||||
macroPercentages: {
|
||||
macro_percentages: {
|
||||
protein: number;
|
||||
carbs: number;
|
||||
fat: number;
|
||||
};
|
||||
} | {
|
||||
user?: undefined;
|
||||
nutrition?: undefined;
|
||||
water?: undefined;
|
||||
goals?: undefined;
|
||||
weightLogToday?: undefined;
|
||||
weightChange?: undefined;
|
||||
remaining?: undefined;
|
||||
macroPercentages?: undefined;
|
||||
suggestions: any[];
|
||||
calorie_trend: any[];
|
||||
weight_trend: {
|
||||
date: Date;
|
||||
weight_kg: number;
|
||||
}[];
|
||||
}>;
|
||||
}
|
||||
|
||||
26
dist/dashboard/dashboard.controller.js
vendored
26
dist/dashboard/dashboard.controller.js
vendored
@@ -61,22 +61,42 @@ let DashboardController = class DashboardController {
|
||||
fat: goals.target_fat_g - nutrition.fat,
|
||||
water: goals.target_water_ml - water.total_ml,
|
||||
};
|
||||
const macroPercentages = this.utilsService.getMacroPercentages(nutrition.protein, nutrition.carbs, nutrition.fat);
|
||||
const macro_percentages = this.utilsService.getMacroPercentages(nutrition.protein, nutrition.carbs, nutrition.fat);
|
||||
const suggestions = this.utilsService.suggestFoodsForMacros(remaining.protein, remaining.carbs, remaining.fat);
|
||||
const calorie_trend = await this.utilsService.getCalorieTrend(req.user.id);
|
||||
const weight_trend = await this.utilsService.getWeightTrend(req.user.id);
|
||||
return {
|
||||
user: req.user,
|
||||
current_user: req.user,
|
||||
nutrition,
|
||||
water,
|
||||
goals,
|
||||
weightLogToday,
|
||||
weightChange,
|
||||
remaining,
|
||||
macroPercentages,
|
||||
macro_percentages,
|
||||
suggestions,
|
||||
calorie_trend,
|
||||
weight_trend,
|
||||
};
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
req.flash('error_msg', 'Error loading dashboard');
|
||||
return {};
|
||||
return {
|
||||
user: req.user,
|
||||
current_user: req.user,
|
||||
nutrition: { calories: 0, protein: 0, carbs: 0, fat: 0, meals: [] },
|
||||
water: { total_ml: 0, logs: [] },
|
||||
goals: null,
|
||||
weightLogToday: null,
|
||||
weightChange: null,
|
||||
remaining: { calories: 0, protein: 0, carbs: 0, fat: 0, water: 0 },
|
||||
macro_percentages: { protein: 0, carbs: 0, fat: 0 },
|
||||
suggestions: [],
|
||||
calorie_trend: [],
|
||||
weight_trend: [],
|
||||
};
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
2
dist/dashboard/dashboard.controller.js.map
vendored
2
dist/dashboard/dashboard.controller.js.map
vendored
@@ -1 +1 @@
|
||||
{"version":3,"file":"dashboard.controller.js","sourceRoot":"","sources":["../../src/dashboard/dashboard.controller.ts"],"names":[],"mappings":"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"}
|
||||
{"version":3,"file":"dashboard.controller.js","sourceRoot":"","sources":["../../src/dashboard/dashboard.controller.ts"],"names":[],"mappings":"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"}
|
||||
Reference in New Issue
Block a user