package schema import ( "time" "entgo.io/ent" "entgo.io/ent/schema/field" "entgo.io/ent/schema/index" ) // RefreshToken holds the schema definition for the RefreshToken entity. type RefreshToken struct { ent.Schema } // Fields of the RefreshToken. func (RefreshToken) Fields() []ent.Field { return []ent.Field{ field.String("id"). Unique(). Immutable(), field.String("user_id"). NotEmpty(). Comment("ID of the user who owns this refresh token"), field.String("token_hash"). NotEmpty(). Sensitive(). Comment("SHA256 hash of the refresh token"), field.Time("expires_at"). Comment("When the refresh token expires"), field.Time("created_at"). Default(time.Now). Immutable(), } } // Indexes of the RefreshToken. func (RefreshToken) Indexes() []ent.Index { return []ent.Index{ index.Fields("user_id"), index.Fields("token_hash"), index.Fields("expires_at"), } }