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
This commit is contained in:
Jp
2026-01-31 09:00:26 +08:00
parent 0fa0343798
commit f521970a65
174 changed files with 7205 additions and 1633 deletions

7
dist/models/api-cache.model.d.ts vendored Normal file
View File

@@ -0,0 +1,7 @@
import { Model } from 'sequelize-typescript';
export declare class APICache extends Model {
query: string;
api_source: string;
response_json: string;
cached_at: Date;
}

36
dist/models/api-cache.model.js vendored Normal file
View File

@@ -0,0 +1,36 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.APICache = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
let APICache = class APICache extends sequelize_typescript_1.Model {
};
exports.APICache = APICache;
__decorate([
(0, sequelize_typescript_1.Column)({ unique: true, allowNull: false }),
__metadata("design:type", String)
], APICache.prototype, "query", void 0);
__decorate([
sequelize_typescript_1.Column,
__metadata("design:type", String)
], APICache.prototype, "api_source", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
__metadata("design:type", String)
], APICache.prototype, "response_json", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: sequelize_typescript_1.DataType.NOW }),
__metadata("design:type", Date)
], APICache.prototype, "cached_at", void 0);
exports.APICache = APICache = __decorate([
sequelize_typescript_1.Table
], APICache);
//# sourceMappingURL=api-cache.model.js.map

1
dist/models/api-cache.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"api-cache.model.js","sourceRoot":"","sources":["../../src/models/api-cache.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAsE;AAG/D,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,4BAAK;CAYlC,CAAA;AAZY,4BAAQ;AAEnB;IADC,IAAA,6BAAM,EAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;uCAC7B;AAGd;IADC,6BAAM;;4CACY;AAGnB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;+CACA;AAGtB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,+BAAQ,CAAC,GAAG,EAAE,CAAC;8BAC5B,IAAI;2CAAC;mBAXL,QAAQ;IADpB,4BAAK;GACO,QAAQ,CAYpB"}

15
dist/models/daily-summary.model.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
import { Model } from 'sequelize-typescript';
import { User } from './user.model';
export declare class DailySummary extends Model {
UserId: number;
user: User;
date: Date;
total_calories: number;
total_protein_g: number;
total_carbs_g: number;
total_fat_g: number;
total_water_ml: number;
calories_remaining: number;
weight_kg: number;
notes: string;
}

66
dist/models/daily-summary.model.js vendored Normal file
View File

@@ -0,0 +1,66 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DailySummary = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const user_model_1 = require("./user.model");
let DailySummary = class DailySummary extends sequelize_typescript_1.Model {
};
exports.DailySummary = DailySummary;
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => user_model_1.User),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], DailySummary.prototype, "UserId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => user_model_1.User),
__metadata("design:type", user_model_1.User)
], DailySummary.prototype, "user", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DATEONLY, allowNull: false }),
__metadata("design:type", Date)
], DailySummary.prototype, "date", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], DailySummary.prototype, "total_calories", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], DailySummary.prototype, "total_protein_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], DailySummary.prototype, "total_carbs_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], DailySummary.prototype, "total_fat_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: 0 }),
__metadata("design:type", Number)
], DailySummary.prototype, "total_water_ml", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], DailySummary.prototype, "calories_remaining", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], DailySummary.prototype, "weight_kg", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
__metadata("design:type", String)
], DailySummary.prototype, "notes", void 0);
exports.DailySummary = DailySummary = __decorate([
sequelize_typescript_1.Table
], DailySummary);
//# sourceMappingURL=daily-summary.model.js.map

View File

