package schema import ( "entgo.io/ent" "entgo.io/ent/schema/field" "entgo.io/ent/schema/edge" "time" ) // Contributor holds the schema definition for the Contributor entity. type Contributor struct { ent.Schema } // Fields of the Contributor. func (Contributor) Fields() []ent.Field { return []ent.Field{ field.String("name"). NotEmpty(), field.String("avatar_url"). Optional(), field.Text("bio"). Optional(), field.Time("created_at"). Default(time.Now), field.Time("updated_at"). Default(time.Now). UpdateDefault(time.Now), } } // Edges of the Contributor. func (Contributor) Edges() []ent.Edge { return []ent.Edge{ edge.From("user", User.Type). Ref("contributors"). Unique(), edge.To("social_links", ContributorSocialLink.Type), edge.To("posts", PostContributor.Type), } }