compositemodelroute_update.go 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767
  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/compositemodelroute"
  12. "github.com/Wei-Shaw/sub2api/ent/group"
  13. "github.com/Wei-Shaw/sub2api/ent/predicate"
  14. )
  15. // CompositeModelRouteUpdate is the builder for updating CompositeModelRoute entities.
  16. type CompositeModelRouteUpdate struct {
  17. config
  18. hooks []Hook
  19. mutation *CompositeModelRouteMutation
  20. }
  21. // Where appends a list predicates to the CompositeModelRouteUpdate builder.
  22. func (_u *CompositeModelRouteUpdate) Where(ps ...predicate.CompositeModelRoute) *CompositeModelRouteUpdate {
  23. _u.mutation.Where(ps...)
  24. return _u
  25. }
  26. // SetUpdatedAt sets the "updated_at" field.
  27. func (_u *CompositeModelRouteUpdate) SetUpdatedAt(v time.Time) *CompositeModelRouteUpdate {
  28. _u.mutation.SetUpdatedAt(v)
  29. return _u
  30. }
  31. // SetDeletedAt sets the "deleted_at" field.
  32. func (_u *CompositeModelRouteUpdate) SetDeletedAt(v time.Time) *CompositeModelRouteUpdate {
  33. _u.mutation.SetDeletedAt(v)
  34. return _u
  35. }
  36. // SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
  37. func (_u *CompositeModelRouteUpdate) SetNillableDeletedAt(v *time.Time) *CompositeModelRouteUpdate {
  38. if v != nil {
  39. _u.SetDeletedAt(*v)
  40. }
  41. return _u
  42. }
  43. // ClearDeletedAt clears the value of the "deleted_at" field.
  44. func (_u *CompositeModelRouteUpdate) ClearDeletedAt() *CompositeModelRouteUpdate {
  45. _u.mutation.ClearDeletedAt()
  46. return _u
  47. }
  48. // SetGroupID sets the "group_id" field.
  49. func (_u *CompositeModelRouteUpdate) SetGroupID(v int64) *CompositeModelRouteUpdate {
  50. _u.mutation.SetGroupID(v)
  51. return _u
  52. }
  53. // SetNillableGroupID sets the "group_id" field if the given value is not nil.
  54. func (_u *CompositeModelRouteUpdate) SetNillableGroupID(v *int64) *CompositeModelRouteUpdate {
  55. if v != nil {
  56. _u.SetGroupID(*v)
  57. }
  58. return _u
  59. }
  60. // SetPublicModel sets the "public_model" field.
  61. func (_u *CompositeModelRouteUpdate) SetPublicModel(v string) *CompositeModelRouteUpdate {
  62. _u.mutation.SetPublicModel(v)
  63. return _u
  64. }
  65. // SetNillablePublicModel sets the "public_model" field if the given value is not nil.
  66. func (_u *CompositeModelRouteUpdate) SetNillablePublicModel(v *string) *CompositeModelRouteUpdate {
  67. if v != nil {
  68. _u.SetPublicModel(*v)
  69. }
  70. return _u
  71. }
  72. // SetMatchType sets the "match_type" field.
  73. func (_u *CompositeModelRouteUpdate) SetMatchType(v string) *CompositeModelRouteUpdate {
  74. _u.mutation.SetMatchType(v)
  75. return _u
  76. }
  77. // SetNillableMatchType sets the "match_type" field if the given value is not nil.
  78. func (_u *CompositeModelRouteUpdate) SetNillableMatchType(v *string) *CompositeModelRouteUpdate {
  79. if v != nil {
  80. _u.SetMatchType(*v)
  81. }
  82. return _u
  83. }
  84. // SetTargetPlatform sets the "target_platform" field.
  85. func (_u *CompositeModelRouteUpdate) SetTargetPlatform(v string) *CompositeModelRouteUpdate {
  86. _u.mutation.SetTargetPlatform(v)
  87. return _u
  88. }
  89. // SetNillableTargetPlatform sets the "target_platform" field if the given value is not nil.
  90. func (_u *CompositeModelRouteUpdate) SetNillableTargetPlatform(v *string) *CompositeModelRouteUpdate {
  91. if v != nil {
  92. _u.SetTargetPlatform(*v)
  93. }
  94. return _u
  95. }
  96. // SetUpstreamModel sets the "upstream_model" field.
  97. func (_u *CompositeModelRouteUpdate) SetUpstreamModel(v string) *CompositeModelRouteUpdate {
  98. _u.mutation.SetUpstreamModel(v)
  99. return _u
  100. }
  101. // SetNillableUpstreamModel sets the "upstream_model" field if the given value is not nil.
  102. func (_u *CompositeModelRouteUpdate) SetNillableUpstreamModel(v *string) *CompositeModelRouteUpdate {
  103. if v != nil {
  104. _u.SetUpstreamModel(*v)
  105. }
  106. return _u
  107. }
  108. // SetEndpoint sets the "endpoint" field.
  109. func (_u *CompositeModelRouteUpdate) SetEndpoint(v string) *CompositeModelRouteUpdate {
  110. _u.mutation.SetEndpoint(v)
  111. return _u
  112. }
  113. // SetNillableEndpoint sets the "endpoint" field if the given value is not nil.
  114. func (_u *CompositeModelRouteUpdate) SetNillableEndpoint(v *string) *CompositeModelRouteUpdate {
  115. if v != nil {
  116. _u.SetEndpoint(*v)
  117. }
  118. return _u
  119. }
  120. // SetPriority sets the "priority" field.
  121. func (_u *CompositeModelRouteUpdate) SetPriority(v int) *CompositeModelRouteUpdate {
  122. _u.mutation.ResetPriority()
  123. _u.mutation.SetPriority(v)
  124. return _u
  125. }
  126. // SetNillablePriority sets the "priority" field if the given value is not nil.
  127. func (_u *CompositeModelRouteUpdate) SetNillablePriority(v *int) *CompositeModelRouteUpdate {
  128. if v != nil {
  129. _u.SetPriority(*v)
  130. }
  131. return _u
  132. }
  133. // AddPriority adds value to the "priority" field.
  134. func (_u *CompositeModelRouteUpdate) AddPriority(v int) *CompositeModelRouteUpdate {
  135. _u.mutation.AddPriority(v)
  136. return _u
  137. }
  138. // SetEnabled sets the "enabled" field.
  139. func (_u *CompositeModelRouteUpdate) SetEnabled(v bool) *CompositeModelRouteUpdate {
  140. _u.mutation.SetEnabled(v)
  141. return _u
  142. }
  143. // SetNillableEnabled sets the "enabled" field if the given value is not nil.
  144. func (_u *CompositeModelRouteUpdate) SetNillableEnabled(v *bool) *CompositeModelRouteUpdate {
  145. if v != nil {
  146. _u.SetEnabled(*v)
  147. }
  148. return _u
  149. }
  150. // SetNotes sets the "notes" field.
  151. func (_u *CompositeModelRouteUpdate) SetNotes(v string) *CompositeModelRouteUpdate {
  152. _u.mutation.SetNotes(v)
  153. return _u
  154. }
  155. // SetNillableNotes sets the "notes" field if the given value is not nil.
  156. func (_u *CompositeModelRouteUpdate) SetNillableNotes(v *string) *CompositeModelRouteUpdate {
  157. if v != nil {
  158. _u.SetNotes(*v)
  159. }
  160. return _u
  161. }
  162. // ClearNotes clears the value of the "notes" field.
  163. func (_u *CompositeModelRouteUpdate) ClearNotes() *CompositeModelRouteUpdate {
  164. _u.mutation.ClearNotes()
  165. return _u
  166. }
  167. // SetGroup sets the "group" edge to the Group entity.
  168. func (_u *CompositeModelRouteUpdate) SetGroup(v *Group) *CompositeModelRouteUpdate {
  169. return _u.SetGroupID(v.ID)
  170. }
  171. // Mutation returns the CompositeModelRouteMutation object of the builder.
  172. func (_u *CompositeModelRouteUpdate) Mutation() *CompositeModelRouteMutation {
  173. return _u.mutation
  174. }
  175. // ClearGroup clears the "group" edge to the Group entity.
  176. func (_u *CompositeModelRouteUpdate) ClearGroup() *CompositeModelRouteUpdate {
  177. _u.mutation.ClearGroup()
  178. return _u
  179. }
  180. // Save executes the query and returns the number of nodes affected by the update operation.
  181. func (_u *CompositeModelRouteUpdate) Save(ctx context.Context) (int, error) {
  182. if err := _u.defaults(); err != nil {
  183. return 0, err
  184. }
  185. return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks)
  186. }
  187. // SaveX is like Save, but panics if an error occurs.
  188. func (_u *CompositeModelRouteUpdate) SaveX(ctx context.Context) int {
  189. affected, err := _u.Save(ctx)
  190. if err != nil {
  191. panic(err)
  192. }
  193. return affected
  194. }
  195. // Exec executes the query.
  196. func (_u *CompositeModelRouteUpdate) Exec(ctx context.Context) error {
  197. _, err := _u.Save(ctx)
  198. return err
  199. }
  200. // ExecX is like Exec, but panics if an error occurs.
  201. func (_u *CompositeModelRouteUpdate) ExecX(ctx context.Context) {
  202. if err := _u.Exec(ctx); err != nil {
  203. panic(err)
  204. }
  205. }
  206. // defaults sets the default values of the builder before save.
  207. func (_u *CompositeModelRouteUpdate) defaults() error {
  208. if _, ok := _u.mutation.UpdatedAt(); !ok {
  209. if compositemodelroute.UpdateDefaultUpdatedAt == nil {
  210. return fmt.Errorf("ent: uninitialized compositemodelroute.UpdateDefaultUpdatedAt (forgotten import ent/runtime?)")
  211. }
  212. v := compositemodelroute.UpdateDefaultUpdatedAt()
  213. _u.mutation.SetUpdatedAt(v)
  214. }
  215. return nil
  216. }
  217. // check runs all checks and user-defined validators on the builder.
  218. func (_u *CompositeModelRouteUpdate) check() error {
  219. if v, ok := _u.mutation.PublicModel(); ok {
  220. if err := compositemodelroute.PublicModelValidator(v); err != nil {
  221. return &ValidationError{Name: "public_model", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.public_model": %w`, err)}
  222. }
  223. }
  224. if v, ok := _u.mutation.MatchType(); ok {
  225. if err := compositemodelroute.MatchTypeValidator(v); err != nil {
  226. return &ValidationError{Name: "match_type", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.match_type": %w`, err)}
  227. }
  228. }
  229. if v, ok := _u.mutation.TargetPlatform(); ok {
  230. if err := compositemodelroute.TargetPlatformValidator(v); err != nil {
  231. return &ValidationError{Name: "target_platform", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.target_platform": %w`, err)}
  232. }
  233. }
  234. if v, ok := _u.mutation.UpstreamModel(); ok {
  235. if err := compositemodelroute.UpstreamModelValidator(v); err != nil {
  236. return &ValidationError{Name: "upstream_model", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.upstream_model": %w`, err)}
  237. }
  238. }
  239. if v, ok := _u.mutation.Endpoint(); ok {
  240. if err := compositemodelroute.EndpointValidator(v); err != nil {
  241. return &ValidationError{Name: "endpoint", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.endpoint": %w`, err)}
  242. }
  243. }
  244. if _u.mutation.GroupCleared() && len(_u.mutation.GroupIDs()) > 0 {
  245. return errors.New(`ent: clearing a required unique edge "CompositeModelRoute.group"`)
  246. }
  247. return nil
  248. }
  249. func (_u *CompositeModelRouteUpdate) sqlSave(ctx context.Context) (_node int, err error) {
  250. if err := _u.check(); err != nil {
  251. return _node, err
  252. }
  253. _spec := sqlgraph.NewUpdateSpec(compositemodelroute.Table, compositemodelroute.Columns, sqlgraph.NewFieldSpec(compositemodelroute.FieldID, field.TypeInt64))
  254. if ps := _u.mutation.predicates; len(ps) > 0 {
  255. _spec.Predicate = func(selector *sql.Selector) {
  256. for i := range ps {
  257. ps[i](selector)
  258. }
  259. }
  260. }
  261. if value, ok := _u.mutation.UpdatedAt(); ok {
  262. _spec.SetField(compositemodelroute.FieldUpdatedAt, field.TypeTime, value)
  263. }
  264. if value, ok := _u.mutation.DeletedAt(); ok {
  265. _spec.SetField(compositemodelroute.FieldDeletedAt, field.TypeTime, value)
  266. }
  267. if _u.mutation.DeletedAtCleared() {
  268. _spec.ClearField(compositemodelroute.FieldDeletedAt, field.TypeTime)
  269. }
  270. if value, ok := _u.mutation.PublicModel(); ok {
  271. _spec.SetField(compositemodelroute.FieldPublicModel, field.TypeString, value)
  272. }
  273. if value, ok := _u.mutation.MatchType(); ok {
  274. _spec.SetField(compositemodelroute.FieldMatchType, field.TypeString, value)
  275. }
  276. if value, ok := _u.mutation.TargetPlatform(); ok {
  277. _spec.SetField(compositemodelroute.FieldTargetPlatform, field.TypeString, value)
  278. }
  279. if value, ok := _u.mutation.UpstreamModel(); ok {
  280. _spec.SetField(compositemodelroute.FieldUpstreamModel, field.TypeString, value)
  281. }
  282. if value, ok := _u.mutation.Endpoint(); ok {
  283. _spec.SetField(compositemodelroute.FieldEndpoint, field.TypeString, value)
  284. }
  285. if value, ok := _u.mutation.Priority(); ok {
  286. _spec.SetField(compositemodelroute.FieldPriority, field.TypeInt, value)
  287. }
  288. if value, ok := _u.mutation.AddedPriority(); ok {
  289. _spec.AddField(compositemodelroute.FieldPriority, field.TypeInt, value)
  290. }
  291. if value, ok := _u.mutation.Enabled(); ok {
  292. _spec.SetField(compositemodelroute.FieldEnabled, field.TypeBool, value)
  293. }
  294. if value, ok := _u.mutation.Notes(); ok {
  295. _spec.SetField(compositemodelroute.FieldNotes, field.TypeString, value)
  296. }
  297. if _u.mutation.NotesCleared() {
  298. _spec.ClearField(compositemodelroute.FieldNotes, field.TypeString)
  299. }
  300. if _u.mutation.GroupCleared() {
  301. edge := &sqlgraph.EdgeSpec{
  302. Rel: sqlgraph.M2O,
  303. Inverse: false,
  304. Table: compositemodelroute.GroupTable,
  305. Columns: []string{compositemodelroute.GroupColumn},
  306. Bidi: false,
  307. Target: &sqlgraph.EdgeTarget{
  308. IDSpec: sqlgraph.NewFieldSpec(group.FieldID, field.TypeInt64),
  309. },
  310. }
  311. _spec.Edges.Clear = append(_spec.Edges.Clear, edge)
  312. }
  313. if nodes := _u.mutation.GroupIDs(); len(nodes) > 0 {
  314. edge := &sqlgraph.EdgeSpec{
  315. Rel: sqlgraph.M2O,
  316. Inverse: false,
  317. Table: compositemodelroute.GroupTable,
  318. Columns: []string{compositemodelroute.GroupColumn},
  319. Bidi: false,
  320. Target: &sqlgraph.EdgeTarget{
  321. IDSpec: sqlgraph.NewFieldSpec(group.FieldID, field.TypeInt64),
  322. },
  323. }
  324. for _, k := range nodes {
  325. edge.Target.Nodes = append(edge.Target.Nodes, k)
  326. }
  327. _spec.Edges.Add = append(_spec.Edges.Add, edge)
  328. }
  329. if _node, err = sqlgraph.UpdateNodes(ctx, _u.driver, _spec); err != nil {
  330. if _, ok := err.(*sqlgraph.NotFoundError); ok {
  331. err = &NotFoundError{compositemodelroute.Label}
  332. } else if sqlgraph.IsConstraintError(err) {
  333. err = &ConstraintError{msg: err.Error(), wrap: err}
  334. }
  335. return 0, err
  336. }
  337. _u.mutation.done = true
  338. return _node, nil
  339. }
  340. // CompositeModelRouteUpdateOne is the builder for updating a single CompositeModelRoute entity.
  341. type CompositeModelRouteUpdateOne struct {
  342. config
  343. fields []string
  344. hooks []Hook
  345. mutation *CompositeModelRouteMutation
  346. }
  347. // SetUpdatedAt sets the "updated_at" field.
  348. func (_u *CompositeModelRouteUpdateOne) SetUpdatedAt(v time.Time) *CompositeModelRouteUpdateOne {
  349. _u.mutation.SetUpdatedAt(v)
  350. return _u
  351. }
  352. // SetDeletedAt sets the "deleted_at" field.
  353. func (_u *CompositeModelRouteUpdateOne) SetDeletedAt(v time.Time) *CompositeModelRouteUpdateOne {
  354. _u.mutation.SetDeletedAt(v)
  355. return _u
  356. }
  357. // SetNillableDeletedAt sets the "deleted_at" field if the given value is not nil.
  358. func (_u *CompositeModelRouteUpdateOne) SetNillableDeletedAt(v *time.Time) *CompositeModelRouteUpdateOne {
  359. if v != nil {
  360. _u.SetDeletedAt(*v)
  361. }
  362. return _u
  363. }
  364. // ClearDeletedAt clears the value of the "deleted_at" field.
  365. func (_u *CompositeModelRouteUpdateOne) ClearDeletedAt() *CompositeModelRouteUpdateOne {
  366. _u.mutation.ClearDeletedAt()
  367. return _u
  368. }
  369. // SetGroupID sets the "group_id" field.
  370. func (_u *CompositeModelRouteUpdateOne) SetGroupID(v int64) *CompositeModelRouteUpdateOne {
  371. _u.mutation.SetGroupID(v)
  372. return _u
  373. }
  374. // SetNillableGroupID sets the "group_id" field if the given value is not nil.
  375. func (_u *CompositeModelRouteUpdateOne) SetNillableGroupID(v *int64) *CompositeModelRouteUpdateOne {
  376. if v != nil {
  377. _u.SetGroupID(*v)
  378. }
  379. return _u
  380. }
  381. // SetPublicModel sets the "public_model" field.
  382. func (_u *CompositeModelRouteUpdateOne) SetPublicModel(v string) *CompositeModelRouteUpdateOne {
  383. _u.mutation.SetPublicModel(v)
  384. return _u
  385. }
  386. // SetNillablePublicModel sets the "public_model" field if the given value is not nil.
  387. func (_u *CompositeModelRouteUpdateOne) SetNillablePublicModel(v *string) *CompositeModelRouteUpdateOne {
  388. if v != nil {
  389. _u.SetPublicModel(*v)
  390. }
  391. return _u
  392. }
  393. // SetMatchType sets the "match_type" field.
  394. func (_u *CompositeModelRouteUpdateOne) SetMatchType(v string) *CompositeModelRouteUpdateOne {
  395. _u.mutation.SetMatchType(v)
  396. return _u
  397. }
  398. // SetNillableMatchType sets the "match_type" field if the given value is not nil.
  399. func (_u *CompositeModelRouteUpdateOne) SetNillableMatchType(v *string) *CompositeModelRouteUpdateOne {
  400. if v != nil {
  401. _u.SetMatchType(*v)
  402. }
  403. return _u
  404. }
  405. // SetTargetPlatform sets the "target_platform" field.
  406. func (_u *CompositeModelRouteUpdateOne) SetTargetPlatform(v string) *CompositeModelRouteUpdateOne {
  407. _u.mutation.SetTargetPlatform(v)
  408. return _u
  409. }
  410. // SetNillableTargetPlatform sets the "target_platform" field if the given value is not nil.
  411. func (_u *CompositeModelRouteUpdateOne) SetNillableTargetPlatform(v *string) *CompositeModelRouteUpdateOne {
  412. if v != nil {
  413. _u.SetTargetPlatform(*v)
  414. }
  415. return _u
  416. }
  417. // SetUpstreamModel sets the "upstream_model" field.
  418. func (_u *CompositeModelRouteUpdateOne) SetUpstreamModel(v string) *CompositeModelRouteUpdateOne {
  419. _u.mutation.SetUpstreamModel(v)
  420. return _u
  421. }
  422. // SetNillableUpstreamModel sets the "upstream_model" field if the given value is not nil.
  423. func (_u *CompositeModelRouteUpdateOne) SetNillableUpstreamModel(v *string) *CompositeModelRouteUpdateOne {
  424. if v != nil {
  425. _u.SetUpstreamModel(*v)
  426. }
  427. return _u
  428. }
  429. // SetEndpoint sets the "endpoint" field.
  430. func (_u *CompositeModelRouteUpdateOne) SetEndpoint(v string) *CompositeModelRouteUpdateOne {
  431. _u.mutation.SetEndpoint(v)
  432. return _u
  433. }
  434. // SetNillableEndpoint sets the "endpoint" field if the given value is not nil.
  435. func (_u *CompositeModelRouteUpdateOne) SetNillableEndpoint(v *string) *CompositeModelRouteUpdateOne {
  436. if v != nil {
  437. _u.SetEndpoint(*v)
  438. }
  439. return _u
  440. }
  441. // SetPriority sets the "priority" field.
  442. func (_u *CompositeModelRouteUpdateOne) SetPriority(v int) *CompositeModelRouteUpdateOne {
  443. _u.mutation.ResetPriority()
  444. _u.mutation.SetPriority(v)
  445. return _u
  446. }
  447. // SetNillablePriority sets the "priority" field if the given value is not nil.
  448. func (_u *CompositeModelRouteUpdateOne) SetNillablePriority(v *int) *CompositeModelRouteUpdateOne {
  449. if v != nil {
  450. _u.SetPriority(*v)
  451. }
  452. return _u
  453. }
  454. // AddPriority adds value to the "priority" field.
  455. func (_u *CompositeModelRouteUpdateOne) AddPriority(v int) *CompositeModelRouteUpdateOne {
  456. _u.mutation.AddPriority(v)
  457. return _u
  458. }
  459. // SetEnabled sets the "enabled" field.
  460. func (_u *CompositeModelRouteUpdateOne) SetEnabled(v bool) *CompositeModelRouteUpdateOne {
  461. _u.mutation.SetEnabled(v)
  462. return _u
  463. }
  464. // SetNillableEnabled sets the "enabled" field if the given value is not nil.
  465. func (_u *CompositeModelRouteUpdateOne) SetNillableEnabled(v *bool) *CompositeModelRouteUpdateOne {
  466. if v != nil {
  467. _u.SetEnabled(*v)
  468. }
  469. return _u
  470. }
  471. // SetNotes sets the "notes" field.
  472. func (_u *CompositeModelRouteUpdateOne) SetNotes(v string) *CompositeModelRouteUpdateOne {
  473. _u.mutation.SetNotes(v)
  474. return _u
  475. }
  476. // SetNillableNotes sets the "notes" field if the given value is not nil.
  477. func (_u *CompositeModelRouteUpdateOne) SetNillableNotes(v *string) *CompositeModelRouteUpdateOne {
  478. if v != nil {
  479. _u.SetNotes(*v)
  480. }
  481. return _u
  482. }
  483. // ClearNotes clears the value of the "notes" field.
  484. func (_u *CompositeModelRouteUpdateOne) ClearNotes() *CompositeModelRouteUpdateOne {
  485. _u.mutation.ClearNotes()
  486. return _u
  487. }
  488. // SetGroup sets the "group" edge to the Group entity.
  489. func (_u *CompositeModelRouteUpdateOne) SetGroup(v *Group) *CompositeModelRouteUpdateOne {
  490. return _u.SetGroupID(v.ID)
  491. }
  492. // Mutation returns the CompositeModelRouteMutation object of the builder.
  493. func (_u *CompositeModelRouteUpdateOne) Mutation() *CompositeModelRouteMutation {
  494. return _u.mutation
  495. }
  496. // ClearGroup clears the "group" edge to the Group entity.
  497. func (_u *CompositeModelRouteUpdateOne) ClearGroup() *CompositeModelRouteUpdateOne {
  498. _u.mutation.ClearGroup()
  499. return _u
  500. }
  501. // Where appends a list predicates to the CompositeModelRouteUpdate builder.
  502. func (_u *CompositeModelRouteUpdateOne) Where(ps ...predicate.CompositeModelRoute) *CompositeModelRouteUpdateOne {
  503. _u.mutation.Where(ps...)
  504. return _u
  505. }
  506. // Select allows selecting one or more fields (columns) of the returned entity.
  507. // The default is selecting all fields defined in the entity schema.
  508. func (_u *CompositeModelRouteUpdateOne) Select(field string, fields ...string) *CompositeModelRouteUpdateOne {
  509. _u.fields = append([]string{field}, fields...)
  510. return _u
  511. }
  512. // Save executes the query and returns the updated CompositeModelRoute entity.
  513. func (_u *CompositeModelRouteUpdateOne) Save(ctx context.Context) (*CompositeModelRoute, error) {
  514. if err := _u.defaults(); err != nil {
  515. return nil, err
  516. }
  517. return withHooks(ctx, _u.sqlSave, _u.mutation, _u.hooks)
  518. }
  519. // SaveX is like Save, but panics if an error occurs.
  520. func (_u *CompositeModelRouteUpdateOne) SaveX(ctx context.Context) *CompositeModelRoute {
  521. node, err := _u.Save(ctx)
  522. if err != nil {
  523. panic(err)
  524. }
  525. return node
  526. }
  527. // Exec executes the query on the entity.
  528. func (_u *CompositeModelRouteUpdateOne) Exec(ctx context.Context) error {
  529. _, err := _u.Save(ctx)
  530. return err
  531. }
  532. // ExecX is like Exec, but panics if an error occurs.
  533. func (_u *CompositeModelRouteUpdateOne) ExecX(ctx context.Context) {
  534. if err := _u.Exec(ctx); err != nil {
  535. panic(err)
  536. }
  537. }
  538. // defaults sets the default values of the builder before save.
  539. func (_u *CompositeModelRouteUpdateOne) defaults() error {
  540. if _, ok := _u.mutation.UpdatedAt(); !ok {
  541. if compositemodelroute.UpdateDefaultUpdatedAt == nil {
  542. return fmt.Errorf("ent: uninitialized compositemodelroute.UpdateDefaultUpdatedAt (forgotten import ent/runtime?)")
  543. }
  544. v := compositemodelroute.UpdateDefaultUpdatedAt()
  545. _u.mutation.SetUpdatedAt(v)
  546. }
  547. return nil
  548. }
  549. // check runs all checks and user-defined validators on the builder.
  550. func (_u *CompositeModelRouteUpdateOne) check() error {
  551. if v, ok := _u.mutation.PublicModel(); ok {
  552. if err := compositemodelroute.PublicModelValidator(v); err != nil {
  553. return &ValidationError{Name: "public_model", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.public_model": %w`, err)}
  554. }
  555. }
  556. if v, ok := _u.mutation.MatchType(); ok {
  557. if err := compositemodelroute.MatchTypeValidator(v); err != nil {
  558. return &ValidationError{Name: "match_type", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.match_type": %w`, err)}
  559. }
  560. }
  561. if v, ok := _u.mutation.TargetPlatform(); ok {
  562. if err := compositemodelroute.TargetPlatformValidator(v); err != nil {
  563. return &ValidationError{Name: "target_platform", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.target_platform": %w`, err)}
  564. }
  565. }
  566. if v, ok := _u.mutation.UpstreamModel(); ok {
  567. if err := compositemodelroute.UpstreamModelValidator(v); err != nil {
  568. return &ValidationError{Name: "upstream_model", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.upstream_model": %w`, err)}
  569. }
  570. }
  571. if v, ok := _u.mutation.Endpoint(); ok {
  572. if err := compositemodelroute.EndpointValidator(v); err != nil {
  573. return &ValidationError{Name: "endpoint", err: fmt.Errorf(`ent: validator failed for field "CompositeModelRoute.endpoint": %w`, err)}
  574. }
  575. }
  576. if _u.mutation.GroupCleared() && len(_u.mutation.GroupIDs()) > 0 {
  577. return errors.New(`ent: clearing a required unique edge "CompositeModelRoute.group"`)
  578. }
  579. return nil
  580. }
  581. func (_u *CompositeModelRouteUpdateOne) sqlSave(ctx context.Context) (_node *CompositeModelRoute, err error) {
  582. if err := _u.check(); err != nil {
  583. return _node, err
  584. }
  585. _spec := sqlgraph.NewUpdateSpec(compositemodelroute.Table, compositemodelroute.Columns, sqlgraph.NewFieldSpec(compositemodelroute.FieldID, field.TypeInt64))
  586. id, ok := _u.mutation.ID()
  587. if !ok {
  588. return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "CompositeModelRoute.id" for update`)}
  589. }
  590. _spec.Node.ID.Value = id
  591. if fields := _u.fields; len(fields) > 0 {
  592. _spec.Node.Columns = make([]string, 0, len(fields))
  593. _spec.Node.Columns = append(_spec.Node.Columns, compositemodelroute.FieldID)
  594. for _, f := range fields {
  595. if !compositemodelroute.ValidColumn(f) {
  596. return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
  597. }
  598. if f != compositemodelroute.FieldID {
  599. _spec.Node.Columns = append(_spec.Node.Columns, f)
  600. }
  601. }
  602. }
  603. if ps := _u.mutation.predicates; len(ps) > 0 {
  604. _spec.Predicate = func(selector *sql.Selector) {
  605. for i := range ps {
  606. ps[i](selector)
  607. }
  608. }
  609. }
  610. if value, ok := _u.mutation.UpdatedAt(); ok {
  611. _spec.SetField(compositemodelroute.FieldUpdatedAt, field.TypeTime, value)
  612. }
  613. if value, ok := _u.mutation.DeletedAt(); ok {
  614. _spec.SetField(compositemodelroute.FieldDeletedAt, field.TypeTime, value)
  615. }
  616. if _u.mutation.DeletedAtCleared() {
  617. _spec.ClearField(compositemodelroute.FieldDeletedAt, field.TypeTime)
  618. }
  619. if value, ok := _u.mutation.PublicModel(); ok {
  620. _spec.SetField(compositemodelroute.FieldPublicModel, field.TypeString, value)
  621. }
  622. if value, ok := _u.mutation.MatchType(); ok {
  623. _spec.SetField(compositemodelroute.FieldMatchType, field.TypeString, value)
  624. }
  625. if value, ok := _u.mutation.TargetPlatform(); ok {
  626. _spec.SetField(compositemodelroute.FieldTargetPlatform, field.TypeString, value)
  627. }
  628. if value, ok := _u.mutation.UpstreamModel(); ok {
  629. _spec.SetField(compositemodelroute.FieldUpstreamModel, field.TypeString, value)
  630. }
  631. if value, ok := _u.mutation.Endpoint(); ok {
  632. _spec.SetField(compositemodelroute.FieldEndpoint, field.TypeString, value)
  633. }
  634. if value, ok := _u.mutation.Priority(); ok {
  635. _spec.SetField(compositemodelroute.FieldPriority, field.TypeInt, value)
  636. }
  637. if value, ok := _u.mutation.AddedPriority(); ok {
  638. _spec.AddField(compositemodelroute.FieldPriority, field.TypeInt, value)
  639. }
  640. if value, ok := _u.mutation.Enabled(); ok {
  641. _spec.SetField(compositemodelroute.FieldEnabled, field.TypeBool, value)
  642. }
  643. if value, ok := _u.mutation.Notes(); ok {
  644. _spec.SetField(compositemodelroute.FieldNotes, field.TypeString, value)
  645. }
  646. if _u.mutation.NotesCleared() {
  647. _spec.ClearField(compositemodelroute.FieldNotes, field.TypeString)
  648. }
  649. if _u.mutation.GroupCleared() {
  650. edge := &sqlgraph.EdgeSpec{
  651. Rel: sqlgraph.M2O,
  652. Inverse: false,
  653. Table: compositemodelroute.GroupTable,
  654. Columns: []string{compositemodelroute.GroupColumn},
  655. Bidi: false,
  656. Target: &sqlgraph.EdgeTarget{
  657. IDSpec: sqlgraph.NewFieldSpec(group.FieldID, field.TypeInt64),
  658. },
  659. }
  660. _spec.Edges.Clear = append(_spec.Edges.Clear, edge)
  661. }
  662. if nodes := _u.mutation.GroupIDs(); len(nodes) > 0 {
  663. edge := &sqlgraph.EdgeSpec{
  664. Rel: sqlgraph.M2O,
  665. Inverse: false,
  666. Table: compositemodelroute.GroupTable,
  667. Columns: []string{compositemodelroute.GroupColumn},
  668. Bidi: false,
  669. Target: &sqlgraph.EdgeTarget{
  670. IDSpec: sqlgraph.NewFieldSpec(group.FieldID, field.TypeInt64),
  671. },
  672. }
  673. for _, k := range nodes {
  674. edge.Target.Nodes = append(edge.Target.Nodes, k)
  675. }
  676. _spec.Edges.Add = append(_spec.Edges.Add, edge)
  677. }
  678. _node = &CompositeModelRoute{config: _u.config}
  679. _spec.Assign = _node.assignValues
  680. _spec.ScanValues = _node.scanValues
  681. if err = sqlgraph.UpdateNode(ctx, _u.driver, _spec); err != nil {
  682. if _, ok := err.(*sqlgraph.NotFoundError); ok {
  683. err = &NotFoundError{compositemodelroute.Label}
  684. } else if sqlgraph.IsConstraintError(err) {
  685. err = &ConstraintError{msg: err.Error(), wrap: err}
  686. }
  687. return nil, err
  688. }
  689. _u.mutation.done = true
  690. return _node, nil
  691. }