@@ -0,0 +1 @@
{"version":3,"file":"daily-summary.model.js","sourceRoot":"","sources":["../../src/models/daily-summary.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6F;AAC7F,6CAAoC;AAG7B,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,4BAAK;CAkCtC,CAAA;AAlCY,oCAAY;AAGvB;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;IACtB,6BAAM;;4CACQ;AAGf;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;8BAChB,iBAAI;0CAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;8BAChD,IAAI;0CAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;oDAC3B;AAGvB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;qDAC1B;AAGxB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;mDAC5B;AAGtB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;iDAC9B;AAGpB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;oDACL;AAGvB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;wDACI;AAG3B;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;+CACL;AAGlB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;2CACR;uBAjCH,YAAY;IADxB,4BAAK;GACO,YAAY,CAkCxB"}

24
dist/models/food-item.model.d.ts vendored Normal file
View File

@@ -0,0 +1,24 @@
import { Model } from 'sequelize-typescript';
import { MealFood } from './meal-food.model';
import { PlannedFood } from './planned-food.model';
export declare class FoodItem extends Model {
name: string;
name_tagalog: string;
category: string;
calories: number;
protein_g: number;
carbs_g: number;
fat_g: number;
fiber_g: number;
sugar_g: number;
sodium_mg: number;
serving_size_g: number;
serving_description: string;
source: string;
is_filipino: boolean;
is_favorite: boolean;
api_data: string;
last_updated: Date;
mealFoods: MealFood[];
plannedFoods: PlannedFood[];
}

98
dist/models/food-item.model.js vendored Normal file
View File

@@ -0,0 +1,98 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.FoodItem = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const meal_food_model_1 = require("./meal-food.model");
const planned_food_model_1 = require("./planned-food.model");
let FoodItem = class FoodItem extends sequelize_typescript_1.Model {
};
exports.FoodItem = FoodItem;
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: false }),
__metadata("design:type", String)
], FoodItem.prototype, "name", void 0);
__decorate([
sequelize_typescript_1.Column,
__metadata("design:type", String)
], FoodItem.prototype, "name_tagalog", void 0);
__decorate([
sequelize_typescript_1.Column,
__metadata("design:type", String)
], FoodItem.prototype, "category", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, allowNull: false }),
__metadata("design:type", Number)
], FoodItem.prototype, "calories", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], FoodItem.prototype, "protein_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], FoodItem.prototype, "carbs_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], FoodItem.prototype, "fat_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], FoodItem.prototype, "fiber_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], FoodItem.prototype, "sugar_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0 }),
__metadata("design:type", Number)
], FoodItem.prototype, "sodium_mg", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 100 }),
__metadata("design:type", Number)
], FoodItem.prototype, "serving_size_g", void 0);
__decorate([
sequelize_typescript_1.Column,
__metadata("design:type", String)
], FoodItem.prototype, "serving_description", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: 'manual' }),
__metadata("design:type", String)
], FoodItem.prototype, "source", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: false }),
__metadata("design:type", Boolean)
], FoodItem.prototype, "is_filipino", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: false }),
__metadata("design:type", Boolean)
], FoodItem.prototype, "is_favorite", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
__metadata("design:type", String)
], FoodItem.prototype, "api_data", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: sequelize_typescript_1.DataType.NOW }),
__metadata("design:type", Date)
], FoodItem.prototype, "last_updated", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => meal_food_model_1.MealFood),
__metadata("design:type", Array)
], FoodItem.prototype, "mealFoods", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => planned_food_model_1.PlannedFood),
__metadata("design:type", Array)
], FoodItem.prototype, "plannedFoods", void 0);
exports.FoodItem = FoodItem = __decorate([
sequelize_typescript_1.Table
], FoodItem);
//# sourceMappingURL=food-item.model.js.map

