wpchatroommember_create.go 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896
  1. // Code generated by ent, DO NOT EDIT.
  2. package ent
  3. import (
  4. "context"
  5. "errors"
  6. "fmt"
  7. "time"
  8. "wechat-api/ent/wpchatroommember"
  9. "entgo.io/ent/dialect/sql"
  10. "entgo.io/ent/dialect/sql/sqlgraph"
  11. "entgo.io/ent/schema/field"
  12. )
  13. // WpChatroomMemberCreate is the builder for creating a WpChatroomMember entity.
  14. type WpChatroomMemberCreate struct {
  15. config
  16. mutation *WpChatroomMemberMutation
  17. hooks []Hook
  18. conflict []sql.ConflictOption
  19. }
  20. // SetCreatedAt sets the "created_at" field.
  21. func (wcmc *WpChatroomMemberCreate) SetCreatedAt(t time.Time) *WpChatroomMemberCreate {
  22. wcmc.mutation.SetCreatedAt(t)
  23. return wcmc
  24. }
  25. // SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
  26. func (wcmc *WpChatroomMemberCreate) SetNillableCreatedAt(t *time.Time) *WpChatroomMemberCreate {
  27. if t != nil {
  28. wcmc.SetCreatedAt(*t)
  29. }
  30. return wcmc
  31. }
  32. // SetUpdatedAt sets the "updated_at" field.
  33. func (wcmc *WpChatroomMemberCreate) SetUpdatedAt(t time.Time) *WpChatroomMemberCreate {
  34. wcmc.mutation.SetUpdatedAt(t)
  35. return wcmc
  36. }
  37. // SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
  38. func (wcmc *WpChatroomMemberCreate) SetNillableUpdatedAt(t *time.Time) *WpChatroomMemberCreate {
  39. if t != nil {
  40. wcmc.SetUpdatedAt(*t)
  41. }
  42. return wcmc
  43. }
  44. // SetStatus sets the "status" field.
  45. func (wcmc *WpChatroomMemberCreate) SetStatus(u uint8) *WpChatroomMemberCreate {
  46. wcmc.mutation.SetStatus(u)
  47. return wcmc
  48. }
  49. // SetNillableStatus sets the "status" field if the given value is not nil.
  50. func (wcmc *WpChatroomMemberCreate) SetNillableStatus(u *uint8) *WpChatroomMemberCreate {
  51. if u != nil {
  52. wcmc.SetStatus(*u)
  53. }
  54. return wcmc
  55. }
  56. // SetWxWxid sets the "wx_wxid" field.
  57. func (wcmc *WpChatroomMemberCreate) SetWxWxid(s string) *WpChatroomMemberCreate {
  58. wcmc.mutation.SetWxWxid(s)
  59. return wcmc
  60. }
  61. // SetNillableWxWxid sets the "wx_wxid" field if the given value is not nil.
  62. func (wcmc *WpChatroomMemberCreate) SetNillableWxWxid(s *string) *WpChatroomMemberCreate {
  63. if s != nil {
  64. wcmc.SetWxWxid(*s)
  65. }
  66. return wcmc
  67. }
  68. // SetWxid sets the "wxid" field.
  69. func (wcmc *WpChatroomMemberCreate) SetWxid(s string) *WpChatroomMemberCreate {
  70. wcmc.mutation.SetWxid(s)
  71. return wcmc
  72. }
  73. // SetNillableWxid sets the "wxid" field if the given value is not nil.
  74. func (wcmc *WpChatroomMemberCreate) SetNillableWxid(s *string) *WpChatroomMemberCreate {
  75. if s != nil {
  76. wcmc.SetWxid(*s)
  77. }
  78. return wcmc
  79. }
  80. // SetNickname sets the "nickname" field.
  81. func (wcmc *WpChatroomMemberCreate) SetNickname(s string) *WpChatroomMemberCreate {
  82. wcmc.mutation.SetNickname(s)
  83. return wcmc
  84. }
  85. // SetNillableNickname sets the "nickname" field if the given value is not nil.
  86. func (wcmc *WpChatroomMemberCreate) SetNillableNickname(s *string) *WpChatroomMemberCreate {
  87. if s != nil {
  88. wcmc.SetNickname(*s)
  89. }
  90. return wcmc
  91. }
  92. // SetAvatar sets the "avatar" field.
  93. func (wcmc *WpChatroomMemberCreate) SetAvatar(s string) *WpChatroomMemberCreate {
  94. wcmc.mutation.SetAvatar(s)
  95. return wcmc
  96. }
  97. // SetNillableAvatar sets the "avatar" field if the given value is not nil.
  98. func (wcmc *WpChatroomMemberCreate) SetNillableAvatar(s *string) *WpChatroomMemberCreate {
  99. if s != nil {
  100. wcmc.SetAvatar(*s)
  101. }
  102. return wcmc
  103. }
  104. // SetID sets the "id" field.
  105. func (wcmc *WpChatroomMemberCreate) SetID(u uint64) *WpChatroomMemberCreate {
  106. wcmc.mutation.SetID(u)
  107. return wcmc
  108. }
  109. // Mutation returns the WpChatroomMemberMutation object of the builder.
  110. func (wcmc *WpChatroomMemberCreate) Mutation() *WpChatroomMemberMutation {
  111. return wcmc.mutation
  112. }
  113. // Save creates the WpChatroomMember in the database.
  114. func (wcmc *WpChatroomMemberCreate) Save(ctx context.Context) (*WpChatroomMember, error) {
  115. wcmc.defaults()
  116. return withHooks(ctx, wcmc.sqlSave, wcmc.mutation, wcmc.hooks)
  117. }
  118. // SaveX calls Save and panics if Save returns an error.
  119. func (wcmc *WpChatroomMemberCreate) SaveX(ctx context.Context) *WpChatroomMember {
  120. v, err := wcmc.Save(ctx)
  121. if err != nil {
  122. panic(err)
  123. }
  124. return v
  125. }
  126. // Exec executes the query.
  127. func (wcmc *WpChatroomMemberCreate) Exec(ctx context.Context) error {
  128. _, err := wcmc.Save(ctx)
  129. return err
  130. }
  131. // ExecX is like Exec, but panics if an error occurs.
  132. func (wcmc *WpChatroomMemberCreate) ExecX(ctx context.Context) {
  133. if err := wcmc.Exec(ctx); err != nil {
  134. panic(err)
  135. }
  136. }
  137. // defaults sets the default values of the builder before save.
  138. func (wcmc *WpChatroomMemberCreate) defaults() {
  139. if _, ok := wcmc.mutation.CreatedAt(); !ok {
  140. v := wpchatroommember.DefaultCreatedAt()
  141. wcmc.mutation.SetCreatedAt(v)
  142. }
  143. if _, ok := wcmc.mutation.UpdatedAt(); !ok {
  144. v := wpchatroommember.DefaultUpdatedAt()
  145. wcmc.mutation.SetUpdatedAt(v)
  146. }
  147. if _, ok := wcmc.mutation.Status(); !ok {
  148. v := wpchatroommember.DefaultStatus
  149. wcmc.mutation.SetStatus(v)
  150. }
  151. if _, ok := wcmc.mutation.WxWxid(); !ok {
  152. v := wpchatroommember.DefaultWxWxid
  153. wcmc.mutation.SetWxWxid(v)
  154. }
  155. if _, ok := wcmc.mutation.Wxid(); !ok {
  156. v := wpchatroommember.DefaultWxid
  157. wcmc.mutation.SetWxid(v)
  158. }
  159. if _, ok := wcmc.mutation.Nickname(); !ok {
  160. v := wpchatroommember.DefaultNickname
  161. wcmc.mutation.SetNickname(v)
  162. }
  163. if _, ok := wcmc.mutation.Avatar(); !ok {
  164. v := wpchatroommember.DefaultAvatar
  165. wcmc.mutation.SetAvatar(v)
  166. }
  167. }
  168. // check runs all checks and user-defined validators on the builder.
  169. func (wcmc *WpChatroomMemberCreate) check() error {
  170. if _, ok := wcmc.mutation.CreatedAt(); !ok {
  171. return &ValidationError{Name: "created_at", err: errors.New(`ent: missing required field "WpChatroomMember.created_at"`)}
  172. }
  173. if _, ok := wcmc.mutation.UpdatedAt(); !ok {
  174. return &ValidationError{Name: "updated_at", err: errors.New(`ent: missing required field "WpChatroomMember.updated_at"`)}
  175. }
  176. if _, ok := wcmc.mutation.WxWxid(); !ok {
  177. return &ValidationError{Name: "wx_wxid", err: errors.New(`ent: missing required field "WpChatroomMember.wx_wxid"`)}
  178. }
  179. if _, ok := wcmc.mutation.Wxid(); !ok {
  180. return &ValidationError{Name: "wxid", err: errors.New(`ent: missing required field "WpChatroomMember.wxid"`)}
  181. }
  182. if _, ok := wcmc.mutation.Nickname(); !ok {
  183. return &ValidationError{Name: "nickname", err: errors.New(`ent: missing required field "WpChatroomMember.nickname"`)}
  184. }
  185. if _, ok := wcmc.mutation.Avatar(); !ok {
  186. return &ValidationError{Name: "avatar", err: errors.New(`ent: missing required field "WpChatroomMember.avatar"`)}
  187. }
  188. return nil
  189. }
  190. func (wcmc *WpChatroomMemberCreate) sqlSave(ctx context.Context) (*WpChatroomMember, error) {
  191. if err := wcmc.check(); err != nil {
  192. return nil, err
  193. }
  194. _node, _spec := wcmc.createSpec()
  195. if err := sqlgraph.CreateNode(ctx, wcmc.driver, _spec); err != nil {
  196. if sqlgraph.IsConstraintError(err) {
  197. err = &ConstraintError{msg: err.Error(), wrap: err}
  198. }
  199. return nil, err
  200. }
  201. if _spec.ID.Value != _node.ID {
  202. id := _spec.ID.Value.(int64)
  203. _node.ID = uint64(id)
  204. }
  205. wcmc.mutation.id = &_node.ID
  206. wcmc.mutation.done = true
  207. return _node, nil
  208. }
  209. func (wcmc *WpChatroomMemberCreate) createSpec() (*WpChatroomMember, *sqlgraph.CreateSpec) {
  210. var (
  211. _node = &WpChatroomMember{config: wcmc.config}
  212. _spec = sqlgraph.NewCreateSpec(wpchatroommember.Table, sqlgraph.NewFieldSpec(wpchatroommember.FieldID, field.TypeUint64))
  213. )
  214. _spec.OnConflict = wcmc.conflict
  215. if id, ok := wcmc.mutation.ID(); ok {
  216. _node.ID = id
  217. _spec.ID.Value = id
  218. }
  219. if value, ok := wcmc.mutation.CreatedAt(); ok {
  220. _spec.SetField(wpchatroommember.FieldCreatedAt, field.TypeTime, value)
  221. _node.CreatedAt = value
  222. }
  223. if value, ok := wcmc.mutation.UpdatedAt(); ok {
  224. _spec.SetField(wpchatroommember.FieldUpdatedAt, field.TypeTime, value)
  225. _node.UpdatedAt = value
  226. }
  227. if value, ok := wcmc.mutation.Status(); ok {
  228. _spec.SetField(wpchatroommember.FieldStatus, field.TypeUint8, value)
  229. _node.Status = value
  230. }
  231. if value, ok := wcmc.mutation.WxWxid(); ok {
  232. _spec.SetField(wpchatroommember.FieldWxWxid, field.TypeString, value)
  233. _node.WxWxid = value
  234. }
  235. if value, ok := wcmc.mutation.Wxid(); ok {
  236. _spec.SetField(wpchatroommember.FieldWxid, field.TypeString, value)
  237. _node.Wxid = value
  238. }
  239. if value, ok := wcmc.mutation.Nickname(); ok {
  240. _spec.SetField(wpchatroommember.FieldNickname, field.TypeString, value)
  241. _node.Nickname = value
  242. }
  243. if value, ok := wcmc.mutation.Avatar(); ok {
  244. _spec.SetField(wpchatroommember.FieldAvatar, field.TypeString, value)
  245. _node.Avatar = value
  246. }
  247. return _node, _spec
  248. }
  249. // OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause
  250. // of the `INSERT` statement. For example:
  251. //
  252. // client.WpChatroomMember.Create().
  253. // SetCreatedAt(v).
  254. // OnConflict(
  255. // // Update the row with the new values
  256. // // the was proposed for insertion.
  257. // sql.ResolveWithNewValues(),
  258. // ).
  259. // // Override some of the fields with custom
  260. // // update values.
  261. // Update(func(u *ent.WpChatroomMemberUpsert) {
  262. // SetCreatedAt(v+v).
  263. // }).
  264. // Exec(ctx)
  265. func (wcmc *WpChatroomMemberCreate) OnConflict(opts ...sql.ConflictOption) *WpChatroomMemberUpsertOne {
  266. wcmc.conflict = opts
  267. return &WpChatroomMemberUpsertOne{
  268. create: wcmc,
  269. }
  270. }
  271. // OnConflictColumns calls `OnConflict` and configures the columns
  272. // as conflict target. Using this option is equivalent to using:
  273. //
  274. // client.WpChatroomMember.Create().
  275. // OnConflict(sql.ConflictColumns(columns...)).
  276. // Exec(ctx)
  277. func (wcmc *WpChatroomMemberCreate) OnConflictColumns(columns ...string) *WpChatroomMemberUpsertOne {
  278. wcmc.conflict = append(wcmc.conflict, sql.ConflictColumns(columns...))
  279. return &WpChatroomMemberUpsertOne{
  280. create: wcmc,
  281. }
  282. }
  283. type (
  284. // WpChatroomMemberUpsertOne is the builder for "upsert"-ing
  285. // one WpChatroomMember node.
  286. WpChatroomMemberUpsertOne struct {
  287. create *WpChatroomMemberCreate
  288. }
  289. // WpChatroomMemberUpsert is the "OnConflict" setter.
  290. WpChatroomMemberUpsert struct {
  291. *sql.UpdateSet
  292. }
  293. )
  294. // SetUpdatedAt sets the "updated_at" field.
  295. func (u *WpChatroomMemberUpsert) SetUpdatedAt(v time.Time) *WpChatroomMemberUpsert {
  296. u.Set(wpchatroommember.FieldUpdatedAt, v)
  297. return u
  298. }
  299. // UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
  300. func (u *WpChatroomMemberUpsert) UpdateUpdatedAt() *WpChatroomMemberUpsert {
  301. u.SetExcluded(wpchatroommember.FieldUpdatedAt)
  302. return u
  303. }
  304. // SetStatus sets the "status" field.
  305. func (u *WpChatroomMemberUpsert) SetStatus(v uint8) *WpChatroomMemberUpsert {
  306. u.Set(wpchatroommember.FieldStatus, v)
  307. return u
  308. }
  309. // UpdateStatus sets the "status" field to the value that was provided on create.
  310. func (u *WpChatroomMemberUpsert) UpdateStatus() *WpChatroomMemberUpsert {
  311. u.SetExcluded(wpchatroommember.FieldStatus)
  312. return u
  313. }
  314. // AddStatus adds v to the "status" field.
  315. func (u *WpChatroomMemberUpsert) AddStatus(v uint8) *WpChatroomMemberUpsert {
  316. u.Add(wpchatroommember.FieldStatus, v)
  317. return u
  318. }
  319. // ClearStatus clears the value of the "status" field.
  320. func (u *WpChatroomMemberUpsert) ClearStatus() *WpChatroomMemberUpsert {
  321. u.SetNull(wpchatroommember.FieldStatus)
  322. return u
  323. }
  324. // SetWxWxid sets the "wx_wxid" field.
  325. func (u *WpChatroomMemberUpsert) SetWxWxid(v string) *WpChatroomMemberUpsert {
  326. u.Set(wpchatroommember.FieldWxWxid, v)
  327. return u
  328. }
  329. // UpdateWxWxid sets the "wx_wxid" field to the value that was provided on create.
  330. func (u *WpChatroomMemberUpsert) UpdateWxWxid() *WpChatroomMemberUpsert {
  331. u.SetExcluded(wpchatroommember.FieldWxWxid)
  332. return u
  333. }
  334. // SetWxid sets the "wxid" field.
  335. func (u *WpChatroomMemberUpsert) SetWxid(v string) *WpChatroomMemberUpsert {
  336. u.Set(wpchatroommember.FieldWxid, v)
  337. return u
  338. }
  339. // UpdateWxid sets the "wxid" field to the value that was provided on create.
  340. func (u *WpChatroomMemberUpsert) UpdateWxid() *WpChatroomMemberUpsert {
  341. u.SetExcluded(wpchatroommember.FieldWxid)
  342. return u
  343. }
  344. // SetNickname sets the "nickname" field.
  345. func (u *WpChatroomMemberUpsert) SetNickname(v string) *WpChatroomMemberUpsert {
  346. u.Set(wpchatroommember.FieldNickname, v)
  347. return u
  348. }
  349. // UpdateNickname sets the "nickname" field to the value that was provided on create.
  350. func (u *WpChatroomMemberUpsert) UpdateNickname() *WpChatroomMemberUpsert {
  351. u.SetExcluded(wpchatroommember.FieldNickname)
  352. return u
  353. }
  354. // SetAvatar sets the "avatar" field.
  355. func (u *WpChatroomMemberUpsert) SetAvatar(v string) *WpChatroomMemberUpsert {
  356. u.Set(wpchatroommember.FieldAvatar, v)
  357. return u
  358. }
  359. // UpdateAvatar sets the "avatar" field to the value that was provided on create.
  360. func (u *WpChatroomMemberUpsert) UpdateAvatar() *WpChatroomMemberUpsert {
  361. u.SetExcluded(wpchatroommember.FieldAvatar)
  362. return u
  363. }
  364. // UpdateNewValues updates the mutable fields using the new values that were set on create except the ID field.
  365. // Using this option is equivalent to using:
  366. //
  367. // client.WpChatroomMember.Create().
  368. // OnConflict(
  369. // sql.ResolveWithNewValues(),
  370. // sql.ResolveWith(func(u *sql.UpdateSet) {
  371. // u.SetIgnore(wpchatroommember.FieldID)
  372. // }),
  373. // ).
  374. // Exec(ctx)
  375. func (u *WpChatroomMemberUpsertOne) UpdateNewValues() *WpChatroomMemberUpsertOne {
  376. u.create.conflict = append(u.create.conflict, sql.ResolveWithNewValues())
  377. u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(s *sql.UpdateSet) {
  378. if _, exists := u.create.mutation.ID(); exists {
  379. s.SetIgnore(wpchatroommember.FieldID)
  380. }
  381. if _, exists := u.create.mutation.CreatedAt(); exists {
  382. s.SetIgnore(wpchatroommember.FieldCreatedAt)
  383. }
  384. }))
  385. return u
  386. }
  387. // Ignore sets each column to itself in case of conflict.
  388. // Using this option is equivalent to using:
  389. //
  390. // client.WpChatroomMember.Create().
  391. // OnConflict(sql.ResolveWithIgnore()).
  392. // Exec(ctx)
  393. func (u *WpChatroomMemberUpsertOne) Ignore() *WpChatroomMemberUpsertOne {
  394. u.create.conflict = append(u.create.conflict, sql.ResolveWithIgnore())
  395. return u
  396. }
  397. // DoNothing configures the conflict_action to `DO NOTHING`.
  398. // Supported only by SQLite and PostgreSQL.
  399. func (u *WpChatroomMemberUpsertOne) DoNothing() *WpChatroomMemberUpsertOne {
  400. u.create.conflict = append(u.create.conflict, sql.DoNothing())
  401. return u
  402. }
  403. // Update allows overriding fields `UPDATE` values. See the WpChatroomMemberCreate.OnConflict
  404. // documentation for more info.
  405. func (u *WpChatroomMemberUpsertOne) Update(set func(*WpChatroomMemberUpsert)) *WpChatroomMemberUpsertOne {
  406. u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(update *sql.UpdateSet) {
  407. set(&WpChatroomMemberUpsert{UpdateSet: update})
  408. }))
  409. return u
  410. }
  411. // SetUpdatedAt sets the "updated_at" field.
  412. func (u *WpChatroomMemberUpsertOne) SetUpdatedAt(v time.Time) *WpChatroomMemberUpsertOne {
  413. return u.Update(func(s *WpChatroomMemberUpsert) {
  414. s.SetUpdatedAt(v)
  415. })
  416. }
  417. // UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
  418. func (u *WpChatroomMemberUpsertOne) UpdateUpdatedAt() *WpChatroomMemberUpsertOne {
  419. return u.Update(func(s *WpChatroomMemberUpsert) {
  420. s.UpdateUpdatedAt()
  421. })
  422. }
  423. // SetStatus sets the "status" field.
  424. func (u *WpChatroomMemberUpsertOne) SetStatus(v uint8) *WpChatroomMemberUpsertOne {
  425. return u.Update(func(s *WpChatroomMemberUpsert) {
  426. s.SetStatus(v)
  427. })
  428. }
  429. // AddStatus adds v to the "status" field.
  430. func (u *WpChatroomMemberUpsertOne) AddStatus(v uint8) *WpChatroomMemberUpsertOne {
  431. return u.Update(func(s *WpChatroomMemberUpsert) {
  432. s.AddStatus(v)
  433. })
  434. }
  435. // UpdateStatus sets the "status" field to the value that was provided on create.
  436. func (u *WpChatroomMemberUpsertOne) UpdateStatus() *WpChatroomMemberUpsertOne {
  437. return u.Update(func(s *WpChatroomMemberUpsert) {
  438. s.UpdateStatus()
  439. })
  440. }
  441. // ClearStatus clears the value of the "status" field.
  442. func (u *WpChatroomMemberUpsertOne) ClearStatus() *WpChatroomMemberUpsertOne {
  443. return u.Update(func(s *WpChatroomMemberUpsert) {
  444. s.ClearStatus()
  445. })
  446. }
  447. // SetWxWxid sets the "wx_wxid" field.
  448. func (u *WpChatroomMemberUpsertOne) SetWxWxid(v string) *WpChatroomMemberUpsertOne {
  449. return u.Update(func(s *WpChatroomMemberUpsert) {
  450. s.SetWxWxid(v)
  451. })
  452. }
  453. // UpdateWxWxid sets the "wx_wxid" field to the value that was provided on create.
  454. func (u *WpChatroomMemberUpsertOne) UpdateWxWxid() *WpChatroomMemberUpsertOne {
  455. return u.Update(func(s *WpChatroomMemberUpsert) {
  456. s.UpdateWxWxid()
  457. })
  458. }
  459. // SetWxid sets the "wxid" field.
  460. func (u *WpChatroomMemberUpsertOne) SetWxid(v string) *WpChatroomMemberUpsertOne {
  461. return u.Update(func(s *WpChatroomMemberUpsert) {
  462. s.SetWxid(v)
  463. })
  464. }
  465. // UpdateWxid sets the "wxid" field to the value that was provided on create.
  466. func (u *WpChatroomMemberUpsertOne) UpdateWxid() *WpChatroomMemberUpsertOne {
  467. return u.Update(func(s *WpChatroomMemberUpsert) {
  468. s.UpdateWxid()
  469. })
  470. }
  471. // SetNickname sets the "nickname" field.
  472. func (u *WpChatroomMemberUpsertOne) SetNickname(v string) *WpChatroomMemberUpsertOne {
  473. return u.Update(func(s *WpChatroomMemberUpsert) {
  474. s.SetNickname(v)
  475. })
  476. }
  477. // UpdateNickname sets the "nickname" field to the value that was provided on create.
  478. func (u *WpChatroomMemberUpsertOne) UpdateNickname() *WpChatroomMemberUpsertOne {
  479. return u.Update(func(s *WpChatroomMemberUpsert) {
  480. s.UpdateNickname()
  481. })
  482. }
  483. // SetAvatar sets the "avatar" field.
  484. func (u *WpChatroomMemberUpsertOne) SetAvatar(v string) *WpChatroomMemberUpsertOne {
  485. return u.Update(func(s *WpChatroomMemberUpsert) {
  486. s.SetAvatar(v)
  487. })
  488. }
  489. // UpdateAvatar sets the "avatar" field to the value that was provided on create.
  490. func (u *WpChatroomMemberUpsertOne) UpdateAvatar() *WpChatroomMemberUpsertOne {
  491. return u.Update(func(s *WpChatroomMemberUpsert) {
  492. s.UpdateAvatar()
  493. })
  494. }
  495. // Exec executes the query.
  496. func (u *WpChatroomMemberUpsertOne) Exec(ctx context.Context) error {
  497. if len(u.create.conflict) == 0 {
  498. return errors.New("ent: missing options for WpChatroomMemberCreate.OnConflict")
  499. }
  500. return u.create.Exec(ctx)
  501. }
  502. // ExecX is like Exec, but panics if an error occurs.
  503. func (u *WpChatroomMemberUpsertOne) ExecX(ctx context.Context) {
  504. if err := u.create.Exec(ctx); err != nil {
  505. panic(err)
  506. }
  507. }
  508. // Exec executes the UPSERT query and returns the inserted/updated ID.
  509. func (u *WpChatroomMemberUpsertOne) ID(ctx context.Context) (id uint64, err error) {
  510. node, err := u.create.Save(ctx)
  511. if err != nil {
  512. return id, err
  513. }
  514. return node.ID, nil
  515. }
  516. // IDX is like ID, but panics if an error occurs.
  517. func (u *WpChatroomMemberUpsertOne) IDX(ctx context.Context) uint64 {
  518. id, err := u.ID(ctx)
  519. if err != nil {
  520. panic(err)
  521. }
  522. return id
  523. }
  524. // WpChatroomMemberCreateBulk is the builder for creating many WpChatroomMember entities in bulk.
  525. type WpChatroomMemberCreateBulk struct {
  526. config
  527. err error
  528. builders []*WpChatroomMemberCreate
  529. conflict []sql.ConflictOption
  530. }
  531. // Save creates the WpChatroomMember entities in the database.
  532. func (wcmcb *WpChatroomMemberCreateBulk) Save(ctx context.Context) ([]*WpChatroomMember, error) {
  533. if wcmcb.err != nil {
  534. return nil, wcmcb.err
  535. }
  536. specs := make([]*sqlgraph.CreateSpec, len(wcmcb.builders))
  537. nodes := make([]*WpChatroomMember, len(wcmcb.builders))
  538. mutators := make([]Mutator, len(wcmcb.builders))
  539. for i := range wcmcb.builders {
  540. func(i int, root context.Context) {
  541. builder := wcmcb.builders[i]
  542. builder.defaults()
  543. var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
  544. mutation, ok := m.(*WpChatroomMemberMutation)
  545. if !ok {
  546. return nil, fmt.Errorf("unexpected mutation type %T", m)
  547. }
  548. if err := builder.check(); err != nil {
  549. return nil, err
  550. }
  551. builder.mutation = mutation
  552. var err error
  553. nodes[i], specs[i] = builder.createSpec()
  554. if i < len(mutators)-1 {
  555. _, err = mutators[i+1].Mutate(root, wcmcb.builders[i+1].mutation)
  556. } else {
  557. spec := &sqlgraph.BatchCreateSpec{Nodes: specs}
  558. spec.OnConflict = wcmcb.conflict
  559. // Invoke the actual operation on the latest mutation in the chain.
  560. if err = sqlgraph.BatchCreate(ctx, wcmcb.driver, spec); err != nil {
  561. if sqlgraph.IsConstraintError(err) {
  562. err = &ConstraintError{msg: err.Error(), wrap: err}
  563. }
  564. }
  565. }
  566. if err != nil {
  567. return nil, err
  568. }
  569. mutation.id = &nodes[i].ID
  570. if specs[i].ID.Value != nil && nodes[i].ID == 0 {
  571. id := specs[i].ID.Value.(int64)
  572. nodes[i].ID = uint64(id)
  573. }
  574. mutation.done = true
  575. return nodes[i], nil
  576. })
  577. for i := len(builder.hooks) - 1; i >= 0; i-- {
  578. mut = builder.hooks[i](mut)
  579. }
  580. mutators[i] = mut
  581. }(i, ctx)
  582. }
  583. if len(mutators) > 0 {
  584. if _, err := mutators[0].Mutate(ctx, wcmcb.builders[0].mutation); err != nil {
  585. return nil, err
  586. }
  587. }
  588. return nodes, nil
  589. }
  590. // SaveX is like Save, but panics if an error occurs.
  591. func (wcmcb *WpChatroomMemberCreateBulk) SaveX(ctx context.Context) []*WpChatroomMember {
  592. v, err := wcmcb.Save(ctx)
  593. if err != nil {
  594. panic(err)
  595. }
  596. return v
  597. }
  598. // Exec executes the query.
  599. func (wcmcb *WpChatroomMemberCreateBulk) Exec(ctx context.Context) error {
  600. _, err := wcmcb.Save(ctx)
  601. return err
  602. }
  603. // ExecX is like Exec, but panics if an error occurs.
  604. func (wcmcb *WpChatroomMemberCreateBulk) ExecX(ctx context.Context) {
  605. if err := wcmcb.Exec(ctx); err != nil {
  606. panic(err)
  607. }
  608. }
  609. // OnConflict allows configuring the `ON CONFLICT` / `ON DUPLICATE KEY` clause
  610. // of the `INSERT` statement. For example:
  611. //
  612. // client.WpChatroomMember.CreateBulk(builders...).
  613. // OnConflict(
  614. // // Update the row with the new values
  615. // // the was proposed for insertion.
  616. // sql.ResolveWithNewValues(),
  617. // ).
  618. // // Override some of the fields with custom
  619. // // update values.
  620. // Update(func(u *ent.WpChatroomMemberUpsert) {
  621. // SetCreatedAt(v+v).
  622. // }).
  623. // Exec(ctx)
  624. func (wcmcb *WpChatroomMemberCreateBulk) OnConflict(opts ...sql.ConflictOption) *WpChatroomMemberUpsertBulk {
  625. wcmcb.conflict = opts
  626. return &WpChatroomMemberUpsertBulk{
  627. create: wcmcb,
  628. }
  629. }
  630. // OnConflictColumns calls `OnConflict` and configures the columns
  631. // as conflict target. Using this option is equivalent to using:
  632. //
  633. // client.WpChatroomMember.Create().
  634. // OnConflict(sql.ConflictColumns(columns...)).
  635. // Exec(ctx)
  636. func (wcmcb *WpChatroomMemberCreateBulk) OnConflictColumns(columns ...string) *WpChatroomMemberUpsertBulk {
  637. wcmcb.conflict = append(wcmcb.conflict, sql.ConflictColumns(columns...))
  638. return &WpChatroomMemberUpsertBulk{
  639. create: wcmcb,
  640. }
  641. }
  642. // WpChatroomMemberUpsertBulk is the builder for "upsert"-ing
  643. // a bulk of WpChatroomMember nodes.
  644. type WpChatroomMemberUpsertBulk struct {
  645. create *WpChatroomMemberCreateBulk
  646. }
  647. // UpdateNewValues updates the mutable fields using the new values that
  648. // were set on create. Using this option is equivalent to using:
  649. //
  650. // client.WpChatroomMember.Create().
  651. // OnConflict(
  652. // sql.ResolveWithNewValues(),
  653. // sql.ResolveWith(func(u *sql.UpdateSet) {
  654. // u.SetIgnore(wpchatroommember.FieldID)
  655. // }),
  656. // ).
  657. // Exec(ctx)
  658. func (u *WpChatroomMemberUpsertBulk) UpdateNewValues() *WpChatroomMemberUpsertBulk {
  659. u.create.conflict = append(u.create.conflict, sql.ResolveWithNewValues())
  660. u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(s *sql.UpdateSet) {
  661. for _, b := range u.create.builders {
  662. if _, exists := b.mutation.ID(); exists {
  663. s.SetIgnore(wpchatroommember.FieldID)
  664. }
  665. if _, exists := b.mutation.CreatedAt(); exists {
  666. s.SetIgnore(wpchatroommember.FieldCreatedAt)
  667. }
  668. }
  669. }))
  670. return u
  671. }
  672. // Ignore sets each column to itself in case of conflict.
  673. // Using this option is equivalent to using:
  674. //
  675. // client.WpChatroomMember.Create().
  676. // OnConflict(sql.ResolveWithIgnore()).
  677. // Exec(ctx)
  678. func (u *WpChatroomMemberUpsertBulk) Ignore() *WpChatroomMemberUpsertBulk {
  679. u.create.conflict = append(u.create.conflict, sql.ResolveWithIgnore())
  680. return u
  681. }
  682. // DoNothing configures the conflict_action to `DO NOTHING`.
  683. // Supported only by SQLite and PostgreSQL.
  684. func (u *WpChatroomMemberUpsertBulk) DoNothing() *WpChatroomMemberUpsertBulk {
  685. u.create.conflict = append(u.create.conflict, sql.DoNothing())
  686. return u
  687. }
  688. // Update allows overriding fields `UPDATE` values. See the WpChatroomMemberCreateBulk.OnConflict
  689. // documentation for more info.
  690. func (u *WpChatroomMemberUpsertBulk) Update(set func(*WpChatroomMemberUpsert)) *WpChatroomMemberUpsertBulk {
  691. u.create.conflict = append(u.create.conflict, sql.ResolveWith(func(update *sql.UpdateSet) {
  692. set(&WpChatroomMemberUpsert{UpdateSet: update})
  693. }))
  694. return u
  695. }
  696. // SetUpdatedAt sets the "updated_at" field.
  697. func (u *WpChatroomMemberUpsertBulk) SetUpdatedAt(v time.Time) *WpChatroomMemberUpsertBulk {
  698. return u.Update(func(s *WpChatroomMemberUpsert) {
  699. s.SetUpdatedAt(v)
  700. })
  701. }
  702. // UpdateUpdatedAt sets the "updated_at" field to the value that was provided on create.
  703. func (u *WpChatroomMemberUpsertBulk) UpdateUpdatedAt() *WpChatroomMemberUpsertBulk {
  704. return u.Update(func(s *WpChatroomMemberUpsert) {
  705. s.UpdateUpdatedAt()
  706. })
  707. }
  708. // SetStatus sets the "status" field.
  709. func (u *WpChatroomMemberUpsertBulk) SetStatus(v uint8) *WpChatroomMemberUpsertBulk {
  710. return u.Update(func(s *WpChatroomMemberUpsert) {
  711. s.SetStatus(v)
  712. })
  713. }
  714. // AddStatus adds v to the "status" field.
  715. func (u *WpChatroomMemberUpsertBulk) AddStatus(v uint8) *WpChatroomMemberUpsertBulk {
  716. return u.Update(func(s *WpChatroomMemberUpsert) {
  717. s.AddStatus(v)
  718. })
  719. }
  720. // UpdateStatus sets the "status" field to the value that was provided on create.
  721. func (u *WpChatroomMemberUpsertBulk) UpdateStatus() *WpChatroomMemberUpsertBulk {
  722. return u.Update(func(s *WpChatroomMemberUpsert) {
  723. s.UpdateStatus()
  724. })
  725. }
  726. // ClearStatus clears the value of the "status" field.
  727. func (u *WpChatroomMemberUpsertBulk) ClearStatus() *WpChatroomMemberUpsertBulk {
  728. return u.Update(func(s *WpChatroomMemberUpsert) {
  729. s.ClearStatus()
  730. })
  731. }
  732. // SetWxWxid sets the "wx_wxid" field.
  733. func (u *WpChatroomMemberUpsertBulk) SetWxWxid(v string) *WpChatroomMemberUpsertBulk {
  734. return u.Update(func(s *WpChatroomMemberUpsert) {
  735. s.SetWxWxid(v)
  736. })
  737. }
  738. // UpdateWxWxid sets the "wx_wxid" field to the value that was provided on create.
  739. func (u *WpChatroomMemberUpsertBulk) UpdateWxWxid() *WpChatroomMemberUpsertBulk {
  740. return u.Update(func(s *WpChatroomMemberUpsert) {
  741. s.UpdateWxWxid()
  742. })
  743. }
  744. // SetWxid sets the "wxid" field.
  745. func (u *WpChatroomMemberUpsertBulk) SetWxid(v string) *WpChatroomMemberUpsertBulk {
  746. return u.Update(func(s *WpChatroomMemberUpsert) {
  747. s.SetWxid(v)
  748. })
  749. }
  750. // UpdateWxid sets the "wxid" field to the value that was provided on create.
  751. func (u *WpChatroomMemberUpsertBulk) UpdateWxid() *WpChatroomMemberUpsertBulk {
  752. return u.Update(func(s *WpChatroomMemberUpsert) {
  753. s.UpdateWxid()
  754. })
  755. }
  756. // SetNickname sets the "nickname" field.
  757. func (u *WpChatroomMemberUpsertBulk) SetNickname(v string) *WpChatroomMemberUpsertBulk {
  758. return u.Update(func(s *WpChatroomMemberUpsert) {
  759. s.SetNickname(v)
  760. })
  761. }
  762. // UpdateNickname sets the "nickname" field to the value that was provided on create.
  763. func (u *WpChatroomMemberUpsertBulk) UpdateNickname() *WpChatroomMemberUpsertBulk {
  764. return u.Update(func(s *WpChatroomMemberUpsert) {
  765. s.UpdateNickname()
  766. })
  767. }
  768. // SetAvatar sets the "avatar" field.
  769. func (u *WpChatroomMemberUpsertBulk) SetAvatar(v string) *WpChatroomMemberUpsertBulk {
  770. return u.Update(func(s *WpChatroomMemberUpsert) {
  771. s.SetAvatar(v)
  772. })
  773. }
  774. // UpdateAvatar sets the "avatar" field to the value that was provided on create.
  775. func (u *WpChatroomMemberUpsertBulk) UpdateAvatar() *WpChatroomMemberUpsertBulk {
  776. return u.Update(func(s *WpChatroomMemberUpsert) {
  777. s.UpdateAvatar()
  778. })
  779. }
  780. // Exec executes the query.
  781. func (u *WpChatroomMemberUpsertBulk) Exec(ctx context.Context) error {
  782. if u.create.err != nil {
  783. return u.create.err
  784. }
  785. for i, b := range u.create.builders {
  786. if len(b.conflict) != 0 {
  787. return fmt.Errorf("ent: OnConflict was set for builder %d. Set it on the WpChatroomMemberCreateBulk instead", i)
  788. }
  789. }
  790. if len(u.create.conflict) == 0 {
  791. return errors.New("ent: missing options for WpChatroomMemberCreateBulk.OnConflict")
  792. }
  793. return u.create.Exec(ctx)
  794. }
  795. // ExecX is like Exec, but panics if an error occurs.
  796. func (u *WpChatroomMemberUpsertBulk) ExecX(ctx context.Context) {
  797. if err := u.create.Exec(ctx); err != nil {
  798. panic(err)
  799. }
  800. }