Files
am-scripts/database/storage_service/models/bob_loaders.bob.go
2026-03-19 14:46:45 -04:00

204 lines
11 KiB
Go

// Code generated by BobGen mysql v0.42.0. DO NOT EDIT.
// This file is meant to be re-generated in place and/or deleted at any time.
package models
import (
"context"
"database/sql"
"errors"
"fmt"
"github.com/stephenafamo/bob"
"github.com/stephenafamo/bob/dialect/mysql/dialect"
"github.com/stephenafamo/bob/orm"
)
var Preload = getPreloaders()
type preloaders struct {
AuthGroup authGroupPreloader
AuthGroupPermission authGroupPermissionPreloader
AuthPermission authPermissionPreloader
AuthUser authUserPreloader
AuthUserGroup authUserGroupPreloader
AuthUserUserPermission authUserUserPermissionPreloader
DjangoAdminLog djangoAdminLogPreloader
DjangoContentType djangoContentTypePreloader
LocationsArchipelago locationsArchipelagoPreloader
LocationsArkivum locationsArkivumPreloader
LocationsDataverse locationsDataversePreloader
LocationsDspace locationsDspacePreloader
LocationsDspacerest locationsDspacerestPreloader
LocationsDuracloud locationsDuracloudPreloader
LocationsEvent locationsEventPreloader
LocationsFedora locationsFedoraPreloader
LocationsFile locationsFilePreloader
LocationsFixitylog locationsFixitylogPreloader
LocationsGPG locationsGPGPreloader
LocationsLocalfilesystem locationsLocalfilesystemPreloader
LocationsLocation locationsLocationPreloader
LocationsLocationReplicator locationsLocationReplicatorPreloader
LocationsLocationpipeline locationsLocationpipelinePreloader
LocationsLockssomatic locationsLockssomaticPreloader
LocationsNF locationsNFPreloader
LocationsOfflinereplicastaging locationsOfflinereplicastagingPreloader
LocationsPackage locationsPackagePreloader
LocationsPackageRelatedPackage locationsPackageRelatedPackagePreloader
LocationsPackagedownloadtask locationsPackagedownloadtaskPreloader
LocationsPackagedownloadtaskfile locationsPackagedownloadtaskfilePreloader
LocationsPipeline locationsPipelinePreloader
LocationsPipelinelocalf locationsPipelinelocalfPreloader
LocationsRclone locationsRclonePreloader
LocationsS3 locationsS3Preloader
LocationsSpace locationsSpacePreloader
LocationsSwift locationsSwiftPreloader
TastypieApikey tastypieApikeyPreloader
}
func getPreloaders() preloaders {
return preloaders{
AuthGroup: buildAuthGroupPreloader(),
AuthGroupPermission: buildAuthGroupPermissionPreloader(),
AuthPermission: buildAuthPermissionPreloader(),
AuthUser: buildAuthUserPreloader(),
AuthUserGroup: buildAuthUserGroupPreloader(),
AuthUserUserPermission: buildAuthUserUserPermissionPreloader(),
DjangoAdminLog: buildDjangoAdminLogPreloader(),
DjangoContentType: buildDjangoContentTypePreloader(),
LocationsArchipelago: buildLocationsArchipelagoPreloader(),
LocationsArkivum: buildLocationsArkivumPreloader(),
LocationsDataverse: buildLocationsDataversePreloader(),
LocationsDspace: buildLocationsDspacePreloader(),
LocationsDspacerest: buildLocationsDspacerestPreloader(),
LocationsDuracloud: buildLocationsDuracloudPreloader(),
LocationsEvent: buildLocationsEventPreloader(),
LocationsFedora: buildLocationsFedoraPreloader(),
LocationsFile: buildLocationsFilePreloader(),
LocationsFixitylog: buildLocationsFixitylogPreloader(),
LocationsGPG: buildLocationsGPGPreloader(),
LocationsLocalfilesystem: buildLocationsLocalfilesystemPreloader(),
LocationsLocation: buildLocationsLocationPreloader(),
LocationsLocationReplicator: buildLocationsLocationReplicatorPreloader(),
LocationsLocationpipeline: buildLocationsLocationpipelinePreloader(),
LocationsLockssomatic: buildLocationsLockssomaticPreloader(),
LocationsNF: buildLocationsNFPreloader(),
LocationsOfflinereplicastaging: buildLocationsOfflinereplicastagingPreloader(),
LocationsPackage: buildLocationsPackagePreloader(),
LocationsPackageRelatedPackage: buildLocationsPackageRelatedPackagePreloader(),
LocationsPackagedownloadtask: buildLocationsPackagedownloadtaskPreloader(),
LocationsPackagedownloadtaskfile: buildLocationsPackagedownloadtaskfilePreloader(),
LocationsPipeline: buildLocationsPipelinePreloader(),
LocationsPipelinelocalf: buildLocationsPipelinelocalfPreloader(),
LocationsRclone: buildLocationsRclonePreloader(),
LocationsS3: buildLocationsS3Preloader(),
LocationsSpace: buildLocationsSpacePreloader(),
LocationsSwift: buildLocationsSwiftPreloader(),
TastypieApikey: buildTastypieApikeyPreloader(),
}
}
var SelectThenLoad = getThenLoaders[*dialect.SelectQuery]()
type thenLoaders[Q orm.Loadable] struct {
AuthGroup authGroupThenLoader[Q]
AuthGroupPermission authGroupPermissionThenLoader[Q]
AuthPermission authPermissionThenLoader[Q]
AuthUser authUserThenLoader[Q]
AuthUserGroup authUserGroupThenLoader[Q]
AuthUserUserPermission authUserUserPermissionThenLoader[Q]
DjangoAdminLog djangoAdminLogThenLoader[Q]
DjangoContentType djangoContentTypeThenLoader[Q]
LocationsArchipelago locationsArchipelagoThenLoader[Q]
LocationsArkivum locationsArkivumThenLoader[Q]
LocationsDataverse locationsDataverseThenLoader[Q]
LocationsDspace locationsDspaceThenLoader[Q]
LocationsDspacerest locationsDspacerestThenLoader[Q]
LocationsDuracloud locationsDuracloudThenLoader[Q]
LocationsEvent locationsEventThenLoader[Q]
LocationsFedora locationsFedoraThenLoader[Q]
LocationsFile locationsFileThenLoader[Q]
LocationsFixitylog locationsFixitylogThenLoader[Q]
LocationsGPG locationsGPGThenLoader[Q]
LocationsLocalfilesystem locationsLocalfilesystemThenLoader[Q]
LocationsLocation locationsLocationThenLoader[Q]
LocationsLocationReplicator locationsLocationReplicatorThenLoader[Q]
LocationsLocationpipeline locationsLocationpipelineThenLoader[Q]
LocationsLockssomatic locationsLockssomaticThenLoader[Q]
LocationsNF locationsNFThenLoader[Q]
LocationsOfflinereplicastaging locationsOfflinereplicastagingThenLoader[Q]
LocationsPackage locationsPackageThenLoader[Q]
LocationsPackageRelatedPackage locationsPackageRelatedPackageThenLoader[Q]
LocationsPackagedownloadtask locationsPackagedownloadtaskThenLoader[Q]
LocationsPackagedownloadtaskfile locationsPackagedownloadtaskfileThenLoader[Q]
LocationsPipeline locationsPipelineThenLoader[Q]
LocationsPipelinelocalf locationsPipelinelocalfThenLoader[Q]
LocationsRclone locationsRcloneThenLoader[Q]
LocationsS3 locationsS3ThenLoader[Q]
LocationsSpace locationsSpaceThenLoader[Q]
LocationsSwift locationsSwiftThenLoader[Q]
TastypieApikey tastypieApikeyThenLoader[Q]
}
func getThenLoaders[Q orm.Loadable]() thenLoaders[Q] {
return thenLoaders[Q]{
AuthGroup: buildAuthGroupThenLoader[Q](),
AuthGroupPermission: buildAuthGroupPermissionThenLoader[Q](),
AuthPermission: buildAuthPermissionThenLoader[Q](),
AuthUser: buildAuthUserThenLoader[Q](),
AuthUserGroup: buildAuthUserGroupThenLoader[Q](),
AuthUserUserPermission: buildAuthUserUserPermissionThenLoader[Q](),
DjangoAdminLog: buildDjangoAdminLogThenLoader[Q](),
DjangoContentType: buildDjangoContentTypeThenLoader[Q](),
LocationsArchipelago: buildLocationsArchipelagoThenLoader[Q](),
LocationsArkivum: buildLocationsArkivumThenLoader[Q](),
LocationsDataverse: buildLocationsDataverseThenLoader[Q](),
LocationsDspace: buildLocationsDspaceThenLoader[Q](),
LocationsDspacerest: buildLocationsDspacerestThenLoader[Q](),
LocationsDuracloud: buildLocationsDuracloudThenLoader[Q](),
LocationsEvent: buildLocationsEventThenLoader[Q](),
LocationsFedora: buildLocationsFedoraThenLoader[Q](),
LocationsFile: buildLocationsFileThenLoader[Q](),
LocationsFixitylog: buildLocationsFixitylogThenLoader[Q](),
LocationsGPG: buildLocationsGPGThenLoader[Q](),
LocationsLocalfilesystem: buildLocationsLocalfilesystemThenLoader[Q](),
LocationsLocation: buildLocationsLocationThenLoader[Q](),
LocationsLocationReplicator: buildLocationsLocationReplicatorThenLoader[Q](),
LocationsLocationpipeline: buildLocationsLocationpipelineThenLoader[Q](),
LocationsLockssomatic: buildLocationsLockssomaticThenLoader[Q](),
LocationsNF: buildLocationsNFThenLoader[Q](),
LocationsOfflinereplicastaging: buildLocationsOfflinereplicastagingThenLoader[Q](),
LocationsPackage: buildLocationsPackageThenLoader[Q](),
LocationsPackageRelatedPackage: buildLocationsPackageRelatedPackageThenLoader[Q](),
LocationsPackagedownloadtask: buildLocationsPackagedownloadtaskThenLoader[Q](),
LocationsPackagedownloadtaskfile: buildLocationsPackagedownloadtaskfileThenLoader[Q](),
LocationsPipeline: buildLocationsPipelineThenLoader[Q](),
LocationsPipelinelocalf: buildLocationsPipelinelocalfThenLoader[Q](),
LocationsRclone: buildLocationsRcloneThenLoader[Q](),
LocationsS3: buildLocationsS3ThenLoader[Q](),
LocationsSpace: buildLocationsSpaceThenLoader[Q](),
LocationsSwift: buildLocationsSwiftThenLoader[Q](),
TastypieApikey: buildTastypieApikeyThenLoader[Q](),
}
}
func thenLoadBuilder[Q orm.Loadable, T any](name string, f func(context.Context, bob.Executor, T, ...bob.Mod[*dialect.SelectQuery]) error) func(...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] {
return func(queryMods ...bob.Mod[*dialect.SelectQuery]) orm.Loader[Q] {
return func(ctx context.Context, exec bob.Executor, retrieved any) error {
loader, isLoader := retrieved.(T)
if !isLoader {
return fmt.Errorf("object %T cannot load %q", retrieved, name)
}
err := f(ctx, exec, loader, queryMods...)
// Don't cause an issue due to missing relationships
if errors.Is(err, sql.ErrNoRows) {
return nil
}
return err
}
}
}