1
dist/models/food-item.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"food-item.model.js","sourceRoot":"","sources":["../../src/models/food-item.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA+E;AAC/E,uDAA6C;AAC7C,6DAAmD;AAG5C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,4BAAK;CAyDlC,CAAA;AAzDY,4BAAQ;AAEnB;IADC,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;sCAChB;AAGb;IADC,6BAAM;;8CACc;AAGrB;IADC,6BAAM;;0CACU;AAGjB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;0CAClC;AAGjB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;2CAChC;AAGlB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;yCAClC;AAGhB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;uCACpC;AAGd;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;yCAClC;AAGhB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;yCAClC;AAGhB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;;2CAChC;AAGlB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;;gDAC7B;AAGvB;IADC,6BAAM;;qDACqB;AAG5B;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;;wCACpB;AAGf;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;;6CACX;AAGrB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;;6CACX;AAGrB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;0CACL;AAGjB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,+BAAQ,CAAC,GAAG,EAAE,CAAC;8BACzB,IAAI;8CAAC;AAGnB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;;2CACF;AAGtB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,gCAAW,CAAC;;8CACC;mBAxDjB,QAAQ;IADpB,4BAAK;GACO,QAAQ,CAyDpB"}

15
dist/models/meal-food.model.d.ts vendored Normal file
View File

@@ -0,0 +1,15 @@
import { Model } from 'sequelize-typescript';
import { Meal } from './meal.model';
import { FoodItem } from './food-item.model';
export declare class MealFood extends Model {
MealId: number;
meal: Meal;
FoodItemId: number;
foodItem: FoodItem;
quantity: number;
quantity_grams: number;
calories_consumed: number;
protein_consumed: number;
carbs_consumed: number;
fat_consumed: number;
}

64
dist/models/meal-food.model.js vendored Normal file
View File

@@ -0,0 +1,64 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MealFood = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const meal_model_1 = require("./meal.model");
const food_item_model_1 = require("./food-item.model");
let MealFood = class MealFood extends sequelize_typescript_1.Model {
};
exports.MealFood = MealFood;
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => meal_model_1.Meal),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], MealFood.prototype, "MealId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => meal_model_1.Meal),
__metadata("design:type", meal_model_1.Meal)
], MealFood.prototype, "meal", void 0);
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => food_item_model_1.FoodItem),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], MealFood.prototype, "FoodItemId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => food_item_model_1.FoodItem),
__metadata("design:type", food_item_model_1.FoodItem)
], MealFood.prototype, "foodItem", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, allowNull: false, defaultValue: 1.0 }),
__metadata("design:type", Number)
], MealFood.prototype, "quantity", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], MealFood.prototype, "quantity_grams", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], MealFood.prototype, "calories_consumed", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], MealFood.prototype, "protein_consumed", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], MealFood.prototype, "carbs_consumed", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], MealFood.prototype, "fat_consumed", void 0);
exports.MealFood = MealFood = __decorate([
sequelize_typescript_1.Table
], MealFood);
//# sourceMappingURL=meal-food.model.js.map

1
dist/models/meal-food.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"meal-food.model.js","sourceRoot":"","sources":["../../src/models/meal-food.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6F;AAC7F,6CAAoC;AACpC,uDAA6C;AAGtC,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,4BAAK;CAgClC,CAAA;AAhCY,4BAAQ;AAGnB;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;IACtB,6BAAM;;wCACQ;AAGf;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;8BAChB,iBAAI;sCAAC;AAIX;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;IAC1B,6BAAM;;4CACY;AAGnB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;8BAChB,0BAAQ;0CAAC;AAGnB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;;0CACrD;AAGjB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;gDACA;AAGvB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;mDACG;AAG1B;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;kDACE;AAGzB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;gDACA;AAGvB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;8CACF;mBA/BV,QAAQ;IADpB,4BAAK;GACO,QAAQ,CAgCpB"}

12
dist/models/meal-plan.model.d.ts vendored Normal file
View File

@@ -0,0 +1,12 @@
import { Model } from 'sequelize-typescript';
import { User } from './user.model';
import { PlannedFood } from './planned-food.model';
export declare class MealPlan extends Model {
UserId: number;
user: User;
date: Date;
meal_type: string;
is_completed: boolean;
notes: string;
plannedFoods: PlannedFood[];
}

51
dist/models/meal-plan.model.js vendored Normal file
View File

