90dc-core 1.15.3 → 1.15.5
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.
- package/dist/lib/dbmodels/diet/Recipe.d.ts +2 -0
- package/dist/lib/dbmodels/diet/Recipe.d.ts.map +1 -1
- package/dist/lib/dbmodels/diet/Recipe.js +7 -0
- package/dist/lib/dbmodels/diet/Recipe.js.map +1 -1
- package/dist/lib/dbmodels/program/CircularProgramDraft.d.ts +1 -0
- package/dist/lib/dbmodels/program/CircularProgramDraft.d.ts.map +1 -1
- package/dist/lib/dbmodels/program/CircularProgramDraft.js.map +1 -1
- package/dist/lib/dbmodels/program/ExerciseModels.d.ts +2 -0
- package/dist/lib/dbmodels/program/ExerciseModels.d.ts.map +1 -1
- package/dist/lib/dbmodels/program/ExerciseModels.js +13 -0
- package/dist/lib/dbmodels/program/ExerciseModels.js.map +1 -1
- package/dist/lib/dbmodels/subscription/Subscription.d.ts +1 -1
- package/dist/lib/dbmodels/subscription/Subscription.d.ts.map +1 -1
- package/dist/lib/dbmodels/subscription/Subscription.js.map +1 -1
- package/dist/lib/models/ExerciseInterfaces.d.ts +1 -0
- package/dist/lib/models/ExerciseInterfaces.d.ts.map +1 -1
- package/dist/lib/models/ExerciseInterfaces.js.map +1 -1
- package/dist/lib/scripts/populate-exercise-thumbnails.d.ts +2 -0
- package/dist/lib/scripts/populate-exercise-thumbnails.d.ts.map +1 -0
- package/dist/lib/scripts/populate-exercise-thumbnails.js +64 -0
- package/dist/lib/scripts/populate-exercise-thumbnails.js.map +1 -0
- package/package.json +1 -1
|
@@ -20,6 +20,7 @@ export interface RecipeAttributes {
|
|
|
20
20
|
ShowForFreeVersion: boolean;
|
|
21
21
|
LockForFreeVersion: boolean;
|
|
22
22
|
isCoachingRecipe: boolean;
|
|
23
|
+
isPublic: boolean;
|
|
23
24
|
order: number;
|
|
24
25
|
coverImageUrl?: string | null;
|
|
25
26
|
ingredientsImageUrl?: string | null;
|
|
@@ -46,6 +47,7 @@ export declare class Recipe extends Model<RecipeAttributes, RecipeCreationAttrib
|
|
|
46
47
|
ShowForFreeVersion: boolean;
|
|
47
48
|
LockForFreeVersion: boolean;
|
|
48
49
|
isCoachingRecipe: boolean;
|
|
50
|
+
isPublic: boolean;
|
|
49
51
|
tags: RecipeTag[];
|
|
50
52
|
order: number;
|
|
51
53
|
coverImageUrl?: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Recipe.d.ts","sourceRoot":"","sources":["../../../../src/lib/dbmodels/diet/Recipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,wBAAyB,SAAQ,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;CAC9M;AAED,qBACa,MAAO,SAAQ,KAAK,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;IAQnE,IAAI,EAAE,MAAM,CAAC;IAOb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,MAAM,CAAC;IAGb,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,OAAO,EAAE,MAAM,CAAC;IAGhB,WAAW,EAAE,MAAM,CAAC;IAGpB,MAAM,EAAE,MAAM,CAAC;IAGf,aAAa,EAAE,MAAM,CAAC;IAGtB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,kBAAkB,EAAE,OAAO,CAAC;IAI5B,gBAAgB,EAAE,OAAO,CAAC;IAG1B,IAAI,EAAE,SAAS,EAAE,CAAC;IAGlB,KAAK,EAAE,MAAM,CAAC;IAGd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG9B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG/B,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAG9B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAGtC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAGtC,OAAO,EAAE,aAAa,CAAC;CAChC"}
|
|
1
|
+
{"version":3,"file":"Recipe.d.ts","sourceRoot":"","sources":["../../../../src/lib/dbmodels/diet/Recipe.ts"],"names":[],"mappings":"AAAA,OAAO,EAQL,KAAK,EAEN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC9B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,wBAAyB,SAAQ,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,WAAW,GAAG,eAAe,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,iBAAiB,CAAC;CAC9M;AAED,qBACa,MAAO,SAAQ,KAAK,CAAC,gBAAgB,EAAE,wBAAwB,CAAC;IAQnE,IAAI,EAAE,MAAM,CAAC;IAOb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,KAAK,EAAE,MAAM,CAAC;IAGd,QAAQ,EAAE,MAAM,CAAC;IAGjB,OAAO,EAAE,MAAM,CAAC;IAGhB,IAAI,EAAE,MAAM,CAAC;IAGb,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,CAAC;IAGd,OAAO,EAAE,MAAM,CAAC;IAGhB,WAAW,EAAE,MAAM,CAAC;IAGpB,MAAM,EAAE,MAAM,CAAC;IAGf,aAAa,EAAE,MAAM,CAAC;IAGtB,kBAAkB,EAAE,OAAO,CAAC;IAG5B,kBAAkB,EAAE,OAAO,CAAC;IAI5B,gBAAgB,EAAE,OAAO,CAAC;IAG1B,QAAQ,EAAE,OAAO,CAAC;IAGlB,IAAI,EAAE,SAAS,EAAE,CAAC;IAGlB,KAAK,EAAE,MAAM,CAAC;IAGd,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG9B,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGpC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG/B,eAAe,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAG9B,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAGtC,iBAAiB,EAAE,gBAAgB,EAAE,CAAC;IAGtC,OAAO,EAAE,aAAa,CAAC;CAChC"}
|
|
@@ -110,6 +110,13 @@ _ts_decorate([
|
|
|
110
110
|
defaultValue: false
|
|
111
111
|
})
|
|
112
112
|
], Recipe.prototype, "isCoachingRecipe", void 0);
|
|
113
|
+
_ts_decorate([
|
|
114
|
+
Column({
|
|
115
|
+
type: DataType.BOOLEAN,
|
|
116
|
+
allowNull: false,
|
|
117
|
+
defaultValue: false
|
|
118
|
+
})
|
|
119
|
+
], Recipe.prototype, "isPublic", void 0);
|
|
113
120
|
_ts_decorate([
|
|
114
121
|
BelongsToMany(()=>RecipeTag, {
|
|
115
122
|
through: ()=>RecipeTags,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/dbmodels/diet/Recipe.ts"],"sourcesContent":["import {\n BelongsTo,\n BelongsToMany,\n Column,\n DataType,\n Default,\n ForeignKey,\n HasMany,\n Model,\n Table,\n} from \"sequelize-typescript\";\nimport type { Optional } from \"sequelize\";\nimport { TranslatedRecipe } from \"./TranslatedRecipe.js\";\nimport { RecipeTag } from \"./RecipeTag.js\";\nimport { RecipeTags } from \"./RecipeTags.js\";\nimport { RecipeIngredient } from \"./RecipeIngredient.js\";\nimport { PersistedUser } from \"../user/PersistedUser.js\";\n\nexport interface RecipeAttributes {\n uuid: string;\n createdBy?: string | null;\n title: string;\n duration: string;\n content: string;\n kcal: string;\n fat: string;\n carbs: string;\n protein: string;\n ingredients: string;\n method: string;\n tipsAndTricks: string;\n ShowForFreeVersion: boolean;\n LockForFreeVersion: boolean;\n isCoachingRecipe: boolean;\n order: number;\n coverImageUrl?: string | null;\n ingredientsImageUrl?: string | null;\n methodImageUrl?: string | null;\n imageUploadedAt?: Date | null;\n createdAt?: Date;\n updatedAt?: Date;\n}\n\nexport interface RecipeCreationAttributes extends Optional<RecipeAttributes, \"uuid\" | \"createdBy\" | \"createdAt\" | \"updatedAt\" | \"coverImageUrl\" | \"ingredientsImageUrl\" | \"methodImageUrl\" | \"imageUploadedAt\"> {\n}\n\n@Table\nexport class Recipe extends Model<RecipeAttributes, RecipeCreationAttributes> {\n @Default(DataType.UUIDV4)\n @Column({\n type: DataType.UUID,\n defaultValue: DataType.UUID,\n allowNull: false,\n primaryKey: true,\n })\n declare uuid: string;\n\n @ForeignKey(() => PersistedUser)\n @Column({\n type: DataType.UUID,\n allowNull: true,\n })\n declare createdBy: string | null;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare title: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare duration: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare content: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare kcal: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare fat: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare carbs: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare protein: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare ingredients: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare method: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare tipsAndTricks: string;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare ShowForFreeVersion: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare LockForFreeVersion: boolean;\n\n @Default(true)\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare isCoachingRecipe: boolean;\n\n @BelongsToMany(() => RecipeTag, { through: () => RecipeTags, as: \"tags\" })\n declare tags: RecipeTag[];\n\n @Column({ type: DataType.INTEGER, allowNull: false, defaultValue: 0 })\n declare order: number;\n\n @Column({ type: DataType.STRING(500), allowNull: true })\n declare coverImageUrl?: string | null;\n\n @Column({ type: DataType.STRING(500), allowNull: true })\n declare ingredientsImageUrl?: string | null;\n\n @Column({ type: DataType.STRING(500), allowNull: true })\n declare methodImageUrl?: string | null;\n\n @Column({ type: DataType.DATE, allowNull: true })\n declare imageUploadedAt?: Date | null;\n\n @HasMany(() => TranslatedRecipe)\n declare translatedRecipes: TranslatedRecipe[];\n\n @HasMany(() => RecipeIngredient, { foreignKey: \"recipeUuid\", onDelete: \"CASCADE\" })\n declare recipeIngredients: RecipeIngredient[];\n\n @BelongsTo(() => PersistedUser)\n declare creator: PersistedUser;\n}\n"],"names":["BelongsTo","BelongsToMany","Column","DataType","Default","ForeignKey","HasMany","Model","Table","TranslatedRecipe","RecipeTag","RecipeTags","RecipeIngredient","PersistedUser","Recipe","UUIDV4","type","UUID","defaultValue","allowNull","primaryKey","TEXT","BOOLEAN","through","as","INTEGER","STRING","DATE","foreignKey","onDelete"],"mappings":";;;;;;AAAA,SACEA,SAAS,EACTC,aAAa,EACbC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,KAAK,QACA,uBAAuB;AAE9B,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,aAAa,QAAQ,2BAA2B;
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/dbmodels/diet/Recipe.ts"],"sourcesContent":["import {\n BelongsTo,\n BelongsToMany,\n Column,\n DataType,\n Default,\n ForeignKey,\n HasMany,\n Model,\n Table,\n} from \"sequelize-typescript\";\nimport type { Optional } from \"sequelize\";\nimport { TranslatedRecipe } from \"./TranslatedRecipe.js\";\nimport { RecipeTag } from \"./RecipeTag.js\";\nimport { RecipeTags } from \"./RecipeTags.js\";\nimport { RecipeIngredient } from \"./RecipeIngredient.js\";\nimport { PersistedUser } from \"../user/PersistedUser.js\";\n\nexport interface RecipeAttributes {\n uuid: string;\n createdBy?: string | null;\n title: string;\n duration: string;\n content: string;\n kcal: string;\n fat: string;\n carbs: string;\n protein: string;\n ingredients: string;\n method: string;\n tipsAndTricks: string;\n ShowForFreeVersion: boolean;\n LockForFreeVersion: boolean;\n isCoachingRecipe: boolean;\n isPublic: boolean;\n order: number;\n coverImageUrl?: string | null;\n ingredientsImageUrl?: string | null;\n methodImageUrl?: string | null;\n imageUploadedAt?: Date | null;\n createdAt?: Date;\n updatedAt?: Date;\n}\n\nexport interface RecipeCreationAttributes extends Optional<RecipeAttributes, \"uuid\" | \"createdBy\" | \"createdAt\" | \"updatedAt\" | \"coverImageUrl\" | \"ingredientsImageUrl\" | \"methodImageUrl\" | \"imageUploadedAt\"> {\n}\n\n@Table\nexport class Recipe extends Model<RecipeAttributes, RecipeCreationAttributes> {\n @Default(DataType.UUIDV4)\n @Column({\n type: DataType.UUID,\n defaultValue: DataType.UUID,\n allowNull: false,\n primaryKey: true,\n })\n declare uuid: string;\n\n @ForeignKey(() => PersistedUser)\n @Column({\n type: DataType.UUID,\n allowNull: true,\n })\n declare createdBy: string | null;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare title: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare duration: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare content: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare kcal: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare fat: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare carbs: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare protein: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare ingredients: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare method: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare tipsAndTricks: string;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare ShowForFreeVersion: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare LockForFreeVersion: boolean;\n\n @Default(true)\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare isCoachingRecipe: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare isPublic: boolean;\n\n @BelongsToMany(() => RecipeTag, { through: () => RecipeTags, as: \"tags\" })\n declare tags: RecipeTag[];\n\n @Column({ type: DataType.INTEGER, allowNull: false, defaultValue: 0 })\n declare order: number;\n\n @Column({ type: DataType.STRING(500), allowNull: true })\n declare coverImageUrl?: string | null;\n\n @Column({ type: DataType.STRING(500), allowNull: true })\n declare ingredientsImageUrl?: string | null;\n\n @Column({ type: DataType.STRING(500), allowNull: true })\n declare methodImageUrl?: string | null;\n\n @Column({ type: DataType.DATE, allowNull: true })\n declare imageUploadedAt?: Date | null;\n\n @HasMany(() => TranslatedRecipe)\n declare translatedRecipes: TranslatedRecipe[];\n\n @HasMany(() => RecipeIngredient, { foreignKey: \"recipeUuid\", onDelete: \"CASCADE\" })\n declare recipeIngredients: RecipeIngredient[];\n\n @BelongsTo(() => PersistedUser)\n declare creator: PersistedUser;\n}\n"],"names":["BelongsTo","BelongsToMany","Column","DataType","Default","ForeignKey","HasMany","Model","Table","TranslatedRecipe","RecipeTag","RecipeTags","RecipeIngredient","PersistedUser","Recipe","UUIDV4","type","UUID","defaultValue","allowNull","primaryKey","TEXT","BOOLEAN","through","as","INTEGER","STRING","DATE","foreignKey","onDelete"],"mappings":";;;;;;AAAA,SACEA,SAAS,EACTC,aAAa,EACbC,MAAM,EACNC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,KAAK,QACA,uBAAuB;AAE9B,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,SAAS,QAAQ,iBAAiB;AAC3C,SAASC,UAAU,QAAQ,kBAAkB;AAC7C,SAASC,gBAAgB,QAAQ,wBAAwB;AACzD,SAASC,aAAa,QAAQ,2BAA2B;AAgCzD,OAAO,MAAMC,eAAeP;AAsF5B;;qBArFoBQ;;QAEhBC,MAAMb,SAASc,IAAI;QACnBC,cAAcf,SAASc,IAAI;QAC3BE,WAAW;QACXC,YAAY;;;;mBAIIP;;QAEhBG,MAAMb,SAASc,IAAI;QACnBE,WAAW;;;;;QAIHH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASkB,IAAI;QAAEF,WAAW;;;;;QAGhCH,MAAMb,SAASmB,OAAO;QAAEH,WAAW;QAAOD,cAAc;;;;;QAGxDF,MAAMb,SAASmB,OAAO;QAAEH,WAAW;QAAOD,cAAc;;;;;;QAIxDF,MAAMb,SAASmB,OAAO;QAAEH,WAAW;QAAOD,cAAc;;;;;QAGxDF,MAAMb,SAASmB,OAAO;QAAEH,WAAW;QAAOD,cAAc;;;;sBAG7CR;QAAaa,SAAS,IAAMZ;QAAYa,IAAI;;;;;QAGvDR,MAAMb,SAASsB,OAAO;QAAEN,WAAW;QAAOD,cAAc;;;;;QAGxDF,MAAMb,SAASuB,MAAM,CAAC;QAAMP,WAAW;;;;;QAGvCH,MAAMb,SAASuB,MAAM,CAAC;QAAMP,WAAW;;;;;QAGvCH,MAAMb,SAASuB,MAAM,CAAC;QAAMP,WAAW;;;;;QAGvCH,MAAMb,SAASwB,IAAI;QAAER,WAAW;;;;gBAG3BV;;;gBAGAG;QAAoBgB,YAAY;QAAcC,UAAU;;;;kBAGtDhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CircularProgramDraft.d.ts","sourceRoot":"","sources":["../../../../src/lib/dbmodels/program/CircularProgramDraft.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAMN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"CircularProgramDraft.d.ts","sourceRoot":"","sources":["../../../../src/lib/dbmodels/program/CircularProgramDraft.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,EAMN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAC;AAE7D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAAE,CAAC;CAClD;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,yBAAyB,EAAE,CAAC;CACxC;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,GAAG,EAAE,CAAC;CACjB;AAGD,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,SAAS,GAAG,eAAe,GAAG,cAAc,GAAG,WAAW,CAAC;IACjE,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IAGrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,aAAa,EAAE,CAAC;IAG3B,oBAAoB,CAAC,EAAE,yBAAyB,EAAE,CAAC;IAGnD,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,QAAQ,EAAE,CAAC;CAClB;AAED,qBACa,oBAAqB,SAAQ,KAAK;IAOrC,IAAI,EAAE,MAAM,CAAC;IAOb,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAQ7B,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAOlC,QAAQ,EAAE,MAAM,CAAC;IAOjB,kBAAkB,EAAE,MAAM,CAAC;IAM3B,SAAS,EAAE,wBAAwB,CAAC;IAQpC,MAAM,EAAE,WAAW,CAAC;IAMpB,WAAW,EAAE,IAAI,GAAG,IAAI,CAAC;IAGzB,SAAS,EAAE,sBAAsB,CAAC;IAGlC,gBAAgB,EAAE,OAAO,CAAC;CACnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/dbmodels/program/CircularProgramDraft.ts"],"sourcesContent":["import {\n Table,\n Column,\n Model,\n DataType,\n Default,\n ForeignKey,\n Index,\n BelongsTo,\n} from \"sequelize-typescript\";\nimport { Program } from \"./Program.js\";\nimport { CustomProgramBlueprint } from \"./CustomProgramBlueprint.js\";\n\nexport type DraftStatus = \"draft\" | \"published\" | \"archived\";\n\nexport interface DraftExercise {\n uuid: string;\n name: string;\n sets: number;\n reps: string;\n order: number;\n restTime?: string | number | null;\n supersetUuid?: string | null;\n thumbnailUrl?: string | null;\n}\n\nexport interface DraftSuperset {\n uuid: string;\n startPosition: number;\n exercises: Omit<DraftExercise, \"supersetUuid\">[];\n}\n\nexport interface DraftWorkout {\n uuid: string;\n title: string;\n duration: string;\n order: number;\n exercises: DraftExercise[];\n supersets: DraftSuperset[];\n}\n\nexport interface DraftRestDay {\n uuid: string;\n order: number;\n}\n\nexport interface DraftStrengthTestExercise {\n uuid: string;\n title: string;\n url: string;\n pointer: string;\n timerTime: string;\n order: number;\n}\n\nexport interface DraftStrengthTest {\n uuid: string;\n type: string;\n order: number;\n exercises: DraftStrengthTestExercise[];\n}\n\nexport interface DraftChallenge {\n uuid: string;\n title: string;\n order: number;\n progress: any[];\n}\n\n// Individual day types for internal use\nexport interface DraftDay {\n uuid: string;\n type: \"Workout\" | \"ActiveRestDay\" | \"StrengthTest\" | \"Challenge\";\n templateIndex: number; // order in the program sequence\n isFinished?: boolean;\n\n // Workout-specific fields\n title?: string;\n duration?: string;\n order?: number; // workout order (same as templateIndex)\n programId?: string; // reference to program\n exercise?: DraftExercise[];\n superset?: DraftSuperset[];\n\n // StrengthTest-specific fields\n strengthTestExercise?: DraftStrengthTestExercise[];\n\n // Challenge-specific fields\n progress?: any[];\n restDayUuid?: string;\n}\n\n// Main draft data structure - matches getUniqueProgram format\nexport interface CircularProgramDraftData {\n startDate: string;\n days: DraftDay[]; // Flat array of all days, sorted by templateIndex\n}\n\n@Table({ tableName: \"CircularProgramDrafts\", timestamps: true })\nexport class CircularProgramDraft extends Model {\n @Default(DataType.UUIDV4)\n @Column({\n type: DataType.UUID,\n primaryKey: true,\n allowNull: false,\n })\n declare uuid: string;\n\n @ForeignKey(() => CustomProgramBlueprint)\n @Column({\n type: DataType.UUID,\n allowNull: true,\n })\n declare blueprintUuid: string | null;\n\n @ForeignKey(() => Program)\n @Index\n @Column({\n type: DataType.UUID,\n allowNull: true,\n })\n declare publishedProgramId: string | null;\n\n @Index\n @Column({\n type: DataType.UUID,\n allowNull: false,\n })\n declare userUuid: string;\n\n @Index\n @Column({\n type: DataType.UUID,\n allowNull: false,\n })\n declare createdByCoachUuid: string;\n\n @Column({\n type: DataType.JSONB,\n allowNull: false,\n })\n declare draftData: CircularProgramDraftData;\n\n @Index\n @Column({\n type: DataType.ENUM(\"draft\", \"published\", \"archived\"),\n allowNull: false,\n defaultValue: \"draft\",\n })\n declare status: DraftStatus;\n\n @Column({\n type: DataType.DATE,\n allowNull: true,\n })\n declare publishedAt: Date | null;\n\n @BelongsTo(() => CustomProgramBlueprint)\n declare blueprint: CustomProgramBlueprint;\n\n @BelongsTo(() => Program)\n declare publishedProgram: Program;\n}\n"],"names":["Table","Column","Model","DataType","Default","ForeignKey","Index","BelongsTo","Program","CustomProgramBlueprint","CircularProgramDraft","UUIDV4","type","UUID","primaryKey","allowNull","JSONB","ENUM","defaultValue","DATE","tableName","timestamps"],"mappings":";;;;;;AAAA,SACEA,KAAK,EACLC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,SAAS,QACJ,uBAAuB;AAC9B,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,sBAAsB,QAAQ,8BAA8B;
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/dbmodels/program/CircularProgramDraft.ts"],"sourcesContent":["import {\n Table,\n Column,\n Model,\n DataType,\n Default,\n ForeignKey,\n Index,\n BelongsTo,\n} from \"sequelize-typescript\";\nimport { Program } from \"./Program.js\";\nimport { CustomProgramBlueprint } from \"./CustomProgramBlueprint.js\";\n\nexport type DraftStatus = \"draft\" | \"published\" | \"archived\";\n\nexport interface DraftExercise {\n uuid: string;\n name: string;\n sets: number;\n reps: string;\n order: number;\n restTime?: string | number | null;\n supersetUuid?: string | null;\n thumbnailUrl?: string | null;\n coachNote?: string | null;\n}\n\nexport interface DraftSuperset {\n uuid: string;\n startPosition: number;\n exercises: Omit<DraftExercise, \"supersetUuid\">[];\n}\n\nexport interface DraftWorkout {\n uuid: string;\n title: string;\n duration: string;\n order: number;\n exercises: DraftExercise[];\n supersets: DraftSuperset[];\n}\n\nexport interface DraftRestDay {\n uuid: string;\n order: number;\n}\n\nexport interface DraftStrengthTestExercise {\n uuid: string;\n title: string;\n url: string;\n pointer: string;\n timerTime: string;\n order: number;\n}\n\nexport interface DraftStrengthTest {\n uuid: string;\n type: string;\n order: number;\n exercises: DraftStrengthTestExercise[];\n}\n\nexport interface DraftChallenge {\n uuid: string;\n title: string;\n order: number;\n progress: any[];\n}\n\n// Individual day types for internal use\nexport interface DraftDay {\n uuid: string;\n type: \"Workout\" | \"ActiveRestDay\" | \"StrengthTest\" | \"Challenge\";\n templateIndex: number; // order in the program sequence\n isFinished?: boolean;\n\n // Workout-specific fields\n title?: string;\n duration?: string;\n order?: number; // workout order (same as templateIndex)\n programId?: string; // reference to program\n exercise?: DraftExercise[];\n superset?: DraftSuperset[];\n\n // StrengthTest-specific fields\n strengthTestExercise?: DraftStrengthTestExercise[];\n\n // Challenge-specific fields\n progress?: any[];\n restDayUuid?: string;\n}\n\n// Main draft data structure - matches getUniqueProgram format\nexport interface CircularProgramDraftData {\n startDate: string;\n days: DraftDay[]; // Flat array of all days, sorted by templateIndex\n}\n\n@Table({ tableName: \"CircularProgramDrafts\", timestamps: true })\nexport class CircularProgramDraft extends Model {\n @Default(DataType.UUIDV4)\n @Column({\n type: DataType.UUID,\n primaryKey: true,\n allowNull: false,\n })\n declare uuid: string;\n\n @ForeignKey(() => CustomProgramBlueprint)\n @Column({\n type: DataType.UUID,\n allowNull: true,\n })\n declare blueprintUuid: string | null;\n\n @ForeignKey(() => Program)\n @Index\n @Column({\n type: DataType.UUID,\n allowNull: true,\n })\n declare publishedProgramId: string | null;\n\n @Index\n @Column({\n type: DataType.UUID,\n allowNull: false,\n })\n declare userUuid: string;\n\n @Index\n @Column({\n type: DataType.UUID,\n allowNull: false,\n })\n declare createdByCoachUuid: string;\n\n @Column({\n type: DataType.JSONB,\n allowNull: false,\n })\n declare draftData: CircularProgramDraftData;\n\n @Index\n @Column({\n type: DataType.ENUM(\"draft\", \"published\", \"archived\"),\n allowNull: false,\n defaultValue: \"draft\",\n })\n declare status: DraftStatus;\n\n @Column({\n type: DataType.DATE,\n allowNull: true,\n })\n declare publishedAt: Date | null;\n\n @BelongsTo(() => CustomProgramBlueprint)\n declare blueprint: CustomProgramBlueprint;\n\n @BelongsTo(() => Program)\n declare publishedProgram: Program;\n}\n"],"names":["Table","Column","Model","DataType","Default","ForeignKey","Index","BelongsTo","Program","CustomProgramBlueprint","CircularProgramDraft","UUIDV4","type","UUID","primaryKey","allowNull","JSONB","ENUM","defaultValue","DATE","tableName","timestamps"],"mappings":";;;;;;AAAA,SACEA,KAAK,EACLC,MAAM,EACNC,KAAK,EACLC,QAAQ,EACRC,OAAO,EACPC,UAAU,EACVC,KAAK,EACLC,SAAS,QACJ,uBAAuB;AAC9B,SAASC,OAAO,QAAQ,eAAe;AACvC,SAASC,sBAAsB,QAAQ,8BAA8B;AAyFrE,OAAO,MAAMC,6BAA6BR;AA+D1C;;qBA9DoBS;;QAEhBC,MAAMT,SAASU,IAAI;QACnBC,YAAY;QACZC,WAAW;;;;mBAIKN;;QAEhBG,MAAMT,SAASU,IAAI;QACnBE,WAAW;;;;mBAIKP;;;QAGhBI,MAAMT,SAASU,IAAI;QACnBE,WAAW;;;;;;QAMXH,MAAMT,SAASU,IAAI;QACnBE,WAAW;;;;;;QAMXH,MAAMT,SAASU,IAAI;QACnBE,WAAW;;;;;QAKXH,MAAMT,SAASa,KAAK;QACpBD,WAAW;;;;;;QAMXH,MAAMT,SAASc,IAAI,CAAC,SAAS,aAAa;QAC1CF,WAAW;QACXG,cAAc;;;;;QAKdN,MAAMT,SAASgB,IAAI;QACnBJ,WAAW;;;;kBAIIN;;;kBAGAD;;;;QA9DVY,WAAW;QAAyBC,YAAY"}
|
|
@@ -21,6 +21,8 @@ export declare class ExercisesModels extends Model implements ExerciseModel {
|
|
|
21
21
|
graphData: "reps" | "weight";
|
|
22
22
|
imageUrl: string;
|
|
23
23
|
createdBy: string | null;
|
|
24
|
+
isPublic: boolean;
|
|
25
|
+
thumbnailUrl: string | null;
|
|
24
26
|
translatedExercises: TranslatedExerciseModel[];
|
|
25
27
|
}
|
|
26
28
|
//# sourceMappingURL=ExerciseModels.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExerciseModels.d.ts","sourceRoot":"","sources":["../../../../src/lib/dbmodels/program/ExerciseModels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,EAAS,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAErE,qBACa,eAAgB,SAAQ,KAAM,YAAW,aAAa;IAQvD,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,OAAO,CAAC;IAGlB,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAGhB,WAAW,EAAE,OAAO,CAAC;IAGrB,UAAU,EAAE,OAAO,CAAC;IAGpB,aAAa,EAAE,OAAO,CAAC;IAGvB,cAAc,EAAE,OAAO,CAAC;IAGxB,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,WAAW,EAAE,OAAO,CAAC;IAGrB,cAAc,EAAE,OAAO,CAAC;IAGxB,WAAW,EAAE,YAAY,EAAE,CAAC;IAG5B,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAG7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,mBAAmB,EAAE,uBAAuB,EAAE,CAAC;CAC1D"}
|
|
1
|
+
{"version":3,"file":"ExerciseModels.d.ts","sourceRoot":"","sources":["../../../../src/lib/dbmodels/program/ExerciseModels.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,EAAS,MAAM,sBAAsB,CAAC;AACxF,OAAO,KAAK,EAAC,aAAa,EAAE,YAAY,EAAC,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAC,uBAAuB,EAAC,MAAM,8BAA8B,CAAC;AAErE,qBACa,eAAgB,SAAQ,KAAM,YAAW,aAAa;IAQvD,IAAI,EAAE,MAAM,CAAC;IAGb,IAAI,EAAE,MAAM,CAAC;IAGb,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,MAAM,CAAC;IAGjB,QAAQ,EAAE,OAAO,CAAC;IAGlB,GAAG,EAAE,MAAM,CAAC;IAGZ,KAAK,EAAE,MAAM,EAAE,CAAC;IAGhB,WAAW,EAAE,OAAO,CAAC;IAGrB,UAAU,EAAE,OAAO,CAAC;IAGpB,aAAa,EAAE,OAAO,CAAC;IAGvB,cAAc,EAAE,OAAO,CAAC;IAGxB,UAAU,EAAE,MAAM,CAAC;IAGnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAGlB,WAAW,EAAE,OAAO,CAAC;IAGrB,cAAc,EAAE,OAAO,CAAC;IAGxB,WAAW,EAAE,YAAY,EAAE,CAAC;IAG5B,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC;IAG7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAGzB,QAAQ,EAAE,OAAO,CAAC;IAGlB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAG5B,mBAAmB,EAAE,uBAAuB,EAAE,CAAC;CAC1D"}
|
|
@@ -126,6 +126,19 @@ _ts_decorate([
|
|
|
126
126
|
allowNull: true
|
|
127
127
|
})
|
|
128
128
|
], ExercisesModels.prototype, "createdBy", void 0);
|
|
129
|
+
_ts_decorate([
|
|
130
|
+
Column({
|
|
131
|
+
type: DataType.BOOLEAN,
|
|
132
|
+
allowNull: false,
|
|
133
|
+
defaultValue: false
|
|
134
|
+
})
|
|
135
|
+
], ExercisesModels.prototype, "isPublic", void 0);
|
|
136
|
+
_ts_decorate([
|
|
137
|
+
Column({
|
|
138
|
+
type: DataType.STRING(500),
|
|
139
|
+
allowNull: true
|
|
140
|
+
})
|
|
141
|
+
], ExercisesModels.prototype, "thumbnailUrl", void 0);
|
|
129
142
|
_ts_decorate([
|
|
130
143
|
HasMany(()=>TranslatedExerciseModel)
|
|
131
144
|
], ExercisesModels.prototype, "translatedExercises", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/dbmodels/program/ExerciseModels.ts"],"sourcesContent":["import { Column, DataType, Default, HasMany, Model, Table } from \"sequelize-typescript\";\nimport type {ExerciseModel, ProgramTypes} from '../../models/ExerciseInterfaces.js';\nimport {TranslatedExerciseModel} from './TranslatedExerciseModel.js';\n\n@Table\nexport class ExercisesModels extends Model implements ExerciseModel {\n @Default(DataType.UUIDV4)\n @Column({\n type: DataType.UUID,\n defaultValue: DataType.UUID,\n allowNull: false,\n primaryKey: true,\n })\n declare uuid: string;\n\n @Column({ type: DataType.STRING, allowNull: false })\n declare name: string;\n\n @Column({ type: DataType.STRING, allowNull: true })\n declare restTime: string;\n\n @Column({ type: DataType.STRING(2048), allowNull: false })\n declare pointers: string;\n\n @Column({ type: DataType.BOOLEAN, allowNull: true })\n declare isCustom: boolean;\n\n @Column({ type: DataType.STRING, allowNull: false })\n declare url: string;\n\n @Column({ type: DataType.ARRAY(DataType.STRING), allowNull: false })\n declare level: string[];\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare hasPriority: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare isCompound: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare hasVariations: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare needsEquipment: boolean;\n\n @Column({ type: DataType.JSONB, allowNull: false })\n declare variations: object;\n\n @Column({ type: DataType.ARRAY(DataType.STRING), allowNull: false })\n declare muscles: string[];\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare homeWorkout: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare isBandAssisted: boolean;\n\n @Column({ type: DataType.ARRAY(DataType.STRING), allowNull: false })\n declare programType: ProgramTypes[];\n\n @Column({ type: DataType.STRING, allowNull: false })\n declare graphData: \"reps\" | \"weight\";\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare imageUrl: string;\n\n @Column({ type: DataType.STRING, allowNull: true })\n declare createdBy: string | null;\n\n @HasMany(() => TranslatedExerciseModel)\n declare translatedExercises: TranslatedExerciseModel[];\n}\n"],"names":["Column","DataType","Default","HasMany","Model","Table","TranslatedExerciseModel","ExercisesModels","UUIDV4","type","UUID","defaultValue","allowNull","primaryKey","STRING","BOOLEAN","ARRAY","JSONB","TEXT"],"mappings":";;;;;;AAAA,SAASA,MAAM,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AAExF,SAAQC,uBAAuB,QAAO,+BAA+B;AAGrE,OAAO,MAAMC,wBAAwBH;
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/dbmodels/program/ExerciseModels.ts"],"sourcesContent":["import { Column, DataType, Default, HasMany, Model, Table } from \"sequelize-typescript\";\nimport type {ExerciseModel, ProgramTypes} from '../../models/ExerciseInterfaces.js';\nimport {TranslatedExerciseModel} from './TranslatedExerciseModel.js';\n\n@Table\nexport class ExercisesModels extends Model implements ExerciseModel {\n @Default(DataType.UUIDV4)\n @Column({\n type: DataType.UUID,\n defaultValue: DataType.UUID,\n allowNull: false,\n primaryKey: true,\n })\n declare uuid: string;\n\n @Column({ type: DataType.STRING, allowNull: false })\n declare name: string;\n\n @Column({ type: DataType.STRING, allowNull: true })\n declare restTime: string;\n\n @Column({ type: DataType.STRING(2048), allowNull: false })\n declare pointers: string;\n\n @Column({ type: DataType.BOOLEAN, allowNull: true })\n declare isCustom: boolean;\n\n @Column({ type: DataType.STRING, allowNull: false })\n declare url: string;\n\n @Column({ type: DataType.ARRAY(DataType.STRING), allowNull: false })\n declare level: string[];\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare hasPriority: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare isCompound: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare hasVariations: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare needsEquipment: boolean;\n\n @Column({ type: DataType.JSONB, allowNull: false })\n declare variations: object;\n\n @Column({ type: DataType.ARRAY(DataType.STRING), allowNull: false })\n declare muscles: string[];\n\n @Column({ type: DataType.BOOLEAN, allowNull: false })\n declare homeWorkout: boolean;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare isBandAssisted: boolean;\n\n @Column({ type: DataType.ARRAY(DataType.STRING), allowNull: false })\n declare programType: ProgramTypes[];\n\n @Column({ type: DataType.STRING, allowNull: false })\n declare graphData: \"reps\" | \"weight\";\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare imageUrl: string;\n\n @Column({ type: DataType.STRING, allowNull: true })\n declare createdBy: string | null;\n\n @Column({ type: DataType.BOOLEAN, allowNull: false, defaultValue: false })\n declare isPublic: boolean;\n\n @Column({ type: DataType.STRING(500), allowNull: true })\n declare thumbnailUrl: string | null;\n\n @HasMany(() => TranslatedExerciseModel)\n declare translatedExercises: TranslatedExerciseModel[];\n}\n"],"names":["Column","DataType","Default","HasMany","Model","Table","TranslatedExerciseModel","ExercisesModels","UUIDV4","type","UUID","defaultValue","allowNull","primaryKey","STRING","BOOLEAN","ARRAY","JSONB","TEXT"],"mappings":";;;;;;AAAA,SAASA,MAAM,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,OAAO,EAAEC,KAAK,EAAEC,KAAK,QAAQ,uBAAuB;AAExF,SAAQC,uBAAuB,QAAO,+BAA+B;AAGrE,OAAO,MAAMC,wBAAwBH;AAwErC;;qBAvEsBI;;QAEdC,MAAMR,SAASS,IAAI;QACnBC,cAAcV,SAASS,IAAI;QAC3BE,WAAW;QACXC,YAAY;;;;;QAINJ,MAAMR,SAASa,MAAM;QAAEF,WAAW;;;;;QAGlCH,MAAMR,SAASa,MAAM;QAAEF,WAAW;;;;;QAGlCH,MAAMR,SAASa,MAAM,CAAC;QAAOF,WAAW;;;;;QAGxCH,MAAMR,SAASc,OAAO;QAAEH,WAAW;;;;;QAGnCH,MAAMR,SAASa,MAAM;QAAEF,WAAW;;;;;QAGlCH,MAAMR,SAASe,KAAK,CAACf,SAASa,MAAM;QAAGF,WAAW;;;;;QAGlDH,MAAMR,SAASc,OAAO;QAAEH,WAAW;;;;;QAGnCH,MAAMR,SAASc,OAAO;QAAEH,WAAW;;;;;QAGnCH,MAAMR,SAASc,OAAO;QAAEH,WAAW;;;;;QAGnCH,MAAMR,SAASc,OAAO;QAAEH,WAAW;;;;;QAGnCH,MAAMR,SAASgB,KAAK;QAAEL,WAAW;;;;;QAGjCH,MAAMR,SAASe,KAAK,CAACf,SAASa,MAAM;QAAGF,WAAW;;;;;QAGlDH,MAAMR,SAASc,OAAO;QAAEH,WAAW;;;;;QAGnCH,MAAMR,SAASc,OAAO;QAAEH,WAAW;QAAOD,cAAc;;;;;QAGxDF,MAAMR,SAASe,KAAK,CAACf,SAASa,MAAM;QAAGF,WAAW;;;;;QAGlDH,MAAMR,SAASa,MAAM;QAAEF,WAAW;;;;;QAGlCH,MAAMR,SAASiB,IAAI;QAAEN,WAAW;;;;;QAGhCH,MAAMR,SAASa,MAAM;QAAEF,WAAW;;;;;QAGlCH,MAAMR,SAASc,OAAO;QAAEH,WAAW;QAAOD,cAAc;;;;;QAGxDF,MAAMR,SAASa,MAAM,CAAC;QAAMF,WAAW;;;;gBAGlCN"}
|
|
@@ -5,7 +5,7 @@ import type { CreationOptional } from "sequelize";
|
|
|
5
5
|
export declare class Subscription extends Model {
|
|
6
6
|
userUuid: string;
|
|
7
7
|
identifier: string;
|
|
8
|
-
platform: "google" | "apple" | "mollie";
|
|
8
|
+
platform: "google" | "apple" | "mollie" | "whop";
|
|
9
9
|
status: "active" | "canceled" | "expired";
|
|
10
10
|
type: string;
|
|
11
11
|
expiresOn: Date;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../../src/lib/dbmodels/subscription/Subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAGN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAEhD,qBACa,YAAa,SAAQ,KAAK;IAQ7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,MAAM,CAAC;IAGnB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"Subscription.d.ts","sourceRoot":"","sources":["../../../../src/lib/dbmodels/subscription/Subscription.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EAGN,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAC,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAEhD,qBACa,YAAa,SAAQ,KAAK;IAQ7B,QAAQ,EAAE,MAAM,CAAC;IAGjB,UAAU,EAAE,MAAM,CAAC;IAGnB,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,MAAM,CAAC;IAGjD,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;IAG1C,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,EAAE,IAAI,CAAC;IAGhB,SAAS,EAAE,IAAI,CAAC;IAGhB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAGhC,IAAI,EAAE,aAAa,CAAC;IAGpB,gBAAgB,EAAE,eAAe,EAAE,CAAC;IAKpC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAKzC,SAAS,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAClD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/lib/dbmodels/subscription/Subscription.ts"],"sourcesContent":["import {\n BelongsTo,\n Column, CreatedAt,\n DataType, Default,\n ForeignKey,\n HasMany,\n Model,\n PrimaryKey,\n Table, UpdatedAt,\n} from \"sequelize-typescript\";\nimport { SubscriptionLog } from './SubscriptionLog.js';\nimport {PersistedUser} from '../user/PersistedUser.js';\nimport type {CreationOptional} from \"sequelize\";\n\n@Table\nexport class Subscription extends Model {\n @ForeignKey(() => PersistedUser)\n @PrimaryKey\n @Column({\n type: DataType.UUID,\n allowNull: false,\n primaryKey: true,\n })\n declare userUuid: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare identifier: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare platform: \"google\" | \"apple\" | \"mollie\";\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare status: \"active\" | \"canceled\" | \"expired\";\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare type: string;\n\n @Column({ type: DataType.DATE, allowNull: false })\n declare expiresOn: Date;\n\n @Column({ type: DataType.DATE, allowNull: false })\n declare startDate: Date;\n\n @Column({ type: DataType.INTEGER, allowNull: true })\n declare delayedStartDays: number | null;\n\n @BelongsTo(() => PersistedUser)\n declare user: PersistedUser;\n\n @HasMany(() => SubscriptionLog)\n declare subscriptionLogs: SubscriptionLog[];\n\n @CreatedAt\n @Default(null) // Set the default value to null\n @Column({ type: DataType.DATE, allowNull: true, defaultValue: new Date() })\n declare createdAt: CreationOptional<Date> | null;\n\n @UpdatedAt\n @Default(null) // Set the default value to null\n @Column({ type: DataType.DATE, allowNull: true, defaultValue: new Date() })\n declare updatedAt: CreationOptional<Date> | null;\n}\n"],"names":["BelongsTo","Column","CreatedAt","DataType","Default","ForeignKey","HasMany","Model","PrimaryKey","Table","UpdatedAt","SubscriptionLog","PersistedUser","Subscription","type","UUID","allowNull","primaryKey","TEXT","DATE","INTEGER","defaultValue","Date"],"mappings":";;;;;;AAAA,SACEA,SAAS,EACTC,MAAM,EAAEC,SAAS,EACjBC,QAAQ,EAAEC,OAAO,EACjBC,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,UAAU,EACVC,KAAK,EAAEC,SAAS,QACX,uBAAuB;AAC9B,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAAQC,aAAa,QAAO,2BAA2B;AAIvD,OAAO,MAAMC,qBAAqBN;AA8ClC;;mBA7CoBK;;;QAGhBE,MAAMX,SAASY,IAAI;QACnBC,WAAW;QACXC,YAAY;;;;;QAIJH,MAAMX,SAASe,IAAI;QAAEF,WAAW;;;;;QAGhCF,MAAMX,SAASe,IAAI;QAAEF,WAAW;;;;;QAGhCF,MAAMX,SAASe,IAAI;QAAEF,WAAW;;;;;QAGhCF,MAAMX,SAASe,IAAI;QAAEF,WAAW;;;;;QAGhCF,MAAMX,SAASgB,IAAI;QAAEH,WAAW;;;;;QAGhCF,MAAMX,SAASgB,IAAI;QAAEH,WAAW;;;;;QAGhCF,MAAMX,SAASiB,OAAO;QAAEJ,WAAW;;;;kBAG5BJ;;;gBAGFD;;;;;;QAKLG,MAAMX,SAASgB,IAAI;QAAEH,WAAW;QAAMK,cAAc,IAAIC;;;;;;;QAKxDR,MAAMX,SAASgB,IAAI;QAAEH,WAAW;QAAMK,cAAc,IAAIC"}
|
|
1
|
+
{"version":3,"sources":["../../../../src/lib/dbmodels/subscription/Subscription.ts"],"sourcesContent":["import {\n BelongsTo,\n Column, CreatedAt,\n DataType, Default,\n ForeignKey,\n HasMany,\n Model,\n PrimaryKey,\n Table, UpdatedAt,\n} from \"sequelize-typescript\";\nimport { SubscriptionLog } from './SubscriptionLog.js';\nimport {PersistedUser} from '../user/PersistedUser.js';\nimport type {CreationOptional} from \"sequelize\";\n\n@Table\nexport class Subscription extends Model {\n @ForeignKey(() => PersistedUser)\n @PrimaryKey\n @Column({\n type: DataType.UUID,\n allowNull: false,\n primaryKey: true,\n })\n declare userUuid: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare identifier: string;\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare platform: \"google\" | \"apple\" | \"mollie\" | \"whop\";\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare status: \"active\" | \"canceled\" | \"expired\";\n\n @Column({ type: DataType.TEXT, allowNull: false })\n declare type: string;\n\n @Column({ type: DataType.DATE, allowNull: false })\n declare expiresOn: Date;\n\n @Column({ type: DataType.DATE, allowNull: false })\n declare startDate: Date;\n\n @Column({ type: DataType.INTEGER, allowNull: true })\n declare delayedStartDays: number | null;\n\n @BelongsTo(() => PersistedUser)\n declare user: PersistedUser;\n\n @HasMany(() => SubscriptionLog)\n declare subscriptionLogs: SubscriptionLog[];\n\n @CreatedAt\n @Default(null) // Set the default value to null\n @Column({ type: DataType.DATE, allowNull: true, defaultValue: new Date() })\n declare createdAt: CreationOptional<Date> | null;\n\n @UpdatedAt\n @Default(null) // Set the default value to null\n @Column({ type: DataType.DATE, allowNull: true, defaultValue: new Date() })\n declare updatedAt: CreationOptional<Date> | null;\n}\n"],"names":["BelongsTo","Column","CreatedAt","DataType","Default","ForeignKey","HasMany","Model","PrimaryKey","Table","UpdatedAt","SubscriptionLog","PersistedUser","Subscription","type","UUID","allowNull","primaryKey","TEXT","DATE","INTEGER","defaultValue","Date"],"mappings":";;;;;;AAAA,SACEA,SAAS,EACTC,MAAM,EAAEC,SAAS,EACjBC,QAAQ,EAAEC,OAAO,EACjBC,UAAU,EACVC,OAAO,EACPC,KAAK,EACLC,UAAU,EACVC,KAAK,EAAEC,SAAS,QACX,uBAAuB;AAC9B,SAASC,eAAe,QAAQ,uBAAuB;AACvD,SAAQC,aAAa,QAAO,2BAA2B;AAIvD,OAAO,MAAMC,qBAAqBN;AA8ClC;;mBA7CoBK;;;QAGhBE,MAAMX,SAASY,IAAI;QACnBC,WAAW;QACXC,YAAY;;;;;QAIJH,MAAMX,SAASe,IAAI;QAAEF,WAAW;;;;;QAGhCF,MAAMX,SAASe,IAAI;QAAEF,WAAW;;;;;QAGhCF,MAAMX,SAASe,IAAI;QAAEF,WAAW;;;;;QAGhCF,MAAMX,SAASe,IAAI;QAAEF,WAAW;;;;;QAGhCF,MAAMX,SAASgB,IAAI;QAAEH,WAAW;;;;;QAGhCF,MAAMX,SAASgB,IAAI;QAAEH,WAAW;;;;;QAGhCF,MAAMX,SAASiB,OAAO;QAAEJ,WAAW;;;;kBAG5BJ;;;gBAGFD;;;;;;QAKLG,MAAMX,SAASgB,IAAI;QAAEH,WAAW;QAAMK,cAAc,IAAIC;;;;;;;QAKxDR,MAAMX,SAASgB,IAAI;QAAEH,WAAW;QAAMK,cAAc,IAAIC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ExerciseInterfaces.d.ts","sourceRoot":"","sources":["../../../src/lib/models/ExerciseInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAC,8BAA8B,EAAC,MAAM,uDAAuD,CAAC;AAC1G,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uCAAuC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ExerciseInterfaces.d.ts","sourceRoot":"","sources":["../../../src/lib/models/ExerciseInterfaces.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,0CAA0C,CAAC;AAChF,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,sCAAsC,CAAC;AACxE,OAAO,KAAK,EAAC,8BAA8B,EAAC,MAAM,uDAAuD,CAAC;AAC1G,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,uCAAuC,CAAC;AAE3E,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,iBAAiB,CAAC;CACzB;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,CAAC;CACpB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,QAAQ,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,qBAAqB;IACpC,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,eAAe,CAAC;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,4CAA4C;IAC3D,SAAS,EAAE,8BAA8B,EAAE,CAAC;CAC7C;AAED,MAAM,WAAW,yCAAyC;IACxD,SAAS,EAAE,8BAA8B,EAAE,CAAC;CAC7C;AAED,MAAM,MAAM,YAAY,GAClB,uBAAuB,GACvB,0BAA0B,GAC1B,wBAAwB,GACxB,SAAS,GACT,MAAM,CAAC;AAEb,MAAM,WAAW,QAAQ;IACvB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;CAC5C;AAID,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/lib/models/ExerciseInterfaces.ts"],"sourcesContent":["import type {UserStrengthTests} from '../dbmodels/program/UserStrengthTests.js';\nimport type {UserChallenge} from '../dbmodels/program/UserChallenge.js';\nimport type {TranslatedStrengthTestExercise} from '../dbmodels/program/TranslatedStrengthTestExercise.js';\nimport type {ExercisesModels} from '../dbmodels/program/ExerciseModels.js';\n\nexport interface ExerciseModel {\n uuid: string;\n name: string;\n level: string[];\n isCompound: boolean;\n needsEquipment: boolean;\n hasPriority: boolean;\n hasVariations: boolean;\n variations: object;\n muscles: string[];\n homeWorkout: boolean;\n createdBy?: string | null;\n}\n\nexport interface ExerciseProgress {\n exerciseUuid: string;\n progress: Progress[];\n}\n\nexport interface UpdateSTRequest {\n body: UserStrengthTests;\n}\n\nexport interface UpdateUserChallengeRequest {\n body: UserChallenge;\n}\n\nexport interface STExerciseProgress {\n exerciseUuid: string;\n progress: Progress;\n}\n\nexport interface ExercisePerformance {\n workoutIndex: number;\n progress: Progress[];\n}\n\nexport interface SwapExerciseRequest {\n exerciseUuid: string;\n}\n\nexport interface ChangeExerciseRequest {\n oldExerciseUuid: string;\n newExercise: ExercisesModels;\n}\n\nexport interface ReducedExercise {\n uuid: string;\n name: string;\n order: number;\n progress?: Progress[];\n sets: string;\n reps: string;\n restTime?: string;\n}\n\nexport interface UpdateTranslatedStrengthTestExercisesRequest {\n exercises: TranslatedStrengthTestExercise[];\n}\n\nexport interface AddTranslatedStrengthTestExercisesRequest {\n exercises: TranslatedStrengthTestExercise[];\n}\n\nexport type ProgramTypes =\n | \"BodyweightHomeWorkout\"\n | \"BodyweightOnlyBodyweight\"\n | \"BodyweightWeightedCali\"\n | \"Weights\"\n | \"Both\";\n\nexport interface Progress {\n [key: string]: number | string | undefined;\n}\n\n\n\nexport interface ProgressByExercise {\n name: string;\n totalRepsDone: number;\n weight: number;\n}\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/models/ExerciseInterfaces.ts"],"sourcesContent":["import type {UserStrengthTests} from '../dbmodels/program/UserStrengthTests.js';\nimport type {UserChallenge} from '../dbmodels/program/UserChallenge.js';\nimport type {TranslatedStrengthTestExercise} from '../dbmodels/program/TranslatedStrengthTestExercise.js';\nimport type {ExercisesModels} from '../dbmodels/program/ExerciseModels.js';\n\nexport interface ExerciseModel {\n uuid: string;\n name: string;\n level: string[];\n isCompound: boolean;\n needsEquipment: boolean;\n hasPriority: boolean;\n hasVariations: boolean;\n variations: object;\n muscles: string[];\n homeWorkout: boolean;\n createdBy?: string | null;\n isPublic: boolean;\n}\n\nexport interface ExerciseProgress {\n exerciseUuid: string;\n progress: Progress[];\n}\n\nexport interface UpdateSTRequest {\n body: UserStrengthTests;\n}\n\nexport interface UpdateUserChallengeRequest {\n body: UserChallenge;\n}\n\nexport interface STExerciseProgress {\n exerciseUuid: string;\n progress: Progress;\n}\n\nexport interface ExercisePerformance {\n workoutIndex: number;\n progress: Progress[];\n}\n\nexport interface SwapExerciseRequest {\n exerciseUuid: string;\n}\n\nexport interface ChangeExerciseRequest {\n oldExerciseUuid: string;\n newExercise: ExercisesModels;\n}\n\nexport interface ReducedExercise {\n uuid: string;\n name: string;\n order: number;\n progress?: Progress[];\n sets: string;\n reps: string;\n restTime?: string;\n}\n\nexport interface UpdateTranslatedStrengthTestExercisesRequest {\n exercises: TranslatedStrengthTestExercise[];\n}\n\nexport interface AddTranslatedStrengthTestExercisesRequest {\n exercises: TranslatedStrengthTestExercise[];\n}\n\nexport type ProgramTypes =\n | \"BodyweightHomeWorkout\"\n | \"BodyweightOnlyBodyweight\"\n | \"BodyweightWeightedCali\"\n | \"Weights\"\n | \"Both\";\n\nexport interface Progress {\n [key: string]: number | string | undefined;\n}\n\n\n\nexport interface ProgressByExercise {\n name: string;\n totalRepsDone: number;\n weight: number;\n}\n"],"names":[],"mappings":"AAmFA,WAIC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"populate-exercise-thumbnails.d.ts","sourceRoot":"","sources":["../../../src/lib/scripts/populate-exercise-thumbnails.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { ExercisesModels } from "../dbmodels/program/ExerciseModels.js";
|
|
2
|
+
import axios from "axios";
|
|
3
|
+
import { DatabaseClient } from "../classes/Database.js";
|
|
4
|
+
/**
|
|
5
|
+
* Script to populate thumbnailUrl for all exercises that have a Vimeo URL
|
|
6
|
+
* Run with: npx ts-node src/lib/scripts/populate-exercise-thumbnails.ts
|
|
7
|
+
*/ async function populateThumbnails() {
|
|
8
|
+
console.log("Starting thumbnail population...");
|
|
9
|
+
// Initialize database connection
|
|
10
|
+
console.log("Database connected");
|
|
11
|
+
// Fetch all exercises that have a URL but no thumbnail
|
|
12
|
+
const exercises = await ExercisesModels.findAll({
|
|
13
|
+
where: {
|
|
14
|
+
thumbnailUrl: null
|
|
15
|
+
}
|
|
16
|
+
});
|
|
17
|
+
console.log(`Found ${exercises.length} exercises without thumbnails`);
|
|
18
|
+
let successCount = 0;
|
|
19
|
+
let failCount = 0;
|
|
20
|
+
for (const exercise of exercises){
|
|
21
|
+
if (!exercise.url) {
|
|
22
|
+
console.log(`Skipping ${exercise.name} - no URL`);
|
|
23
|
+
continue;
|
|
24
|
+
}
|
|
25
|
+
try {
|
|
26
|
+
console.log(`Fetching thumbnail for: ${exercise.name}`);
|
|
27
|
+
const response = await axios.get(`https://vimeo.com/api/oembed.json?url=${exercise.url}`, {
|
|
28
|
+
timeout: 5000
|
|
29
|
+
});
|
|
30
|
+
const thumbnailUrl = response.data.thumbnail_url;
|
|
31
|
+
if (thumbnailUrl) {
|
|
32
|
+
await exercise.update({
|
|
33
|
+
thumbnailUrl
|
|
34
|
+
});
|
|
35
|
+
console.log(`✓ Updated ${exercise.name}`);
|
|
36
|
+
successCount++;
|
|
37
|
+
} else {
|
|
38
|
+
console.log(`✗ No thumbnail found for ${exercise.name}`);
|
|
39
|
+
failCount++;
|
|
40
|
+
}
|
|
41
|
+
// Rate limiting - wait 100ms between requests
|
|
42
|
+
await new Promise((resolve)=>setTimeout(resolve, 100));
|
|
43
|
+
} catch (error) {
|
|
44
|
+
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
45
|
+
console.error(`✗ Error fetching thumbnail for ${exercise.name}:`, errorMessage);
|
|
46
|
+
failCount++;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
console.log("\n=== Summary ===");
|
|
50
|
+
console.log(`Total exercises: ${exercises.length}`);
|
|
51
|
+
console.log(`✓ Success: ${successCount}`);
|
|
52
|
+
console.log(`✗ Failed: ${failCount}`);
|
|
53
|
+
await DatabaseClient.close();
|
|
54
|
+
console.log("Database connection closed");
|
|
55
|
+
}
|
|
56
|
+
populateThumbnails().then(()=>{
|
|
57
|
+
console.log("Script completed successfully");
|
|
58
|
+
process.exit(0);
|
|
59
|
+
}).catch((error)=>{
|
|
60
|
+
console.error("Script failed:", error);
|
|
61
|
+
process.exit(1);
|
|
62
|
+
});
|
|
63
|
+
|
|
64
|
+
//# sourceMappingURL=populate-exercise-thumbnails.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/lib/scripts/populate-exercise-thumbnails.ts"],"sourcesContent":["import { ExercisesModels } from \"../dbmodels/program/ExerciseModels.js\";\nimport axios from \"axios\";\nimport {DatabaseClient} from \"../classes/Database.js\";\n\n/**\n * Script to populate thumbnailUrl for all exercises that have a Vimeo URL\n * Run with: npx ts-node src/lib/scripts/populate-exercise-thumbnails.ts\n */\n\nasync function populateThumbnails() {\n console.log(\"Starting thumbnail population...\");\n\n // Initialize database connection\n console.log(\"Database connected\");\n\n // Fetch all exercises that have a URL but no thumbnail\n const exercises = await ExercisesModels.findAll({\n where: {\n thumbnailUrl: null,\n },\n });\n\n console.log(`Found ${exercises.length} exercises without thumbnails`);\n\n let successCount = 0;\n let failCount = 0;\n\n for (const exercise of exercises) {\n if (!exercise.url) {\n console.log(`Skipping ${exercise.name} - no URL`);\n continue;\n }\n\n try {\n console.log(`Fetching thumbnail for: ${exercise.name}`);\n const response = await axios.get(\n `https://vimeo.com/api/oembed.json?url=${exercise.url}`,\n { timeout: 5000 }\n );\n\n const thumbnailUrl = response.data.thumbnail_url;\n\n if (thumbnailUrl) {\n await exercise.update({ thumbnailUrl });\n console.log(`✓ Updated ${exercise.name}`);\n successCount++;\n } else {\n console.log(`✗ No thumbnail found for ${exercise.name}`);\n failCount++;\n }\n\n // Rate limiting - wait 100ms between requests\n await new Promise((resolve) => setTimeout(resolve, 100));\n } catch (error) {\n const errorMessage = error instanceof Error ? error.message : String(error);\n console.error(`✗ Error fetching thumbnail for ${exercise.name}:`, errorMessage);\n failCount++;\n }\n }\n\n console.log(\"\\n=== Summary ===\");\n console.log(`Total exercises: ${exercises.length}`);\n console.log(`✓ Success: ${successCount}`);\n console.log(`✗ Failed: ${failCount}`);\n\n await DatabaseClient.close();\n console.log(\"Database connection closed\");\n}\n\npopulateThumbnails()\n .then(() => {\n console.log(\"Script completed successfully\");\n process.exit(0);\n })\n .catch((error) => {\n console.error(\"Script failed:\", error);\n process.exit(1);\n });\n"],"names":["ExercisesModels","axios","DatabaseClient","populateThumbnails","console","log","exercises","findAll","where","thumbnailUrl","length","successCount","failCount","exercise","url","name","response","get","timeout","data","thumbnail_url","update","Promise","resolve","setTimeout","error","errorMessage","Error","message","String","close","then","process","exit","catch"],"mappings":"AAAA,SAASA,eAAe,QAAQ,wCAAwC;AACxE,OAAOC,WAAW,QAAQ;AAC1B,SAAQC,cAAc,QAAO,yBAAyB;AAEtD;;;CAGC,GAED,eAAeC;IACbC,QAAQC,GAAG,CAAC;IAEZ,iCAAiC;IACjCD,QAAQC,GAAG,CAAC;IAEZ,uDAAuD;IACvD,MAAMC,YAAY,MAAMN,gBAAgBO,OAAO,CAAC;QAC9CC,OAAO;YACLC,cAAc;QAChB;IACF;IAEAL,QAAQC,GAAG,CAAC,CAAC,MAAM,EAAEC,UAAUI,MAAM,CAAC,6BAA6B,CAAC;IAEpE,IAAIC,eAAe;IACnB,IAAIC,YAAY;IAEhB,KAAK,MAAMC,YAAYP,UAAW;QAChC,IAAI,CAACO,SAASC,GAAG,EAAE;YACjBV,QAAQC,GAAG,CAAC,CAAC,SAAS,EAAEQ,SAASE,IAAI,CAAC,SAAS,CAAC;YAChD;QACF;QAEA,IAAI;YACFX,QAAQC,GAAG,CAAC,CAAC,wBAAwB,EAAEQ,SAASE,IAAI,EAAE;YACtD,MAAMC,WAAW,MAAMf,MAAMgB,GAAG,CAC9B,CAAC,sCAAsC,EAAEJ,SAASC,GAAG,EAAE,EACvD;gBAAEI,SAAS;YAAK;YAGlB,MAAMT,eAAeO,SAASG,IAAI,CAACC,aAAa;YAEhD,IAAIX,cAAc;gBAChB,MAAMI,SAASQ,MAAM,CAAC;oBAAEZ;gBAAa;gBACrCL,QAAQC,GAAG,CAAC,CAAC,UAAU,EAAEQ,SAASE,IAAI,EAAE;gBACxCJ;YACF,OAAO;gBACLP,QAAQC,GAAG,CAAC,CAAC,yBAAyB,EAAEQ,SAASE,IAAI,EAAE;gBACvDH;YACF;YAEA,8CAA8C;YAC9C,MAAM,IAAIU,QAAQ,CAACC,UAAYC,WAAWD,SAAS;QACrD,EAAE,OAAOE,OAAO;YACd,MAAMC,eAAeD,iBAAiBE,QAAQF,MAAMG,OAAO,GAAGC,OAAOJ;YACrErB,QAAQqB,KAAK,CAAC,CAAC,+BAA+B,EAAEZ,SAASE,IAAI,CAAC,CAAC,CAAC,EAAEW;YAClEd;QACF;IACF;IAEAR,QAAQC,GAAG,CAAC;IACZD,QAAQC,GAAG,CAAC,CAAC,iBAAiB,EAAEC,UAAUI,MAAM,EAAE;IAClDN,QAAQC,GAAG,CAAC,CAAC,WAAW,EAAEM,cAAc;IACxCP,QAAQC,GAAG,CAAC,CAAC,UAAU,EAAEO,WAAW;IAEpC,MAAMV,eAAe4B,KAAK;IAC1B1B,QAAQC,GAAG,CAAC;AACd;AAEAF,qBACG4B,IAAI,CAAC;IACJ3B,QAAQC,GAAG,CAAC;IACZ2B,QAAQC,IAAI,CAAC;AACf,GACCC,KAAK,CAAC,CAACT;IACNrB,QAAQqB,KAAK,CAAC,kBAAkBA;IAChCO,QAAQC,IAAI,CAAC;AACf"}
|