204 lines
11 KiB
Go
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
|
|
}
|
|
}
|
|
}
|