@@ -0,0 +1,51 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.MealPlan = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const user_model_1 = require("./user.model");
const planned_food_model_1 = require("./planned-food.model");
let MealPlan = class MealPlan extends sequelize_typescript_1.Model {
};
exports.MealPlan = MealPlan;
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => user_model_1.User),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], MealPlan.prototype, "UserId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => user_model_1.User),
__metadata("design:type", user_model_1.User)
], MealPlan.prototype, "user", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DATEONLY, allowNull: false }),
__metadata("design:type", Date)
], MealPlan.prototype, "date", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: false }),
__metadata("design:type", String)
], MealPlan.prototype, "meal_type", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: false }),
__metadata("design:type", Boolean)
], MealPlan.prototype, "is_completed", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
__metadata("design:type", String)
], MealPlan.prototype, "notes", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => planned_food_model_1.PlannedFood),
__metadata("design:type", Array)
], MealPlan.prototype, "plannedFoods", void 0);
exports.MealPlan = MealPlan = __decorate([
sequelize_typescript_1.Table
], MealPlan);
//# sourceMappingURL=meal-plan.model.js.map

1
dist/models/meal-plan.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"meal-plan.model.js","sourceRoot":"","sources":["../../src/models/meal-plan.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAsG;AACtG,6CAAoC;AACpC,6DAAmD;AAG5C,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,4BAAK;CAsBlC,CAAA;AAtBY,4BAAQ;AAGnB;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;IACtB,6BAAM;;wCACQ;AAGf;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;8BAChB,iBAAI;sCAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;8BAChD,IAAI;sCAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;2CACX;AAGlB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,KAAK,EAAE,CAAC;;8CACV;AAGtB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;uCACR;AAGd;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,gCAAW,CAAC;;8CACC;mBArBjB,QAAQ;IADpB,4BAAK;GACO,QAAQ,CAsBpB"}

12
dist/models/meal.model.d.ts vendored Normal file
View File

@@ -0,0 +1,12 @@
import { Model } from 'sequelize-typescript';
import { User } from './user.model';
import { MealFood } from './meal-food.model';
export declare class Meal extends Model {
UserId: number;
user: User;
date: Date;
meal_type: string;
time: string;
notes: string;
mealFoods: MealFood[];
}

51
dist/models/meal.model.js vendored Normal file
View File

@@ -0,0 +1,51 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Meal = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const user_model_1 = require("./user.model");
const meal_food_model_1 = require("./meal-food.model");
let Meal = class Meal extends sequelize_typescript_1.Model {
};
exports.Meal = Meal;
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => user_model_1.User),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], Meal.prototype, "UserId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => user_model_1.User),
__metadata("design:type", user_model_1.User)
], Meal.prototype, "user", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DATEONLY, allowNull: false, defaultValue: sequelize_typescript_1.DataType.NOW }),
__metadata("design:type", Date)
], Meal.prototype, "date", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: false }),
__metadata("design:type", String)
], Meal.prototype, "meal_type", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TIME),
__metadata("design:type", String)
], Meal.prototype, "time", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
__metadata("design:type", String)
], Meal.prototype, "notes", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => meal_food_model_1.MealFood),
__metadata("design:type", Array)
], Meal.prototype, "mealFoods", void 0);
exports.Meal = Meal = __decorate([
sequelize_typescript_1.Table
], Meal);
//# sourceMappingURL=meal.model.js.map

1
dist/models/meal.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"meal.model.js","sourceRoot":"","sources":["../../src/models/meal.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAsG;AACtG,6CAAoC;AACpC,uDAA6C;AAGtC,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,4BAAK;CAsB9B,CAAA;AAtBY,oBAAI;AAGf;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;IACtB,6BAAM;;oCACQ;AAGf;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;8BAChB,iBAAI;kCAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,+BAAQ,CAAC,GAAG,EAAE,CAAC;8BAC5E,IAAI;kCAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;uCACX;AAGlB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;kCACT;AAGb;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;mCACR;AAGd;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;;uCACF;eArBX,IAAI;IADhB,4BAAK;GACO,IAAI,CAsBhB"}

