nidus-sync/models/fs_proposedtreatmentarea.bob.go

1481 lines
46 KiB
Go
Raw Normal View History

// Code generated by BobGen psql v0.41.1. DO NOT EDIT.
// This file is meant to be re-generated in place and/or deleted at any time.
package models
import (
"context"
"fmt"
"io"
"time"
"github.com/aarondl/opt/null"
"github.com/aarondl/opt/omit"
"github.com/aarondl/opt/omitnull"
"github.com/stephenafamo/bob"
"github.com/stephenafamo/bob/dialect/psql"
"github.com/stephenafamo/bob/dialect/psql/dialect"
"github.com/stephenafamo/bob/dialect/psql/dm"
"github.com/stephenafamo/bob/dialect/psql/sm"
"github.com/stephenafamo/bob/dialect/psql/um"
"github.com/stephenafamo/bob/expr"
"github.com/stephenafamo/bob/mods"
"github.com/stephenafamo/bob/orm"
"github.com/stephenafamo/bob/types/pgtypes"
)
// FSProposedtreatmentarea is an object representing the database table.
type FSProposedtreatmentarea struct {
OrganizationID int32 `db:"organization_id" `
Acres null.Val[float64] `db:"acres" `
Comments null.Val[string] `db:"comments" `
Completed null.Val[int16] `db:"completed" `
Completedby null.Val[string] `db:"completedby" `
Completeddate null.Val[int64] `db:"completeddate" `
Creationdate null.Val[int64] `db:"creationdate" `
Creator null.Val[string] `db:"creator" `
Duedate null.Val[int64] `db:"duedate" `
Exported null.Val[int16] `db:"exported" `
Editdate null.Val[int64] `db:"editdate" `
Editor null.Val[string] `db:"editor" `
Globalid string `db:"globalid" `
Hectares null.Val[float64] `db:"hectares" `
Issprayroute null.Val[int16] `db:"issprayroute" `
Lasttreatactivity null.Val[string] `db:"lasttreatactivity" `
Lasttreatdate null.Val[int64] `db:"lasttreatdate" `
Lasttreatproduct null.Val[string] `db:"lasttreatproduct" `
Lasttreatqty null.Val[float64] `db:"lasttreatqty" `
Lasttreatqtyunit null.Val[string] `db:"lasttreatqtyunit" `
Method null.Val[string] `db:"method" `
Name null.Val[string] `db:"name" `
Objectid int32 `db:"objectid,pk" `
Priority null.Val[string] `db:"priority" `
Reviewed null.Val[int16] `db:"reviewed" `
Reviewedby null.Val[string] `db:"reviewedby" `
Revieweddate null.Val[int64] `db:"revieweddate" `
ShapeArea null.Val[float64] `db:"shape__area" `
ShapeLength null.Val[float64] `db:"shape__length" `
Targetapprate null.Val[float64] `db:"targetapprate" `
Targetproduct null.Val[string] `db:"targetproduct" `
Targetspecies null.Val[string] `db:"targetspecies" `
Zone null.Val[string] `db:"zone" `
Zone2 null.Val[string] `db:"zone2" `
GeometryX null.Val[float64] `db:"geometry_x" `
GeometryY null.Val[float64] `db:"geometry_y" `
Updated time.Time `db:"updated" `
R fsProposedtreatmentareaR `db:"-" `
}
// FSProposedtreatmentareaSlice is an alias for a slice of pointers to FSProposedtreatmentarea.
// This should almost always be used instead of []*FSProposedtreatmentarea.
type FSProposedtreatmentareaSlice []*FSProposedtreatmentarea
// FSProposedtreatmentareas contains methods to work with the fs_proposedtreatmentarea table
var FSProposedtreatmentareas = psql.NewTablex[*FSProposedtreatmentarea, FSProposedtreatmentareaSlice, *FSProposedtreatmentareaSetter]("", "fs_proposedtreatmentarea", buildFSProposedtreatmentareaColumns("fs_proposedtreatmentarea"))
// FSProposedtreatmentareasQuery is a query on the fs_proposedtreatmentarea table
type FSProposedtreatmentareasQuery = *psql.ViewQuery[*FSProposedtreatmentarea, FSProposedtreatmentareaSlice]
// fsProposedtreatmentareaR is where relationships are stored.
type fsProposedtreatmentareaR struct {
Organization *Organization // fs_proposedtreatmentarea.fs_proposedtreatmentarea_organization_id_fkey
}
func buildFSProposedtreatmentareaColumns(alias string) fsProposedtreatmentareaColumns {
return fsProposedtreatmentareaColumns{
ColumnsExpr: expr.NewColumnsExpr(
"organization_id", "acres", "comments", "completed", "completedby", "completeddate", "creationdate", "creator", "duedate", "exported", "editdate", "editor", "globalid", "hectares", "issprayroute", "lasttreatactivity", "lasttreatdate", "lasttreatproduct", "lasttreatqty", "lasttreatqtyunit", "method", "name", "objectid", "priority", "reviewed", "reviewedby", "revieweddate", "shape__area", "shape__length", "targetapprate", "targetproduct", "targetspecies", "zone", "zone2", "geometry_x", "geometry_y", "updated",
).WithParent("fs_proposedtreatmentarea"),
tableAlias: alias,
OrganizationID: psql.Quote(alias, "organization_id"),
Acres: psql.Quote(alias, "acres"),
Comments: psql.Quote(alias, "comments"),
Completed: psql.Quote(alias, "completed"),
Completedby: psql.Quote(alias, "completedby"),
Completeddate: psql.Quote(alias, "completeddate"),
Creationdate: psql.Quote(alias, "creationdate"),
Creator: psql.Quote(alias, "creator"),
Duedate: psql.Quote(alias, "duedate"),
Exported: psql.Quote(alias, "exported"),
Editdate: psql.Quote(alias, "editdate"),
Editor: psql.Quote(alias, "editor"),
Globalid: psql.Quote(alias, "globalid"),
Hectares: psql.Quote(alias, "hectares"),
Issprayroute: psql.Quote(alias, "issprayroute"),
Lasttreatactivity: psql.Quote(alias, "lasttreatactivity"),
Lasttreatdate: psql.Quote(alias, "lasttreatdate"),
Lasttreatproduct: psql.Quote(alias, "lasttreatproduct"),
Lasttreatqty: psql.Quote(alias, "lasttreatqty"),
Lasttreatqtyunit: psql.Quote(alias, "lasttreatqtyunit"),
Method: psql.Quote(alias, "method"),
Name: psql.Quote(alias, "name"),
Objectid: psql.Quote(alias, "objectid"),
Priority: psql.Quote(alias, "priority"),
Reviewed: psql.Quote(alias, "reviewed"),
Reviewedby: psql.Quote(alias, "reviewedby"),
Revieweddate: psql.Quote(alias, "revieweddate"),
ShapeArea: psql.Quote(alias, "shape__area"),
ShapeLength: psql.Quote(alias, "shape__length"),
Targetapprate: psql.Quote(alias, "targetapprate"),
Targetproduct: psql.Quote(alias, "targetproduct"),
Targetspecies: psql.Quote(alias, "targetspecies"),
Zone: psql.Quote(alias, "zone"),
Zone2: psql.Quote(alias, "zone2"),
GeometryX: psql.Quote(alias, "geometry_x"),
GeometryY: psql.Quote(alias, "geometry_y"),
Updated: psql.Quote(alias, "updated"),
}
}
type fsProposedtreatmentareaColumns struct {
expr.ColumnsExpr
tableAlias string
OrganizationID psql.Expression
Acres psql.Expression
Comments psql.Expression
Completed psql.Expression
Completedby psql.Expression
Completeddate psql.Expression
Creationdate psql.Expression
Creator psql.Expression
Duedate psql.Expression
Exported psql.Expression
Editdate psql.Expression
Editor psql.Expression
Globalid psql.Expression
Hectares psql.Expression
Issprayroute psql.Expression
Lasttreatactivity psql.Expression
Lasttreatdate psql.Expression
Lasttreatproduct psql.Expression
Lasttreatqty psql.Expression
Lasttreatqtyunit psql.Expression
Method psql.Expression
Name psql.Expression
Objectid psql.Expression
Priority psql.Expression
Reviewed psql.Expression
Reviewedby psql.Expression
Revieweddate psql.Expression
ShapeArea psql.Expression
ShapeLength psql.Expression
Targetapprate psql.Expression
Targetproduct psql.Expression
Targetspecies psql.Expression
Zone psql.Expression
Zone2 psql.Expression
GeometryX psql.Expression
GeometryY psql.Expression
Updated psql.Expression
}
func (c fsProposedtreatmentareaColumns) Alias() string {
return c.tableAlias
}
func (fsProposedtreatmentareaColumns) AliasedAs(alias string) fsProposedtreatmentareaColumns {
return buildFSProposedtreatmentareaColumns(alias)
}
// FSProposedtreatmentareaSetter is used for insert/upsert/update operations
// All values are optional, and do not have to be set
// Generated columns are not included
type FSProposedtreatmentareaSetter struct {
OrganizationID omit.Val[int32] `db:"organization_id" `
Acres omitnull.Val[float64] `db:"acres" `
Comments omitnull.Val[string] `db:"comments" `
Completed omitnull.Val[int16] `db:"completed" `
Completedby omitnull.Val[string] `db:"completedby" `
Completeddate omitnull.Val[int64] `db:"completeddate" `
Creationdate omitnull.Val[int64] `db:"creationdate" `
Creator omitnull.Val[string] `db:"creator" `
Duedate omitnull.Val[int64] `db:"duedate" `
Exported omitnull.Val[int16] `db:"exported" `
Editdate omitnull.Val[int64] `db:"editdate" `
Editor omitnull.Val[string] `db:"editor" `
Globalid omit.Val[string] `db:"globalid" `
Hectares omitnull.Val[float64] `db:"hectares" `
Issprayroute omitnull.Val[int16] `db:"issprayroute" `
Lasttreatactivity omitnull.Val[string] `db:"lasttreatactivity" `
Lasttreatdate omitnull.Val[int64] `db:"lasttreatdate" `
Lasttreatproduct omitnull.Val[string] `db:"lasttreatproduct" `
Lasttreatqty omitnull.Val[float64] `db:"lasttreatqty" `
Lasttreatqtyunit omitnull.Val[string] `db:"lasttreatqtyunit" `
Method omitnull.Val[string] `db:"method" `
Name omitnull.Val[string] `db:"name" `
Objectid omit.Val[int32] `db:"objectid,pk" `
Priority omitnull.Val[string] `db:"priority" `
Reviewed omitnull.Val[int16] `db:"reviewed" `
Reviewedby omitnull.Val[string] `db:"reviewedby" `
Revieweddate omitnull.Val[int64] `db:"revieweddate" `
ShapeArea omitnull.Val[float64] `db:"shape__area" `
ShapeLength omitnull.Val[float64] `db:"shape__length" `
Targetapprate omitnull.Val[float64] `db:"targetapprate" `
Targetproduct omitnull.Val[string] `db:"targetproduct" `
Targetspecies omitnull.Val[string] `db:"targetspecies" `
Zone omitnull.Val[string] `db:"zone" `
Zone2 omitnull.Val[string] `db:"zone2" `
GeometryX omitnull.Val[float64] `db:"geometry_x" `
GeometryY omitnull.Val[float64] `db:"geometry_y" `
Updated omit.Val[time.Time] `db:"updated" `
}
func (s FSProposedtreatmentareaSetter) SetColumns() []string {
vals := make([]string, 0, 37)
if s.OrganizationID.IsValue() {
vals = append(vals, "organization_id")
}
if !s.Acres.IsUnset() {
vals = append(vals, "acres")
}
if !s.Comments.IsUnset() {
vals = append(vals, "comments")
}
if !s.Completed.IsUnset() {
vals = append(vals, "completed")
}
if !s.Completedby.IsUnset() {
vals = append(vals, "completedby")
}
if !s.Completeddate.IsUnset() {
vals = append(vals, "completeddate")
}
if !s.Creationdate.IsUnset() {
vals = append(vals, "creationdate")
}
if !s.Creator.IsUnset() {
vals = append(vals, "creator")
}
if !s.Duedate.IsUnset() {
vals = append(vals, "duedate")
}
if !s.Exported.IsUnset() {
vals = append(vals, "exported")
}
if !s.Editdate.IsUnset() {
vals = append(vals, "editdate")
}
if !s.Editor.IsUnset() {
vals = append(vals, "editor")
}
if s.Globalid.IsValue() {
vals = append(vals, "globalid")
}
if !s.Hectares.IsUnset() {
vals = append(vals, "hectares")
}
if !s.Issprayroute.IsUnset() {
vals = append(vals, "issprayroute")
}
if !s.Lasttreatactivity.IsUnset() {
vals = append(vals, "lasttreatactivity")
}
if !s.Lasttreatdate.IsUnset() {
vals = append(vals, "lasttreatdate")
}
if !s.Lasttreatproduct.IsUnset() {
vals = append(vals, "lasttreatproduct")
}
if !s.Lasttreatqty.IsUnset() {
vals = append(vals, "lasttreatqty")
}
if !s.Lasttreatqtyunit.IsUnset() {
vals = append(vals, "lasttreatqtyunit")
}
if !s.Method.IsUnset() {
vals = append(vals, "method")
}
if !s.Name.IsUnset() {
vals = append(vals, "name")
}
if s.Objectid.IsValue() {
vals = append(vals, "objectid")
}
if !s.Priority.IsUnset() {
vals = append(vals, "priority")
}
if !s.Reviewed.IsUnset() {
vals = append(vals, "reviewed")
}
if !s.Reviewedby.IsUnset() {
vals = append(vals, "reviewedby")
}
if !s.Revieweddate.IsUnset() {
vals = append(vals, "revieweddate")
}
if !s.ShapeArea.IsUnset() {
vals = append(vals, "shape__area")
}
if !s.ShapeLength.IsUnset() {
vals = append(vals, "shape__length")
}
if !s.Targetapprate.IsUnset() {
vals = append(vals, "targetapprate")
}
if !s.Targetproduct.IsUnset() {
vals = append(vals, "targetproduct")
}
if !s.Targetspecies.IsUnset() {
vals = append(vals, "targetspecies")
}
if !s.Zone.IsUnset() {
vals = append(vals, "zone")
}
if !s.Zone2.IsUnset() {
vals = append(vals, "zone2")
}
if !s.GeometryX.IsUnset() {
vals = append(vals, "geometry_x")
}
if !s.GeometryY.IsUnset() {
vals = append(vals, "geometry_y")
}
if s.Updated.IsValue() {
vals = append(vals, "updated")
}
return vals
}
func (s FSProposedtreatmentareaSetter) Overwrite(t *FSProposedtreatmentarea) {
if s.OrganizationID.IsValue() {
t.OrganizationID = s.OrganizationID.MustGet()
}
if !s.Acres.IsUnset() {
t.Acres = s.Acres.MustGetNull()
}
if !s.Comments.IsUnset() {
t.Comments = s.Comments.MustGetNull()
}
if !s.Completed.IsUnset() {
t.Completed = s.Completed.MustGetNull()
}
if !s.Completedby.IsUnset() {
t.Completedby = s.Completedby.MustGetNull()
}
if !s.Completeddate.IsUnset() {
t.Completeddate = s.Completeddate.MustGetNull()
}
if !s.Creationdate.IsUnset() {
t.Creationdate = s.Creationdate.MustGetNull()
}
if !s.Creator.IsUnset() {
t.Creator = s.Creator.MustGetNull()
}
if !s.Duedate.IsUnset() {
t.Duedate = s.Duedate.MustGetNull()
}
if !s.Exported.IsUnset() {
t.Exported = s.Exported.MustGetNull()
}
if !s.Editdate.IsUnset() {
t.Editdate = s.Editdate.MustGetNull()
}
if !s.Editor.IsUnset() {
t.Editor = s.Editor.MustGetNull()
}
if s.Globalid.IsValue() {
t.Globalid = s.Globalid.MustGet()
}
if !s.Hectares.IsUnset() {
t.Hectares = s.Hectares.MustGetNull()
}
if !s.Issprayroute.IsUnset() {
t.Issprayroute = s.Issprayroute.MustGetNull()
}
if !s.Lasttreatactivity.IsUnset() {
t.Lasttreatactivity = s.Lasttreatactivity.MustGetNull()
}
if !s.Lasttreatdate.IsUnset() {
t.Lasttreatdate = s.Lasttreatdate.MustGetNull()
}
if !s.Lasttreatproduct.IsUnset() {
t.Lasttreatproduct = s.Lasttreatproduct.MustGetNull()
}
if !s.Lasttreatqty.IsUnset() {
t.Lasttreatqty = s.Lasttreatqty.MustGetNull()
}
if !s.Lasttreatqtyunit.IsUnset() {
t.Lasttreatqtyunit = s.Lasttreatqtyunit.MustGetNull()
}
if !s.Method.IsUnset() {
t.Method = s.Method.MustGetNull()
}
if !s.Name.IsUnset() {
t.Name = s.Name.MustGetNull()
}
if s.Objectid.IsValue() {
t.Objectid = s.Objectid.MustGet()
}
if !s.Priority.IsUnset() {
t.Priority = s.Priority.MustGetNull()
}
if !s.Reviewed.IsUnset() {
t.Reviewed = s.Reviewed.MustGetNull()
}
if !s.Reviewedby.IsUnset() {
t.Reviewedby = s.Reviewedby.MustGetNull()
}
if !s.Revieweddate.IsUnset() {
t.Revieweddate = s.Revieweddate.MustGetNull()
}
if !s.ShapeArea.IsUnset() {
t.ShapeArea = s.ShapeArea.MustGetNull()
}
if !s.ShapeLength.IsUnset() {
t.ShapeLength = s.ShapeLength.MustGetNull()
}
if !s.Targetapprate.IsUnset() {
t.Targetapprate = s.Targetapprate.MustGetNull()
}
if !s.Targetproduct.IsUnset() {
t.Targetproduct = s.Targetproduct.MustGetNull()
}
if !s.Targetspecies.IsUnset() {
t.Targetspecies = s.Targetspecies.MustGetNull()
}
if !s.Zone.IsUnset() {
t.Zone = s.Zone.MustGetNull()
}
if !s.Zone2.IsUnset() {
t.Zone2 = s.Zone2.MustGetNull()
}
if !s.GeometryX.IsUnset() {
t.GeometryX = s.GeometryX.MustGetNull()
}
if !s.GeometryY.IsUnset() {
t.GeometryY = s.GeometryY.MustGetNull()
}
if s.Updated.IsValue() {
t.Updated = s.Updated.MustGet()
}
}
func (s *FSProposedtreatmentareaSetter) Apply(q *dialect.InsertQuery) {
q.AppendHooks(func(ctx context.Context, exec bob.Executor) (context.Context, error) {
return FSProposedtreatmentareas.BeforeInsertHooks.RunHooks(ctx, exec, s)
})
q.AppendValues(bob.ExpressionFunc(func(ctx context.Context, w io.Writer, d bob.Dialect, start int) ([]any, error) {
vals := make([]bob.Expression, 37)
if s.OrganizationID.IsValue() {
vals[0] = psql.Arg(s.OrganizationID.MustGet())
} else {
vals[0] = psql.Raw("DEFAULT")
}
if !s.Acres.IsUnset() {
vals[1] = psql.Arg(s.Acres.MustGetNull())
} else {
vals[1] = psql.Raw("DEFAULT")
}
if !s.Comments.IsUnset() {
vals[2] = psql.Arg(s.Comments.MustGetNull())
} else {
vals[2] = psql.Raw("DEFAULT")
}
if !s.Completed.IsUnset() {
vals[3] = psql.Arg(s.Completed.MustGetNull())
} else {
vals[3] = psql.Raw("DEFAULT")
}
if !s.Completedby.IsUnset() {
vals[4] = psql.Arg(s.Completedby.MustGetNull())
} else {
vals[4] = psql.Raw("DEFAULT")
}
if !s.Completeddate.IsUnset() {
vals[5] = psql.Arg(s.Completeddate.MustGetNull())
} else {
vals[5] = psql.Raw("DEFAULT")
}
if !s.Creationdate.IsUnset() {
vals[6] = psql.Arg(s.Creationdate.MustGetNull())
} else {
vals[6] = psql.Raw("DEFAULT")
}
if !s.Creator.IsUnset() {
vals[7] = psql.Arg(s.Creator.MustGetNull())
} else {
vals[7] = psql.Raw("DEFAULT")
}
if !s.Duedate.IsUnset() {
vals[8] = psql.Arg(s.Duedate.MustGetNull())
} else {
vals[8] = psql.Raw("DEFAULT")
}
if !s.Exported.IsUnset() {
vals[9] = psql.Arg(s.Exported.MustGetNull())
} else {
vals[9] = psql.Raw("DEFAULT")
}
if !s.Editdate.IsUnset() {
vals[10] = psql.Arg(s.Editdate.MustGetNull())
} else {
vals[10] = psql.Raw("DEFAULT")
}
if !s.Editor.IsUnset() {
vals[11] = psql.Arg(s.Editor.MustGetNull())
} else {
vals[11] = psql.Raw("DEFAULT")
}
if s.Globalid.IsValue() {
vals[12] = psql.Arg(s.Globalid.MustGet())
} else {
vals[12] = psql.Raw("DEFAULT")
}
if !s.Hectares.IsUnset() {
vals[13] = psql.Arg(s.Hectares.MustGetNull())
} else {
vals[13] = psql.Raw("DEFAULT")
}
if !s.Issprayroute.IsUnset() {
vals[14] = psql.Arg(s.Issprayroute.MustGetNull())
} else {
vals[14] = psql.Raw("DEFAULT")
}
if !s.Lasttreatactivity.IsUnset() {
vals[15] = psql.Arg(s.Lasttreatactivity.MustGetNull())
} else {
vals[15] = psql.Raw("DEFAULT")
}
if !s.Lasttreatdate.IsUnset() {
vals[16] = psql.Arg(s.Lasttreatdate.MustGetNull())
} else {
vals[16] = psql.Raw("DEFAULT")
}
if !s.Lasttreatproduct.IsUnset() {
vals[17] = psql.Arg(s.Lasttreatproduct.MustGetNull())
} else {
vals[17] = psql.Raw("DEFAULT")
}
if !s.Lasttreatqty.IsUnset() {
vals[18] = psql.Arg(s.Lasttreatqty.MustGetNull())
} else {
vals[18] = psql.Raw("DEFAULT")
}
if !s.Lasttreatqtyunit.IsUnset() {
vals[19] = psql.Arg(s.Lasttreatqtyunit.MustGetNull())
} else {
vals[19] = psql.Raw("DEFAULT")
}
if !s.Method.IsUnset() {
vals[20] = psql.Arg(s.Method.MustGetNull())
} else {
vals[20] = psql.Raw("DEFAULT")
}
if !s.Name.IsUnset() {
vals[21] = psql.Arg(s.Name.MustGetNull())
} else {
vals[21] = psql.Raw("DEFAULT")
}
if s.Objectid.IsValue() {
vals[22] = psql.Arg(s.Objectid.MustGet())
} else {
vals[22] = psql.Raw("DEFAULT")
}
if !s.Priority.IsUnset() {
vals[23] = psql.Arg(s.Priority.MustGetNull())
} else {
vals[23] = psql.Raw("DEFAULT")
}
if !s.Reviewed.IsUnset() {
vals[24] = psql.Arg(s.Reviewed.MustGetNull())
} else {
vals[24] = psql.Raw("DEFAULT")
}
if !s.Reviewedby.IsUnset() {
vals[25] = psql.Arg(s.Reviewedby.MustGetNull())
} else {
vals[25] = psql.Raw("DEFAULT")
}
if !s.Revieweddate.IsUnset() {
vals[26] = psql.Arg(s.Revieweddate.MustGetNull())
} else {
vals[26] = psql.Raw("DEFAULT")
}
if !s.ShapeArea.IsUnset() {
vals[27] = psql.Arg(s.ShapeArea.MustGetNull())
} else {
vals[27] = psql.Raw("DEFAULT")
}
if !s.ShapeLength.IsUnset() {
vals[28] = psql.Arg(s.ShapeLength.MustGetNull())
} else {
vals[28] = psql.Raw("DEFAULT")
}
if !s.Targetapprate.IsUnset() {
vals[29] = psql.Arg(s.Targetapprate.MustGetNull())
} else {
vals[29] = psql.Raw("DEFAULT")
}
if !s.Targetproduct.IsUnset() {
vals[30] = psql.Arg(s.Targetproduct.MustGetNull())
} else {
vals[30] = psql.Raw("DEFAULT")
}
if !s.Targetspecies.IsUnset() {
vals[31] = psql.Arg(s.Targetspecies.MustGetNull())
} else {
vals[31] = psql.Raw("DEFAULT")
}
if !s.Zone.IsUnset() {
vals[32] = psql.Arg(s.Zone.MustGetNull())
} else {
vals[32] = psql.Raw("DEFAULT")
}
if !s.Zone2.IsUnset() {
vals[33] = psql.Arg(s.Zone2.MustGetNull())
} else {
vals[33] = psql.Raw("DEFAULT")
}
if !s.GeometryX.IsUnset() {
vals[34] = psql.Arg(s.GeometryX.MustGetNull())
} else {
vals[34] = psql.Raw("DEFAULT")
}
if !s.GeometryY.IsUnset() {
vals[35] = psql.Arg(s.GeometryY.MustGetNull())
} else {
vals[35] = psql.Raw("DEFAULT")
}
if s.Updated.IsValue() {
vals[36] = psql.Arg(s.Updated.MustGet())
} else {
vals[36] = psql.Raw("DEFAULT")
}
return bob.ExpressSlice(ctx, w, d, start, vals, "", ", ", "")
}))
}
func (s FSProposedtreatmentareaSetter) UpdateMod() bob.Mod[*dialect.UpdateQuery] {
return um.Set(s.Expressions()...)
}
func (s FSProposedtreatmentareaSetter) Expressions(prefix ...string) []bob.Expression {
exprs := make([]bob.Expression, 0, 37)
if s.OrganizationID.IsValue() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "organization_id")...),
psql.Arg(s.OrganizationID),
}})
}
if !s.Acres.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "acres")...),
psql.Arg(s.Acres),
}})
}
if !s.Comments.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "comments")...),
psql.Arg(s.Comments),
}})
}
if !s.Completed.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "completed")...),
psql.Arg(s.Completed),
}})
}
if !s.Completedby.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "completedby")...),
psql.Arg(s.Completedby),
}})
}
if !s.Completeddate.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "completeddate")...),
psql.Arg(s.Completeddate),
}})
}
if !s.Creationdate.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "creationdate")...),
psql.Arg(s.Creationdate),
}})
}
if !s.Creator.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "creator")...),
psql.Arg(s.Creator),
}})
}
if !s.Duedate.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "duedate")...),
psql.Arg(s.Duedate),
}})
}
if !s.Exported.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "exported")...),
psql.Arg(s.Exported),
}})
}
if !s.Editdate.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "editdate")...),
psql.Arg(s.Editdate),
}})
}
if !s.Editor.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "editor")...),
psql.Arg(s.Editor),
}})
}
if s.Globalid.IsValue() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "globalid")...),
psql.Arg(s.Globalid),
}})
}
if !s.Hectares.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "hectares")...),
psql.Arg(s.Hectares),
}})
}
if !s.Issprayroute.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "issprayroute")...),
psql.Arg(s.Issprayroute),
}})
}
if !s.Lasttreatactivity.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "lasttreatactivity")...),
psql.Arg(s.Lasttreatactivity),
}})
}
if !s.Lasttreatdate.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "lasttreatdate")...),
psql.Arg(s.Lasttreatdate),
}})
}
if !s.Lasttreatproduct.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "lasttreatproduct")...),
psql.Arg(s.Lasttreatproduct),
}})
}
if !s.Lasttreatqty.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "lasttreatqty")...),
psql.Arg(s.Lasttreatqty),
}})
}
if !s.Lasttreatqtyunit.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "lasttreatqtyunit")...),
psql.Arg(s.Lasttreatqtyunit),
}})
}
if !s.Method.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "method")...),
psql.Arg(s.Method),
}})
}
if !s.Name.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "name")...),
psql.Arg(s.Name),
}})
}
if s.Objectid.IsValue() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "objectid")...),
psql.Arg(s.Objectid),
}})
}
if !s.Priority.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "priority")...),
psql.Arg(s.Priority),
}})
}
if !s.Reviewed.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "reviewed")...),
psql.Arg(s.Reviewed),
}})
}
if !s.Reviewedby.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "reviewedby")...),
psql.Arg(s.Reviewedby),
}})
}
if !s.Revieweddate.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "revieweddate")...),
psql.Arg(s.Revieweddate),
}})
}
if !s.ShapeArea.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "shape__area")...),
psql.Arg(s.ShapeArea),
}})
}
if !s.ShapeLength.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "shape__length")...),
psql.Arg(s.ShapeLength),
}})
}
if !s.Targetapprate.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "targetapprate")...),
psql.Arg(s.Targetapprate),
}})
}
if !s.Targetproduct.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "targetproduct")...),
psql.Arg(s.Targetproduct),
}})
}
if !s.Targetspecies.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "targetspecies")...),
psql.Arg(s.Targetspecies),
}})
}
if !s.Zone.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "zone")...),
psql.Arg(s.Zone),
}})
}
if !s.Zone2.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "zone2")...),
psql.Arg(s.Zone2),
}})
}
if !s.GeometryX.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "geometry_x")...),
psql.Arg(s.GeometryX),
}})
}
if !s.GeometryY.IsUnset() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "geometry_y")...),
psql.Arg(s.GeometryY),
}})
}
if s.Updated.IsValue() {
exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{
psql.Quote(append(prefix, "updated")...),
psql.Arg(s.Updated),
}})
}
return exprs
}
// FindFSProposedtreatmentarea retrieves a single record by primary key
// If cols is empty Find will return all columns.
func FindFSProposedtreatmentarea(ctx context.Context, exec bob.Executor, ObjectidPK int32, cols ...string) (*FSProposedtreatmentarea, error) {
if len(cols) == 0 {
return FSProposedtreatmentareas.Query(
sm.Where(FSProposedtreatmentareas.Columns.Objectid.EQ(psql.Arg(ObjectidPK))),
).One(ctx, exec)
}
return FSProposedtreatmentareas.Query(
sm.Where(FSProposedtreatmentareas.Columns.Objectid.EQ(psql.Arg(ObjectidPK))),
sm.Columns(FSProposedtreatmentareas.Columns.Only(cols...)),
).One(ctx, exec)
}
// FSProposedtreatmentareaExists checks the presence of a single record by primary key
func FSProposedtreatmentareaExists(ctx context.Context, exec bob.Executor, ObjectidPK int32) (bool, error) {
return FSProposedtreatmentareas.Query(
sm.Where(FSProposedtreatmentareas.Columns.Objectid.EQ(psql.Arg(ObjectidPK))),
).Exists(ctx, exec)
}
// AfterQueryHook is called after FSProposedtreatmentarea is retrieved from the database
func (o *FSProposedtreatmentarea) AfterQueryHook(ctx context.Context, exec bob.Executor, queryType bob.QueryType) error {
var err error
switch queryType {
case bob.QueryTypeSelect:
ctx, err = FSProposedtreatmentareas.AfterSelectHooks.RunHooks(ctx, exec, FSProposedtreatmentareaSlice{o})
case bob.QueryTypeInsert:
ctx, err = FSProposedtreatmentareas.AfterInsertHooks.RunHooks(ctx, exec, FSProposedtreatmentareaSlice{o})
case bob.QueryTypeUpdate:
ctx, err = FSProposedtreatmentareas.AfterUpdateHooks.RunHooks(ctx, exec, FSProposedtreatmentareaSlice{o})
case bob.QueryTypeDelete:
ctx, err = FSProposedtreatmentareas.AfterDeleteHooks.RunHooks(ctx, exec, FSProposedtreatmentareaSlice{o})
}
return err
}
// primaryKeyVals returns the primary key values of the FSProposedtreatmentarea
func (o *FSProposedtreatmentarea) primaryKeyVals() bob.Expression {
return psql.Arg(o.Objectid)
}
func (o *FSProposedtreatmentarea) pkEQ() dialect.Expression {
return psql.Quote("fs_proposedtreatmentarea", "objectid").EQ(bob.ExpressionFunc(func(ctx context.Context, w io.Writer, d bob.Dialect, start int) ([]any, error) {
return o.primaryKeyVals().WriteSQL(ctx, w, d, start)
}))
}
// Update uses an executor to update the FSProposedtreatmentarea
func (o *FSProposedtreatmentarea) Update(ctx context.Context, exec bob.Executor, s *FSProposedtreatmentareaSetter) error {
v, err := FSProposedtreatmentareas.Update(s.UpdateMod(), um.Where(o.pkEQ())).One(ctx, exec)
if err != nil {
return err
}
o.R = v.R
*o = *v
return nil
}
// Delete deletes a single FSProposedtreatmentarea record with an executor
func (o *FSProposedtreatmentarea) Delete(ctx context.Context, exec bob.Executor) error {
_, err := FSProposedtreatmentareas.Delete(dm.Where(o.pkEQ())).Exec(ctx, exec)
return err
}
// Reload refreshes the FSProposedtreatmentarea using the executor
func (o *FSProposedtreatmentarea) Reload(ctx context.Context, exec bob.Executor) error {
o2, err := FSProposedtreatmentareas.Query(
sm.Where(FSProposedtreatmentareas.Columns.Objectid.EQ(psql.Arg(o.Objectid))),
).One(ctx, exec)
if err != nil {
return err
}
o2.R = o.R
*o = *o2
return nil
}
// AfterQueryHook is called after FSProposedtreatmentareaSlice is retrieved from the database
func (o FSProposedtreatmentareaSlice) AfterQueryHook(ctx context.Context, exec bob.Executor, queryType bob.QueryType) error {
var err error
switch queryType {
case bob.QueryTypeSelect:
ctx, err = FSProposedtreatmentareas.AfterSelectHooks.RunHooks(ctx, exec, o)
case bob.QueryTypeInsert:
ctx, err = FSProposedtreatmentareas.AfterInsertHooks.RunHooks(ctx, exec, o)
case bob.QueryTypeUpdate:
ctx, err = FSProposedtreatmentareas.AfterUpdateHooks.RunHooks(ctx, exec, o)
case bob.QueryTypeDelete:
ctx, err = FSProposedtreatmentareas.AfterDeleteHooks.RunHooks(ctx, exec, o)
}
return err
}
func (o FSProposedtreatmentareaSlice) pkIN() dialect.Expression {
if len(o) == 0 {
return psql.Raw("NULL")
}
return psql.Quote("fs_proposedtreatmentarea", "objectid").In(bob.ExpressionFunc(func(ctx context.Context, w io.Writer, d bob.Dialect, start int) ([]any, error) {
pkPairs := make([]bob.Expression, len(o))
for i, row := range o {
pkPairs[i] = row.primaryKeyVals()
}
return bob.ExpressSlice(ctx, w, d, start, pkPairs, "", ", ", "")
}))
}
// copyMatchingRows finds models in the given slice that have the same primary key
// then it first copies the existing relationships from the old model to the new model
// and then replaces the old model in the slice with the new model
func (o FSProposedtreatmentareaSlice) copyMatchingRows(from ...*FSProposedtreatmentarea) {
for i, old := range o {
for _, new := range from {
if new.Objectid != old.Objectid {
continue
}
new.R = old.R
o[i] = new
break
}
}
}
// UpdateMod modifies an update query with "WHERE primary_key IN (o...)"
func (o FSProposedtreatmentareaSlice) UpdateMod() bob.Mod[*dialect.UpdateQuery] {
return bob.ModFunc[*dialect.UpdateQuery](func(q *dialect.UpdateQuery) {
q.AppendHooks(func(ctx context.Context, exec bob.Executor) (context.Context, error) {
return FSProposedtreatmentareas.BeforeUpdateHooks.RunHooks(ctx, exec, o)
})
q.AppendLoader(bob.LoaderFunc(func(ctx context.Context, exec bob.Executor, retrieved any) error {
var err error
switch retrieved := retrieved.(type) {
case *FSProposedtreatmentarea:
o.copyMatchingRows(retrieved)
case []*FSProposedtreatmentarea:
o.copyMatchingRows(retrieved...)
case FSProposedtreatmentareaSlice:
o.copyMatchingRows(retrieved...)
default:
// If the retrieved value is not a FSProposedtreatmentarea or a slice of FSProposedtreatmentarea
// then run the AfterUpdateHooks on the slice
_, err = FSProposedtreatmentareas.AfterUpdateHooks.RunHooks(ctx, exec, o)
}
return err
}))
q.AppendWhere(o.pkIN())
})
}
// DeleteMod modifies an delete query with "WHERE primary_key IN (o...)"
func (o FSProposedtreatmentareaSlice) DeleteMod() bob.Mod[*dialect.DeleteQuery] {
return bob.ModFunc[*dialect.DeleteQuery](func(q *dialect.DeleteQuery) {
q.AppendHooks(func(ctx context.Context, exec bob.Executor) (context.Context, error) {
return FSProposedtreatmentareas.BeforeDeleteHooks.RunHooks(ctx, exec, o)
})
q.AppendLoader(bob.LoaderFunc(func(ctx context.Context, exec bob.Executor, retrieved any) error {
var err error
switch retrieved := retrieved.(type) {
case *FSProposedtreatmentarea:
o.copyMatchingRows(retrieved)
case []*FSProposedtreatmentarea:
o.copyMatchingRows(retrieved...)
case FSProposedtreatmentareaSlice:
o.copyMatchingRows(retrieved...)
default:
// If the retrieved value is not a FSProposedtreatmentarea or a slice of FSProposedtreatmentarea
// then run the AfterDeleteHooks on the slice
_, err = FSProposedtreatmentareas.AfterDeleteHooks.RunHooks(ctx, exec, o)
}
return err
}))
q.AppendWhere(o.pkIN())
})
}
func (o FSProposedtreatmentareaSlice) UpdateAll(ctx context.Context, exec bob.Executor, vals FSProposedtreatmentareaSetter) error {
if len(o) == 0 {
return nil
}
_, err := FSProposedtreatmentareas.Update(vals.UpdateMod(), o.UpdateMod()).All(ctx, exec)
return err
}
func (o FSProposedtreatmentareaSlice) DeleteAll(ctx context.Context, exec bob.Executor) error {
if len(o) == 0 {
return nil
}
_, err := FSProposedtreatmentareas.Delete(o.DeleteMod()).Exec(ctx, exec)
return err
}
func (o FSProposedtreatmentareaSlice) ReloadAll(ctx context.Context, exec bob.Executor) error {
if len(o) == 0 {
return nil
}
o2, err := FSProposedtreatmentareas.Query(sm.Where(o.pkIN())).All(ctx, exec)
if err != nil {
return err
}
o.copyMatchingRows(o2...)
return nil
}
// Organization starts a query for related objects on organization
func (o *FSProposedtreatmentarea) Organization(mods ...bob.Mod[*dialect.SelectQuery]) OrganizationsQuery {
return Organizations.Query(append(mods,
sm.Where(Organizations.Columns.ID.EQ(psql.Arg(o.OrganizationID))),
)...)
}
func (os FSProposedtreatmentareaSlice) Organization(mods ...bob.Mod[*dialect.SelectQuery]) OrganizationsQuery {
pkOrganizationID := make(pgtypes.Array[int32], 0, len(os))
for _, o := range os {
if o == nil {
continue
}
pkOrganizationID = append(pkOrganizationID, o.OrganizationID)
}
PKArgExpr := psql.Select(sm.Columns(
psql.F("unnest", psql.Cast(psql.Arg(pkOrganizationID), "integer[]")),
))
return Organizations.Query(append(mods,
sm.Where(psql.Group(Organizations.Columns.ID).OP("IN", PKArgExpr)),
)...)
}
func attachFSProposedtreatmentareaOrganization0(ctx context.Context, exec bob.Executor, count int, fsProposedtreatmentarea0 *FSProposedtreatmentarea, organization1 *Organization) (*FSProposedtreatmentarea, error) {
setter := &FSProposedtreatmentareaSetter{
OrganizationID: omit.From(organization1.ID),
}
err := fsProposedtreatmentarea0.Update(ctx, exec, setter)
if err != nil {
return nil, fmt.Errorf("attachFSProposedtreatmentareaOrganization0: %w", err)
}
return fsProposedtreatmentarea0, nil
}
func (fsProposedtreatmentarea0 *FSProposedtreatmentarea) InsertOrganization(ctx context.Context, exec bob.Executor, related *OrganizationSetter) error {
var err error
organization1, err := Organizations.Insert(related).One(ctx, exec)
if err != nil {
return fmt.Errorf("inserting related objects: %w", err)
}
_, err = attachFSProposedtreatmentareaOrganization0(ctx, exec, 1, fsProposedtreatmentarea0, organization1)
if err != nil {
return err
}
fsProposedtreatmentarea0.R.Organization = organization1
organization1.R.FSProposedtreatmentareas = append(organization1.R.FSProposedtreatmentareas, fsProposedtreatmentarea0)
return nil
}
func (fsProposedtreatmentarea0 *FSProposedtreatmentarea) AttachOrganization(ctx context.Context, exec bob.Executor, organization1 *Organization) error {
var err error
_, err = attachFSProposedtreatmentareaOrganization0(ctx, exec, 1, fsProposedtreatmentarea0, organization1)
if err != nil {
return err
}
fsProposedtreatmentarea0.R.Organization = organization1
organization1.R.FSProposedtreatmentareas = append(organization1.R.FSProposedtreatmentareas, fsProposedtreatmentarea0)
return nil
}
type fsProposedtreatmentareaWhere[Q psql.Filterable] struct {
OrganizationID psql.WhereMod[Q, int32]
Acres psql.WhereNullMod[Q, float64]
Comments psql.WhereNullMod[Q, string]
Completed psql.WhereNullMod[Q, int16]
Completedby psql.WhereNullMod[Q, string]
Completeddate psql.WhereNullMod[Q, int64]
Creationdate psql.WhereNullMod[Q, int64]
Creator psql.WhereNullMod[Q, string]
Duedate psql.WhereNullMod[Q, int64]
Exported psql.WhereNullMod[Q, int16]
Editdate psql.WhereNullMod[Q, int64]
Editor psql.WhereNullMod[Q, string]
Globalid psql.WhereMod[Q, string]
Hectares psql.WhereNullMod[Q, float64]
Issprayroute psql.WhereNullMod[Q, int16]
Lasttreatactivity psql.WhereNullMod[Q, string]
Lasttreatdate psql.WhereNullMod[Q, int64]
Lasttreatproduct psql.WhereNullMod[Q, string]
Lasttreatqty psql.WhereNullMod[Q, float64]
Lasttreatqtyunit psql.WhereNullMod[Q, string]
Method psql.WhereNullMod[Q, string]
Name psql.WhereNullMod[Q, string]
Objectid psql.WhereMod[Q, int32]
Priority psql.WhereNullMod[Q, string]
Reviewed psql.WhereNullMod[Q, int16]
Reviewedby psql.WhereNullMod[Q, string]
Revieweddate psql.WhereNullMod[Q, int64]
ShapeArea psql.WhereNullMod[Q, float64]
ShapeLength psql.WhereNullMod[Q, float64]
Targetapprate psql.WhereNullMod[Q, float64]
Targetproduct psql.WhereNullMod[Q, string]
Targetspecies psql.WhereNullMod[Q, string]
Zone psql.WhereNullMod[Q, string]
Zone2 psql.WhereNullMod[Q, string]
GeometryX psql.WhereNullMod[Q, float64]
GeometryY psql.WhereNullMod[Q, float64]
Updated psql.WhereMod[Q, time.Time]
}
func (fsProposedtreatmentareaWhere[Q]) AliasedAs(alias string) fsProposedtreatmentareaWhere[Q] {
return buildFSProposedtreatmentareaWhere[Q](buildFSProposedtreatmentareaColumns(alias))
}
func buildFSProposedtreatmentareaWhere[Q psql.Filterable](cols fsProposedtreatmentareaColumns) fsProposedtreatmentareaWhere[Q] {
return fsProposedtreatmentareaWhere[Q]{
OrganizationID: psql.Where[Q, int32](cols.OrganizationID),
Acres: psql.WhereNull[Q, float64](cols.Acres),
Comments: psql.WhereNull[Q, string](cols.Comments),
Completed: psql.WhereNull[Q, int16](cols.Completed),
Completedby: psql.WhereNull[Q, string](cols.Completedby),
Completeddate: psql.WhereNull[Q, int64](cols.Completeddate),
Creationdate: psql.WhereNull[Q, int64](cols.Creationdate),
Creator: psql.WhereNull[Q, string](cols.Creator),
Duedate: psql.WhereNull[Q, int64](cols.Duedate),
Exported: psql.WhereNull[Q, int16](cols.Exported),
Editdate: psql.WhereNull[Q, int64](cols.Editdate),
Editor: psql.WhereNull[Q, string](cols.Editor),
Globalid: psql.Where[Q, string](cols.Globalid),
Hectares: psql.WhereNull[Q, float64](cols.Hectares),
Issprayroute: psql.WhereNull[Q, int16](cols.Issprayroute),
Lasttreatactivity: psql.WhereNull[Q, string](cols.Lasttreatactivity),
Lasttreatdate: psql.WhereNull[Q, int64](cols.Lasttreatdate),
Lasttreatproduct: psql.WhereNull[Q, string](cols.Lasttreatproduct),
Lasttreatqty: psql.WhereNull[Q, float64](cols.Lasttreatqty),
Lasttreatqtyunit: psql.WhereNull[Q, string](cols.Lasttreatqtyunit),
Method: psql.WhereNull[Q, string](cols.Method),
Name: psql.WhereNull[Q, string](cols.Name),
Objectid: psql.Where[Q, int32](cols.Objectid),
Priority: psql.WhereNull[Q, string](cols.Priority),
Reviewed: psql.WhereNull[Q, int16](cols.Reviewed),
Reviewedby: psql.WhereNull[Q, string](cols.Reviewedby),
Revieweddate: psql.WhereNull[Q, int64](cols.Revieweddate),
ShapeArea: psql.WhereNull[Q, float64](cols.ShapeArea),
ShapeLength: psql.WhereNull[Q, float64](cols.ShapeLength),
Targetapprate: psql.WhereNull[Q, float64](cols.Targetapprate),
Targetproduct: psql.WhereNull[Q, string](cols.Targetproduct),
Targetspecies: psql.WhereNull[Q, string](cols.Targetspecies),
Zone: psql.WhereNull[Q, string](cols.Zone),
Zone2: psql.WhereNull[Q, string](cols.Zone2),
GeometryX: psql.WhereNull[Q, float64](cols.GeometryX),
GeometryY: psql.WhereNull[Q, float64](cols.GeometryY),
Updated: psql.Where[Q, time.Time](cols.Updated),
}
}
func (o *FSProposedtreatmentarea) Preload(name string, retrieved any) error {
if o == nil {
return nil
}
switch name {
case "Organization":
rel, ok := retrieved.(*Organization)
if !ok {
return fmt.Errorf("fsProposedtreatmentarea cannot load %T as %q", retrieved, name)
}
o.R.Organization = rel
if rel != nil {
rel.R.FSProposedtreatmentareas = FSProposedtreatmentareaSlice{o}
}
return nil
default:
return fmt.Errorf("fsProposedtreatmentarea has no relationship %q", name)
}
}
type fsProposedtreatmentareaPreloader struct {
Organization func(...psql.PreloadOption) psql.Preloader
}
func buildFSProposedtreatmentareaPreloader() fsProposedtreatmentareaPreloader {
return fsProposedtreatmentareaPreloader{
Organization: func(opts ...psql.PreloadOption) psql.Preloader {
return psql.Preload[*Organization, OrganizationSlice](psql.PreloadRel{
Name: "Organization",
Sides: []psql.PreloadSide{
{
From: FSProposedtreatmentareas,
To: Organizations,
FromColumns: []string{"organization_id"},
ToColumns: []string{"id"},
},
},
}, Organizations.Columns.Names(), opts...)
},
}
}
type fsProposedtreatmentareaThenLoader[Q orm.Loadable] struct {
Organization func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q]
}
func buildFSProposedtreatmentareaThenLoader[Q orm.Loadable]() fsProposedtreatmentareaThenLoader[Q] {
type OrganizationLoadInterface interface {
LoadOrganization(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error
}
return fsProposedtreatmentareaThenLoader[Q]{
Organization: thenLoadBuilder[Q](
"Organization",
func(ctx context.Context, exec bob.Executor, retrieved OrganizationLoadInterface, mods ...bob.Mod[*dialect.SelectQuery]) error {
return retrieved.LoadOrganization(ctx, exec, mods...)
},
),
}
}
// LoadOrganization loads the fsProposedtreatmentarea's Organization into the .R struct
func (o *FSProposedtreatmentarea) LoadOrganization(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error {
if o == nil {
return nil
}
// Reset the relationship
o.R.Organization = nil
related, err := o.Organization(mods...).One(ctx, exec)
if err != nil {
return err
}
related.R.FSProposedtreatmentareas = FSProposedtreatmentareaSlice{o}
o.R.Organization = related
return nil
}
// LoadOrganization loads the fsProposedtreatmentarea's Organization into the .R struct
func (os FSProposedtreatmentareaSlice) LoadOrganization(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error {
if len(os) == 0 {
return nil
}
organizations, err := os.Organization(mods...).All(ctx, exec)
if err != nil {
return err
}
for _, o := range os {
if o == nil {
continue
}
for _, rel := range organizations {
if !(o.OrganizationID == rel.ID) {
continue
}
rel.R.FSProposedtreatmentareas = append(rel.R.FSProposedtreatmentareas, o)
o.R.Organization = rel
break
}
}
return nil
}
type fsProposedtreatmentareaJoins[Q dialect.Joinable] struct {
typ string
Organization modAs[Q, organizationColumns]
}
func (j fsProposedtreatmentareaJoins[Q]) aliasedAs(alias string) fsProposedtreatmentareaJoins[Q] {
return buildFSProposedtreatmentareaJoins[Q](buildFSProposedtreatmentareaColumns(alias), j.typ)
}
func buildFSProposedtreatmentareaJoins[Q dialect.Joinable](cols fsProposedtreatmentareaColumns, typ string) fsProposedtreatmentareaJoins[Q] {
return fsProposedtreatmentareaJoins[Q]{
typ: typ,
Organization: modAs[Q, organizationColumns]{
c: Organizations.Columns,
f: func(to organizationColumns) bob.Mod[Q] {
mods := make(mods.QueryMods[Q], 0, 1)
{
mods = append(mods, dialect.Join[Q](typ, Organizations.Name().As(to.Alias())).On(
to.ID.EQ(cols.OrganizationID),
))
}
return mods
},
},
}
}