Files
calorie_tracker_2/src/models/food-item.model.ts
Jp f521970a65 build: add TypeScript configuration and generate declaration files
- 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
2026-01-31 09:00:26 +08:00

64 lines
1.3 KiB
TypeScript

import { Column, Model, Table, HasMany, DataType } from 'sequelize-typescript';
import { MealFood } from './meal-food.model';
import { PlannedFood } from './planned-food.model';
@Table
export class FoodItem extends Model {
@Column({ allowNull: false })
name: string;
@Column
name_tagalog: string;
@Column
category: string;
@Column({ type: DataType.FLOAT, allowNull: false })
calories: number;
@Column({ type: DataType.FLOAT, defaultValue: 0 })
protein_g: number;
@Column({ type: DataType.FLOAT, defaultValue: 0 })
carbs_g: number;
@Column({ type: DataType.FLOAT, defaultValue: 0 })
fat_g: number;
@Column({ type: DataType.FLOAT, defaultValue: 0 })
fiber_g: number;
@Column({ type: DataType.FLOAT, defaultValue: 0 })
sugar_g: number;
@Column({ type: DataType.FLOAT, defaultValue: 0 })
sodium_mg: number;
@Column({ type: DataType.FLOAT, defaultValue: 100 })
serving_size_g: number;
@Column
serving_description: string;
@Column({ defaultValue: 'manual' })
source: string;
@Column({ defaultValue: false })
is_filipino: boolean;
@Column({ defaultValue: false })
is_favorite: boolean;
@Column(DataType.TEXT)
api_data: string;
@Column({ defaultValue: DataType.NOW })
last_updated: Date;
@HasMany(() => MealFood)
mealFoods: MealFood[];
@HasMany(() => PlannedFood)
plannedFoods: PlannedFood[];
}