10
dist/models/planned-food.model.d.ts vendored Normal file
View File

@@ -0,0 +1,10 @@
import { Model } from 'sequelize-typescript';
import { MealPlan } from './meal-plan.model';
import { FoodItem } from './food-item.model';
export declare class PlannedFood extends Model {
MealPlanId: number;
mealPlan: MealPlan;
FoodItemId: number;
foodItem: FoodItem;
quantity: number;
}

44
dist/models/planned-food.model.js vendored Normal file
View File

@@ -0,0 +1,44 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.PlannedFood = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const meal_plan_model_1 = require("./meal-plan.model");
const food_item_model_1 = require("./food-item.model");
let PlannedFood = class PlannedFood extends sequelize_typescript_1.Model {
};
exports.PlannedFood = PlannedFood;
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => meal_plan_model_1.MealPlan),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], PlannedFood.prototype, "MealPlanId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => meal_plan_model_1.MealPlan),
__metadata("design:type", meal_plan_model_1.MealPlan)
], PlannedFood.prototype, "mealPlan", void 0);
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => food_item_model_1.FoodItem),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], PlannedFood.prototype, "FoodItemId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => food_item_model_1.FoodItem),
__metadata("design:type", food_item_model_1.FoodItem)
], PlannedFood.prototype, "foodItem", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, allowNull: false, defaultValue: 1.0 }),
__metadata("design:type", Number)
], PlannedFood.prototype, "quantity", void 0);
exports.PlannedFood = PlannedFood = __decorate([
sequelize_typescript_1.Table
], PlannedFood);
//# sourceMappingURL=planned-food.model.js.map

1
dist/models/planned-food.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"planned-food.model.js","sourceRoot":"","sources":["../../src/models/planned-food.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6F;AAC7F,uDAA6C;AAC7C,uDAA6C;AAGtC,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,4BAAK;CAiBrC,CAAA;AAjBY,kCAAW;AAGtB;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;IAC1B,6BAAM;;+CACY;AAGnB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;8BAChB,0BAAQ;6CAAC;AAInB;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;IAC1B,6BAAM;;+CACY;AAGnB;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;8BAChB,0BAAQ;6CAAC;AAGnB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;;6CACrD;sBAhBN,WAAW;IADvB,4BAAK;GACO,WAAW,CAiBvB"}

13
dist/models/user-goal.model.d.ts vendored Normal file
View File

@@ -0,0 +1,13 @@
import { Model } from 'sequelize-typescript';
import { User } from './user.model';
export declare class UserGoal extends Model {
UserId: number;
user: User;
goal_type: string;
target_weight_kg: number;
weekly_goal_kg: number;
target_protein_g: number;
target_carbs_g: number;
target_fat_g: number;
target_water_ml: number;
}

58
dist/models/user-goal.model.js vendored Normal file
View File

@@ -0,0 +1,58 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserGoal = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const user_model_1 = require("./user.model");
let UserGoal = class UserGoal extends sequelize_typescript_1.Model {
};
exports.UserGoal = UserGoal;
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => user_model_1.User),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], UserGoal.prototype, "UserId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => user_model_1.User),
__metadata("design:type", user_model_1.User)
], UserGoal.prototype, "user", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: 'recomp' }),
__metadata("design:type", String)
], UserGoal.prototype, "goal_type", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], UserGoal.prototype, "target_weight_kg", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, defaultValue: 0.5 }),
__metadata("design:type", Number)
], UserGoal.prototype, "weekly_goal_kg", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: 150 }),
__metadata("design:type", Number)
], UserGoal.prototype, "target_protein_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: 200 }),
__metadata("design:type", Number)
], UserGoal.prototype, "target_carbs_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: 60 }),
__metadata("design:type", Number)
], UserGoal.prototype, "target_fat_g", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: 2000 }),
__metadata("design:type", Number)
], UserGoal.prototype, "target_water_ml", void 0);
exports.UserGoal = UserGoal = __decorate([
sequelize_typescript_1.Table
], UserGoal);
//# sourceMappingURL=user-goal.model.js.map

