2 Star 0 Fork 0

广东宇凌网络科技有限公司/simple-iot-basic-rpc

加入 Gitee
与超过 1400万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
company_update.go 24.68 KB
一键复制 编辑 原始数据 按行查看 历史
HienGee 提交于 2024-04-26 11:19 +08:00 . init
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873
// 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"
"gitee.com/yuLingNet/simple-iot-basic-rpc/ent/company"
"gitee.com/yuLingNet/simple-iot-basic-rpc/ent/device"
"gitee.com/yuLingNet/simple-iot-basic-rpc/ent/member"
"gitee.com/yuLingNet/simple-iot-basic-rpc/ent/predicate"
uuid "github.com/gofrs/uuid/v5"
)
// CompanyUpdate is the builder for updating Company entities.
type CompanyUpdate struct {
config
hooks []Hook
mutation *CompanyMutation
modifiers []func(*sql.UpdateBuilder)
}
// Where appends a list predicates to the CompanyUpdate builder.
func (cu *CompanyUpdate) Where(ps ...predicate.Company) *CompanyUpdate {
cu.mutation.Where(ps...)
return cu
}
// SetUpdatedAt sets the "updated_at" field.
func (cu *CompanyUpdate) SetUpdatedAt(t time.Time) *CompanyUpdate {
cu.mutation.SetUpdatedAt(t)
return cu
}
// SetStatus sets the "status" field.
func (cu *CompanyUpdate) SetStatus(u uint8) *CompanyUpdate {
cu.mutation.ResetStatus()
cu.mutation.SetStatus(u)
return cu
}
// SetNillableStatus sets the "status" field if the given value is not nil.
func (cu *CompanyUpdate) SetNillableStatus(u *uint8) *CompanyUpdate {
if u != nil {
cu.SetStatus(*u)
}
return cu
}
// AddStatus adds u to the "status" field.
func (cu *CompanyUpdate) AddStatus(u int8) *CompanyUpdate {
cu.mutation.AddStatus(u)
return cu
}
// ClearStatus clears the value of the "status" field.
func (cu *CompanyUpdate) ClearStatus() *CompanyUpdate {
cu.mutation.ClearStatus()
return cu
}
// SetSort sets the "sort" field.
func (cu *CompanyUpdate) SetSort(u uint32) *CompanyUpdate {
cu.mutation.ResetSort()
cu.mutation.SetSort(u)
return cu
}
// SetNillableSort sets the "sort" field if the given value is not nil.
func (cu *CompanyUpdate) SetNillableSort(u *uint32) *CompanyUpdate {
if u != nil {
cu.SetSort(*u)
}
return cu
}
// AddSort adds u to the "sort" field.
func (cu *CompanyUpdate) AddSort(u int32) *CompanyUpdate {
cu.mutation.AddSort(u)
return cu
}
// SetCode sets the "code" field.
func (cu *CompanyUpdate) SetCode(i int32) *CompanyUpdate {
cu.mutation.ResetCode()
cu.mutation.SetCode(i)
return cu
}
// SetNillableCode sets the "code" field if the given value is not nil.
func (cu *CompanyUpdate) SetNillableCode(i *int32) *CompanyUpdate {
if i != nil {
cu.SetCode(*i)
}
return cu
}
// AddCode adds i to the "code" field.
func (cu *CompanyUpdate) AddCode(i int32) *CompanyUpdate {
cu.mutation.AddCode(i)
return cu
}
// SetNickname sets the "nickname" field.
func (cu *CompanyUpdate) SetNickname(s string) *CompanyUpdate {
cu.mutation.SetNickname(s)
return cu
}
// SetNillableNickname sets the "nickname" field if the given value is not nil.
func (cu *CompanyUpdate) SetNillableNickname(s *string) *CompanyUpdate {
if s != nil {
cu.SetNickname(*s)
}
return cu
}
// SetAddress sets the "address" field.
func (cu *CompanyUpdate) SetAddress(s string) *CompanyUpdate {
cu.mutation.SetAddress(s)
return cu
}
// SetNillableAddress sets the "address" field if the given value is not nil.
func (cu *CompanyUpdate) SetNillableAddress(s *string) *CompanyUpdate {
if s != nil {
cu.SetAddress(*s)
}
return cu
}
// ClearAddress clears the value of the "address" field.
func (cu *CompanyUpdate) ClearAddress() *CompanyUpdate {
cu.mutation.ClearAddress()
return cu
}
// SetRemark sets the "remark" field.
func (cu *CompanyUpdate) SetRemark(s string) *CompanyUpdate {
cu.mutation.SetRemark(s)
return cu
}
// SetNillableRemark sets the "remark" field if the given value is not nil.
func (cu *CompanyUpdate) SetNillableRemark(s *string) *CompanyUpdate {
if s != nil {
cu.SetRemark(*s)
}
return cu
}
// ClearRemark clears the value of the "remark" field.
func (cu *CompanyUpdate) ClearRemark() *CompanyUpdate {
cu.mutation.ClearRemark()
return cu
}
// AddDeviceIDs adds the "devices" edge to the Device entity by IDs.
func (cu *CompanyUpdate) AddDeviceIDs(ids ...uuid.UUID) *CompanyUpdate {
cu.mutation.AddDeviceIDs(ids...)
return cu
}
// AddDevices adds the "devices" edges to the Device entity.
func (cu *CompanyUpdate) AddDevices(d ...*Device) *CompanyUpdate {
ids := make([]uuid.UUID, len(d))
for i := range d {
ids[i] = d[i].ID
}
return cu.AddDeviceIDs(ids...)
}
// AddMemberIDs adds the "members" edge to the Member entity by IDs.
func (cu *CompanyUpdate) AddMemberIDs(ids ...uuid.UUID) *CompanyUpdate {
cu.mutation.AddMemberIDs(ids...)
return cu
}
// AddMembers adds the "members" edges to the Member entity.
func (cu *CompanyUpdate) AddMembers(m ...*Member) *CompanyUpdate {
ids := make([]uuid.UUID, len(m))
for i := range m {
ids[i] = m[i].ID
}
return cu.AddMemberIDs(ids...)
}
// Mutation returns the CompanyMutation object of the builder.
func (cu *CompanyUpdate) Mutation() *CompanyMutation {
return cu.mutation
}
// ClearDevices clears all "devices" edges to the Device entity.
func (cu *CompanyUpdate) ClearDevices() *CompanyUpdate {
cu.mutation.ClearDevices()
return cu
}
// RemoveDeviceIDs removes the "devices" edge to Device entities by IDs.
func (cu *CompanyUpdate) RemoveDeviceIDs(ids ...uuid.UUID) *CompanyUpdate {
cu.mutation.RemoveDeviceIDs(ids...)
return cu
}
// RemoveDevices removes "devices" edges to Device entities.
func (cu *CompanyUpdate) RemoveDevices(d ...*Device) *CompanyUpdate {
ids := make([]uuid.UUID, len(d))
for i := range d {
ids[i] = d[i].ID
}
return cu.RemoveDeviceIDs(ids...)
}
// ClearMembers clears all "members" edges to the Member entity.
func (cu *CompanyUpdate) ClearMembers() *CompanyUpdate {
cu.mutation.ClearMembers()
return cu
}
// RemoveMemberIDs removes the "members" edge to Member entities by IDs.
func (cu *CompanyUpdate) RemoveMemberIDs(ids ...uuid.UUID) *CompanyUpdate {
cu.mutation.RemoveMemberIDs(ids...)
return cu
}
// RemoveMembers removes "members" edges to Member entities.
func (cu *CompanyUpdate) RemoveMembers(m ...*Member) *CompanyUpdate {
ids := make([]uuid.UUID, len(m))
for i := range m {
ids[i] = m[i].ID
}
return cu.RemoveMemberIDs(ids...)
}
// Save executes the query and returns the number of nodes affected by the update operation.
func (cu *CompanyUpdate) Save(ctx context.Context) (int, error) {
cu.defaults()
return withHooks(ctx, cu.sqlSave, cu.mutation, cu.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (cu *CompanyUpdate) SaveX(ctx context.Context) int {
affected, err := cu.Save(ctx)
if err != nil {
panic(err)
}
return affected
}
// Exec executes the query.
func (cu *CompanyUpdate) Exec(ctx context.Context) error {
_, err := cu.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (cu *CompanyUpdate) ExecX(ctx context.Context) {
if err := cu.Exec(ctx); err != nil {
panic(err)
}
}
// defaults sets the default values of the builder before save.
func (cu *CompanyUpdate) defaults() {
if _, ok := cu.mutation.UpdatedAt(); !ok {
v := company.UpdateDefaultUpdatedAt()
cu.mutation.SetUpdatedAt(v)
}
}
// Modify adds a statement modifier for attaching custom logic to the UPDATE statement.
func (cu *CompanyUpdate) Modify(modifiers ...func(u *sql.UpdateBuilder)) *CompanyUpdate {
cu.modifiers = append(cu.modifiers, modifiers...)
return cu
}
func (cu *CompanyUpdate) sqlSave(ctx context.Context) (n int, err error) {
_spec := sqlgraph.NewUpdateSpec(company.Table, company.Columns, sqlgraph.NewFieldSpec(company.FieldID, field.TypeUint64))
if ps := cu.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := cu.mutation.UpdatedAt(); ok {
_spec.SetField(company.FieldUpdatedAt, field.TypeTime, value)
}
if value, ok := cu.mutation.Status(); ok {
_spec.SetField(company.FieldStatus, field.TypeUint8, value)
}
if value, ok := cu.mutation.AddedStatus(); ok {
_spec.AddField(company.FieldStatus, field.TypeUint8, value)
}
if cu.mutation.StatusCleared() {
_spec.ClearField(company.FieldStatus, field.TypeUint8)
}
if value, ok := cu.mutation.Sort(); ok {
_spec.SetField(company.FieldSort, field.TypeUint32, value)
}
if value, ok := cu.mutation.AddedSort(); ok {
_spec.AddField(company.FieldSort, field.TypeUint32, value)
}
if value, ok := cu.mutation.Code(); ok {
_spec.SetField(company.FieldCode, field.TypeInt32, value)
}
if value, ok := cu.mutation.AddedCode(); ok {
_spec.AddField(company.FieldCode, field.TypeInt32, value)
}
if value, ok := cu.mutation.Nickname(); ok {
_spec.SetField(company.FieldNickname, field.TypeString, value)
}
if value, ok := cu.mutation.Address(); ok {
_spec.SetField(company.FieldAddress, field.TypeString, value)
}
if cu.mutation.AddressCleared() {
_spec.ClearField(company.FieldAddress, field.TypeString)
}
if value, ok := cu.mutation.Remark(); ok {
_spec.SetField(company.FieldRemark, field.TypeString, value)
}
if cu.mutation.RemarkCleared() {
_spec.ClearField(company.FieldRemark, field.TypeString)
}
if cu.mutation.DevicesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2M,
Inverse: false,
Table: company.DevicesTable,
Columns: company.DevicesPrimaryKey,
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(device.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := cu.mutation.RemovedDevicesIDs(); len(nodes) > 0 && !cu.mutation.DevicesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2M,
Inverse: false,
Table: company.DevicesTable,
Columns: company.DevicesPrimaryKey,
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(device.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 := cu.mutation.DevicesIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2M,
Inverse: false,
Table: company.DevicesTable,
Columns: company.DevicesPrimaryKey,
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(device.FieldID, field.TypeUUID),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if cu.mutation.MembersCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: company.MembersTable,
Columns: []string{company.MembersColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(member.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := cu.mutation.RemovedMembersIDs(); len(nodes) > 0 && !cu.mutation.MembersCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: company.MembersTable,
Columns: []string{company.MembersColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(member.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 := cu.mutation.MembersIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: company.MembersTable,
Columns: []string{company.MembersColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(member.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(cu.modifiers...)
if n, err = sqlgraph.UpdateNodes(ctx, cu.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{company.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return 0, err
}
cu.mutation.done = true
return n, nil
}
// CompanyUpdateOne is the builder for updating a single Company entity.
type CompanyUpdateOne struct {
config
fields []string
hooks []Hook
mutation *CompanyMutation
modifiers []func(*sql.UpdateBuilder)
}
// SetUpdatedAt sets the "updated_at" field.
func (cuo *CompanyUpdateOne) SetUpdatedAt(t time.Time) *CompanyUpdateOne {
cuo.mutation.SetUpdatedAt(t)
return cuo
}
// SetStatus sets the "status" field.
func (cuo *CompanyUpdateOne) SetStatus(u uint8) *CompanyUpdateOne {
cuo.mutation.ResetStatus()
cuo.mutation.SetStatus(u)
return cuo
}
// SetNillableStatus sets the "status" field if the given value is not nil.
func (cuo *CompanyUpdateOne) SetNillableStatus(u *uint8) *CompanyUpdateOne {
if u != nil {
cuo.SetStatus(*u)
}
return cuo
}
// AddStatus adds u to the "status" field.
func (cuo *CompanyUpdateOne) AddStatus(u int8) *CompanyUpdateOne {
cuo.mutation.AddStatus(u)
return cuo
}
// ClearStatus clears the value of the "status" field.
func (cuo *CompanyUpdateOne) ClearStatus() *CompanyUpdateOne {
cuo.mutation.ClearStatus()
return cuo
}
// SetSort sets the "sort" field.
func (cuo *CompanyUpdateOne) SetSort(u uint32) *CompanyUpdateOne {
cuo.mutation.ResetSort()
cuo.mutation.SetSort(u)
return cuo
}
// SetNillableSort sets the "sort" field if the given value is not nil.
func (cuo *CompanyUpdateOne) SetNillableSort(u *uint32) *CompanyUpdateOne {
if u != nil {
cuo.SetSort(*u)
}
return cuo
}
// AddSort adds u to the "sort" field.
func (cuo *CompanyUpdateOne) AddSort(u int32) *CompanyUpdateOne {
cuo.mutation.AddSort(u)
return cuo
}
// SetCode sets the "code" field.
func (cuo *CompanyUpdateOne) SetCode(i int32) *CompanyUpdateOne {
cuo.mutation.ResetCode()
cuo.mutation.SetCode(i)
return cuo
}
// SetNillableCode sets the "code" field if the given value is not nil.
func (cuo *CompanyUpdateOne) SetNillableCode(i *int32) *CompanyUpdateOne {
if i != nil {
cuo.SetCode(*i)
}
return cuo
}
// AddCode adds i to the "code" field.
func (cuo *CompanyUpdateOne) AddCode(i int32) *CompanyUpdateOne {
cuo.mutation.AddCode(i)
return cuo
}
// SetNickname sets the "nickname" field.
func (cuo *CompanyUpdateOne) SetNickname(s string) *CompanyUpdateOne {
cuo.mutation.SetNickname(s)
return cuo
}
// SetNillableNickname sets the "nickname" field if the given value is not nil.
func (cuo *CompanyUpdateOne) SetNillableNickname(s *string) *CompanyUpdateOne {
if s != nil {
cuo.SetNickname(*s)
}
return cuo
}
// SetAddress sets the "address" field.
func (cuo *CompanyUpdateOne) SetAddress(s string) *CompanyUpdateOne {
cuo.mutation.SetAddress(s)
return cuo
}
// SetNillableAddress sets the "address" field if the given value is not nil.
func (cuo *CompanyUpdateOne) SetNillableAddress(s *string) *CompanyUpdateOne {
if s != nil {
cuo.SetAddress(*s)
}
return cuo
}
// ClearAddress clears the value of the "address" field.
func (cuo *CompanyUpdateOne) ClearAddress() *CompanyUpdateOne {
cuo.mutation.ClearAddress()
return cuo
}
// SetRemark sets the "remark" field.
func (cuo *CompanyUpdateOne) SetRemark(s string) *CompanyUpdateOne {
cuo.mutation.SetRemark(s)
return cuo
}
// SetNillableRemark sets the "remark" field if the given value is not nil.
func (cuo *CompanyUpdateOne) SetNillableRemark(s *string) *CompanyUpdateOne {
if s != nil {
cuo.SetRemark(*s)
}
return cuo
}
// ClearRemark clears the value of the "remark" field.
func (cuo *CompanyUpdateOne) ClearRemark() *CompanyUpdateOne {
cuo.mutation.ClearRemark()
return cuo
}
// AddDeviceIDs adds the "devices" edge to the Device entity by IDs.
func (cuo *CompanyUpdateOne) AddDeviceIDs(ids ...uuid.UUID) *CompanyUpdateOne {
cuo.mutation.AddDeviceIDs(ids...)
return cuo
}
// AddDevices adds the "devices" edges to the Device entity.
func (cuo *CompanyUpdateOne) AddDevices(d ...*Device) *CompanyUpdateOne {
ids := make([]uuid.UUID, len(d))
for i := range d {
ids[i] = d[i].ID
}
return cuo.AddDeviceIDs(ids...)
}
// AddMemberIDs adds the "members" edge to the Member entity by IDs.
func (cuo *CompanyUpdateOne) AddMemberIDs(ids ...uuid.UUID) *CompanyUpdateOne {
cuo.mutation.AddMemberIDs(ids...)
return cuo
}
// AddMembers adds the "members" edges to the Member entity.
func (cuo *CompanyUpdateOne) AddMembers(m ...*Member) *CompanyUpdateOne {
ids := make([]uuid.UUID, len(m))
for i := range m {
ids[i] = m[i].ID
}
return cuo.AddMemberIDs(ids...)
}
// Mutation returns the CompanyMutation object of the builder.
func (cuo *CompanyUpdateOne) Mutation() *CompanyMutation {
return cuo.mutation
}
// ClearDevices clears all "devices" edges to the Device entity.
func (cuo *CompanyUpdateOne) ClearDevices() *CompanyUpdateOne {
cuo.mutation.ClearDevices()
return cuo
}
// RemoveDeviceIDs removes the "devices" edge to Device entities by IDs.
func (cuo *CompanyUpdateOne) RemoveDeviceIDs(ids ...uuid.UUID) *CompanyUpdateOne {
cuo.mutation.RemoveDeviceIDs(ids...)
return cuo
}
// RemoveDevices removes "devices" edges to Device entities.
func (cuo *CompanyUpdateOne) RemoveDevices(d ...*Device) *CompanyUpdateOne {
ids := make([]uuid.UUID, len(d))
for i := range d {
ids[i] = d[i].ID
}
return cuo.RemoveDeviceIDs(ids...)
}
// ClearMembers clears all "members" edges to the Member entity.
func (cuo *CompanyUpdateOne) ClearMembers() *CompanyUpdateOne {
cuo.mutation.ClearMembers()
return cuo
}
// RemoveMemberIDs removes the "members" edge to Member entities by IDs.
func (cuo *CompanyUpdateOne) RemoveMemberIDs(ids ...uuid.UUID) *CompanyUpdateOne {
cuo.mutation.RemoveMemberIDs(ids...)
return cuo
}
// RemoveMembers removes "members" edges to Member entities.
func (cuo *CompanyUpdateOne) RemoveMembers(m ...*Member) *CompanyUpdateOne {
ids := make([]uuid.UUID, len(m))
for i := range m {
ids[i] = m[i].ID
}
return cuo.RemoveMemberIDs(ids...)
}
// Where appends a list predicates to the CompanyUpdate builder.
func (cuo *CompanyUpdateOne) Where(ps ...predicate.Company) *CompanyUpdateOne {
cuo.mutation.Where(ps...)
return cuo
}
// Select allows selecting one or more fields (columns) of the returned entity.
// The default is selecting all fields defined in the entity schema.
func (cuo *CompanyUpdateOne) Select(field string, fields ...string) *CompanyUpdateOne {
cuo.fields = append([]string{field}, fields...)
return cuo
}
// Save executes the query and returns the updated Company entity.
func (cuo *CompanyUpdateOne) Save(ctx context.Context) (*Company, error) {
cuo.defaults()
return withHooks(ctx, cuo.sqlSave, cuo.mutation, cuo.hooks)
}
// SaveX is like Save, but panics if an error occurs.
func (cuo *CompanyUpdateOne) SaveX(ctx context.Context) *Company {
node, err := cuo.Save(ctx)
if err != nil {
panic(err)
}
return node
}
// Exec executes the query on the entity.
func (cuo *CompanyUpdateOne) Exec(ctx context.Context) error {
_, err := cuo.Save(ctx)
return err
}
// ExecX is like Exec, but panics if an error occurs.
func (cuo *CompanyUpdateOne) ExecX(ctx context.Context) {
if err := cuo.Exec(ctx); err != nil {
panic(err)
}
}
// defaults sets the default values of the builder before save.
func (cuo *CompanyUpdateOne) defaults() {
if _, ok := cuo.mutation.UpdatedAt(); !ok {
v := company.UpdateDefaultUpdatedAt()
cuo.mutation.SetUpdatedAt(v)
}
}
// Modify adds a statement modifier for attaching custom logic to the UPDATE statement.
func (cuo *CompanyUpdateOne) Modify(modifiers ...func(u *sql.UpdateBuilder)) *CompanyUpdateOne {
cuo.modifiers = append(cuo.modifiers, modifiers...)
return cuo
}
func (cuo *CompanyUpdateOne) sqlSave(ctx context.Context) (_node *Company, err error) {
_spec := sqlgraph.NewUpdateSpec(company.Table, company.Columns, sqlgraph.NewFieldSpec(company.FieldID, field.TypeUint64))
id, ok := cuo.mutation.ID()
if !ok {
return nil, &ValidationError{Name: "id", err: errors.New(`ent: missing "Company.id" for update`)}
}
_spec.Node.ID.Value = id
if fields := cuo.fields; len(fields) > 0 {
_spec.Node.Columns = make([]string, 0, len(fields))
_spec.Node.Columns = append(_spec.Node.Columns, company.FieldID)
for _, f := range fields {
if !company.ValidColumn(f) {
return nil, &ValidationError{Name: f, err: fmt.Errorf("ent: invalid field %q for query", f)}
}
if f != company.FieldID {
_spec.Node.Columns = append(_spec.Node.Columns, f)
}
}
}
if ps := cuo.mutation.predicates; len(ps) > 0 {
_spec.Predicate = func(selector *sql.Selector) {
for i := range ps {
ps[i](selector)
}
}
}
if value, ok := cuo.mutation.UpdatedAt(); ok {
_spec.SetField(company.FieldUpdatedAt, field.TypeTime, value)
}
if value, ok := cuo.mutation.Status(); ok {
_spec.SetField(company.FieldStatus, field.TypeUint8, value)
}
if value, ok := cuo.mutation.AddedStatus(); ok {
_spec.AddField(company.FieldStatus, field.TypeUint8, value)
}
if cuo.mutation.StatusCleared() {
_spec.ClearField(company.FieldStatus, field.TypeUint8)
}
if value, ok := cuo.mutation.Sort(); ok {
_spec.SetField(company.FieldSort, field.TypeUint32, value)
}
if value, ok := cuo.mutation.AddedSort(); ok {
_spec.AddField(company.FieldSort, field.TypeUint32, value)
}
if value, ok := cuo.mutation.Code(); ok {
_spec.SetField(company.FieldCode, field.TypeInt32, value)
}
if value, ok := cuo.mutation.AddedCode(); ok {
_spec.AddField(company.FieldCode, field.TypeInt32, value)
}
if value, ok := cuo.mutation.Nickname(); ok {
_spec.SetField(company.FieldNickname, field.TypeString, value)
}
if value, ok := cuo.mutation.Address(); ok {
_spec.SetField(company.FieldAddress, field.TypeString, value)
}
if cuo.mutation.AddressCleared() {
_spec.ClearField(company.FieldAddress, field.TypeString)
}
if value, ok := cuo.mutation.Remark(); ok {
_spec.SetField(company.FieldRemark, field.TypeString, value)
}
if cuo.mutation.RemarkCleared() {
_spec.ClearField(company.FieldRemark, field.TypeString)
}
if cuo.mutation.DevicesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2M,
Inverse: false,
Table: company.DevicesTable,
Columns: company.DevicesPrimaryKey,
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(device.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := cuo.mutation.RemovedDevicesIDs(); len(nodes) > 0 && !cuo.mutation.DevicesCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2M,
Inverse: false,
Table: company.DevicesTable,
Columns: company.DevicesPrimaryKey,
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(device.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 := cuo.mutation.DevicesIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.M2M,
Inverse: false,
Table: company.DevicesTable,
Columns: company.DevicesPrimaryKey,
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(device.FieldID, field.TypeUUID),
},
}
for _, k := range nodes {
edge.Target.Nodes = append(edge.Target.Nodes, k)
}
_spec.Edges.Add = append(_spec.Edges.Add, edge)
}
if cuo.mutation.MembersCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: company.MembersTable,
Columns: []string{company.MembersColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(member.FieldID, field.TypeUUID),
},
}
_spec.Edges.Clear = append(_spec.Edges.Clear, edge)
}
if nodes := cuo.mutation.RemovedMembersIDs(); len(nodes) > 0 && !cuo.mutation.MembersCleared() {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: company.MembersTable,
Columns: []string{company.MembersColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(member.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 := cuo.mutation.MembersIDs(); len(nodes) > 0 {
edge := &sqlgraph.EdgeSpec{
Rel: sqlgraph.O2M,
Inverse: false,
Table: company.MembersTable,
Columns: []string{company.MembersColumn},
Bidi: false,
Target: &sqlgraph.EdgeTarget{
IDSpec: sqlgraph.NewFieldSpec(member.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(cuo.modifiers...)
_node = &Company{config: cuo.config}
_spec.Assign = _node.assignValues
_spec.ScanValues = _node.scanValues
if err = sqlgraph.UpdateNode(ctx, cuo.driver, _spec); err != nil {
if _, ok := err.(*sqlgraph.NotFoundError); ok {
err = &NotFoundError{company.Label}
} else if sqlgraph.IsConstraintError(err) {
err = &ConstraintError{msg: err.Error(), wrap: err}
}
return nil, err
}
cuo.mutation.done = true
return _node, nil
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/yuLingNet/simple-iot-basic-rpc.git
git@gitee.com:yuLingNet/simple-iot-basic-rpc.git
yuLingNet
simple-iot-basic-rpc
simple-iot-basic-rpc
ca5a4cf0cee7

搜索帮助