authidentity.go 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  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/authidentity"
  11. "github.com/Wei-Shaw/sub2api/ent/user"
  12. )
  13. // AuthIdentity is the model entity for the AuthIdentity schema.
  14. type AuthIdentity struct {
  15. config `json:"-"`
  16. // ID of the ent.
  17. ID int64 `json:"id,omitempty"`
  18. // CreatedAt holds the value of the "created_at" field.
  19. CreatedAt time.Time `json:"created_at,omitempty"`
  20. // UpdatedAt holds the value of the "updated_at" field.
  21. UpdatedAt time.Time `json:"updated_at,omitempty"`
  22. // UserID holds the value of the "user_id" field.
  23. UserID int64 `json:"user_id,omitempty"`
  24. // ProviderType holds the value of the "provider_type" field.
  25. ProviderType string `json:"provider_type,omitempty"`
  26. // ProviderKey holds the value of the "provider_key" field.
  27. ProviderKey string `json:"provider_key,omitempty"`
  28. // ProviderSubject holds the value of the "provider_subject" field.
  29. ProviderSubject string `json:"provider_subject,omitempty"`
  30. // VerifiedAt holds the value of the "verified_at" field.
  31. VerifiedAt *time.Time `json:"verified_at,omitempty"`
  32. // Issuer holds the value of the "issuer" field.
  33. Issuer *string `json:"issuer,omitempty"`
  34. // Metadata holds the value of the "metadata" field.
  35. Metadata map[string]interface{} `json:"metadata,omitempty"`
  36. // Edges holds the relations/edges for other nodes in the graph.
  37. // The values are being populated by the AuthIdentityQuery when eager-loading is set.
  38. Edges AuthIdentityEdges `json:"edges"`
  39. selectValues sql.SelectValues
  40. }
  41. // AuthIdentityEdges holds the relations/edges for other nodes in the graph.
  42. type AuthIdentityEdges struct {
  43. // User holds the value of the user edge.
  44. User *User `json:"user,omitempty"`
  45. // Channels holds the value of the channels edge.
  46. Channels []*AuthIdentityChannel `json:"channels,omitempty"`
  47. // AdoptionDecisions holds the value of the adoption_decisions edge.
  48. AdoptionDecisions []*IdentityAdoptionDecision `json:"adoption_decisions,omitempty"`
  49. // loadedTypes holds the information for reporting if a
  50. // type was loaded (or requested) in eager-loading or not.
  51. loadedTypes [3]bool
  52. }
  53. // UserOrErr returns the User value or an error if the edge
  54. // was not loaded in eager-loading, or loaded but was not found.
  55. func (e AuthIdentityEdges) UserOrErr() (*User, error) {
  56. if e.User != nil {
  57. return e.User, nil
  58. } else if e.loadedTypes[0] {
  59. return nil, &NotFoundError{label: user.Label}
  60. }
  61. return nil, &NotLoadedError{edge: "user"}
  62. }
  63. // ChannelsOrErr returns the Channels value or an error if the edge
  64. // was not loaded in eager-loading.
  65. func (e AuthIdentityEdges) ChannelsOrErr() ([]*AuthIdentityChannel, error) {
  66. if e.loadedTypes[1] {
  67. return e.Channels, nil
  68. }
  69. return nil, &NotLoadedError{edge: "channels"}
  70. }
  71. // AdoptionDecisionsOrErr returns the AdoptionDecisions value or an error if the edge
  72. // was not loaded in eager-loading.
  73. func (e AuthIdentityEdges) AdoptionDecisionsOrErr() ([]*IdentityAdoptionDecision, error) {
  74. if e.loadedTypes[2] {
  75. return e.AdoptionDecisions, nil
  76. }
  77. return nil, &NotLoadedError{edge: "adoption_decisions"}
  78. }
  79. // scanValues returns the types for scanning values from sql.Rows.
  80. func (*AuthIdentity) scanValues(columns []string) ([]any, error) {
  81. values := make([]any, len(columns))
  82. for i := range columns {
  83. switch columns[i] {
  84. case authidentity.FieldMetadata:
  85. values[i] = new([]byte)
  86. case authidentity.FieldID, authidentity.FieldUserID:
  87. values[i] = new(sql.NullInt64)
  88. case authidentity.FieldProviderType, authidentity.FieldProviderKey, authidentity.FieldProviderSubject, authidentity.FieldIssuer:
  89. values[i] = new(sql.NullString)
  90. case authidentity.FieldCreatedAt, authidentity.FieldUpdatedAt, authidentity.FieldVerifiedAt:
  91. values[i] = new(sql.NullTime)
  92. default:
  93. values[i] = new(sql.UnknownType)
  94. }
  95. }
  96. return values, nil
  97. }
  98. // assignValues assigns the values that were returned from sql.Rows (after scanning)
  99. // to the AuthIdentity fields.
  100. func (_m *AuthIdentity) assignValues(columns []string, values []any) error {
  101. if m, n := len(values), len(columns); m < n {
  102. return fmt.Errorf("mismatch number of scan values: %d != %d", m, n)
  103. }
  104. for i := range columns {
  105. switch columns[i] {
  106. case authidentity.FieldID:
  107. value, ok := values[i].(*sql.NullInt64)
  108. if !ok {
  109. return fmt.Errorf("unexpected type %T for field id", value)
  110. }
  111. _m.ID = int64(value.Int64)
  112. case authidentity.FieldCreatedAt:
  113. if value, ok := values[i].(*sql.NullTime); !ok {
  114. return fmt.Errorf("unexpected type %T for field created_at", values[i])
  115. } else if value.Valid {
  116. _m.CreatedAt = value.Time
  117. }
  118. case authidentity.FieldUpdatedAt:
  119. if value, ok := values[i].(*sql.NullTime); !ok {
  120. return fmt.Errorf("unexpected type %T for field updated_at", values[i])
  121. } else if value.Valid {
  122. _m.UpdatedAt = value.Time
  123. }
  124. case authidentity.FieldUserID:
  125. if value, ok := values[i].(*sql.NullInt64); !ok {
  126. return fmt.Errorf("unexpected type %T for field user_id", values[i])
  127. } else if value.Valid {
  128. _m.UserID = value.Int64
  129. }
  130. case authidentity.FieldProviderType:
  131. if value, ok := values[i].(*sql.NullString); !ok {
  132. return fmt.Errorf("unexpected type %T for field provider_type", values[i])
  133. } else if value.Valid {
  134. _m.ProviderType = value.String
  135. }
  136. case authidentity.FieldProviderKey:
  137. if value, ok := values[i].(*sql.NullString); !ok {
  138. return fmt.Errorf("unexpected type %T for field provider_key", values[i])
  139. } else if value.Valid {
  140. _m.ProviderKey = value.String
  141. }
  142. case authidentity.FieldProviderSubject:
  143. if value, ok := values[i].(*sql.NullString); !ok {
  144. return fmt.Errorf("unexpected type %T for field provider_subject", values[i])
  145. } else if value.Valid {
  146. _m.ProviderSubject = value.String
  147. }
  148. case authidentity.FieldVerifiedAt:
  149. if value, ok := values[i].(*sql.NullTime); !ok {
  150. return fmt.Errorf("unexpected type %T for field verified_at", values[i])
  151. } else if value.Valid {
  152. _m.VerifiedAt = new(time.Time)
  153. *_m.VerifiedAt = value.Time
  154. }
  155. case authidentity.FieldIssuer:
  156. if value, ok := values[i].(*sql.NullString); !ok {
  157. return fmt.Errorf("unexpected type %T for field issuer", values[i])
  158. } else if value.Valid {
  159. _m.Issuer = new(string)
  160. *_m.Issuer = value.String
  161. }
  162. case authidentity.FieldMetadata:
  163. if value, ok := values[i].(*[]byte); !ok {
  164. return fmt.Errorf("unexpected type %T for field metadata", values[i])
  165. } else if value != nil && len(*value) > 0 {
  166. if err := json.Unmarshal(*value, &_m.Metadata); err != nil {
  167. return fmt.Errorf("unmarshal field metadata: %w", err)
  168. }
  169. }
  170. default:
  171. _m.selectValues.Set(columns[i], values[i])
  172. }
  173. }
  174. return nil
  175. }
  176. // Value returns the ent.Value that was dynamically selected and assigned to the AuthIdentity.
  177. // This includes values selected through modifiers, order, etc.
  178. func (_m *AuthIdentity) Value(name string) (ent.Value, error) {
  179. return _m.selectValues.Get(name)
  180. }
  181. // QueryUser queries the "user" edge of the AuthIdentity entity.
  182. func (_m *AuthIdentity) QueryUser() *UserQuery {
  183. return NewAuthIdentityClient(_m.config).QueryUser(_m)
  184. }
  185. // QueryChannels queries the "channels" edge of the AuthIdentity entity.
  186. func (_m *AuthIdentity) QueryChannels() *AuthIdentityChannelQuery {
  187. return NewAuthIdentityClient(_m.config).QueryChannels(_m)
  188. }
  189. // QueryAdoptionDecisions queries the "adoption_decisions" edge of the AuthIdentity entity.
  190. func (_m *AuthIdentity) QueryAdoptionDecisions() *IdentityAdoptionDecisionQuery {
  191. return NewAuthIdentityClient(_m.config).QueryAdoptionDecisions(_m)
  192. }
  193. // Update returns a builder for updating this AuthIdentity.
  194. // Note that you need to call AuthIdentity.Unwrap() before calling this method if this AuthIdentity
  195. // was returned from a transaction, and the transaction was committed or rolled back.
  196. func (_m *AuthIdentity) Update() *AuthIdentityUpdateOne {
  197. return NewAuthIdentityClient(_m.config).UpdateOne(_m)
  198. }
  199. // Unwrap unwraps the AuthIdentity entity that was returned from a transaction after it was closed,
  200. // so that all future queries will be executed through the driver which created the transaction.
  201. func (_m *AuthIdentity) Unwrap() *AuthIdentity {
  202. _tx, ok := _m.config.driver.(*txDriver)
  203. if !ok {
  204. panic("ent: AuthIdentity is not a transactional entity")
  205. }
  206. _m.config.driver = _tx.drv
  207. return _m
  208. }
  209. // String implements the fmt.Stringer.
  210. func (_m *AuthIdentity) String() string {
  211. var builder strings.Builder
  212. builder.WriteString("AuthIdentity(")
  213. builder.WriteString(fmt.Sprintf("id=%v, ", _m.ID))
  214. builder.WriteString("created_at=")
  215. builder.WriteString(_m.CreatedAt.Format(time.ANSIC))
  216. builder.WriteString(", ")
  217. builder.WriteString("updated_at=")
  218. builder.WriteString(_m.UpdatedAt.Format(time.ANSIC))
  219. builder.WriteString(", ")
  220. builder.WriteString("user_id=")
  221. builder.WriteString(fmt.Sprintf("%v", _m.UserID))
  222. builder.WriteString(", ")
  223. builder.WriteString("provider_type=")
  224. builder.WriteString(_m.ProviderType)
  225. builder.WriteString(", ")
  226. builder.WriteString("provider_key=")
  227. builder.WriteString(_m.ProviderKey)
  228. builder.WriteString(", ")
  229. builder.WriteString("provider_subject=")
  230. builder.WriteString(_m.ProviderSubject)
  231. builder.WriteString(", ")
  232. if v := _m.VerifiedAt; v != nil {
  233. builder.WriteString("verified_at=")
  234. builder.WriteString(v.Format(time.ANSIC))
  235. }
  236. builder.WriteString(", ")
  237. if v := _m.Issuer; v != nil {
  238. builder.WriteString("issuer=")
  239. builder.WriteString(*v)
  240. }
  241. builder.WriteString(", ")
  242. builder.WriteString("metadata=")
  243. builder.WriteString(fmt.Sprintf("%v", _m.Metadata))
  244. builder.WriteByte(')')
  245. return builder.String()
  246. }
  247. // AuthIdentities is a parsable slice of AuthIdentity.
  248. type AuthIdentities []*AuthIdentity