bitbucket.org/Aishee/synsec@v0.0.0-20210414005726-236fc01a153d/pkg/database/ent/meta_update.go (about)

     1  // Code generated by entc, DO NOT EDIT.
     2  
     3  package ent
     4  
     5  import (
     6  	"context"
     7  	"fmt"
     8  	"time"
     9  
    10  	"entgo.io/ent/dialect/sql"
    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  	"bitbucket.org/Aishee/synsec/pkg/database/ent/predicate"
    16  )
    17  
    18  // MetaUpdate is the builder for updating Meta entities.
    19  type MetaUpdate struct {
    20  	config
    21  	hooks    []Hook
    22  	mutation *MetaMutation
    23  }
    24  
    25  // Where adds a new predicate for the MetaUpdate builder.
    26  func (mu *MetaUpdate) Where(ps ...predicate.Meta) *MetaUpdate {
    27  	mu.mutation.predicates = append(mu.mutation.predicates, ps...)
    28  	return mu
    29  }
    30  
    31  // SetCreatedAt sets the "created_at" field.
    32  func (mu *MetaUpdate) SetCreatedAt(t time.Time) *MetaUpdate {
    33  	mu.mutation.SetCreatedAt(t)
    34  	return mu
    35  }
    36  
    37  // SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
    38  func (mu *MetaUpdate) SetNillableCreatedAt(t *time.Time) *MetaUpdate {
    39  	if t != nil {
    40  		mu.SetCreatedAt(*t)
    41  	}
    42  	return mu
    43  }
    44  
    45  // SetUpdatedAt sets the "updated_at" field.
    46  func (mu *MetaUpdate) SetUpdatedAt(t time.Time) *MetaUpdate {
    47  	mu.mutation.SetUpdatedAt(t)
    48  	return mu
    49  }
    50  
    51  // SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
    52  func (mu *MetaUpdate) SetNillableUpdatedAt(t *time.Time) *MetaUpdate {
    53  	if t != nil {
    54  		mu.SetUpdatedAt(*t)
    55  	}
    56  	return mu
    57  }
    58  
    59  // SetKey sets the "key" field.
    60  func (mu *MetaUpdate) SetKey(s string) *MetaUpdate {
    61  	mu.mutation.SetKey(s)
    62  	return mu
    63  }
    64  
    65  // SetValue sets the "value" field.
    66  func (mu *MetaUpdate) SetValue(s string) *MetaUpdate {
    67  	mu.mutation.SetValue(s)
    68  	return mu
    69  }
    70  
    71  // SetOwnerID sets the "owner" edge to the Alert entity by ID.
    72  func (mu *MetaUpdate) SetOwnerID(id int) *MetaUpdate {
    73  	mu.mutation.SetOwnerID(id)
    74  	return mu
    75  }
    76  
    77  // SetNillableOwnerID sets the "owner" edge to the Alert entity by ID if the given value is not nil.
    78  func (mu *MetaUpdate) SetNillableOwnerID(id *int) *MetaUpdate {
    79  	if id != nil {
    80  		mu = mu.SetOwnerID(*id)
    81  	}
    82  	return mu
    83  }
    84  
    85  // SetOwner sets the "owner" edge to the Alert entity.
    86  func (mu *MetaUpdate) SetOwner(a *Alert) *MetaUpdate {
    87  	return mu.SetOwnerID(a.ID)
    88  }
    89  
    90  // Mutation returns the MetaMutation object of the builder.
    91  func (mu *MetaUpdate) Mutation() *MetaMutation {
    92  	return mu.mutation
    93  }
    94  
    95  // ClearOwner clears the "owner" edge to the Alert entity.
    96  func (mu *MetaUpdate) ClearOwner() *MetaUpdate {
    97  	mu.mutation.ClearOwner()
    98  	return mu
    99  }
   100  
   101  // Save executes the query and returns the number of nodes affected by the update operation.
   102  func (mu *MetaUpdate) Save(ctx context.Context) (int, error) {
   103  	var (
   104  		err      error
   105  		affected int
   106  	)
   107  	if len(mu.hooks) == 0 {
   108  		if err = mu.check(); err != nil {
   109  			return 0, err
   110  		}
   111  		affected, err = mu.sqlSave(ctx)
   112  	} else {
   113  		var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
   114  			mutation, ok := m.(*MetaMutation)
   115  			if !ok {
   116  				return nil, fmt.Errorf("unexpected mutation type %T", m)
   117  			}
   118  			if err = mu.check(); err != nil {
   119  				return 0, err
   120  			}
   121  			mu.mutation = mutation
   122  			affected, err = mu.sqlSave(ctx)
   123  			mutation.done = true
   124  			return affected, err
   125  		})
   126  		for i := len(mu.hooks) - 1; i >= 0; i-- {
   127  			mut = mu.hooks[i](mut)
   128  		}
   129  		if _, err := mut.Mutate(ctx, mu.mutation); err != nil {
   130  			return 0, err
   131  		}
   132  	}
   133  	return affected, err
   134  }
   135  
   136  // SaveX is like Save, but panics if an error occurs.
   137  func (mu *MetaUpdate) SaveX(ctx context.Context) int {
   138  	affected, err := mu.Save(ctx)
   139  	if err != nil {
   140  		panic(err)
   141  	}
   142  	return affected
   143  }
   144  
   145  // Exec executes the query.
   146  func (mu *MetaUpdate) Exec(ctx context.Context) error {
   147  	_, err := mu.Save(ctx)
   148  	return err
   149  }
   150  
   151  // ExecX is like Exec, but panics if an error occurs.
   152  func (mu *MetaUpdate) ExecX(ctx context.Context) {
   153  	if err := mu.Exec(ctx); err != nil {
   154  		panic(err)
   155  	}
   156  }
   157  
   158  // check runs all checks and user-defined validators on the builder.
   159  func (mu *MetaUpdate) check() error {
   160  	if v, ok := mu.mutation.Value(); ok {
   161  		if err := meta.ValueValidator(v); err != nil {
   162  			return &ValidationError{Name: "value", err: fmt.Errorf("ent: validator failed for field \"value\": %w", err)}
   163  		}
   164  	}
   165  	return nil
   166  }
   167  
   168  func (mu *MetaUpdate) sqlSave(ctx context.Context) (n int, err error) {
   169  	_spec := &sqlgraph.UpdateSpec{
   170  		Node: &sqlgraph.NodeSpec{
   171  			Table:   meta.Table,
   172  			Columns: meta.Columns,
   173  			ID: &sqlgraph.FieldSpec{
   174  				Type:   field.TypeInt,
   175  				Column: meta.FieldID,
   176  			},
   177  		},
   178  	}
   179  	if ps := mu.mutation.predicates; len(ps) > 0 {
   180  		_spec.Predicate = func(selector *sql.Selector) {
   181  			for i := range ps {
   182  				ps[i](selector)
   183  			}
   184  		}
   185  	}
   186  	if value, ok := mu.mutation.CreatedAt(); ok {
   187  		_spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{
   188  			Type:   field.TypeTime,
   189  			Value:  value,
   190  			Column: meta.FieldCreatedAt,
   191  		})
   192  	}
   193  	if value, ok := mu.mutation.UpdatedAt(); ok {
   194  		_spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{
   195  			Type:   field.TypeTime,
   196  			Value:  value,
   197  			Column: meta.FieldUpdatedAt,
   198  		})
   199  	}
   200  	if value, ok := mu.mutation.Key(); ok {
   201  		_spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{
   202  			Type:   field.TypeString,
   203  			Value:  value,
   204  			Column: meta.FieldKey,
   205  		})
   206  	}
   207  	if value, ok := mu.mutation.Value(); ok {
   208  		_spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{
   209  			Type:   field.TypeString,
   210  			Value:  value,
   211  			Column: meta.FieldValue,
   212  		})
   213  	}
   214  	if mu.mutation.OwnerCleared() {
   215  		edge := &sqlgraph.EdgeSpec{
   216  			Rel:     sqlgraph.M2O,
   217  			Inverse: true,
   218  			Table:   meta.OwnerTable,
   219  			Columns: []string{meta.OwnerColumn},
   220  			Bidi:    false,
   221  			Target: &sqlgraph.EdgeTarget{
   222  				IDSpec: &sqlgraph.FieldSpec{
   223  					Type:   field.TypeInt,
   224  					Column: alert.FieldID,
   225  				},
   226  			},
   227  		}
   228  		_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
   229  	}
   230  	if nodes := mu.mutation.OwnerIDs(); len(nodes) > 0 {
   231  		edge := &sqlgraph.EdgeSpec{
   232  			Rel:     sqlgraph.M2O,
   233  			Inverse: true,
   234  			Table:   meta.OwnerTable,
   235  			Columns: []string{meta.OwnerColumn},
   236  			Bidi:    false,
   237  			Target: &sqlgraph.EdgeTarget{
   238  				IDSpec: &sqlgraph.FieldSpec{
   239  					Type:   field.TypeInt,
   240  					Column: alert.FieldID,
   241  				},
   242  			},
   243  		}
   244  		for _, k := range nodes {
   245  			edge.Target.Nodes = append(edge.Target.Nodes, k)
   246  		}
   247  		_spec.Edges.Add = append(_spec.Edges.Add, edge)
   248  	}
   249  	if n, err = sqlgraph.UpdateNodes(ctx, mu.driver, _spec); err != nil {
   250  		if _, ok := err.(*sqlgraph.NotFoundError); ok {
   251  			err = &NotFoundError{meta.Label}
   252  		} else if cerr, ok := isSQLConstraintError(err); ok {
   253  			err = cerr
   254  		}
   255  		return 0, err
   256  	}
   257  	return n, nil
   258  }
   259  
   260  // MetaUpdateOne is the builder for updating a single Meta entity.
   261  type MetaUpdateOne struct {
   262  	config
   263  	hooks    []Hook
   264  	mutation *MetaMutation
   265  }
   266  
   267  // SetCreatedAt sets the "created_at" field.
   268  func (muo *MetaUpdateOne) SetCreatedAt(t time.Time) *MetaUpdateOne {
   269  	muo.mutation.SetCreatedAt(t)
   270  	return muo
   271  }
   272  
   273  // SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
   274  func (muo *MetaUpdateOne) SetNillableCreatedAt(t *time.Time) *MetaUpdateOne {
   275  	if t != nil {
   276  		muo.SetCreatedAt(*t)
   277  	}
   278  	return muo
   279  }
   280  
   281  // SetUpdatedAt sets the "updated_at" field.
   282  func (muo *MetaUpdateOne) SetUpdatedAt(t time.Time) *MetaUpdateOne {
   283  	muo.mutation.SetUpdatedAt(t)
   284  	return muo
   285  }
   286  
   287  // SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
   288  func (muo *MetaUpdateOne) SetNillableUpdatedAt(t *time.Time) *MetaUpdateOne {
   289  	if t != nil {
   290  		muo.SetUpdatedAt(*t)
   291  	}
   292  	return muo
   293  }
   294  
   295  // SetKey sets the "key" field.
   296  func (muo *MetaUpdateOne) SetKey(s string) *MetaUpdateOne {
   297  	muo.mutation.SetKey(s)
   298  	return muo
   299  }
   300  
   301  // SetValue sets the "value" field.
   302  func (muo *MetaUpdateOne) SetValue(s string) *MetaUpdateOne {
   303  	muo.mutation.SetValue(s)
   304  	return muo
   305  }
   306  
   307  // SetOwnerID sets the "owner" edge to the Alert entity by ID.
   308  func (muo *MetaUpdateOne) SetOwnerID(id int) *MetaUpdateOne {
   309  	muo.mutation.SetOwnerID(id)
   310  	return muo
   311  }
   312  
   313  // SetNillableOwnerID sets the "owner" edge to the Alert entity by ID if the given value is not nil.
   314  func (muo *MetaUpdateOne) SetNillableOwnerID(id *int) *MetaUpdateOne {
   315  	if id != nil {
   316  		muo = muo.SetOwnerID(*id)
   317  	}
   318  	return muo
   319  }
   320  
   321  // SetOwner sets the "owner" edge to the Alert entity.
   322  func (muo *MetaUpdateOne) SetOwner(a *Alert) *MetaUpdateOne {
   323  	return muo.SetOwnerID(a.ID)
   324  }
   325  
   326  // Mutation returns the MetaMutation object of the builder.
   327  func (muo *MetaUpdateOne) Mutation() *MetaMutation {
   328  	return muo.mutation
   329  }
   330  
   331  // ClearOwner clears the "owner" edge to the Alert entity.
   332  func (muo *MetaUpdateOne) ClearOwner() *MetaUpdateOne {
   333  	muo.mutation.ClearOwner()
   334  	return muo
   335  }
   336  
   337  // Save executes the query and returns the updated Meta entity.
   338  func (muo *MetaUpdateOne) Save(ctx context.Context) (*Meta, error) {
   339  	var (
   340  		err  error
   341  		node *Meta
   342  	)
   343  	if len(muo.hooks) == 0 {
   344  		if err = muo.check(); err != nil {
   345  			return nil, err
   346  		}
   347  		node, err = muo.sqlSave(ctx)
   348  	} else {
   349  		var mut Mutator = MutateFunc(func(ctx context.Context, m Mutation) (Value, error) {
   350  			mutation, ok := m.(*MetaMutation)
   351  			if !ok {
   352  				return nil, fmt.Errorf("unexpected mutation type %T", m)
   353  			}
   354  			if err = muo.check(); err != nil {
   355  				return nil, err
   356  			}
   357  			muo.mutation = mutation
   358  			node, err = muo.sqlSave(ctx)
   359  			mutation.done = true
   360  			return node, err
   361  		})
   362  		for i := len(muo.hooks) - 1; i >= 0; i-- {
   363  			mut = muo.hooks[i](mut)
   364  		}
   365  		if _, err := mut.Mutate(ctx, muo.mutation); err != nil {
   366  			return nil, err
   367  		}
   368  	}
   369  	return node, err
   370  }
   371  
   372  // SaveX is like Save, but panics if an error occurs.
   373  func (muo *MetaUpdateOne) SaveX(ctx context.Context) *Meta {
   374  	node, err := muo.Save(ctx)
   375  	if err != nil {
   376  		panic(err)
   377  	}
   378  	return node
   379  }
   380  
   381  // Exec executes the query on the entity.
   382  func (muo *MetaUpdateOne) Exec(ctx context.Context) error {
   383  	_, err := muo.Save(ctx)
   384  	return err
   385  }
   386  
   387  // ExecX is like Exec, but panics if an error occurs.
   388  func (muo *MetaUpdateOne) ExecX(ctx context.Context) {
   389  	if err := muo.Exec(ctx); err != nil {
   390  		panic(err)
   391  	}
   392  }
   393  
   394  // check runs all checks and user-defined validators on the builder.
   395  func (muo *MetaUpdateOne) check() error {
   396  	if v, ok := muo.mutation.Value(); ok {
   397  		if err := meta.ValueValidator(v); err != nil {
   398  			return &ValidationError{Name: "value", err: fmt.Errorf("ent: validator failed for field \"value\": %w", err)}
   399  		}
   400  	}
   401  	return nil
   402  }
   403  
   404  func (muo *MetaUpdateOne) sqlSave(ctx context.Context) (_node *Meta, err error) {
   405  	_spec := &sqlgraph.UpdateSpec{
   406  		Node: &sqlgraph.NodeSpec{
   407  			Table:   meta.Table,
   408  			Columns: meta.Columns,
   409  			ID: &sqlgraph.FieldSpec{
   410  				Type:   field.TypeInt,
   411  				Column: meta.FieldID,
   412  			},
   413  		},
   414  	}
   415  	id, ok := muo.mutation.ID()
   416  	if !ok {
   417  		return nil, &ValidationError{Name: "ID", err: fmt.Errorf("missing Meta.ID for update")}
   418  	}
   419  	_spec.Node.ID.Value = id
   420  	if ps := muo.mutation.predicates; len(ps) > 0 {
   421  		_spec.Predicate = func(selector *sql.Selector) {
   422  			for i := range ps {
   423  				ps[i](selector)
   424  			}
   425  		}
   426  	}
   427  	if value, ok := muo.mutation.CreatedAt(); ok {
   428  		_spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{
   429  			Type:   field.TypeTime,
   430  			Value:  value,
   431  			Column: meta.FieldCreatedAt,
   432  		})
   433  	}
   434  	if value, ok := muo.mutation.UpdatedAt(); ok {
   435  		_spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{
   436  			Type:   field.TypeTime,
   437  			Value:  value,
   438  			Column: meta.FieldUpdatedAt,
   439  		})
   440  	}
   441  	if value, ok := muo.mutation.Key(); ok {
   442  		_spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{
   443  			Type:   field.TypeString,
   444  			Value:  value,
   445  			Column: meta.FieldKey,
   446  		})
   447  	}
   448  	if value, ok := muo.mutation.Value(); ok {
   449  		_spec.Fields.Set = append(_spec.Fields.Set, &sqlgraph.FieldSpec{
   450  			Type:   field.TypeString,
   451  			Value:  value,
   452  			Column: meta.FieldValue,
   453  		})
   454  	}
   455  	if muo.mutation.OwnerCleared() {
   456  		edge := &sqlgraph.EdgeSpec{
   457  			Rel:     sqlgraph.M2O,
   458  			Inverse: true,
   459  			Table:   meta.OwnerTable,
   460  			Columns: []string{meta.OwnerColumn},
   461  			Bidi:    false,
   462  			Target: &sqlgraph.EdgeTarget{
   463  				IDSpec: &sqlgraph.FieldSpec{
   464  					Type:   field.TypeInt,
   465  					Column: alert.FieldID,
   466  				},
   467  			},
   468  		}
   469  		_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
   470  	}
   471  	if nodes := muo.mutation.OwnerIDs(); len(nodes) > 0 {
   472  		edge := &sqlgraph.EdgeSpec{
   473  			Rel:     sqlgraph.M2O,
   474  			Inverse: true,
   475  			Table:   meta.OwnerTable,
   476  			Columns: []string{meta.OwnerColumn},
   477  			Bidi:    false,
   478  			Target: &sqlgraph.EdgeTarget{
   479  				IDSpec: &sqlgraph.FieldSpec{
   480  					Type:   field.TypeInt,
   481  					Column: alert.FieldID,
   482  				},
   483  			},
   484  		}
   485  		for _, k := range nodes {
   486  			edge.Target.Nodes = append(edge.Target.Nodes, k)
   487  		}
   488  		_spec.Edges.Add = append(_spec.Edges.Add, edge)
   489  	}
   490  	_node = &Meta{config: muo.config}
   491  	_spec.Assign = _node.assignValues
   492  	_spec.ScanValues = _node.scanValues
   493  	if err = sqlgraph.UpdateNode(ctx, muo.driver, _spec); err != nil {
   494  		if _, ok := err.(*sqlgraph.NotFoundError); ok {
   495  			err = &NotFoundError{meta.Label}
   496  		} else if cerr, ok := isSQLConstraintError(err); ok {
   497  			err = cerr
   498  		}
   499  		return nil, err
   500  	}
   501  	return _node, nil
   502  }