1
dist/models/user-goal.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"user-goal.model.js","sourceRoot":"","sources":["../../src/models/user-goal.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6F;AAC7F,6CAAoC;AAG7B,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,4BAAK;CA4BlC,CAAA;AA5BY,4BAAQ;AAGnB;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;IACtB,6BAAM;;wCACQ;AAGf;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;8BAChB,iBAAI;sCAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;;2CACjB;AAGlB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;kDACE;AAGzB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;;gDAC7B;AAGvB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;;kDACL;AAGzB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,GAAG,EAAE,CAAC;;gDACP;AAGvB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC;;8CACR;AAGrB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;;iDACP;mBA3Bb,QAAQ;IADpB,4BAAK;GACO,QAAQ,CA4BpB"}

26
dist/models/user.model.d.ts vendored Normal file
View File

@@ -0,0 +1,26 @@
import { Model } from 'sequelize-typescript';
import { Meal } from './meal.model';
import { WeightLog } from './weight-log.model';
import { WaterLog } from './water-log.model';
import { MealPlan } from './meal-plan.model';
import { UserGoal } from './user-goal.model';
import { DailySummary } from './daily-summary.model';
export declare class User extends Model {
username: string;
password: string;
name: string;
age: number;
gender: string;
height_cm: number;
weight_kg: number;
activity_level: string;
target_daily_calories: number;
meals: Meal[];
weightLogs: WeightLog[];
waterLogs: WaterLog[];
mealPlans: MealPlan[];
goal: UserGoal;
dailySummaries: DailySummary[];
validPassword(password: string): boolean;
static hashPassword(user: User): Promise<void>;
}

101
dist/models/user.model.js vendored Normal file
View File

@@ -0,0 +1,101 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.User = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const bcrypt = require("bcryptjs");
const meal_model_1 = require("./meal.model");
const weight_log_model_1 = require("./weight-log.model");
const water_log_model_1 = require("./water-log.model");
const meal_plan_model_1 = require("./meal-plan.model");
const user_goal_model_1 = require("./user-goal.model");
const daily_summary_model_1 = require("./daily-summary.model");
let User = class User extends sequelize_typescript_1.Model {
validPassword(password) {
return bcrypt.compareSync(password, this.password);
}
static async hashPassword(user) {
if (user.password) {
user.password = await bcrypt.hash(user.password, 10);
}
}
};
exports.User = User;
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.STRING(80), unique: true, allowNull: false }),
__metadata("design:type", String)
], User.prototype, "username", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.STRING(200), allowNull: false }),
__metadata("design:type", String)
], User.prototype, "password", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(100)),
__metadata("design:type", String)
], User.prototype, "name", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.INTEGER),
__metadata("design:type", Number)
], User.prototype, "age", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.STRING(10)),
__metadata("design:type", String)
], User.prototype, "gender", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], User.prototype, "height_cm", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], User.prototype, "weight_kg", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.STRING(20), defaultValue: 'moderate' }),
__metadata("design:type", String)
], User.prototype, "activity_level", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.INTEGER, defaultValue: 2000 }),
__metadata("design:type", Number)
], User.prototype, "target_daily_calories", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => meal_model_1.Meal),
__metadata("design:type", Array)
], User.prototype, "meals", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => weight_log_model_1.WeightLog),
__metadata("design:type", Array)
], User.prototype, "weightLogs", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => water_log_model_1.WaterLog),
__metadata("design:type", Array)
], User.prototype, "waterLogs", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => meal_plan_model_1.MealPlan),
__metadata("design:type", Array)
], User.prototype, "mealPlans", void 0);
__decorate([
(0, sequelize_typescript_1.HasOne)(() => user_goal_model_1.UserGoal),
__metadata("design:type", user_goal_model_1.UserGoal)
], User.prototype, "goal", void 0);
__decorate([
(0, sequelize_typescript_1.HasMany)(() => daily_summary_model_1.DailySummary),
__metadata("design:type", Array)
], User.prototype, "dailySummaries", void 0);
__decorate([
sequelize_typescript_1.BeforeCreate,
__metadata("design:type", Function),
__metadata("design:paramtypes", [User]),
__metadata("design:returntype", Promise)
], User, "hashPassword", null);
exports.User = User = __decorate([
sequelize_typescript_1.Table
], User);
//# sourceMappingURL=user.model.js.map

