diff --git a/db/dberrors/fileupload.flyover_aerial_service.bob.go b/db/dberrors/fileupload.flyover_aerial_service.bob.go deleted file mode 100644 index 45bc58b2..00000000 --- a/db/dberrors/fileupload.flyover_aerial_service.bob.go +++ /dev/null @@ -1,17 +0,0 @@ -// Code generated by BobGen psql v0.42.5. DO NOT EDIT. -// This file is meant to be re-generated in place and/or deleted at any time. - -package dberrors - -var FileuploadFlyoverAerialServiceErrors = &fileuploadFlyoverAerialServiceErrors{ - ErrUniqueFlyoverAerialServicePkey: &UniqueConstraintError{ - schema: "fileupload", - table: "flyover_aerial_service", - columns: []string{"id"}, - s: "flyover_aerial_service_pkey", - }, -} - -type fileuploadFlyoverAerialServiceErrors struct { - ErrUniqueFlyoverAerialServicePkey *UniqueConstraintError -} diff --git a/db/dbinfo/fileupload.flyover_aerial_service.bob.go b/db/dbinfo/fileupload.flyover_aerial_service.bob.go deleted file mode 100644 index 38398211..00000000 --- a/db/dbinfo/fileupload.flyover_aerial_service.bob.go +++ /dev/null @@ -1,217 +0,0 @@ -// Code generated by BobGen psql v0.42.5. DO NOT EDIT. -// This file is meant to be re-generated in place and/or deleted at any time. - -package dbinfo - -import "github.com/aarondl/opt/null" - -var FileuploadFlyoverAerialServices = Table[ - fileuploadFlyoverAerialServiceColumns, - fileuploadFlyoverAerialServiceIndexes, - fileuploadFlyoverAerialServiceForeignKeys, - fileuploadFlyoverAerialServiceUniques, - fileuploadFlyoverAerialServiceChecks, -]{ - Schema: "fileupload", - Name: "flyover_aerial_service", - Columns: fileuploadFlyoverAerialServiceColumns{ - Committed: column{ - Name: "committed", - DBType: "boolean", - Default: "", - Comment: "", - Nullable: false, - Generated: false, - AutoIncr: false, - }, - Condition: column{ - Name: "condition", - DBType: "fileupload.poolconditiontype", - Default: "", - Comment: "", - Nullable: false, - Generated: false, - AutoIncr: false, - }, - Created: column{ - Name: "created", - DBType: "timestamp without time zone", - Default: "", - Comment: "", - Nullable: false, - Generated: false, - AutoIncr: false, - }, - CreatorID: column{ - Name: "creator_id", - DBType: "integer", - Default: "", - Comment: "", - Nullable: false, - Generated: false, - AutoIncr: false, - }, - CSVFile: column{ - Name: "csv_file", - DBType: "integer", - Default: "", - Comment: "", - Nullable: false, - Generated: false, - AutoIncr: false, - }, - Deleted: column{ - Name: "deleted", - DBType: "timestamp without time zone", - Default: "NULL", - Comment: "", - Nullable: true, - Generated: false, - AutoIncr: false, - }, - Geom: column{ - Name: "geom", - DBType: "geometry", - Default: "NULL", - Comment: "", - Nullable: true, - Generated: false, - AutoIncr: false, - }, - H3cell: column{ - Name: "h3cell", - DBType: "h3index", - Default: "NULL", - Comment: "", - Nullable: true, - Generated: false, - AutoIncr: false, - }, - ID: column{ - Name: "id", - DBType: "integer", - Default: "nextval('fileupload.flyover_aerial_service_id_seq'::regclass)", - Comment: "", - Nullable: false, - Generated: false, - AutoIncr: false, - }, - OrganizationID: column{ - Name: "organization_id", - DBType: "integer", - Default: "", - Comment: "", - Nullable: false, - Generated: false, - AutoIncr: false, - }, - }, - Indexes: fileuploadFlyoverAerialServiceIndexes{ - FlyoverAerialServicePkey: index{ - Type: "btree", - Name: "flyover_aerial_service_pkey", - Columns: []indexColumn{ - { - Name: "id", - Desc: null.FromCond(false, true), - IsExpression: false, - }, - }, - Unique: true, - Comment: "", - NullsFirst: []bool{false}, - NullsDistinct: false, - Where: "", - Include: []string{}, - }, - }, - PrimaryKey: &constraint{ - Name: "flyover_aerial_service_pkey", - Columns: []string{"id"}, - Comment: "", - }, - ForeignKeys: fileuploadFlyoverAerialServiceForeignKeys{ - FileuploadFlyoverAerialServiceFlyoverAerialServiceCreatorIDFkey: foreignKey{ - constraint: constraint{ - Name: "fileupload.flyover_aerial_service.flyover_aerial_service_creator_id_fkey", - Columns: []string{"creator_id"}, - Comment: "", - }, - ForeignTable: "user_", - ForeignColumns: []string{"id"}, - }, - FileuploadFlyoverAerialServiceFlyoverAerialServiceCSVFileFkey: foreignKey{ - constraint: constraint{ - Name: "fileupload.flyover_aerial_service.flyover_aerial_service_csv_file_fkey", - Columns: []string{"csv_file"}, - Comment: "", - }, - ForeignTable: "fileupload.csv", - ForeignColumns: []string{"file_id"}, - }, - FileuploadFlyoverAerialServiceFlyoverAerialServiceOrganizationIDFkey: foreignKey{ - constraint: constraint{ - Name: "fileupload.flyover_aerial_service.flyover_aerial_service_organization_id_fkey", - Columns: []string{"organization_id"}, - Comment: "", - }, - ForeignTable: "organization", - ForeignColumns: []string{"id"}, - }, - }, - - Comment: "", -} - -type fileuploadFlyoverAerialServiceColumns struct { - Committed column - Condition column - Created column - CreatorID column - CSVFile column - Deleted column - Geom column - H3cell column - ID column - OrganizationID column -} - -func (c fileuploadFlyoverAerialServiceColumns) AsSlice() []column { - return []column{ - c.Committed, c.Condition, c.Created, c.CreatorID, c.CSVFile, c.Deleted, c.Geom, c.H3cell, c.ID, c.OrganizationID, - } -} - -type fileuploadFlyoverAerialServiceIndexes struct { - FlyoverAerialServicePkey index -} - -func (i fileuploadFlyoverAerialServiceIndexes) AsSlice() []index { - return []index{ - i.FlyoverAerialServicePkey, - } -} - -type fileuploadFlyoverAerialServiceForeignKeys struct { - FileuploadFlyoverAerialServiceFlyoverAerialServiceCreatorIDFkey foreignKey - FileuploadFlyoverAerialServiceFlyoverAerialServiceCSVFileFkey foreignKey - FileuploadFlyoverAerialServiceFlyoverAerialServiceOrganizationIDFkey foreignKey -} - -func (f fileuploadFlyoverAerialServiceForeignKeys) AsSlice() []foreignKey { - return []foreignKey{ - f.FileuploadFlyoverAerialServiceFlyoverAerialServiceCreatorIDFkey, f.FileuploadFlyoverAerialServiceFlyoverAerialServiceCSVFileFkey, f.FileuploadFlyoverAerialServiceFlyoverAerialServiceOrganizationIDFkey, - } -} - -type fileuploadFlyoverAerialServiceUniques struct{} - -func (u fileuploadFlyoverAerialServiceUniques) AsSlice() []constraint { - return []constraint{} -} - -type fileuploadFlyoverAerialServiceChecks struct{} - -func (c fileuploadFlyoverAerialServiceChecks) AsSlice() []check { - return []check{} -} diff --git a/db/dbinfo/fileupload.pool.bob.go b/db/dbinfo/fileupload.pool.bob.go index 81020468..d21f9310 100644 --- a/db/dbinfo/fileupload.pool.bob.go +++ b/db/dbinfo/fileupload.pool.bob.go @@ -15,15 +15,6 @@ var FileuploadPools = Table[ Schema: "fileupload", Name: "pool", Columns: fileuploadPoolColumns{ - AddressCity: column{ - Name: "address_city", - DBType: "text", - Default: "", - Comment: "", - Nullable: false, - Generated: false, - AutoIncr: false, - }, AddressPostalCode: column{ Name: "address_postal_code", DBType: "text", @@ -213,6 +204,33 @@ var FileuploadPools = Table[ Generated: false, AutoIncr: false, }, + AddressNumber: column{ + Name: "address_number", + DBType: "text", + Default: "", + Comment: "", + Nullable: false, + Generated: false, + AutoIncr: false, + }, + AddressLocality: column{ + Name: "address_locality", + DBType: "text", + Default: "", + Comment: "", + Nullable: false, + Generated: false, + AutoIncr: false, + }, + AddressRegion: column{ + Name: "address_region", + DBType: "text", + Default: "", + Comment: "", + Nullable: false, + Generated: false, + AutoIncr: false, + }, }, Indexes: fileuploadPoolIndexes{ PoolPkey: index{ @@ -290,7 +308,6 @@ var FileuploadPools = Table[ } type fileuploadPoolColumns struct { - AddressCity column AddressPostalCode column AddressStreet column Committed column @@ -312,11 +329,14 @@ type fileuploadPoolColumns struct { ResidentPhoneE164 column LineNumber column Tags column + AddressNumber column + AddressLocality column + AddressRegion column } func (c fileuploadPoolColumns) AsSlice() []column { return []column{ - c.AddressCity, c.AddressPostalCode, c.AddressStreet, c.Committed, c.Condition, c.Created, c.CreatorID, c.CSVFile, c.Deleted, c.Geom, c.H3cell, c.ID, c.IsInDistrict, c.IsNew, c.Notes, c.OrganizationID, c.PropertyOwnerName, c.PropertyOwnerPhoneE164, c.ResidentOwned, c.ResidentPhoneE164, c.LineNumber, c.Tags, + c.AddressPostalCode, c.AddressStreet, c.Committed, c.Condition, c.Created, c.CreatorID, c.CSVFile, c.Deleted, c.Geom, c.H3cell, c.ID, c.IsInDistrict, c.IsNew, c.Notes, c.OrganizationID, c.PropertyOwnerName, c.PropertyOwnerPhoneE164, c.ResidentOwned, c.ResidentPhoneE164, c.LineNumber, c.Tags, c.AddressNumber, c.AddressLocality, c.AddressRegion, } } diff --git a/db/factory/bobfactory_context.bob.go b/db/factory/bobfactory_context.bob.go index 669eb20c..ef3f92ab 100644 --- a/db/factory/bobfactory_context.bob.go +++ b/db/factory/bobfactory_context.bob.go @@ -245,11 +245,10 @@ var ( fieldseekerSyncRelOrganizationCtx = newContextual[bool]("fieldseeker_sync.organization.fieldseeker_sync.fieldseeker_sync_organization_id_fkey") // Relationship Contexts for fileupload.csv - fileuploadCSVWithParentsCascadingCtx = newContextual[bool]("fileuploadCSVWithParentsCascading") - fileuploadCSVRelFileCtx = newContextual[bool]("fileupload.csv.fileupload.file.fileupload.csv.csv_file_id_fkey") - fileuploadCSVRelCSVFileErrorCSVSCtx = newContextual[bool]("fileupload.csv.fileupload.error_csv.fileupload.error_csv.error_csv_csv_file_id_fkey") - fileuploadCSVRelCSVFileFlyoverAerialServicesCtx = newContextual[bool]("fileupload.csv.fileupload.flyover_aerial_service.fileupload.flyover_aerial_service.flyover_aerial_service_csv_file_fkey") - fileuploadCSVRelCSVFilePoolsCtx = newContextual[bool]("fileupload.csv.fileupload.pool.fileupload.pool.pool_csv_file_fkey") + fileuploadCSVWithParentsCascadingCtx = newContextual[bool]("fileuploadCSVWithParentsCascading") + fileuploadCSVRelFileCtx = newContextual[bool]("fileupload.csv.fileupload.file.fileupload.csv.csv_file_id_fkey") + fileuploadCSVRelCSVFileErrorCSVSCtx = newContextual[bool]("fileupload.csv.fileupload.error_csv.fileupload.error_csv.error_csv_csv_file_id_fkey") + fileuploadCSVRelCSVFilePoolsCtx = newContextual[bool]("fileupload.csv.fileupload.pool.fileupload.pool.pool_csv_file_fkey") // Relationship Contexts for fileupload.error_csv fileuploadErrorCSVWithParentsCascadingCtx = newContextual[bool]("fileuploadErrorCSVWithParentsCascading") @@ -267,12 +266,6 @@ var ( fileuploadFileRelOrganizationCtx = newContextual[bool]("fileupload.file.organization.fileupload.file.file_organization_id_fkey") fileuploadFileRelSitesCtx = newContextual[bool]("fileupload.file.site.site.site_file_id_fkey") - // Relationship Contexts for fileupload.flyover_aerial_service - fileuploadFlyoverAerialServiceWithParentsCascadingCtx = newContextual[bool]("fileuploadFlyoverAerialServiceWithParentsCascading") - fileuploadFlyoverAerialServiceRelCreatorUserCtx = newContextual[bool]("fileupload.flyover_aerial_service.user_.fileupload.flyover_aerial_service.flyover_aerial_service_creator_id_fkey") - fileuploadFlyoverAerialServiceRelCSVFileCSVCtx = newContextual[bool]("fileupload.csv.fileupload.flyover_aerial_service.fileupload.flyover_aerial_service.flyover_aerial_service_csv_file_fkey") - fileuploadFlyoverAerialServiceRelOrganizationCtx = newContextual[bool]("fileupload.flyover_aerial_service.organization.fileupload.flyover_aerial_service.flyover_aerial_service_organization_id_fkey") - // Relationship Contexts for fileupload.pool fileuploadPoolWithParentsCascadingCtx = newContextual[bool]("fileuploadPoolWithParentsCascading") fileuploadPoolRelCreatorUserCtx = newContextual[bool]("fileupload.pool.user_.fileupload.pool.pool_creator_id_fkey") @@ -366,7 +359,6 @@ var ( organizationRelZones2sCtx = newContextual[bool]("fieldseeker.zones2.organization.fieldseeker.zones2.zones2_organization_id_fkey") organizationRelFieldseekerSyncsCtx = newContextual[bool]("fieldseeker_sync.organization.fieldseeker_sync.fieldseeker_sync_organization_id_fkey") organizationRelFilesCtx = newContextual[bool]("fileupload.file.organization.fileupload.file.file_organization_id_fkey") - organizationRelFlyoverAerialServicesCtx = newContextual[bool]("fileupload.flyover_aerial_service.organization.fileupload.flyover_aerial_service.flyover_aerial_service_organization_id_fkey") organizationRelPoolsCtx = newContextual[bool]("fileupload.pool.organization.fileupload.pool.pool_organization_id_fkey") organizationRelH3AggregationsCtx = newContextual[bool]("h3_aggregation.organization.h3_aggregation.h3_aggregation_organization_id_fkey") organizationRelNoteAudiosCtx = newContextual[bool]("note_audio.organization.note_audio.note_audio_organization_id_fkey") @@ -498,7 +490,6 @@ var ( userRelPublicUserUserCtx = newContextual[bool]("arcgis.user_.user_.arcgis.user_.user__public_user_id_fkey") userRelCreatorComplianceReportRequestsCtx = newContextual[bool]("compliance_report_request.user_.compliance_report_request.compliance_report_request_creator_fkey") userRelCreatorFilesCtx = newContextual[bool]("fileupload.file.user_.fileupload.file.file_creator_id_fkey") - userRelCreatorFlyoverAerialServicesCtx = newContextual[bool]("fileupload.flyover_aerial_service.user_.fileupload.flyover_aerial_service.flyover_aerial_service_creator_id_fkey") userRelFileuploadPoolCtx = newContextual[bool]("fileupload.pool.user_.fileupload.pool.pool_creator_id_fkey") userRelCreatorNoteAudiosCtx = newContextual[bool]("note_audio.user_.note_audio.note_audio_creator_id_fkey") userRelDeletorNoteAudiosCtx = newContextual[bool]("note_audio.user_.note_audio.note_audio_deletor_id_fkey") diff --git a/db/factory/bobfactory_main.bob.go b/db/factory/bobfactory_main.bob.go index 3d1030a4..ef330ee9 100644 --- a/db/factory/bobfactory_main.bob.go +++ b/db/factory/bobfactory_main.bob.go @@ -73,7 +73,6 @@ type Factory struct { baseFileuploadErrorCSVMods FileuploadErrorCSVModSlice baseFileuploadErrorFileMods FileuploadErrorFileModSlice baseFileuploadFileMods FileuploadFileModSlice - baseFileuploadFlyoverAerialServiceMods FileuploadFlyoverAerialServiceModSlice baseFileuploadPoolMods FileuploadPoolModSlice baseGeographyColumnMods GeographyColumnModSlice baseGeometryColumnMods GeometryColumnModSlice @@ -2758,9 +2757,6 @@ func (f *Factory) FromExistingFileuploadCSV(m *models.FileuploadCSV) *Fileupload if len(m.R.CSVFileErrorCSVS) > 0 { FileuploadCSVMods.AddExistingCSVFileErrorCSVS(m.R.CSVFileErrorCSVS...).Apply(ctx, o) } - if len(m.R.CSVFileFlyoverAerialServices) > 0 { - FileuploadCSVMods.AddExistingCSVFileFlyoverAerialServices(m.R.CSVFileFlyoverAerialServices...).Apply(ctx, o) - } if len(m.R.CSVFilePools) > 0 { FileuploadCSVMods.AddExistingCSVFilePools(m.R.CSVFilePools...).Apply(ctx, o) } @@ -2882,50 +2878,6 @@ func (f *Factory) FromExistingFileuploadFile(m *models.FileuploadFile) *Fileuplo return o } -func (f *Factory) NewFileuploadFlyoverAerialService(mods ...FileuploadFlyoverAerialServiceMod) *FileuploadFlyoverAerialServiceTemplate { - return f.NewFileuploadFlyoverAerialServiceWithContext(context.Background(), mods...) -} - -func (f *Factory) NewFileuploadFlyoverAerialServiceWithContext(ctx context.Context, mods ...FileuploadFlyoverAerialServiceMod) *FileuploadFlyoverAerialServiceTemplate { - o := &FileuploadFlyoverAerialServiceTemplate{f: f} - - if f != nil { - f.baseFileuploadFlyoverAerialServiceMods.Apply(ctx, o) - } - - FileuploadFlyoverAerialServiceModSlice(mods).Apply(ctx, o) - - return o -} - -func (f *Factory) FromExistingFileuploadFlyoverAerialService(m *models.FileuploadFlyoverAerialService) *FileuploadFlyoverAerialServiceTemplate { - o := &FileuploadFlyoverAerialServiceTemplate{f: f, alreadyPersisted: true} - - o.Committed = func() bool { return m.Committed } - o.Condition = func() enums.FileuploadPoolconditiontype { return m.Condition } - o.Created = func() time.Time { return m.Created } - o.CreatorID = func() int32 { return m.CreatorID } - o.CSVFile = func() int32 { return m.CSVFile } - o.Deleted = func() null.Val[time.Time] { return m.Deleted } - o.Geom = func() null.Val[string] { return m.Geom } - o.H3cell = func() null.Val[string] { return m.H3cell } - o.ID = func() int32 { return m.ID } - o.OrganizationID = func() int32 { return m.OrganizationID } - - ctx := context.Background() - if m.R.CreatorUser != nil { - FileuploadFlyoverAerialServiceMods.WithExistingCreatorUser(m.R.CreatorUser).Apply(ctx, o) - } - if m.R.CSVFileCSV != nil { - FileuploadFlyoverAerialServiceMods.WithExistingCSVFileCSV(m.R.CSVFileCSV).Apply(ctx, o) - } - if m.R.Organization != nil { - FileuploadFlyoverAerialServiceMods.WithExistingOrganization(m.R.Organization).Apply(ctx, o) - } - - return o -} - func (f *Factory) NewFileuploadPool(mods ...FileuploadPoolMod) *FileuploadPoolTemplate { return f.NewFileuploadPoolWithContext(context.Background(), mods...) } @@ -2945,7 +2897,6 @@ func (f *Factory) NewFileuploadPoolWithContext(ctx context.Context, mods ...File func (f *Factory) FromExistingFileuploadPool(m *models.FileuploadPool) *FileuploadPoolTemplate { o := &FileuploadPoolTemplate{f: f, alreadyPersisted: true} - o.AddressCity = func() string { return m.AddressCity } o.AddressPostalCode = func() string { return m.AddressPostalCode } o.AddressStreet = func() string { return m.AddressStreet } o.Committed = func() bool { return m.Committed } @@ -2967,6 +2918,9 @@ func (f *Factory) FromExistingFileuploadPool(m *models.FileuploadPool) *Fileuplo o.ResidentPhoneE164 = func() null.Val[string] { return m.ResidentPhoneE164 } o.LineNumber = func() int32 { return m.LineNumber } o.Tags = func() pgtypes.HStore { return m.Tags } + o.AddressNumber = func() string { return m.AddressNumber } + o.AddressLocality = func() string { return m.AddressLocality } + o.AddressRegion = func() string { return m.AddressRegion } ctx := context.Background() if m.R.CreatorUser != nil { @@ -3529,9 +3483,6 @@ func (f *Factory) FromExistingOrganization(m *models.Organization) *Organization if len(m.R.Files) > 0 { OrganizationMods.AddExistingFiles(m.R.Files...).Apply(ctx, o) } - if len(m.R.FlyoverAerialServices) > 0 { - OrganizationMods.AddExistingFlyoverAerialServices(m.R.FlyoverAerialServices...).Apply(ctx, o) - } if len(m.R.Pools) > 0 { OrganizationMods.AddExistingPools(m.R.Pools...).Apply(ctx, o) } @@ -4506,9 +4457,6 @@ func (f *Factory) FromExistingUser(m *models.User) *UserTemplate { if len(m.R.CreatorFiles) > 0 { UserMods.AddExistingCreatorFiles(m.R.CreatorFiles...).Apply(ctx, o) } - if len(m.R.CreatorFlyoverAerialServices) > 0 { - UserMods.AddExistingCreatorFlyoverAerialServices(m.R.CreatorFlyoverAerialServices...).Apply(ctx, o) - } if len(m.R.FileuploadPool) > 0 { UserMods.AddExistingFileuploadPool(m.R.FileuploadPool...).Apply(ctx, o) } @@ -4975,14 +4923,6 @@ func (f *Factory) AddBaseFileuploadFileMod(mods ...FileuploadFileMod) { f.baseFileuploadFileMods = append(f.baseFileuploadFileMods, mods...) } -func (f *Factory) ClearBaseFileuploadFlyoverAerialServiceMods() { - f.baseFileuploadFlyoverAerialServiceMods = nil -} - -func (f *Factory) AddBaseFileuploadFlyoverAerialServiceMod(mods ...FileuploadFlyoverAerialServiceMod) { - f.baseFileuploadFlyoverAerialServiceMods = append(f.baseFileuploadFlyoverAerialServiceMods, mods...) -} - func (f *Factory) ClearBaseFileuploadPoolMods() { f.baseFileuploadPoolMods = nil } diff --git a/db/factory/fileupload.csv.bob.go b/db/factory/fileupload.csv.bob.go index db2872d8..0cf7aca2 100644 --- a/db/factory/fileupload.csv.bob.go +++ b/db/factory/fileupload.csv.bob.go @@ -50,10 +50,9 @@ type FileuploadCSVTemplate struct { } type fileuploadCSVR struct { - File *fileuploadCSVRFileR - CSVFileErrorCSVS []*fileuploadCSVRCSVFileErrorCSVSR - CSVFileFlyoverAerialServices []*fileuploadCSVRCSVFileFlyoverAerialServicesR - CSVFilePools []*fileuploadCSVRCSVFilePoolsR + File *fileuploadCSVRFileR + CSVFileErrorCSVS []*fileuploadCSVRCSVFileErrorCSVSR + CSVFilePools []*fileuploadCSVRCSVFilePoolsR } type fileuploadCSVRFileR struct { @@ -63,10 +62,6 @@ type fileuploadCSVRCSVFileErrorCSVSR struct { number int o *FileuploadErrorCSVTemplate } -type fileuploadCSVRCSVFileFlyoverAerialServicesR struct { - number int - o *FileuploadFlyoverAerialServiceTemplate -} type fileuploadCSVRCSVFilePoolsR struct { number int o *FileuploadPoolTemplate @@ -102,19 +97,6 @@ func (t FileuploadCSVTemplate) setModelRels(o *models.FileuploadCSV) { o.R.CSVFileErrorCSVS = rel } - if t.r.CSVFileFlyoverAerialServices != nil { - rel := models.FileuploadFlyoverAerialServiceSlice{} - for _, r := range t.r.CSVFileFlyoverAerialServices { - related := r.o.BuildMany(r.number) - for _, rel := range related { - rel.CSVFile = o.FileID // h2 - rel.R.CSVFileCSV = o - } - rel = append(rel, related...) - } - o.R.CSVFileFlyoverAerialServices = rel - } - if t.r.CSVFilePools != nil { rel := models.FileuploadPoolSlice{} for _, r := range t.r.CSVFilePools { @@ -244,26 +226,6 @@ func (o *FileuploadCSVTemplate) insertOptRels(ctx context.Context, exec bob.Exec } } - isCSVFileFlyoverAerialServicesDone, _ := fileuploadCSVRelCSVFileFlyoverAerialServicesCtx.Value(ctx) - if !isCSVFileFlyoverAerialServicesDone && o.r.CSVFileFlyoverAerialServices != nil { - ctx = fileuploadCSVRelCSVFileFlyoverAerialServicesCtx.WithValue(ctx, true) - for _, r := range o.r.CSVFileFlyoverAerialServices { - if r.o.alreadyPersisted { - m.R.CSVFileFlyoverAerialServices = append(m.R.CSVFileFlyoverAerialServices, r.o.Build()) - } else { - rel2, err := r.o.CreateMany(ctx, exec, r.number) - if err != nil { - return err - } - - err = m.AttachCSVFileFlyoverAerialServices(ctx, exec, rel2...) - if err != nil { - return err - } - } - } - } - isCSVFilePoolsDone, _ := fileuploadCSVRelCSVFilePoolsCtx.Value(ctx) if !isCSVFilePoolsDone && o.r.CSVFilePools != nil { ctx = fileuploadCSVRelCSVFilePoolsCtx.WithValue(ctx, true) @@ -271,12 +233,12 @@ func (o *FileuploadCSVTemplate) insertOptRels(ctx context.Context, exec bob.Exec if r.o.alreadyPersisted { m.R.CSVFilePools = append(m.R.CSVFilePools, r.o.Build()) } else { - rel3, err := r.o.CreateMany(ctx, exec, r.number) + rel2, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachCSVFilePools(ctx, exec, rel3...) + err = m.AttachCSVFilePools(ctx, exec, rel2...) if err != nil { return err } @@ -640,54 +602,6 @@ func (m fileuploadCSVMods) WithoutCSVFileErrorCSVS() FileuploadCSVMod { }) } -func (m fileuploadCSVMods) WithCSVFileFlyoverAerialServices(number int, related *FileuploadFlyoverAerialServiceTemplate) FileuploadCSVMod { - return FileuploadCSVModFunc(func(ctx context.Context, o *FileuploadCSVTemplate) { - o.r.CSVFileFlyoverAerialServices = []*fileuploadCSVRCSVFileFlyoverAerialServicesR{{ - number: number, - o: related, - }} - }) -} - -func (m fileuploadCSVMods) WithNewCSVFileFlyoverAerialServices(number int, mods ...FileuploadFlyoverAerialServiceMod) FileuploadCSVMod { - return FileuploadCSVModFunc(func(ctx context.Context, o *FileuploadCSVTemplate) { - related := o.f.NewFileuploadFlyoverAerialServiceWithContext(ctx, mods...) - m.WithCSVFileFlyoverAerialServices(number, related).Apply(ctx, o) - }) -} - -func (m fileuploadCSVMods) AddCSVFileFlyoverAerialServices(number int, related *FileuploadFlyoverAerialServiceTemplate) FileuploadCSVMod { - return FileuploadCSVModFunc(func(ctx context.Context, o *FileuploadCSVTemplate) { - o.r.CSVFileFlyoverAerialServices = append(o.r.CSVFileFlyoverAerialServices, &fileuploadCSVRCSVFileFlyoverAerialServicesR{ - number: number, - o: related, - }) - }) -} - -func (m fileuploadCSVMods) AddNewCSVFileFlyoverAerialServices(number int, mods ...FileuploadFlyoverAerialServiceMod) FileuploadCSVMod { - return FileuploadCSVModFunc(func(ctx context.Context, o *FileuploadCSVTemplate) { - related := o.f.NewFileuploadFlyoverAerialServiceWithContext(ctx, mods...) - m.AddCSVFileFlyoverAerialServices(number, related).Apply(ctx, o) - }) -} - -func (m fileuploadCSVMods) AddExistingCSVFileFlyoverAerialServices(existingModels ...*models.FileuploadFlyoverAerialService) FileuploadCSVMod { - return FileuploadCSVModFunc(func(ctx context.Context, o *FileuploadCSVTemplate) { - for _, em := range existingModels { - o.r.CSVFileFlyoverAerialServices = append(o.r.CSVFileFlyoverAerialServices, &fileuploadCSVRCSVFileFlyoverAerialServicesR{ - o: o.f.FromExistingFileuploadFlyoverAerialService(em), - }) - } - }) -} - -func (m fileuploadCSVMods) WithoutCSVFileFlyoverAerialServices() FileuploadCSVMod { - return FileuploadCSVModFunc(func(ctx context.Context, o *FileuploadCSVTemplate) { - o.r.CSVFileFlyoverAerialServices = nil - }) -} - func (m fileuploadCSVMods) WithCSVFilePools(number int, related *FileuploadPoolTemplate) FileuploadCSVMod { return FileuploadCSVModFunc(func(ctx context.Context, o *FileuploadCSVTemplate) { o.r.CSVFilePools = []*fileuploadCSVRCSVFilePoolsR{{ diff --git a/db/factory/fileupload.flyover_aerial_service.bob.go b/db/factory/fileupload.flyover_aerial_service.bob.go deleted file mode 100644 index 7745b2bd..00000000 --- a/db/factory/fileupload.flyover_aerial_service.bob.go +++ /dev/null @@ -1,903 +0,0 @@ -// Code generated by BobGen psql v0.42.5. DO NOT EDIT. -// This file is meant to be re-generated in place and/or deleted at any time. - -package factory - -import ( - "context" - "testing" - "time" - - "github.com/Gleipnir-Technology/bob" - enums "github.com/Gleipnir-Technology/nidus-sync/db/enums" - models "github.com/Gleipnir-Technology/nidus-sync/db/models" - "github.com/aarondl/opt/null" - "github.com/aarondl/opt/omit" - "github.com/aarondl/opt/omitnull" - "github.com/jaswdr/faker/v2" -) - -type FileuploadFlyoverAerialServiceMod interface { - Apply(context.Context, *FileuploadFlyoverAerialServiceTemplate) -} - -type FileuploadFlyoverAerialServiceModFunc func(context.Context, *FileuploadFlyoverAerialServiceTemplate) - -func (f FileuploadFlyoverAerialServiceModFunc) Apply(ctx context.Context, n *FileuploadFlyoverAerialServiceTemplate) { - f(ctx, n) -} - -type FileuploadFlyoverAerialServiceModSlice []FileuploadFlyoverAerialServiceMod - -func (mods FileuploadFlyoverAerialServiceModSlice) Apply(ctx context.Context, n *FileuploadFlyoverAerialServiceTemplate) { - for _, f := range mods { - f.Apply(ctx, n) - } -} - -// FileuploadFlyoverAerialServiceTemplate is an object representing the database table. -// all columns are optional and should be set by mods -type FileuploadFlyoverAerialServiceTemplate struct { - Committed func() bool - Condition func() enums.FileuploadPoolconditiontype - Created func() time.Time - CreatorID func() int32 - CSVFile func() int32 - Deleted func() null.Val[time.Time] - Geom func() null.Val[string] - H3cell func() null.Val[string] - ID func() int32 - OrganizationID func() int32 - - r fileuploadFlyoverAerialServiceR - f *Factory - - alreadyPersisted bool -} - -type fileuploadFlyoverAerialServiceR struct { - CreatorUser *fileuploadFlyoverAerialServiceRCreatorUserR - CSVFileCSV *fileuploadFlyoverAerialServiceRCSVFileCSVR - Organization *fileuploadFlyoverAerialServiceROrganizationR -} - -type fileuploadFlyoverAerialServiceRCreatorUserR struct { - o *UserTemplate -} -type fileuploadFlyoverAerialServiceRCSVFileCSVR struct { - o *FileuploadCSVTemplate -} -type fileuploadFlyoverAerialServiceROrganizationR struct { - o *OrganizationTemplate -} - -// Apply mods to the FileuploadFlyoverAerialServiceTemplate -func (o *FileuploadFlyoverAerialServiceTemplate) Apply(ctx context.Context, mods ...FileuploadFlyoverAerialServiceMod) { - for _, mod := range mods { - mod.Apply(ctx, o) - } -} - -// setModelRels creates and sets the relationships on *models.FileuploadFlyoverAerialService -// according to the relationships in the template. Nothing is inserted into the db -func (t FileuploadFlyoverAerialServiceTemplate) setModelRels(o *models.FileuploadFlyoverAerialService) { - if t.r.CreatorUser != nil { - rel := t.r.CreatorUser.o.Build() - rel.R.CreatorFlyoverAerialServices = append(rel.R.CreatorFlyoverAerialServices, o) - o.CreatorID = rel.ID // h2 - o.R.CreatorUser = rel - } - - if t.r.CSVFileCSV != nil { - rel := t.r.CSVFileCSV.o.Build() - rel.R.CSVFileFlyoverAerialServices = append(rel.R.CSVFileFlyoverAerialServices, o) - o.CSVFile = rel.FileID // h2 - o.R.CSVFileCSV = rel - } - - if t.r.Organization != nil { - rel := t.r.Organization.o.Build() - rel.R.FlyoverAerialServices = append(rel.R.FlyoverAerialServices, o) - o.OrganizationID = rel.ID // h2 - o.R.Organization = rel - } -} - -// BuildSetter returns an *models.FileuploadFlyoverAerialServiceSetter -// this does nothing with the relationship templates -func (o FileuploadFlyoverAerialServiceTemplate) BuildSetter() *models.FileuploadFlyoverAerialServiceSetter { - m := &models.FileuploadFlyoverAerialServiceSetter{} - - if o.Committed != nil { - val := o.Committed() - m.Committed = omit.From(val) - } - if o.Condition != nil { - val := o.Condition() - m.Condition = omit.From(val) - } - if o.Created != nil { - val := o.Created() - m.Created = omit.From(val) - } - if o.CreatorID != nil { - val := o.CreatorID() - m.CreatorID = omit.From(val) - } - if o.CSVFile != nil { - val := o.CSVFile() - m.CSVFile = omit.From(val) - } - if o.Deleted != nil { - val := o.Deleted() - m.Deleted = omitnull.FromNull(val) - } - if o.Geom != nil { - val := o.Geom() - m.Geom = omitnull.FromNull(val) - } - if o.H3cell != nil { - val := o.H3cell() - m.H3cell = omitnull.FromNull(val) - } - if o.ID != nil { - val := o.ID() - m.ID = omit.From(val) - } - if o.OrganizationID != nil { - val := o.OrganizationID() - m.OrganizationID = omit.From(val) - } - - return m -} - -// BuildManySetter returns an []*models.FileuploadFlyoverAerialServiceSetter -// this does nothing with the relationship templates -func (o FileuploadFlyoverAerialServiceTemplate) BuildManySetter(number int) []*models.FileuploadFlyoverAerialServiceSetter { - m := make([]*models.FileuploadFlyoverAerialServiceSetter, number) - - for i := range m { - m[i] = o.BuildSetter() - } - - return m -} - -// Build returns an *models.FileuploadFlyoverAerialService -// Related objects are also created and placed in the .R field -// NOTE: Objects are not inserted into the database. Use FileuploadFlyoverAerialServiceTemplate.Create -func (o FileuploadFlyoverAerialServiceTemplate) Build() *models.FileuploadFlyoverAerialService { - m := &models.FileuploadFlyoverAerialService{} - - if o.Committed != nil { - m.Committed = o.Committed() - } - if o.Condition != nil { - m.Condition = o.Condition() - } - if o.Created != nil { - m.Created = o.Created() - } - if o.CreatorID != nil { - m.CreatorID = o.CreatorID() - } - if o.CSVFile != nil { - m.CSVFile = o.CSVFile() - } - if o.Deleted != nil { - m.Deleted = o.Deleted() - } - if o.Geom != nil { - m.Geom = o.Geom() - } - if o.H3cell != nil { - m.H3cell = o.H3cell() - } - if o.ID != nil { - m.ID = o.ID() - } - if o.OrganizationID != nil { - m.OrganizationID = o.OrganizationID() - } - - o.setModelRels(m) - - return m -} - -// BuildMany returns an models.FileuploadFlyoverAerialServiceSlice -// Related objects are also created and placed in the .R field -// NOTE: Objects are not inserted into the database. Use FileuploadFlyoverAerialServiceTemplate.CreateMany -func (o FileuploadFlyoverAerialServiceTemplate) BuildMany(number int) models.FileuploadFlyoverAerialServiceSlice { - m := make(models.FileuploadFlyoverAerialServiceSlice, number) - - for i := range m { - m[i] = o.Build() - } - - return m -} - -func ensureCreatableFileuploadFlyoverAerialService(m *models.FileuploadFlyoverAerialServiceSetter) { - if !(m.Committed.IsValue()) { - val := random_bool(nil) - m.Committed = omit.From(val) - } - if !(m.Condition.IsValue()) { - val := random_enums_FileuploadPoolconditiontype(nil) - m.Condition = omit.From(val) - } - if !(m.Created.IsValue()) { - val := random_time_Time(nil) - m.Created = omit.From(val) - } - if !(m.CreatorID.IsValue()) { - val := random_int32(nil) - m.CreatorID = omit.From(val) - } - if !(m.CSVFile.IsValue()) { - val := random_int32(nil) - m.CSVFile = omit.From(val) - } - if !(m.OrganizationID.IsValue()) { - val := random_int32(nil) - m.OrganizationID = omit.From(val) - } -} - -// insertOptRels creates and inserts any optional the relationships on *models.FileuploadFlyoverAerialService -// according to the relationships in the template. -// any required relationship should have already exist on the model -func (o *FileuploadFlyoverAerialServiceTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m *models.FileuploadFlyoverAerialService) error { - var err error - - return err -} - -// Create builds a fileuploadFlyoverAerialService and inserts it into the database -// Relations objects are also inserted and placed in the .R field -func (o *FileuploadFlyoverAerialServiceTemplate) Create(ctx context.Context, exec bob.Executor) (*models.FileuploadFlyoverAerialService, error) { - var err error - opt := o.BuildSetter() - ensureCreatableFileuploadFlyoverAerialService(opt) - - if o.r.CreatorUser == nil { - FileuploadFlyoverAerialServiceMods.WithNewCreatorUser().Apply(ctx, o) - } - - var rel0 *models.User - - if o.r.CreatorUser.o.alreadyPersisted { - rel0 = o.r.CreatorUser.o.Build() - } else { - rel0, err = o.r.CreatorUser.o.Create(ctx, exec) - if err != nil { - return nil, err - } - } - - opt.CreatorID = omit.From(rel0.ID) - - if o.r.CSVFileCSV == nil { - FileuploadFlyoverAerialServiceMods.WithNewCSVFileCSV().Apply(ctx, o) - } - - var rel1 *models.FileuploadCSV - - if o.r.CSVFileCSV.o.alreadyPersisted { - rel1 = o.r.CSVFileCSV.o.Build() - } else { - rel1, err = o.r.CSVFileCSV.o.Create(ctx, exec) - if err != nil { - return nil, err - } - } - - opt.CSVFile = omit.From(rel1.FileID) - - if o.r.Organization == nil { - FileuploadFlyoverAerialServiceMods.WithNewOrganization().Apply(ctx, o) - } - - var rel2 *models.Organization - - if o.r.Organization.o.alreadyPersisted { - rel2 = o.r.Organization.o.Build() - } else { - rel2, err = o.r.Organization.o.Create(ctx, exec) - if err != nil { - return nil, err - } - } - - opt.OrganizationID = omit.From(rel2.ID) - - m, err := models.FileuploadFlyoverAerialServices.Insert(opt).One(ctx, exec) - if err != nil { - return nil, err - } - - m.R.CreatorUser = rel0 - m.R.CSVFileCSV = rel1 - m.R.Organization = rel2 - - if err := o.insertOptRels(ctx, exec, m); err != nil { - return nil, err - } - return m, err -} - -// MustCreate builds a fileuploadFlyoverAerialService and inserts it into the database -// Relations objects are also inserted and placed in the .R field -// panics if an error occurs -func (o *FileuploadFlyoverAerialServiceTemplate) MustCreate(ctx context.Context, exec bob.Executor) *models.FileuploadFlyoverAerialService { - m, err := o.Create(ctx, exec) - if err != nil { - panic(err) - } - return m -} - -// CreateOrFail builds a fileuploadFlyoverAerialService and inserts it into the database -// Relations objects are also inserted and placed in the .R field -// It calls `tb.Fatal(err)` on the test/benchmark if an error occurs -func (o *FileuploadFlyoverAerialServiceTemplate) CreateOrFail(ctx context.Context, tb testing.TB, exec bob.Executor) *models.FileuploadFlyoverAerialService { - tb.Helper() - m, err := o.Create(ctx, exec) - if err != nil { - tb.Fatal(err) - return nil - } - return m -} - -// CreateMany builds multiple fileuploadFlyoverAerialServices and inserts them into the database -// Relations objects are also inserted and placed in the .R field -func (o FileuploadFlyoverAerialServiceTemplate) CreateMany(ctx context.Context, exec bob.Executor, number int) (models.FileuploadFlyoverAerialServiceSlice, error) { - var err error - m := make(models.FileuploadFlyoverAerialServiceSlice, number) - - for i := range m { - m[i], err = o.Create(ctx, exec) - if err != nil { - return nil, err - } - } - - return m, nil -} - -// MustCreateMany builds multiple fileuploadFlyoverAerialServices and inserts them into the database -// Relations objects are also inserted and placed in the .R field -// panics if an error occurs -func (o FileuploadFlyoverAerialServiceTemplate) MustCreateMany(ctx context.Context, exec bob.Executor, number int) models.FileuploadFlyoverAerialServiceSlice { - m, err := o.CreateMany(ctx, exec, number) - if err != nil { - panic(err) - } - return m -} - -// CreateManyOrFail builds multiple fileuploadFlyoverAerialServices and inserts them into the database -// Relations objects are also inserted and placed in the .R field -// It calls `tb.Fatal(err)` on the test/benchmark if an error occurs -func (o FileuploadFlyoverAerialServiceTemplate) CreateManyOrFail(ctx context.Context, tb testing.TB, exec bob.Executor, number int) models.FileuploadFlyoverAerialServiceSlice { - tb.Helper() - m, err := o.CreateMany(ctx, exec, number) - if err != nil { - tb.Fatal(err) - return nil - } - return m -} - -// FileuploadFlyoverAerialService has methods that act as mods for the FileuploadFlyoverAerialServiceTemplate -var FileuploadFlyoverAerialServiceMods fileuploadFlyoverAerialServiceMods - -type fileuploadFlyoverAerialServiceMods struct{} - -func (m fileuploadFlyoverAerialServiceMods) RandomizeAllColumns(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModSlice{ - FileuploadFlyoverAerialServiceMods.RandomCommitted(f), - FileuploadFlyoverAerialServiceMods.RandomCondition(f), - FileuploadFlyoverAerialServiceMods.RandomCreated(f), - FileuploadFlyoverAerialServiceMods.RandomCreatorID(f), - FileuploadFlyoverAerialServiceMods.RandomCSVFile(f), - FileuploadFlyoverAerialServiceMods.RandomDeleted(f), - FileuploadFlyoverAerialServiceMods.RandomGeom(f), - FileuploadFlyoverAerialServiceMods.RandomH3cell(f), - FileuploadFlyoverAerialServiceMods.RandomID(f), - FileuploadFlyoverAerialServiceMods.RandomOrganizationID(f), - } -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) Committed(val bool) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Committed = func() bool { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) CommittedFunc(f func() bool) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Committed = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetCommitted() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Committed = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -func (m fileuploadFlyoverAerialServiceMods) RandomCommitted(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Committed = func() bool { - return random_bool(f) - } - }) -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) Condition(val enums.FileuploadPoolconditiontype) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Condition = func() enums.FileuploadPoolconditiontype { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) ConditionFunc(f func() enums.FileuploadPoolconditiontype) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Condition = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetCondition() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Condition = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -func (m fileuploadFlyoverAerialServiceMods) RandomCondition(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Condition = func() enums.FileuploadPoolconditiontype { - return random_enums_FileuploadPoolconditiontype(f) - } - }) -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) Created(val time.Time) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Created = func() time.Time { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) CreatedFunc(f func() time.Time) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Created = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetCreated() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Created = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -func (m fileuploadFlyoverAerialServiceMods) RandomCreated(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Created = func() time.Time { - return random_time_Time(f) - } - }) -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) CreatorID(val int32) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.CreatorID = func() int32 { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) CreatorIDFunc(f func() int32) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.CreatorID = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetCreatorID() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.CreatorID = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -func (m fileuploadFlyoverAerialServiceMods) RandomCreatorID(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.CreatorID = func() int32 { - return random_int32(f) - } - }) -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) CSVFile(val int32) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.CSVFile = func() int32 { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) CSVFileFunc(f func() int32) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.CSVFile = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetCSVFile() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.CSVFile = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -func (m fileuploadFlyoverAerialServiceMods) RandomCSVFile(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.CSVFile = func() int32 { - return random_int32(f) - } - }) -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) Deleted(val null.Val[time.Time]) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Deleted = func() null.Val[time.Time] { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) DeletedFunc(f func() null.Val[time.Time]) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Deleted = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetDeleted() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Deleted = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -// The generated value is sometimes null -func (m fileuploadFlyoverAerialServiceMods) RandomDeleted(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Deleted = func() null.Val[time.Time] { - if f == nil { - f = &defaultFaker - } - - val := random_time_Time(f) - return null.From(val) - } - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -// The generated value is never null -func (m fileuploadFlyoverAerialServiceMods) RandomDeletedNotNull(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Deleted = func() null.Val[time.Time] { - if f == nil { - f = &defaultFaker - } - - val := random_time_Time(f) - return null.From(val) - } - }) -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) Geom(val null.Val[string]) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Geom = func() null.Val[string] { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) GeomFunc(f func() null.Val[string]) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Geom = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetGeom() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Geom = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -// The generated value is sometimes null -func (m fileuploadFlyoverAerialServiceMods) RandomGeom(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Geom = func() null.Val[string] { - if f == nil { - f = &defaultFaker - } - - val := random_string(f) - return null.From(val) - } - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -// The generated value is never null -func (m fileuploadFlyoverAerialServiceMods) RandomGeomNotNull(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.Geom = func() null.Val[string] { - if f == nil { - f = &defaultFaker - } - - val := random_string(f) - return null.From(val) - } - }) -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) H3cell(val null.Val[string]) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.H3cell = func() null.Val[string] { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) H3cellFunc(f func() null.Val[string]) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.H3cell = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetH3cell() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.H3cell = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -// The generated value is sometimes null -func (m fileuploadFlyoverAerialServiceMods) RandomH3cell(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.H3cell = func() null.Val[string] { - if f == nil { - f = &defaultFaker - } - - val := random_string(f) - return null.From(val) - } - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -// The generated value is never null -func (m fileuploadFlyoverAerialServiceMods) RandomH3cellNotNull(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.H3cell = func() null.Val[string] { - if f == nil { - f = &defaultFaker - } - - val := random_string(f) - return null.From(val) - } - }) -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) ID(val int32) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.ID = func() int32 { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) IDFunc(f func() int32) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.ID = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetID() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.ID = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -func (m fileuploadFlyoverAerialServiceMods) RandomID(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.ID = func() int32 { - return random_int32(f) - } - }) -} - -// Set the model columns to this value -func (m fileuploadFlyoverAerialServiceMods) OrganizationID(val int32) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.OrganizationID = func() int32 { return val } - }) -} - -// Set the Column from the function -func (m fileuploadFlyoverAerialServiceMods) OrganizationIDFunc(f func() int32) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.OrganizationID = f - }) -} - -// Clear any values for the column -func (m fileuploadFlyoverAerialServiceMods) UnsetOrganizationID() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.OrganizationID = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -func (m fileuploadFlyoverAerialServiceMods) RandomOrganizationID(f *faker.Faker) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(_ context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.OrganizationID = func() int32 { - return random_int32(f) - } - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithParentsCascading() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - if isDone, _ := fileuploadFlyoverAerialServiceWithParentsCascadingCtx.Value(ctx); isDone { - return - } - ctx = fileuploadFlyoverAerialServiceWithParentsCascadingCtx.WithValue(ctx, true) - { - - related := o.f.NewUserWithContext(ctx, UserMods.WithParentsCascading()) - m.WithCreatorUser(related).Apply(ctx, o) - } - { - - related := o.f.NewFileuploadCSVWithContext(ctx, FileuploadCSVMods.WithParentsCascading()) - m.WithCSVFileCSV(related).Apply(ctx, o) - } - { - - related := o.f.NewOrganizationWithContext(ctx, OrganizationMods.WithParentsCascading()) - m.WithOrganization(related).Apply(ctx, o) - } - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithCreatorUser(rel *UserTemplate) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.r.CreatorUser = &fileuploadFlyoverAerialServiceRCreatorUserR{ - o: rel, - } - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithNewCreatorUser(mods ...UserMod) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - related := o.f.NewUserWithContext(ctx, mods...) - - m.WithCreatorUser(related).Apply(ctx, o) - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithExistingCreatorUser(em *models.User) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.r.CreatorUser = &fileuploadFlyoverAerialServiceRCreatorUserR{ - o: o.f.FromExistingUser(em), - } - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithoutCreatorUser() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.r.CreatorUser = nil - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithCSVFileCSV(rel *FileuploadCSVTemplate) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.r.CSVFileCSV = &fileuploadFlyoverAerialServiceRCSVFileCSVR{ - o: rel, - } - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithNewCSVFileCSV(mods ...FileuploadCSVMod) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - related := o.f.NewFileuploadCSVWithContext(ctx, mods...) - - m.WithCSVFileCSV(related).Apply(ctx, o) - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithExistingCSVFileCSV(em *models.FileuploadCSV) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.r.CSVFileCSV = &fileuploadFlyoverAerialServiceRCSVFileCSVR{ - o: o.f.FromExistingFileuploadCSV(em), - } - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithoutCSVFileCSV() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.r.CSVFileCSV = nil - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithOrganization(rel *OrganizationTemplate) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.r.Organization = &fileuploadFlyoverAerialServiceROrganizationR{ - o: rel, - } - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithNewOrganization(mods ...OrganizationMod) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - related := o.f.NewOrganizationWithContext(ctx, mods...) - - m.WithOrganization(related).Apply(ctx, o) - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithExistingOrganization(em *models.Organization) FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.r.Organization = &fileuploadFlyoverAerialServiceROrganizationR{ - o: o.f.FromExistingOrganization(em), - } - }) -} - -func (m fileuploadFlyoverAerialServiceMods) WithoutOrganization() FileuploadFlyoverAerialServiceMod { - return FileuploadFlyoverAerialServiceModFunc(func(ctx context.Context, o *FileuploadFlyoverAerialServiceTemplate) { - o.r.Organization = nil - }) -} diff --git a/db/factory/fileupload.pool.bob.go b/db/factory/fileupload.pool.bob.go index 84aa53e6..5058170b 100644 --- a/db/factory/fileupload.pool.bob.go +++ b/db/factory/fileupload.pool.bob.go @@ -39,7 +39,6 @@ func (mods FileuploadPoolModSlice) Apply(ctx context.Context, n *FileuploadPoolT // FileuploadPoolTemplate is an object representing the database table. // all columns are optional and should be set by mods type FileuploadPoolTemplate struct { - AddressCity func() string AddressPostalCode func() string AddressStreet func() string Committed func() bool @@ -61,6 +60,9 @@ type FileuploadPoolTemplate struct { ResidentPhoneE164 func() null.Val[string] LineNumber func() int32 Tags func() pgtypes.HStore + AddressNumber func() string + AddressLocality func() string + AddressRegion func() string r fileuploadPoolR f *Factory @@ -143,10 +145,6 @@ func (t FileuploadPoolTemplate) setModelRels(o *models.FileuploadPool) { func (o FileuploadPoolTemplate) BuildSetter() *models.FileuploadPoolSetter { m := &models.FileuploadPoolSetter{} - if o.AddressCity != nil { - val := o.AddressCity() - m.AddressCity = omit.From(val) - } if o.AddressPostalCode != nil { val := o.AddressPostalCode() m.AddressPostalCode = omit.From(val) @@ -231,6 +229,18 @@ func (o FileuploadPoolTemplate) BuildSetter() *models.FileuploadPoolSetter { val := o.Tags() m.Tags = omit.From(val) } + if o.AddressNumber != nil { + val := o.AddressNumber() + m.AddressNumber = omit.From(val) + } + if o.AddressLocality != nil { + val := o.AddressLocality() + m.AddressLocality = omit.From(val) + } + if o.AddressRegion != nil { + val := o.AddressRegion() + m.AddressRegion = omit.From(val) + } return m } @@ -253,9 +263,6 @@ func (o FileuploadPoolTemplate) BuildManySetter(number int) []*models.Fileupload func (o FileuploadPoolTemplate) Build() *models.FileuploadPool { m := &models.FileuploadPool{} - if o.AddressCity != nil { - m.AddressCity = o.AddressCity() - } if o.AddressPostalCode != nil { m.AddressPostalCode = o.AddressPostalCode() } @@ -319,6 +326,15 @@ func (o FileuploadPoolTemplate) Build() *models.FileuploadPool { if o.Tags != nil { m.Tags = o.Tags() } + if o.AddressNumber != nil { + m.AddressNumber = o.AddressNumber() + } + if o.AddressLocality != nil { + m.AddressLocality = o.AddressLocality() + } + if o.AddressRegion != nil { + m.AddressRegion = o.AddressRegion() + } o.setModelRels(m) @@ -339,10 +355,6 @@ func (o FileuploadPoolTemplate) BuildMany(number int) models.FileuploadPoolSlice } func ensureCreatableFileuploadPool(m *models.FileuploadPoolSetter) { - if !(m.AddressCity.IsValue()) { - val := random_string(nil) - m.AddressCity = omit.From(val) - } if !(m.AddressPostalCode.IsValue()) { val := random_string(nil) m.AddressPostalCode = omit.From(val) @@ -399,6 +411,18 @@ func ensureCreatableFileuploadPool(m *models.FileuploadPoolSetter) { val := random_pgtypes_HStore(nil) m.Tags = omit.From(val) } + if !(m.AddressNumber.IsValue()) { + val := random_string(nil) + m.AddressNumber = omit.From(val) + } + if !(m.AddressLocality.IsValue()) { + val := random_string(nil) + m.AddressLocality = omit.From(val) + } + if !(m.AddressRegion.IsValue()) { + val := random_string(nil) + m.AddressRegion = omit.From(val) + } } // insertOptRels creates and inserts any optional the relationships on *models.FileuploadPool @@ -592,7 +616,6 @@ type fileuploadPoolMods struct{} func (m fileuploadPoolMods) RandomizeAllColumns(f *faker.Faker) FileuploadPoolMod { return FileuploadPoolModSlice{ - FileuploadPoolMods.RandomAddressCity(f), FileuploadPoolMods.RandomAddressPostalCode(f), FileuploadPoolMods.RandomAddressStreet(f), FileuploadPoolMods.RandomCommitted(f), @@ -614,40 +637,12 @@ func (m fileuploadPoolMods) RandomizeAllColumns(f *faker.Faker) FileuploadPoolMo FileuploadPoolMods.RandomResidentPhoneE164(f), FileuploadPoolMods.RandomLineNumber(f), FileuploadPoolMods.RandomTags(f), + FileuploadPoolMods.RandomAddressNumber(f), + FileuploadPoolMods.RandomAddressLocality(f), + FileuploadPoolMods.RandomAddressRegion(f), } } -// Set the model columns to this value -func (m fileuploadPoolMods) AddressCity(val string) FileuploadPoolMod { - return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { - o.AddressCity = func() string { return val } - }) -} - -// Set the Column from the function -func (m fileuploadPoolMods) AddressCityFunc(f func() string) FileuploadPoolMod { - return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { - o.AddressCity = f - }) -} - -// Clear any values for the column -func (m fileuploadPoolMods) UnsetAddressCity() FileuploadPoolMod { - return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { - o.AddressCity = nil - }) -} - -// Generates a random value for the column using the given faker -// if faker is nil, a default faker is used -func (m fileuploadPoolMods) RandomAddressCity(f *faker.Faker) FileuploadPoolMod { - return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { - o.AddressCity = func() string { - return random_string(f) - } - }) -} - // Set the model columns to this value func (m fileuploadPoolMods) AddressPostalCode(val string) FileuploadPoolMod { return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { @@ -1431,6 +1426,99 @@ func (m fileuploadPoolMods) RandomTags(f *faker.Faker) FileuploadPoolMod { }) } +// Set the model columns to this value +func (m fileuploadPoolMods) AddressNumber(val string) FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressNumber = func() string { return val } + }) +} + +// Set the Column from the function +func (m fileuploadPoolMods) AddressNumberFunc(f func() string) FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressNumber = f + }) +} + +// Clear any values for the column +func (m fileuploadPoolMods) UnsetAddressNumber() FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressNumber = nil + }) +} + +// Generates a random value for the column using the given faker +// if faker is nil, a default faker is used +func (m fileuploadPoolMods) RandomAddressNumber(f *faker.Faker) FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressNumber = func() string { + return random_string(f) + } + }) +} + +// Set the model columns to this value +func (m fileuploadPoolMods) AddressLocality(val string) FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressLocality = func() string { return val } + }) +} + +// Set the Column from the function +func (m fileuploadPoolMods) AddressLocalityFunc(f func() string) FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressLocality = f + }) +} + +// Clear any values for the column +func (m fileuploadPoolMods) UnsetAddressLocality() FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressLocality = nil + }) +} + +// Generates a random value for the column using the given faker +// if faker is nil, a default faker is used +func (m fileuploadPoolMods) RandomAddressLocality(f *faker.Faker) FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressLocality = func() string { + return random_string(f) + } + }) +} + +// Set the model columns to this value +func (m fileuploadPoolMods) AddressRegion(val string) FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressRegion = func() string { return val } + }) +} + +// Set the Column from the function +func (m fileuploadPoolMods) AddressRegionFunc(f func() string) FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressRegion = f + }) +} + +// Clear any values for the column +func (m fileuploadPoolMods) UnsetAddressRegion() FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressRegion = nil + }) +} + +// Generates a random value for the column using the given faker +// if faker is nil, a default faker is used +func (m fileuploadPoolMods) RandomAddressRegion(f *faker.Faker) FileuploadPoolMod { + return FileuploadPoolModFunc(func(_ context.Context, o *FileuploadPoolTemplate) { + o.AddressRegion = func() string { + return random_string(f) + } + }) +} + func (m fileuploadPoolMods) WithParentsCascading() FileuploadPoolMod { return FileuploadPoolModFunc(func(ctx context.Context, o *FileuploadPoolTemplate) { if isDone, _ := fileuploadPoolWithParentsCascadingCtx.Value(ctx); isDone { diff --git a/db/factory/organization.bob.go b/db/factory/organization.bob.go index add3c91a..e92fc48f 100644 --- a/db/factory/organization.bob.go +++ b/db/factory/organization.bob.go @@ -112,7 +112,6 @@ type organizationR struct { Zones2s []*organizationRZones2sR FieldseekerSyncs []*organizationRFieldseekerSyncsR Files []*organizationRFilesR - FlyoverAerialServices []*organizationRFlyoverAerialServicesR Pools []*organizationRPoolsR H3Aggregations []*organizationRH3AggregationsR NoteAudios []*organizationRNoteAudiosR @@ -261,10 +260,6 @@ type organizationRFilesR struct { number int o *FileuploadFileTemplate } -type organizationRFlyoverAerialServicesR struct { - number int - o *FileuploadFlyoverAerialServiceTemplate -} type organizationRPoolsR struct { number int o *FileuploadPoolTemplate @@ -754,19 +749,6 @@ func (t OrganizationTemplate) setModelRels(o *models.Organization) { o.R.Files = rel } - if t.r.FlyoverAerialServices != nil { - rel := models.FileuploadFlyoverAerialServiceSlice{} - for _, r := range t.r.FlyoverAerialServices { - related := r.o.BuildMany(r.number) - for _, rel := range related { - rel.OrganizationID = o.ID // h2 - rel.R.Organization = o - } - rel = append(rel, related...) - } - o.R.FlyoverAerialServices = rel - } - if t.r.Pools != nil { rel := models.FileuploadPoolSlice{} for _, r := range t.r.Pools { @@ -1809,26 +1791,6 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu } } - isFlyoverAerialServicesDone, _ := organizationRelFlyoverAerialServicesCtx.Value(ctx) - if !isFlyoverAerialServicesDone && o.r.FlyoverAerialServices != nil { - ctx = organizationRelFlyoverAerialServicesCtx.WithValue(ctx, true) - for _, r := range o.r.FlyoverAerialServices { - if r.o.alreadyPersisted { - m.R.FlyoverAerialServices = append(m.R.FlyoverAerialServices, r.o.Build()) - } else { - rel34, err := r.o.CreateMany(ctx, exec, r.number) - if err != nil { - return err - } - - err = m.AttachFlyoverAerialServices(ctx, exec, rel34...) - if err != nil { - return err - } - } - } - } - isPoolsDone, _ := organizationRelPoolsCtx.Value(ctx) if !isPoolsDone && o.r.Pools != nil { ctx = organizationRelPoolsCtx.WithValue(ctx, true) @@ -1836,12 +1798,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if r.o.alreadyPersisted { m.R.Pools = append(m.R.Pools, r.o.Build()) } else { - rel35, err := r.o.CreateMany(ctx, exec, r.number) + rel34, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachPools(ctx, exec, rel35...) + err = m.AttachPools(ctx, exec, rel34...) if err != nil { return err } @@ -1856,12 +1818,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if r.o.alreadyPersisted { m.R.H3Aggregations = append(m.R.H3Aggregations, r.o.Build()) } else { - rel36, err := r.o.CreateMany(ctx, exec, r.number) + rel35, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachH3Aggregations(ctx, exec, rel36...) + err = m.AttachH3Aggregations(ctx, exec, rel35...) if err != nil { return err } @@ -1876,12 +1838,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if r.o.alreadyPersisted { m.R.NoteAudios = append(m.R.NoteAudios, r.o.Build()) } else { - rel37, err := r.o.CreateMany(ctx, exec, r.number) + rel36, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachNoteAudios(ctx, exec, rel37...) + err = m.AttachNoteAudios(ctx, exec, rel36...) if err != nil { return err } @@ -1896,12 +1858,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if r.o.alreadyPersisted { m.R.NoteImages = append(m.R.NoteImages, r.o.Build()) } else { - rel38, err := r.o.CreateMany(ctx, exec, r.number) + rel37, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachNoteImages(ctx, exec, rel38...) + err = m.AttachNoteImages(ctx, exec, rel37...) if err != nil { return err } @@ -1915,12 +1877,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if o.r.ArcgisAccountAccount.o.alreadyPersisted { m.R.ArcgisAccountAccount = o.r.ArcgisAccountAccount.o.Build() } else { - var rel39 *models.ArcgisAccount - rel39, err = o.r.ArcgisAccountAccount.o.Create(ctx, exec) + var rel38 *models.ArcgisAccount + rel38, err = o.r.ArcgisAccountAccount.o.Create(ctx, exec) if err != nil { return err } - err = m.AttachArcgisAccountAccount(ctx, exec, rel39) + err = m.AttachArcgisAccountAccount(ctx, exec, rel38) if err != nil { return err } @@ -1934,12 +1896,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if o.r.FieldseekerServiceFeatureItemServiceFeature.o.alreadyPersisted { m.R.FieldseekerServiceFeatureItemServiceFeature = o.r.FieldseekerServiceFeatureItemServiceFeature.o.Build() } else { - var rel40 *models.ArcgisServiceFeature - rel40, err = o.r.FieldseekerServiceFeatureItemServiceFeature.o.Create(ctx, exec) + var rel39 *models.ArcgisServiceFeature + rel39, err = o.r.FieldseekerServiceFeatureItemServiceFeature.o.Create(ctx, exec) if err != nil { return err } - err = m.AttachFieldseekerServiceFeatureItemServiceFeature(ctx, exec, rel40) + err = m.AttachFieldseekerServiceFeatureItemServiceFeature(ctx, exec, rel39) if err != nil { return err } @@ -1954,12 +1916,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if r.o.alreadyPersisted { m.R.Nuisances = append(m.R.Nuisances, r.o.Build()) } else { - rel41, err := r.o.CreateMany(ctx, exec, r.number) + rel40, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachNuisances(ctx, exec, rel41...) + err = m.AttachNuisances(ctx, exec, rel40...) if err != nil { return err } @@ -1974,12 +1936,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if r.o.alreadyPersisted { m.R.PublicreportPool = append(m.R.PublicreportPool, r.o.Build()) } else { - rel42, err := r.o.CreateMany(ctx, exec, r.number) + rel41, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachPublicreportPool(ctx, exec, rel42...) + err = m.AttachPublicreportPool(ctx, exec, rel41...) if err != nil { return err } @@ -1994,12 +1956,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if r.o.alreadyPersisted { m.R.Quicks = append(m.R.Quicks, r.o.Build()) } else { - rel43, err := r.o.CreateMany(ctx, exec, r.number) + rel42, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachQuicks(ctx, exec, rel43...) + err = m.AttachQuicks(ctx, exec, rel42...) if err != nil { return err } @@ -2014,12 +1976,12 @@ func (o *OrganizationTemplate) insertOptRels(ctx context.Context, exec bob.Execu if r.o.alreadyPersisted { m.R.User = append(m.R.User, r.o.Build()) } else { - rel44, err := r.o.CreateMany(ctx, exec, r.number) + rel43, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachUser(ctx, exec, rel44...) + err = m.AttachUser(ctx, exec, rel43...) if err != nil { return err } @@ -5517,54 +5479,6 @@ func (m organizationMods) WithoutFiles() OrganizationMod { }) } -func (m organizationMods) WithFlyoverAerialServices(number int, related *FileuploadFlyoverAerialServiceTemplate) OrganizationMod { - return OrganizationModFunc(func(ctx context.Context, o *OrganizationTemplate) { - o.r.FlyoverAerialServices = []*organizationRFlyoverAerialServicesR{{ - number: number, - o: related, - }} - }) -} - -func (m organizationMods) WithNewFlyoverAerialServices(number int, mods ...FileuploadFlyoverAerialServiceMod) OrganizationMod { - return OrganizationModFunc(func(ctx context.Context, o *OrganizationTemplate) { - related := o.f.NewFileuploadFlyoverAerialServiceWithContext(ctx, mods...) - m.WithFlyoverAerialServices(number, related).Apply(ctx, o) - }) -} - -func (m organizationMods) AddFlyoverAerialServices(number int, related *FileuploadFlyoverAerialServiceTemplate) OrganizationMod { - return OrganizationModFunc(func(ctx context.Context, o *OrganizationTemplate) { - o.r.FlyoverAerialServices = append(o.r.FlyoverAerialServices, &organizationRFlyoverAerialServicesR{ - number: number, - o: related, - }) - }) -} - -func (m organizationMods) AddNewFlyoverAerialServices(number int, mods ...FileuploadFlyoverAerialServiceMod) OrganizationMod { - return OrganizationModFunc(func(ctx context.Context, o *OrganizationTemplate) { - related := o.f.NewFileuploadFlyoverAerialServiceWithContext(ctx, mods...) - m.AddFlyoverAerialServices(number, related).Apply(ctx, o) - }) -} - -func (m organizationMods) AddExistingFlyoverAerialServices(existingModels ...*models.FileuploadFlyoverAerialService) OrganizationMod { - return OrganizationModFunc(func(ctx context.Context, o *OrganizationTemplate) { - for _, em := range existingModels { - o.r.FlyoverAerialServices = append(o.r.FlyoverAerialServices, &organizationRFlyoverAerialServicesR{ - o: o.f.FromExistingFileuploadFlyoverAerialService(em), - }) - } - }) -} - -func (m organizationMods) WithoutFlyoverAerialServices() OrganizationMod { - return OrganizationModFunc(func(ctx context.Context, o *OrganizationTemplate) { - o.r.FlyoverAerialServices = nil - }) -} - func (m organizationMods) WithPools(number int, related *FileuploadPoolTemplate) OrganizationMod { return OrganizationModFunc(func(ctx context.Context, o *OrganizationTemplate) { o.r.Pools = []*organizationRPoolsR{{ diff --git a/db/factory/user_.bob.go b/db/factory/user_.bob.go index f4289873..22d66a94 100644 --- a/db/factory/user_.bob.go +++ b/db/factory/user_.bob.go @@ -63,7 +63,6 @@ type userR struct { PublicUserUser []*userRPublicUserUserR CreatorComplianceReportRequests []*userRCreatorComplianceReportRequestsR CreatorFiles []*userRCreatorFilesR - CreatorFlyoverAerialServices []*userRCreatorFlyoverAerialServicesR FileuploadPool []*userRFileuploadPoolR CreatorNoteAudios []*userRCreatorNoteAudiosR DeletorNoteAudios []*userRDeletorNoteAudiosR @@ -92,10 +91,6 @@ type userRCreatorFilesR struct { number int o *FileuploadFileTemplate } -type userRCreatorFlyoverAerialServicesR struct { - number int - o *FileuploadFlyoverAerialServiceTemplate -} type userRFileuploadPoolR struct { number int o *FileuploadPoolTemplate @@ -198,19 +193,6 @@ func (t UserTemplate) setModelRels(o *models.User) { o.R.CreatorFiles = rel } - if t.r.CreatorFlyoverAerialServices != nil { - rel := models.FileuploadFlyoverAerialServiceSlice{} - for _, r := range t.r.CreatorFlyoverAerialServices { - related := r.o.BuildMany(r.number) - for _, rel := range related { - rel.CreatorID = o.ID // h2 - rel.R.CreatorUser = o - } - rel = append(rel, related...) - } - o.R.CreatorFlyoverAerialServices = rel - } - if t.r.FileuploadPool != nil { rel := models.FileuploadPoolSlice{} for _, r := range t.r.FileuploadPool { @@ -586,26 +568,6 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * } } - isCreatorFlyoverAerialServicesDone, _ := userRelCreatorFlyoverAerialServicesCtx.Value(ctx) - if !isCreatorFlyoverAerialServicesDone && o.r.CreatorFlyoverAerialServices != nil { - ctx = userRelCreatorFlyoverAerialServicesCtx.WithValue(ctx, true) - for _, r := range o.r.CreatorFlyoverAerialServices { - if r.o.alreadyPersisted { - m.R.CreatorFlyoverAerialServices = append(m.R.CreatorFlyoverAerialServices, r.o.Build()) - } else { - rel4, err := r.o.CreateMany(ctx, exec, r.number) - if err != nil { - return err - } - - err = m.AttachCreatorFlyoverAerialServices(ctx, exec, rel4...) - if err != nil { - return err - } - } - } - } - isFileuploadPoolDone, _ := userRelFileuploadPoolCtx.Value(ctx) if !isFileuploadPoolDone && o.r.FileuploadPool != nil { ctx = userRelFileuploadPoolCtx.WithValue(ctx, true) @@ -613,12 +575,12 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * if r.o.alreadyPersisted { m.R.FileuploadPool = append(m.R.FileuploadPool, r.o.Build()) } else { - rel5, err := r.o.CreateMany(ctx, exec, r.number) + rel4, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachFileuploadPool(ctx, exec, rel5...) + err = m.AttachFileuploadPool(ctx, exec, rel4...) if err != nil { return err } @@ -633,12 +595,12 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * if r.o.alreadyPersisted { m.R.CreatorNoteAudios = append(m.R.CreatorNoteAudios, r.o.Build()) } else { - rel6, err := r.o.CreateMany(ctx, exec, r.number) + rel5, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachCreatorNoteAudios(ctx, exec, rel6...) + err = m.AttachCreatorNoteAudios(ctx, exec, rel5...) if err != nil { return err } @@ -653,12 +615,12 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * if r.o.alreadyPersisted { m.R.DeletorNoteAudios = append(m.R.DeletorNoteAudios, r.o.Build()) } else { - rel7, err := r.o.CreateMany(ctx, exec, r.number) + rel6, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachDeletorNoteAudios(ctx, exec, rel7...) + err = m.AttachDeletorNoteAudios(ctx, exec, rel6...) if err != nil { return err } @@ -673,12 +635,12 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * if r.o.alreadyPersisted { m.R.CreatorNoteImages = append(m.R.CreatorNoteImages, r.o.Build()) } else { - rel8, err := r.o.CreateMany(ctx, exec, r.number) + rel7, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachCreatorNoteImages(ctx, exec, rel8...) + err = m.AttachCreatorNoteImages(ctx, exec, rel7...) if err != nil { return err } @@ -693,12 +655,12 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * if r.o.alreadyPersisted { m.R.DeletorNoteImages = append(m.R.DeletorNoteImages, r.o.Build()) } else { - rel9, err := r.o.CreateMany(ctx, exec, r.number) + rel8, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachDeletorNoteImages(ctx, exec, rel9...) + err = m.AttachDeletorNoteImages(ctx, exec, rel8...) if err != nil { return err } @@ -713,12 +675,12 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * if r.o.alreadyPersisted { m.R.UserNotifications = append(m.R.UserNotifications, r.o.Build()) } else { - rel10, err := r.o.CreateMany(ctx, exec, r.number) + rel9, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachUserNotifications(ctx, exec, rel10...) + err = m.AttachUserNotifications(ctx, exec, rel9...) if err != nil { return err } @@ -733,12 +695,12 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * if r.o.alreadyPersisted { m.R.CreatorPools = append(m.R.CreatorPools, r.o.Build()) } else { - rel11, err := r.o.CreateMany(ctx, exec, r.number) + rel10, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachCreatorPools(ctx, exec, rel11...) + err = m.AttachCreatorPools(ctx, exec, rel10...) if err != nil { return err } @@ -753,12 +715,12 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * if r.o.alreadyPersisted { m.R.CreatorResidents = append(m.R.CreatorResidents, r.o.Build()) } else { - rel12, err := r.o.CreateMany(ctx, exec, r.number) + rel11, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachCreatorResidents(ctx, exec, rel12...) + err = m.AttachCreatorResidents(ctx, exec, rel11...) if err != nil { return err } @@ -773,12 +735,12 @@ func (o *UserTemplate) insertOptRels(ctx context.Context, exec bob.Executor, m * if r.o.alreadyPersisted { m.R.CreatorSites = append(m.R.CreatorSites, r.o.Build()) } else { - rel13, err := r.o.CreateMany(ctx, exec, r.number) + rel12, err := r.o.CreateMany(ctx, exec, r.number) if err != nil { return err } - err = m.AttachCreatorSites(ctx, exec, rel13...) + err = m.AttachCreatorSites(ctx, exec, rel12...) if err != nil { return err } @@ -800,25 +762,25 @@ func (o *UserTemplate) Create(ctx context.Context, exec bob.Executor) (*models.U UserMods.WithNewOrganization().Apply(ctx, o) } - var rel14 *models.Organization + var rel13 *models.Organization if o.r.Organization.o.alreadyPersisted { - rel14 = o.r.Organization.o.Build() + rel13 = o.r.Organization.o.Build() } else { - rel14, err = o.r.Organization.o.Create(ctx, exec) + rel13, err = o.r.Organization.o.Create(ctx, exec) if err != nil { return nil, err } } - opt.OrganizationID = omit.From(rel14.ID) + opt.OrganizationID = omit.From(rel13.ID) m, err := models.Users.Insert(opt).One(ctx, exec) if err != nil { return nil, err } - m.R.Organization = rel14 + m.R.Organization = rel13 if err := o.insertOptRels(ctx, exec, m); err != nil { return nil, err @@ -1684,54 +1646,6 @@ func (m userMods) WithoutCreatorFiles() UserMod { }) } -func (m userMods) WithCreatorFlyoverAerialServices(number int, related *FileuploadFlyoverAerialServiceTemplate) UserMod { - return UserModFunc(func(ctx context.Context, o *UserTemplate) { - o.r.CreatorFlyoverAerialServices = []*userRCreatorFlyoverAerialServicesR{{ - number: number, - o: related, - }} - }) -} - -func (m userMods) WithNewCreatorFlyoverAerialServices(number int, mods ...FileuploadFlyoverAerialServiceMod) UserMod { - return UserModFunc(func(ctx context.Context, o *UserTemplate) { - related := o.f.NewFileuploadFlyoverAerialServiceWithContext(ctx, mods...) - m.WithCreatorFlyoverAerialServices(number, related).Apply(ctx, o) - }) -} - -func (m userMods) AddCreatorFlyoverAerialServices(number int, related *FileuploadFlyoverAerialServiceTemplate) UserMod { - return UserModFunc(func(ctx context.Context, o *UserTemplate) { - o.r.CreatorFlyoverAerialServices = append(o.r.CreatorFlyoverAerialServices, &userRCreatorFlyoverAerialServicesR{ - number: number, - o: related, - }) - }) -} - -func (m userMods) AddNewCreatorFlyoverAerialServices(number int, mods ...FileuploadFlyoverAerialServiceMod) UserMod { - return UserModFunc(func(ctx context.Context, o *UserTemplate) { - related := o.f.NewFileuploadFlyoverAerialServiceWithContext(ctx, mods...) - m.AddCreatorFlyoverAerialServices(number, related).Apply(ctx, o) - }) -} - -func (m userMods) AddExistingCreatorFlyoverAerialServices(existingModels ...*models.FileuploadFlyoverAerialService) UserMod { - return UserModFunc(func(ctx context.Context, o *UserTemplate) { - for _, em := range existingModels { - o.r.CreatorFlyoverAerialServices = append(o.r.CreatorFlyoverAerialServices, &userRCreatorFlyoverAerialServicesR{ - o: o.f.FromExistingFileuploadFlyoverAerialService(em), - }) - } - }) -} - -func (m userMods) WithoutCreatorFlyoverAerialServices() UserMod { - return UserModFunc(func(ctx context.Context, o *UserTemplate) { - o.r.CreatorFlyoverAerialServices = nil - }) -} - func (m userMods) WithFileuploadPool(number int, related *FileuploadPoolTemplate) UserMod { return UserModFunc(func(ctx context.Context, o *UserTemplate) { o.r.FileuploadPool = []*userRFileuploadPoolR{{ diff --git a/db/migrations/00079_merge_pool_upload_row_types.sql b/db/migrations/00079_merge_pool_upload_row_types.sql new file mode 100644 index 00000000..4eca2180 --- /dev/null +++ b/db/migrations/00079_merge_pool_upload_row_types.sql @@ -0,0 +1,38 @@ +-- +goose Up +ALTER TABLE fileupload.pool ADD COLUMN address_number TEXT; +UPDATE fileupload.pool SET address_number = ''; +ALTER TABLE fileupload.pool ALTER COLUMN address_number SET NOT NULL; + +ALTER TABLE fileupload.pool ADD COLUMN address_locality TEXT; +UPDATE fileupload.pool SET address_locality = address_city; +ALTER TABLE fileupload.pool ALTER COLUMN address_locality SET NOT NULL; + +ALTER TABLE fileupload.pool ADD COLUMN address_region TEXT; +UPDATE fileupload.pool SET address_region = ''; +ALTER TABLE fileupload.pool ALTER COLUMN address_region SET NOT NULL; + +ALTER TABLE fileupload.pool DROP COLUMN address_city; + +DROP TABLE fileupload.flyover_aerial_service; +-- +goose Down +CREATE TABLE fileupload.flyover_aerial_service ( + committed BOOLEAN NOT NULL, -- Whether or not its just proposed before a CSV file is committed + condition fileupload.PoolConditionType NOT NULL, + created TIMESTAMP WITHOUT TIME ZONE NOT NULL, + creator_id INTEGER REFERENCES user_(id) NOT NULL, + csv_file INTEGER REFERENCES fileupload.csv(file_id) NOT NULL, + deleted TIMESTAMP WITHOUT TIME ZONE, + geom geometry(Point, 4326), + h3cell h3index, + id SERIAL, + organization_id INTEGER REFERENCES organization(id) NOT NULL, + PRIMARY KEY (id) +); + +ALTER TABLE fileupload.pool ADD COLUMN address_city TEXT; +UPDATE fileupload.pool SET address_city = ''; +ALTER TABLE fileupload.pool ALTER COLUMN address_city SET NOT NULL; + +ALTER TABLE fileupload.pool DROP COLUMN address_region; +ALTER TABLE fileupload.pool DROP COLUMN address_locality; +ALTER TABLE fileupload.pool DROP COLUMN address_number; diff --git a/db/models/bob_joins.bob.go b/db/models/bob_joins.bob.go index 76f60ab3..d2e3bbf2 100644 --- a/db/models/bob_joins.bob.go +++ b/db/models/bob_joins.bob.go @@ -86,7 +86,6 @@ type joins[Q dialect.Joinable] struct { FileuploadErrorCSVS joinSet[fileuploadErrorCSVJoins[Q]] FileuploadErrorFiles joinSet[fileuploadErrorFileJoins[Q]] FileuploadFiles joinSet[fileuploadFileJoins[Q]] - FileuploadFlyoverAerialServices joinSet[fileuploadFlyoverAerialServiceJoins[Q]] FileuploadPools joinSet[fileuploadPoolJoins[Q]] H3Aggregations joinSet[h3AggregationJoins[Q]] NoteAudios joinSet[noteAudioJoins[Q]] @@ -182,7 +181,6 @@ func getJoins[Q dialect.Joinable]() joins[Q] { FileuploadErrorCSVS: buildJoinSet[fileuploadErrorCSVJoins[Q]](FileuploadErrorCSVS.Columns, buildFileuploadErrorCSVJoins), FileuploadErrorFiles: buildJoinSet[fileuploadErrorFileJoins[Q]](FileuploadErrorFiles.Columns, buildFileuploadErrorFileJoins), FileuploadFiles: buildJoinSet[fileuploadFileJoins[Q]](FileuploadFiles.Columns, buildFileuploadFileJoins), - FileuploadFlyoverAerialServices: buildJoinSet[fileuploadFlyoverAerialServiceJoins[Q]](FileuploadFlyoverAerialServices.Columns, buildFileuploadFlyoverAerialServiceJoins), FileuploadPools: buildJoinSet[fileuploadPoolJoins[Q]](FileuploadPools.Columns, buildFileuploadPoolJoins), H3Aggregations: buildJoinSet[h3AggregationJoins[Q]](H3Aggregations.Columns, buildH3AggregationJoins), NoteAudios: buildJoinSet[noteAudioJoins[Q]](NoteAudios.Columns, buildNoteAudioJoins), diff --git a/db/models/bob_loaders.bob.go b/db/models/bob_loaders.bob.go index b5afd551..79c1ab3e 100644 --- a/db/models/bob_loaders.bob.go +++ b/db/models/bob_loaders.bob.go @@ -71,7 +71,6 @@ type preloaders struct { FileuploadErrorCSV fileuploadErrorCSVPreloader FileuploadErrorFile fileuploadErrorFilePreloader FileuploadFile fileuploadFilePreloader - FileuploadFlyoverAerialService fileuploadFlyoverAerialServicePreloader FileuploadPool fileuploadPoolPreloader H3Aggregation h3AggregationPreloader NoteAudio noteAudioPreloader @@ -159,7 +158,6 @@ func getPreloaders() preloaders { FileuploadErrorCSV: buildFileuploadErrorCSVPreloader(), FileuploadErrorFile: buildFileuploadErrorFilePreloader(), FileuploadFile: buildFileuploadFilePreloader(), - FileuploadFlyoverAerialService: buildFileuploadFlyoverAerialServicePreloader(), FileuploadPool: buildFileuploadPoolPreloader(), H3Aggregation: buildH3AggregationPreloader(), NoteAudio: buildNoteAudioPreloader(), @@ -253,7 +251,6 @@ type thenLoaders[Q orm.Loadable] struct { FileuploadErrorCSV fileuploadErrorCSVThenLoader[Q] FileuploadErrorFile fileuploadErrorFileThenLoader[Q] FileuploadFile fileuploadFileThenLoader[Q] - FileuploadFlyoverAerialService fileuploadFlyoverAerialServiceThenLoader[Q] FileuploadPool fileuploadPoolThenLoader[Q] H3Aggregation h3AggregationThenLoader[Q] NoteAudio noteAudioThenLoader[Q] @@ -341,7 +338,6 @@ func getThenLoaders[Q orm.Loadable]() thenLoaders[Q] { FileuploadErrorCSV: buildFileuploadErrorCSVThenLoader[Q](), FileuploadErrorFile: buildFileuploadErrorFileThenLoader[Q](), FileuploadFile: buildFileuploadFileThenLoader[Q](), - FileuploadFlyoverAerialService: buildFileuploadFlyoverAerialServiceThenLoader[Q](), FileuploadPool: buildFileuploadPoolThenLoader[Q](), H3Aggregation: buildH3AggregationThenLoader[Q](), NoteAudio: buildNoteAudioThenLoader[Q](), diff --git a/db/models/bob_where.bob.go b/db/models/bob_where.bob.go index 885df44b..2da57038 100644 --- a/db/models/bob_where.bob.go +++ b/db/models/bob_where.bob.go @@ -71,7 +71,6 @@ func Where[Q psql.Filterable]() struct { FileuploadErrorCSVS fileuploadErrorCSVWhere[Q] FileuploadErrorFiles fileuploadErrorFileWhere[Q] FileuploadFiles fileuploadFileWhere[Q] - FileuploadFlyoverAerialServices fileuploadFlyoverAerialServiceWhere[Q] FileuploadPools fileuploadPoolWhere[Q] GeographyColumns geographyColumnWhere[Q] GeometryColumns geometryColumnWhere[Q] @@ -165,7 +164,6 @@ func Where[Q psql.Filterable]() struct { FileuploadErrorCSVS fileuploadErrorCSVWhere[Q] FileuploadErrorFiles fileuploadErrorFileWhere[Q] FileuploadFiles fileuploadFileWhere[Q] - FileuploadFlyoverAerialServices fileuploadFlyoverAerialServiceWhere[Q] FileuploadPools fileuploadPoolWhere[Q] GeographyColumns geographyColumnWhere[Q] GeometryColumns geometryColumnWhere[Q] @@ -258,7 +256,6 @@ func Where[Q psql.Filterable]() struct { FileuploadErrorCSVS: buildFileuploadErrorCSVWhere[Q](FileuploadErrorCSVS.Columns), FileuploadErrorFiles: buildFileuploadErrorFileWhere[Q](FileuploadErrorFiles.Columns), FileuploadFiles: buildFileuploadFileWhere[Q](FileuploadFiles.Columns), - FileuploadFlyoverAerialServices: buildFileuploadFlyoverAerialServiceWhere[Q](FileuploadFlyoverAerialServices.Columns), FileuploadPools: buildFileuploadPoolWhere[Q](FileuploadPools.Columns), GeographyColumns: buildGeographyColumnWhere[Q](GeographyColumns.Columns), GeometryColumns: buildGeometryColumnWhere[Q](GeometryColumns.Columns), diff --git a/db/models/fileupload.csv.bob.go b/db/models/fileupload.csv.bob.go index 7adf77fd..5b1f151d 100644 --- a/db/models/fileupload.csv.bob.go +++ b/db/models/fileupload.csv.bob.go @@ -49,10 +49,9 @@ type FileuploadCSVSQuery = *psql.ViewQuery[*FileuploadCSV, FileuploadCSVSlice] // fileuploadCSVR is where relationships are stored. type fileuploadCSVR struct { - File *FileuploadFile // fileupload.csv.csv_file_id_fkey - CSVFileErrorCSVS FileuploadErrorCSVSlice // fileupload.error_csv.error_csv_csv_file_id_fkey - CSVFileFlyoverAerialServices FileuploadFlyoverAerialServiceSlice // fileupload.flyover_aerial_service.flyover_aerial_service_csv_file_fkey - CSVFilePools FileuploadPoolSlice // fileupload.pool.pool_csv_file_fkey + File *FileuploadFile // fileupload.csv.csv_file_id_fkey + CSVFileErrorCSVS FileuploadErrorCSVSlice // fileupload.error_csv.error_csv_csv_file_id_fkey + CSVFilePools FileuploadPoolSlice // fileupload.pool.pool_csv_file_fkey } func buildFileuploadCSVColumns(alias string) fileuploadCSVColumns { @@ -471,30 +470,6 @@ func (os FileuploadCSVSlice) CSVFileErrorCSVS(mods ...bob.Mod[*dialect.SelectQue )...) } -// CSVFileFlyoverAerialServices starts a query for related objects on fileupload.flyover_aerial_service -func (o *FileuploadCSV) CSVFileFlyoverAerialServices(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadFlyoverAerialServicesQuery { - return FileuploadFlyoverAerialServices.Query(append(mods, - sm.Where(FileuploadFlyoverAerialServices.Columns.CSVFile.EQ(psql.Arg(o.FileID))), - )...) -} - -func (os FileuploadCSVSlice) CSVFileFlyoverAerialServices(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadFlyoverAerialServicesQuery { - pkFileID := make(pgtypes.Array[int32], 0, len(os)) - for _, o := range os { - if o == nil { - continue - } - pkFileID = append(pkFileID, o.FileID) - } - PKArgExpr := psql.Select(sm.Columns( - psql.F("unnest", psql.Cast(psql.Arg(pkFileID), "integer[]")), - )) - - return FileuploadFlyoverAerialServices.Query(append(mods, - sm.Where(psql.Group(FileuploadFlyoverAerialServices.Columns.CSVFile).OP("IN", PKArgExpr)), - )...) -} - // CSVFilePools starts a query for related objects on fileupload.pool func (o *FileuploadCSV) CSVFilePools(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadPoolsQuery { return FileuploadPools.Query(append(mods, @@ -635,74 +610,6 @@ func (fileuploadCSV0 *FileuploadCSV) AttachCSVFileErrorCSVS(ctx context.Context, return nil } -func insertFileuploadCSVCSVFileFlyoverAerialServices0(ctx context.Context, exec bob.Executor, fileuploadFlyoverAerialServices1 []*FileuploadFlyoverAerialServiceSetter, fileuploadCSV0 *FileuploadCSV) (FileuploadFlyoverAerialServiceSlice, error) { - for i := range fileuploadFlyoverAerialServices1 { - fileuploadFlyoverAerialServices1[i].CSVFile = omit.From(fileuploadCSV0.FileID) - } - - ret, err := FileuploadFlyoverAerialServices.Insert(bob.ToMods(fileuploadFlyoverAerialServices1...)).All(ctx, exec) - if err != nil { - return ret, fmt.Errorf("insertFileuploadCSVCSVFileFlyoverAerialServices0: %w", err) - } - - return ret, nil -} - -func attachFileuploadCSVCSVFileFlyoverAerialServices0(ctx context.Context, exec bob.Executor, count int, fileuploadFlyoverAerialServices1 FileuploadFlyoverAerialServiceSlice, fileuploadCSV0 *FileuploadCSV) (FileuploadFlyoverAerialServiceSlice, error) { - setter := &FileuploadFlyoverAerialServiceSetter{ - CSVFile: omit.From(fileuploadCSV0.FileID), - } - - err := fileuploadFlyoverAerialServices1.UpdateAll(ctx, exec, *setter) - if err != nil { - return nil, fmt.Errorf("attachFileuploadCSVCSVFileFlyoverAerialServices0: %w", err) - } - - return fileuploadFlyoverAerialServices1, nil -} - -func (fileuploadCSV0 *FileuploadCSV) InsertCSVFileFlyoverAerialServices(ctx context.Context, exec bob.Executor, related ...*FileuploadFlyoverAerialServiceSetter) error { - if len(related) == 0 { - return nil - } - - var err error - - fileuploadFlyoverAerialServices1, err := insertFileuploadCSVCSVFileFlyoverAerialServices0(ctx, exec, related, fileuploadCSV0) - if err != nil { - return err - } - - fileuploadCSV0.R.CSVFileFlyoverAerialServices = append(fileuploadCSV0.R.CSVFileFlyoverAerialServices, fileuploadFlyoverAerialServices1...) - - for _, rel := range fileuploadFlyoverAerialServices1 { - rel.R.CSVFileCSV = fileuploadCSV0 - } - return nil -} - -func (fileuploadCSV0 *FileuploadCSV) AttachCSVFileFlyoverAerialServices(ctx context.Context, exec bob.Executor, related ...*FileuploadFlyoverAerialService) error { - if len(related) == 0 { - return nil - } - - var err error - fileuploadFlyoverAerialServices1 := FileuploadFlyoverAerialServiceSlice(related) - - _, err = attachFileuploadCSVCSVFileFlyoverAerialServices0(ctx, exec, len(related), fileuploadFlyoverAerialServices1, fileuploadCSV0) - if err != nil { - return err - } - - fileuploadCSV0.R.CSVFileFlyoverAerialServices = append(fileuploadCSV0.R.CSVFileFlyoverAerialServices, fileuploadFlyoverAerialServices1...) - - for _, rel := range related { - rel.R.CSVFileCSV = fileuploadCSV0 - } - - return nil -} - func insertFileuploadCSVCSVFilePools0(ctx context.Context, exec bob.Executor, fileuploadPools1 []*FileuploadPoolSetter, fileuploadCSV0 *FileuploadCSV) (FileuploadPoolSlice, error) { for i := range fileuploadPools1 { fileuploadPools1[i].CSVFile = omit.From(fileuploadCSV0.FileID) @@ -817,20 +724,6 @@ func (o *FileuploadCSV) Preload(name string, retrieved any) error { o.R.CSVFileErrorCSVS = rels - for _, rel := range rels { - if rel != nil { - rel.R.CSVFileCSV = o - } - } - return nil - case "CSVFileFlyoverAerialServices": - rels, ok := retrieved.(FileuploadFlyoverAerialServiceSlice) - if !ok { - return fmt.Errorf("fileuploadCSV cannot load %T as %q", retrieved, name) - } - - o.R.CSVFileFlyoverAerialServices = rels - for _, rel := range rels { if rel != nil { rel.R.CSVFileCSV = o @@ -879,10 +772,9 @@ func buildFileuploadCSVPreloader() fileuploadCSVPreloader { } type fileuploadCSVThenLoader[Q orm.Loadable] struct { - File func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - CSVFileErrorCSVS func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - CSVFileFlyoverAerialServices func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - CSVFilePools func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] + File func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] + CSVFileErrorCSVS func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] + CSVFilePools func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] } func buildFileuploadCSVThenLoader[Q orm.Loadable]() fileuploadCSVThenLoader[Q] { @@ -892,9 +784,6 @@ func buildFileuploadCSVThenLoader[Q orm.Loadable]() fileuploadCSVThenLoader[Q] { type CSVFileErrorCSVSLoadInterface interface { LoadCSVFileErrorCSVS(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } - type CSVFileFlyoverAerialServicesLoadInterface interface { - LoadCSVFileFlyoverAerialServices(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error - } type CSVFilePoolsLoadInterface interface { LoadCSVFilePools(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } @@ -912,12 +801,6 @@ func buildFileuploadCSVThenLoader[Q orm.Loadable]() fileuploadCSVThenLoader[Q] { return retrieved.LoadCSVFileErrorCSVS(ctx, exec, mods...) }, ), - CSVFileFlyoverAerialServices: thenLoadBuilder[Q]( - "CSVFileFlyoverAerialServices", - func(ctx context.Context, exec bob.Executor, retrieved CSVFileFlyoverAerialServicesLoadInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { - return retrieved.LoadCSVFileFlyoverAerialServices(ctx, exec, mods...) - }, - ), CSVFilePools: thenLoadBuilder[Q]( "CSVFilePools", func(ctx context.Context, exec bob.Executor, retrieved CSVFilePoolsLoadInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { @@ -1040,67 +923,6 @@ func (os FileuploadCSVSlice) LoadCSVFileErrorCSVS(ctx context.Context, exec bob. return nil } -// LoadCSVFileFlyoverAerialServices loads the fileuploadCSV's CSVFileFlyoverAerialServices into the .R struct -func (o *FileuploadCSV) LoadCSVFileFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if o == nil { - return nil - } - - // Reset the relationship - o.R.CSVFileFlyoverAerialServices = nil - - related, err := o.CSVFileFlyoverAerialServices(mods...).All(ctx, exec) - if err != nil { - return err - } - - for _, rel := range related { - rel.R.CSVFileCSV = o - } - - o.R.CSVFileFlyoverAerialServices = related - return nil -} - -// LoadCSVFileFlyoverAerialServices loads the fileuploadCSV's CSVFileFlyoverAerialServices into the .R struct -func (os FileuploadCSVSlice) LoadCSVFileFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if len(os) == 0 { - return nil - } - - fileuploadFlyoverAerialServices, err := os.CSVFileFlyoverAerialServices(mods...).All(ctx, exec) - if err != nil { - return err - } - - for _, o := range os { - if o == nil { - continue - } - - o.R.CSVFileFlyoverAerialServices = nil - } - - for _, o := range os { - if o == nil { - continue - } - - for _, rel := range fileuploadFlyoverAerialServices { - - if !(o.FileID == rel.CSVFile) { - continue - } - - rel.R.CSVFileCSV = o - - o.R.CSVFileFlyoverAerialServices = append(o.R.CSVFileFlyoverAerialServices, rel) - } - } - - return nil -} - // LoadCSVFilePools loads the fileuploadCSV's CSVFilePools into the .R struct func (o *FileuploadCSV) LoadCSVFilePools(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { if o == nil { @@ -1164,9 +986,8 @@ func (os FileuploadCSVSlice) LoadCSVFilePools(ctx context.Context, exec bob.Exec // fileuploadCSVC is where relationship counts are stored. type fileuploadCSVC struct { - CSVFileErrorCSVS *int64 - CSVFileFlyoverAerialServices *int64 - CSVFilePools *int64 + CSVFileErrorCSVS *int64 + CSVFilePools *int64 } // PreloadCount sets a count in the C struct by name @@ -1178,8 +999,6 @@ func (o *FileuploadCSV) PreloadCount(name string, count int64) error { switch name { case "CSVFileErrorCSVS": o.C.CSVFileErrorCSVS = &count - case "CSVFileFlyoverAerialServices": - o.C.CSVFileFlyoverAerialServices = &count case "CSVFilePools": o.C.CSVFilePools = &count } @@ -1187,9 +1006,8 @@ func (o *FileuploadCSV) PreloadCount(name string, count int64) error { } type fileuploadCSVCountPreloader struct { - CSVFileErrorCSVS func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader - CSVFileFlyoverAerialServices func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader - CSVFilePools func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader + CSVFileErrorCSVS func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader + CSVFilePools func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader } func buildFileuploadCSVCountPreloader() fileuploadCSVCountPreloader { @@ -1211,23 +1029,6 @@ func buildFileuploadCSVCountPreloader() fileuploadCSVCountPreloader { return psql.Group(psql.Select(subqueryMods...).Expression) }) }, - CSVFileFlyoverAerialServices: func(mods ...bob.Mod[*dialect.SelectQuery]) psql.Preloader { - return countPreloader[*FileuploadCSV]("CSVFileFlyoverAerialServices", func(parent string) bob.Expression { - // Build a correlated subquery: (SELECT COUNT(*) FROM related WHERE fk = parent.pk) - if parent == "" { - parent = FileuploadCSVS.Alias() - } - - subqueryMods := []bob.Mod[*dialect.SelectQuery]{ - sm.Columns(psql.Raw("count(*)")), - - sm.From(FileuploadFlyoverAerialServices.Name()), - sm.Where(psql.Quote(FileuploadFlyoverAerialServices.Alias(), "csv_file").EQ(psql.Quote(parent, "file_id"))), - } - subqueryMods = append(subqueryMods, mods...) - return psql.Group(psql.Select(subqueryMods...).Expression) - }) - }, CSVFilePools: func(mods ...bob.Mod[*dialect.SelectQuery]) psql.Preloader { return countPreloader[*FileuploadCSV]("CSVFilePools", func(parent string) bob.Expression { // Build a correlated subquery: (SELECT COUNT(*) FROM related WHERE fk = parent.pk) @@ -1249,18 +1050,14 @@ func buildFileuploadCSVCountPreloader() fileuploadCSVCountPreloader { } type fileuploadCSVCountThenLoader[Q orm.Loadable] struct { - CSVFileErrorCSVS func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - CSVFileFlyoverAerialServices func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - CSVFilePools func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] + CSVFileErrorCSVS func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] + CSVFilePools func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] } func buildFileuploadCSVCountThenLoader[Q orm.Loadable]() fileuploadCSVCountThenLoader[Q] { type CSVFileErrorCSVSCountInterface interface { LoadCountCSVFileErrorCSVS(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } - type CSVFileFlyoverAerialServicesCountInterface interface { - LoadCountCSVFileFlyoverAerialServices(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error - } type CSVFilePoolsCountInterface interface { LoadCountCSVFilePools(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } @@ -1272,12 +1069,6 @@ func buildFileuploadCSVCountThenLoader[Q orm.Loadable]() fileuploadCSVCountThenL return retrieved.LoadCountCSVFileErrorCSVS(ctx, exec, mods...) }, ), - CSVFileFlyoverAerialServices: countThenLoadBuilder[Q]( - "CSVFileFlyoverAerialServices", - func(ctx context.Context, exec bob.Executor, retrieved CSVFileFlyoverAerialServicesCountInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { - return retrieved.LoadCountCSVFileFlyoverAerialServices(ctx, exec, mods...) - }, - ), CSVFilePools: countThenLoadBuilder[Q]( "CSVFilePools", func(ctx context.Context, exec bob.Executor, retrieved CSVFilePoolsCountInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { @@ -1317,36 +1108,6 @@ func (os FileuploadCSVSlice) LoadCountCSVFileErrorCSVS(ctx context.Context, exec return nil } -// LoadCountCSVFileFlyoverAerialServices loads the count of CSVFileFlyoverAerialServices into the C struct -func (o *FileuploadCSV) LoadCountCSVFileFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if o == nil { - return nil - } - - count, err := o.CSVFileFlyoverAerialServices(mods...).Count(ctx, exec) - if err != nil { - return err - } - - o.C.CSVFileFlyoverAerialServices = &count - return nil -} - -// LoadCountCSVFileFlyoverAerialServices loads the count of CSVFileFlyoverAerialServices for a slice -func (os FileuploadCSVSlice) LoadCountCSVFileFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if len(os) == 0 { - return nil - } - - for _, o := range os { - if err := o.LoadCountCSVFileFlyoverAerialServices(ctx, exec, mods...); err != nil { - return err - } - } - - return nil -} - // LoadCountCSVFilePools loads the count of CSVFilePools into the C struct func (o *FileuploadCSV) LoadCountCSVFilePools(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { if o == nil { @@ -1378,11 +1139,10 @@ func (os FileuploadCSVSlice) LoadCountCSVFilePools(ctx context.Context, exec bob } type fileuploadCSVJoins[Q dialect.Joinable] struct { - typ string - File modAs[Q, fileuploadFileColumns] - CSVFileErrorCSVS modAs[Q, fileuploadErrorCSVColumns] - CSVFileFlyoverAerialServices modAs[Q, fileuploadFlyoverAerialServiceColumns] - CSVFilePools modAs[Q, fileuploadPoolColumns] + typ string + File modAs[Q, fileuploadFileColumns] + CSVFileErrorCSVS modAs[Q, fileuploadErrorCSVColumns] + CSVFilePools modAs[Q, fileuploadPoolColumns] } func (j fileuploadCSVJoins[Q]) aliasedAs(alias string) fileuploadCSVJoins[Q] { @@ -1420,20 +1180,6 @@ func buildFileuploadCSVJoins[Q dialect.Joinable](cols fileuploadCSVColumns, typ return mods }, }, - CSVFileFlyoverAerialServices: modAs[Q, fileuploadFlyoverAerialServiceColumns]{ - c: FileuploadFlyoverAerialServices.Columns, - f: func(to fileuploadFlyoverAerialServiceColumns) bob.Mod[Q] { - mods := make(mods.QueryMods[Q], 0, 1) - - { - mods = append(mods, dialect.Join[Q](typ, FileuploadFlyoverAerialServices.Name().As(to.Alias())).On( - to.CSVFile.EQ(cols.FileID), - )) - } - - return mods - }, - }, CSVFilePools: modAs[Q, fileuploadPoolColumns]{ c: FileuploadPools.Columns, f: func(to fileuploadPoolColumns) bob.Mod[Q] { diff --git a/db/models/fileupload.flyover_aerial_service.bob.go b/db/models/fileupload.flyover_aerial_service.bob.go deleted file mode 100644 index 91359dd9..00000000 --- a/db/models/fileupload.flyover_aerial_service.bob.go +++ /dev/null @@ -1,1158 +0,0 @@ -// Code generated by BobGen psql v0.42.5. 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/Gleipnir-Technology/bob" - "github.com/Gleipnir-Technology/bob/dialect/psql" - "github.com/Gleipnir-Technology/bob/dialect/psql/dialect" - "github.com/Gleipnir-Technology/bob/dialect/psql/dm" - "github.com/Gleipnir-Technology/bob/dialect/psql/sm" - "github.com/Gleipnir-Technology/bob/dialect/psql/um" - "github.com/Gleipnir-Technology/bob/expr" - "github.com/Gleipnir-Technology/bob/mods" - "github.com/Gleipnir-Technology/bob/orm" - "github.com/Gleipnir-Technology/bob/types/pgtypes" - enums "github.com/Gleipnir-Technology/nidus-sync/db/enums" - "github.com/aarondl/opt/null" - "github.com/aarondl/opt/omit" - "github.com/aarondl/opt/omitnull" -) - -// FileuploadFlyoverAerialService is an object representing the database table. -type FileuploadFlyoverAerialService struct { - Committed bool `db:"committed" ` - Condition enums.FileuploadPoolconditiontype `db:"condition" ` - Created time.Time `db:"created" ` - CreatorID int32 `db:"creator_id" ` - CSVFile int32 `db:"csv_file" ` - Deleted null.Val[time.Time] `db:"deleted" ` - Geom null.Val[string] `db:"geom" ` - H3cell null.Val[string] `db:"h3cell" ` - ID int32 `db:"id,pk" ` - OrganizationID int32 `db:"organization_id" ` - - R fileuploadFlyoverAerialServiceR `db:"-" ` -} - -// FileuploadFlyoverAerialServiceSlice is an alias for a slice of pointers to FileuploadFlyoverAerialService. -// This should almost always be used instead of []*FileuploadFlyoverAerialService. -type FileuploadFlyoverAerialServiceSlice []*FileuploadFlyoverAerialService - -// FileuploadFlyoverAerialServices contains methods to work with the flyover_aerial_service table -var FileuploadFlyoverAerialServices = psql.NewTablex[*FileuploadFlyoverAerialService, FileuploadFlyoverAerialServiceSlice, *FileuploadFlyoverAerialServiceSetter]("fileupload", "flyover_aerial_service", buildFileuploadFlyoverAerialServiceColumns("fileupload.flyover_aerial_service")) - -// FileuploadFlyoverAerialServicesQuery is a query on the flyover_aerial_service table -type FileuploadFlyoverAerialServicesQuery = *psql.ViewQuery[*FileuploadFlyoverAerialService, FileuploadFlyoverAerialServiceSlice] - -// fileuploadFlyoverAerialServiceR is where relationships are stored. -type fileuploadFlyoverAerialServiceR struct { - CreatorUser *User // fileupload.flyover_aerial_service.flyover_aerial_service_creator_id_fkey - CSVFileCSV *FileuploadCSV // fileupload.flyover_aerial_service.flyover_aerial_service_csv_file_fkey - Organization *Organization // fileupload.flyover_aerial_service.flyover_aerial_service_organization_id_fkey -} - -func buildFileuploadFlyoverAerialServiceColumns(alias string) fileuploadFlyoverAerialServiceColumns { - return fileuploadFlyoverAerialServiceColumns{ - ColumnsExpr: expr.NewColumnsExpr( - "committed", "condition", "created", "creator_id", "csv_file", "deleted", "geom", "h3cell", "id", "organization_id", - ).WithParent("fileupload.flyover_aerial_service"), - tableAlias: alias, - Committed: psql.Quote(alias, "committed"), - Condition: psql.Quote(alias, "condition"), - Created: psql.Quote(alias, "created"), - CreatorID: psql.Quote(alias, "creator_id"), - CSVFile: psql.Quote(alias, "csv_file"), - Deleted: psql.Quote(alias, "deleted"), - Geom: psql.Quote(alias, "geom"), - H3cell: psql.Quote(alias, "h3cell"), - ID: psql.Quote(alias, "id"), - OrganizationID: psql.Quote(alias, "organization_id"), - } -} - -type fileuploadFlyoverAerialServiceColumns struct { - expr.ColumnsExpr - tableAlias string - Committed psql.Expression - Condition psql.Expression - Created psql.Expression - CreatorID psql.Expression - CSVFile psql.Expression - Deleted psql.Expression - Geom psql.Expression - H3cell psql.Expression - ID psql.Expression - OrganizationID psql.Expression -} - -func (c fileuploadFlyoverAerialServiceColumns) Alias() string { - return c.tableAlias -} - -func (fileuploadFlyoverAerialServiceColumns) AliasedAs(alias string) fileuploadFlyoverAerialServiceColumns { - return buildFileuploadFlyoverAerialServiceColumns(alias) -} - -// FileuploadFlyoverAerialServiceSetter is used for insert/upsert/update operations -// All values are optional, and do not have to be set -// Generated columns are not included -type FileuploadFlyoverAerialServiceSetter struct { - Committed omit.Val[bool] `db:"committed" ` - Condition omit.Val[enums.FileuploadPoolconditiontype] `db:"condition" ` - Created omit.Val[time.Time] `db:"created" ` - CreatorID omit.Val[int32] `db:"creator_id" ` - CSVFile omit.Val[int32] `db:"csv_file" ` - Deleted omitnull.Val[time.Time] `db:"deleted" ` - Geom omitnull.Val[string] `db:"geom" ` - H3cell omitnull.Val[string] `db:"h3cell" ` - ID omit.Val[int32] `db:"id,pk" ` - OrganizationID omit.Val[int32] `db:"organization_id" ` -} - -func (s FileuploadFlyoverAerialServiceSetter) SetColumns() []string { - vals := make([]string, 0, 10) - if s.Committed.IsValue() { - vals = append(vals, "committed") - } - if s.Condition.IsValue() { - vals = append(vals, "condition") - } - if s.Created.IsValue() { - vals = append(vals, "created") - } - if s.CreatorID.IsValue() { - vals = append(vals, "creator_id") - } - if s.CSVFile.IsValue() { - vals = append(vals, "csv_file") - } - if !s.Deleted.IsUnset() { - vals = append(vals, "deleted") - } - if !s.Geom.IsUnset() { - vals = append(vals, "geom") - } - if !s.H3cell.IsUnset() { - vals = append(vals, "h3cell") - } - if s.ID.IsValue() { - vals = append(vals, "id") - } - if s.OrganizationID.IsValue() { - vals = append(vals, "organization_id") - } - return vals -} - -func (s FileuploadFlyoverAerialServiceSetter) Overwrite(t *FileuploadFlyoverAerialService) { - if s.Committed.IsValue() { - t.Committed = s.Committed.MustGet() - } - if s.Condition.IsValue() { - t.Condition = s.Condition.MustGet() - } - if s.Created.IsValue() { - t.Created = s.Created.MustGet() - } - if s.CreatorID.IsValue() { - t.CreatorID = s.CreatorID.MustGet() - } - if s.CSVFile.IsValue() { - t.CSVFile = s.CSVFile.MustGet() - } - if !s.Deleted.IsUnset() { - t.Deleted = s.Deleted.MustGetNull() - } - if !s.Geom.IsUnset() { - t.Geom = s.Geom.MustGetNull() - } - if !s.H3cell.IsUnset() { - t.H3cell = s.H3cell.MustGetNull() - } - if s.ID.IsValue() { - t.ID = s.ID.MustGet() - } - if s.OrganizationID.IsValue() { - t.OrganizationID = s.OrganizationID.MustGet() - } -} - -func (s *FileuploadFlyoverAerialServiceSetter) Apply(q *dialect.InsertQuery) { - q.AppendHooks(func(ctx context.Context, exec bob.Executor) (context.Context, error) { - return FileuploadFlyoverAerialServices.BeforeInsertHooks.RunHooks(ctx, exec, s) - }) - - q.AppendValues(bob.ExpressionFunc(func(ctx context.Context, w io.StringWriter, d bob.Dialect, start int) ([]any, error) { - vals := make([]bob.Expression, 10) - if s.Committed.IsValue() { - vals[0] = psql.Arg(s.Committed.MustGet()) - } else { - vals[0] = psql.Raw("DEFAULT") - } - - if s.Condition.IsValue() { - vals[1] = psql.Arg(s.Condition.MustGet()) - } else { - vals[1] = psql.Raw("DEFAULT") - } - - if s.Created.IsValue() { - vals[2] = psql.Arg(s.Created.MustGet()) - } else { - vals[2] = psql.Raw("DEFAULT") - } - - if s.CreatorID.IsValue() { - vals[3] = psql.Arg(s.CreatorID.MustGet()) - } else { - vals[3] = psql.Raw("DEFAULT") - } - - if s.CSVFile.IsValue() { - vals[4] = psql.Arg(s.CSVFile.MustGet()) - } else { - vals[4] = psql.Raw("DEFAULT") - } - - if !s.Deleted.IsUnset() { - vals[5] = psql.Arg(s.Deleted.MustGetNull()) - } else { - vals[5] = psql.Raw("DEFAULT") - } - - if !s.Geom.IsUnset() { - vals[6] = psql.Arg(s.Geom.MustGetNull()) - } else { - vals[6] = psql.Raw("DEFAULT") - } - - if !s.H3cell.IsUnset() { - vals[7] = psql.Arg(s.H3cell.MustGetNull()) - } else { - vals[7] = psql.Raw("DEFAULT") - } - - if s.ID.IsValue() { - vals[8] = psql.Arg(s.ID.MustGet()) - } else { - vals[8] = psql.Raw("DEFAULT") - } - - if s.OrganizationID.IsValue() { - vals[9] = psql.Arg(s.OrganizationID.MustGet()) - } else { - vals[9] = psql.Raw("DEFAULT") - } - - return bob.ExpressSlice(ctx, w, d, start, vals, "", ", ", "") - })) -} - -func (s FileuploadFlyoverAerialServiceSetter) UpdateMod() bob.Mod[*dialect.UpdateQuery] { - return um.Set(s.Expressions()...) -} - -func (s FileuploadFlyoverAerialServiceSetter) Expressions(prefix ...string) []bob.Expression { - exprs := make([]bob.Expression, 0, 10) - - if s.Committed.IsValue() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "committed")...), - psql.Arg(s.Committed), - }}) - } - - if s.Condition.IsValue() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "condition")...), - psql.Arg(s.Condition), - }}) - } - - if s.Created.IsValue() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "created")...), - psql.Arg(s.Created), - }}) - } - - if s.CreatorID.IsValue() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "creator_id")...), - psql.Arg(s.CreatorID), - }}) - } - - if s.CSVFile.IsValue() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "csv_file")...), - psql.Arg(s.CSVFile), - }}) - } - - if !s.Deleted.IsUnset() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "deleted")...), - psql.Arg(s.Deleted), - }}) - } - - if !s.Geom.IsUnset() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "geom")...), - psql.Arg(s.Geom), - }}) - } - - if !s.H3cell.IsUnset() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "h3cell")...), - psql.Arg(s.H3cell), - }}) - } - - if s.ID.IsValue() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "id")...), - psql.Arg(s.ID), - }}) - } - - if s.OrganizationID.IsValue() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "organization_id")...), - psql.Arg(s.OrganizationID), - }}) - } - - return exprs -} - -// FindFileuploadFlyoverAerialService retrieves a single record by primary key -// If cols is empty Find will return all columns. -func FindFileuploadFlyoverAerialService(ctx context.Context, exec bob.Executor, IDPK int32, cols ...string) (*FileuploadFlyoverAerialService, error) { - if len(cols) == 0 { - return FileuploadFlyoverAerialServices.Query( - sm.Where(FileuploadFlyoverAerialServices.Columns.ID.EQ(psql.Arg(IDPK))), - ).One(ctx, exec) - } - - return FileuploadFlyoverAerialServices.Query( - sm.Where(FileuploadFlyoverAerialServices.Columns.ID.EQ(psql.Arg(IDPK))), - sm.Columns(FileuploadFlyoverAerialServices.Columns.Only(cols...)), - ).One(ctx, exec) -} - -// FileuploadFlyoverAerialServiceExists checks the presence of a single record by primary key -func FileuploadFlyoverAerialServiceExists(ctx context.Context, exec bob.Executor, IDPK int32) (bool, error) { - return FileuploadFlyoverAerialServices.Query( - sm.Where(FileuploadFlyoverAerialServices.Columns.ID.EQ(psql.Arg(IDPK))), - ).Exists(ctx, exec) -} - -// AfterQueryHook is called after FileuploadFlyoverAerialService is retrieved from the database -func (o *FileuploadFlyoverAerialService) AfterQueryHook(ctx context.Context, exec bob.Executor, queryType bob.QueryType) error { - var err error - - switch queryType { - case bob.QueryTypeSelect: - ctx, err = FileuploadFlyoverAerialServices.AfterSelectHooks.RunHooks(ctx, exec, FileuploadFlyoverAerialServiceSlice{o}) - case bob.QueryTypeInsert: - ctx, err = FileuploadFlyoverAerialServices.AfterInsertHooks.RunHooks(ctx, exec, FileuploadFlyoverAerialServiceSlice{o}) - case bob.QueryTypeUpdate: - ctx, err = FileuploadFlyoverAerialServices.AfterUpdateHooks.RunHooks(ctx, exec, FileuploadFlyoverAerialServiceSlice{o}) - case bob.QueryTypeDelete: - ctx, err = FileuploadFlyoverAerialServices.AfterDeleteHooks.RunHooks(ctx, exec, FileuploadFlyoverAerialServiceSlice{o}) - } - - return err -} - -// primaryKeyVals returns the primary key values of the FileuploadFlyoverAerialService -func (o *FileuploadFlyoverAerialService) primaryKeyVals() bob.Expression { - return psql.Arg(o.ID) -} - -func (o *FileuploadFlyoverAerialService) pkEQ() dialect.Expression { - return psql.Quote("fileupload.flyover_aerial_service", "id").EQ(bob.ExpressionFunc(func(ctx context.Context, w io.StringWriter, d bob.Dialect, start int) ([]any, error) { - return o.primaryKeyVals().WriteSQL(ctx, w, d, start) - })) -} - -// Update uses an executor to update the FileuploadFlyoverAerialService -func (o *FileuploadFlyoverAerialService) Update(ctx context.Context, exec bob.Executor, s *FileuploadFlyoverAerialServiceSetter) error { - v, err := FileuploadFlyoverAerialServices.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 FileuploadFlyoverAerialService record with an executor -func (o *FileuploadFlyoverAerialService) Delete(ctx context.Context, exec bob.Executor) error { - _, err := FileuploadFlyoverAerialServices.Delete(dm.Where(o.pkEQ())).Exec(ctx, exec) - return err -} - -// Reload refreshes the FileuploadFlyoverAerialService using the executor -func (o *FileuploadFlyoverAerialService) Reload(ctx context.Context, exec bob.Executor) error { - o2, err := FileuploadFlyoverAerialServices.Query( - sm.Where(FileuploadFlyoverAerialServices.Columns.ID.EQ(psql.Arg(o.ID))), - ).One(ctx, exec) - if err != nil { - return err - } - o2.R = o.R - *o = *o2 - - return nil -} - -// AfterQueryHook is called after FileuploadFlyoverAerialServiceSlice is retrieved from the database -func (o FileuploadFlyoverAerialServiceSlice) AfterQueryHook(ctx context.Context, exec bob.Executor, queryType bob.QueryType) error { - var err error - - switch queryType { - case bob.QueryTypeSelect: - ctx, err = FileuploadFlyoverAerialServices.AfterSelectHooks.RunHooks(ctx, exec, o) - case bob.QueryTypeInsert: - ctx, err = FileuploadFlyoverAerialServices.AfterInsertHooks.RunHooks(ctx, exec, o) - case bob.QueryTypeUpdate: - ctx, err = FileuploadFlyoverAerialServices.AfterUpdateHooks.RunHooks(ctx, exec, o) - case bob.QueryTypeDelete: - ctx, err = FileuploadFlyoverAerialServices.AfterDeleteHooks.RunHooks(ctx, exec, o) - } - - return err -} - -func (o FileuploadFlyoverAerialServiceSlice) pkIN() dialect.Expression { - if len(o) == 0 { - return psql.Raw("NULL") - } - - return psql.Quote("fileupload.flyover_aerial_service", "id").In(bob.ExpressionFunc(func(ctx context.Context, w io.StringWriter, 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 FileuploadFlyoverAerialServiceSlice) copyMatchingRows(from ...*FileuploadFlyoverAerialService) { - for i, old := range o { - for _, new := range from { - if new.ID != old.ID { - continue - } - new.R = old.R - o[i] = new - break - } - } -} - -// UpdateMod modifies an update query with "WHERE primary_key IN (o...)" -func (o FileuploadFlyoverAerialServiceSlice) 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 FileuploadFlyoverAerialServices.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 *FileuploadFlyoverAerialService: - o.copyMatchingRows(retrieved) - case []*FileuploadFlyoverAerialService: - o.copyMatchingRows(retrieved...) - case FileuploadFlyoverAerialServiceSlice: - o.copyMatchingRows(retrieved...) - default: - // If the retrieved value is not a FileuploadFlyoverAerialService or a slice of FileuploadFlyoverAerialService - // then run the AfterUpdateHooks on the slice - _, err = FileuploadFlyoverAerialServices.AfterUpdateHooks.RunHooks(ctx, exec, o) - } - - return err - })) - - q.AppendWhere(o.pkIN()) - }) -} - -// DeleteMod modifies an delete query with "WHERE primary_key IN (o...)" -func (o FileuploadFlyoverAerialServiceSlice) 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 FileuploadFlyoverAerialServices.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 *FileuploadFlyoverAerialService: - o.copyMatchingRows(retrieved) - case []*FileuploadFlyoverAerialService: - o.copyMatchingRows(retrieved...) - case FileuploadFlyoverAerialServiceSlice: - o.copyMatchingRows(retrieved...) - default: - // If the retrieved value is not a FileuploadFlyoverAerialService or a slice of FileuploadFlyoverAerialService - // then run the AfterDeleteHooks on the slice - _, err = FileuploadFlyoverAerialServices.AfterDeleteHooks.RunHooks(ctx, exec, o) - } - - return err - })) - - q.AppendWhere(o.pkIN()) - }) -} - -func (o FileuploadFlyoverAerialServiceSlice) UpdateAll(ctx context.Context, exec bob.Executor, vals FileuploadFlyoverAerialServiceSetter) error { - if len(o) == 0 { - return nil - } - - _, err := FileuploadFlyoverAerialServices.Update(vals.UpdateMod(), o.UpdateMod()).All(ctx, exec) - return err -} - -func (o FileuploadFlyoverAerialServiceSlice) DeleteAll(ctx context.Context, exec bob.Executor) error { - if len(o) == 0 { - return nil - } - - _, err := FileuploadFlyoverAerialServices.Delete(o.DeleteMod()).Exec(ctx, exec) - return err -} - -func (o FileuploadFlyoverAerialServiceSlice) ReloadAll(ctx context.Context, exec bob.Executor) error { - if len(o) == 0 { - return nil - } - - o2, err := FileuploadFlyoverAerialServices.Query(sm.Where(o.pkIN())).All(ctx, exec) - if err != nil { - return err - } - - o.copyMatchingRows(o2...) - - return nil -} - -// CreatorUser starts a query for related objects on user_ -func (o *FileuploadFlyoverAerialService) CreatorUser(mods ...bob.Mod[*dialect.SelectQuery]) UsersQuery { - return Users.Query(append(mods, - sm.Where(Users.Columns.ID.EQ(psql.Arg(o.CreatorID))), - )...) -} - -func (os FileuploadFlyoverAerialServiceSlice) CreatorUser(mods ...bob.Mod[*dialect.SelectQuery]) UsersQuery { - pkCreatorID := make(pgtypes.Array[int32], 0, len(os)) - for _, o := range os { - if o == nil { - continue - } - pkCreatorID = append(pkCreatorID, o.CreatorID) - } - PKArgExpr := psql.Select(sm.Columns( - psql.F("unnest", psql.Cast(psql.Arg(pkCreatorID), "integer[]")), - )) - - return Users.Query(append(mods, - sm.Where(psql.Group(Users.Columns.ID).OP("IN", PKArgExpr)), - )...) -} - -// CSVFileCSV starts a query for related objects on fileupload.csv -func (o *FileuploadFlyoverAerialService) CSVFileCSV(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadCSVSQuery { - return FileuploadCSVS.Query(append(mods, - sm.Where(FileuploadCSVS.Columns.FileID.EQ(psql.Arg(o.CSVFile))), - )...) -} - -func (os FileuploadFlyoverAerialServiceSlice) CSVFileCSV(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadCSVSQuery { - pkCSVFile := make(pgtypes.Array[int32], 0, len(os)) - for _, o := range os { - if o == nil { - continue - } - pkCSVFile = append(pkCSVFile, o.CSVFile) - } - PKArgExpr := psql.Select(sm.Columns( - psql.F("unnest", psql.Cast(psql.Arg(pkCSVFile), "integer[]")), - )) - - return FileuploadCSVS.Query(append(mods, - sm.Where(psql.Group(FileuploadCSVS.Columns.FileID).OP("IN", PKArgExpr)), - )...) -} - -// Organization starts a query for related objects on organization -func (o *FileuploadFlyoverAerialService) Organization(mods ...bob.Mod[*dialect.SelectQuery]) OrganizationsQuery { - return Organizations.Query(append(mods, - sm.Where(Organizations.Columns.ID.EQ(psql.Arg(o.OrganizationID))), - )...) -} - -func (os FileuploadFlyoverAerialServiceSlice) 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 attachFileuploadFlyoverAerialServiceCreatorUser0(ctx context.Context, exec bob.Executor, count int, fileuploadFlyoverAerialService0 *FileuploadFlyoverAerialService, user1 *User) (*FileuploadFlyoverAerialService, error) { - setter := &FileuploadFlyoverAerialServiceSetter{ - CreatorID: omit.From(user1.ID), - } - - err := fileuploadFlyoverAerialService0.Update(ctx, exec, setter) - if err != nil { - return nil, fmt.Errorf("attachFileuploadFlyoverAerialServiceCreatorUser0: %w", err) - } - - return fileuploadFlyoverAerialService0, nil -} - -func (fileuploadFlyoverAerialService0 *FileuploadFlyoverAerialService) InsertCreatorUser(ctx context.Context, exec bob.Executor, related *UserSetter) error { - var err error - - user1, err := Users.Insert(related).One(ctx, exec) - if err != nil { - return fmt.Errorf("inserting related objects: %w", err) - } - - _, err = attachFileuploadFlyoverAerialServiceCreatorUser0(ctx, exec, 1, fileuploadFlyoverAerialService0, user1) - if err != nil { - return err - } - - fileuploadFlyoverAerialService0.R.CreatorUser = user1 - - user1.R.CreatorFlyoverAerialServices = append(user1.R.CreatorFlyoverAerialServices, fileuploadFlyoverAerialService0) - - return nil -} - -func (fileuploadFlyoverAerialService0 *FileuploadFlyoverAerialService) AttachCreatorUser(ctx context.Context, exec bob.Executor, user1 *User) error { - var err error - - _, err = attachFileuploadFlyoverAerialServiceCreatorUser0(ctx, exec, 1, fileuploadFlyoverAerialService0, user1) - if err != nil { - return err - } - - fileuploadFlyoverAerialService0.R.CreatorUser = user1 - - user1.R.CreatorFlyoverAerialServices = append(user1.R.CreatorFlyoverAerialServices, fileuploadFlyoverAerialService0) - - return nil -} - -func attachFileuploadFlyoverAerialServiceCSVFileCSV0(ctx context.Context, exec bob.Executor, count int, fileuploadFlyoverAerialService0 *FileuploadFlyoverAerialService, fileuploadCSV1 *FileuploadCSV) (*FileuploadFlyoverAerialService, error) { - setter := &FileuploadFlyoverAerialServiceSetter{ - CSVFile: omit.From(fileuploadCSV1.FileID), - } - - err := fileuploadFlyoverAerialService0.Update(ctx, exec, setter) - if err != nil { - return nil, fmt.Errorf("attachFileuploadFlyoverAerialServiceCSVFileCSV0: %w", err) - } - - return fileuploadFlyoverAerialService0, nil -} - -func (fileuploadFlyoverAerialService0 *FileuploadFlyoverAerialService) InsertCSVFileCSV(ctx context.Context, exec bob.Executor, related *FileuploadCSVSetter) error { - var err error - - fileuploadCSV1, err := FileuploadCSVS.Insert(related).One(ctx, exec) - if err != nil { - return fmt.Errorf("inserting related objects: %w", err) - } - - _, err = attachFileuploadFlyoverAerialServiceCSVFileCSV0(ctx, exec, 1, fileuploadFlyoverAerialService0, fileuploadCSV1) - if err != nil { - return err - } - - fileuploadFlyoverAerialService0.R.CSVFileCSV = fileuploadCSV1 - - fileuploadCSV1.R.CSVFileFlyoverAerialServices = append(fileuploadCSV1.R.CSVFileFlyoverAerialServices, fileuploadFlyoverAerialService0) - - return nil -} - -func (fileuploadFlyoverAerialService0 *FileuploadFlyoverAerialService) AttachCSVFileCSV(ctx context.Context, exec bob.Executor, fileuploadCSV1 *FileuploadCSV) error { - var err error - - _, err = attachFileuploadFlyoverAerialServiceCSVFileCSV0(ctx, exec, 1, fileuploadFlyoverAerialService0, fileuploadCSV1) - if err != nil { - return err - } - - fileuploadFlyoverAerialService0.R.CSVFileCSV = fileuploadCSV1 - - fileuploadCSV1.R.CSVFileFlyoverAerialServices = append(fileuploadCSV1.R.CSVFileFlyoverAerialServices, fileuploadFlyoverAerialService0) - - return nil -} - -func attachFileuploadFlyoverAerialServiceOrganization0(ctx context.Context, exec bob.Executor, count int, fileuploadFlyoverAerialService0 *FileuploadFlyoverAerialService, organization1 *Organization) (*FileuploadFlyoverAerialService, error) { - setter := &FileuploadFlyoverAerialServiceSetter{ - OrganizationID: omit.From(organization1.ID), - } - - err := fileuploadFlyoverAerialService0.Update(ctx, exec, setter) - if err != nil { - return nil, fmt.Errorf("attachFileuploadFlyoverAerialServiceOrganization0: %w", err) - } - - return fileuploadFlyoverAerialService0, nil -} - -func (fileuploadFlyoverAerialService0 *FileuploadFlyoverAerialService) 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 = attachFileuploadFlyoverAerialServiceOrganization0(ctx, exec, 1, fileuploadFlyoverAerialService0, organization1) - if err != nil { - return err - } - - fileuploadFlyoverAerialService0.R.Organization = organization1 - - organization1.R.FlyoverAerialServices = append(organization1.R.FlyoverAerialServices, fileuploadFlyoverAerialService0) - - return nil -} - -func (fileuploadFlyoverAerialService0 *FileuploadFlyoverAerialService) AttachOrganization(ctx context.Context, exec bob.Executor, organization1 *Organization) error { - var err error - - _, err = attachFileuploadFlyoverAerialServiceOrganization0(ctx, exec, 1, fileuploadFlyoverAerialService0, organization1) - if err != nil { - return err - } - - fileuploadFlyoverAerialService0.R.Organization = organization1 - - organization1.R.FlyoverAerialServices = append(organization1.R.FlyoverAerialServices, fileuploadFlyoverAerialService0) - - return nil -} - -type fileuploadFlyoverAerialServiceWhere[Q psql.Filterable] struct { - Committed psql.WhereMod[Q, bool] - Condition psql.WhereMod[Q, enums.FileuploadPoolconditiontype] - Created psql.WhereMod[Q, time.Time] - CreatorID psql.WhereMod[Q, int32] - CSVFile psql.WhereMod[Q, int32] - Deleted psql.WhereNullMod[Q, time.Time] - Geom psql.WhereNullMod[Q, string] - H3cell psql.WhereNullMod[Q, string] - ID psql.WhereMod[Q, int32] - OrganizationID psql.WhereMod[Q, int32] -} - -func (fileuploadFlyoverAerialServiceWhere[Q]) AliasedAs(alias string) fileuploadFlyoverAerialServiceWhere[Q] { - return buildFileuploadFlyoverAerialServiceWhere[Q](buildFileuploadFlyoverAerialServiceColumns(alias)) -} - -func buildFileuploadFlyoverAerialServiceWhere[Q psql.Filterable](cols fileuploadFlyoverAerialServiceColumns) fileuploadFlyoverAerialServiceWhere[Q] { - return fileuploadFlyoverAerialServiceWhere[Q]{ - Committed: psql.Where[Q, bool](cols.Committed), - Condition: psql.Where[Q, enums.FileuploadPoolconditiontype](cols.Condition), - Created: psql.Where[Q, time.Time](cols.Created), - CreatorID: psql.Where[Q, int32](cols.CreatorID), - CSVFile: psql.Where[Q, int32](cols.CSVFile), - Deleted: psql.WhereNull[Q, time.Time](cols.Deleted), - Geom: psql.WhereNull[Q, string](cols.Geom), - H3cell: psql.WhereNull[Q, string](cols.H3cell), - ID: psql.Where[Q, int32](cols.ID), - OrganizationID: psql.Where[Q, int32](cols.OrganizationID), - } -} - -func (o *FileuploadFlyoverAerialService) Preload(name string, retrieved any) error { - if o == nil { - return nil - } - - switch name { - case "CreatorUser": - rel, ok := retrieved.(*User) - if !ok { - return fmt.Errorf("fileuploadFlyoverAerialService cannot load %T as %q", retrieved, name) - } - - o.R.CreatorUser = rel - - if rel != nil { - rel.R.CreatorFlyoverAerialServices = FileuploadFlyoverAerialServiceSlice{o} - } - return nil - case "CSVFileCSV": - rel, ok := retrieved.(*FileuploadCSV) - if !ok { - return fmt.Errorf("fileuploadFlyoverAerialService cannot load %T as %q", retrieved, name) - } - - o.R.CSVFileCSV = rel - - if rel != nil { - rel.R.CSVFileFlyoverAerialServices = FileuploadFlyoverAerialServiceSlice{o} - } - return nil - case "Organization": - rel, ok := retrieved.(*Organization) - if !ok { - return fmt.Errorf("fileuploadFlyoverAerialService cannot load %T as %q", retrieved, name) - } - - o.R.Organization = rel - - if rel != nil { - rel.R.FlyoverAerialServices = FileuploadFlyoverAerialServiceSlice{o} - } - return nil - default: - return fmt.Errorf("fileuploadFlyoverAerialService has no relationship %q", name) - } -} - -type fileuploadFlyoverAerialServicePreloader struct { - CreatorUser func(...psql.PreloadOption) psql.Preloader - CSVFileCSV func(...psql.PreloadOption) psql.Preloader - Organization func(...psql.PreloadOption) psql.Preloader -} - -func buildFileuploadFlyoverAerialServicePreloader() fileuploadFlyoverAerialServicePreloader { - return fileuploadFlyoverAerialServicePreloader{ - CreatorUser: func(opts ...psql.PreloadOption) psql.Preloader { - return psql.Preload[*User, UserSlice](psql.PreloadRel{ - Name: "CreatorUser", - Sides: []psql.PreloadSide{ - { - From: FileuploadFlyoverAerialServices, - To: Users, - FromColumns: []string{"creator_id"}, - ToColumns: []string{"id"}, - }, - }, - }, Users.Columns.Names(), opts...) - }, - CSVFileCSV: func(opts ...psql.PreloadOption) psql.Preloader { - return psql.Preload[*FileuploadCSV, FileuploadCSVSlice](psql.PreloadRel{ - Name: "CSVFileCSV", - Sides: []psql.PreloadSide{ - { - From: FileuploadFlyoverAerialServices, - To: FileuploadCSVS, - FromColumns: []string{"csv_file"}, - ToColumns: []string{"file_id"}, - }, - }, - }, FileuploadCSVS.Columns.Names(), opts...) - }, - Organization: func(opts ...psql.PreloadOption) psql.Preloader { - return psql.Preload[*Organization, OrganizationSlice](psql.PreloadRel{ - Name: "Organization", - Sides: []psql.PreloadSide{ - { - From: FileuploadFlyoverAerialServices, - To: Organizations, - FromColumns: []string{"organization_id"}, - ToColumns: []string{"id"}, - }, - }, - }, Organizations.Columns.Names(), opts...) - }, - } -} - -type fileuploadFlyoverAerialServiceThenLoader[Q orm.Loadable] struct { - CreatorUser func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - CSVFileCSV func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - Organization func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] -} - -func buildFileuploadFlyoverAerialServiceThenLoader[Q orm.Loadable]() fileuploadFlyoverAerialServiceThenLoader[Q] { - type CreatorUserLoadInterface interface { - LoadCreatorUser(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error - } - type CSVFileCSVLoadInterface interface { - LoadCSVFileCSV(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error - } - type OrganizationLoadInterface interface { - LoadOrganization(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error - } - - return fileuploadFlyoverAerialServiceThenLoader[Q]{ - CreatorUser: thenLoadBuilder[Q]( - "CreatorUser", - func(ctx context.Context, exec bob.Executor, retrieved CreatorUserLoadInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { - return retrieved.LoadCreatorUser(ctx, exec, mods...) - }, - ), - CSVFileCSV: thenLoadBuilder[Q]( - "CSVFileCSV", - func(ctx context.Context, exec bob.Executor, retrieved CSVFileCSVLoadInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { - return retrieved.LoadCSVFileCSV(ctx, exec, mods...) - }, - ), - 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...) - }, - ), - } -} - -// LoadCreatorUser loads the fileuploadFlyoverAerialService's CreatorUser into the .R struct -func (o *FileuploadFlyoverAerialService) LoadCreatorUser(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if o == nil { - return nil - } - - // Reset the relationship - o.R.CreatorUser = nil - - related, err := o.CreatorUser(mods...).One(ctx, exec) - if err != nil { - return err - } - - related.R.CreatorFlyoverAerialServices = FileuploadFlyoverAerialServiceSlice{o} - - o.R.CreatorUser = related - return nil -} - -// LoadCreatorUser loads the fileuploadFlyoverAerialService's CreatorUser into the .R struct -func (os FileuploadFlyoverAerialServiceSlice) LoadCreatorUser(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if len(os) == 0 { - return nil - } - - users, err := os.CreatorUser(mods...).All(ctx, exec) - if err != nil { - return err - } - - for _, o := range os { - if o == nil { - continue - } - - for _, rel := range users { - - if !(o.CreatorID == rel.ID) { - continue - } - - rel.R.CreatorFlyoverAerialServices = append(rel.R.CreatorFlyoverAerialServices, o) - - o.R.CreatorUser = rel - break - } - } - - return nil -} - -// LoadCSVFileCSV loads the fileuploadFlyoverAerialService's CSVFileCSV into the .R struct -func (o *FileuploadFlyoverAerialService) LoadCSVFileCSV(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if o == nil { - return nil - } - - // Reset the relationship - o.R.CSVFileCSV = nil - - related, err := o.CSVFileCSV(mods...).One(ctx, exec) - if err != nil { - return err - } - - related.R.CSVFileFlyoverAerialServices = FileuploadFlyoverAerialServiceSlice{o} - - o.R.CSVFileCSV = related - return nil -} - -// LoadCSVFileCSV loads the fileuploadFlyoverAerialService's CSVFileCSV into the .R struct -func (os FileuploadFlyoverAerialServiceSlice) LoadCSVFileCSV(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if len(os) == 0 { - return nil - } - - fileuploadCSVS, err := os.CSVFileCSV(mods...).All(ctx, exec) - if err != nil { - return err - } - - for _, o := range os { - if o == nil { - continue - } - - for _, rel := range fileuploadCSVS { - - if !(o.CSVFile == rel.FileID) { - continue - } - - rel.R.CSVFileFlyoverAerialServices = append(rel.R.CSVFileFlyoverAerialServices, o) - - o.R.CSVFileCSV = rel - break - } - } - - return nil -} - -// LoadOrganization loads the fileuploadFlyoverAerialService's Organization into the .R struct -func (o *FileuploadFlyoverAerialService) 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.FlyoverAerialServices = FileuploadFlyoverAerialServiceSlice{o} - - o.R.Organization = related - return nil -} - -// LoadOrganization loads the fileuploadFlyoverAerialService's Organization into the .R struct -func (os FileuploadFlyoverAerialServiceSlice) 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.FlyoverAerialServices = append(rel.R.FlyoverAerialServices, o) - - o.R.Organization = rel - break - } - } - - return nil -} - -type fileuploadFlyoverAerialServiceJoins[Q dialect.Joinable] struct { - typ string - CreatorUser modAs[Q, userColumns] - CSVFileCSV modAs[Q, fileuploadCSVColumns] - Organization modAs[Q, organizationColumns] -} - -func (j fileuploadFlyoverAerialServiceJoins[Q]) aliasedAs(alias string) fileuploadFlyoverAerialServiceJoins[Q] { - return buildFileuploadFlyoverAerialServiceJoins[Q](buildFileuploadFlyoverAerialServiceColumns(alias), j.typ) -} - -func buildFileuploadFlyoverAerialServiceJoins[Q dialect.Joinable](cols fileuploadFlyoverAerialServiceColumns, typ string) fileuploadFlyoverAerialServiceJoins[Q] { - return fileuploadFlyoverAerialServiceJoins[Q]{ - typ: typ, - CreatorUser: modAs[Q, userColumns]{ - c: Users.Columns, - f: func(to userColumns) bob.Mod[Q] { - mods := make(mods.QueryMods[Q], 0, 1) - - { - mods = append(mods, dialect.Join[Q](typ, Users.Name().As(to.Alias())).On( - to.ID.EQ(cols.CreatorID), - )) - } - - return mods - }, - }, - CSVFileCSV: modAs[Q, fileuploadCSVColumns]{ - c: FileuploadCSVS.Columns, - f: func(to fileuploadCSVColumns) bob.Mod[Q] { - mods := make(mods.QueryMods[Q], 0, 1) - - { - mods = append(mods, dialect.Join[Q](typ, FileuploadCSVS.Name().As(to.Alias())).On( - to.FileID.EQ(cols.CSVFile), - )) - } - - return mods - }, - }, - 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 - }, - }, - } -} diff --git a/db/models/fileupload.pool.bob.go b/db/models/fileupload.pool.bob.go index aca3a1b6..ec6e7508 100644 --- a/db/models/fileupload.pool.bob.go +++ b/db/models/fileupload.pool.bob.go @@ -27,7 +27,6 @@ import ( // FileuploadPool is an object representing the database table. type FileuploadPool struct { - AddressCity string `db:"address_city" ` AddressPostalCode string `db:"address_postal_code" ` AddressStreet string `db:"address_street" ` Committed bool `db:"committed" ` @@ -49,6 +48,9 @@ type FileuploadPool struct { ResidentPhoneE164 null.Val[string] `db:"resident_phone_e164" ` LineNumber int32 `db:"line_number" ` Tags pgtypes.HStore `db:"tags" ` + AddressNumber string `db:"address_number" ` + AddressLocality string `db:"address_locality" ` + AddressRegion string `db:"address_region" ` R fileuploadPoolR `db:"-" ` } @@ -75,10 +77,9 @@ type fileuploadPoolR struct { func buildFileuploadPoolColumns(alias string) fileuploadPoolColumns { return fileuploadPoolColumns{ ColumnsExpr: expr.NewColumnsExpr( - "address_city", "address_postal_code", "address_street", "committed", "condition", "created", "creator_id", "csv_file", "deleted", "geom", "h3cell", "id", "is_in_district", "is_new", "notes", "organization_id", "property_owner_name", "property_owner_phone_e164", "resident_owned", "resident_phone_e164", "line_number", "tags", + "address_postal_code", "address_street", "committed", "condition", "created", "creator_id", "csv_file", "deleted", "geom", "h3cell", "id", "is_in_district", "is_new", "notes", "organization_id", "property_owner_name", "property_owner_phone_e164", "resident_owned", "resident_phone_e164", "line_number", "tags", "address_number", "address_locality", "address_region", ).WithParent("fileupload.pool"), tableAlias: alias, - AddressCity: psql.Quote(alias, "address_city"), AddressPostalCode: psql.Quote(alias, "address_postal_code"), AddressStreet: psql.Quote(alias, "address_street"), Committed: psql.Quote(alias, "committed"), @@ -100,13 +101,15 @@ func buildFileuploadPoolColumns(alias string) fileuploadPoolColumns { ResidentPhoneE164: psql.Quote(alias, "resident_phone_e164"), LineNumber: psql.Quote(alias, "line_number"), Tags: psql.Quote(alias, "tags"), + AddressNumber: psql.Quote(alias, "address_number"), + AddressLocality: psql.Quote(alias, "address_locality"), + AddressRegion: psql.Quote(alias, "address_region"), } } type fileuploadPoolColumns struct { expr.ColumnsExpr tableAlias string - AddressCity psql.Expression AddressPostalCode psql.Expression AddressStreet psql.Expression Committed psql.Expression @@ -128,6 +131,9 @@ type fileuploadPoolColumns struct { ResidentPhoneE164 psql.Expression LineNumber psql.Expression Tags psql.Expression + AddressNumber psql.Expression + AddressLocality psql.Expression + AddressRegion psql.Expression } func (c fileuploadPoolColumns) Alias() string { @@ -142,7 +148,6 @@ func (fileuploadPoolColumns) AliasedAs(alias string) fileuploadPoolColumns { // All values are optional, and do not have to be set // Generated columns are not included type FileuploadPoolSetter struct { - AddressCity omit.Val[string] `db:"address_city" ` AddressPostalCode omit.Val[string] `db:"address_postal_code" ` AddressStreet omit.Val[string] `db:"address_street" ` Committed omit.Val[bool] `db:"committed" ` @@ -164,13 +169,13 @@ type FileuploadPoolSetter struct { ResidentPhoneE164 omitnull.Val[string] `db:"resident_phone_e164" ` LineNumber omit.Val[int32] `db:"line_number" ` Tags omit.Val[pgtypes.HStore] `db:"tags" ` + AddressNumber omit.Val[string] `db:"address_number" ` + AddressLocality omit.Val[string] `db:"address_locality" ` + AddressRegion omit.Val[string] `db:"address_region" ` } func (s FileuploadPoolSetter) SetColumns() []string { - vals := make([]string, 0, 22) - if s.AddressCity.IsValue() { - vals = append(vals, "address_city") - } + vals := make([]string, 0, 24) if s.AddressPostalCode.IsValue() { vals = append(vals, "address_postal_code") } @@ -234,13 +239,19 @@ func (s FileuploadPoolSetter) SetColumns() []string { if s.Tags.IsValue() { vals = append(vals, "tags") } + if s.AddressNumber.IsValue() { + vals = append(vals, "address_number") + } + if s.AddressLocality.IsValue() { + vals = append(vals, "address_locality") + } + if s.AddressRegion.IsValue() { + vals = append(vals, "address_region") + } return vals } func (s FileuploadPoolSetter) Overwrite(t *FileuploadPool) { - if s.AddressCity.IsValue() { - t.AddressCity = s.AddressCity.MustGet() - } if s.AddressPostalCode.IsValue() { t.AddressPostalCode = s.AddressPostalCode.MustGet() } @@ -304,6 +315,15 @@ func (s FileuploadPoolSetter) Overwrite(t *FileuploadPool) { if s.Tags.IsValue() { t.Tags = s.Tags.MustGet() } + if s.AddressNumber.IsValue() { + t.AddressNumber = s.AddressNumber.MustGet() + } + if s.AddressLocality.IsValue() { + t.AddressLocality = s.AddressLocality.MustGet() + } + if s.AddressRegion.IsValue() { + t.AddressRegion = s.AddressRegion.MustGet() + } } func (s *FileuploadPoolSetter) Apply(q *dialect.InsertQuery) { @@ -312,139 +332,151 @@ func (s *FileuploadPoolSetter) Apply(q *dialect.InsertQuery) { }) q.AppendValues(bob.ExpressionFunc(func(ctx context.Context, w io.StringWriter, d bob.Dialect, start int) ([]any, error) { - vals := make([]bob.Expression, 22) - if s.AddressCity.IsValue() { - vals[0] = psql.Arg(s.AddressCity.MustGet()) + vals := make([]bob.Expression, 24) + if s.AddressPostalCode.IsValue() { + vals[0] = psql.Arg(s.AddressPostalCode.MustGet()) } else { vals[0] = psql.Raw("DEFAULT") } - if s.AddressPostalCode.IsValue() { - vals[1] = psql.Arg(s.AddressPostalCode.MustGet()) + if s.AddressStreet.IsValue() { + vals[1] = psql.Arg(s.AddressStreet.MustGet()) } else { vals[1] = psql.Raw("DEFAULT") } - if s.AddressStreet.IsValue() { - vals[2] = psql.Arg(s.AddressStreet.MustGet()) + if s.Committed.IsValue() { + vals[2] = psql.Arg(s.Committed.MustGet()) } else { vals[2] = psql.Raw("DEFAULT") } - if s.Committed.IsValue() { - vals[3] = psql.Arg(s.Committed.MustGet()) + if s.Condition.IsValue() { + vals[3] = psql.Arg(s.Condition.MustGet()) } else { vals[3] = psql.Raw("DEFAULT") } - if s.Condition.IsValue() { - vals[4] = psql.Arg(s.Condition.MustGet()) + if s.Created.IsValue() { + vals[4] = psql.Arg(s.Created.MustGet()) } else { vals[4] = psql.Raw("DEFAULT") } - if s.Created.IsValue() { - vals[5] = psql.Arg(s.Created.MustGet()) + if s.CreatorID.IsValue() { + vals[5] = psql.Arg(s.CreatorID.MustGet()) } else { vals[5] = psql.Raw("DEFAULT") } - if s.CreatorID.IsValue() { - vals[6] = psql.Arg(s.CreatorID.MustGet()) + if s.CSVFile.IsValue() { + vals[6] = psql.Arg(s.CSVFile.MustGet()) } else { vals[6] = psql.Raw("DEFAULT") } - if s.CSVFile.IsValue() { - vals[7] = psql.Arg(s.CSVFile.MustGet()) + if !s.Deleted.IsUnset() { + vals[7] = psql.Arg(s.Deleted.MustGetNull()) } else { vals[7] = psql.Raw("DEFAULT") } - if !s.Deleted.IsUnset() { - vals[8] = psql.Arg(s.Deleted.MustGetNull()) + if !s.Geom.IsUnset() { + vals[8] = psql.Arg(s.Geom.MustGetNull()) } else { vals[8] = psql.Raw("DEFAULT") } - if !s.Geom.IsUnset() { - vals[9] = psql.Arg(s.Geom.MustGetNull()) + if !s.H3cell.IsUnset() { + vals[9] = psql.Arg(s.H3cell.MustGetNull()) } else { vals[9] = psql.Raw("DEFAULT") } - if !s.H3cell.IsUnset() { - vals[10] = psql.Arg(s.H3cell.MustGetNull()) + if s.ID.IsValue() { + vals[10] = psql.Arg(s.ID.MustGet()) } else { vals[10] = psql.Raw("DEFAULT") } - if s.ID.IsValue() { - vals[11] = psql.Arg(s.ID.MustGet()) + if s.IsInDistrict.IsValue() { + vals[11] = psql.Arg(s.IsInDistrict.MustGet()) } else { vals[11] = psql.Raw("DEFAULT") } - if s.IsInDistrict.IsValue() { - vals[12] = psql.Arg(s.IsInDistrict.MustGet()) + if s.IsNew.IsValue() { + vals[12] = psql.Arg(s.IsNew.MustGet()) } else { vals[12] = psql.Raw("DEFAULT") } - if s.IsNew.IsValue() { - vals[13] = psql.Arg(s.IsNew.MustGet()) + if s.Notes.IsValue() { + vals[13] = psql.Arg(s.Notes.MustGet()) } else { vals[13] = psql.Raw("DEFAULT") } - if s.Notes.IsValue() { - vals[14] = psql.Arg(s.Notes.MustGet()) + if s.OrganizationID.IsValue() { + vals[14] = psql.Arg(s.OrganizationID.MustGet()) } else { vals[14] = psql.Raw("DEFAULT") } - if s.OrganizationID.IsValue() { - vals[15] = psql.Arg(s.OrganizationID.MustGet()) + if s.PropertyOwnerName.IsValue() { + vals[15] = psql.Arg(s.PropertyOwnerName.MustGet()) } else { vals[15] = psql.Raw("DEFAULT") } - if s.PropertyOwnerName.IsValue() { - vals[16] = psql.Arg(s.PropertyOwnerName.MustGet()) + if !s.PropertyOwnerPhoneE164.IsUnset() { + vals[16] = psql.Arg(s.PropertyOwnerPhoneE164.MustGetNull()) } else { vals[16] = psql.Raw("DEFAULT") } - if !s.PropertyOwnerPhoneE164.IsUnset() { - vals[17] = psql.Arg(s.PropertyOwnerPhoneE164.MustGetNull()) + if !s.ResidentOwned.IsUnset() { + vals[17] = psql.Arg(s.ResidentOwned.MustGetNull()) } else { vals[17] = psql.Raw("DEFAULT") } - if !s.ResidentOwned.IsUnset() { - vals[18] = psql.Arg(s.ResidentOwned.MustGetNull()) + if !s.ResidentPhoneE164.IsUnset() { + vals[18] = psql.Arg(s.ResidentPhoneE164.MustGetNull()) } else { vals[18] = psql.Raw("DEFAULT") } - if !s.ResidentPhoneE164.IsUnset() { - vals[19] = psql.Arg(s.ResidentPhoneE164.MustGetNull()) + if s.LineNumber.IsValue() { + vals[19] = psql.Arg(s.LineNumber.MustGet()) } else { vals[19] = psql.Raw("DEFAULT") } - if s.LineNumber.IsValue() { - vals[20] = psql.Arg(s.LineNumber.MustGet()) + if s.Tags.IsValue() { + vals[20] = psql.Arg(s.Tags.MustGet()) } else { vals[20] = psql.Raw("DEFAULT") } - if s.Tags.IsValue() { - vals[21] = psql.Arg(s.Tags.MustGet()) + if s.AddressNumber.IsValue() { + vals[21] = psql.Arg(s.AddressNumber.MustGet()) } else { vals[21] = psql.Raw("DEFAULT") } + if s.AddressLocality.IsValue() { + vals[22] = psql.Arg(s.AddressLocality.MustGet()) + } else { + vals[22] = psql.Raw("DEFAULT") + } + + if s.AddressRegion.IsValue() { + vals[23] = psql.Arg(s.AddressRegion.MustGet()) + } else { + vals[23] = psql.Raw("DEFAULT") + } + return bob.ExpressSlice(ctx, w, d, start, vals, "", ", ", "") })) } @@ -454,14 +486,7 @@ func (s FileuploadPoolSetter) UpdateMod() bob.Mod[*dialect.UpdateQuery] { } func (s FileuploadPoolSetter) Expressions(prefix ...string) []bob.Expression { - exprs := make([]bob.Expression, 0, 22) - - if s.AddressCity.IsValue() { - exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ - psql.Quote(append(prefix, "address_city")...), - psql.Arg(s.AddressCity), - }}) - } + exprs := make([]bob.Expression, 0, 24) if s.AddressPostalCode.IsValue() { exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ @@ -610,6 +635,27 @@ func (s FileuploadPoolSetter) Expressions(prefix ...string) []bob.Expression { }}) } + if s.AddressNumber.IsValue() { + exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ + psql.Quote(append(prefix, "address_number")...), + psql.Arg(s.AddressNumber), + }}) + } + + if s.AddressLocality.IsValue() { + exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ + psql.Quote(append(prefix, "address_locality")...), + psql.Arg(s.AddressLocality), + }}) + } + + if s.AddressRegion.IsValue() { + exprs = append(exprs, expr.Join{Sep: " = ", Exprs: []bob.Expression{ + psql.Quote(append(prefix, "address_region")...), + psql.Arg(s.AddressRegion), + }}) + } + return exprs } @@ -1197,7 +1243,6 @@ func (fileuploadPool0 *FileuploadPool) AttachResidentPhoneE164Phone(ctx context. } type fileuploadPoolWhere[Q psql.Filterable] struct { - AddressCity psql.WhereMod[Q, string] AddressPostalCode psql.WhereMod[Q, string] AddressStreet psql.WhereMod[Q, string] Committed psql.WhereMod[Q, bool] @@ -1219,6 +1264,9 @@ type fileuploadPoolWhere[Q psql.Filterable] struct { ResidentPhoneE164 psql.WhereNullMod[Q, string] LineNumber psql.WhereMod[Q, int32] Tags psql.WhereMod[Q, pgtypes.HStore] + AddressNumber psql.WhereMod[Q, string] + AddressLocality psql.WhereMod[Q, string] + AddressRegion psql.WhereMod[Q, string] } func (fileuploadPoolWhere[Q]) AliasedAs(alias string) fileuploadPoolWhere[Q] { @@ -1227,7 +1275,6 @@ func (fileuploadPoolWhere[Q]) AliasedAs(alias string) fileuploadPoolWhere[Q] { func buildFileuploadPoolWhere[Q psql.Filterable](cols fileuploadPoolColumns) fileuploadPoolWhere[Q] { return fileuploadPoolWhere[Q]{ - AddressCity: psql.Where[Q, string](cols.AddressCity), AddressPostalCode: psql.Where[Q, string](cols.AddressPostalCode), AddressStreet: psql.Where[Q, string](cols.AddressStreet), Committed: psql.Where[Q, bool](cols.Committed), @@ -1249,6 +1296,9 @@ func buildFileuploadPoolWhere[Q psql.Filterable](cols fileuploadPoolColumns) fil ResidentPhoneE164: psql.WhereNull[Q, string](cols.ResidentPhoneE164), LineNumber: psql.Where[Q, int32](cols.LineNumber), Tags: psql.Where[Q, pgtypes.HStore](cols.Tags), + AddressNumber: psql.Where[Q, string](cols.AddressNumber), + AddressLocality: psql.Where[Q, string](cols.AddressLocality), + AddressRegion: psql.Where[Q, string](cols.AddressRegion), } } diff --git a/db/models/organization.bob.go b/db/models/organization.bob.go index e9810737..2e8d436b 100644 --- a/db/models/organization.bob.go +++ b/db/models/organization.bob.go @@ -113,7 +113,6 @@ type organizationR struct { Zones2s FieldseekerZones2Slice // fieldseeker.zones2.zones2_organization_id_fkey FieldseekerSyncs FieldseekerSyncSlice // fieldseeker_sync.fieldseeker_sync_organization_id_fkey Files FileuploadFileSlice // fileupload.file.file_organization_id_fkey - FlyoverAerialServices FileuploadFlyoverAerialServiceSlice // fileupload.flyover_aerial_service.flyover_aerial_service_organization_id_fkey Pools FileuploadPoolSlice // fileupload.pool.pool_organization_id_fkey H3Aggregations H3AggregationSlice // h3_aggregation.h3_aggregation_organization_id_fkey NoteAudios NoteAudioSlice // note_audio.note_audio_organization_id_fkey @@ -1736,30 +1735,6 @@ func (os OrganizationSlice) Files(mods ...bob.Mod[*dialect.SelectQuery]) Fileupl )...) } -// FlyoverAerialServices starts a query for related objects on fileupload.flyover_aerial_service -func (o *Organization) FlyoverAerialServices(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadFlyoverAerialServicesQuery { - return FileuploadFlyoverAerialServices.Query(append(mods, - sm.Where(FileuploadFlyoverAerialServices.Columns.OrganizationID.EQ(psql.Arg(o.ID))), - )...) -} - -func (os OrganizationSlice) FlyoverAerialServices(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadFlyoverAerialServicesQuery { - pkID := make(pgtypes.Array[int32], 0, len(os)) - for _, o := range os { - if o == nil { - continue - } - pkID = append(pkID, o.ID) - } - PKArgExpr := psql.Select(sm.Columns( - psql.F("unnest", psql.Cast(psql.Arg(pkID), "integer[]")), - )) - - return FileuploadFlyoverAerialServices.Query(append(mods, - sm.Where(psql.Group(FileuploadFlyoverAerialServices.Columns.OrganizationID).OP("IN", PKArgExpr)), - )...) -} - // Pools starts a query for related objects on fileupload.pool func (o *Organization) Pools(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadPoolsQuery { return FileuploadPools.Query(append(mods, @@ -4306,74 +4281,6 @@ func (organization0 *Organization) AttachFiles(ctx context.Context, exec bob.Exe return nil } -func insertOrganizationFlyoverAerialServices0(ctx context.Context, exec bob.Executor, fileuploadFlyoverAerialServices1 []*FileuploadFlyoverAerialServiceSetter, organization0 *Organization) (FileuploadFlyoverAerialServiceSlice, error) { - for i := range fileuploadFlyoverAerialServices1 { - fileuploadFlyoverAerialServices1[i].OrganizationID = omit.From(organization0.ID) - } - - ret, err := FileuploadFlyoverAerialServices.Insert(bob.ToMods(fileuploadFlyoverAerialServices1...)).All(ctx, exec) - if err != nil { - return ret, fmt.Errorf("insertOrganizationFlyoverAerialServices0: %w", err) - } - - return ret, nil -} - -func attachOrganizationFlyoverAerialServices0(ctx context.Context, exec bob.Executor, count int, fileuploadFlyoverAerialServices1 FileuploadFlyoverAerialServiceSlice, organization0 *Organization) (FileuploadFlyoverAerialServiceSlice, error) { - setter := &FileuploadFlyoverAerialServiceSetter{ - OrganizationID: omit.From(organization0.ID), - } - - err := fileuploadFlyoverAerialServices1.UpdateAll(ctx, exec, *setter) - if err != nil { - return nil, fmt.Errorf("attachOrganizationFlyoverAerialServices0: %w", err) - } - - return fileuploadFlyoverAerialServices1, nil -} - -func (organization0 *Organization) InsertFlyoverAerialServices(ctx context.Context, exec bob.Executor, related ...*FileuploadFlyoverAerialServiceSetter) error { - if len(related) == 0 { - return nil - } - - var err error - - fileuploadFlyoverAerialServices1, err := insertOrganizationFlyoverAerialServices0(ctx, exec, related, organization0) - if err != nil { - return err - } - - organization0.R.FlyoverAerialServices = append(organization0.R.FlyoverAerialServices, fileuploadFlyoverAerialServices1...) - - for _, rel := range fileuploadFlyoverAerialServices1 { - rel.R.Organization = organization0 - } - return nil -} - -func (organization0 *Organization) AttachFlyoverAerialServices(ctx context.Context, exec bob.Executor, related ...*FileuploadFlyoverAerialService) error { - if len(related) == 0 { - return nil - } - - var err error - fileuploadFlyoverAerialServices1 := FileuploadFlyoverAerialServiceSlice(related) - - _, err = attachOrganizationFlyoverAerialServices0(ctx, exec, len(related), fileuploadFlyoverAerialServices1, organization0) - if err != nil { - return err - } - - organization0.R.FlyoverAerialServices = append(organization0.R.FlyoverAerialServices, fileuploadFlyoverAerialServices1...) - - for _, rel := range related { - rel.R.Organization = organization0 - } - - return nil -} - func insertOrganizationPools0(ctx context.Context, exec bob.Executor, fileuploadPools1 []*FileuploadPoolSetter, organization0 *Organization) (FileuploadPoolSlice, error) { for i := range fileuploadPools1 { fileuploadPools1[i].OrganizationID = omit.From(organization0.ID) @@ -5566,20 +5473,6 @@ func (o *Organization) Preload(name string, retrieved any) error { o.R.Files = rels - for _, rel := range rels { - if rel != nil { - rel.R.Organization = o - } - } - return nil - case "FlyoverAerialServices": - rels, ok := retrieved.(FileuploadFlyoverAerialServiceSlice) - if !ok { - return fmt.Errorf("organization cannot load %T as %q", retrieved, name) - } - - o.R.FlyoverAerialServices = rels - for _, rel := range rels { if rel != nil { rel.R.Organization = o @@ -5798,7 +5691,6 @@ type organizationThenLoader[Q orm.Loadable] struct { Zones2s func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] FieldseekerSyncs func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] Files func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - FlyoverAerialServices func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] Pools func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] H3Aggregations func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] NoteAudios func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] @@ -5914,9 +5806,6 @@ func buildOrganizationThenLoader[Q orm.Loadable]() organizationThenLoader[Q] { type FilesLoadInterface interface { LoadFiles(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } - type FlyoverAerialServicesLoadInterface interface { - LoadFlyoverAerialServices(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error - } type PoolsLoadInterface interface { LoadPools(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } @@ -6153,12 +6042,6 @@ func buildOrganizationThenLoader[Q orm.Loadable]() organizationThenLoader[Q] { return retrieved.LoadFiles(ctx, exec, mods...) }, ), - FlyoverAerialServices: thenLoadBuilder[Q]( - "FlyoverAerialServices", - func(ctx context.Context, exec bob.Executor, retrieved FlyoverAerialServicesLoadInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { - return retrieved.LoadFlyoverAerialServices(ctx, exec, mods...) - }, - ), Pools: thenLoadBuilder[Q]( "Pools", func(ctx context.Context, exec bob.Executor, retrieved PoolsLoadInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { @@ -8336,67 +8219,6 @@ func (os OrganizationSlice) LoadFiles(ctx context.Context, exec bob.Executor, mo return nil } -// LoadFlyoverAerialServices loads the organization's FlyoverAerialServices into the .R struct -func (o *Organization) LoadFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if o == nil { - return nil - } - - // Reset the relationship - o.R.FlyoverAerialServices = nil - - related, err := o.FlyoverAerialServices(mods...).All(ctx, exec) - if err != nil { - return err - } - - for _, rel := range related { - rel.R.Organization = o - } - - o.R.FlyoverAerialServices = related - return nil -} - -// LoadFlyoverAerialServices loads the organization's FlyoverAerialServices into the .R struct -func (os OrganizationSlice) LoadFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if len(os) == 0 { - return nil - } - - fileuploadFlyoverAerialServices, err := os.FlyoverAerialServices(mods...).All(ctx, exec) - if err != nil { - return err - } - - for _, o := range os { - if o == nil { - continue - } - - o.R.FlyoverAerialServices = nil - } - - for _, o := range os { - if o == nil { - continue - } - - for _, rel := range fileuploadFlyoverAerialServices { - - if !(o.ID == rel.OrganizationID) { - continue - } - - rel.R.Organization = o - - o.R.FlyoverAerialServices = append(o.R.FlyoverAerialServices, rel) - } - } - - return nil -} - // LoadPools loads the organization's Pools into the .R struct func (o *Organization) LoadPools(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { if o == nil { @@ -9040,7 +8862,6 @@ type organizationC struct { Zones2s *int64 FieldseekerSyncs *int64 Files *int64 - FlyoverAerialServices *int64 Pools *int64 H3Aggregations *int64 NoteAudios *int64 @@ -9126,8 +8947,6 @@ func (o *Organization) PreloadCount(name string, count int64) error { o.C.FieldseekerSyncs = &count case "Files": o.C.Files = &count - case "FlyoverAerialServices": - o.C.FlyoverAerialServices = &count case "Pools": o.C.Pools = &count case "H3Aggregations": @@ -9183,7 +9002,6 @@ type organizationCountPreloader struct { Zones2s func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader FieldseekerSyncs func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader Files func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader - FlyoverAerialServices func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader Pools func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader H3Aggregations func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader NoteAudios func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader @@ -9780,23 +9598,6 @@ func buildOrganizationCountPreloader() organizationCountPreloader { return psql.Group(psql.Select(subqueryMods...).Expression) }) }, - FlyoverAerialServices: func(mods ...bob.Mod[*dialect.SelectQuery]) psql.Preloader { - return countPreloader[*Organization]("FlyoverAerialServices", func(parent string) bob.Expression { - // Build a correlated subquery: (SELECT COUNT(*) FROM related WHERE fk = parent.pk) - if parent == "" { - parent = Organizations.Alias() - } - - subqueryMods := []bob.Mod[*dialect.SelectQuery]{ - sm.Columns(psql.Raw("count(*)")), - - sm.From(FileuploadFlyoverAerialServices.Name()), - sm.Where(psql.Quote(FileuploadFlyoverAerialServices.Alias(), "organization_id").EQ(psql.Quote(parent, "id"))), - } - subqueryMods = append(subqueryMods, mods...) - return psql.Group(psql.Select(subqueryMods...).Expression) - }) - }, Pools: func(mods ...bob.Mod[*dialect.SelectQuery]) psql.Preloader { return countPreloader[*Organization]("Pools", func(parent string) bob.Expression { // Build a correlated subquery: (SELECT COUNT(*) FROM related WHERE fk = parent.pk) @@ -9971,7 +9772,6 @@ type organizationCountThenLoader[Q orm.Loadable] struct { Zones2s func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] FieldseekerSyncs func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] Files func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - FlyoverAerialServices func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] Pools func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] H3Aggregations func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] NoteAudios func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] @@ -10085,9 +9885,6 @@ func buildOrganizationCountThenLoader[Q orm.Loadable]() organizationCountThenLoa type FilesCountInterface interface { LoadCountFiles(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } - type FlyoverAerialServicesCountInterface interface { - LoadCountFlyoverAerialServices(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error - } type PoolsCountInterface interface { LoadCountPools(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } @@ -10318,12 +10115,6 @@ func buildOrganizationCountThenLoader[Q orm.Loadable]() organizationCountThenLoa return retrieved.LoadCountFiles(ctx, exec, mods...) }, ), - FlyoverAerialServices: countThenLoadBuilder[Q]( - "FlyoverAerialServices", - func(ctx context.Context, exec bob.Executor, retrieved FlyoverAerialServicesCountInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { - return retrieved.LoadCountFlyoverAerialServices(ctx, exec, mods...) - }, - ), Pools: countThenLoadBuilder[Q]( "Pools", func(ctx context.Context, exec bob.Executor, retrieved PoolsCountInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { @@ -11395,36 +11186,6 @@ func (os OrganizationSlice) LoadCountFiles(ctx context.Context, exec bob.Executo return nil } -// LoadCountFlyoverAerialServices loads the count of FlyoverAerialServices into the C struct -func (o *Organization) LoadCountFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if o == nil { - return nil - } - - count, err := o.FlyoverAerialServices(mods...).Count(ctx, exec) - if err != nil { - return err - } - - o.C.FlyoverAerialServices = &count - return nil -} - -// LoadCountFlyoverAerialServices loads the count of FlyoverAerialServices for a slice -func (os OrganizationSlice) LoadCountFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if len(os) == 0 { - return nil - } - - for _, o := range os { - if err := o.LoadCountFlyoverAerialServices(ctx, exec, mods...); err != nil { - return err - } - } - - return nil -} - // LoadCountPools loads the count of Pools into the C struct func (o *Organization) LoadCountPools(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { if o == nil { @@ -11701,7 +11462,6 @@ type organizationJoins[Q dialect.Joinable] struct { Zones2s modAs[Q, fieldseekerZones2Columns] FieldseekerSyncs modAs[Q, fieldseekerSyncColumns] Files modAs[Q, fileuploadFileColumns] - FlyoverAerialServices modAs[Q, fileuploadFlyoverAerialServiceColumns] Pools modAs[Q, fileuploadPoolColumns] H3Aggregations modAs[Q, h3AggregationColumns] NoteAudios modAs[Q, noteAudioColumns] @@ -12213,20 +11973,6 @@ func buildOrganizationJoins[Q dialect.Joinable](cols organizationColumns, typ st return mods }, }, - FlyoverAerialServices: modAs[Q, fileuploadFlyoverAerialServiceColumns]{ - c: FileuploadFlyoverAerialServices.Columns, - f: func(to fileuploadFlyoverAerialServiceColumns) bob.Mod[Q] { - mods := make(mods.QueryMods[Q], 0, 1) - - { - mods = append(mods, dialect.Join[Q](typ, FileuploadFlyoverAerialServices.Name().As(to.Alias())).On( - to.OrganizationID.EQ(cols.ID), - )) - } - - return mods - }, - }, Pools: modAs[Q, fileuploadPoolColumns]{ c: FileuploadPools.Columns, f: func(to fileuploadPoolColumns) bob.Mod[Q] { diff --git a/db/models/user_.bob.go b/db/models/user_.bob.go index 15692e9d..bc742c07 100644 --- a/db/models/user_.bob.go +++ b/db/models/user_.bob.go @@ -58,21 +58,20 @@ type UsersQuery = *psql.ViewQuery[*User, UserSlice] // userR is where relationships are stored. type userR struct { - UserOauthTokens ArcgisOauthTokenSlice // arcgis.oauth_token.oauth_token_user_id_fkey - PublicUserUser ArcgisUserSlice // arcgis.user_.user__public_user_id_fkey - CreatorComplianceReportRequests ComplianceReportRequestSlice // compliance_report_request.compliance_report_request_creator_fkey - CreatorFiles FileuploadFileSlice // fileupload.file.file_creator_id_fkey - CreatorFlyoverAerialServices FileuploadFlyoverAerialServiceSlice // fileupload.flyover_aerial_service.flyover_aerial_service_creator_id_fkey - FileuploadPool FileuploadPoolSlice // fileupload.pool.pool_creator_id_fkey - CreatorNoteAudios NoteAudioSlice // note_audio.note_audio_creator_id_fkey - DeletorNoteAudios NoteAudioSlice // note_audio.note_audio_deletor_id_fkey - CreatorNoteImages NoteImageSlice // note_image.note_image_creator_id_fkey - DeletorNoteImages NoteImageSlice // note_image.note_image_deletor_id_fkey - UserNotifications NotificationSlice // notification.notification_user_id_fkey - CreatorPools PoolSlice // pool.pool_creator_id_fkey - CreatorResidents ResidentSlice // resident.resident_creator_fkey - CreatorSites SiteSlice // site.site_creator_id_fkey - Organization *Organization // user_.user__organization_id_fkey + UserOauthTokens ArcgisOauthTokenSlice // arcgis.oauth_token.oauth_token_user_id_fkey + PublicUserUser ArcgisUserSlice // arcgis.user_.user__public_user_id_fkey + CreatorComplianceReportRequests ComplianceReportRequestSlice // compliance_report_request.compliance_report_request_creator_fkey + CreatorFiles FileuploadFileSlice // fileupload.file.file_creator_id_fkey + FileuploadPool FileuploadPoolSlice // fileupload.pool.pool_creator_id_fkey + CreatorNoteAudios NoteAudioSlice // note_audio.note_audio_creator_id_fkey + DeletorNoteAudios NoteAudioSlice // note_audio.note_audio_deletor_id_fkey + CreatorNoteImages NoteImageSlice // note_image.note_image_creator_id_fkey + DeletorNoteImages NoteImageSlice // note_image.note_image_deletor_id_fkey + UserNotifications NotificationSlice // notification.notification_user_id_fkey + CreatorPools PoolSlice // pool.pool_creator_id_fkey + CreatorResidents ResidentSlice // resident.resident_creator_fkey + CreatorSites SiteSlice // site.site_creator_id_fkey + Organization *Organization // user_.user__organization_id_fkey } func buildUserColumns(alias string) userColumns { @@ -737,30 +736,6 @@ func (os UserSlice) CreatorFiles(mods ...bob.Mod[*dialect.SelectQuery]) Fileuplo )...) } -// CreatorFlyoverAerialServices starts a query for related objects on fileupload.flyover_aerial_service -func (o *User) CreatorFlyoverAerialServices(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadFlyoverAerialServicesQuery { - return FileuploadFlyoverAerialServices.Query(append(mods, - sm.Where(FileuploadFlyoverAerialServices.Columns.CreatorID.EQ(psql.Arg(o.ID))), - )...) -} - -func (os UserSlice) CreatorFlyoverAerialServices(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadFlyoverAerialServicesQuery { - pkID := make(pgtypes.Array[int32], 0, len(os)) - for _, o := range os { - if o == nil { - continue - } - pkID = append(pkID, o.ID) - } - PKArgExpr := psql.Select(sm.Columns( - psql.F("unnest", psql.Cast(psql.Arg(pkID), "integer[]")), - )) - - return FileuploadFlyoverAerialServices.Query(append(mods, - sm.Where(psql.Group(FileuploadFlyoverAerialServices.Columns.CreatorID).OP("IN", PKArgExpr)), - )...) -} - // FileuploadPool starts a query for related objects on fileupload.pool func (o *User) FileuploadPool(mods ...bob.Mod[*dialect.SelectQuery]) FileuploadPoolsQuery { return FileuploadPools.Query(append(mods, @@ -1273,74 +1248,6 @@ func (user0 *User) AttachCreatorFiles(ctx context.Context, exec bob.Executor, re return nil } -func insertUserCreatorFlyoverAerialServices0(ctx context.Context, exec bob.Executor, fileuploadFlyoverAerialServices1 []*FileuploadFlyoverAerialServiceSetter, user0 *User) (FileuploadFlyoverAerialServiceSlice, error) { - for i := range fileuploadFlyoverAerialServices1 { - fileuploadFlyoverAerialServices1[i].CreatorID = omit.From(user0.ID) - } - - ret, err := FileuploadFlyoverAerialServices.Insert(bob.ToMods(fileuploadFlyoverAerialServices1...)).All(ctx, exec) - if err != nil { - return ret, fmt.Errorf("insertUserCreatorFlyoverAerialServices0: %w", err) - } - - return ret, nil -} - -func attachUserCreatorFlyoverAerialServices0(ctx context.Context, exec bob.Executor, count int, fileuploadFlyoverAerialServices1 FileuploadFlyoverAerialServiceSlice, user0 *User) (FileuploadFlyoverAerialServiceSlice, error) { - setter := &FileuploadFlyoverAerialServiceSetter{ - CreatorID: omit.From(user0.ID), - } - - err := fileuploadFlyoverAerialServices1.UpdateAll(ctx, exec, *setter) - if err != nil { - return nil, fmt.Errorf("attachUserCreatorFlyoverAerialServices0: %w", err) - } - - return fileuploadFlyoverAerialServices1, nil -} - -func (user0 *User) InsertCreatorFlyoverAerialServices(ctx context.Context, exec bob.Executor, related ...*FileuploadFlyoverAerialServiceSetter) error { - if len(related) == 0 { - return nil - } - - var err error - - fileuploadFlyoverAerialServices1, err := insertUserCreatorFlyoverAerialServices0(ctx, exec, related, user0) - if err != nil { - return err - } - - user0.R.CreatorFlyoverAerialServices = append(user0.R.CreatorFlyoverAerialServices, fileuploadFlyoverAerialServices1...) - - for _, rel := range fileuploadFlyoverAerialServices1 { - rel.R.CreatorUser = user0 - } - return nil -} - -func (user0 *User) AttachCreatorFlyoverAerialServices(ctx context.Context, exec bob.Executor, related ...*FileuploadFlyoverAerialService) error { - if len(related) == 0 { - return nil - } - - var err error - fileuploadFlyoverAerialServices1 := FileuploadFlyoverAerialServiceSlice(related) - - _, err = attachUserCreatorFlyoverAerialServices0(ctx, exec, len(related), fileuploadFlyoverAerialServices1, user0) - if err != nil { - return err - } - - user0.R.CreatorFlyoverAerialServices = append(user0.R.CreatorFlyoverAerialServices, fileuploadFlyoverAerialServices1...) - - for _, rel := range related { - rel.R.CreatorUser = user0 - } - - return nil -} - func insertUserFileuploadPool0(ctx context.Context, exec bob.Executor, fileuploadPools1 []*FileuploadPoolSetter, user0 *User) (FileuploadPoolSlice, error) { for i := range fileuploadPools1 { fileuploadPools1[i].CreatorID = omit.From(user0.ID) @@ -2095,20 +2002,6 @@ func (o *User) Preload(name string, retrieved any) error { o.R.CreatorFiles = rels - for _, rel := range rels { - if rel != nil { - rel.R.CreatorUser = o - } - } - return nil - case "CreatorFlyoverAerialServices": - rels, ok := retrieved.(FileuploadFlyoverAerialServiceSlice) - if !ok { - return fmt.Errorf("user cannot load %T as %q", retrieved, name) - } - - o.R.CreatorFlyoverAerialServices = rels - for _, rel := range rels { if rel != nil { rel.R.CreatorUser = o @@ -2285,7 +2178,6 @@ type userThenLoader[Q orm.Loadable] struct { PublicUserUser func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] CreatorComplianceReportRequests func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] CreatorFiles func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - CreatorFlyoverAerialServices func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] FileuploadPool func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] CreatorNoteAudios func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] DeletorNoteAudios func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] @@ -2311,9 +2203,6 @@ func buildUserThenLoader[Q orm.Loadable]() userThenLoader[Q] { type CreatorFilesLoadInterface interface { LoadCreatorFiles(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } - type CreatorFlyoverAerialServicesLoadInterface interface { - LoadCreatorFlyoverAerialServices(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error - } type FileuploadPoolLoadInterface interface { LoadFileuploadPool(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } @@ -2370,12 +2259,6 @@ func buildUserThenLoader[Q orm.Loadable]() userThenLoader[Q] { return retrieved.LoadCreatorFiles(ctx, exec, mods...) }, ), - CreatorFlyoverAerialServices: thenLoadBuilder[Q]( - "CreatorFlyoverAerialServices", - func(ctx context.Context, exec bob.Executor, retrieved CreatorFlyoverAerialServicesLoadInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { - return retrieved.LoadCreatorFlyoverAerialServices(ctx, exec, mods...) - }, - ), FileuploadPool: thenLoadBuilder[Q]( "FileuploadPool", func(ctx context.Context, exec bob.Executor, retrieved FileuploadPoolLoadInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { @@ -2683,67 +2566,6 @@ func (os UserSlice) LoadCreatorFiles(ctx context.Context, exec bob.Executor, mod return nil } -// LoadCreatorFlyoverAerialServices loads the user's CreatorFlyoverAerialServices into the .R struct -func (o *User) LoadCreatorFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if o == nil { - return nil - } - - // Reset the relationship - o.R.CreatorFlyoverAerialServices = nil - - related, err := o.CreatorFlyoverAerialServices(mods...).All(ctx, exec) - if err != nil { - return err - } - - for _, rel := range related { - rel.R.CreatorUser = o - } - - o.R.CreatorFlyoverAerialServices = related - return nil -} - -// LoadCreatorFlyoverAerialServices loads the user's CreatorFlyoverAerialServices into the .R struct -func (os UserSlice) LoadCreatorFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if len(os) == 0 { - return nil - } - - fileuploadFlyoverAerialServices, err := os.CreatorFlyoverAerialServices(mods...).All(ctx, exec) - if err != nil { - return err - } - - for _, o := range os { - if o == nil { - continue - } - - o.R.CreatorFlyoverAerialServices = nil - } - - for _, o := range os { - if o == nil { - continue - } - - for _, rel := range fileuploadFlyoverAerialServices { - - if !(o.ID == rel.CreatorID) { - continue - } - - rel.R.CreatorUser = o - - o.R.CreatorFlyoverAerialServices = append(o.R.CreatorFlyoverAerialServices, rel) - } - } - - return nil -} - // LoadFileuploadPool loads the user's FileuploadPool into the .R struct func (o *User) LoadFileuploadPool(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { if o == nil { @@ -3357,7 +3179,6 @@ type userC struct { PublicUserUser *int64 CreatorComplianceReportRequests *int64 CreatorFiles *int64 - CreatorFlyoverAerialServices *int64 FileuploadPool *int64 CreatorNoteAudios *int64 DeletorNoteAudios *int64 @@ -3384,8 +3205,6 @@ func (o *User) PreloadCount(name string, count int64) error { o.C.CreatorComplianceReportRequests = &count case "CreatorFiles": o.C.CreatorFiles = &count - case "CreatorFlyoverAerialServices": - o.C.CreatorFlyoverAerialServices = &count case "FileuploadPool": o.C.FileuploadPool = &count case "CreatorNoteAudios": @@ -3413,7 +3232,6 @@ type userCountPreloader struct { PublicUserUser func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader CreatorComplianceReportRequests func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader CreatorFiles func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader - CreatorFlyoverAerialServices func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader FileuploadPool func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader CreatorNoteAudios func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader DeletorNoteAudios func(...bob.Mod[*dialect.SelectQuery]) psql.Preloader @@ -3495,23 +3313,6 @@ func buildUserCountPreloader() userCountPreloader { return psql.Group(psql.Select(subqueryMods...).Expression) }) }, - CreatorFlyoverAerialServices: func(mods ...bob.Mod[*dialect.SelectQuery]) psql.Preloader { - return countPreloader[*User]("CreatorFlyoverAerialServices", func(parent string) bob.Expression { - // Build a correlated subquery: (SELECT COUNT(*) FROM related WHERE fk = parent.pk) - if parent == "" { - parent = Users.Alias() - } - - subqueryMods := []bob.Mod[*dialect.SelectQuery]{ - sm.Columns(psql.Raw("count(*)")), - - sm.From(FileuploadFlyoverAerialServices.Name()), - sm.Where(psql.Quote(FileuploadFlyoverAerialServices.Alias(), "creator_id").EQ(psql.Quote(parent, "id"))), - } - subqueryMods = append(subqueryMods, mods...) - return psql.Group(psql.Select(subqueryMods...).Expression) - }) - }, FileuploadPool: func(mods ...bob.Mod[*dialect.SelectQuery]) psql.Preloader { return countPreloader[*User]("FileuploadPool", func(parent string) bob.Expression { // Build a correlated subquery: (SELECT COUNT(*) FROM related WHERE fk = parent.pk) @@ -3673,7 +3474,6 @@ type userCountThenLoader[Q orm.Loadable] struct { PublicUserUser func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] CreatorComplianceReportRequests func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] CreatorFiles func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] - CreatorFlyoverAerialServices func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] FileuploadPool func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] CreatorNoteAudios func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] DeletorNoteAudios func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] @@ -3698,9 +3498,6 @@ func buildUserCountThenLoader[Q orm.Loadable]() userCountThenLoader[Q] { type CreatorFilesCountInterface interface { LoadCountCreatorFiles(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } - type CreatorFlyoverAerialServicesCountInterface interface { - LoadCountCreatorFlyoverAerialServices(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error - } type FileuploadPoolCountInterface interface { LoadCountFileuploadPool(context.Context, bob.Executor, ...bob.Mod[*dialect.SelectQuery]) error } @@ -3754,12 +3551,6 @@ func buildUserCountThenLoader[Q orm.Loadable]() userCountThenLoader[Q] { return retrieved.LoadCountCreatorFiles(ctx, exec, mods...) }, ), - CreatorFlyoverAerialServices: countThenLoadBuilder[Q]( - "CreatorFlyoverAerialServices", - func(ctx context.Context, exec bob.Executor, retrieved CreatorFlyoverAerialServicesCountInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { - return retrieved.LoadCountCreatorFlyoverAerialServices(ctx, exec, mods...) - }, - ), FileuploadPool: countThenLoadBuilder[Q]( "FileuploadPool", func(ctx context.Context, exec bob.Executor, retrieved FileuploadPoolCountInterface, mods ...bob.Mod[*dialect.SelectQuery]) error { @@ -3937,36 +3728,6 @@ func (os UserSlice) LoadCountCreatorFiles(ctx context.Context, exec bob.Executor return nil } -// LoadCountCreatorFlyoverAerialServices loads the count of CreatorFlyoverAerialServices into the C struct -func (o *User) LoadCountCreatorFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if o == nil { - return nil - } - - count, err := o.CreatorFlyoverAerialServices(mods...).Count(ctx, exec) - if err != nil { - return err - } - - o.C.CreatorFlyoverAerialServices = &count - return nil -} - -// LoadCountCreatorFlyoverAerialServices loads the count of CreatorFlyoverAerialServices for a slice -func (os UserSlice) LoadCountCreatorFlyoverAerialServices(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { - if len(os) == 0 { - return nil - } - - for _, o := range os { - if err := o.LoadCountCreatorFlyoverAerialServices(ctx, exec, mods...); err != nil { - return err - } - } - - return nil -} - // LoadCountFileuploadPool loads the count of FileuploadPool into the C struct func (o *User) LoadCountFileuploadPool(ctx context.Context, exec bob.Executor, mods ...bob.Mod[*dialect.SelectQuery]) error { if o == nil { @@ -4243,7 +4004,6 @@ type userJoins[Q dialect.Joinable] struct { PublicUserUser modAs[Q, arcgisuserColumns] CreatorComplianceReportRequests modAs[Q, complianceReportRequestColumns] CreatorFiles modAs[Q, fileuploadFileColumns] - CreatorFlyoverAerialServices modAs[Q, fileuploadFlyoverAerialServiceColumns] FileuploadPool modAs[Q, fileuploadPoolColumns] CreatorNoteAudios modAs[Q, noteAudioColumns] DeletorNoteAudios modAs[Q, noteAudioColumns] @@ -4319,20 +4079,6 @@ func buildUserJoins[Q dialect.Joinable](cols userColumns, typ string) userJoins[ return mods }, }, - CreatorFlyoverAerialServices: modAs[Q, fileuploadFlyoverAerialServiceColumns]{ - c: FileuploadFlyoverAerialServices.Columns, - f: func(to fileuploadFlyoverAerialServiceColumns) bob.Mod[Q] { - mods := make(mods.QueryMods[Q], 0, 1) - - { - mods = append(mods, dialect.Join[Q](typ, FileuploadFlyoverAerialServices.Name().As(to.Alias())).On( - to.CreatorID.EQ(cols.ID), - )) - } - - return mods - }, - }, FileuploadPool: modAs[Q, fileuploadPoolColumns]{ c: FileuploadPools.Columns, f: func(to fileuploadPoolColumns) bob.Mod[Q] { diff --git a/html/template/sync/upload-by-id.html b/html/template/sync/upload-by-id.html index 233d5de7..b19f0b8a 100644 --- a/html/template/sync/upload-by-id.html +++ b/html/template/sync/upload-by-id.html @@ -180,7 +180,7 @@ document.addEventListener('DOMContentLoaded', onLoad);