github.com/NpoolPlatform/chain-middleware@v0.0.0-20240228100535-eb1bcf896eb9/pkg/db/ent/exchangerate.go (about)

     1  // Code generated by ent, DO NOT EDIT.
     2  
     3  package ent
     4  
     5  import (
     6  	"encoding/json"
     7  	"fmt"
     8  	"strings"
     9  
    10  	"entgo.io/ent/dialect/sql"
    11  	"github.com/NpoolPlatform/chain-middleware/pkg/db/ent/exchangerate"
    12  	"github.com/google/uuid"
    13  	"github.com/shopspring/decimal"
    14  )
    15  
    16  // ExchangeRate is the model entity for the ExchangeRate schema.
    17  type ExchangeRate struct {
    18  	config `json:"-"`
    19  	// ID of the ent.
    20  	ID uint32 `json:"id,omitempty"`
    21  	// CreatedAt holds the value of the "created_at" field.
    22  	CreatedAt uint32 `json:"created_at,omitempty"`
    23  	// UpdatedAt holds the value of the "updated_at" field.
    24  	UpdatedAt uint32 `json:"updated_at,omitempty"`
    25  	// DeletedAt holds the value of the "deleted_at" field.
    26  	DeletedAt uint32 `json:"deleted_at,omitempty"`
    27  	// EntID holds the value of the "ent_id" field.
    28  	EntID uuid.UUID `json:"ent_id,omitempty"`
    29  	// AppID holds the value of the "app_id" field.
    30  	AppID uuid.UUID `json:"app_id,omitempty"`
    31  	// CoinTypeID holds the value of the "coin_type_id" field.
    32  	CoinTypeID uuid.UUID `json:"coin_type_id,omitempty"`
    33  	// MarketValue holds the value of the "market_value" field.
    34  	MarketValue decimal.Decimal `json:"market_value,omitempty"`
    35  	// SettleValue holds the value of the "settle_value" field.
    36  	SettleValue decimal.Decimal `json:"settle_value,omitempty"`
    37  	// SettlePercent holds the value of the "settle_percent" field.
    38  	SettlePercent uint32 `json:"settle_percent,omitempty"`
    39  	// SettleTips holds the value of the "settle_tips" field.
    40  	SettleTips []string `json:"settle_tips,omitempty"`
    41  	// Setter holds the value of the "setter" field.
    42  	Setter uuid.UUID `json:"setter,omitempty"`
    43  }
    44  
    45  // scanValues returns the types for scanning values from sql.Rows.
    46  func (*ExchangeRate) scanValues(columns []string) ([]interface{}, error) {
    47  	values := make([]interface{}, len(columns))
    48  	for i := range columns {
    49  		switch columns[i] {
    50  		case exchangerate.FieldSettleTips:
    51  			values[i] = new([]byte)
    52  		case exchangerate.FieldMarketValue, exchangerate.FieldSettleValue:
    53  			values[i] = new(decimal.Decimal)
    54  		case exchangerate.FieldID, exchangerate.FieldCreatedAt, exchangerate.FieldUpdatedAt, exchangerate.FieldDeletedAt, exchangerate.FieldSettlePercent:
    55  			values[i] = new(sql.NullInt64)
    56  		case exchangerate.FieldEntID, exchangerate.FieldAppID, exchangerate.FieldCoinTypeID, exchangerate.FieldSetter:
    57  			values[i] = new(uuid.UUID)
    58  		default:
    59  			return nil, fmt.Errorf("unexpected column %q for type ExchangeRate", columns[i])
    60  		}
    61  	}
    62  	return values, nil
    63  }
    64  
    65  // assignValues assigns the values that were returned from sql.Rows (after scanning)
    66  // to the ExchangeRate fields.
    67  func (er *ExchangeRate) assignValues(columns []string, values []interface{}) error {
    68  	if m, n := len(values), len(columns); m < n {
    69  		return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
    70  	}
    71  	for i := range columns {
    72  		switch columns[i] {
    73  		case exchangerate.FieldID:
    74  			value, ok := values[i].(*sql.NullInt64)
    75  			if !ok {
    76  				return fmt.Errorf("unexpected type %T for field id", value)
    77  			}
    78  			er.ID = uint32(value.Int64)
    79  		case exchangerate.FieldCreatedAt:
    80  			if value, ok := values[i].(*sql.NullInt64); !ok {
    81  				return fmt.Errorf("unexpected type %T for field created_at", values[i])
    82  			} else if value.Valid {
    83  				er.CreatedAt = uint32(value.Int64)
    84  			}
    85  		case exchangerate.FieldUpdatedAt:
    86  			if value, ok := values[i].(*sql.NullInt64); !ok {
    87  				return fmt.Errorf("unexpected type %T for field updated_at", values[i])
    88  			} else if value.Valid {
    89  				er.UpdatedAt = uint32(value.Int64)
    90  			}
    91  		case exchangerate.FieldDeletedAt:
    92  			if value, ok := values[i].(*sql.NullInt64); !ok {
    93  				return fmt.Errorf("unexpected type %T for field deleted_at", values[i])
    94  			} else if value.Valid {
    95  				er.DeletedAt = uint32(value.Int64)
    96  			}
    97  		case exchangerate.FieldEntID:
    98  			if value, ok := values[i].(*uuid.UUID); !ok {
    99  				return fmt.Errorf("unexpected type %T for field ent_id", values[i])
   100  			} else if value != nil {
   101  				er.EntID = *value
   102  			}
   103  		case exchangerate.FieldAppID:
   104  			if value, ok := values[i].(*uuid.UUID); !ok {
   105  				return fmt.Errorf("unexpected type %T for field app_id", values[i])
   106  			} else if value != nil {
   107  				er.AppID = *value
   108  			}
   109  		case exchangerate.FieldCoinTypeID:
   110  			if value, ok := values[i].(*uuid.UUID); !ok {
   111  				return fmt.Errorf("unexpected type %T for field coin_type_id", values[i])
   112  			} else if value != nil {
   113  				er.CoinTypeID = *value
   114  			}
   115  		case exchangerate.FieldMarketValue:
   116  			if value, ok := values[i].(*decimal.Decimal); !ok {
   117  				return fmt.Errorf("unexpected type %T for field market_value", values[i])
   118  			} else if value != nil {
   119  				er.MarketValue = *value
   120  			}
   121  		case exchangerate.FieldSettleValue:
   122  			if value, ok := values[i].(*decimal.Decimal); !ok {
   123  				return fmt.Errorf("unexpected type %T for field settle_value", values[i])
   124  			} else if value != nil {
   125  				er.SettleValue = *value
   126  			}
   127  		case exchangerate.FieldSettlePercent:
   128  			if value, ok := values[i].(*sql.NullInt64); !ok {
   129  				return fmt.Errorf("unexpected type %T for field settle_percent", values[i])
   130  			} else if value.Valid {
   131  				er.SettlePercent = uint32(value.Int64)
   132  			}
   133  		case exchangerate.FieldSettleTips:
   134  			if value, ok := values[i].(*[]byte); !ok {
   135  				return fmt.Errorf("unexpected type %T for field settle_tips", values[i])
   136  			} else if value != nil && len(*value) > 0 {
   137  				if err := json.Unmarshal(*value, &er.SettleTips); err != nil {
   138  					return fmt.Errorf("unmarshal field settle_tips: %w", err)
   139  				}
   140  			}
   141  		case exchangerate.FieldSetter:
   142  			if value, ok := values[i].(*uuid.UUID); !ok {
   143  				return fmt.Errorf("unexpected type %T for field setter", values[i])
   144  			} else if value != nil {
   145  				er.Setter = *value
   146  			}
   147  		}
   148  	}
   149  	return nil
   150  }
   151  
   152  // Update returns a builder for updating this ExchangeRate.
   153  // Note that you need to call ExchangeRate.Unwrap() before calling this method if this ExchangeRate
   154  // was returned from a transaction, and the transaction was committed or rolled back.
   155  func (er *ExchangeRate) Update() *ExchangeRateUpdateOne {
   156  	return (&ExchangeRateClient{config: er.config}).UpdateOne(er)
   157  }
   158  
   159  // Unwrap unwraps the ExchangeRate entity that was returned from a transaction after it was closed,
   160  // so that all future queries will be executed through the driver which created the transaction.
   161  func (er *ExchangeRate) Unwrap() *ExchangeRate {
   162  	_tx, ok := er.config.driver.(*txDriver)
   163  	if !ok {
   164  		panic("ent: ExchangeRate is not a transactional entity")
   165  	}
   166  	er.config.driver = _tx.drv
   167  	return er
   168  }
   169  
   170  // String implements the fmt.Stringer.
   171  func (er *ExchangeRate) String() string {
   172  	var builder strings.Builder
   173  	builder.WriteString("ExchangeRate(")
   174  	builder.WriteString(fmt.Sprintf("id=%v, ", er.ID))
   175  	builder.WriteString("created_at=")
   176  	builder.WriteString(fmt.Sprintf("%v", er.CreatedAt))
   177  	builder.WriteString(", ")
   178  	builder.WriteString("updated_at=")
   179  	builder.WriteString(fmt.Sprintf("%v", er.UpdatedAt))
   180  	builder.WriteString(", ")
   181  	builder.WriteString("deleted_at=")
   182  	builder.WriteString(fmt.Sprintf("%v", er.DeletedAt))
   183  	builder.WriteString(", ")
   184  	builder.WriteString("ent_id=")
   185  	builder.WriteString(fmt.Sprintf("%v", er.EntID))
   186  	builder.WriteString(", ")
   187  	builder.WriteString("app_id=")
   188  	builder.WriteString(fmt.Sprintf("%v", er.AppID))
   189  	builder.WriteString(", ")
   190  	builder.WriteString("coin_type_id=")
   191  	builder.WriteString(fmt.Sprintf("%v", er.CoinTypeID))
   192  	builder.WriteString(", ")
   193  	builder.WriteString("market_value=")
   194  	builder.WriteString(fmt.Sprintf("%v", er.MarketValue))
   195  	builder.WriteString(", ")
   196  	builder.WriteString("settle_value=")
   197  	builder.WriteString(fmt.Sprintf("%v", er.SettleValue))
   198  	builder.WriteString(", ")
   199  	builder.WriteString("settle_percent=")
   200  	builder.WriteString(fmt.Sprintf("%v", er.SettlePercent))
   201  	builder.WriteString(", ")
   202  	builder.WriteString("settle_tips=")
   203  	builder.WriteString(fmt.Sprintf("%v", er.SettleTips))
   204  	builder.WriteString(", ")
   205  	builder.WriteString("setter=")
   206  	builder.WriteString(fmt.Sprintf("%v", er.Setter))
   207  	builder.WriteByte(')')
   208  	return builder.String()
   209  }
   210  
   211  // ExchangeRates is a parsable slice of ExchangeRate.
   212  type ExchangeRates []*ExchangeRate
   213  
   214  func (er ExchangeRates) config(cfg config) {
   215  	for _i := range er {
   216  		er[_i].config = cfg
   217  	}
   218  }