{{/* The line below tells Intellij/GoLand to enable the autocompletion based on the *gen.Graph type. */}} {{/* gotype: entgo.io/ent/entc/gen.Graph */}} {{ define "has_id" }} {{/* Add the base header for the generated file */}} {{ $pkg := base $.Config.Package }} {{ template "header" $ }} import "github.com/google/uuid" {{/* Loop over all nodes and implement the "HasID" interface */}} {{ range $n := $.Nodes }} {{ if not $n.ID }} {{/* If the node doesn't have an ID field, we skip it. */}} {{ continue }} {{ end }} {{/* The "HasID" interface is implemented by the "ID" method. */}} {{ $receiver := $n.Receiver }} func ({{ $receiver }} *{{ $n.Name }}) GetID() {{ $n.ID.Type }} { return {{ $receiver }}.ID } {{ end }} {{ end }}