github.com/ngocphuongnb/tetua@v0.0.7-alpha/packages/entrepository/ent/setting.go (about)

     1  // Code generated by entc, DO NOT EDIT.
     2  
     3  package ent
     4  
     5  import (
     6  	"fmt"
     7  	"strings"
     8  	"time"
     9  
    10  	"entgo.io/ent/dialect/sql"
    11  	"github.com/ngocphuongnb/tetua/packages/entrepository/ent/setting"
    12  )
    13  
    14  // Setting is the model entity for the Setting schema.
    15  type Setting struct {
    16  	config `json:"-"`
    17  	// ID of the ent.
    18  	ID int `json:"id,omitempty"`
    19  	// CreatedAt holds the value of the "created_at" field.
    20  	CreatedAt time.Time `json:"omitempty"`
    21  	// UpdatedAt holds the value of the "updated_at" field.
    22  	UpdatedAt time.Time `json:"omitempty"`
    23  	// DeletedAt holds the value of the "deleted_at" field.
    24  	DeletedAt time.Time `json:"omitempty"`
    25  	// Name holds the value of the "name" field.
    26  	Name string `json:"name,omitempty"`
    27  	// Value holds the value of the "value" field.
    28  	Value string `json:"value,omitempty"`
    29  	// Type holds the value of the "type" field.
    30  	Type string `json:"type,omitempty"`
    31  }
    32  
    33  // scanValues returns the types for scanning values from sql.Rows.
    34  func (*Setting) scanValues(columns []string) ([]interface{}, error) {
    35  	values := make([]interface{}, len(columns))
    36  	for i := range columns {
    37  		switch columns[i] {
    38  		case setting.FieldID:
    39  			values[i] = new(sql.NullInt64)
    40  		case setting.FieldName, setting.FieldValue, setting.FieldType:
    41  			values[i] = new(sql.NullString)
    42  		case setting.FieldCreatedAt, setting.FieldUpdatedAt, setting.FieldDeletedAt:
    43  			values[i] = new(sql.NullTime)
    44  		default:
    45  			return nil, fmt.Errorf("unexpected column %q for type Setting", columns[i])
    46  		}
    47  	}
    48  	return values, nil
    49  }
    50  
    51  // assignValues assigns the values that were returned from sql.Rows (after scanning)
    52  // to the Setting fields.
    53  func (s *Setting) assignValues(columns []string, values []interface{}) error {
    54  	if m, n := len(values), len(columns); m < n {
    55  		return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
    56  	}
    57  	for i := range columns {
    58  		switch columns[i] {
    59  		case setting.FieldID:
    60  			value, ok := values[i].(*sql.NullInt64)
    61  			if !ok {
    62  				return fmt.Errorf("unexpected type %T for field id", value)
    63  			}
    64  			s.ID = int(value.Int64)
    65  		case setting.FieldCreatedAt:
    66  			if value, ok := values[i].(*sql.NullTime); !ok {
    67  				return fmt.Errorf("unexpected type %T for field created_at", values[i])
    68  			} else if value.Valid {
    69  				s.CreatedAt = value.Time
    70  			}
    71  		case setting.FieldUpdatedAt:
    72  			if value, ok := values[i].(*sql.NullTime); !ok {
    73  				return fmt.Errorf("unexpected type %T for field updated_at", values[i])
    74  			} else if value.Valid {
    75  				s.UpdatedAt = value.Time
    76  			}
    77  		case setting.FieldDeletedAt:
    78  			if value, ok := values[i].(*sql.NullTime); !ok {
    79  				return fmt.Errorf("unexpected type %T for field deleted_at", values[i])
    80  			} else if value.Valid {
    81  				s.DeletedAt = value.Time
    82  			}
    83  		case setting.FieldName:
    84  			if value, ok := values[i].(*sql.NullString); !ok {
    85  				return fmt.Errorf("unexpected type %T for field name", values[i])
    86  			} else if value.Valid {
    87  				s.Name = value.String
    88  			}
    89  		case setting.FieldValue:
    90  			if value, ok := values[i].(*sql.NullString); !ok {
    91  				return fmt.Errorf("unexpected type %T for field value", values[i])
    92  			} else if value.Valid {
    93  				s.Value = value.String
    94  			}
    95  		case setting.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  				s.Type = value.String
   100  			}
   101  		}
   102  	}
   103  	return nil
   104  }
   105  
   106  // Update returns a builder for updating this Setting.
   107  // Note that you need to call Setting.Unwrap() before calling this method if this Setting
   108  // was returned from a transaction, and the transaction was committed or rolled back.
   109  func (s *Setting) Update() *SettingUpdateOne {
   110  	return (&SettingClient{config: s.config}).UpdateOne(s)
   111  }
   112  
   113  // Unwrap unwraps the Setting entity that was returned from a transaction after it was closed,
   114  // so that all future queries will be executed through the driver which created the transaction.
   115  func (s *Setting) Unwrap() *Setting {
   116  	tx, ok := s.config.driver.(*txDriver)
   117  	if !ok {
   118  		panic("ent: Setting is not a transactional entity")
   119  	}
   120  	s.config.driver = tx.drv
   121  	return s
   122  }
   123  
   124  // String implements the fmt.Stringer.
   125  func (s *Setting) String() string {
   126  	var builder strings.Builder
   127  	builder.WriteString("Setting(")
   128  	builder.WriteString(fmt.Sprintf("id=%v", s.ID))
   129  	builder.WriteString(", created_at=")
   130  	builder.WriteString(s.CreatedAt.Format(time.ANSIC))
   131  	builder.WriteString(", updated_at=")
   132  	builder.WriteString(s.UpdatedAt.Format(time.ANSIC))
   133  	builder.WriteString(", deleted_at=")
   134  	builder.WriteString(s.DeletedAt.Format(time.ANSIC))
   135  	builder.WriteString(", name=")
   136  	builder.WriteString(s.Name)
   137  	builder.WriteString(", value=")
   138  	builder.WriteString(s.Value)
   139  	builder.WriteString(", type=")
   140  	builder.WriteString(s.Type)
   141  	builder.WriteByte(')')
   142  	return builder.String()
   143  }
   144  
   145  // Settings is a parsable slice of Setting.
   146  type Settings []*Setting
   147  
   148  func (s Settings) config(cfg config) {
   149  	for _i := range s {
   150  		s[_i].config = cfg
   151  	}
   152  }