tasklog_create.go 7.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277
  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/sqlgraph"
  9. "entgo.io/ent/schema/field"
  10. "github.com/suyuan32/simple-admin-job/ent/task"
  11. "github.com/suyuan32/simple-admin-job/ent/tasklog"
  12. )
  13. // TaskLogCreate is the builder for creating a TaskLog entity.
  14. type TaskLogCreate struct {
  15. config
  16. mutation *TaskLogMutation
  17. hooks []Hook
  18. }
  19. // SetStartedAt sets the "started_at" field.
  20. func (tlc *TaskLogCreate) SetStartedAt(t time.Time) *TaskLogCreate {
  21. tlc.mutation.SetStartedAt(t)
  22. return tlc
  23. }
  24. // SetNillableStartedAt sets the "started_at" field if the given value is not nil.
  25. func (tlc *TaskLogCreate) SetNillableStartedAt(t *time.Time) *TaskLogCreate {
  26. if t != nil {
  27. tlc.SetStartedAt(*t)
  28. }
  29. return tlc
  30. }
  31. // SetFinishedAt sets the "finished_at" field.
  32. func (tlc *TaskLogCreate) SetFinishedAt(t time.Time) *TaskLogCreate {
  33. tlc.mutation.SetFinishedAt(t)
  34. return tlc
  35. }
  36. // SetResult sets the "result" field.
  37. func (tlc *TaskLogCreate) SetResult(u uint8) *TaskLogCreate {
  38. tlc.mutation.SetResult(u)
  39. return tlc
  40. }
  41. // SetID sets the "id" field.
  42. func (tlc *TaskLogCreate) SetID(u uint64) *TaskLogCreate {
  43. tlc.mutation.SetID(u)
  44. return tlc
  45. }
  46. // SetTasksID sets the "tasks" edge to the Task entity by ID.
  47. func (tlc *TaskLogCreate) SetTasksID(id uint64) *TaskLogCreate {
  48. tlc.mutation.SetTasksID(id)
  49. return tlc
  50. }
  51. // SetNillableTasksID sets the "tasks" edge to the Task entity by ID if the given value is not nil.
  52. func (tlc *TaskLogCreate) SetNillableTasksID(id *uint64) *TaskLogCreate {
  53. if id != nil {
  54. tlc = tlc.SetTasksID(*id)
  55. }
  56. return tlc
  57. }
  58. // SetTasks sets the "tasks" edge to the Task entity.
  59. func (tlc *TaskLogCreate) SetTasks(t *Task) *TaskLogCreate {
  60. return tlc.SetTasksID(t.ID)
  61. }
  62. // Mutation returns the TaskLogMutation object of the builder.
  63. func (tlc *TaskLogCreate) Mutation() *TaskLogMutation {
  64. return tlc.mutation
  65. }
  66. // Save creates the TaskLog in the database.
  67. func (tlc *TaskLogCreate) Save(ctx context.Context) (*TaskLog, error) {
  68. tlc.defaults()
  69. return withHooks(ctx, tlc.sqlSave, tlc.mutation, tlc.hooks)
  70. }
  71. // SaveX calls Save and panics if Save returns an error.
  72. func (tlc *TaskLogCreate) SaveX(ctx context.Context) *TaskLog {
  73. v, err := tlc.Save(ctx)
  74. if err != nil {
  75. panic(err)
  76. }
  77. return v
  78. }
  79. // Exec executes the query.
  80. func (tlc *TaskLogCreate) Exec(ctx context.Context) error {
  81. _, err := tlc.Save(ctx)
  82. return err
  83. }
  84. // ExecX is like Exec, but panics if an error occurs.
  85. func (tlc *TaskLogCreate) ExecX(ctx context.Context) {
  86. if err := tlc.Exec(ctx); err != nil {
  87. panic(err)
  88. }
  89. }
  90. // defaults sets the default values of the builder before save.
  91. func (tlc *TaskLogCreate) defaults() {
  92. if _, ok := tlc.mutation.StartedAt(); !ok {
  93. v := tasklog.DefaultStartedAt()
  94. tlc.mutation.SetStartedAt(v)
  95. }
  96. }
  97. // check runs all checks and user-defined validators on the builder.
  98. func (tlc *TaskLogCreate) check() error {
  99. if _, ok := tlc.mutation.StartedAt(); !ok {
  100. return &ValidationError{Name: "started_at", err: errors.New(`ent: missing required field "TaskLog.started_at"`)}
  101. }
  102. if _, ok := tlc.mutation.FinishedAt(); !ok {
  103. return &ValidationError{Name: "finished_at", err: errors.New(`ent: missing required field "TaskLog.finished_at"`)}
  104. }
  105. if _, ok := tlc.mutation.Result(); !ok {
  106. return &ValidationError{Name: "result", err: errors.New(`ent: missing required field "TaskLog.result"`)}
  107. }
  108. return nil
  109. }
  110. func (tlc *TaskLogCreate) sqlSave(ctx context.Context) (*TaskLog, error) {
  111. if err := tlc.check(); err != nil {
  112. return nil, err
  113. }
  114. _node, _spec := tlc.createSpec()
  115. if err := sqlgraph.CreateNode(ctx, tlc.driver, _spec); err != nil {
  116. if sqlgraph.IsConstraintError(err) {
  117. err = &ConstraintError{msg: err.Error(), wrap: err}
  118. }
  119. return nil, err
  120. }
  121. if _spec.ID.Value != _node.ID {
  122. id := _spec.ID.Value.(int64)
  123. _node.ID = uint64(id)
  124. }
  125. tlc.mutation.id = &_node.ID
  126. tlc.mutation.done = true
  127. return _node, nil
  128. }
  129. func (tlc *TaskLogCreate) createSpec() (*TaskLog, *sqlgraph.CreateSpec) {
  130. var (
  131. _node = &TaskLog{config: tlc.config}
  132. _spec = sqlgraph.NewCreateSpec(tasklog.Table, sqlgraph.NewFieldSpec(tasklog.FieldID, field.TypeUint64))
  133. )
  134. if id, ok := tlc.mutation.ID(); ok {
  135. _node.ID = id
  136. _spec.ID.Value = id
  137. }
  138. if value, ok := tlc.mutation.StartedAt(); ok {
  139. _spec.SetField(tasklog.FieldStartedAt, field.TypeTime, value)
  140. _node.StartedAt = value
  141. }
  142. if value, ok := tlc.mutation.FinishedAt(); ok {
  143. _spec.SetField(tasklog.FieldFinishedAt, field.TypeTime, value)
  144. _node.FinishedAt = value
  145. }
  146. if value, ok := tlc.mutation.Result(); ok {
  147. _spec.SetField(tasklog.FieldResult, field.TypeUint8, value)
  148. _node.Result = value
  149. }
  150. if nodes := tlc.mutation.TasksIDs(); len(nodes) > 0 {
  151. edge := &sqlgraph.EdgeSpec{
  152. Rel: sqlgraph.M2O,
  153. Inverse: true,
  154. Table: tasklog.TasksTable,
  155. Columns: []string{tasklog.TasksColumn},
  156. Bidi: false,
  157. Target: &sqlgraph.EdgeTarget{
  158. IDSpec: sqlgraph.NewFieldSpec(task.FieldID, field.TypeUint64),
  159. },
  160. }
  161. for _, k := range nodes {
  162. edge.Target.Nodes = append(edge.Target.Nodes, k)
  163. }
  164. _node.task_task_logs = &nodes[0]
  165. _spec.Edges = append(_spec.Edges, edge)
  166. }
  167. return _node, _spec
  168. }
  169. // TaskLogCreateBulk is the builder for creating many TaskLog entities in bulk.
  170. type TaskLogCreateBulk struct {
  171. config
  172. err error
  173. builders []*TaskLogCreate
  174. }
  175. // Save creates the TaskLog entities in the database.
  176. func (tlcb *TaskLogCreateBulk) Save(ctx context.Context) ([]*TaskLog, error) {
  177. if tlcb.err != nil {
  178. return nil, tlcb.err
  179. }
  180. specs := make([]*sqlgraph.CreateSpec, len(tlcb.builders))
  181. nodes := make([]*TaskLog, len(tlcb.builders))
  182. mutators := make([]Mutator, len(tlcb.builders))
  183. for i := range tlcb.builders {
  184. func(i int, root context.Context) {
  185. builder := tlcb.builders[i]
  186. builder.defaults()
  187. var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
  188. mutation, ok := m.(*TaskLogMutation)
  189. if !ok {
  190. return nil, fmt.Errorf("unexpected mutation type %T", m)
  191. }
  192. if err := builder.check(); err != nil {
  193. return nil, err
  194. }
  195. builder.mutation = mutation
  196. var err error
  197. nodes[i], specs[i] = builder.createSpec()
  198. if i < len(mutators)-1 {
  199. _, err = mutators[i+1].Mutate(root, tlcb.builders[i+1].mutation)
  200. } else {
  201. spec := &sqlgraph.BatchCreateSpec{Nodes: specs}
  202. // Invoke the actual operation on the latest mutation in the chain.
  203. if err = sqlgraph.BatchCreate(ctx, tlcb.driver, spec); err != nil {
  204. if sqlgraph.IsConstraintError(err) {
  205. err = &ConstraintError{msg: err.Error(), wrap: err}
  206. }
  207. }
  208. }
  209. if err != nil {
  210. return nil, err
  211. }
  212. mutation.id = &nodes[i].ID
  213. if specs[i].ID.Value != nil && nodes[i].ID == 0 {
  214. id := specs[i].ID.Value.(int64)
  215. nodes[i].ID = uint64(id)
  216. }
  217. mutation.done = true
  218. return nodes[i], nil
  219. })
  220. for i := len(builder.hooks) - 1; i >= 0; i-- {
  221. mut = builder.hooks[i](mut)
  222. }
  223. mutators[i] = mut
  224. }(i, ctx)
  225. }
  226. if len(mutators) > 0 {
  227. if _, err := mutators[0].Mutate(ctx, tlcb.builders[0].mutation); err != nil {
  228. return nil, err
  229. }
  230. }
  231. return nodes, nil
  232. }
  233. // SaveX is like Save, but panics if an error occurs.
  234. func (tlcb *TaskLogCreateBulk) SaveX(ctx context.Context) []*TaskLog {
  235. v, err := tlcb.Save(ctx)
  236. if err != nil {
  237. panic(err)
  238. }
  239. return v
  240. }
  241. // Exec executes the query.
  242. func (tlcb *TaskLogCreateBulk) Exec(ctx context.Context) error {
  243. _, err := tlcb.Save(ctx)
  244. return err
  245. }
  246. // ExecX is like Exec, but panics if an error occurs.
  247. func (tlcb *TaskLogCreateBulk) ExecX(ctx context.Context) {
  248. if err := tlcb.Exec(ctx); err != nil {
  249. panic(err)
  250. }
  251. }