// Code generated by ent, DO NOT EDIT.
package ent
import (
"context"
"errors"
"fmt"
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
"github.com/safedep/vet/ent/predicate"
"github.com/safedep/vet/ent/reportpackage"
"github.com/safedep/vet/ent/reportproject"
"github.com/safedep/vet/ent/reportscorecard"
)
// ReportProjectUpdate is the builder for updating ReportProject entities.
type ReportProjectUpdate struct {
config
hooks []Hook
mutation *ReportProjectMutation
}
// Where appends a list predicates to the ReportProjectUpdate builder.
func (rpu *ReportProjectUpdate) Where(ps ...predicate.ReportProject) *ReportProjectUpdate {
rpu.mutation.Where(ps...)
return rpu
}
// SetName sets the "name" field.
func (rpu *ReportProjectUpdate) SetName(s string) *ReportProjectUpdate {
rpu.mutation.SetName(s)
return rpu
}
// SetNillableName sets the "name" field if the given value is not nil.
func (rpu *ReportProjectUpdate) SetNillableName(s *string) *ReportProjectUpdate {
if s != nil {
rpu.SetName(*s)
}
return rpu
}
// SetURL sets the "url" field.
func (rpu *ReportProjectUpdate) SetURL(s string) *ReportProjectUpdate {
rpu.mutation.SetURL(s)
return rpu
}
// SetNillableURL sets the "url" field if the given value is not nil.
func (rpu *ReportProjectUpdate) SetNillableURL(s *string) *ReportProjectUpdate {
if s != nil {
rpu.SetURL(*s)
}
return rpu
}
// ClearURL clears the value of the "url" field.
func (rpu *ReportProjectUpdate) ClearURL() *ReportProjectUpdate {
rpu.mutation.ClearURL()
return rpu
}
// SetDescription sets the "description" field.
func (rpu *ReportProjectUpdate) SetDescription(s string) *ReportProjectUpdate {
rpu.mutation.SetDescription(s)
return rpu
}
// SetNillableDescription sets the "description" field if the given value is not nil.
func (rpu *ReportProjectUpdate) SetNillableDescription(s *string) *ReportProjectUpdate {
if s != nil {
rpu.SetDescription(*s)
}
return rpu
}
// ClearDescription clears the value of the "description" field.
func (rpu *ReportProjectUpdate) ClearDescription() *ReportProjectUpdate {
rpu.mutation.ClearDescription()
return rpu
}
// SetStars sets the "stars" field.
func (rpu *ReportProjectUpdate) SetStars(i int32) *ReportProjectUpdate {
rpu.mutation.ResetStars()
rpu.mutation.SetStars(i)
return rpu
}
// SetNillableStars sets the "stars" field if the given value is not nil.
func (rpu *ReportProjectUpdate) SetNillableStars(i *int32) *ReportProjectUpdate {
if i != nil {
rpu.SetStars(*i)
}
return rpu
}
// AddStars adds i to the "stars" field.
func (rpu *ReportProjectUpdate) AddStars(i int32) *ReportProjectUpdate {
rpu.mutation.AddStars(i)
return rpu
}
// ClearStars clears the value of the "stars" field.
func (rpu *ReportProjectUpdate) ClearStars() *ReportProjectUpdate {
rpu.mutation.ClearStars()
return rpu
}
// SetForks sets the "forks" field.
func (rpu *ReportProjectUpdate) SetForks(i int32) *ReportProjectUpdate {
rpu.mutation.ResetForks()
rpu.mutation.SetForks(i)
return rpu
}
// SetNillableForks sets the "forks" field if the given value is not nil.
func (rpu *ReportProjectUpdate) SetNillableForks(i *int32) *ReportProjectUpdate {
if i != nil {
rpu.SetForks(*i)
}
return rpu
}
// AddForks adds i to the "forks" field.
func (rpu *ReportProjectUpdate) AddForks(i int32) *ReportProjectUpdate {
rpu.mutation.AddForks(i)
return rpu
}
// ClearForks clears the value of the "forks" field.
func (rpu *ReportProjectUpdate) ClearForks() *ReportProjectUpdate {
rpu.mutation.ClearForks()
return rpu
}
// SetCreatedAt sets the "created_at" field.
func (rpu *ReportProjectUpdate) SetCreatedAt(t time.Time) *ReportProjectUpdate {
rpu.mutation.SetCreatedAt(t)
return rpu
}
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
func (rpu *ReportProjectUpdate) SetNillableCreatedAt(t *time.Time) *ReportProjectUpdate {
if t != nil {
rpu.SetCreatedAt(*t)
}
return rpu
}
// ClearCreatedAt clears the value of the "created_at" field.
func (rpu *ReportProjectUpdate) ClearCreatedAt() *ReportProjectUpdate {
rpu.mutation.ClearCreatedAt()
return rpu
}
// SetUpdatedAt sets the "updated_at" field.
func (rpu *ReportProjectUpdate) SetUpdatedAt(t time.Time) *ReportProjectUpdate {
rpu.mutation.SetUpdatedAt(t)
return rpu
}
// SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
func (rpu *ReportProjectUpdate) SetNillableUpdatedAt(t *time.Time) *ReportProjectUpdate {
if t != nil {
rpu.SetUpdatedAt(*t)
}
return rpu
}
// ClearUpdatedAt clears the value of the "updated_at" field.
func (rpu *ReportProjectUpdate) ClearUpdatedAt() *ReportProjectUpdate {
rpu.mutation.ClearUpdatedAt()
return rpu
}
// SetPackageID sets the "package" edge to the ReportPackage entity by ID.
func (rpu *ReportProjectUpdate) SetPackageID(id int) *ReportProjectUpdate {
rpu.mutation.SetPackageID(id)
return rpu
}
// SetNillablePackageID sets the "package" edge to the ReportPackage entity by ID if the given value is not nil.
func (rpu *ReportProjectUpdate) SetNillablePackageID(id *int) *ReportProjectUpdate {
if id != nil {
rpu = rpu.SetPackageID(*id)
}
return rpu
}
// SetPackage sets the "package" edge to the ReportPackage entity.
func (rpu *ReportProjectUpdate) SetPackage(r *ReportPackage) *ReportProjectUpdate {
return rpu.SetPackageID(r.ID)
}
// SetScorecardID sets the "scorecard" edge to the ReportScorecard entity by ID.
func (rpu *ReportProjectUpdate) SetScorecardID(id int) *ReportProjectUpdate {
rpu.mutation.SetScorecardID(id)
return rpu
}
// SetNillableScorecardID sets the "scorecard" edge to the ReportScorecard entity by ID if the given value is not nil.
func (rpu *ReportProjectUpdate) SetNillableScorecardID(id *int) *ReportProjectUpdate {
if id != nil {
rpu = rpu.SetScorecardID(*id)
}
return rpu
}
// SetScorecard sets the "scorecard" edge to the ReportScorecard entity.
func (rpu *ReportProjectUpdate) SetScorecard(r *ReportScorecard) *ReportProjectUpdate {
return rpu.SetScorecardID(r.ID)
}
// Mutation returns the ReportProjectMutation object of the builder.
func (rpu *ReportProjectUpdate) Mutation() *ReportProjectMutation {
return rpu.mutation
}
// ClearPackage clears the "package" edge to the ReportPackage entity.
func (rpu *ReportProjectUpdate) ClearPackage() *ReportProjectUpdate {
rpu.mutation.ClearPackage()
return rpu
}
// ClearScorecard clears the "scorecard" edge to the ReportScorecard entity.
func (rpu *ReportProjectUpdate) ClearScorecard() *ReportProjectUpdate {
rpu.mutation.ClearScorecard()
return rpu
}
// Save executes the query and returns the number of nodes affected by the update operation.
func (rpu *ReportProjectUpdate) Save(ctx context.Context) (int, error) {
return withHooks(ctx, rpu.sqlSave, rpu.mutation, rpu.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (rpu *ReportProjectUpdate) SaveX(ctx context.Context) int {
affected, err := rpu.Save(ctx)
if err != nil {
panic(err)
}
return affected
}
// Exec executes the query.
func (rpu *ReportProjectUpdate) Exec(ctx context.Context) error {
_, err := rpu.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (rpu *ReportProjectUpdate) ExecX(ctx context.Context) {
if err := rpu.Exec(ctx); err != nil {
panic(err)
}
}
// check runs all checks and user-defined validators on the builder.
func (rpu *ReportProjectUpdate) check() error {
if v, ok := rpu.mutation.Name(); ok {
if err := reportproject.NameValidator(v); err != nil {
return &ValidationError{Name: "name", err: fmt.Errorf(`ent: validator failed for field "ReportProject.name": %w`, err)}
}
}
return nil
}
func (rpu *ReportProjectUpdate) sqlSave(ctx context.Context) (n int, err error) {
if err := rpu.check(); err != nil {
return n, err
}
_spec := sqlgraph.NewUpdateSpec(reportproject.Table, reportproject.Columns, sqlgraph.NewFieldSpec(reportproject.FieldID, field.TypeInt))
if ps := rpu.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := rpu.mutation.Name(); ok {
_spec.SetField(reportproject.FieldName, field.TypeString, value)
}
if value, ok := rpu.mutation.URL(); ok {
_spec.SetField(reportproject.FieldURL, field.TypeString, value)
}
if rpu.mutation.URLCleared() {
_spec.ClearField(reportproject.FieldURL, field.TypeString)
}
if value, ok := rpu.mutation.Description(); ok {
_spec.SetField(reportproject.FieldDescription, field.TypeString, value)
}
if rpu.mutation.DescriptionCleared() {
_spec.ClearField(reportproject.FieldDescription, field.TypeString)
}
if value, ok := rpu.mutation.Stars(); ok {
_spec.SetField(reportproject.FieldStars, field.TypeInt32, value)
}
if value, ok := rpu.mutation.AddedStars(); ok {
_spec.AddField(reportproject.FieldStars, field.TypeInt32, value)
}
if rpu.mutation.StarsCleared() {
_spec.ClearField(reportproject.FieldStars, field.TypeInt32)
}
if value, ok := rpu.mutation.Forks(); ok {
_spec.SetField(reportproject.FieldForks, field.TypeInt32, value)
}
if value, ok := rpu.mutation.AddedForks(); ok {
_spec.AddField(reportproject.FieldForks, field.TypeInt32, value)
}
if rpu.mutation.ForksCleared() {
_spec.ClearField(reportproject.FieldForks, field.TypeInt32)
}
if value, ok := rpu.mutation.CreatedAt(); ok {
_spec.SetField(reportproject.FieldCreatedAt, field.TypeTime, value)
}
if rpu.mutation.CreatedAtCleared() {
_spec.ClearField(reportproject.FieldCreatedAt, field.TypeTime)
}
if value, ok := rpu.mutation.UpdatedAt(); ok {
_spec.SetField(reportproject.FieldUpdatedAt, field.TypeTime, value)
}
if rpu.mutation.UpdatedAtCleared() {
_spec.ClearField(reportproject.FieldUpdatedAt, field.TypeTime)
}
if rpu.mutation.PackageCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: true,
Table: reportproject.PackageTable,
Columns: []string{reportproject.PackageColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(reportpackage.FieldID, field.TypeInt),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := rpu.mutation.PackageIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: true,
Table: reportproject.PackageTable,
Columns: []string{reportproject.PackageColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(reportpackage.FieldID, field.TypeInt),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if rpu.mutation.ScorecardCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2O,
Inverse: false,
Table: reportproject.ScorecardTable,
Columns: []string{reportproject.ScorecardColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(reportscorecard.FieldID, field.TypeInt),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := rpu.mutation.ScorecardIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2O,
Inverse: false,
Table: reportproject.ScorecardTable,
Columns: []string{reportproject.ScorecardColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(reportscorecard.FieldID, field.TypeInt),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if n, err = sqlgraph.UpdateNodes(ctx, rpu.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{reportproject.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return 0, err
}
rpu.mutation.done = true
return n, nil
}
// ReportProjectUpdateOne is the builder for updating a single ReportProject entity.
type ReportProjectUpdateOne struct {
config
fields []string
hooks []Hook
mutation *ReportProjectMutation
}
// SetName sets the "name" field.
func (rpuo *ReportProjectUpdateOne) SetName(s string) *ReportProjectUpdateOne {
rpuo.mutation.SetName(s)
return rpuo
}
// SetNillableName sets the "name" field if the given value is not nil.
func (rpuo *ReportProjectUpdateOne) SetNillableName(s *string) *ReportProjectUpdateOne {
if s != nil {
rpuo.SetName(*s)
}
return rpuo
}
// SetURL sets the "url" field.
func (rpuo *ReportProjectUpdateOne) SetURL(s string) *ReportProjectUpdateOne {
rpuo.mutation.SetURL(s)
return rpuo
}
// SetNillableURL sets the "url" field if the given value is not nil.
func (rpuo *ReportProjectUpdateOne) SetNillableURL(s *string) *ReportProjectUpdateOne {
if s != nil {
rpuo.SetURL(*s)
}
return rpuo
}
// ClearURL clears the value of the "url" field.
func (rpuo *ReportProjectUpdateOne) ClearURL() *ReportProjectUpdateOne {
rpuo.mutation.ClearURL()
return rpuo
}
// SetDescription sets the "description" field.
func (rpuo *ReportProjectUpdateOne) SetDescription(s string) *ReportProjectUpdateOne {
rpuo.mutation.SetDescription(s)
return rpuo
}
// SetNillableDescription sets the "description" field if the given value is not nil.
func (rpuo *ReportProjectUpdateOne) SetNillableDescription(s *string) *ReportProjectUpdateOne {
if s != nil {
rpuo.SetDescription(*s)
}
return rpuo
}
// ClearDescription clears the value of the "description" field.
func (rpuo *ReportProjectUpdateOne) ClearDescription() *ReportProjectUpdateOne {
rpuo.mutation.ClearDescription()
return rpuo
}
// SetStars sets the "stars" field.
func (rpuo *ReportProjectUpdateOne) SetStars(i int32) *ReportProjectUpdateOne {
rpuo.mutation.ResetStars()
rpuo.mutation.SetStars(i)
return rpuo
}
// SetNillableStars sets the "stars" field if the given value is not nil.
func (rpuo *ReportProjectUpdateOne) SetNillableStars(i *int32) *ReportProjectUpdateOne {
if i != nil {
rpuo.SetStars(*i)
}
return rpuo
}
// AddStars adds i to the "stars" field.
func (rpuo *ReportProjectUpdateOne) AddStars(i int32) *ReportProjectUpdateOne {
rpuo.mutation.AddStars(i)
return rpuo
}
// ClearStars clears the value of the "stars" field.
func (rpuo *ReportProjectUpdateOne) ClearStars() *ReportProjectUpdateOne {
rpuo.mutation.ClearStars()
return rpuo
}
// SetForks sets the "forks" field.
func (rpuo *ReportProjectUpdateOne) SetForks(i int32) *ReportProjectUpdateOne {
rpuo.mutation.ResetForks()
rpuo.mutation.SetForks(i)
return rpuo
}
// SetNillableForks sets the "forks" field if the given value is not nil.
func (rpuo *ReportProjectUpdateOne) SetNillableForks(i *int32) *ReportProjectUpdateOne {
if i != nil {
rpuo.SetForks(*i)
}
return rpuo
}
// AddForks adds i to the "forks" field.
func (rpuo *ReportProjectUpdateOne) AddForks(i int32) *ReportProjectUpdateOne {
rpuo.mutation.AddForks(i)
return rpuo
}
// ClearForks clears the value of the "forks" field.
func (rpuo *ReportProjectUpdateOne) ClearForks() *ReportProjectUpdateOne {
rpuo.mutation.ClearForks()
return rpuo
}
// SetCreatedAt sets the "created_at" field.
func (rpuo *ReportProjectUpdateOne) SetCreatedAt(t time.Time) *ReportProjectUpdateOne {
rpuo.mutation.SetCreatedAt(t)
return rpuo
}
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
func (rpuo *ReportProjectUpdateOne) SetNillableCreatedAt(t *time.Time) *ReportProjectUpdateOne {
if t != nil {
rpuo.SetCreatedAt(*t)
}
return rpuo
}
// ClearCreatedAt clears the value of the "created_at" field.
func (rpuo *ReportProjectUpdateOne) ClearCreatedAt() *ReportProjectUpdateOne {
rpuo.mutation.ClearCreatedAt()
return rpuo
}
// SetUpdatedAt sets the "updated_at" field.
func (rpuo *ReportProjectUpdateOne) SetUpdatedAt(t time.Time) *ReportProjectUpdateOne {
rpuo.mutation.SetUpdatedAt(t)
return rpuo
}
// SetNillableUpdatedAt sets the "updated_at" field if the given value is not nil.
func (rpuo *ReportProjectUpdateOne) SetNillableUpdatedAt(t *time.Time) *ReportProjectUpdateOne {
if t != nil {
rpuo.SetUpdatedAt(*t)
}
return rpuo
}
// ClearUpdatedAt clears the value of the "updated_at" field.
func (rpuo *ReportProjectUpdateOne) ClearUpdatedAt() *ReportProjectUpdateOne {
rpuo.mutation.ClearUpdatedAt()
return rpuo
}
// SetPackageID sets the "package" edge to the ReportPackage entity by ID.
func (rpuo *ReportProjectUpdateOne) SetPackageID(id int) *ReportProjectUpdateOne {
rpuo.mutation.SetPackageID(id)
return rpuo
}
// SetNillablePackageID sets the "package" edge to the ReportPackage entity by ID if the given value is not nil.
func (rpuo *ReportProjectUpdateOne) SetNillablePackageID(id *int) *ReportProjectUpdateOne {
if id != nil {
rpuo = rpuo.SetPackageID(*id)
}
return rpuo
}
// SetPackage sets the "package" edge to the ReportPackage entity.
func (rpuo *ReportProjectUpdateOne) SetPackage(r *ReportPackage) *ReportProjectUpdateOne {
return rpuo.SetPackageID(r.ID)
}
// SetScorecardID sets the "scorecard" edge to the ReportScorecard entity by ID.
func (rpuo *ReportProjectUpdateOne) SetScorecardID(id int) *ReportProjectUpdateOne {
rpuo.mutation.SetScorecardID(id)
return rpuo
}
// SetNillableScorecardID sets the "scorecard" edge to the ReportScorecard entity by ID if the given value is not nil.
func (rpuo *ReportProjectUpdateOne) SetNillableScorecardID(id *int) *ReportProjectUpdateOne {
if id != nil {
rpuo = rpuo.SetScorecardID(*id)
}
return rpuo
}
// SetScorecard sets the "scorecard" edge to the ReportScorecard entity.
func (rpuo *ReportProjectUpdateOne) SetScorecard(r *ReportScorecard) *ReportProjectUpdateOne {
return rpuo.SetScorecardID(r.ID)
}
// Mutation returns the ReportProjectMutation object of the builder.
func (rpuo *ReportProjectUpdateOne) Mutation() *ReportProjectMutation {
return rpuo.mutation
}
// ClearPackage clears the "package" edge to the ReportPackage entity.
func (rpuo *ReportProjectUpdateOne) ClearPackage() *ReportProjectUpdateOne {
rpuo.mutation.ClearPackage()
return rpuo
}
// ClearScorecard clears the "scorecard" edge to the ReportScorecard entity.
func (rpuo *ReportProjectUpdateOne) ClearScorecard() *ReportProjectUpdateOne {
rpuo.mutation.ClearScorecard()
return rpuo
}
// Where appends a list predicates to the ReportProjectUpdate builder.
func (rpuo *ReportProjectUpdateOne) Where(ps ...predicate.ReportProject) *ReportProjectUpdateOne {
rpuo.mutation.Where(ps...)
return rpuo
}
// Select allows selecting one or more fields (columns) of the returned entity.
// The default is selecting all fields defined in the entity schema.
func (rpuo *ReportProjectUpdateOne) Select(field string, fields ...string) *ReportProjectUpdateOne {
rpuo.fields = append([]string{field}, fields...)
return rpuo
}
// Save executes the query and returns the updated ReportProject entity.
func (rpuo *ReportProjectUpdateOne) Save(ctx context.Context) (*ReportProject, error) {
return withHooks(ctx, rpuo.sqlSave, rpuo.mutation, rpuo.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (rpuo *ReportProjectUpdateOne) SaveX(ctx context.Context) *ReportProject {
node, err := rpuo.Save(ctx)
if err != nil {
panic(err)
}
return node
}
// Exec executes the query on the entity.
func (rpuo *ReportProjectUpdateOne) Exec(ctx context.Context) error {
_, err := rpuo.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (rpuo *ReportProjectUpdateOne) ExecX(ctx context.Context) {
if err := rpuo.Exec(ctx); err != nil {
panic(err)
}
}
// check runs all checks and user-defined validators on the builder.
func (rpuo *ReportProjectUpdateOne) check() error {
if v, ok := rpuo.mutation.Name(); ok {
if err := reportproject.NameValidator(v); err != nil {
return &ValidationError{Name: "name", err: fmt.Errorf(`ent: validator failed for field "ReportProject.name": %w`, err)}
}
}
return nil
}
func (rpuo *ReportProjectUpdateOne) sqlSave(ctx context.Context) (_node *ReportProject, err error) {
if err := rpuo.check(); err != nil {
return _node, err
}
_spec := sqlgraph.NewUpdateSpec(reportproject.Table, reportproject.Columns, sqlgraph.NewFieldSpec(reportproject.FieldID, field.TypeInt))
id, ok := rpuo.mutation.ID()
if !ok {
return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "ReportProject.id" for update`)}
}
_spec.Node.ID.Value = id
if fields := rpuo.fields; len(fields) > 0 {
_spec.Node.Columns = make([]string, 0, len(fields))
_spec.Node.Columns = append(_spec.Node.Columns, reportproject.FieldID)
for _, f := range fields {
if !reportproject.ValidColumn(f) {
return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
}
if f != reportproject.FieldID {
_spec.Node.Columns = append(_spec.Node.Columns, f)
}
}
}
if ps := rpuo.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := rpuo.mutation.Name(); ok {
_spec.SetField(reportproject.FieldName, field.TypeString, value)
}
if value, ok := rpuo.mutation.URL(); ok {
_spec.SetField(reportproject.FieldURL, field.TypeString, value)
}
if rpuo.mutation.URLCleared() {
_spec.ClearField(reportproject.FieldURL, field.TypeString)
}
if value, ok := rpuo.mutation.Description(); ok {
_spec.SetField(reportproject.FieldDescription, field.TypeString, value)
}
if rpuo.mutation.DescriptionCleared() {
_spec.ClearField(reportproject.FieldDescription, field.TypeString)
}
if value, ok := rpuo.mutation.Stars(); ok {
_spec.SetField(reportproject.FieldStars, field.TypeInt32, value)
}
if value, ok := rpuo.mutation.AddedStars(); ok {
_spec.AddField(reportproject.FieldStars, field.TypeInt32, value)
}
if rpuo.mutation.StarsCleared() {
_spec.ClearField(reportproject.FieldStars, field.TypeInt32)
}
if value, ok := rpuo.mutation.Forks(); ok {
_spec.SetField(reportproject.FieldForks, field.TypeInt32, value)
}
if value, ok := rpuo.mutation.AddedForks(); ok {
_spec.AddField(reportproject.FieldForks, field.TypeInt32, value)
}
if rpuo.mutation.ForksCleared() {
_spec.ClearField(reportproject.FieldForks, field.TypeInt32)
}
if value, ok := rpuo.mutation.CreatedAt(); ok {
_spec.SetField(reportproject.FieldCreatedAt, field.TypeTime, value)
}
if rpuo.mutation.CreatedAtCleared() {
_spec.ClearField(reportproject.FieldCreatedAt, field.TypeTime)
}
if value, ok := rpuo.mutation.UpdatedAt(); ok {
_spec.SetField(reportproject.FieldUpdatedAt, field.TypeTime, value)
}
if rpuo.mutation.UpdatedAtCleared() {
_spec.ClearField(reportproject.FieldUpdatedAt, field.TypeTime)
}
if rpuo.mutation.PackageCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: true,
Table: reportproject.PackageTable,
Columns: []string{reportproject.PackageColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(reportpackage.FieldID, field.TypeInt),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := rpuo.mutation.PackageIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: true,
Table: reportproject.PackageTable,
Columns: []string{reportproject.PackageColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(reportpackage.FieldID, field.TypeInt),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if rpuo.mutation.ScorecardCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2O,
Inverse: false,
Table: reportproject.ScorecardTable,
Columns: []string{reportproject.ScorecardColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(reportscorecard.FieldID, field.TypeInt),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := rpuo.mutation.ScorecardIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2O,
Inverse: false,
Table: reportproject.ScorecardTable,
Columns: []string{reportproject.ScorecardColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(reportscorecard.FieldID, field.TypeInt),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
_node = &ReportProject{config: rpuo.config}
_spec.Assign = _node.assignValues
_spec.ScanValues = _node.scanValues
if err = sqlgraph.UpdateNode(ctx, rpuo.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{reportproject.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return nil, err
}
rpuo.mutation.done = true
return _node, nil
}