userattributevalue_update.go 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504
  1. // Code generated by ent, DO NOT EDIT.
  2. package ent
  3. import (
  4. "context"
  5. "errors"
  6. "fmt"
  7. "time"
  8. "entgo.io/ent/dialect/sql"
  9. "entgo.io/ent/dialect/sql/sqlgraph"
  10. "entgo.io/ent/schema/field"
  11. "github.com/Wei-Shaw/sub2api/ent/predicate"
  12. "github.com/Wei-Shaw/sub2api/ent/user"
  13. "github.com/Wei-Shaw/sub2api/ent/userattributedefinition"
  14. "github.com/Wei-Shaw/sub2api/ent/userattributevalue"
  15. )
  16. // UserAttributeValueUpdate is the builder for updating UserAttributeValue entities.
  17. type UserAttributeValueUpdate struct {
  18. config
  19. hooks []Hook
  20. mutation *UserAttributeValueMutation
  21. }
  22. // Where appends a list predicates to the UserAttributeValueUpdate builder.
  23. func (_u *UserAttributeValueUpdate) Where(ps ...predicate.UserAttributeValue) *UserAttributeValueUpdate {
  24. _u.mutation.Where(ps...)
  25. return _u
  26. }
  27. // SetUpdatedAt sets the "updated_at" field.
  28. func (_u *UserAttributeValueUpdate) SetUpdatedAt(v time.Time) *UserAttributeValueUpdate {
  29. _u.mutation.SetUpdatedAt(v)
  30. return _u
  31. }
  32. // SetUserID sets the "user_id" field.
  33. func (_u *UserAttributeValueUpdate) SetUserID(v int64) *UserAttributeValueUpdate {
  34. _u.mutation.SetUserID(v)
  35. return _u
  36. }
  37. // SetNillableUserID sets the "user_id" field if the given value is not nil.
  38. func (_u *UserAttributeValueUpdate) SetNillableUserID(v *int64) *UserAttributeValueUpdate {
  39. if v != nil {
  40. _u.SetUserID(*v)
  41. }
  42. return _u
  43. }
  44. // SetAttributeID sets the "attribute_id" field.
  45. func (_u *UserAttributeValueUpdate) SetAttributeID(v int64) *UserAttributeValueUpdate {
  46. _u.mutation.SetAttributeID(v)
  47. return _u
  48. }
  49. // SetNillableAttributeID sets the "attribute_id" field if the given value is not nil.
  50. func (_u *UserAttributeValueUpdate) SetNillableAttributeID(v *int64) *UserAttributeValueUpdate {
  51. if v != nil {
  52. _u.SetAttributeID(*v)
  53. }
  54. return _u
  55. }
  56. // SetValue sets the "value" field.
  57. func (_u *UserAttributeValueUpdate) SetValue(v string) *UserAttributeValueUpdate {
  58. _u.mutation.SetValue(v)
  59. return _u
  60. }
  61. // SetNillableValue sets the "value" field if the given value is not nil.
  62. func (_u *UserAttributeValueUpdate) SetNillableValue(v *string) *UserAttributeValueUpdate {
  63. if v != nil {
  64. _u.SetValue(*v)
  65. }
  66. return _u
  67. }
  68. // SetUser sets the "user" edge to the User entity.
  69. func (_u *UserAttributeValueUpdate) SetUser(v *User) *UserAttributeValueUpdate {
  70. return _u.SetUserID(v.ID)
  71. }
  72. // SetDefinitionID sets the "definition" edge to the UserAttributeDefinition entity by ID.
  73. func (_u *UserAttributeValueUpdate) SetDefinitionID(id int64) *UserAttributeValueUpdate {
  74. _u.mutation.SetDefinitionID(id)
  75. return _u
  76. }
  77. // SetDefinition sets the "definition" edge to the UserAttributeDefinition entity.
  78. func (_u *UserAttributeValueUpdate) SetDefinition(v *UserAttributeDefinition) *UserAttributeValueUpdate {
  79. return _u.SetDefinitionID(v.ID)
  80. }
  81. // Mutation returns the UserAttributeValueMutation object of the builder.
  82. func (_u *UserAttributeValueUpdate) Mutation() *UserAttributeValueMutation {
  83. return _u.mutation
  84. }
  85. // ClearUser clears the "user" edge to the User entity.
  86. func (_u *UserAttributeValueUpdate) ClearUser() *UserAttributeValueUpdate {
  87. _u.mutation.ClearUser()
  88. return _u
  89. }
  90. // ClearDefinition clears the "definition" edge to the UserAttributeDefinition entity.
  91. func (_u *UserAttributeValueUpdate) ClearDefinition() *UserAttributeValueUpdate {
  92. _u.mutation.ClearDefinition()
  93. return _u
  94. }
  95. // Save executes the query and returns the number of nodes affected by the update operation.
  96. func (_u *UserAttributeValueUpdate) Save(ctx context.Context) (int, error) {
  97. _u.defaults()
  98. return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks)
  99. }
  100. // SaveX is like Save, but panics if an error occurs.
  101. func (_u *UserAttributeValueUpdate) SaveX(ctx context.Context) int {
  102. affected, err := _u.Save(ctx)
  103. if err != nil {
  104. panic(err)
  105. }
  106. return affected
  107. }
  108. // Exec executes the query.
  109. func (_u *UserAttributeValueUpdate) Exec(ctx context.Context) error {
  110. _, err := _u.Save(ctx)
  111. return err
  112. }
  113. // ExecX is like Exec, but panics if an error occurs.
  114. func (_u *UserAttributeValueUpdate) ExecX(ctx context.Context) {
  115. if err := _u.Exec(ctx); err != nil {
  116. panic(err)
  117. }
  118. }
  119. // defaults sets the default values of the builder before save.
  120. func (_u *UserAttributeValueUpdate) defaults() {
  121. if _, ok := _u.mutation.UpdatedAt(); !ok {
  122. v := userattributevalue.UpdateDefaultUpdatedAt()
  123. _u.mutation.SetUpdatedAt(v)
  124. }
  125. }
  126. // check runs all checks and user-defined validators on the builder.
  127. func (_u *UserAttributeValueUpdate) check() error {
  128. if _u.mutation.UserCleared() && len(_u.mutation.UserIDs()) > 0 {
  129. return errors.New(`ent: clearing a required unique edge "UserAttributeValue.user"`)
  130. }
  131. if _u.mutation.DefinitionCleared() && len(_u.mutation.DefinitionIDs()) > 0 {
  132. return errors.New(`ent: clearing a required unique edge "UserAttributeValue.definition"`)
  133. }
  134. return nil
  135. }
  136. func (_u *UserAttributeValueUpdate) sqlSave(ctx context.Context) (_node int, err error) {
  137. if err := _u.check(); err != nil {
  138. return _node, err
  139. }
  140. _spec := sqlgraph.NewUpdateSpec(userattributevalue.Table, userattributevalue.Columns, sqlgraph.NewFieldSpec(userattributevalue.FieldID, field.TypeInt64))
  141. if ps := _u.mutation.predicates; len(ps) > 0 {
  142. _spec.Predicate = func(selector *sql.Selector) {
  143. for i := range ps {
  144. ps[i](selector)
  145. }
  146. }
  147. }
  148. if value, ok := _u.mutation.UpdatedAt(); ok {
  149. _spec.SetField(userattributevalue.FieldUpdatedAt, field.TypeTime, value)
  150. }
  151. if value, ok := _u.mutation.Value(); ok {
  152. _spec.SetField(userattributevalue.FieldValue, field.TypeString, value)
  153. }
  154. if _u.mutation.UserCleared() {
  155. edge := &sqlgraph.EdgeSpec{
  156. Rel: sqlgraph.M2O,
  157. Inverse: true,
  158. Table: userattributevalue.UserTable,
  159. Columns: []string{userattributevalue.UserColumn},
  160. Bidi: false,
  161. Target: &sqlgraph.EdgeTarget{
  162. IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt64),
  163. },
  164. }
  165. _spec.Edges.Clear = append(_spec.Edges.Clear, edge)
  166. }
  167. if nodes := _u.mutation.UserIDs(); len(nodes) > 0 {
  168. edge := &sqlgraph.EdgeSpec{
  169. Rel: sqlgraph.M2O,
  170. Inverse: true,
  171. Table: userattributevalue.UserTable,
  172. Columns: []string{userattributevalue.UserColumn},
  173. Bidi: false,
  174. Target: &sqlgraph.EdgeTarget{
  175. IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt64),
  176. },
  177. }
  178. for _, k := range nodes {
  179. edge.Target.Nodes = append(edge.Target.Nodes, k)
  180. }
  181. _spec.Edges.Add = append(_spec.Edges.Add, edge)
  182. }
  183. if _u.mutation.DefinitionCleared() {
  184. edge := &sqlgraph.EdgeSpec{
  185. Rel: sqlgraph.M2O,
  186. Inverse: true,
  187. Table: userattributevalue.DefinitionTable,
  188. Columns: []string{userattributevalue.DefinitionColumn},
  189. Bidi: false,
  190. Target: &sqlgraph.EdgeTarget{
  191. IDSpec: sqlgraph.NewFieldSpec(userattributedefinition.FieldID, field.TypeInt64),
  192. },
  193. }
  194. _spec.Edges.Clear = append(_spec.Edges.Clear, edge)
  195. }
  196. if nodes := _u.mutation.DefinitionIDs(); len(nodes) > 0 {
  197. edge := &sqlgraph.EdgeSpec{
  198. Rel: sqlgraph.M2O,
  199. Inverse: true,
  200. Table: userattributevalue.DefinitionTable,
  201. Columns: []string{userattributevalue.DefinitionColumn},
  202. Bidi: false,
  203. Target: &sqlgraph.EdgeTarget{
  204. IDSpec: sqlgraph.NewFieldSpec(userattributedefinition.FieldID, field.TypeInt64),
  205. },
  206. }
  207. for _, k := range nodes {
  208. edge.Target.Nodes = append(edge.Target.Nodes, k)
  209. }
  210. _spec.Edges.Add = append(_spec.Edges.Add, edge)
  211. }
  212. if _node, err = sqlgraph.UpdateNodes(ctx, _u.driver, _spec); err != nil {
  213. if _, ok := err.(*sqlgraph.NotFoundError); ok {
  214. err = &NotFoundError{userattributevalue.Label}
  215. } else if sqlgraph.IsConstraintError(err) {
  216. err = &ConstraintError{msg: err.Error(), wrap: err}
  217. }
  218. return 0, err
  219. }
  220. _u.mutation.done = true
  221. return _node, nil
  222. }
  223. // UserAttributeValueUpdateOne is the builder for updating a single UserAttributeValue entity.
  224. type UserAttributeValueUpdateOne struct {
  225. config
  226. fields []string
  227. hooks []Hook
  228. mutation *UserAttributeValueMutation
  229. }
  230. // SetUpdatedAt sets the "updated_at" field.
  231. func (_u *UserAttributeValueUpdateOne) SetUpdatedAt(v time.Time) *UserAttributeValueUpdateOne {
  232. _u.mutation.SetUpdatedAt(v)
  233. return _u
  234. }
  235. // SetUserID sets the "user_id" field.
  236. func (_u *UserAttributeValueUpdateOne) SetUserID(v int64) *UserAttributeValueUpdateOne {
  237. _u.mutation.SetUserID(v)
  238. return _u
  239. }
  240. // SetNillableUserID sets the "user_id" field if the given value is not nil.
  241. func (_u *UserAttributeValueUpdateOne) SetNillableUserID(v *int64) *UserAttributeValueUpdateOne {
  242. if v != nil {
  243. _u.SetUserID(*v)
  244. }
  245. return _u
  246. }
  247. // SetAttributeID sets the "attribute_id" field.
  248. func (_u *UserAttributeValueUpdateOne) SetAttributeID(v int64) *UserAttributeValueUpdateOne {
  249. _u.mutation.SetAttributeID(v)
  250. return _u
  251. }
  252. // SetNillableAttributeID sets the "attribute_id" field if the given value is not nil.
  253. func (_u *UserAttributeValueUpdateOne) SetNillableAttributeID(v *int64) *UserAttributeValueUpdateOne {
  254. if v != nil {
  255. _u.SetAttributeID(*v)
  256. }
  257. return _u
  258. }
  259. // SetValue sets the "value" field.
  260. func (_u *UserAttributeValueUpdateOne) SetValue(v string) *UserAttributeValueUpdateOne {
  261. _u.mutation.SetValue(v)
  262. return _u
  263. }
  264. // SetNillableValue sets the "value" field if the given value is not nil.
  265. func (_u *UserAttributeValueUpdateOne) SetNillableValue(v *string) *UserAttributeValueUpdateOne {
  266. if v != nil {
  267. _u.SetValue(*v)
  268. }
  269. return _u
  270. }
  271. // SetUser sets the "user" edge to the User entity.
  272. func (_u *UserAttributeValueUpdateOne) SetUser(v *User) *UserAttributeValueUpdateOne {
  273. return _u.SetUserID(v.ID)
  274. }
  275. // SetDefinitionID sets the "definition" edge to the UserAttributeDefinition entity by ID.
  276. func (_u *UserAttributeValueUpdateOne) SetDefinitionID(id int64) *UserAttributeValueUpdateOne {
  277. _u.mutation.SetDefinitionID(id)
  278. return _u
  279. }
  280. // SetDefinition sets the "definition" edge to the UserAttributeDefinition entity.
  281. func (_u *UserAttributeValueUpdateOne) SetDefinition(v *UserAttributeDefinition) *UserAttributeValueUpdateOne {
  282. return _u.SetDefinitionID(v.ID)
  283. }
  284. // Mutation returns the UserAttributeValueMutation object of the builder.
  285. func (_u *UserAttributeValueUpdateOne) Mutation() *UserAttributeValueMutation {
  286. return _u.mutation
  287. }
  288. // ClearUser clears the "user" edge to the User entity.
  289. func (_u *UserAttributeValueUpdateOne) ClearUser() *UserAttributeValueUpdateOne {
  290. _u.mutation.ClearUser()
  291. return _u
  292. }
  293. // ClearDefinition clears the "definition" edge to the UserAttributeDefinition entity.
  294. func (_u *UserAttributeValueUpdateOne) ClearDefinition() *UserAttributeValueUpdateOne {
  295. _u.mutation.ClearDefinition()
  296. return _u
  297. }
  298. // Where appends a list predicates to the UserAttributeValueUpdate builder.
  299. func (_u *UserAttributeValueUpdateOne) Where(ps ...predicate.UserAttributeValue) *UserAttributeValueUpdateOne {
  300. _u.mutation.Where(ps...)
  301. return _u
  302. }
  303. // Select allows selecting one or more fields (columns) of the returned entity.
  304. // The default is selecting all fields defined in the entity schema.
  305. func (_u *UserAttributeValueUpdateOne) Select(field string, fields ...string) *UserAttributeValueUpdateOne {
  306. _u.fields = append([]string{field}, fields...)
  307. return _u
  308. }
  309. // Save executes the query and returns the updated UserAttributeValue entity.
  310. func (_u *UserAttributeValueUpdateOne) Save(ctx context.Context) (*UserAttributeValue, error) {
  311. _u.defaults()
  312. return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks)
  313. }
  314. // SaveX is like Save, but panics if an error occurs.
  315. func (_u *UserAttributeValueUpdateOne) SaveX(ctx context.Context) *UserAttributeValue {
  316. node, err := _u.Save(ctx)
  317. if err != nil {
  318. panic(err)
  319. }
  320. return node
  321. }
  322. // Exec executes the query on the entity.
  323. func (_u *UserAttributeValueUpdateOne) Exec(ctx context.Context) error {
  324. _, err := _u.Save(ctx)
  325. return err
  326. }
  327. // ExecX is like Exec, but panics if an error occurs.
  328. func (_u *UserAttributeValueUpdateOne) ExecX(ctx context.Context) {
  329. if err := _u.Exec(ctx); err != nil {
  330. panic(err)
  331. }
  332. }
  333. // defaults sets the default values of the builder before save.
  334. func (_u *UserAttributeValueUpdateOne) defaults() {
  335. if _, ok := _u.mutation.UpdatedAt(); !ok {
  336. v := userattributevalue.UpdateDefaultUpdatedAt()
  337. _u.mutation.SetUpdatedAt(v)
  338. }
  339. }
  340. // check runs all checks and user-defined validators on the builder.
  341. func (_u *UserAttributeValueUpdateOne) check() error {
  342. if _u.mutation.UserCleared() && len(_u.mutation.UserIDs()) > 0 {
  343. return errors.New(`ent: clearing a required unique edge "UserAttributeValue.user"`)
  344. }
  345. if _u.mutation.DefinitionCleared() && len(_u.mutation.DefinitionIDs()) > 0 {
  346. return errors.New(`ent: clearing a required unique edge "UserAttributeValue.definition"`)
  347. }
  348. return nil
  349. }
  350. func (_u *UserAttributeValueUpdateOne) sqlSave(ctx context.Context) (_node *UserAttributeValue, err error) {
  351. if err := _u.check(); err != nil {
  352. return _node, err
  353. }
  354. _spec := sqlgraph.NewUpdateSpec(userattributevalue.Table, userattributevalue.Columns, sqlgraph.NewFieldSpec(userattributevalue.FieldID, field.TypeInt64))
  355. id, ok := _u.mutation.ID()
  356. if !ok {
  357. return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "UserAttributeValue.id" for update`)}
  358. }
  359. _spec.Node.ID.Value = id
  360. if fields := _u.fields; len(fields) > 0 {
  361. _spec.Node.Columns = make([]string, 0, len(fields))
  362. _spec.Node.Columns = append(_spec.Node.Columns, userattributevalue.FieldID)
  363. for _, f := range fields {
  364. if !userattributevalue.ValidColumn(f) {
  365. return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
  366. }
  367. if f != userattributevalue.FieldID {
  368. _spec.Node.Columns = append(_spec.Node.Columns, f)
  369. }
  370. }
  371. }
  372. if ps := _u.mutation.predicates; len(ps) > 0 {
  373. _spec.Predicate = func(selector *sql.Selector) {
  374. for i := range ps {
  375. ps[i](selector)
  376. }
  377. }
  378. }
  379. if value, ok := _u.mutation.UpdatedAt(); ok {
  380. _spec.SetField(userattributevalue.FieldUpdatedAt, field.TypeTime, value)
  381. }
  382. if value, ok := _u.mutation.Value(); ok {
  383. _spec.SetField(userattributevalue.FieldValue, field.TypeString, value)
  384. }
  385. if _u.mutation.UserCleared() {
  386. edge := &sqlgraph.EdgeSpec{
  387. Rel: sqlgraph.M2O,
  388. Inverse: true,
  389. Table: userattributevalue.UserTable,
  390. Columns: []string{userattributevalue.UserColumn},
  391. Bidi: false,
  392. Target: &sqlgraph.EdgeTarget{
  393. IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt64),
  394. },
  395. }
  396. _spec.Edges.Clear = append(_spec.Edges.Clear, edge)
  397. }
  398. if nodes := _u.mutation.UserIDs(); len(nodes) > 0 {
  399. edge := &sqlgraph.EdgeSpec{
  400. Rel: sqlgraph.M2O,
  401. Inverse: true,
  402. Table: userattributevalue.UserTable,
  403. Columns: []string{userattributevalue.UserColumn},
  404. Bidi: false,
  405. Target: &sqlgraph.EdgeTarget{
  406. IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeInt64),
  407. },
  408. }
  409. for _, k := range nodes {
  410. edge.Target.Nodes = append(edge.Target.Nodes, k)
  411. }
  412. _spec.Edges.Add = append(_spec.Edges.Add, edge)
  413. }
  414. if _u.mutation.DefinitionCleared() {
  415. edge := &sqlgraph.EdgeSpec{
  416. Rel: sqlgraph.M2O,
  417. Inverse: true,
  418. Table: userattributevalue.DefinitionTable,
  419. Columns: []string{userattributevalue.DefinitionColumn},
  420. Bidi: false,
  421. Target: &sqlgraph.EdgeTarget{
  422. IDSpec: sqlgraph.NewFieldSpec(userattributedefinition.FieldID, field.TypeInt64),
  423. },
  424. }
  425. _spec.Edges.Clear = append(_spec.Edges.Clear, edge)
  426. }
  427. if nodes := _u.mutation.DefinitionIDs(); len(nodes) > 0 {
  428. edge := &sqlgraph.EdgeSpec{
  429. Rel: sqlgraph.M2O,
  430. Inverse: true,
  431. Table: userattributevalue.DefinitionTable,
  432. Columns: []string{userattributevalue.DefinitionColumn},
  433. Bidi: false,
  434. Target: &sqlgraph.EdgeTarget{
  435. IDSpec: sqlgraph.NewFieldSpec(userattributedefinition.FieldID, field.TypeInt64),
  436. },
  437. }
  438. for _, k := range nodes {
  439. edge.Target.Nodes = append(edge.Target.Nodes, k)
  440. }
  441. _spec.Edges.Add = append(_spec.Edges.Add, edge)
  442. }
  443. _node = &UserAttributeValue{config: _u.config}
  444. _spec.Assign = _node.assignValues
  445. _spec.ScanValues = _node.scanValues
  446. if err = sqlgraph.UpdateNode(ctx, _u.driver, _spec); err != nil {
  447. if _, ok := err.(*sqlgraph.NotFoundError); ok {
  448. err = &NotFoundError{userattributevalue.Label}
  449. } else if sqlgraph.IsConstraintError(err) {
  450. err = &ConstraintError{msg: err.Error(), wrap: err}
  451. }
  452. return nil, err
  453. }
  454. _u.mutation.done = true
  455. return _node, nil
  456. }