1
dist/models/user.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"user.model.js","sourceRoot":"","sources":["../../src/models/user.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAqG;AACrG,mCAAmC;AACnC,6CAAoC;AACpC,yDAA+C;AAC/C,uDAA6C;AAC7C,uDAA6C;AAC7C,uDAA6C;AAC7C,+DAAqD;AAG9C,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,4BAAK;IA8C7B,aAAa,CAAC,QAAgB;QAC5B,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAGY,AAAb,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAU;QAClC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;CACF,CAAA;AAxDY,oBAAI;AAEf;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;sCACrD;AAGjB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;sCACxC;AAGjB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;;kCAChB;AAGb;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,OAAO,CAAC;;iCACb;AAGZ;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;;oCACb;AAGf;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;uCACL;AAGlB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;uCACL;AAGlB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;;4CACzC;AAGvB;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;;mDACzB;AAG9B;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;;mCACN;AAGd;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,4BAAS,CAAC;;wCACD;AAGxB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;;uCACF;AAGtB;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;;uCACF;AAGtB;IADC,IAAA,6BAAM,EAAC,GAAG,EAAE,CAAC,0BAAQ,CAAC;8BACjB,0BAAQ;kCAAC;AAGf;IADC,IAAA,8BAAO,EAAC,GAAG,EAAE,CAAC,kCAAY,CAAC;;4CACG;AAOlB;IADZ,mCAAY;;qCACmB,IAAI;;8BAInC;eAvDU,IAAI;IADhB,4BAAK;GACO,IAAI,CAwDhB"}

9
dist/models/water-log.model.d.ts vendored Normal file
View File

@@ -0,0 +1,9 @@
import { Model } from 'sequelize-typescript';
import { User } from './user.model';
export declare class WaterLog extends Model {
UserId: number;
user: User;
date: Date;
amount_ml: number;
time: string;
}

42
dist/models/water-log.model.js vendored Normal file
View File

@@ -0,0 +1,42 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WaterLog = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const user_model_1 = require("./user.model");
let WaterLog = class WaterLog extends sequelize_typescript_1.Model {
};
exports.WaterLog = WaterLog;
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => user_model_1.User),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], WaterLog.prototype, "UserId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => user_model_1.User),
__metadata("design:type", user_model_1.User)
], WaterLog.prototype, "user", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DATEONLY, allowNull: false, defaultValue: sequelize_typescript_1.DataType.NOW }),
__metadata("design:type", Date)
], WaterLog.prototype, "date", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ allowNull: false }),
__metadata("design:type", Number)
], WaterLog.prototype, "amount_ml", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: sequelize_typescript_1.DataType.NOW }),
__metadata("design:type", String)
], WaterLog.prototype, "time", void 0);
exports.WaterLog = WaterLog = __decorate([
sequelize_typescript_1.Table
], WaterLog);
//# sourceMappingURL=water-log.model.js.map

1
dist/models/water-log.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"water-log.model.js","sourceRoot":"","sources":["../../src/models/water-log.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6F;AAC7F,6CAAoC;AAG7B,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,4BAAK;CAgBlC,CAAA;AAhBY,4BAAQ;AAGnB;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;IACtB,6BAAM;;wCACQ;AAGf;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;8BAChB,iBAAI;sCAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,+BAAQ,CAAC,GAAG,EAAE,CAAC;8BAC5E,IAAI;sCAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;2CACX;AAGlB;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,+BAAQ,CAAC,GAAG,EAAE,CAAC;;sCAC1B;mBAfF,QAAQ;IADpB,4BAAK;GACO,QAAQ,CAgBpB"}

