channelmonitorrequesttemplate.go 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. // Code generated by ent, DO NOT EDIT.
  2. package ent
  3. import (
  4. "encoding/json"
  5. "fmt"
  6. "strings"
  7. "time"
  8. "entgo.io/ent"
  9. "entgo.io/ent/dialect/sql"
  10. "github.com/Wei-Shaw/sub2api/ent/channelmonitorrequesttemplate"
  11. )
  12. // ChannelMonitorRequestTemplate is the model entity for the ChannelMonitorRequestTemplate schema.
  13. type ChannelMonitorRequestTemplate struct {
  14. config `json:"-"`
  15. // ID of the ent.
  16. ID int64 `json:"id,omitempty"`
  17. // CreatedAt holds the value of the "created_at" field.
  18. CreatedAt time.Time `json:"created_at,omitempty"`
  19. // UpdatedAt holds the value of the "updated_at" field.
  20. UpdatedAt time.Time `json:"updated_at,omitempty"`
  21. // Name holds the value of the "name" field.
  22. Name string `json:"name,omitempty"`
  23. // Provider holds the value of the "provider" field.
  24. Provider channelmonitorrequesttemplate.Provider `json:"provider,omitempty"`
  25. // OpenAI request protocol: chat_completions or responses; non-OpenAI uses chat_completions
  26. APIMode string `json:"api_mode,omitempty"`
  27. // Description holds the value of the "description" field.
  28. Description string `json:"description,omitempty"`
  29. // ExtraHeaders holds the value of the "extra_headers" field.
  30. ExtraHeaders map[string]string `json:"extra_headers,omitempty"`
  31. // BodyOverrideMode holds the value of the "body_override_mode" field.
  32. BodyOverrideMode string `json:"body_override_mode,omitempty"`
  33. // BodyOverride holds the value of the "body_override" field.
  34. BodyOverride map[string]interface{} `json:"body_override,omitempty"`
  35. // Edges holds the relations/edges for other nodes in the graph.
  36. // The values are being populated by the ChannelMonitorRequestTemplateQuery when eager-loading is set.
  37. Edges ChannelMonitorRequestTemplateEdges `json:"edges"`
  38. selectValues sql.SelectValues
  39. }
  40. // ChannelMonitorRequestTemplateEdges holds the relations/edges for other nodes in the graph.
  41. type ChannelMonitorRequestTemplateEdges struct {
  42. // Monitors holds the value of the monitors edge.
  43. Monitors []*ChannelMonitor `json:"monitors,omitempty"`
  44. // loadedTypes holds the information for reporting if a
  45. // type was loaded (or requested) in eager-loading or not.
  46. loadedTypes [1]bool
  47. }
  48. // MonitorsOrErr returns the Monitors value or an error if the edge
  49. // was not loaded in eager-loading.
  50. func (e ChannelMonitorRequestTemplateEdges) MonitorsOrErr() ([]*ChannelMonitor, error) {
  51. if e.loadedTypes[0] {
  52. return e.Monitors, nil
  53. }
  54. return nil, &NotLoadedError{edge: "monitors"}
  55. }
  56. // scanValues returns the types for scanning values from sql.Rows.
  57. func (*ChannelMonitorRequestTemplate) scanValues(columns []string) ([]any, error) {
  58. values := make([]any, len(columns))
  59. for i := range columns {
  60. switch columns[i] {
  61. case channelmonitorrequesttemplate.FieldExtraHeaders, channelmonitorrequesttemplate.FieldBodyOverride:
  62. values[i] = new([]byte)
  63. case channelmonitorrequesttemplate.FieldID:
  64. values[i] = new(sql.NullInt64)
  65. case channelmonitorrequesttemplate.FieldName, channelmonitorrequesttemplate.FieldProvider, channelmonitorrequesttemplate.FieldAPIMode, channelmonitorrequesttemplate.FieldDescription, channelmonitorrequesttemplate.FieldBodyOverrideMode:
  66. values[i] = new(sql.NullString)
  67. case channelmonitorrequesttemplate.FieldCreatedAt, channelmonitorrequesttemplate.FieldUpdatedAt:
  68. values[i] = new(sql.NullTime)
  69. default:
  70. values[i] = new(sql.UnknownType)
  71. }
  72. }
  73. return values, nil
  74. }
  75. // assignValues assigns the values that were returned from sql.Rows (after scanning)
  76. // to the ChannelMonitorRequestTemplate fields.
  77. func (_m *ChannelMonitorRequestTemplate) assignValues(columns []string, values []any) error {
  78. if m, n := len(values), len(columns); m < n {
  79. return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
  80. }
  81. for i := range columns {
  82. switch columns[i] {
  83. case channelmonitorrequesttemplate.FieldID:
  84. value, ok := values[i].(*sql.NullInt64)
  85. if !ok {
  86. return fmt.Errorf("unexpected type %T for field id", value)
  87. }
  88. _m.ID = int64(value.Int64)
  89. case channelmonitorrequesttemplate.FieldCreatedAt:
  90. if value, ok := values[i].(*sql.NullTime); !ok {
  91. return fmt.Errorf("unexpected type %T for field created_at", values[i])
  92. } else if value.Valid {
  93. _m.CreatedAt = value.Time
  94. }
  95. case channelmonitorrequesttemplate.FieldUpdatedAt:
  96. if value, ok := values[i].(*sql.NullTime); !ok {
  97. return fmt.Errorf("unexpected type %T for field updated_at", values[i])
  98. } else if value.Valid {
  99. _m.UpdatedAt = value.Time
  100. }
  101. case channelmonitorrequesttemplate.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. _m.Name = value.String
  106. }
  107. case channelmonitorrequesttemplate.FieldProvider:
  108. if value, ok := values[i].(*sql.NullString); !ok {
  109. return fmt.Errorf("unexpected type %T for field provider", values[i])
  110. } else if value.Valid {
  111. _m.Provider = channelmonitorrequesttemplate.Provider(value.String)
  112. }
  113. case channelmonitorrequesttemplate.FieldAPIMode:
  114. if value, ok := values[i].(*sql.NullString); !ok {
  115. return fmt.Errorf("unexpected type %T for field api_mode", values[i])
  116. } else if value.Valid {
  117. _m.APIMode = value.String
  118. }
  119. case channelmonitorrequesttemplate.FieldDescription:
  120. if value, ok := values[i].(*sql.NullString); !ok {
  121. return fmt.Errorf("unexpected type %T for field description", values[i])
  122. } else if value.Valid {
  123. _m.Description = value.String
  124. }
  125. case channelmonitorrequesttemplate.FieldExtraHeaders:
  126. if value, ok := values[i].(*[]byte); !ok {
  127. return fmt.Errorf("unexpected type %T for field extra_headers", values[i])
  128. } else if value != nil && len(*value) > 0 {
  129. if err := json.Unmarshal(*value, &_m.ExtraHeaders); err != nil {
  130. return fmt.Errorf("unmarshal field extra_headers: %w", err)
  131. }
  132. }
  133. case channelmonitorrequesttemplate.FieldBodyOverrideMode:
  134. if value, ok := values[i].(*sql.NullString); !ok {
  135. return fmt.Errorf("unexpected type %T for field body_override_mode", values[i])
  136. } else if value.Valid {
  137. _m.BodyOverrideMode = value.String
  138. }
  139. case channelmonitorrequesttemplate.FieldBodyOverride:
  140. if value, ok := values[i].(*[]byte); !ok {
  141. return fmt.Errorf("unexpected type %T for field body_override", values[i])
  142. } else if value != nil && len(*value) > 0 {
  143. if err := json.Unmarshal(*value, &_m.BodyOverride); err != nil {
  144. return fmt.Errorf("unmarshal field body_override: %w", err)
  145. }
  146. }
  147. default:
  148. _m.selectValues.Set(columns[i], values[i])
  149. }
  150. }
  151. return nil
  152. }
  153. // Value returns the ent.Value that was dynamically selected and assigned to the ChannelMonitorRequestTemplate.
  154. // This includes values selected through modifiers, order, etc.
  155. func (_m *ChannelMonitorRequestTemplate) Value(name string) (ent.Value, error) {
  156. return _m.selectValues.Get(name)
  157. }
  158. // QueryMonitors queries the "monitors" edge of the ChannelMonitorRequestTemplate entity.
  159. func (_m *ChannelMonitorRequestTemplate) QueryMonitors() *ChannelMonitorQuery {
  160. return NewChannelMonitorRequestTemplateClient(_m.config).QueryMonitors(_m)
  161. }
  162. // Update returns a builder for updating this ChannelMonitorRequestTemplate.
  163. // Note that you need to call ChannelMonitorRequestTemplate.Unwrap() before calling this method if this ChannelMonitorRequestTemplate
  164. // was returned from a transaction, and the transaction was committed or rolled back.
  165. func (_m *ChannelMonitorRequestTemplate) Update() *ChannelMonitorRequestTemplateUpdateOne {
  166. return NewChannelMonitorRequestTemplateClient(_m.config).UpdateOne(_m)
  167. }
  168. // Unwrap unwraps the ChannelMonitorRequestTemplate entity that was returned from a transaction after it was closed,
  169. // so that all future queries will be executed through the driver which created the transaction.
  170. func (_m *ChannelMonitorRequestTemplate) Unwrap() *ChannelMonitorRequestTemplate {
  171. _tx, ok := _m.config.driver.(*txDriver)
  172. if !ok {
  173. panic("ent: ChannelMonitorRequestTemplate is not a transactional entity")
  174. }
  175. _m.config.driver = _tx.drv
  176. return _m
  177. }
  178. // String implements the fmt.Stringer.
  179. func (_m *ChannelMonitorRequestTemplate) String() string {
  180. var builder strings.Builder
  181. builder.WriteString("ChannelMonitorRequestTemplate(")
  182. builder.WriteString(fmt.Sprintf("id=%v, ", _m.ID))
  183. builder.WriteString("created_at=")
  184. builder.WriteString(_m.CreatedAt.Format(time.ANSIC))
  185. builder.WriteString(", ")
  186. builder.WriteString("updated_at=")
  187. builder.WriteString(_m.UpdatedAt.Format(time.ANSIC))
  188. builder.WriteString(", ")
  189. builder.WriteString("name=")
  190. builder.WriteString(_m.Name)
  191. builder.WriteString(", ")
  192. builder.WriteString("provider=")
  193. builder.WriteString(fmt.Sprintf("%v", _m.Provider))
  194. builder.WriteString(", ")
  195. builder.WriteString("api_mode=")
  196. builder.WriteString(_m.APIMode)
  197. builder.WriteString(", ")
  198. builder.WriteString("description=")
  199. builder.WriteString(_m.Description)
  200. builder.WriteString(", ")
  201. builder.WriteString("extra_headers=")
  202. builder.WriteString(fmt.Sprintf("%v", _m.ExtraHeaders))
  203. builder.WriteString(", ")
  204. builder.WriteString("body_override_mode=")
  205. builder.WriteString(_m.BodyOverrideMode)
  206. builder.WriteString(", ")
  207. builder.WriteString("body_override=")
  208. builder.WriteString(fmt.Sprintf("%v", _m.BodyOverride))
  209. builder.WriteByte(')')
  210. return builder.String()
  211. }
  212. // ChannelMonitorRequestTemplates is a parsable slice of ChannelMonitorRequestTemplate.
  213. type ChannelMonitorRequestTemplates []*ChannelMonitorRequestTemplate