90dc-core 1.19.3 → 1.19.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/package.json +1 -1
  2. package/dist/index.js +0 -43
  3. package/dist/index.js.map +0 -1
  4. package/dist/lib/Errors/AppError.js +0 -104
  5. package/dist/lib/Errors/AppError.js.map +0 -1
  6. package/dist/lib/Errors/Errors.js +0 -42
  7. package/dist/lib/Errors/Errors.js.map +0 -1
  8. package/dist/lib/classes/Database.js +0 -154
  9. package/dist/lib/classes/Database.js.map +0 -1
  10. package/dist/lib/classes/Redis.js +0 -63
  11. package/dist/lib/classes/Redis.js.map +0 -1
  12. package/dist/lib/clients/EmailClient.js +0 -188
  13. package/dist/lib/clients/EmailClient.js.map +0 -1
  14. package/dist/lib/clients/FirebasePushNotificationClient.js +0 -688
  15. package/dist/lib/clients/FirebasePushNotificationClient.js.map +0 -1
  16. package/dist/lib/clients/ImagesClient.js +0 -271
  17. package/dist/lib/clients/ImagesClient.js.map +0 -1
  18. package/dist/lib/clients/MailingClient.js +0 -84
  19. package/dist/lib/clients/MailingClient.js.map +0 -1
  20. package/dist/lib/clients/PushNotificationClient.js +0 -478
  21. package/dist/lib/clients/PushNotificationClient.js.map +0 -1
  22. package/dist/lib/clients/types/email.types.js +0 -3
  23. package/dist/lib/clients/types/email.types.js.map +0 -1
  24. package/dist/lib/clients/types/images.types.js +0 -3
  25. package/dist/lib/clients/types/images.types.js.map +0 -1
  26. package/dist/lib/clients/types/mailing.types.js +0 -3
  27. package/dist/lib/clients/types/mailing.types.js.map +0 -1
  28. package/dist/lib/config/ConfigValidator.js +0 -162
  29. package/dist/lib/config/ConfigValidator.js.map +0 -1
  30. package/dist/lib/controllers/BaseController.js +0 -64
  31. package/dist/lib/controllers/BaseController.js.map +0 -1
  32. package/dist/lib/db/migrations/20260330000000-create-user-progress-photos.js +0 -60
  33. package/dist/lib/db/migrations/20260330000000-create-user-progress-photos.js.map +0 -1
  34. package/dist/lib/dbmodels/coaching/Answer.js +0 -51
  35. package/dist/lib/dbmodels/coaching/Answer.js.map +0 -1
  36. package/dist/lib/dbmodels/coaching/ClientNote.js +0 -75
  37. package/dist/lib/dbmodels/coaching/ClientNote.js.map +0 -1
  38. package/dist/lib/dbmodels/coaching/ClientTag.js +0 -45
  39. package/dist/lib/dbmodels/coaching/ClientTag.js.map +0 -1
  40. package/dist/lib/dbmodels/coaching/Question.js +0 -60
  41. package/dist/lib/dbmodels/coaching/Question.js.map +0 -1
  42. package/dist/lib/dbmodels/coaching/Questionnaire.js +0 -39
  43. package/dist/lib/dbmodels/coaching/Questionnaire.js.map +0 -1
  44. package/dist/lib/dbmodels/coaching/QuestionnaireResponse.js +0 -42
  45. package/dist/lib/dbmodels/coaching/QuestionnaireResponse.js.map +0 -1
  46. package/dist/lib/dbmodels/coaching/WeeklyCheckIn.js +0 -69
  47. package/dist/lib/dbmodels/coaching/WeeklyCheckIn.js.map +0 -1
  48. package/dist/lib/dbmodels/coaching/WeightRecord.js +0 -49
  49. package/dist/lib/dbmodels/coaching/WeightRecord.js.map +0 -1
  50. package/dist/lib/dbmodels/diet/DietDay.js +0 -50
  51. package/dist/lib/dbmodels/diet/DietDay.js.map +0 -1
  52. package/dist/lib/dbmodels/diet/DietMeal.js +0 -74
  53. package/dist/lib/dbmodels/diet/DietMeal.js.map +0 -1
  54. package/dist/lib/dbmodels/diet/DietMealCompletion.js +0 -69
  55. package/dist/lib/dbmodels/diet/DietMealCompletion.js.map +0 -1
  56. package/dist/lib/dbmodels/diet/DietMealRecipe.js +0 -67
  57. package/dist/lib/dbmodels/diet/DietMealRecipe.js.map +0 -1
  58. package/dist/lib/dbmodels/diet/DietMealRecipeIngredient.js +0 -46
  59. package/dist/lib/dbmodels/diet/DietMealRecipeIngredient.js.map +0 -1
  60. package/dist/lib/dbmodels/diet/DietProgram.js +0 -98
  61. package/dist/lib/dbmodels/diet/DietProgram.js.map +0 -1
  62. package/dist/lib/dbmodels/diet/Ingredient.js +0 -88
  63. package/dist/lib/dbmodels/diet/Ingredient.js.map +0 -1
  64. package/dist/lib/dbmodels/diet/IngredientTag.js +0 -64
  65. package/dist/lib/dbmodels/diet/IngredientTag.js.map +0 -1
  66. package/dist/lib/dbmodels/diet/IngredientTags.js +0 -29
  67. package/dist/lib/dbmodels/diet/IngredientTags.js.map +0 -1
  68. package/dist/lib/dbmodels/diet/Recipe.js +0 -173
  69. package/dist/lib/dbmodels/diet/Recipe.js.map +0 -1
  70. package/dist/lib/dbmodels/diet/RecipeIngredient.js +0 -78
  71. package/dist/lib/dbmodels/diet/RecipeIngredient.js.map +0 -1
  72. package/dist/lib/dbmodels/diet/RecipeTag.js +0 -44
  73. package/dist/lib/dbmodels/diet/RecipeTag.js.map +0 -1
  74. package/dist/lib/dbmodels/diet/RecipeTags.js +0 -24
  75. package/dist/lib/dbmodels/diet/RecipeTags.js.map +0 -1
  76. package/dist/lib/dbmodels/diet/ShoppingList.js +0 -69
  77. package/dist/lib/dbmodels/diet/ShoppingList.js.map +0 -1
  78. package/dist/lib/dbmodels/diet/ShoppingListItem.js +0 -66
  79. package/dist/lib/dbmodels/diet/ShoppingListItem.js.map +0 -1
  80. package/dist/lib/dbmodels/diet/TranslatedRecipe.js +0 -122
  81. package/dist/lib/dbmodels/diet/TranslatedRecipe.js.map +0 -1
  82. package/dist/lib/dbmodels/diet/TranslatedRecipeTag.js +0 -47
  83. package/dist/lib/dbmodels/diet/TranslatedRecipeTag.js.map +0 -1
  84. package/dist/lib/dbmodels/diet/TranslatedRecipeTags.js +0 -24
  85. package/dist/lib/dbmodels/diet/TranslatedRecipeTags.js.map +0 -1
  86. package/dist/lib/dbmodels/diet/UserDietPreferences.js +0 -85
  87. package/dist/lib/dbmodels/diet/UserDietPreferences.js.map +0 -1
  88. package/dist/lib/dbmodels/gamification/Badge.js +0 -62
  89. package/dist/lib/dbmodels/gamification/Badge.js.map +0 -1
  90. package/dist/lib/dbmodels/gamification/StreaksLog.js +0 -37
  91. package/dist/lib/dbmodels/gamification/StreaksLog.js.map +0 -1
  92. package/dist/lib/dbmodels/gamification/TranslatedBadge.js +0 -45
  93. package/dist/lib/dbmodels/gamification/TranslatedBadge.js.map +0 -1
  94. package/dist/lib/dbmodels/gamification/xpAndLeaderboards/UserRankHistory.js +0 -48
  95. package/dist/lib/dbmodels/gamification/xpAndLeaderboards/UserRankHistory.js.map +0 -1
  96. package/dist/lib/dbmodels/gamification/xpAndLeaderboards/XpEvent.js +0 -53
  97. package/dist/lib/dbmodels/gamification/xpAndLeaderboards/XpEvent.js.map +0 -1
  98. package/dist/lib/dbmodels/gamification/xpAndLeaderboards/XpTransaction.js +0 -68
  99. package/dist/lib/dbmodels/gamification/xpAndLeaderboards/XpTransaction.js.map +0 -1
  100. package/dist/lib/dbmodels/index.js +0 -288
  101. package/dist/lib/dbmodels/index.js.map +0 -1
  102. package/dist/lib/dbmodels/nonconsprogram/NonConsumableProgram.d.ts +0 -32
  103. package/dist/lib/dbmodels/nonconsprogram/NonConsumableProgram.d.ts.map +0 -1
  104. package/dist/lib/dbmodels/nonconsprogram/NonConsumableProgram.js +0 -155
  105. package/dist/lib/dbmodels/nonconsprogram/NonConsumableProgram.js.map +0 -1
  106. package/dist/lib/dbmodels/nonconsprogram/NonConsumableProgramWebContent.d.ts +0 -22
  107. package/dist/lib/dbmodels/nonconsprogram/NonConsumableProgramWebContent.d.ts.map +0 -1
  108. package/dist/lib/dbmodels/nonconsprogram/NonConsumableProgramWebContent.js +0 -108
  109. package/dist/lib/dbmodels/nonconsprogram/NonConsumableProgramWebContent.js.map +0 -1
  110. package/dist/lib/dbmodels/nonconsprogram/TranslatedConsumableProgram.d.ts +0 -20
  111. package/dist/lib/dbmodels/nonconsprogram/TranslatedConsumableProgram.d.ts.map +0 -1
  112. package/dist/lib/dbmodels/nonconsprogram/TranslatedConsumableProgram.js +0 -97
  113. package/dist/lib/dbmodels/nonconsprogram/TranslatedConsumableProgram.js.map +0 -1
  114. package/dist/lib/dbmodels/nonconsprogram/TranslatedNonConsumableProgramWebContent.d.ts +0 -22
  115. package/dist/lib/dbmodels/nonconsprogram/TranslatedNonConsumableProgramWebContent.d.ts.map +0 -1
  116. package/dist/lib/dbmodels/nonconsprogram/TranslatedNonConsumableProgramWebContent.js +0 -115
  117. package/dist/lib/dbmodels/nonconsprogram/TranslatedNonConsumableProgramWebContent.js.map +0 -1
  118. package/dist/lib/dbmodels/nonconsprogram/UserNonConsumableProgram.d.ts +0 -7
  119. package/dist/lib/dbmodels/nonconsprogram/UserNonConsumableProgram.d.ts.map +0 -1
  120. package/dist/lib/dbmodels/nonconsprogram/UserNonConsumableProgram.js +0 -41
  121. package/dist/lib/dbmodels/nonconsprogram/UserNonConsumableProgram.js.map +0 -1
  122. package/dist/lib/dbmodels/notifications/NotificationModels.js +0 -38
  123. package/dist/lib/dbmodels/notifications/NotificationModels.js.map +0 -1
  124. package/dist/lib/dbmodels/notifications/TranslatedNotification.js +0 -45
  125. package/dist/lib/dbmodels/notifications/TranslatedNotification.js.map +0 -1
  126. package/dist/lib/dbmodels/program/Challenge.d.ts +0 -13
  127. package/dist/lib/dbmodels/program/Challenge.d.ts.map +0 -1
  128. package/dist/lib/dbmodels/program/Challenge.js +0 -63
  129. package/dist/lib/dbmodels/program/Challenge.js.map +0 -1
  130. package/dist/lib/dbmodels/program/ChallengeBlueprint.js +0 -75
  131. package/dist/lib/dbmodels/program/ChallengeBlueprint.js.map +0 -1
  132. package/dist/lib/dbmodels/program/CircularProgramDraft.js +0 -82
  133. package/dist/lib/dbmodels/program/CircularProgramDraft.js.map +0 -1
  134. package/dist/lib/dbmodels/program/CoachExerciseNote.js +0 -61
  135. package/dist/lib/dbmodels/program/CoachExerciseNote.js.map +0 -1
  136. package/dist/lib/dbmodels/program/CustomProgramBlueprint.js +0 -84
  137. package/dist/lib/dbmodels/program/CustomProgramBlueprint.js.map +0 -1
  138. package/dist/lib/dbmodels/program/CustomStrengthTest.js +0 -55
  139. package/dist/lib/dbmodels/program/CustomStrengthTest.js.map +0 -1
  140. package/dist/lib/dbmodels/program/CustomStrengthTestExercises.js +0 -69
  141. package/dist/lib/dbmodels/program/CustomStrengthTestExercises.js.map +0 -1
  142. package/dist/lib/dbmodels/program/CustomWorkoutBlueprint.js +0 -58
  143. package/dist/lib/dbmodels/program/CustomWorkoutBlueprint.js.map +0 -1
  144. package/dist/lib/dbmodels/program/Exercise.d.ts +0 -23
  145. package/dist/lib/dbmodels/program/Exercise.d.ts.map +0 -1
  146. package/dist/lib/dbmodels/program/Exercise.js +0 -101
  147. package/dist/lib/dbmodels/program/Exercise.js.map +0 -1
  148. package/dist/lib/dbmodels/program/ExerciseModels.d.ts +0 -28
  149. package/dist/lib/dbmodels/program/ExerciseModels.d.ts.map +0 -1
  150. package/dist/lib/dbmodels/program/ExerciseModels.js +0 -149
  151. package/dist/lib/dbmodels/program/ExerciseModels.js.map +0 -1
  152. package/dist/lib/dbmodels/program/Program.d.ts +0 -15
  153. package/dist/lib/dbmodels/program/Program.d.ts.map +0 -1
  154. package/dist/lib/dbmodels/program/Program.js +0 -76
  155. package/dist/lib/dbmodels/program/Program.js.map +0 -1
  156. package/dist/lib/dbmodels/program/ProgressEntry.d.ts +0 -26
  157. package/dist/lib/dbmodels/program/ProgressEntry.d.ts.map +0 -1
  158. package/dist/lib/dbmodels/program/ProgressEntry.js +0 -77
  159. package/dist/lib/dbmodels/program/ProgressEntry.js.map +0 -1
  160. package/dist/lib/dbmodels/program/RestDay.js +0 -33
  161. package/dist/lib/dbmodels/program/RestDay.js.map +0 -1
  162. package/dist/lib/dbmodels/program/StrengthTest.d.ts +0 -10
  163. package/dist/lib/dbmodels/program/StrengthTest.d.ts.map +0 -1
  164. package/dist/lib/dbmodels/program/StrengthTest.js +0 -39
  165. package/dist/lib/dbmodels/program/StrengthTest.js.map +0 -1
  166. package/dist/lib/dbmodels/program/StrengthTestExercise.d.ts +0 -15
  167. package/dist/lib/dbmodels/program/StrengthTestExercise.d.ts.map +0 -1
  168. package/dist/lib/dbmodels/program/StrengthTestExercise.js +0 -72
  169. package/dist/lib/dbmodels/program/StrengthTestExercise.js.map +0 -1
  170. package/dist/lib/dbmodels/program/StrengthTestSession.js +0 -73
  171. package/dist/lib/dbmodels/program/StrengthTestSession.js.map +0 -1
  172. package/dist/lib/dbmodels/program/Superset.d.ts +0 -13
  173. package/dist/lib/dbmodels/program/Superset.d.ts.map +0 -1
  174. package/dist/lib/dbmodels/program/Superset.js +0 -46
  175. package/dist/lib/dbmodels/program/Superset.js.map +0 -1
  176. package/dist/lib/dbmodels/program/ThirtyDayChallenge.js +0 -70
  177. package/dist/lib/dbmodels/program/ThirtyDayChallenge.js.map +0 -1
  178. package/dist/lib/dbmodels/program/ThirtyDayChallengeStrengthTest.js +0 -55
  179. package/dist/lib/dbmodels/program/ThirtyDayChallengeStrengthTest.js.map +0 -1
  180. package/dist/lib/dbmodels/program/TranslatedChallenge.d.ts +0 -15
  181. package/dist/lib/dbmodels/program/TranslatedChallenge.d.ts.map +0 -1
  182. package/dist/lib/dbmodels/program/TranslatedChallenge.js +0 -69
  183. package/dist/lib/dbmodels/program/TranslatedChallenge.js.map +0 -1
  184. package/dist/lib/dbmodels/program/TranslatedExerciseModel.d.ts +0 -25
  185. package/dist/lib/dbmodels/program/TranslatedExerciseModel.d.ts.map +0 -1
  186. package/dist/lib/dbmodels/program/TranslatedExerciseModel.js +0 -123
  187. package/dist/lib/dbmodels/program/TranslatedExerciseModel.js.map +0 -1
  188. package/dist/lib/dbmodels/program/TranslatedStrengthTest.d.ts +0 -12
  189. package/dist/lib/dbmodels/program/TranslatedStrengthTest.d.ts.map +0 -1
  190. package/dist/lib/dbmodels/program/TranslatedStrengthTest.js +0 -45
  191. package/dist/lib/dbmodels/program/TranslatedStrengthTest.js.map +0 -1
  192. package/dist/lib/dbmodels/program/TranslatedStrengthTestExercise.d.ts +0 -16
  193. package/dist/lib/dbmodels/program/TranslatedStrengthTestExercise.d.ts.map +0 -1
  194. package/dist/lib/dbmodels/program/TranslatedStrengthTestExercise.js +0 -78
  195. package/dist/lib/dbmodels/program/TranslatedStrengthTestExercise.js.map +0 -1
  196. package/dist/lib/dbmodels/program/UserChallenge.d.ts +0 -10
  197. package/dist/lib/dbmodels/program/UserChallenge.d.ts.map +0 -1
  198. package/dist/lib/dbmodels/program/UserChallenge.js +0 -47
  199. package/dist/lib/dbmodels/program/UserChallenge.js.map +0 -1
  200. package/dist/lib/dbmodels/program/UserExerciseNote.js +0 -61
  201. package/dist/lib/dbmodels/program/UserExerciseNote.js.map +0 -1
  202. package/dist/lib/dbmodels/program/UserStrengthTests.d.ts +0 -11
  203. package/dist/lib/dbmodels/program/UserStrengthTests.d.ts.map +0 -1
  204. package/dist/lib/dbmodels/program/UserStrengthTests.js +0 -54
  205. package/dist/lib/dbmodels/program/UserStrengthTests.js.map +0 -1
  206. package/dist/lib/dbmodels/program/Workout.d.ts +0 -14
  207. package/dist/lib/dbmodels/program/Workout.d.ts.map +0 -1
  208. package/dist/lib/dbmodels/program/Workout.js +0 -66
  209. package/dist/lib/dbmodels/program/Workout.js.map +0 -1
  210. package/dist/lib/dbmodels/program/WorkoutCompletion.js +0 -65
  211. package/dist/lib/dbmodels/program/WorkoutCompletion.js.map +0 -1
  212. package/dist/lib/dbmodels/program/WorkoutSession.js +0 -93
  213. package/dist/lib/dbmodels/program/WorkoutSession.js.map +0 -1
  214. package/dist/lib/dbmodels/subscription/Subscription.d.ts +0 -19
  215. package/dist/lib/dbmodels/subscription/Subscription.d.ts.map +0 -1
  216. package/dist/lib/dbmodels/subscription/Subscription.js +0 -91
  217. package/dist/lib/dbmodels/subscription/Subscription.js.map +0 -1
  218. package/dist/lib/dbmodels/subscription/SubscriptionEvent.js +0 -79
  219. package/dist/lib/dbmodels/subscription/SubscriptionEvent.js.map +0 -1
  220. package/dist/lib/dbmodels/subscription/SubscriptionLog.d.ts +0 -9
  221. package/dist/lib/dbmodels/subscription/SubscriptionLog.d.ts.map +0 -1
  222. package/dist/lib/dbmodels/subscription/SubscriptionLog.js +0 -42
  223. package/dist/lib/dbmodels/subscription/SubscriptionLog.js.map +0 -1
  224. package/dist/lib/dbmodels/subscription/SubscriptionRefund.js +0 -92
  225. package/dist/lib/dbmodels/subscription/SubscriptionRefund.js.map +0 -1
  226. package/dist/lib/dbmodels/user/DeviceTokens.js +0 -34
  227. package/dist/lib/dbmodels/user/DeviceTokens.js.map +0 -1
  228. package/dist/lib/dbmodels/user/PersistedUser.d.ts +0 -43
  229. package/dist/lib/dbmodels/user/PersistedUser.d.ts.map +0 -1
  230. package/dist/lib/dbmodels/user/PersistedUser.js +0 -237
  231. package/dist/lib/dbmodels/user/PersistedUser.js.map +0 -1
  232. package/dist/lib/dbmodels/user/UserAddons.js +0 -26
  233. package/dist/lib/dbmodels/user/UserAddons.js.map +0 -1
  234. package/dist/lib/dbmodels/user/UserBadges.js +0 -63
  235. package/dist/lib/dbmodels/user/UserBadges.js.map +0 -1
  236. package/dist/lib/dbmodels/user/UserCoach.js +0 -40
  237. package/dist/lib/dbmodels/user/UserCoach.js.map +0 -1
  238. package/dist/lib/dbmodels/user/UserDiscount.js +0 -24
  239. package/dist/lib/dbmodels/user/UserDiscount.js.map +0 -1
  240. package/dist/lib/dbmodels/user/UserOptions.js +0 -34
  241. package/dist/lib/dbmodels/user/UserOptions.js.map +0 -1
  242. package/dist/lib/dbmodels/user/UserProgressPhoto.js +0 -59
  243. package/dist/lib/dbmodels/user/UserProgressPhoto.js.map +0 -1
  244. package/dist/lib/dbmodels/user/UserStreaks.js +0 -64
  245. package/dist/lib/dbmodels/user/UserStreaks.js.map +0 -1
  246. package/dist/lib/dbmodels/user/UsersFriends.js +0 -46
  247. package/dist/lib/dbmodels/user/UsersFriends.js.map +0 -1
  248. package/dist/lib/enums/ProgramEnums.d.ts +0 -18
  249. package/dist/lib/enums/ProgramEnums.d.ts.map +0 -1
  250. package/dist/lib/enums/ProgramEnums.js +0 -22
  251. package/dist/lib/enums/ProgramEnums.js.map +0 -1
  252. package/dist/lib/enums/ProgramTemplates.js +0 -738
  253. package/dist/lib/enums/ProgramTemplates.js.map +0 -1
  254. package/dist/lib/middlewares/ErrorMiddleware.js +0 -141
  255. package/dist/lib/middlewares/ErrorMiddleware.js.map +0 -1
  256. package/dist/lib/middlewares/ValidationMiddleware.js +0 -24
  257. package/dist/lib/middlewares/ValidationMiddleware.js.map +0 -1
  258. package/dist/lib/models/BlueprintInterfaces.js +0 -3
  259. package/dist/lib/models/BlueprintInterfaces.js.map +0 -1
  260. package/dist/lib/models/ExerciseInterfaces.d.ts +0 -68
  261. package/dist/lib/models/ExerciseInterfaces.d.ts.map +0 -1
  262. package/dist/lib/models/ExerciseInterfaces.js +0 -3
  263. package/dist/lib/models/ExerciseInterfaces.js.map +0 -1
  264. package/dist/lib/models/NotificationInterfaces.js +0 -11
  265. package/dist/lib/models/NotificationInterfaces.js.map +0 -1
  266. package/dist/lib/models/ProgramInterfaces.js +0 -3
  267. package/dist/lib/models/ProgramInterfaces.js.map +0 -1
  268. package/dist/lib/models/UserInterfaces.js +0 -3
  269. package/dist/lib/models/UserInterfaces.js.map +0 -1
  270. package/dist/lib/models/WorkoutInterfaces.js +0 -3
  271. package/dist/lib/models/WorkoutInterfaces.js.map +0 -1
  272. package/dist/lib/scripts/cli.js +0 -82
  273. package/dist/lib/scripts/cli.js.map +0 -1
  274. package/dist/lib/scripts/populate-exercise-thumbnails.js +0 -64
  275. package/dist/lib/scripts/populate-exercise-thumbnails.js.map +0 -1
  276. package/dist/lib/scripts/setup-database.js +0 -43
  277. package/dist/lib/scripts/setup-database.js.map +0 -1
  278. package/dist/lib/scripts/verify-indexes.js +0 -94
  279. package/dist/lib/scripts/verify-indexes.js.map +0 -1
  280. package/dist/lib/testing/testFixtures.js +0 -520
  281. package/dist/lib/testing/testFixtures.js.map +0 -1
  282. package/dist/lib/testing/testHelpers.js +0 -149
  283. package/dist/lib/testing/testHelpers.js.map +0 -1
  284. package/dist/lib/utils/AuthenticationUtil.js +0 -481
  285. package/dist/lib/utils/AuthenticationUtil.js.map +0 -1
  286. package/dist/lib/utils/Logger.js +0 -242
  287. package/dist/lib/utils/Logger.js.map +0 -1
  288. package/dist/lib/utils/NotificationClient.js +0 -371
  289. package/dist/lib/utils/NotificationClient.js.map +0 -1
  290. package/dist/lib/utils/NotificationsUtil.js +0 -95
  291. package/dist/lib/utils/NotificationsUtil.js.map +0 -1
  292. package/dist/lib/utils/SecretManager.js +0 -107
  293. package/dist/lib/utils/SecretManager.js.map +0 -1
  294. package/dist/lib/utils/SentryUtil.js +0 -140
  295. package/dist/lib/utils/SentryUtil.js.map +0 -1
  296. package/dist/lib/utils/imageValidation.js +0 -31
  297. package/dist/lib/utils/imageValidation.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/coaching/Questionnaire.ts"],"sourcesContent":["import {\n Table, Model, Column, DataType, Default, PrimaryKey, Index, HasMany\n} from 'sequelize-typescript';\nimport { Question } from './Question.js';\nimport { QuestionnaireResponse } from './QuestionnaireResponse.js';\n\nexport enum QuestionnaireType {\n WEEKLY = 'weekly',\n ONBOARDING = 'onboarding',\n}\n\n@Table({ tableName: 'Questionnaire', timestamps: true })\nexport class Questionnaire extends Model<Questionnaire> {\n @PrimaryKey @Default(DataType.UUIDV4) @Column(DataType.UUID)\n declare uuid: string;\n\n @Index @Column(DataType.ENUM(...Object.values(QuestionnaireType)))\n declare type: QuestionnaireType;\n\n @HasMany(() => Question) declare questions?: Question[];\n @HasMany(() => QuestionnaireResponse) declare responses?: QuestionnaireResponse[];\n}"],"names":["Table","Model","Column","DataType","Default","PrimaryKey","Index","HasMany","Question","QuestionnaireResponse","QuestionnaireType","Questionnaire","UUIDV4","UUID","ENUM","values","tableName","timestamps"],"mappings":";;;;;;AAAA,SACIA,KAAK,EAAEC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,UAAU,EAAEC,KAAK,EAAEC,OAAO,QAChE,uBAAuB;AAC9B,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,qBAAqB,QAAQ,6BAA6B;AAEnE,OAAO,IAAA,AAAKC,2CAAAA;;;WAAAA;MAGX;AAGD,OAAO,MAAMC,sBAAsBV;AASnC;;;qBARkCW;oBAAyBC;;;;oBAG/BC,eAAeC;;;gBAGxBP;;;gBACAC;;;;QATVO,WAAW;QAAiBC,YAAY"}
