bitbucket.org/Aishee/synsec@v0.0.0-20210414005726-236fc01a153d/pkg/database/ent/meta_create.go (about) 1 // Code generated by entc, DO NOT EDIT. 2 3 package ent 4 5 import ( 6 "context" 7 "errors" 8 "fmt" 9 "time" 10 11 "entgo.io/ent/dialect/sql/sqlgraph" 12 "entgo.io/ent/schema/field" 13 "bitbucket.org/Aishee/synsec/pkg/database/ent/alert" 14 "bitbucket.org/Aishee/synsec/pkg/database/ent/meta" 15 ) 16 17 // MetaCreate is the builder for creating a Meta entity. 18 type MetaCreate struct { 19 config 20 mutation *MetaMutation 21 hooks []Hook 22 } 23 24 // SetCreatedAt sets the "created_at" field. 25 func (mc *MetaCreate) SetCreatedAt(t time.Time) *MetaCreate { 26 mc.mutation.SetCreatedAt(t) 27 return mc 28 } 29 30 // SetNillableCreatedAt sets the "created_at" field if the given value is not nil. 31 func (mc *MetaCreate) SetNillableCreatedAt(t *time.Time) *MetaCreate { 32 if t != nil { 33 mc.SetCreatedAt(*t) 34 } 35 return mc 36 } 37 38 // SetUpdatedAt sets the "updated_at" field. 39 func (mc *MetaCreate) SetUpdatedAt(t time.Time) *MetaCreate { 40 mc.mutation.SetUpdatedAt(t) 41 return mc 42 } 43 44 // SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil. 45 func (mc *MetaCreate) SetNillableUpdatedAt(t *time.Time) *MetaCreate { 46 if t != nil { 47 mc.SetUpdatedAt(*t) 48 } 49 return mc 50 } 51 52 // SetKey sets the "key" field. 53 func (mc *MetaCreate) SetKey(s string) *MetaCreate { 54 mc.mutation.SetKey(s) 55 return mc 56 } 57 58 // SetValue sets the "value" field. 59 func (mc *MetaCreate) SetValue(s string) *MetaCreate { 60 mc.mutation.SetValue(s) 61 return mc 62 } 63 64 // SetOwnerID sets the "owner" edge to the Alert entity by ID. 65 func (mc *MetaCreate) SetOwnerID(id int) *MetaCreate { 66 mc.mutation.SetOwnerID(id) 67 return mc 68 } 69 70 // SetNillableOwnerID sets the "owner" edge to the Alert entity by ID if the given value is not nil. 71 func (mc *MetaCreate) SetNillableOwnerID(id *int) *MetaCreate { 72 if id != nil { 73 mc = mc.SetOwnerID(*id) 74 } 75 return mc 76 } 77 78 // SetOwner sets the "owner" edge to the Alert entity. 79 func (mc *MetaCreate) SetOwner(a *Alert) *MetaCreate { 80 return mc.SetOwnerID(a.ID) 81 } 82 83 // Mutation returns the MetaMutation object of the builder. 84 func (mc *MetaCreate) Mutation() *MetaMutation { 85 return mc.mutation 86 } 87 88 // Save creates the Meta in the database. 89 func (mc *MetaCreate) Save(ctx context.Context) (*Meta, error) { 90 var ( 91 err error 92 node *Meta 93 ) 94 mc.defaults() 95 if len(mc.hooks) == 0 { 96 if err = mc.check(); err != nil { 97 return nil, err 98 } 99 node, err = mc.sqlSave(ctx) 100 } else { 101 var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) { 102 mutation, ok := m.(*MetaMutation) 103 if !ok { 104 return nil, fmt.Errorf("unexpected mutation type %T", m) 105 } 106 if err = mc.check(); err != nil { 107 return nil, err 108 } 109 mc.mutation = mutation 110 node, err = mc.sqlSave(ctx) 111 mutation.done = true 112 return node, err 113 }) 114 for i := len(mc.hooks) - 1; i >= 0; i-- { 115 mut = mc.hooks[i](mut) 116 } 117 if _, err := mut.Mutate(ctx, mc.mutation); err != nil { 118 return nil, err 119 } 120 } 121 return node, err 122 } 123 124 // SaveX calls Save and panics if Save returns an error. 125 func (mc *MetaCreate) SaveX(ctx context.Context) *Meta { 126 v, err := mc.Save(ctx) 127 if err != nil { 128 panic(err) 129 } 130 return v 131 } 132 133 // defaults sets the default values of the builder before save. 134 func (mc *MetaCreate) defaults() { 135 if _, ok := mc.mutation.CreatedAt(); !ok { 136 v := meta.DefaultCreatedAt() 137 mc.mutation.SetCreatedAt(v) 138 } 139 if _, ok := mc.mutation.UpdatedAt(); !ok { 140 v := meta.DefaultUpdatedAt() 141 mc.mutation.SetUpdatedAt(v) 142 } 143 } 144 145 // check runs all checks and user-defined validators on the builder. 146 func (mc *MetaCreate) check() error { 147 if _, ok := mc.mutation.CreatedAt(); !ok { 148 return &ValidationError{Name: "created_at", err: errors.New("ent: missing required field \"created_at\"")} 149 } 150 if _, ok := mc.mutation.UpdatedAt(); !ok { 151 return &ValidationError{Name: "updated_at", err: errors.New("ent: missing required field \"updated_at\"")} 152 } 153 if _, ok := mc.mutation.Key(); !ok { 154 return &ValidationError{Name: "key", err: errors.New("ent: missing required field \"key\"")} 155 } 156 if _, ok := mc.mutation.Value(); !ok { 157 return &ValidationError{Name: "value", err: errors.New("ent: missing required field \"value\"")} 158 } 159 if v, ok := mc.mutation.Value(); ok { 160 if err := meta.ValueValidator(v); err != nil { 161 return &ValidationError{Name: "value", err: fmt.Errorf("ent: validator failed for field \"value\": %w", err)} 162 } 163 } 164 return nil 165 } 166 167 func (mc *MetaCreate) sqlSave(ctx context.Context) (*Meta, error) { 168 _node, _spec := mc.createSpec() 169 if err := sqlgraph.CreateNode(ctx, mc.driver, _spec); err != nil { 170 if cerr, ok := isSQLConstraintError(err); ok { 171 err = cerr 172 } 173 return nil, err 174 } 175 id := _spec.ID.Value.(int64) 176 _node.ID = int(id) 177 return _node, nil 178 } 179 180 func (mc *MetaCreate) createSpec() (*Meta, *sqlgraph.CreateSpec) { 181 var ( 182 _node = &Meta{config: mc.config} 183 _spec = &sqlgraph.CreateSpec{ 184 Table: meta.Table, 185 ID: &sqlgraph.FieldSpec{ 186 Type: field.TypeInt, 187 Column: meta.FieldID, 188 }, 189 } 190 ) 191 if value, ok := mc.mutation.CreatedAt(); ok { 192 _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ 193 Type: field.TypeTime, 194 Value: value, 195 Column: meta.FieldCreatedAt, 196 }) 197 _node.CreatedAt = value 198 } 199 if value, ok := mc.mutation.UpdatedAt(); ok { 200 _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ 201 Type: field.TypeTime, 202 Value: value, 203 Column: meta.FieldUpdatedAt, 204 }) 205 _node.UpdatedAt = value 206 } 207 if value, ok := mc.mutation.Key(); ok { 208 _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ 209 Type: field.TypeString, 210 Value: value, 211 Column: meta.FieldKey, 212 }) 213 _node.Key = value 214 } 215 if value, ok := mc.mutation.Value(); ok { 216 _spec.Fields = append(_spec.Fields, &sqlgraph.FieldSpec{ 217 Type: field.TypeString, 218 Value: value, 219 Column: meta.FieldValue, 220 }) 221 _node.Value = value 222 } 223 if nodes := mc.mutation.OwnerIDs(); len(nodes) > 0 { 224 edge := &sqlgraph.EdgeSpec{ 225 Rel: sqlgraph.M2O, 226 Inverse: true, 227 Table: meta.OwnerTable, 228 Columns: []string{meta.OwnerColumn}, 229 Bidi: false, 230 Target: &sqlgraph.EdgeTarget{ 231 IDSpec: &sqlgraph.FieldSpec{ 232 Type: field.TypeInt, 233 Column: alert.FieldID, 234 }, 235 }, 236 } 237 for _, k := range nodes { 238 edge.Target.Nodes = append(edge.Target.Nodes, k) 239 } 240 _node.alert_metas = &nodes[0] 241 _spec.Edges = append(_spec.Edges, edge) 242 } 243 return _node, _spec 244 } 245 246 // MetaCreateBulk is the builder for creating many Meta entities in bulk. 247 type MetaCreateBulk struct { 248 config 249 builders []*MetaCreate 250 } 251 252 // Save creates the Meta entities in the database. 253 func (mcb *MetaCreateBulk) Save(ctx context.Context) ([]*Meta, error) { 254 specs := make([]*sqlgraph.CreateSpec, len(mcb.builders)) 255 nodes := make([]*Meta, len(mcb.builders)) 256 mutators := make([]Mutator, len(mcb.builders)) 257 for i := range mcb.builders { 258 func(i int, root context.Context) { 259 builder := mcb.builders[i] 260 builder.defaults() 261 var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) { 262 mutation, ok := m.(*MetaMutation) 263 if !ok { 264 return nil, fmt.Errorf("unexpected mutation type %T", m) 265 } 266 if err := builder.check(); err != nil { 267 return nil, err 268 } 269 builder.mutation = mutation 270 nodes[i], specs[i] = builder.createSpec() 271 var err error 272 if i < len(mutators)-1 { 273 _, err = mutators[i+1].Mutate(root, mcb.builders[i+1].mutation) 274 } else { 275 // Invoke the actual operation on the latest mutation in the chain. 276 if err = sqlgraph.BatchCreate(ctx, mcb.driver, &sqlgraph.BatchCreateSpec{Nodes: specs}); err != nil { 277 if cerr, ok := isSQLConstraintError(err); ok { 278 err = cerr 279 } 280 } 281 } 282 mutation.done = true 283 if err != nil { 284 return nil, err 285 } 286 id := specs[i].ID.Value.(int64) 287 nodes[i].ID = int(id) 288 return nodes[i], nil 289 }) 290 for i := len(builder.hooks) - 1; i >= 0; i-- { 291 mut = builder.hooks[i](mut) 292 } 293 mutators[i] = mut 294 }(i, ctx) 295 } 296 if len(mutators) > 0 { 297 if _, err := mutators[0].Mutate(ctx, mcb.builders[0].mutation); err != nil { 298 return nil, err 299 } 300 } 301 return nodes, nil 302 } 303 304 // SaveX is like Save, but panics if an error occurs. 305 func (mcb *MetaCreateBulk) SaveX(ctx context.Context) []*Meta { 306 v, err := mcb.Save(ctx) 307 if err != nil { 308 panic(err) 309 } 310 return v 311 }