11
dist/models/weight-log.model.d.ts vendored Normal file
View File

@@ -0,0 +1,11 @@
import { Model } from 'sequelize-typescript';
import { User } from './user.model';
export declare class WeightLog extends Model {
UserId: number;
user: User;
date: Date;
weight_kg: number;
body_fat_percentage: number;
notes: string;
time: string;
}

50
dist/models/weight-log.model.js vendored Normal file
View File

@@ -0,0 +1,50 @@
"use strict";
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WeightLog = void 0;
const sequelize_typescript_1 = require("sequelize-typescript");
const user_model_1 = require("./user.model");
let WeightLog = class WeightLog extends sequelize_typescript_1.Model {
};
exports.WeightLog = WeightLog;
__decorate([
(0, sequelize_typescript_1.ForeignKey)(() => user_model_1.User),
sequelize_typescript_1.Column,
__metadata("design:type", Number)
], WeightLog.prototype, "UserId", void 0);
__decorate([
(0, sequelize_typescript_1.BelongsTo)(() => user_model_1.User),
__metadata("design:type", user_model_1.User)
], WeightLog.prototype, "user", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.DATEONLY, allowNull: false, defaultValue: sequelize_typescript_1.DataType.NOW }),
__metadata("design:type", Date)
], WeightLog.prototype, "date", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ type: sequelize_typescript_1.DataType.FLOAT, allowNull: false }),
__metadata("design:type", Number)
], WeightLog.prototype, "weight_kg", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.FLOAT),
__metadata("design:type", Number)
], WeightLog.prototype, "body_fat_percentage", void 0);
__decorate([
(0, sequelize_typescript_1.Column)(sequelize_typescript_1.DataType.TEXT),
__metadata("design:type", String)
], WeightLog.prototype, "notes", void 0);
__decorate([
(0, sequelize_typescript_1.Column)({ defaultValue: sequelize_typescript_1.DataType.NOW }),
__metadata("design:type", String)
], WeightLog.prototype, "time", void 0);
exports.WeightLog = WeightLog = __decorate([
sequelize_typescript_1.Table
], WeightLog);
//# sourceMappingURL=weight-log.model.js.map

1
dist/models/weight-log.model.js.map vendored Normal file
View File

@@ -0,0 +1 @@
{"version":3,"file":"weight-log.model.js","sourceRoot":"","sources":["../../src/models/weight-log.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAA6F;AAC7F,6CAAoC;AAG7B,IAAM,SAAS,GAAf,MAAM,SAAU,SAAQ,4BAAK;CAsBnC,CAAA;AAtBY,8BAAS;AAGpB;IAFC,IAAA,iCAAU,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;IACtB,6BAAM;;yCACQ;AAGf;IADC,IAAA,gCAAS,EAAC,GAAG,EAAE,CAAC,iBAAI,CAAC;8BAChB,iBAAI;uCAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,+BAAQ,CAAC,GAAG,EAAE,CAAC;8BAC5E,IAAI;uCAAC;AAGX;IADC,IAAA,6BAAM,EAAC,EAAE,IAAI,EAAE,+BAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;;4CACjC;AAGlB;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,KAAK,CAAC;;sDACK;AAG5B;IADC,IAAA,6BAAM,EAAC,+BAAQ,CAAC,IAAI,CAAC;;wCACR;AAGd;IADC,IAAA,6BAAM,EAAC,EAAE,YAAY,EAAE,+BAAQ,CAAC,GAAG,EAAE,CAAC;;uCAC1B;oBArBF,SAAS;IADrB,4BAAK;GACO,SAAS,CAsBrB"}