nidus-sync/models/bob_joins.bob.go
Eli Ribble b0432f3243
Add statistics on the sync and save org ID with fieldseeker tables
We need the org ID so that we can avoid bleedover between different
organizations.
2025-11-07 09:30:31 +00:00

188 lines
13 KiB
Go

// Code generated by BobGen psql v0.41.1. DO NOT EDIT.
// This file is meant to be re-generated in place and/or deleted at any time.
package models
import (
"hash/maphash"
"github.com/stephenafamo/bob"
"github.com/stephenafamo/bob/clause"
"github.com/stephenafamo/bob/dialect/psql/dialect"
)
var (
SelectJoins = getJoins[*dialect.SelectQuery]()
UpdateJoins = getJoins[*dialect.UpdateQuery]()
DeleteJoins = getJoins[*dialect.DeleteQuery]()
)
type joinSet[Q interface{ aliasedAs(string) Q }] struct {
InnerJoin Q
LeftJoin Q
RightJoin Q
}
func (j joinSet[Q]) AliasedAs(alias string) joinSet[Q] {
return joinSet[Q]{
InnerJoin: j.InnerJoin.aliasedAs(alias),
LeftJoin: j.LeftJoin.aliasedAs(alias),
RightJoin: j.RightJoin.aliasedAs(alias),
}
}
type joins[Q dialect.Joinable] struct {
FieldseekerSyncs joinSet[fieldseekerSyncJoins[Q]]
FSContainerrelates joinSet[fsContainerrelateJoins[Q]]
FSFieldscoutinglogs joinSet[fsFieldscoutinglogJoins[Q]]
FSHabitatrelates joinSet[fsHabitatrelateJoins[Q]]
FSInspectionsamples joinSet[fsInspectionsampleJoins[Q]]
FSInspectionsampledetails joinSet[fsInspectionsampledetailJoins[Q]]
FSLinelocations joinSet[fsLinelocationJoins[Q]]
FSLocationtrackings joinSet[fsLocationtrackingJoins[Q]]
FSMosquitoinspections joinSet[fsMosquitoinspectionJoins[Q]]
FSPointlocations joinSet[fsPointlocationJoins[Q]]
FSPolygonlocations joinSet[fsPolygonlocationJoins[Q]]
FSPools joinSet[fsPoolJoins[Q]]
FSPooldetails joinSet[fsPooldetailJoins[Q]]
FSProposedtreatmentareas joinSet[fsProposedtreatmentareaJoins[Q]]
FSQamosquitoinspections joinSet[fsQamosquitoinspectionJoins[Q]]
FSRodentlocations joinSet[fsRodentlocationJoins[Q]]
FSSamplecollections joinSet[fsSamplecollectionJoins[Q]]
FSSamplelocations joinSet[fsSamplelocationJoins[Q]]
FSServicerequests joinSet[fsServicerequestJoins[Q]]
FSSpeciesabundances joinSet[fsSpeciesabundanceJoins[Q]]
FSStormdrains joinSet[fsStormdrainJoins[Q]]
FSTimecards joinSet[fsTimecardJoins[Q]]
FSTrapdata joinSet[fsTrapdatumJoins[Q]]
FSTraplocations joinSet[fsTraplocationJoins[Q]]
FSTreatments joinSet[fsTreatmentJoins[Q]]
FSTreatmentareas joinSet[fsTreatmentareaJoins[Q]]
FSZones joinSet[fsZoneJoins[Q]]
FSZones2s joinSet[fsZones2Joins[Q]]
HistoryContainerrelates joinSet[historyContainerrelateJoins[Q]]
HistoryFieldscoutinglogs joinSet[historyFieldscoutinglogJoins[Q]]
HistoryHabitatrelates joinSet[historyHabitatrelateJoins[Q]]
HistoryInspectionsamples joinSet[historyInspectionsampleJoins[Q]]
HistoryInspectionsampledetails joinSet[historyInspectionsampledetailJoins[Q]]
HistoryLinelocations joinSet[historyLinelocationJoins[Q]]
HistoryLocationtrackings joinSet[historyLocationtrackingJoins[Q]]
HistoryMosquitoinspections joinSet[historyMosquitoinspectionJoins[Q]]
HistoryPointlocations joinSet[historyPointlocationJoins[Q]]
HistoryPolygonlocations joinSet[historyPolygonlocationJoins[Q]]
HistoryPools joinSet[historyPoolJoins[Q]]
HistoryPooldetails joinSet[historyPooldetailJoins[Q]]
HistoryProposedtreatmentareas joinSet[historyProposedtreatmentareaJoins[Q]]
HistoryQamosquitoinspections joinSet[historyQamosquitoinspectionJoins[Q]]
HistoryRodentlocations joinSet[historyRodentlocationJoins[Q]]
HistorySamplecollections joinSet[historySamplecollectionJoins[Q]]
HistorySamplelocations joinSet[historySamplelocationJoins[Q]]
HistoryServicerequests joinSet[historyServicerequestJoins[Q]]
HistorySpeciesabundances joinSet[historySpeciesabundanceJoins[Q]]
HistoryStormdrains joinSet[historyStormdrainJoins[Q]]
HistoryTimecards joinSet[historyTimecardJoins[Q]]
HistoryTrapdata joinSet[historyTrapdatumJoins[Q]]
HistoryTraplocations joinSet[historyTraplocationJoins[Q]]
HistoryTreatments joinSet[historyTreatmentJoins[Q]]
HistoryTreatmentareas joinSet[historyTreatmentareaJoins[Q]]
HistoryZones joinSet[historyZoneJoins[Q]]
HistoryZones2s joinSet[historyZones2Joins[Q]]
OauthTokens joinSet[oauthTokenJoins[Q]]
Organizations joinSet[organizationJoins[Q]]
Users joinSet[userJoins[Q]]
}
func buildJoinSet[Q interface{ aliasedAs(string) Q }, C any, F func(C, string) Q](c C, f F) joinSet[Q] {
return joinSet[Q]{
InnerJoin: f(c, clause.InnerJoin),
LeftJoin: f(c, clause.LeftJoin),
RightJoin: f(c, clause.RightJoin),
}
}
func getJoins[Q dialect.Joinable]() joins[Q] {
return joins[Q]{
FieldseekerSyncs: buildJoinSet[fieldseekerSyncJoins[Q]](FieldseekerSyncs.Columns, buildFieldseekerSyncJoins),
FSContainerrelates: buildJoinSet[fsContainerrelateJoins[Q]](FSContainerrelates.Columns, buildFSContainerrelateJoins),
FSFieldscoutinglogs: buildJoinSet[fsFieldscoutinglogJoins[Q]](FSFieldscoutinglogs.Columns, buildFSFieldscoutinglogJoins),
FSHabitatrelates: buildJoinSet[fsHabitatrelateJoins[Q]](FSHabitatrelates.Columns, buildFSHabitatrelateJoins),
FSInspectionsamples: buildJoinSet[fsInspectionsampleJoins[Q]](FSInspectionsamples.Columns, buildFSInspectionsampleJoins),
FSInspectionsampledetails: buildJoinSet[fsInspectionsampledetailJoins[Q]](FSInspectionsampledetails.Columns, buildFSInspectionsampledetailJoins),
FSLinelocations: buildJoinSet[fsLinelocationJoins[Q]](FSLinelocations.Columns, buildFSLinelocationJoins),
FSLocationtrackings: buildJoinSet[fsLocationtrackingJoins[Q]](FSLocationtrackings.Columns, buildFSLocationtrackingJoins),
FSMosquitoinspections: buildJoinSet[fsMosquitoinspectionJoins[Q]](FSMosquitoinspections.Columns, buildFSMosquitoinspectionJoins),
FSPointlocations: buildJoinSet[fsPointlocationJoins[Q]](FSPointlocations.Columns, buildFSPointlocationJoins),
FSPolygonlocations: buildJoinSet[fsPolygonlocationJoins[Q]](FSPolygonlocations.Columns, buildFSPolygonlocationJoins),
FSPools: buildJoinSet[fsPoolJoins[Q]](FSPools.Columns, buildFSPoolJoins),
FSPooldetails: buildJoinSet[fsPooldetailJoins[Q]](FSPooldetails.Columns, buildFSPooldetailJoins),
FSProposedtreatmentareas: buildJoinSet[fsProposedtreatmentareaJoins[Q]](FSProposedtreatmentareas.Columns, buildFSProposedtreatmentareaJoins),
FSQamosquitoinspections: buildJoinSet[fsQamosquitoinspectionJoins[Q]](FSQamosquitoinspections.Columns, buildFSQamosquitoinspectionJoins),
FSRodentlocations: buildJoinSet[fsRodentlocationJoins[Q]](FSRodentlocations.Columns, buildFSRodentlocationJoins),
FSSamplecollections: buildJoinSet[fsSamplecollectionJoins[Q]](FSSamplecollections.Columns, buildFSSamplecollectionJoins),
FSSamplelocations: buildJoinSet[fsSamplelocationJoins[Q]](FSSamplelocations.Columns, buildFSSamplelocationJoins),
FSServicerequests: buildJoinSet[fsServicerequestJoins[Q]](FSServicerequests.Columns, buildFSServicerequestJoins),
FSSpeciesabundances: buildJoinSet[fsSpeciesabundanceJoins[Q]](FSSpeciesabundances.Columns, buildFSSpeciesabundanceJoins),
FSStormdrains: buildJoinSet[fsStormdrainJoins[Q]](FSStormdrains.Columns, buildFSStormdrainJoins),
FSTimecards: buildJoinSet[fsTimecardJoins[Q]](FSTimecards.Columns, buildFSTimecardJoins),
FSTrapdata: buildJoinSet[fsTrapdatumJoins[Q]](FSTrapdata.Columns, buildFSTrapdatumJoins),
FSTraplocations: buildJoinSet[fsTraplocationJoins[Q]](FSTraplocations.Columns, buildFSTraplocationJoins),
FSTreatments: buildJoinSet[fsTreatmentJoins[Q]](FSTreatments.Columns, buildFSTreatmentJoins),
FSTreatmentareas: buildJoinSet[fsTreatmentareaJoins[Q]](FSTreatmentareas.Columns, buildFSTreatmentareaJoins),
FSZones: buildJoinSet[fsZoneJoins[Q]](FSZones.Columns, buildFSZoneJoins),
FSZones2s: buildJoinSet[fsZones2Joins[Q]](FSZones2s.Columns, buildFSZones2Joins),
HistoryContainerrelates: buildJoinSet[historyContainerrelateJoins[Q]](HistoryContainerrelates.Columns, buildHistoryContainerrelateJoins),
HistoryFieldscoutinglogs: buildJoinSet[historyFieldscoutinglogJoins[Q]](HistoryFieldscoutinglogs.Columns, buildHistoryFieldscoutinglogJoins),
HistoryHabitatrelates: buildJoinSet[historyHabitatrelateJoins[Q]](HistoryHabitatrelates.Columns, buildHistoryHabitatrelateJoins),
HistoryInspectionsamples: buildJoinSet[historyInspectionsampleJoins[Q]](HistoryInspectionsamples.Columns, buildHistoryInspectionsampleJoins),
HistoryInspectionsampledetails: buildJoinSet[historyInspectionsampledetailJoins[Q]](HistoryInspectionsampledetails.Columns, buildHistoryInspectionsampledetailJoins),
HistoryLinelocations: buildJoinSet[historyLinelocationJoins[Q]](HistoryLinelocations.Columns, buildHistoryLinelocationJoins),
HistoryLocationtrackings: buildJoinSet[historyLocationtrackingJoins[Q]](HistoryLocationtrackings.Columns, buildHistoryLocationtrackingJoins),
HistoryMosquitoinspections: buildJoinSet[historyMosquitoinspectionJoins[Q]](HistoryMosquitoinspections.Columns, buildHistoryMosquitoinspectionJoins),
HistoryPointlocations: buildJoinSet[historyPointlocationJoins[Q]](HistoryPointlocations.Columns, buildHistoryPointlocationJoins),
HistoryPolygonlocations: buildJoinSet[historyPolygonlocationJoins[Q]](HistoryPolygonlocations.Columns, buildHistoryPolygonlocationJoins),
HistoryPools: buildJoinSet[historyPoolJoins[Q]](HistoryPools.Columns, buildHistoryPoolJoins),
HistoryPooldetails: buildJoinSet[historyPooldetailJoins[Q]](HistoryPooldetails.Columns, buildHistoryPooldetailJoins),
HistoryProposedtreatmentareas: buildJoinSet[historyProposedtreatmentareaJoins[Q]](HistoryProposedtreatmentareas.Columns, buildHistoryProposedtreatmentareaJoins),
HistoryQamosquitoinspections: buildJoinSet[historyQamosquitoinspectionJoins[Q]](HistoryQamosquitoinspections.Columns, buildHistoryQamosquitoinspectionJoins),
HistoryRodentlocations: buildJoinSet[historyRodentlocationJoins[Q]](HistoryRodentlocations.Columns, buildHistoryRodentlocationJoins),
HistorySamplecollections: buildJoinSet[historySamplecollectionJoins[Q]](HistorySamplecollections.Columns, buildHistorySamplecollectionJoins),
HistorySamplelocations: buildJoinSet[historySamplelocationJoins[Q]](HistorySamplelocations.Columns, buildHistorySamplelocationJoins),
HistoryServicerequests: buildJoinSet[historyServicerequestJoins[Q]](HistoryServicerequests.Columns, buildHistoryServicerequestJoins),
HistorySpeciesabundances: buildJoinSet[historySpeciesabundanceJoins[Q]](HistorySpeciesabundances.Columns, buildHistorySpeciesabundanceJoins),
HistoryStormdrains: buildJoinSet[historyStormdrainJoins[Q]](HistoryStormdrains.Columns, buildHistoryStormdrainJoins),
HistoryTimecards: buildJoinSet[historyTimecardJoins[Q]](HistoryTimecards.Columns, buildHistoryTimecardJoins),
HistoryTrapdata: buildJoinSet[historyTrapdatumJoins[Q]](HistoryTrapdata.Columns, buildHistoryTrapdatumJoins),
HistoryTraplocations: buildJoinSet[historyTraplocationJoins[Q]](HistoryTraplocations.Columns, buildHistoryTraplocationJoins),
HistoryTreatments: buildJoinSet[historyTreatmentJoins[Q]](HistoryTreatments.Columns, buildHistoryTreatmentJoins),
HistoryTreatmentareas: buildJoinSet[historyTreatmentareaJoins[Q]](HistoryTreatmentareas.Columns, buildHistoryTreatmentareaJoins),
HistoryZones: buildJoinSet[historyZoneJoins[Q]](HistoryZones.Columns, buildHistoryZoneJoins),
HistoryZones2s: buildJoinSet[historyZones2Joins[Q]](HistoryZones2s.Columns, buildHistoryZones2Joins),
OauthTokens: buildJoinSet[oauthTokenJoins[Q]](OauthTokens.Columns, buildOauthTokenJoins),
Organizations: buildJoinSet[organizationJoins[Q]](Organizations.Columns, buildOrganizationJoins),
Users: buildJoinSet[userJoins[Q]](Users.Columns, buildUserJoins),
}
}
type modAs[Q any, C interface{ AliasedAs(string) C }] struct {
c C
f func(C) bob.Mod[Q]
}
func (m modAs[Q, C]) Apply(q Q) {
m.f(m.c).Apply(q)
}
func (m modAs[Q, C]) AliasedAs(alias string) bob.Mod[Q] {
m.c = m.c.AliasedAs(alias)
return m
}
func randInt() int64 {
out := int64(new(maphash.Hash).Sum64())
if out < 0 {
return -out % 10000
}
return out % 10000
}