userattributedefinition.go 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276
  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/userattributedefinition"
  11. )
  12. // UserAttributeDefinition is the model entity for the UserAttributeDefinition schema.
  13. type UserAttributeDefinition 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. // DeletedAt holds the value of the "deleted_at" field.
  22. DeletedAt *time.Time `json:"deleted_at,omitempty"`
  23. // Key holds the value of the "key" field.
  24. Key string `json:"key,omitempty"`
  25. // Name holds the value of the "name" field.
  26. Name string `json:"name,omitempty"`
  27. // Description holds the value of the "description" field.
  28. Description string `json:"description,omitempty"`
  29. // Type holds the value of the "type" field.
  30. Type string `json:"type,omitempty"`
  31. // Options holds the value of the "options" field.
  32. Options []map[string]interface{} `json:"options,omitempty"`
  33. // Required holds the value of the "required" field.
  34. Required bool `json:"required,omitempty"`
  35. // Validation holds the value of the "validation" field.
  36. Validation map[string]interface{} `json:"validation,omitempty"`
  37. // Placeholder holds the value of the "placeholder" field.
  38. Placeholder string `json:"placeholder,omitempty"`
  39. // DisplayOrder holds the value of the "display_order" field.
  40. DisplayOrder int `json:"display_order,omitempty"`
  41. // Enabled holds the value of the "enabled" field.
  42. Enabled bool `json:"enabled,omitempty"`
  43. // Edges holds the relations/edges for other nodes in the graph.
  44. // The values are being populated by the UserAttributeDefinitionQuery when eager-loading is set.
  45. Edges UserAttributeDefinitionEdges `json:"edges"`
  46. selectValues sql.SelectValues
  47. }
  48. // UserAttributeDefinitionEdges holds the relations/edges for other nodes in the graph.
  49. type UserAttributeDefinitionEdges struct {
  50. // Values holds the value of the values edge.
  51. Values []*UserAttributeValue `json:"values,omitempty"`
  52. // loadedTypes holds the information for reporting if a
  53. // type was loaded (or requested) in eager-loading or not.
  54. loadedTypes [1]bool
  55. }
  56. // ValuesOrErr returns the Values value or an error if the edge
  57. // was not loaded in eager-loading.
  58. func (e UserAttributeDefinitionEdges) ValuesOrErr() ([]*UserAttributeValue, error) {
  59. if e.loadedTypes[0] {
  60. return e.Values, nil
  61. }
  62. return nil, &NotLoadedError{edge: "values"}
  63. }
  64. // scanValues returns the types for scanning values from sql.Rows.
  65. func (*UserAttributeDefinition) scanValues(columns []string) ([]any, error) {
  66. values := make([]any, len(columns))
  67. for i := range columns {
  68. switch columns[i] {
  69. case userattributedefinition.FieldOptions, userattributedefinition.FieldValidation:
  70. values[i] = new([]byte)
  71. case userattributedefinition.FieldRequired, userattributedefinition.FieldEnabled:
  72. values[i] = new(sql.NullBool)
  73. case userattributedefinition.FieldID, userattributedefinition.FieldDisplayOrder:
  74. values[i] = new(sql.NullInt64)
  75. case userattributedefinition.FieldKey, userattributedefinition.FieldName, userattributedefinition.FieldDescription, userattributedefinition.FieldType, userattributedefinition.FieldPlaceholder:
  76. values[i] = new(sql.NullString)
  77. case userattributedefinition.FieldCreatedAt, userattributedefinition.FieldUpdatedAt, userattributedefinition.FieldDeletedAt:
  78. values[i] = new(sql.NullTime)
  79. default:
  80. values[i] = new(sql.UnknownType)
  81. }
  82. }
  83. return values, nil
  84. }
  85. // assignValues assigns the values that were returned from sql.Rows (after scanning)
  86. // to the UserAttributeDefinition fields.
  87. func (_m *UserAttributeDefinition) assignValues(columns []string, values []any) error {
  88. if m, n := len(values), len(columns); m < n {
  89. return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
  90. }
  91. for i := range columns {
  92. switch columns[i] {
  93. case userattributedefinition.FieldID:
  94. value, ok := values[i].(*sql.NullInt64)
  95. if !ok {
  96. return fmt.Errorf("unexpected type %T for field id", value)
  97. }
  98. _m.ID = int64(value.Int64)
  99. case userattributedefinition.FieldCreatedAt:
  100. if value, ok := values[i].(*sql.NullTime); !ok {
  101. return fmt.Errorf("unexpected type %T for field created_at", values[i])
  102. } else if value.Valid {
  103. _m.CreatedAt = value.Time
  104. }
  105. case userattributedefinition.FieldUpdatedAt:
  106. if value, ok := values[i].(*sql.NullTime); !ok {
  107. return fmt.Errorf("unexpected type %T for field updated_at", values[i])
  108. } else if value.Valid {
  109. _m.UpdatedAt = value.Time
  110. }
  111. case userattributedefinition.FieldDeletedAt:
  112. if value, ok := values[i].(*sql.NullTime); !ok {
  113. return fmt.Errorf("unexpected type %T for field deleted_at", values[i])
  114. } else if value.Valid {
  115. _m.DeletedAt = new(time.Time)
  116. *_m.DeletedAt = value.Time
  117. }
  118. case userattributedefinition.FieldKey:
  119. if value, ok := values[i].(*sql.NullString); !ok {
  120. return fmt.Errorf("unexpected type %T for field key", values[i])
  121. } else if value.Valid {
  122. _m.Key = value.String
  123. }
  124. case userattributedefinition.FieldName:
  125. if value, ok := values[i].(*sql.NullString); !ok {
  126. return fmt.Errorf("unexpected type %T for field name", values[i])
  127. } else if value.Valid {
  128. _m.Name = value.String
  129. }
  130. case userattributedefinition.FieldDescription:
  131. if value, ok := values[i].(*sql.NullString); !ok {
  132. return fmt.Errorf("unexpected type %T for field description", values[i])
  133. } else if value.Valid {
  134. _m.Description = value.String
  135. }
  136. case userattributedefinition.FieldType:
  137. if value, ok := values[i].(*sql.NullString); !ok {
  138. return fmt.Errorf("unexpected type %T for field type", values[i])
  139. } else if value.Valid {
  140. _m.Type = value.String
  141. }
  142. case userattributedefinition.FieldOptions:
  143. if value, ok := values[i].(*[]byte); !ok {
  144. return fmt.Errorf("unexpected type %T for field options", values[i])
  145. } else if value != nil && len(*value) > 0 {
  146. if err := json.Unmarshal(*value, &_m.Options); err != nil {
  147. return fmt.Errorf("unmarshal field options: %w", err)
  148. }
  149. }
  150. case userattributedefinition.FieldRequired:
  151. if value, ok := values[i].(*sql.NullBool); !ok {
  152. return fmt.Errorf("unexpected type %T for field required", values[i])
  153. } else if value.Valid {
  154. _m.Required = value.Bool
  155. }
  156. case userattributedefinition.FieldValidation:
  157. if value, ok := values[i].(*[]byte); !ok {
  158. return fmt.Errorf("unexpected type %T for field validation", values[i])
  159. } else if value != nil && len(*value) > 0 {
  160. if err := json.Unmarshal(*value, &_m.Validation); err != nil {
  161. return fmt.Errorf("unmarshal field validation: %w", err)
  162. }
  163. }
  164. case userattributedefinition.FieldPlaceholder:
  165. if value, ok := values[i].(*sql.NullString); !ok {
  166. return fmt.Errorf("unexpected type %T for field placeholder", values[i])
  167. } else if value.Valid {
  168. _m.Placeholder = value.String
  169. }
  170. case userattributedefinition.FieldDisplayOrder:
  171. if value, ok := values[i].(*sql.NullInt64); !ok {
  172. return fmt.Errorf("unexpected type %T for field display_order", values[i])
  173. } else if value.Valid {
  174. _m.DisplayOrder = int(value.Int64)
  175. }
  176. case userattributedefinition.FieldEnabled:
  177. if value, ok := values[i].(*sql.NullBool); !ok {
  178. return fmt.Errorf("unexpected type %T for field enabled", values[i])
  179. } else if value.Valid {
  180. _m.Enabled = value.Bool
  181. }
  182. default:
  183. _m.selectValues.Set(columns[i], values[i])
  184. }
  185. }
  186. return nil
  187. }
  188. // Value returns the ent.Value that was dynamically selected and assigned to the UserAttributeDefinition.
  189. // This includes values selected through modifiers, order, etc.
  190. func (_m *UserAttributeDefinition) Value(name string) (ent.Value, error) {
  191. return _m.selectValues.Get(name)
  192. }
  193. // QueryValues queries the "values" edge of the UserAttributeDefinition entity.
  194. func (_m *UserAttributeDefinition) QueryValues() *UserAttributeValueQuery {
  195. return NewUserAttributeDefinitionClient(_m.config).QueryValues(_m)
  196. }
  197. // Update returns a builder for updating this UserAttributeDefinition.
  198. // Note that you need to call UserAttributeDefinition.Unwrap() before calling this method if this UserAttributeDefinition
  199. // was returned from a transaction, and the transaction was committed or rolled back.
  200. func (_m *UserAttributeDefinition) Update() *UserAttributeDefinitionUpdateOne {
  201. return NewUserAttributeDefinitionClient(_m.config).UpdateOne(_m)
  202. }
  203. // Unwrap unwraps the UserAttributeDefinition entity that was returned from a transaction after it was closed,
  204. // so that all future queries will be executed through the driver which created the transaction.
  205. func (_m *UserAttributeDefinition) Unwrap() *UserAttributeDefinition {
  206. _tx, ok := _m.config.driver.(*txDriver)
  207. if !ok {
  208. panic("ent: UserAttributeDefinition is not a transactional entity")
  209. }
  210. _m.config.driver = _tx.drv
  211. return _m
  212. }
  213. // String implements the fmt.Stringer.
  214. func (_m *UserAttributeDefinition) String() string {
  215. var builder strings.Builder
  216. builder.WriteString("UserAttributeDefinition(")
  217. builder.WriteString(fmt.Sprintf("id=%v, ", _m.ID))
  218. builder.WriteString("created_at=")
  219. builder.WriteString(_m.CreatedAt.Format(time.ANSIC))
  220. builder.WriteString(", ")
  221. builder.WriteString("updated_at=")
  222. builder.WriteString(_m.UpdatedAt.Format(time.ANSIC))
  223. builder.WriteString(", ")
  224. if v := _m.DeletedAt; v != nil {
  225. builder.WriteString("deleted_at=")
  226. builder.WriteString(v.Format(time.ANSIC))
  227. }
  228. builder.WriteString(", ")
  229. builder.WriteString("key=")
  230. builder.WriteString(_m.Key)
  231. builder.WriteString(", ")
  232. builder.WriteString("name=")
  233. builder.WriteString(_m.Name)
  234. builder.WriteString(", ")
  235. builder.WriteString("description=")
  236. builder.WriteString(_m.Description)
  237. builder.WriteString(", ")
  238. builder.WriteString("type=")
  239. builder.WriteString(_m.Type)
  240. builder.WriteString(", ")
  241. builder.WriteString("options=")
  242. builder.WriteString(fmt.Sprintf("%v", _m.Options))
  243. builder.WriteString(", ")
  244. builder.WriteString("required=")
  245. builder.WriteString(fmt.Sprintf("%v", _m.Required))
  246. builder.WriteString(", ")
  247. builder.WriteString("validation=")
  248. builder.WriteString(fmt.Sprintf("%v", _m.Validation))
  249. builder.WriteString(", ")
  250. builder.WriteString("placeholder=")
  251. builder.WriteString(_m.Placeholder)
  252. builder.WriteString(", ")
  253. builder.WriteString("display_order=")
  254. builder.WriteString(fmt.Sprintf("%v", _m.DisplayOrder))
  255. builder.WriteString(", ")
  256. builder.WriteString("enabled=")
  257. builder.WriteString(fmt.Sprintf("%v", _m.Enabled))
  258. builder.WriteByte(')')
  259. return builder.String()
  260. }
  261. // UserAttributeDefinitions is a parsable slice of UserAttributeDefinition.
  262. type UserAttributeDefinitions []*UserAttributeDefinition