- Add tsconfig.json for TypeScript compilation with declaration and source map generation - Generate .d.ts declaration files for all modules, services, controllers, and models - Update package.json with NestJS dependencies and TypeScript development tools - Include database files in the distribution output for persistence
55 lines
2.2 KiB
TypeScript
55 lines
2.2 KiB
TypeScript
import { User } from '../models/user.model';
|
|
import { FoodItem } from '../models/food-item.model';
|
|
import { Meal } from '../models/meal.model';
|
|
import { WaterLog } from '../models/water-log.model';
|
|
import { WeightLog } from '../models/weight-log.model';
|
|
import { MealPlan } from '../models/meal-plan.model';
|
|
import { PlannedFood } from '../models/planned-food.model';
|
|
import { DailySummary } from '../models/daily-summary.model';
|
|
export declare class UtilsService {
|
|
private userModel;
|
|
private foodItemModel;
|
|
private mealModel;
|
|
private waterLogModel;
|
|
private weightLogModel;
|
|
private mealPlanModel;
|
|
private plannedFoodModel;
|
|
private dailySummaryModel;
|
|
constructor(userModel: typeof User, foodItemModel: typeof FoodItem, mealModel: typeof Meal, waterLogModel: typeof WaterLog, weightLogModel: typeof WeightLog, mealPlanModel: typeof MealPlan, plannedFoodModel: typeof PlannedFood, dailySummaryModel: typeof DailySummary);
|
|
calculateBMR(weightKg: number, heightCm: number, age: number, gender: string): number;
|
|
calculateTDEE(bmr: number, activityLevel: string): number;
|
|
calculateMacroTargets(weightKg: number, goalType?: string): {
|
|
protein_g: number;
|
|
carbs_g: number;
|
|
fat_g: number;
|
|
};
|
|
calculateDailyTotals(userId: number, targetDate?: string | Date): Promise<{
|
|
calories: number;
|
|
protein: number;
|
|
carbs: number;
|
|
fat: number;
|
|
meals: any[];
|
|
}>;
|
|
calculateWaterTotal(userId: number, targetDate?: string | Date): Promise<{
|
|
total_ml: number;
|
|
logs: {
|
|
id: any;
|
|
amount_ml: number;
|
|
time: string;
|
|
}[];
|
|
}>;
|
|
getWeightTrend(userId: number, days?: number): Promise<{
|
|
date: Date;
|
|
weight_kg: number;
|
|
}[]>;
|
|
getCalorieTrend(userId: number, days?: number): Promise<any[]>;
|
|
updateDailySummary(userId: number, targetDate?: string | Date): Promise<DailySummary>;
|
|
getMacroPercentages(proteinG: number, carbsG: number, fatG: number): {
|
|
protein: number;
|
|
carbs: number;
|
|
fat: number;
|
|
};
|
|
suggestFoodsForMacros(remainingProtein: number, remainingCarbs: number, remainingFat: number): any[];
|
|
generateDailyMealPlan(userId: number, dateStr: string): Promise<boolean>;
|
|
}
|