// Copyright 2019-present Facebook Inc. All rights reserved. // This source code is licensed under the Apache 2.0 license found // in the LICENSE file in the root directory of this source tree. package schema import ( "entgo.io/ent" "entgo.io/ent/dialect/entsql" "entgo.io/ent/schema/edge" "entgo.io/ent/schema/field" ) // Post holds the schema definition for the Post entity. type Post struct { ent.Schema } // Fields of the Post. func (Post) Fields() []ent.Field { return []ent.Field{ field.String("text"). Default("What's on your mind?"), field.Int("author_id"). Optional(), } } // Edges of the Post. func (Post) Edges() []ent.Edge { return []ent.Edge{ edge.From("author", User.Type). Ref("posts"). Field("author_id"). Unique(), edge.To("comments", Comment.Type). Annotations(entsql.Annotation{ OnDelete: entsql.Cascade, }), } }