github.com/Kartograf/gqlgen@v0.7.2/example/todo/models_gen.go (about) 1 // Code generated by github.com/99designs/gqlgen, DO NOT EDIT. 2 3 package todo 4 5 import ( 6 "fmt" 7 "io" 8 "strconv" 9 ) 10 11 // Passed to createTodo to create a new todo 12 type TodoInput struct { 13 Text string `json:"text"` 14 Done *bool `json:"done"` 15 } 16 17 type Role string 18 19 const ( 20 RoleAdmin Role = "ADMIN" 21 RoleOwner Role = "OWNER" 22 ) 23 24 func (e Role) IsValid() bool { 25 switch e { 26 case RoleAdmin, RoleOwner: 27 return true 28 } 29 return false 30 } 31 32 func (e Role) String() string { 33 return string(e) 34 } 35 36 func (e *Role) UnmarshalGQL(v interface{}) error { 37 str, ok := v.(string) 38 if !ok { 39 return fmt.Errorf("enums must be strings") 40 } 41 42 *e = Role(str) 43 if !e.IsValid() { 44 return fmt.Errorf("%s is not a valid Role", str) 45 } 46 return nil 47 } 48 49 func (e Role) MarshalGQL(w io.Writer) { 50 fmt.Fprint(w, strconv.Quote(e.String())) 51 }