@@ -1,42 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Table, Model, Column, DataType, Default, PrimaryKey, Index, ForeignKey, BelongsTo, HasMany } from "sequelize-typescript";
8
- import { Questionnaire } from "./Questionnaire.js";
9
- import { Answer } from "./Answer.js";
10
- export class QuestionnaireResponse extends Model {
11
- toJSON() {
12
- return super.toJSON();
13
- }
14
- }
15
- _ts_decorate([
16
- PrimaryKey,
17
- Default(DataType.UUIDV4),
18
- Column(DataType.UUID)
19
- ], QuestionnaireResponse.prototype, "uuid", void 0);
20
- _ts_decorate([
21
- ForeignKey(()=>Questionnaire),
22
- Index,
23
- Column(DataType.UUID)
24
- ], QuestionnaireResponse.prototype, "questionnaireUuid", void 0);
25
- _ts_decorate([
26
- BelongsTo(()=>Questionnaire)
27
- ], QuestionnaireResponse.prototype, "questionnaire", void 0);
28
- _ts_decorate([
29
- Index,
30
- Column(DataType.UUID)
31
- ], QuestionnaireResponse.prototype, "userUuid", void 0);
32
- _ts_decorate([
33
- HasMany(()=>Answer)
34
- ], QuestionnaireResponse.prototype, "answers", void 0);
35
- QuestionnaireResponse = _ts_decorate([
36
- Table({
37
- tableName: 'QuestionnaireResponse',
38
- timestamps: true
39
- })
40
- ], QuestionnaireResponse);
41
-
42
- //# sourceMappingURL=QuestionnaireResponse.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/coaching/QuestionnaireResponse.ts"],"sourcesContent":["import {\n Table, Model, Column, DataType, Default, PrimaryKey, Index,\n ForeignKey, BelongsTo, HasMany\n} from 'sequelize-typescript';\nimport { Questionnaire } from './Questionnaire.js';\nimport { Answer } from './Answer.js';\n\nexport interface QuestionnaireResponseAttributes {\n uuid: string;\n questionnaireUuid: string;\n userUuid: string;\n createdAt?: Date;\n updatedAt?: Date;\n}\n\nexport interface QuestionnaireResponseJSON extends QuestionnaireResponseAttributes {\n questionnaire?: Questionnaire;\n answers?: Answer[];\n}\n\n@Table({ tableName: 'QuestionnaireResponse', timestamps: true })\nexport class QuestionnaireResponse extends Model<QuestionnaireResponseAttributes> {\n @PrimaryKey @Default(DataType.UUIDV4) @Column(DataType.UUID)\n declare uuid: string;\n\n @ForeignKey(() => Questionnaire) @Index @Column(DataType.UUID)\n declare questionnaireUuid: string;\n\n @BelongsTo(() => Questionnaire) declare questionnaire?: Questionnaire;\n\n @Index @Column(DataType.UUID) declare userUuid: string;\n\n @HasMany(() => Answer) declare answers?: Answer[];\n\n declare createdAt: Date;\n declare updatedAt: Date;\n\n override toJSON(): QuestionnaireResponseJSON {\n return super.toJSON() as QuestionnaireResponseJSON;\n }\n}"],"names":["Table","Model","Column","DataType","Default","PrimaryKey","Index","ForeignKey","BelongsTo","HasMany","Questionnaire","Answer","QuestionnaireResponse","toJSON","UUIDV4","UUID","tableName","timestamps"],"mappings":";;;;;;AAAA,SACIA,KAAK,EAAEC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,UAAU,EAAEC,KAAK,EAC1DC,UAAU,EAAEC,SAAS,EAAEC,OAAO,QAC3B,uBAAuB;AAC9B,SAASC,aAAa,QAAQ,qBAAqB;AACnD,SAASC,MAAM,QAAQ,cAAc;AAgBrC,OAAO,MAAMC,8BAA8BX;IAgB9BY,SAAoC;QACzC,OAAO,KAAK,CAACA;IACjB;AACJ;;;qBAlBkCC;oBAAyBC;;;mBAGrCL;;oBAAuCK;;;kBAGxCL;;;;oBAEOK;;;gBAETJ;;;;QAZVK,WAAW;QAAyBC,YAAY"}
@@ -1,69 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Table, Model, Column, DataType, PrimaryKey, Default, AllowNull } from "sequelize-typescript";
8
- export class WeeklyCheckin extends Model {
9
- get allPartsSubmitted() {
10
- return Boolean(this.weightInSubmittedAt && this.questionnaireSubmittedAt && this.photosSubmittedAt);
11
- }
12
- }
13
- _ts_decorate([
14
- PrimaryKey,
15
- Default(DataType.UUIDV4),
16
- Column(DataType.UUID)
17
- ], WeeklyCheckin.prototype, "uuid", void 0);
18
- _ts_decorate([
19
- AllowNull(false),
20
- Column(DataType.UUID)
21
- ], WeeklyCheckin.prototype, "userUuid", void 0);
22
- _ts_decorate([
23
- AllowNull(false),
24
- Column(DataType.DATEONLY)
25
- ], WeeklyCheckin.prototype, "weekStartLocal", void 0);
26
- _ts_decorate([
27
- AllowNull(false),
28
- Column(DataType.STRING(64))
29
- ], WeeklyCheckin.prototype, "timezone", void 0);
30
- _ts_decorate([
31
- AllowNull(true),
32
- Column(DataType.DATE)
33
- ], WeeklyCheckin.prototype, "submittedAt", void 0);
34
- _ts_decorate([
35
- Column(DataType.DATE)
36
- ], WeeklyCheckin.prototype, "weightInSubmittedAt", void 0);
37
- _ts_decorate([
38
- Column(DataType.DATE)
39
- ], WeeklyCheckin.prototype, "questionnaireSubmittedAt", void 0);
40
- _ts_decorate([
41
- Column(DataType.DATE)
42
- ], WeeklyCheckin.prototype, "photosSubmittedAt", void 0);
43
- _ts_decorate([
44
- Column(DataType.JSONB)
45
- ], WeeklyCheckin.prototype, "weightInMeta", void 0);
46
- _ts_decorate([
47
- Column(DataType.JSONB)
48
- ], WeeklyCheckin.prototype, "questionnaireMeta", void 0);
49
- _ts_decorate([
50
- Column(DataType.JSONB)
51
- ], WeeklyCheckin.prototype, "photosMeta", void 0);
52
- _ts_decorate([
53
- AllowNull(true),
54
- Column(DataType.DATE)
55
- ], WeeklyCheckin.prototype, "reviewedAt", void 0);
56
- _ts_decorate([
57
- AllowNull(true),
58
- Column(DataType.UUID)
59
- ], WeeklyCheckin.prototype, "reviewedByCoachUuid", void 0);
60
- _ts_decorate([
61
- Column(DataType.VIRTUAL)
62
- ], WeeklyCheckin.prototype, "allPartsSubmitted", null);
63
- WeeklyCheckin = _ts_decorate([
64
- Table({
65
- timestamps: true
66
- })
67
- ], WeeklyCheckin);
68
-
69
- //# sourceMappingURL=WeeklyCheckIn.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/coaching/WeeklyCheckIn.ts"],"sourcesContent":["import { Table, Model, Column, DataType, PrimaryKey, Default, AllowNull } from \"sequelize-typescript\";\nimport type { Optional } from \"sequelize\";\n\nexport interface WeeklyCheckinAttributes {\n uuid: string;\n userUuid: string;\n weekStartLocal: string;\n timezone: string;\n submittedAt: Date | null;\n weightInSubmittedAt: Date | null;\n questionnaireSubmittedAt: Date | null;\n photosSubmittedAt: Date | null;\n weightInMeta: Record<string, unknown> | null;\n questionnaireMeta: Record<string, unknown> | null;\n photosMeta: Record<string, unknown> | null;\n reviewedAt: Date | null;\n reviewedByCoachUuid: string | null;\n createdAt?: Date;\n updatedAt?: Date;\n}\n\nexport interface WeeklyCheckinCreationAttributes extends Optional<WeeklyCheckinAttributes, \"uuid\" | \"createdAt\" | \"updatedAt\"> {\n}\n\n@Table({ timestamps: true })\nexport class WeeklyCheckin extends Model<WeeklyCheckinAttributes, WeeklyCheckinCreationAttributes> {\n @PrimaryKey\n @Default(DataType.UUIDV4)\n @Column(DataType.UUID)\n declare uuid: string;\n\n @AllowNull(false)\n @Column(DataType.UUID)\n declare userUuid: string;\n\n @AllowNull(false)\n @Column(DataType.DATEONLY)\n declare weekStartLocal: string;\n\n @AllowNull(false)\n @Column(DataType.STRING(64))\n declare timezone: string;\n\n @AllowNull(true)\n @Column(DataType.DATE)\n declare submittedAt: Date | null;\n\n @Column(DataType.DATE) declare weightInSubmittedAt: Date | null;\n\n @Column(DataType.DATE) declare questionnaireSubmittedAt: Date | null;\n\n @Column(DataType.DATE) declare photosSubmittedAt: Date | null;\n\n @Column(DataType.JSONB) declare weightInMeta: Record<string, unknown> | null;\n @Column(DataType.JSONB) declare questionnaireMeta: Record<string, unknown> | null;\n @Column(DataType.JSONB) declare photosMeta: Record<string, unknown> | null;\n\n @AllowNull(true)\n @Column(DataType.DATE)\n declare reviewedAt: Date | null;\n\n @AllowNull(true)\n @Column(DataType.UUID)\n declare reviewedByCoachUuid: string | null;\n\n @Column(DataType.VIRTUAL)\n get allPartsSubmitted(): boolean {\n return Boolean(this.weightInSubmittedAt && this.questionnaireSubmittedAt && this.photosSubmittedAt);\n }\n}\n"],"names":["Table","Model","Column","DataType","PrimaryKey","Default","AllowNull","WeeklyCheckin","allPartsSubmitted","Boolean","weightInSubmittedAt","questionnaireSubmittedAt","photosSubmittedAt","UUIDV4","UUID","DATEONLY","STRING","DATE","JSONB","VIRTUAL","timestamps"],"mappings":";;;;;;AAAA,SAASA,KAAK,EAAEC,KAAK,EAAEC,MAAM,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,OAAO,EAAEC,SAAS,QAAQ,uBAAuB;AAyBtG,OAAO,MAAMC,sBAAsBN;IAwC/B,IACIO,oBAA6B;QAC7B,OAAOC,QAAQ,IAAI,CAACC,mBAAmB,IAAI,IAAI,CAACC,wBAAwB,IAAI,IAAI,CAACC,iBAAiB;IACtG;AACJ;;;qBA1CsBC;oBACDC;;;;oBAIAA;;;;oBAIAC;;;;oBAIAC;;;;oBAIAC;;;oBAGAA;;;oBAEAA;;;oBAEAA;;;oBAEAC;;;oBACAA;;;oBACAA;;;;oBAGAD;;;;oBAIAH;;;oBAGAK;;;;QAzCZC,YAAY"}
@@ -1,49 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Column, DataType, Default, ForeignKey, Model, Table } from "sequelize-typescript";
8
- import { PersistedUser } from "../user/PersistedUser.js";
9
- export class WeightRecord extends Model {
10
- }
11
- _ts_decorate([
12
- Default(DataType.UUIDV4),
13
- Column({
14
- type: DataType.UUID,
15
- defaultValue: DataType.UUID,
16
- allowNull: false,
17
- primaryKey: true
18
- })
19
- ], WeightRecord.prototype, "uuid", void 0);
20
- _ts_decorate([
21
- ForeignKey(()=>PersistedUser),
22
- Column({
23
- type: DataType.TEXT,
24
- allowNull: false
25
- })
26
- ], WeightRecord.prototype, "userUuid", void 0);
27
- _ts_decorate([
28
- Column({
29
- type: DataType.TEXT,
30
- allowNull: false
31
- })
32
- ], WeightRecord.prototype, "weight", void 0);
33
- _ts_decorate([
34
- Column({
35
- type: DataType.TEXT,
36
- allowNull: true
37
- })
38
- ], WeightRecord.prototype, "measurementSystem", void 0);
39
- _ts_decorate([
40
- Column({
41
- type: DataType.TEXT,
42
- allowNull: false
43
- })
44
- ], WeightRecord.prototype, "date", void 0);
45
- WeightRecord = _ts_decorate([
46
- Table
47
- ], WeightRecord);
48
-
49
- //# sourceMappingURL=WeightRecord.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/coaching/WeightRecord.ts"],"sourcesContent":["import { Column, DataType, Default, ForeignKey, Model, Table } from 'sequelize-typescript';\nimport { PersistedUser } from '../user/PersistedUser.js';\n\n@Table\nexport class WeightRecord extends Model {\n\t@Default(DataType.UUIDV4)\n\t@Column({\n\t\ttype: DataType.UUID,\n\t\tdefaultValue: DataType.UUID,\n\t\tallowNull: false,\n\t\tprimaryKey: true\n\t})\n\tdeclare uuid: string;\n\n\t@ForeignKey(() => PersistedUser)\n\t@Column({ type: DataType.TEXT, allowNull: false })\n\tdeclare userUuid: string;\n\n\t@Column({ type: DataType.TEXT, allowNull: false })\n\tdeclare weight: string;\n\n\t@Column({ type: DataType.TEXT, allowNull: true })\n\tdeclare measurementSystem: string;\n\n\t@Column({ type: DataType.TEXT, allowNull: false })\n\tdeclare date: string;\n}\n"],"names":["Column","DataType","Default","ForeignKey","Model","Table","PersistedUser","WeightRecord","UUIDV4","type","UUID","defaultValue","allowNull","primaryKey","TEXT"],"mappings":";;;;;;AAAA,SAASA,MAAM,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,UAAU,EAAEC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AAC3F,SAASC,aAAa,QAAQ,2BAA2B;AAGzD,OAAO,MAAMC,qBAAqBH;AAsBlC;;qBArBmBI;;QAEjBC,MAAMR,SAASS,IAAI;QACnBC,cAAcV,SAASS,IAAI;QAC3BE,WAAW;QACXC,YAAY;;;;mBAIKP;;QACRG,MAAMR,SAASa,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMR,SAASa,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMR,SAASa,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMR,SAASa,IAAI;QAAEF,WAAW"}
@@ -1,50 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Table, Model, Column, DataType, Default, PrimaryKey, HasMany, ForeignKey, BelongsTo, Index } from "sequelize-typescript";
8
- import { DietProgram } from "./DietProgram.js";
9
- import { DietMeal } from "./DietMeal.js";
10
- export class DietDay extends Model {
11
- }
12
- _ts_decorate([
13
- PrimaryKey,
14
- Default(DataType.UUIDV4),
15
- Column(DataType.UUID)
16
- ], DietDay.prototype, "uuid", void 0);
17
- _ts_decorate([
18
- Index,
19
- ForeignKey(()=>DietProgram),
20
- Column(DataType.UUID)
21
- ], DietDay.prototype, "dietProgramUuid", void 0);
22
- _ts_decorate([
23
- BelongsTo(()=>DietProgram)
24
- ], DietDay.prototype, "program", void 0);
25
- _ts_decorate([
26
- HasMany(()=>DietMeal, {
27
- foreignKey: "dietDayUuid",
28
- onDelete: "CASCADE"
29
- })
30
- ], DietDay.prototype, "meals", void 0);
31
- _ts_decorate([
32
- Column(DataType.INTEGER)
33
- ], DietDay.prototype, "order", void 0);
34
- _ts_decorate([
35
- Column(DataType.INTEGER)
36
- ], DietDay.prototype, "calories", void 0);
37
- _ts_decorate([
38
- Column(DataType.FLOAT)
39
- ], DietDay.prototype, "protein", void 0);
40
- _ts_decorate([
41
- Column(DataType.FLOAT)
42
- ], DietDay.prototype, "fat", void 0);
43
- _ts_decorate([
44
- Column(DataType.FLOAT)
45
- ], DietDay.prototype, "carbs", void 0);
46
- DietDay = _ts_decorate([
47
- Table
48
- ], DietDay);
49
-
50
- //# sourceMappingURL=DietDay.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/diet/DietDay.ts"],"sourcesContent":["import {\n Table,\n Model,\n Column,\n DataType,\n Default,\n PrimaryKey,\n HasMany,\n ForeignKey,\n BelongsTo,\n Index,\n} from \"sequelize-typescript\";\nimport { DietProgram } from \"./DietProgram.js\";\nimport { DietMeal } from \"./DietMeal.js\";\n\n@Table\nexport class DietDay extends Model<DietDay> {\n @PrimaryKey\n @Default(DataType.UUIDV4)\n @Column(DataType.UUID)\n declare uuid: string;\n\n @Index\n @ForeignKey(() => DietProgram)\n @Column(DataType.UUID)\n declare dietProgramUuid: string;\n\n @BelongsTo(() => DietProgram)\n declare program: DietProgram;\n\n @HasMany(() => DietMeal, { foreignKey: \"dietDayUuid\", onDelete: \"CASCADE\" })\n declare meals: DietMeal[];\n\n @Column(DataType.INTEGER)\n declare order: number;\n\n @Column(DataType.INTEGER)\n declare calories: number | null;\n\n @Column(DataType.FLOAT)\n declare protein: number | null;\n\n @Column(DataType.FLOAT)\n declare fat: number | null;\n\n @Column(DataType.FLOAT)\n declare carbs: number | null;\n}\n"],"names":["Table","Model","Column","DataType","Default","PrimaryKey","HasMany","ForeignKey","BelongsTo","Index","DietProgram","DietMeal","DietDay","UUIDV4","UUID","foreignKey","onDelete","INTEGER","FLOAT"],"mappings":";;;;;;AAAA,SACEA,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,OAAO,EACPC,UAAU,EACVC,SAAS,EACTC,KAAK,QACA,uBAAuB;AAC9B,SAASC,WAAW,QAAQ,mBAAmB;AAC/C,SAASC,QAAQ,QAAQ,gBAAgB;AAGzC,OAAO,MAAMC,gBAAgBX;AA+B7B;;;qBA7BoBY;oBACDC;;;;mBAICJ;oBACDI;;;kBAGAJ;;;gBAGFC;QAAYI,YAAY;QAAeC,UAAU;;;;oBAG/CC;;;oBAGAA;;;oBAGAC;;;oBAGAA;;;oBAGAA"}
@@ -1,74 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { BelongsTo, Column, DataType, Default, ForeignKey, HasMany, Index, Model, PrimaryKey, Table } from "sequelize-typescript";
8
- import { DietDay } from "./DietDay.js";
9
- import { DietMealRecipe } from "./DietMealRecipe.js";
10
- import { DietMealCompletion } from "./DietMealCompletion.js";
11
- export var MealType = /*#__PURE__*/ function(MealType) {
12
- MealType["BREAKFAST"] = "breakfast";
13
- MealType["LUNCH"] = "lunch";
14
- MealType["DINNER"] = "dinner";
15
- MealType["SNACK"] = "snack";
16
- return MealType;
17
- }({});
18
- export class DietMeal extends Model {
19
- }
20
- _ts_decorate([
21
- PrimaryKey,
22
- Default(DataType.UUIDV4),
23
- Column(DataType.UUID)
24
- ], DietMeal.prototype, "uuid", void 0);
25
- _ts_decorate([
26
- Index,
27
- ForeignKey(()=>DietDay),
28
- Column(DataType.UUID)
29
- ], DietMeal.prototype, "dietDayUuid", void 0);
30
- _ts_decorate([
31
- BelongsTo(()=>DietDay)
32
- ], DietMeal.prototype, "day", void 0);
33
- _ts_decorate([
34
- HasMany(()=>DietMealRecipe, {
35
- foreignKey: "dietMealUuid",
36
- onDelete: "CASCADE"
37
- })
38
- ], DietMeal.prototype, "recipes", void 0);
39
- _ts_decorate([
40
- HasMany(()=>DietMealCompletion, {
41
- foreignKey: "dietMealUuid",
42
- onDelete: "CASCADE"
43
- })
44
- ], DietMeal.prototype, "completions", void 0);
45
- _ts_decorate([
46
- Column(DataType.ENUM(...Object.values(MealType)))
47
- ], DietMeal.prototype, "type", void 0);
48
- _ts_decorate([
49
- Column(DataType.INTEGER)
50
- ], DietMeal.prototype, "order", void 0);
51
- _ts_decorate([
52
- Default(false),
53
- Column(DataType.BOOLEAN)
54
- ], DietMeal.prototype, "isFinished", void 0);
55
- _ts_decorate([
56
- Column(DataType.INTEGER)
57
- ], DietMeal.prototype, "calories", void 0);
58
- _ts_decorate([
59
- Column(DataType.FLOAT)
60
- ], DietMeal.prototype, "protein", void 0);
61
- _ts_decorate([
62
- Column(DataType.FLOAT)
63
- ], DietMeal.prototype, "fat", void 0);
64
- _ts_decorate([
65
- Column(DataType.FLOAT)
66
- ], DietMeal.prototype, "carbs", void 0);
67
- _ts_decorate([
68
- Column(DataType.JSONB)
69
- ], DietMeal.prototype, "selectedRecipeUuids", void 0);
70
- DietMeal = _ts_decorate([
71
- Table
72
- ], DietMeal);
73
-
74
- //# sourceMappingURL=DietMeal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/diet/DietMeal.ts"],"sourcesContent":["import {\n BelongsTo,\n Column,\n DataType,\n Default,\n ForeignKey,\n HasMany,\n Index,\n Model,\n PrimaryKey,\n Table,\n} from \"sequelize-typescript\";\nimport { DietDay } from \"./DietDay.js\";\nimport { DietMealRecipe } from \"./DietMealRecipe.js\";\nimport { DietMealCompletion } from \"./DietMealCompletion.js\";\n\nexport enum MealType {\n BREAKFAST = \"breakfast\",\n LUNCH = \"lunch\",\n DINNER = \"dinner\",\n SNACK = \"snack\",\n}\n\n@Table\nexport class DietMeal extends Model<DietMeal> {\n @PrimaryKey\n @Default(DataType.UUIDV4)\n @Column(DataType.UUID)\n declare uuid: string;\n\n @Index\n @ForeignKey(() => DietDay)\n @Column(DataType.UUID)\n declare dietDayUuid: string;\n\n @BelongsTo(() => DietDay)\n declare day: DietDay;\n\n @HasMany(() => DietMealRecipe, {\n foreignKey: \"dietMealUuid\",\n onDelete: \"CASCADE\",\n })\n declare recipes: DietMealRecipe[];\n\n @HasMany(() => DietMealCompletion, {\n foreignKey: \"dietMealUuid\",\n onDelete: \"CASCADE\",\n })\n declare completions: DietMealCompletion[];\n\n @Column(DataType.ENUM(...Object.values(MealType)))\n declare type: MealType;\n\n @Column(DataType.INTEGER)\n declare order: number;\n\n @Default(false)\n @Column(DataType.BOOLEAN)\n declare isFinished: boolean;\n\n @Column(DataType.INTEGER)\n declare calories: number | null;\n\n @Column(DataType.FLOAT)\n declare protein: number | null;\n\n @Column(DataType.FLOAT)\n declare fat: number | null;\n\n @Column(DataType.FLOAT)\n declare carbs: number | null;\n\n @Column(DataType.JSONB)\n declare selectedRecipeUuids: string[] | null;\n}\n"],"names":["BelongsTo","Column","DataType","Default","ForeignKey","HasMany","Index","Model","PrimaryKey","Table","DietDay","DietMealRecipe","DietMealCompletion","MealType","DietMeal","UUIDV4","UUID","foreignKey","onDelete","ENUM","values","INTEGER","BOOLEAN","FLOAT","JSONB"],"mappings":";;;;;;AAAA,SACEA,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,KAAK,EACLC,UAAU,EACVC,KAAK,QACA,uBAAuB;AAC9B,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,kBAAkB,QAAQ,0BAA0B;AAE7D,OAAO,IAAA,AAAKC,kCAAAA;;;;;WAAAA;MAKX;AAGD,OAAO,MAAMC,iBAAiBP;AAkD9B;;;qBAhDoBQ;oBACDC;;;;mBAICN;oBACDM;;;kBAGAN;;;gBAGFC;QACbM,YAAY;QACZC,UAAU;;;;gBAIGN;QACbK,YAAY;QACZC,UAAU;;;;oBAIKC,eAAeC;;;oBAGfC;;;;oBAIAC;;;oBAGAD;;;oBAGAE;;;oBAGAA;;;oBAGAA;;;oBAGAC"}
@@ -1,69 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Table, Model, Column, DataType, Default, PrimaryKey, ForeignKey, Index, BelongsTo } from "sequelize-typescript";
8
- import { PersistedUser } from "../user/PersistedUser.js";
9
- import { DietMeal } from "./DietMeal.js";
10
- export class DietMealCompletion extends Model {
11
- }
12
- _ts_decorate([
13
- PrimaryKey,
14
- Default(DataType.UUIDV4),
15
- Column(DataType.UUID)
16
- ], DietMealCompletion.prototype, "uuid", void 0);
17
- _ts_decorate([
18
- Index,
19
- ForeignKey(()=>PersistedUser),
20
- Column(DataType.UUID)
21
- ], DietMealCompletion.prototype, "userUuid", void 0);
22
- _ts_decorate([
23
- BelongsTo(()=>PersistedUser)
24
- ], DietMealCompletion.prototype, "user", void 0);
25
- _ts_decorate([
26
- ForeignKey(()=>DietMeal),
27
- Column(DataType.UUID)
28
- ], DietMealCompletion.prototype, "dietMealUuid", void 0);
29
- _ts_decorate([
30
- BelongsTo(()=>DietMeal)
31
- ], DietMealCompletion.prototype, "meal", void 0);
32
- _ts_decorate([
33
- Column(DataType.STRING(20))
34
- ], DietMealCompletion.prototype, "mealType", void 0);
35
- _ts_decorate([
36
- Column(DataType.UUID)
37
- ], DietMealCompletion.prototype, "selectedRecipeUuid", void 0);
38
- _ts_decorate([
39
- Default(DataType.NOW),
40
- Column(DataType.DATE)
41
- ], DietMealCompletion.prototype, "completedAt", void 0);
42
- _ts_decorate([
43
- Column(DataType.DATEONLY)
44
- ], DietMealCompletion.prototype, "date", void 0);
45
- DietMealCompletion = _ts_decorate([
46
- Table({
47
- timestamps: true,
48
- indexes: [
49
- {
50
- unique: true,
51
- fields: [
52
- "userUuid",
53
- "mealType",
54
- "date"
55
- ],
56
- name: "unique_user_meal_date"
57
- },
58
- {
59
- fields: [
60
- "userUuid",
61
- "date"
62
- ],
63
- name: "idx_user_date"
64
- }
65
- ]
66
- })
67
- ], DietMealCompletion);
68
-
69
- //# sourceMappingURL=DietMealCompletion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/diet/DietMealCompletion.ts"],"sourcesContent":["import {\n Table,\n Model,\n Column,\n DataType,\n Default,\n PrimaryKey,\n ForeignKey,\n Index,\n BelongsTo,\n} from \"sequelize-typescript\";\nimport { PersistedUser } from \"../user/PersistedUser.js\";\nimport { DietMeal } from \"./DietMeal.js\";\n\n\n@Table({\n timestamps: true,\n indexes: [\n {\n unique: true,\n fields: [\"userUuid\", \"mealType\", \"date\"],\n name: \"unique_user_meal_date\",\n },\n {\n fields: [\"userUuid\", \"date\"],\n name: \"idx_user_date\",\n },\n ],\n})\nexport class DietMealCompletion extends Model<DietMealCompletion> {\n @PrimaryKey\n @Default(DataType.UUIDV4)\n @Column(DataType.UUID)\n declare uuid: string;\n\n @Index\n @ForeignKey(() => PersistedUser)\n @Column(DataType.UUID)\n declare userUuid: string;\n\n @BelongsTo(() => PersistedUser)\n declare user: PersistedUser;\n\n @ForeignKey(() => DietMeal)\n @Column(DataType.UUID)\n declare dietMealUuid: string;\n\n @BelongsTo(() => DietMeal)\n declare meal: DietMeal;\n\n @Column(DataType.STRING(20))\n declare mealType: string; // breakfast, lunch, dinner, snack\n\n @Column(DataType.UUID)\n declare selectedRecipeUuid: string; // Which recipe option user selected\n\n @Default(DataType.NOW)\n @Column(DataType.DATE)\n declare completedAt: Date;\n\n @Column(DataType.DATEONLY)\n declare date: string; // YYYY-MM-DD format\n}\n"],"names":["Table","Model","Column","DataType","Default","PrimaryKey","ForeignKey","Index","BelongsTo","PersistedUser","DietMeal","DietMealCompletion","UUIDV4","UUID","STRING","NOW","DATE","DATEONLY","timestamps","indexes","unique","fields","name"],"mappings":";;;;;;AAAA,SACEA,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,UAAU,EACVC,KAAK,EACLC,SAAS,QACJ,uBAAuB;AAC9B,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,QAAQ,QAAQ,gBAAgB;AAiBzC,OAAO,MAAMC,2BAA2BV;AAiCxC;;;qBA/BoBW;oBACDC;;;;mBAICJ;oBACDI;;;kBAGAJ;;;mBAGCC;oBACDG;;;kBAGAH;;;oBAGAI;;;oBAGAD;;;qBAGCE;oBACDC;;;oBAGAC;;;;QA5CjBC,YAAY;QACZC,SAAS;YACP;gBACEC,QAAQ;gBACRC,QAAQ;oBAAC;oBAAY;oBAAY;iBAAO;gBACxCC,MAAM;YACR;YACA;gBACED,QAAQ;oBAAC;oBAAY;iBAAO;gBAC5BC,MAAM;YACR;SACD"}
@@ -1,67 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Table, Model, Column, DataType, Default, PrimaryKey, ForeignKey, BelongsTo, HasMany, Index } from "sequelize-typescript";
8
- import { DietMeal } from "./DietMeal.js";
9
- import { Recipe } from "./Recipe.js";
10
- import { DietMealRecipeIngredient } from "./DietMealRecipeIngredient.js";
11
- export class DietMealRecipe extends Model {
12
- }
13
- _ts_decorate([
14
- PrimaryKey,
15
- Default(DataType.UUIDV4),
16
- Column(DataType.UUID)
17
- ], DietMealRecipe.prototype, "uuid", void 0);
18
- _ts_decorate([
19
- Index,
20
- ForeignKey(()=>DietMeal),
21
- Column(DataType.UUID)
22
- ], DietMealRecipe.prototype, "dietMealUuid", void 0);
23
- _ts_decorate([
24
- BelongsTo(()=>DietMeal, {
25
- onDelete: "CASCADE"
26
- })
27
- ], DietMealRecipe.prototype, "meal", void 0);
28
- _ts_decorate([
29
- Index,
30
- ForeignKey(()=>Recipe),
31
- Column(DataType.UUID)
32
- ], DietMealRecipe.prototype, "recipeUuid", void 0);
33
- _ts_decorate([
34
- BelongsTo(()=>Recipe)
35
- ], DietMealRecipe.prototype, "recipe", void 0);
36
- _ts_decorate([
37
- Default(1.0),
38
- Column(DataType.FLOAT)
39
- ], DietMealRecipe.prototype, "scalingFactor", void 0);
40
- _ts_decorate([
41
- Column(DataType.INTEGER)
42
- ], DietMealRecipe.prototype, "scaledCalories", void 0);
43
- _ts_decorate([
44
- Column(DataType.FLOAT)
45
- ], DietMealRecipe.prototype, "scaledProtein", void 0);
46
- _ts_decorate([
47
- Column(DataType.FLOAT)
48
- ], DietMealRecipe.prototype, "scaledCarbs", void 0);
49
- _ts_decorate([
50
- Column(DataType.FLOAT)
51
- ], DietMealRecipe.prototype, "scaledFats", void 0);
52
- _ts_decorate([
53
- Default(false),
54
- Index,
55
- Column(DataType.BOOLEAN)
56
- ], DietMealRecipe.prototype, "locked", void 0);
57
- _ts_decorate([
58
- HasMany(()=>DietMealRecipeIngredient, {
59
- foreignKey: "dietMealRecipeUuid",
60
- onDelete: "CASCADE"
61
- })
62
- ], DietMealRecipe.prototype, "ingredients", void 0);
63
- DietMealRecipe = _ts_decorate([
64
- Table
65
- ], DietMealRecipe);
66
-
67
- //# sourceMappingURL=DietMealRecipe.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/diet/DietMealRecipe.ts"],"sourcesContent":["import {\n Table,\n Model,\n Column,\n DataType,\n Default,\n PrimaryKey,\n ForeignKey,\n BelongsTo,\n HasMany,\n Index,\n} from \"sequelize-typescript\";\nimport type { Optional } from \"sequelize\";\nimport { DietMeal } from \"./DietMeal.js\";\nimport { Recipe } from \"./Recipe.js\";\nimport { DietMealRecipeIngredient } from \"./DietMealRecipeIngredient.js\";\n\nexport interface DietMealRecipeAttributes {\n uuid: string;\n dietMealUuid: string;\n recipeUuid: string;\n scalingFactor: number;\n scaledCalories: number;\n scaledProtein: number;\n scaledCarbs: number;\n scaledFats: number;\n locked: boolean;\n createdAt?: Date;\n updatedAt?: Date;\n}\n\nexport interface DietMealRecipeCreationAttributes extends Optional<DietMealRecipeAttributes, \"uuid\" | \"createdAt\" | \"updatedAt\"> {\n}\n\n/**\n * DietMealRecipe\n *\n * Links a recipe to a meal in a diet program, with scaling information.\n * This is the \"instance\" of a recipe in a diet plan.\n *\n * OLD APPROACH (deprecated):\n * - recipeJson: JSONB with full recipe data\n *\n * NEW APPROACH:\n * - recipeUuid: FK to Recipe table\n * - scalingFactor: How much the recipe was scaled (1.0 = no scaling, 1.5 = 150%)\n * - scaled macros: Pre-computed macro values after scaling\n * - ingredients: Related DietMealRecipeIngredient rows with scaled amounts\n */\n@Table\nexport class DietMealRecipe extends Model<DietMealRecipeAttributes, DietMealRecipeCreationAttributes> {\n @PrimaryKey\n @Default(DataType.UUIDV4)\n @Column(DataType.UUID)\n declare uuid: string;\n\n @Index\n @ForeignKey(() => DietMeal)\n @Column(DataType.UUID)\n declare dietMealUuid: string;\n\n @BelongsTo(() => DietMeal, { onDelete: \"CASCADE\" })\n declare meal: DietMeal;\n\n // NEW: Reference to the actual Recipe\n @Index\n @ForeignKey(() => Recipe)\n @Column(DataType.UUID)\n declare recipeUuid: string;\n\n @BelongsTo(() => Recipe)\n declare recipe: Recipe;\n\n // NEW: Scaling information\n @Default(1.0)\n @Column(DataType.FLOAT)\n declare scalingFactor: number;\n\n // NEW: Pre-computed scaled macros\n @Column(DataType.INTEGER)\n declare scaledCalories: number;\n\n @Column(DataType.FLOAT)\n declare scaledProtein: number;\n\n @Column(DataType.FLOAT)\n declare scaledCarbs: number;\n\n @Column(DataType.FLOAT)\n declare scaledFats: number;\n\n // Recipe locking: When true, this recipe will be preserved during diet program regeneration\n @Default(false)\n @Index\n @Column(DataType.BOOLEAN)\n declare locked: boolean;\n\n // NEW: Scaled ingredients\n @HasMany(() => DietMealRecipeIngredient, {\n foreignKey: \"dietMealRecipeUuid\",\n onDelete: \"CASCADE\",\n })\n declare ingredients: DietMealRecipeIngredient[];\n}\n"],"names":["Table","Model","Column","DataType","Default","PrimaryKey","ForeignKey","BelongsTo","HasMany","Index","DietMeal","Recipe","DietMealRecipeIngredient","DietMealRecipe","UUIDV4","UUID","onDelete","FLOAT","INTEGER","BOOLEAN","foreignKey"],"mappings":";;;;;;AAAA,SACEA,KAAK,EACLC,KAAK,EACLC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,UAAU,EACVC,SAAS,EACTC,OAAO,EACPC,KAAK,QACA,uBAAuB;AAE9B,SAASC,QAAQ,QAAQ,gBAAgB;AACzC,SAASC,MAAM,QAAQ,cAAc;AACrC,SAASC,wBAAwB,QAAQ,gCAAgC;AAmCzE,OAAO,MAAMC,uBAAuBZ;AAqDpC;;;qBAnDoBa;oBACDC;;;;mBAICL;oBACDK;;;kBAGAL;QAAYM,UAAU;;;;;mBAKrBL;oBACDI;;;kBAGAJ;;;;oBAKAM;;;oBAIAC;;;oBAGAD;;;oBAGAA;;;oBAGAA;;;;;oBAMAE;;;gBAIFP;QACbQ,YAAY;QACZJ,UAAU"}
@@ -1,46 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { BelongsTo, Column, DataType, Default, ForeignKey, Index, Model, PrimaryKey, Table } from "sequelize-typescript";
8
- import { DietMealRecipe } from "./DietMealRecipe.js";
9
- import { Ingredient } from "./Ingredient.js";
10
- export class DietMealRecipeIngredient extends Model {
11
- }
12
- _ts_decorate([
13
- PrimaryKey,
14
- Default(DataType.UUIDV4),
15
- Column(DataType.UUID)
16
- ], DietMealRecipeIngredient.prototype, "uuid", void 0);
17
- _ts_decorate([
18
- Index,
19
- ForeignKey(()=>DietMealRecipe),
20
- Column(DataType.UUID)
21
- ], DietMealRecipeIngredient.prototype, "dietMealRecipeUuid", void 0);
22
- _ts_decorate([
23
- BelongsTo(()=>DietMealRecipe)
24
- ], DietMealRecipeIngredient.prototype, "dietMealRecipe", void 0);
25
- _ts_decorate([
26
- Index,
27
- ForeignKey(()=>Ingredient),
28
- Column(DataType.UUID)
29
- ], DietMealRecipeIngredient.prototype, "ingredientUuid", void 0);
30
- _ts_decorate([
31
- BelongsTo(()=>Ingredient)
32
- ], DietMealRecipeIngredient.prototype, "ingredient", void 0);
33
- _ts_decorate([
34
- Column(DataType.FLOAT)
35
- ], DietMealRecipeIngredient.prototype, "grams", void 0);
36
- _ts_decorate([
37
- Column(DataType.FLOAT)
38
- ], DietMealRecipeIngredient.prototype, "displayAmount", void 0);
39
- _ts_decorate([
40
- Column(DataType.STRING)
41
- ], DietMealRecipeIngredient.prototype, "displayUnit", void 0);
42
- DietMealRecipeIngredient = _ts_decorate([
43
- Table
44
- ], DietMealRecipeIngredient);
45
-
46
- //# sourceMappingURL=DietMealRecipeIngredient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/diet/DietMealRecipeIngredient.ts"],"sourcesContent":["import {\n BelongsTo,\n Column,\n DataType,\n Default,\n ForeignKey,\n Index,\n Model,\n PrimaryKey,\n Table,\n} from \"sequelize-typescript\";\nimport type { Optional } from \"sequelize\";\nimport { DietMealRecipe } from \"./DietMealRecipe.js\";\nimport { Ingredient } from \"./Ingredient.js\";\n\nexport interface DietMealRecipeIngredientAttributes {\n uuid: string;\n dietMealRecipeUuid: string;\n ingredientUuid: string;\n grams: number;\n displayAmount: number;\n displayUnit: string;\n createdAt?: Date;\n updatedAt?: Date;\n}\n\nexport interface DietMealRecipeIngredientCreationAttributes extends Optional<DietMealRecipeIngredientAttributes, \"uuid\" | \"createdAt\" | \"updatedAt\" | \"displayAmount\" | \"displayUnit\"> {\n}\n\n@Table\nexport class DietMealRecipeIngredient extends Model<DietMealRecipeIngredientAttributes, DietMealRecipeIngredientCreationAttributes> {\n @PrimaryKey\n @Default(DataType.UUIDV4)\n @Column(DataType.UUID)\n declare uuid: string;\n\n @Index\n @ForeignKey(() => DietMealRecipe)\n @Column(DataType.UUID)\n declare dietMealRecipeUuid: string;\n\n @BelongsTo(() => DietMealRecipe)\n declare dietMealRecipe: DietMealRecipe;\n\n @Index\n @ForeignKey(() => Ingredient)\n @Column(DataType.UUID)\n declare ingredientUuid: string;\n\n @BelongsTo(() => Ingredient)\n declare ingredient: Ingredient;\n\n @Column(DataType.FLOAT)\n declare grams: number;\n\n // Display fields for user-friendly units\n @Column(DataType.FLOAT)\n declare displayAmount: number; // e.g., 2 (for \"2 eggs\")\n\n @Column(DataType.STRING)\n declare displayUnit: string; // e.g., \"large eggs\", \"g\", \"tbsp\"\n}\n"],"names":["BelongsTo","Column","DataType","Default","ForeignKey","Index","Model","PrimaryKey","Table","DietMealRecipe","Ingredient","DietMealRecipeIngredient","UUIDV4","UUID","FLOAT","STRING"],"mappings":";;;;;;AAAA,SACEA,SAAS,EACTC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,KAAK,EACLC,UAAU,EACVC,KAAK,QACA,uBAAuB;AAE9B,SAASC,cAAc,QAAQ,sBAAsB;AACrD,SAASC,UAAU,QAAQ,kBAAkB;AAiB7C,OAAO,MAAMC,iCAAiCL;AA+B9C;;;qBA7BoBM;oBACDC;;;;mBAICJ;oBACDI;;;kBAGAJ;;;;mBAICC;oBACDG;;;kBAGAH;;;oBAGAI;;;oBAIAA;;;oBAGAC"}
@@ -1,98 +0,0 @@
1
- function _ts_decorate(decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- 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;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- }
7
- import { Column, DataType, Default, ForeignKey, HasMany, Model, PrimaryKey, Table } from "sequelize-typescript";
8
- import { PersistedUser } from "../user/PersistedUser.js";
9
- import { DietDay } from "./DietDay.js";
10
- import { ShoppingList } from "./ShoppingList.js";
11
- export class DietProgram extends Model {
12
- }
13
- _ts_decorate([
14
- PrimaryKey,
15
- Default(DataType.UUIDV4),
16
- Column(DataType.UUID)
17
- ], DietProgram.prototype, "uuid", void 0);
18
- _ts_decorate([
19
- ForeignKey(()=>PersistedUser),
20
- Column(DataType.UUID)
21
- ], DietProgram.prototype, "userUuid", void 0);
22
- _ts_decorate([
23
- Column({
24
- type: DataType.DATE,
25
- allowNull: false
26
- })
27
- ], DietProgram.prototype, "startDate", void 0);
28
- _ts_decorate([
29
- Column({
30
- type: DataType.STRING,
31
- allowNull: true
32
- })
33
- ], DietProgram.prototype, "title", void 0);
34
- _ts_decorate([
35
- Column({
36
- type: DataType.INTEGER,
37
- allowNull: true
38
- })
39
- ], DietProgram.prototype, "dailyCalories", void 0);
40
- _ts_decorate([
41
- Column({
42
- type: DataType.FLOAT,
43
- allowNull: true
44
- })
45
- ], DietProgram.prototype, "dailyProtein", void 0);
46
- _ts_decorate([
47
- Column({
48
- type: DataType.FLOAT,
49
- allowNull: true
50
- })
51
- ], DietProgram.prototype, "dailyCarbs", void 0);
52
- _ts_decorate([
53
- Column({
54
- type: DataType.FLOAT,
55
- allowNull: true
56
- })
57
- ], DietProgram.prototype, "dailyFats", void 0);
58
- _ts_decorate([
59
- Column({
60
- type: DataType.INTEGER,
61
- allowNull: true
62
- })
63
- ], DietProgram.prototype, "numberOfDays", void 0);
64
- _ts_decorate([
65
- Column({
66
- type: DataType.ENUM('pending', 'completed', 'failed'),
67
- allowNull: false,
68
- defaultValue: 'pending'
69
- })
70
- ], DietProgram.prototype, "status", void 0);
71
- _ts_decorate([
72
- HasMany(()=>DietDay, {
73
- foreignKey: "dietProgramUuid",
74
- onDelete: "CASCADE"
75
- })
76
- ], DietProgram.prototype, "days", void 0);
77
- _ts_decorate([
78
- HasMany(()=>ShoppingList, {
79
- foreignKey: "dietProgramUuid",
80
- onDelete: "CASCADE"
81
- })
82
- ], DietProgram.prototype, "shoppingLists", void 0);
83
- DietProgram = _ts_decorate([
84
- Table({
85
- timestamps: true,
86
- indexes: [
87
- {
88
- unique: true,
89
- fields: [
90
- "userUuid"
91
- ],
92
- name: "unique_user_diet_program"
93
- }
94
- ]
95
- })
96
- ], DietProgram);
97
-
98
- //# sourceMappingURL=DietProgram.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../../src/lib/dbmodels/diet/DietProgram.ts"],"sourcesContent":["import {\n Column,\n DataType,\n Default,\n ForeignKey,\n HasMany,\n Model,\n PrimaryKey,\n Table,\n} from \"sequelize-typescript\";\nimport { PersistedUser } from \"../user/PersistedUser.js\";\nimport { DietDay } from \"./DietDay.js\";\nimport { ShoppingList } from \"./ShoppingList.js\";\n\n@Table({\n timestamps: true,\n indexes: [\n {\n unique: true,\n fields: [\"userUuid\"],\n name: \"unique_user_diet_program\",\n },\n ],\n})\nexport class DietProgram extends Model<DietProgram> {\n @PrimaryKey\n @Default(DataType.UUIDV4)\n @Column(DataType.UUID)\n declare uuid: string;\n\n @ForeignKey(() => PersistedUser)\n @Column(DataType.UUID)\n declare userUuid: string;\n\n @Column({ type: DataType.DATE, allowNull: false })\n declare startDate: Date;\n\n @Column({ type: DataType.STRING, allowNull: true })\n declare title: string;\n\n @Column({ type: DataType.INTEGER, allowNull: true })\n declare dailyCalories: number | null;\n\n @Column({ type: DataType.FLOAT, allowNull: true })\n declare dailyProtein: number | null;\n\n @Column({ type: DataType.FLOAT, allowNull: true })\n declare dailyCarbs: number | null;\n\n @Column({ type: DataType.FLOAT, allowNull: true })\n declare dailyFats: number | null;\n\n @Column({ type: DataType.INTEGER, allowNull: true })\n declare numberOfDays: number | null;\n\n @Column({\n type: DataType.ENUM('pending', 'completed', 'failed'),\n allowNull: false,\n defaultValue: 'pending'\n })\n declare status: 'pending' | 'completed' | 'failed';\n\n @HasMany(() => DietDay, {\n foreignKey: \"dietProgramUuid\",\n onDelete: \"CASCADE\",\n })\n declare days: DietDay[];\n\n @HasMany(() => ShoppingList, {\n foreignKey: \"dietProgramUuid\",\n onDelete: \"CASCADE\",\n })\n declare shoppingLists: ShoppingList[];\n}\n"],"names":["Column","DataType","Default","ForeignKey","HasMany","Model","PrimaryKey","Table","PersistedUser","DietDay","ShoppingList","DietProgram","UUIDV4","UUID","type","DATE","allowNull","STRING","INTEGER","FLOAT","ENUM","defaultValue","foreignKey","onDelete","timestamps","indexes","unique","fields","name"],"mappings":";;;;;;AAAA,SACEA,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,UAAU,EACVC,KAAK,QACA,uBAAuB;AAC9B,SAASC,aAAa,QAAQ,2BAA2B;AACzD,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,YAAY,QAAQ,oBAAoB;AAYjD,OAAO,MAAMC,oBAAoBN;AAiDjC;;;qBA/CoBO;oBACDC;;;mBAGCL;oBACDK;;;;QAGPC,MAAMb,SAASc,IAAI;QAAEC,WAAW;;;;;QAGhCF,MAAMb,SAASgB,MAAM;QAAED,WAAW;;;;;QAGlCF,MAAMb,SAASiB,OAAO;QAAEF,WAAW;;;;;QAGnCF,MAAMb,SAASkB,KAAK;QAAEH,WAAW;;;;;QAGjCF,MAAMb,SAASkB,KAAK;QAAEH,WAAW;;;;;QAGjCF,MAAMb,SAASkB,KAAK;QAAEH,WAAW;;;;;QAGjCF,MAAMb,SAASiB,OAAO;QAAEF,WAAW;;;;;QAI3CF,MAAMb,SAASmB,IAAI,CAAC,WAAW,aAAa;QAC5CJ,WAAW;QACXK,cAAc;;;;gBAIDZ;QACba,YAAY;QACZC,UAAU;;;;gBAIGb;QACbY,YAAY;QACZC,UAAU;;;;;QAvDZC,YAAY;QACZC,SAAS;YACP;gBACEC,QAAQ;gBACRC,QAAQ;oBAAC;iBAAW;gBACpBC,MAAM;YACR;SACD"}