package schema import ( "likedream-goframe/internal/ent/schema/mix" "entgo.io/ent" "entgo.io/ent/dialect/entsql" "entgo.io/ent/schema" "entgo.io/ent/schema/edge" "entgo.io/ent/schema/field" ) type CourseEntity struct { ent.Schema } // Fields of the SysUser. func (CourseEntity) Fields() []ent.Field { return []ent.Field{ field.Int64("user_id"), field.String("username"), // 账号 field.String("password").Sensitive(), //密码 field.Enum("type").Values("xxt", "smartedu_sc"), // 类型:学习通、四川智慧教育 field.String("course_name"), // 课程名称 field.String("course_id"), // 课程ID field.Enum("need").Values("task", "exam", "all"), // 需要刷的内容:任务点、考试、全部 field.Enum("status").Values("not_start", "waiting", "doing", "done", "fail", "pause").Default("not_start"), // 状态 field.Int("task_count").Default(0), // 任务点数量 field.Int("success_count").Default(0), // 成功数量 field.Enum("exam_state").Values("not_start", "waiting", "doing", "done", "fail").Default("not_start"), // 考试状态 field.Enum("violence").Values("no", "yes").Default("no"), // 是否暴力刷课 field.Text("nodes").Optional().Sensitive(), // 所有节点信息(JSON格式) field.Text("completed_nodes").Optional().Sensitive(), // 已完成的节点ID列表(JSON格式) field.String("desc").Optional(), } } // Edges of the CpTask. func (CourseEntity) Edges() []ent.Edge { return []ent.Edge{ edge.From("sys_user", SysUser.Type).Ref("course_entity").Field("user_id").Unique().Required(), } } func (CourseEntity) Annotations() []schema.Annotation { return []schema.Annotation{ entsql.Annotation{Table: "course_entity"}, } } func (CourseEntity) Mixin() []ent.Mixin { return []ent.Mixin{ mix.MixinTime{}, } }