userallowedgroup_update.go 13 KB

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