feat:更新依赖项的源地址,将所有依赖的镜像地址更改为官方的Yarn注册表地址,并在应用模块中引入新的Exercises模块。

This commit is contained in:
2025-08-14 21:14:18 +08:00
parent 366debf13a
commit 4a77dc1b88
10 changed files with 326 additions and 25 deletions

View File

@@ -0,0 +1,41 @@
import { Column, DataType, HasMany, Model, Table } from 'sequelize-typescript';
import { Exercise } from './exercise.model';
@Table({
tableName: 't_exercise_categories',
underscored: true,
})
export class ExerciseCategory extends Model {
@Column({
type: DataType.STRING,
primaryKey: true,
comment: '分类唯一键(英文/下划线)',
})
declare key: string;
@Column({
type: DataType.STRING,
allowNull: false,
comment: '分类中文名称',
})
declare name: string;
@Column({
type: DataType.INTEGER,
allowNull: false,
defaultValue: 0,
comment: '排序(升序)',
})
declare sortOrder: number;
@HasMany(() => Exercise, { foreignKey: 'categoryKey', sourceKey: 'key' })
declare exercises: Exercise[];
@Column({ type: DataType.DATE, defaultValue: DataType.NOW })
declare createdAt: Date;
@Column({ type: DataType.DATE, defaultValue: DataType.NOW })
declare updatedAt: Date;
}

View File

@@ -0,0 +1,42 @@
import { BelongsTo, Column, DataType, ForeignKey, Model, Table } from 'sequelize-typescript';
import { ExerciseCategory } from './exercise-category.model';
@Table({
tableName: 't_exercises',
underscored: true,
})
export class Exercise extends Model {
@Column({
type: DataType.STRING,
primaryKey: true,
comment: '动作唯一键(英文/下划线)',
})
declare key: string;
@Column({ type: DataType.STRING, allowNull: false, comment: '名称(含中英文)' })
declare name: string;
@Column({ type: DataType.STRING, allowNull: false, comment: '中文分类名(冗余,便于展示)' })
declare categoryName: string;
@Column({ type: DataType.TEXT, allowNull: false, comment: '描述' })
declare description: string;
@ForeignKey(() => ExerciseCategory)
@Column({ type: DataType.STRING, allowNull: false, comment: '分类键' })
declare categoryKey: string;
@BelongsTo(() => ExerciseCategory, { foreignKey: 'categoryKey', targetKey: 'key' })
declare category: ExerciseCategory;
@Column({ type: DataType.INTEGER, allowNull: false, defaultValue: 0, comment: '排序(分类内)' })
declare sortOrder: number;
@Column({ type: DataType.DATE, defaultValue: DataType.NOW })
declare createdAt: Date;
@Column({ type: DataType.DATE, defaultValue: DataType.NOW })
declare updatedAt: Date;
}