Files
MonkeyCode/backend/db/model_update.go

1122 lines
32 KiB
Go

// Code generated by ent, DO NOT EDIT.
package db
import (
"context"
"errors"
"fmt"
"time"
"entgo.io/ent/dialect/sql"
"entgo.io/ent/dialect/sql/sqlgraph"
"entgo.io/ent/schema/field"
"github.com/chaitin/MonkeyCode/backend/consts"
"github.com/chaitin/MonkeyCode/backend/db/model"
"github.com/chaitin/MonkeyCode/backend/db/predicate"
"github.com/chaitin/MonkeyCode/backend/db/task"
"github.com/chaitin/MonkeyCode/backend/db/user"
"github.com/chaitin/MonkeyCode/backend/ent/types"
"github.com/google/uuid"
)
// ModelUpdate is the builder for updating Model entities.
type ModelUpdate struct {
config
hooks []Hook
mutation *ModelMutation
modifiers []func(*sql.UpdateBuilder)
}
// Where appends a list predicates to the ModelUpdate builder.
func (mu *ModelUpdate) Where(ps ...predicate.Model) *ModelUpdate {
mu.mutation.Where(ps...)
return mu
}
// SetUserID sets the "user_id" field.
func (mu *ModelUpdate) SetUserID(u uuid.UUID) *ModelUpdate {
mu.mutation.SetUserID(u)
return mu
}
// SetNillableUserID sets the "user_id" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableUserID(u *uuid.UUID) *ModelUpdate {
if u != nil {
mu.SetUserID(*u)
}
return mu
}
// ClearUserID clears the value of the "user_id" field.
func (mu *ModelUpdate) ClearUserID() *ModelUpdate {
mu.mutation.ClearUserID()
return mu
}
// SetModelName sets the "model_name" field.
func (mu *ModelUpdate) SetModelName(s string) *ModelUpdate {
mu.mutation.SetModelName(s)
return mu
}
// SetNillableModelName sets the "model_name" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableModelName(s *string) *ModelUpdate {
if s != nil {
mu.SetModelName(*s)
}
return mu
}
// SetModelType sets the "model_type" field.
func (mu *ModelUpdate) SetModelType(ct consts.ModelType) *ModelUpdate {
mu.mutation.SetModelType(ct)
return mu
}
// SetNillableModelType sets the "model_type" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableModelType(ct *consts.ModelType) *ModelUpdate {
if ct != nil {
mu.SetModelType(*ct)
}
return mu
}
// SetShowName sets the "show_name" field.
func (mu *ModelUpdate) SetShowName(s string) *ModelUpdate {
mu.mutation.SetShowName(s)
return mu
}
// SetNillableShowName sets the "show_name" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableShowName(s *string) *ModelUpdate {
if s != nil {
mu.SetShowName(*s)
}
return mu
}
// ClearShowName clears the value of the "show_name" field.
func (mu *ModelUpdate) ClearShowName() *ModelUpdate {
mu.mutation.ClearShowName()
return mu
}
// SetAPIBase sets the "api_base" field.
func (mu *ModelUpdate) SetAPIBase(s string) *ModelUpdate {
mu.mutation.SetAPIBase(s)
return mu
}
// SetNillableAPIBase sets the "api_base" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableAPIBase(s *string) *ModelUpdate {
if s != nil {
mu.SetAPIBase(*s)
}
return mu
}
// SetAPIKey sets the "api_key" field.
func (mu *ModelUpdate) SetAPIKey(s string) *ModelUpdate {
mu.mutation.SetAPIKey(s)
return mu
}
// SetNillableAPIKey sets the "api_key" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableAPIKey(s *string) *ModelUpdate {
if s != nil {
mu.SetAPIKey(*s)
}
return mu
}
// ClearAPIKey clears the value of the "api_key" field.
func (mu *ModelUpdate) ClearAPIKey() *ModelUpdate {
mu.mutation.ClearAPIKey()
return mu
}
// SetAPIVersion sets the "api_version" field.
func (mu *ModelUpdate) SetAPIVersion(s string) *ModelUpdate {
mu.mutation.SetAPIVersion(s)
return mu
}
// SetNillableAPIVersion sets the "api_version" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableAPIVersion(s *string) *ModelUpdate {
if s != nil {
mu.SetAPIVersion(*s)
}
return mu
}
// ClearAPIVersion clears the value of the "api_version" field.
func (mu *ModelUpdate) ClearAPIVersion() *ModelUpdate {
mu.mutation.ClearAPIVersion()
return mu
}
// SetAPIHeader sets the "api_header" field.
func (mu *ModelUpdate) SetAPIHeader(s string) *ModelUpdate {
mu.mutation.SetAPIHeader(s)
return mu
}
// SetNillableAPIHeader sets the "api_header" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableAPIHeader(s *string) *ModelUpdate {
if s != nil {
mu.SetAPIHeader(*s)
}
return mu
}
// ClearAPIHeader clears the value of the "api_header" field.
func (mu *ModelUpdate) ClearAPIHeader() *ModelUpdate {
mu.mutation.ClearAPIHeader()
return mu
}
// SetDescription sets the "description" field.
func (mu *ModelUpdate) SetDescription(s string) *ModelUpdate {
mu.mutation.SetDescription(s)
return mu
}
// SetNillableDescription sets the "description" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableDescription(s *string) *ModelUpdate {
if s != nil {
mu.SetDescription(*s)
}
return mu
}
// ClearDescription clears the value of the "description" field.
func (mu *ModelUpdate) ClearDescription() *ModelUpdate {
mu.mutation.ClearDescription()
return mu
}
// SetIsInternal sets the "is_internal" field.
func (mu *ModelUpdate) SetIsInternal(b bool) *ModelUpdate {
mu.mutation.SetIsInternal(b)
return mu
}
// SetNillableIsInternal sets the "is_internal" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableIsInternal(b *bool) *ModelUpdate {
if b != nil {
mu.SetIsInternal(*b)
}
return mu
}
// SetProvider sets the "provider" field.
func (mu *ModelUpdate) SetProvider(cp consts.ModelProvider) *ModelUpdate {
mu.mutation.SetProvider(cp)
return mu
}
// SetNillableProvider sets the "provider" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableProvider(cp *consts.ModelProvider) *ModelUpdate {
if cp != nil {
mu.SetProvider(*cp)
}
return mu
}
// SetStatus sets the "status" field.
func (mu *ModelUpdate) SetStatus(cs consts.ModelStatus) *ModelUpdate {
mu.mutation.SetStatus(cs)
return mu
}
// SetNillableStatus sets the "status" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableStatus(cs *consts.ModelStatus) *ModelUpdate {
if cs != nil {
mu.SetStatus(*cs)
}
return mu
}
// SetParameters sets the "parameters" field.
func (mu *ModelUpdate) SetParameters(tp *types.ModelParam) *ModelUpdate {
mu.mutation.SetParameters(tp)
return mu
}
// ClearParameters clears the value of the "parameters" field.
func (mu *ModelUpdate) ClearParameters() *ModelUpdate {
mu.mutation.ClearParameters()
return mu
}
// SetContextLength sets the "context_length" field.
func (mu *ModelUpdate) SetContextLength(i int) *ModelUpdate {
mu.mutation.ResetContextLength()
mu.mutation.SetContextLength(i)
return mu
}
// SetNillableContextLength sets the "context_length" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableContextLength(i *int) *ModelUpdate {
if i != nil {
mu.SetContextLength(*i)
}
return mu
}
// AddContextLength adds i to the "context_length" field.
func (mu *ModelUpdate) AddContextLength(i int) *ModelUpdate {
mu.mutation.AddContextLength(i)
return mu
}
// ClearContextLength clears the value of the "context_length" field.
func (mu *ModelUpdate) ClearContextLength() *ModelUpdate {
mu.mutation.ClearContextLength()
return mu
}
// SetCreatedAt sets the "created_at" field.
func (mu *ModelUpdate) SetCreatedAt(t time.Time) *ModelUpdate {
mu.mutation.SetCreatedAt(t)
return mu
}
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
func (mu *ModelUpdate) SetNillableCreatedAt(t *time.Time) *ModelUpdate {
if t != nil {
mu.SetCreatedAt(*t)
}
return mu
}
// SetUpdatedAt sets the "updated_at" field.
func (mu *ModelUpdate) SetUpdatedAt(t time.Time) *ModelUpdate {
mu.mutation.SetUpdatedAt(t)
return mu
}
// AddTaskIDs adds the "tasks" edge to the Task entity by IDs.
func (mu *ModelUpdate) AddTaskIDs(ids ...uuid.UUID) *ModelUpdate {
mu.mutation.AddTaskIDs(ids...)
return mu
}
// AddTasks adds the "tasks" edges to the Task entity.
func (mu *ModelUpdate) AddTasks(t ...*Task) *ModelUpdate {
ids := make([]uuid.UUID, len(t))
for i := range t {
ids[i] = t[i].ID
}
return mu.AddTaskIDs(ids...)
}
// SetUser sets the "user" edge to the User entity.
func (mu *ModelUpdate) SetUser(u *User) *ModelUpdate {
return mu.SetUserID(u.ID)
}
// Mutation returns the ModelMutation object of the builder.
func (mu *ModelUpdate) Mutation() *ModelMutation {
return mu.mutation
}
// ClearTasks clears all "tasks" edges to the Task entity.
func (mu *ModelUpdate) ClearTasks() *ModelUpdate {
mu.mutation.ClearTasks()
return mu
}
// RemoveTaskIDs removes the "tasks" edge to Task entities by IDs.
func (mu *ModelUpdate) RemoveTaskIDs(ids ...uuid.UUID) *ModelUpdate {
mu.mutation.RemoveTaskIDs(ids...)
return mu
}
// RemoveTasks removes "tasks" edges to Task entities.
func (mu *ModelUpdate) RemoveTasks(t ...*Task) *ModelUpdate {
ids := make([]uuid.UUID, len(t))
for i := range t {
ids[i] = t[i].ID
}
return mu.RemoveTaskIDs(ids...)
}
// ClearUser clears the "user" edge to the User entity.
func (mu *ModelUpdate) ClearUser() *ModelUpdate {
mu.mutation.ClearUser()
return mu
}
// Save executes the query and returns the number of nodes affected by the update operation.
func (mu *ModelUpdate) Save(ctx context.Context) (int, error) {
mu.defaults()
return withHooks(ctx, mu.sqlSave, mu.mutation, mu.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (mu *ModelUpdate) SaveX(ctx context.Context) int {
affected, err := mu.Save(ctx)
if err != nil {
panic(err)
}
return affected
}
// Exec executes the query.
func (mu *ModelUpdate) Exec(ctx context.Context) error {
_, err := mu.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (mu *ModelUpdate) ExecX(ctx context.Context) {
if err := mu.Exec(ctx); err != nil {
panic(err)
}
}
// defaults sets the default values of the builder before save.
func (mu *ModelUpdate) defaults() {
if _, ok := mu.mutation.UpdatedAt(); !ok {
v := model.UpdateDefaultUpdatedAt()
mu.mutation.SetUpdatedAt(v)
}
}
// Modify adds a statement modifier for attaching custom logic to the UPDATE statement.
func (mu *ModelUpdate) Modify(modifiers ...func(u *sql.UpdateBuilder)) *ModelUpdate {
mu.modifiers = append(mu.modifiers, modifiers...)
return mu
}
func (mu *ModelUpdate) sqlSave(ctx context.Context) (n int, err error) {
_spec := sqlgraph.NewUpdateSpec(model.Table, model.Columns, sqlgraph.NewFieldSpec(model.FieldID, field.TypeUUID))
if ps := mu.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := mu.mutation.ModelName(); ok {
_spec.SetField(model.FieldModelName, field.TypeString, value)
}
if value, ok := mu.mutation.ModelType(); ok {
_spec.SetField(model.FieldModelType, field.TypeString, value)
}
if value, ok := mu.mutation.ShowName(); ok {
_spec.SetField(model.FieldShowName, field.TypeString, value)
}
if mu.mutation.ShowNameCleared() {
_spec.ClearField(model.FieldShowName, field.TypeString)
}
if value, ok := mu.mutation.APIBase(); ok {
_spec.SetField(model.FieldAPIBase, field.TypeString, value)
}
if value, ok := mu.mutation.APIKey(); ok {
_spec.SetField(model.FieldAPIKey, field.TypeString, value)
}
if mu.mutation.APIKeyCleared() {
_spec.ClearField(model.FieldAPIKey, field.TypeString)
}
if value, ok := mu.mutation.APIVersion(); ok {
_spec.SetField(model.FieldAPIVersion, field.TypeString, value)
}
if mu.mutation.APIVersionCleared() {
_spec.ClearField(model.FieldAPIVersion, field.TypeString)
}
if value, ok := mu.mutation.APIHeader(); ok {
_spec.SetField(model.FieldAPIHeader, field.TypeString, value)
}
if mu.mutation.APIHeaderCleared() {
_spec.ClearField(model.FieldAPIHeader, field.TypeString)
}
if value, ok := mu.mutation.Description(); ok {
_spec.SetField(model.FieldDescription, field.TypeString, value)
}
if mu.mutation.DescriptionCleared() {
_spec.ClearField(model.FieldDescription, field.TypeString)
}
if value, ok := mu.mutation.IsInternal(); ok {
_spec.SetField(model.FieldIsInternal, field.TypeBool, value)
}
if value, ok := mu.mutation.Provider(); ok {
_spec.SetField(model.FieldProvider, field.TypeString, value)
}
if value, ok := mu.mutation.Status(); ok {
_spec.SetField(model.FieldStatus, field.TypeString, value)
}
if value, ok := mu.mutation.Parameters(); ok {
_spec.SetField(model.FieldParameters, field.TypeJSON, value)
}
if mu.mutation.ParametersCleared() {
_spec.ClearField(model.FieldParameters, field.TypeJSON)
}
if value, ok := mu.mutation.ContextLength(); ok {
_spec.SetField(model.FieldContextLength, field.TypeInt, value)
}
if value, ok := mu.mutation.AddedContextLength(); ok {
_spec.AddField(model.FieldContextLength, field.TypeInt, value)
}
if mu.mutation.ContextLengthCleared() {
_spec.ClearField(model.FieldContextLength, field.TypeInt)
}
if value, ok := mu.mutation.CreatedAt(); ok {
_spec.SetField(model.FieldCreatedAt, field.TypeTime, value)
}
if value, ok := mu.mutation.UpdatedAt(); ok {
_spec.SetField(model.FieldUpdatedAt, field.TypeTime, value)
}
if mu.mutation.TasksCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: model.TasksTable,
Columns: []string{model.TasksColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(task.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := mu.mutation.RemovedTasksIDs(); len(nodes) > 0 && !mu.mutation.TasksCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: model.TasksTable,
Columns: []string{model.TasksColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(task.FieldID, field.TypeUUID),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := mu.mutation.TasksIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: model.TasksTable,
Columns: []string{model.TasksColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(task.FieldID, field.TypeUUID),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if mu.mutation.UserCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: true,
Table: model.UserTable,
Columns: []string{model.UserColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := mu.mutation.UserIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: true,
Table: model.UserTable,
Columns: []string{model.UserColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeUUID),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
_spec.AddModifiers(mu.modifiers...)
if n, err = sqlgraph.UpdateNodes(ctx, mu.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{model.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return 0, err
}
mu.mutation.done = true
return n, nil
}
// ModelUpdateOne is the builder for updating a single Model entity.
type ModelUpdateOne struct {
config
fields []string
hooks []Hook
mutation *ModelMutation
modifiers []func(*sql.UpdateBuilder)
}
// SetUserID sets the "user_id" field.
func (muo *ModelUpdateOne) SetUserID(u uuid.UUID) *ModelUpdateOne {
muo.mutation.SetUserID(u)
return muo
}
// SetNillableUserID sets the "user_id" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableUserID(u *uuid.UUID) *ModelUpdateOne {
if u != nil {
muo.SetUserID(*u)
}
return muo
}
// ClearUserID clears the value of the "user_id" field.
func (muo *ModelUpdateOne) ClearUserID() *ModelUpdateOne {
muo.mutation.ClearUserID()
return muo
}
// SetModelName sets the "model_name" field.
func (muo *ModelUpdateOne) SetModelName(s string) *ModelUpdateOne {
muo.mutation.SetModelName(s)
return muo
}
// SetNillableModelName sets the "model_name" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableModelName(s *string) *ModelUpdateOne {
if s != nil {
muo.SetModelName(*s)
}
return muo
}
// SetModelType sets the "model_type" field.
func (muo *ModelUpdateOne) SetModelType(ct consts.ModelType) *ModelUpdateOne {
muo.mutation.SetModelType(ct)
return muo
}
// SetNillableModelType sets the "model_type" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableModelType(ct *consts.ModelType) *ModelUpdateOne {
if ct != nil {
muo.SetModelType(*ct)
}
return muo
}
// SetShowName sets the "show_name" field.
func (muo *ModelUpdateOne) SetShowName(s string) *ModelUpdateOne {
muo.mutation.SetShowName(s)
return muo
}
// SetNillableShowName sets the "show_name" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableShowName(s *string) *ModelUpdateOne {
if s != nil {
muo.SetShowName(*s)
}
return muo
}
// ClearShowName clears the value of the "show_name" field.
func (muo *ModelUpdateOne) ClearShowName() *ModelUpdateOne {
muo.mutation.ClearShowName()
return muo
}
// SetAPIBase sets the "api_base" field.
func (muo *ModelUpdateOne) SetAPIBase(s string) *ModelUpdateOne {
muo.mutation.SetAPIBase(s)
return muo
}
// SetNillableAPIBase sets the "api_base" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableAPIBase(s *string) *ModelUpdateOne {
if s != nil {
muo.SetAPIBase(*s)
}
return muo
}
// SetAPIKey sets the "api_key" field.
func (muo *ModelUpdateOne) SetAPIKey(s string) *ModelUpdateOne {
muo.mutation.SetAPIKey(s)
return muo
}
// SetNillableAPIKey sets the "api_key" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableAPIKey(s *string) *ModelUpdateOne {
if s != nil {
muo.SetAPIKey(*s)
}
return muo
}
// ClearAPIKey clears the value of the "api_key" field.
func (muo *ModelUpdateOne) ClearAPIKey() *ModelUpdateOne {
muo.mutation.ClearAPIKey()
return muo
}
// SetAPIVersion sets the "api_version" field.
func (muo *ModelUpdateOne) SetAPIVersion(s string) *ModelUpdateOne {
muo.mutation.SetAPIVersion(s)
return muo
}
// SetNillableAPIVersion sets the "api_version" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableAPIVersion(s *string) *ModelUpdateOne {
if s != nil {
muo.SetAPIVersion(*s)
}
return muo
}
// ClearAPIVersion clears the value of the "api_version" field.
func (muo *ModelUpdateOne) ClearAPIVersion() *ModelUpdateOne {
muo.mutation.ClearAPIVersion()
return muo
}
// SetAPIHeader sets the "api_header" field.
func (muo *ModelUpdateOne) SetAPIHeader(s string) *ModelUpdateOne {
muo.mutation.SetAPIHeader(s)
return muo
}
// SetNillableAPIHeader sets the "api_header" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableAPIHeader(s *string) *ModelUpdateOne {
if s != nil {
muo.SetAPIHeader(*s)
}
return muo
}
// ClearAPIHeader clears the value of the "api_header" field.
func (muo *ModelUpdateOne) ClearAPIHeader() *ModelUpdateOne {
muo.mutation.ClearAPIHeader()
return muo
}
// SetDescription sets the "description" field.
func (muo *ModelUpdateOne) SetDescription(s string) *ModelUpdateOne {
muo.mutation.SetDescription(s)
return muo
}
// SetNillableDescription sets the "description" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableDescription(s *string) *ModelUpdateOne {
if s != nil {
muo.SetDescription(*s)
}
return muo
}
// ClearDescription clears the value of the "description" field.
func (muo *ModelUpdateOne) ClearDescription() *ModelUpdateOne {
muo.mutation.ClearDescription()
return muo
}
// SetIsInternal sets the "is_internal" field.
func (muo *ModelUpdateOne) SetIsInternal(b bool) *ModelUpdateOne {
muo.mutation.SetIsInternal(b)
return muo
}
// SetNillableIsInternal sets the "is_internal" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableIsInternal(b *bool) *ModelUpdateOne {
if b != nil {
muo.SetIsInternal(*b)
}
return muo
}
// SetProvider sets the "provider" field.
func (muo *ModelUpdateOne) SetProvider(cp consts.ModelProvider) *ModelUpdateOne {
muo.mutation.SetProvider(cp)
return muo
}
// SetNillableProvider sets the "provider" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableProvider(cp *consts.ModelProvider) *ModelUpdateOne {
if cp != nil {
muo.SetProvider(*cp)
}
return muo
}
// SetStatus sets the "status" field.
func (muo *ModelUpdateOne) SetStatus(cs consts.ModelStatus) *ModelUpdateOne {
muo.mutation.SetStatus(cs)
return muo
}
// SetNillableStatus sets the "status" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableStatus(cs *consts.ModelStatus) *ModelUpdateOne {
if cs != nil {
muo.SetStatus(*cs)
}
return muo
}
// SetParameters sets the "parameters" field.
func (muo *ModelUpdateOne) SetParameters(tp *types.ModelParam) *ModelUpdateOne {
muo.mutation.SetParameters(tp)
return muo
}
// ClearParameters clears the value of the "parameters" field.
func (muo *ModelUpdateOne) ClearParameters() *ModelUpdateOne {
muo.mutation.ClearParameters()
return muo
}
// SetContextLength sets the "context_length" field.
func (muo *ModelUpdateOne) SetContextLength(i int) *ModelUpdateOne {
muo.mutation.ResetContextLength()
muo.mutation.SetContextLength(i)
return muo
}
// SetNillableContextLength sets the "context_length" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableContextLength(i *int) *ModelUpdateOne {
if i != nil {
muo.SetContextLength(*i)
}
return muo
}
// AddContextLength adds i to the "context_length" field.
func (muo *ModelUpdateOne) AddContextLength(i int) *ModelUpdateOne {
muo.mutation.AddContextLength(i)
return muo
}
// ClearContextLength clears the value of the "context_length" field.
func (muo *ModelUpdateOne) ClearContextLength() *ModelUpdateOne {
muo.mutation.ClearContextLength()
return muo
}
// SetCreatedAt sets the "created_at" field.
func (muo *ModelUpdateOne) SetCreatedAt(t time.Time) *ModelUpdateOne {
muo.mutation.SetCreatedAt(t)
return muo
}
// SetNillableCreatedAt sets the "created_at" field if the given value is not nil.
func (muo *ModelUpdateOne) SetNillableCreatedAt(t *time.Time) *ModelUpdateOne {
if t != nil {
muo.SetCreatedAt(*t)
}
return muo
}
// SetUpdatedAt sets the "updated_at" field.
func (muo *ModelUpdateOne) SetUpdatedAt(t time.Time) *ModelUpdateOne {
muo.mutation.SetUpdatedAt(t)
return muo
}
// AddTaskIDs adds the "tasks" edge to the Task entity by IDs.
func (muo *ModelUpdateOne) AddTaskIDs(ids ...uuid.UUID) *ModelUpdateOne {
muo.mutation.AddTaskIDs(ids...)
return muo
}
// AddTasks adds the "tasks" edges to the Task entity.
func (muo *ModelUpdateOne) AddTasks(t ...*Task) *ModelUpdateOne {
ids := make([]uuid.UUID, len(t))
for i := range t {
ids[i] = t[i].ID
}
return muo.AddTaskIDs(ids...)
}
// SetUser sets the "user" edge to the User entity.
func (muo *ModelUpdateOne) SetUser(u *User) *ModelUpdateOne {
return muo.SetUserID(u.ID)
}
// Mutation returns the ModelMutation object of the builder.
func (muo *ModelUpdateOne) Mutation() *ModelMutation {
return muo.mutation
}
// ClearTasks clears all "tasks" edges to the Task entity.
func (muo *ModelUpdateOne) ClearTasks() *ModelUpdateOne {
muo.mutation.ClearTasks()
return muo
}
// RemoveTaskIDs removes the "tasks" edge to Task entities by IDs.
func (muo *ModelUpdateOne) RemoveTaskIDs(ids ...uuid.UUID) *ModelUpdateOne {
muo.mutation.RemoveTaskIDs(ids...)
return muo
}
// RemoveTasks removes "tasks" edges to Task entities.
func (muo *ModelUpdateOne) RemoveTasks(t ...*Task) *ModelUpdateOne {
ids := make([]uuid.UUID, len(t))
for i := range t {
ids[i] = t[i].ID
}
return muo.RemoveTaskIDs(ids...)
}
// ClearUser clears the "user" edge to the User entity.
func (muo *ModelUpdateOne) ClearUser() *ModelUpdateOne {
muo.mutation.ClearUser()
return muo
}
// Where appends a list predicates to the ModelUpdate builder.
func (muo *ModelUpdateOne) Where(ps ...predicate.Model) *ModelUpdateOne {
muo.mutation.Where(ps...)
return muo
}
// Select allows selecting one or more fields (columns) of the returned entity.
// The default is selecting all fields defined in the entity schema.
func (muo *ModelUpdateOne) Select(field string, fields ...string) *ModelUpdateOne {
muo.fields = append([]string{field}, fields...)
return muo
}
// Save executes the query and returns the updated Model entity.
func (muo *ModelUpdateOne) Save(ctx context.Context) (*Model, error) {
muo.defaults()
return withHooks(ctx, muo.sqlSave, muo.mutation, muo.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (muo *ModelUpdateOne) SaveX(ctx context.Context) *Model {
node, err := muo.Save(ctx)
if err != nil {
panic(err)
}
return node
}
// Exec executes the query on the entity.
func (muo *ModelUpdateOne) Exec(ctx context.Context) error {
_, err := muo.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (muo *ModelUpdateOne) ExecX(ctx context.Context) {
if err := muo.Exec(ctx); err != nil {
panic(err)
}
}
// defaults sets the default values of the builder before save.
func (muo *ModelUpdateOne) defaults() {
if _, ok := muo.mutation.UpdatedAt(); !ok {
v := model.UpdateDefaultUpdatedAt()
muo.mutation.SetUpdatedAt(v)
}
}
// Modify adds a statement modifier for attaching custom logic to the UPDATE statement.
func (muo *ModelUpdateOne) Modify(modifiers ...func(u *sql.UpdateBuilder)) *ModelUpdateOne {
muo.modifiers = append(muo.modifiers, modifiers...)
return muo
}
func (muo *ModelUpdateOne) sqlSave(ctx context.Context) (_node *Model, err error) {
_spec := sqlgraph.NewUpdateSpec(model.Table, model.Columns, sqlgraph.NewFieldSpec(model.FieldID, field.TypeUUID))
id, ok := muo.mutation.ID()
if !ok {
return nil, &ValidationError{Name: "id", err: errors.New(`db: missing "Model.id" for update`)}
}
_spec.Node.ID.Value = id
if fields := muo.fields; len(fields) > 0 {
_spec.Node.Columns = make([]string, 0, len(fields))
_spec.Node.Columns = append(_spec.Node.Columns, model.FieldID)
for _, f := range fields {
if !model.ValidColumn(f) {
return nil, &ValidationError{Name: f, err: fmt.Errorf("db: invalid field %q for query", f)}
}
if f != model.FieldID {
_spec.Node.Columns = append(_spec.Node.Columns, f)
}
}
}
if ps := muo.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := muo.mutation.ModelName(); ok {
_spec.SetField(model.FieldModelName, field.TypeString, value)
}
if value, ok := muo.mutation.ModelType(); ok {
_spec.SetField(model.FieldModelType, field.TypeString, value)
}
if value, ok := muo.mutation.ShowName(); ok {
_spec.SetField(model.FieldShowName, field.TypeString, value)
}
if muo.mutation.ShowNameCleared() {
_spec.ClearField(model.FieldShowName, field.TypeString)
}
if value, ok := muo.mutation.APIBase(); ok {
_spec.SetField(model.FieldAPIBase, field.TypeString, value)
}
if value, ok := muo.mutation.APIKey(); ok {
_spec.SetField(model.FieldAPIKey, field.TypeString, value)
}
if muo.mutation.APIKeyCleared() {
_spec.ClearField(model.FieldAPIKey, field.TypeString)
}
if value, ok := muo.mutation.APIVersion(); ok {
_spec.SetField(model.FieldAPIVersion, field.TypeString, value)
}
if muo.mutation.APIVersionCleared() {
_spec.ClearField(model.FieldAPIVersion, field.TypeString)
}
if value, ok := muo.mutation.APIHeader(); ok {
_spec.SetField(model.FieldAPIHeader, field.TypeString, value)
}
if muo.mutation.APIHeaderCleared() {
_spec.ClearField(model.FieldAPIHeader, field.TypeString)
}
if value, ok := muo.mutation.Description(); ok {
_spec.SetField(model.FieldDescription, field.TypeString, value)
}
if muo.mutation.DescriptionCleared() {
_spec.ClearField(model.FieldDescription, field.TypeString)
}
if value, ok := muo.mutation.IsInternal(); ok {
_spec.SetField(model.FieldIsInternal, field.TypeBool, value)
}
if value, ok := muo.mutation.Provider(); ok {
_spec.SetField(model.FieldProvider, field.TypeString, value)
}
if value, ok := muo.mutation.Status(); ok {
_spec.SetField(model.FieldStatus, field.TypeString, value)
}
if value, ok := muo.mutation.Parameters(); ok {
_spec.SetField(model.FieldParameters, field.TypeJSON, value)
}
if muo.mutation.ParametersCleared() {
_spec.ClearField(model.FieldParameters, field.TypeJSON)
}
if value, ok := muo.mutation.ContextLength(); ok {
_spec.SetField(model.FieldContextLength, field.TypeInt, value)
}
if value, ok := muo.mutation.AddedContextLength(); ok {
_spec.AddField(model.FieldContextLength, field.TypeInt, value)
}
if muo.mutation.ContextLengthCleared() {
_spec.ClearField(model.FieldContextLength, field.TypeInt)
}
if value, ok := muo.mutation.CreatedAt(); ok {
_spec.SetField(model.FieldCreatedAt, field.TypeTime, value)
}
if value, ok := muo.mutation.UpdatedAt(); ok {
_spec.SetField(model.FieldUpdatedAt, field.TypeTime, value)
}
if muo.mutation.TasksCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: model.TasksTable,
Columns: []string{model.TasksColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(task.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := muo.mutation.RemovedTasksIDs(); len(nodes) > 0 && !muo.mutation.TasksCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: model.TasksTable,
Columns: []string{model.TasksColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(task.FieldID, field.TypeUUID),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := muo.mutation.TasksIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: model.TasksTable,
Columns: []string{model.TasksColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(task.FieldID, field.TypeUUID),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if muo.mutation.UserCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: true,
Table: model.UserTable,
Columns: []string{model.UserColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := muo.mutation.UserIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2O,
Inverse: true,
Table: model.UserTable,
Columns: []string{model.UserColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(user.FieldID, field.TypeUUID),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
_spec.AddModifiers(muo.modifiers...)
_node = &Model{config: muo.config}
_spec.Assign = _node.assignValues
_spec.ScanValues = _node.scanValues
if err = sqlgraph.UpdateNode(ctx, muo.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{model.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return nil, err
}
muo.mutation.done = true
return _node, nil
}