/ ent / token.go
token.go
  1  // Code generated by ent, DO NOT EDIT.
  2  
  3  package ent
  4  
  5  import (
  6  	"fmt"
  7  	"strings"
  8  	"time"
  9  
 10  	"entgo.io/ent"
 11  	"entgo.io/ent/dialect/sql"
 12  	"github.com/google/uuid"
 13  	"github.com/mrusme/journalist/ent/token"
 14  	"github.com/mrusme/journalist/ent/user"
 15  )
 16  
 17  // Token is the model entity for the Token schema.
 18  type Token struct {
 19  	config `json:"-"`
 20  	// ID of the ent.
 21  	ID uuid.UUID `json:"id,omitempty"`
 22  	// Type holds the value of the "type" field.
 23  	Type string `json:"type,omitempty"`
 24  	// Name holds the value of the "name" field.
 25  	Name string `json:"name,omitempty"`
 26  	// Token holds the value of the "token" field.
 27  	Token string `json:"-"`
 28  	// CreatedAt holds the value of the "created_at" field.
 29  	CreatedAt time.Time `json:"created_at,omitempty"`
 30  	// UpdatedAt holds the value of the "updated_at" field.
 31  	UpdatedAt time.Time `json:"updated_at,omitempty"`
 32  	// DeletedAt holds the value of the "deleted_at" field.
 33  	DeletedAt *time.Time `json:"deleted_at,omitempty"`
 34  	// Edges holds the relations/edges for other nodes in the graph.
 35  	// The values are being populated by the TokenQuery when eager-loading is set.
 36  	Edges        TokenEdges `json:"edges"`
 37  	user_tokens  *uuid.UUID
 38  	selectValues sql.SelectValues
 39  }
 40  
 41  // TokenEdges holds the relations/edges for other nodes in the graph.
 42  type TokenEdges struct {
 43  	// Owner holds the value of the owner edge.
 44  	Owner *User `json:"owner,omitempty"`
 45  	// loadedTypes holds the information for reporting if a
 46  	// type was loaded (or requested) in eager-loading or not.
 47  	loadedTypes [1]bool
 48  }
 49  
 50  // OwnerOrErr returns the Owner value or an error if the edge
 51  // was not loaded in eager-loading, or loaded but was not found.
 52  func (e TokenEdges) OwnerOrErr() (*User, error) {
 53  	if e.Owner != nil {
 54  		return e.Owner, nil
 55  	} else if e.loadedTypes[0] {
 56  		return nil, &NotFoundError{label: user.Label}
 57  	}
 58  	return nil, &NotLoadedError{edge: "owner"}
 59  }
 60  
 61  // scanValues returns the types for scanning values from sql.Rows.
 62  func (*Token) scanValues(columns []string) ([]any, error) {
 63  	values := make([]any, len(columns))
 64  	for i := range columns {
 65  		switch columns[i] {
 66  		case token.FieldType, token.FieldName, token.FieldToken:
 67  			values[i] = new(sql.NullString)
 68  		case token.FieldCreatedAt, token.FieldUpdatedAt, token.FieldDeletedAt:
 69  			values[i] = new(sql.NullTime)
 70  		case token.FieldID:
 71  			values[i] = new(uuid.UUID)
 72  		case token.ForeignKeys[0]: // user_tokens
 73  			values[i] = &sql.NullScanner{S: new(uuid.UUID)}
 74  		default:
 75  			values[i] = new(sql.UnknownType)
 76  		}
 77  	}
 78  	return values, nil
 79  }
 80  
 81  // assignValues assigns the values that were returned from sql.Rows (after scanning)
 82  // to the Token fields.
 83  func (t *Token) assignValues(columns []string, values []any) error {
 84  	if m, n := len(values), len(columns); m < n {
 85  		return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
 86  	}
 87  	for i := range columns {
 88  		switch columns[i] {
 89  		case token.FieldID:
 90  			if value, ok := values[i].(*uuid.UUID); !ok {
 91  				return fmt.Errorf("unexpected type %T for field id", values[i])
 92  			} else if value != nil {
 93  				t.ID = *value
 94  			}
 95  		case token.FieldType:
 96  			if value, ok := values[i].(*sql.NullString); !ok {
 97  				return fmt.Errorf("unexpected type %T for field type", values[i])
 98  			} else if value.Valid {
 99  				t.Type = value.String
100  			}
101  		case token.FieldName:
102  			if value, ok := values[i].(*sql.NullString); !ok {
103  				return fmt.Errorf("unexpected type %T for field name", values[i])
104  			} else if value.Valid {
105  				t.Name = value.String
106  			}
107  		case token.FieldToken:
108  			if value, ok := values[i].(*sql.NullString); !ok {
109  				return fmt.Errorf("unexpected type %T for field token", values[i])
110  			} else if value.Valid {
111  				t.Token = value.String
112  			}
113  		case token.FieldCreatedAt:
114  			if value, ok := values[i].(*sql.NullTime); !ok {
115  				return fmt.Errorf("unexpected type %T for field created_at", values[i])
116  			} else if value.Valid {
117  				t.CreatedAt = value.Time
118  			}
119  		case token.FieldUpdatedAt:
120  			if value, ok := values[i].(*sql.NullTime); !ok {
121  				return fmt.Errorf("unexpected type %T for field updated_at", values[i])
122  			} else if value.Valid {
123  				t.UpdatedAt = value.Time
124  			}
125  		case token.FieldDeletedAt:
126  			if value, ok := values[i].(*sql.NullTime); !ok {
127  				return fmt.Errorf("unexpected type %T for field deleted_at", values[i])
128  			} else if value.Valid {
129  				t.DeletedAt = new(time.Time)
130  				*t.DeletedAt = value.Time
131  			}
132  		case token.ForeignKeys[0]:
133  			if value, ok := values[i].(*sql.NullScanner); !ok {
134  				return fmt.Errorf("unexpected type %T for field user_tokens", values[i])
135  			} else if value.Valid {
136  				t.user_tokens = new(uuid.UUID)
137  				*t.user_tokens = *value.S.(*uuid.UUID)
138  			}
139  		default:
140  			t.selectValues.Set(columns[i], values[i])
141  		}
142  	}
143  	return nil
144  }
145  
146  // Value returns the ent.Value that was dynamically selected and assigned to the Token.
147  // This includes values selected through modifiers, order, etc.
148  func (t *Token) Value(name string) (ent.Value, error) {
149  	return t.selectValues.Get(name)
150  }
151  
152  // QueryOwner queries the "owner" edge of the Token entity.
153  func (t *Token) QueryOwner() *UserQuery {
154  	return NewTokenClient(t.config).QueryOwner(t)
155  }
156  
157  // Update returns a builder for updating this Token.
158  // Note that you need to call Token.Unwrap() before calling this method if this Token
159  // was returned from a transaction, and the transaction was committed or rolled back.
160  func (t *Token) Update() *TokenUpdateOne {
161  	return NewTokenClient(t.config).UpdateOne(t)
162  }
163  
164  // Unwrap unwraps the Token entity that was returned from a transaction after it was closed,
165  // so that all future queries will be executed through the driver which created the transaction.
166  func (t *Token) Unwrap() *Token {
167  	_tx, ok := t.config.driver.(*txDriver)
168  	if !ok {
169  		panic("ent: Token is not a transactional entity")
170  	}
171  	t.config.driver = _tx.drv
172  	return t
173  }
174  
175  // String implements the fmt.Stringer.
176  func (t *Token) String() string {
177  	var builder strings.Builder
178  	builder.WriteString("Token(")
179  	builder.WriteString(fmt.Sprintf("id=%v, ", t.ID))
180  	builder.WriteString("type=")
181  	builder.WriteString(t.Type)
182  	builder.WriteString(", ")
183  	builder.WriteString("name=")
184  	builder.WriteString(t.Name)
185  	builder.WriteString(", ")
186  	builder.WriteString("token=<sensitive>")
187  	builder.WriteString(", ")
188  	builder.WriteString("created_at=")
189  	builder.WriteString(t.CreatedAt.Format(time.ANSIC))
190  	builder.WriteString(", ")
191  	builder.WriteString("updated_at=")
192  	builder.WriteString(t.UpdatedAt.Format(time.ANSIC))
193  	builder.WriteString(", ")
194  	if v := t.DeletedAt; v != nil {
195  		builder.WriteString("deleted_at=")
196  		builder.WriteString(v.Format(time.ANSIC))
197  	}
198  	builder.WriteByte(')')
199  	return builder.String()
200  }
201  
202  // Tokens is a parsable slice of Token.
203  type Tokens []*Token