Add SS and MCP databases

This commit is contained in:
Daniel Cosme
2026-03-19 14:46:45 -04:00
parent 5a1f86d300
commit 2d1ee4471d
195 changed files with 80063 additions and 92 deletions

View File

@@ -0,0 +1,146 @@
// 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 (
"hash/maphash"
"github.com/stephenafamo/bob"
"github.com/stephenafamo/bob/clause"
"github.com/stephenafamo/bob/dialect/mysql/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 {
AuthGroups joinSet[authGroupJoins[Q]]
AuthGroupPermissions joinSet[authGroupPermissionJoins[Q]]
AuthPermissions joinSet[authPermissionJoins[Q]]
AuthUsers joinSet[authUserJoins[Q]]
AuthUserGroups joinSet[authUserGroupJoins[Q]]
AuthUserUserPermissions joinSet[authUserUserPermissionJoins[Q]]
DjangoAdminLogs joinSet[djangoAdminLogJoins[Q]]
DjangoContentTypes joinSet[djangoContentTypeJoins[Q]]
LocationsArchipelagos joinSet[locationsArchipelagoJoins[Q]]
LocationsArkivums joinSet[locationsArkivumJoins[Q]]
LocationsDataverses joinSet[locationsDataverseJoins[Q]]
LocationsDspaces joinSet[locationsDspaceJoins[Q]]
LocationsDspacerests joinSet[locationsDspacerestJoins[Q]]
LocationsDuraclouds joinSet[locationsDuracloudJoins[Q]]
LocationsEvents joinSet[locationsEventJoins[Q]]
LocationsFedoras joinSet[locationsFedoraJoins[Q]]
LocationsFiles joinSet[locationsFileJoins[Q]]
LocationsFixitylogs joinSet[locationsFixitylogJoins[Q]]
LocationsGPGS joinSet[locationsGPGJoins[Q]]
LocationsLocalfilesystems joinSet[locationsLocalfilesystemJoins[Q]]
LocationsLocations joinSet[locationsLocationJoins[Q]]
LocationsLocationReplicators joinSet[locationsLocationReplicatorJoins[Q]]
LocationsLocationpipelines joinSet[locationsLocationpipelineJoins[Q]]
LocationsLockssomatics joinSet[locationsLockssomaticJoins[Q]]
LocationsNFS joinSet[locationsNFJoins[Q]]
LocationsOfflinereplicastagings joinSet[locationsOfflinereplicastagingJoins[Q]]
LocationsPackages joinSet[locationsPackageJoins[Q]]
LocationsPackageRelatedPackages joinSet[locationsPackageRelatedPackageJoins[Q]]
LocationsPackagedownloadtasks joinSet[locationsPackagedownloadtaskJoins[Q]]
LocationsPackagedownloadtaskfiles joinSet[locationsPackagedownloadtaskfileJoins[Q]]
LocationsPipelines joinSet[locationsPipelineJoins[Q]]
LocationsPipelinelocalfs joinSet[locationsPipelinelocalfJoins[Q]]
LocationsRclones joinSet[locationsRcloneJoins[Q]]
LocationsS3S joinSet[locationsS3Joins[Q]]
LocationsSpaces joinSet[locationsSpaceJoins[Q]]
LocationsSwifts joinSet[locationsSwiftJoins[Q]]
TastypieApikeys joinSet[tastypieApikeyJoins[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]{
AuthGroups: buildJoinSet[authGroupJoins[Q]](AuthGroups.Columns, buildAuthGroupJoins),
AuthGroupPermissions: buildJoinSet[authGroupPermissionJoins[Q]](AuthGroupPermissions.Columns, buildAuthGroupPermissionJoins),
AuthPermissions: buildJoinSet[authPermissionJoins[Q]](AuthPermissions.Columns, buildAuthPermissionJoins),
AuthUsers: buildJoinSet[authUserJoins[Q]](AuthUsers.Columns, buildAuthUserJoins),
AuthUserGroups: buildJoinSet[authUserGroupJoins[Q]](AuthUserGroups.Columns, buildAuthUserGroupJoins),
AuthUserUserPermissions: buildJoinSet[authUserUserPermissionJoins[Q]](AuthUserUserPermissions.Columns, buildAuthUserUserPermissionJoins),
DjangoAdminLogs: buildJoinSet[djangoAdminLogJoins[Q]](DjangoAdminLogs.Columns, buildDjangoAdminLogJoins),
DjangoContentTypes: buildJoinSet[djangoContentTypeJoins[Q]](DjangoContentTypes.Columns, buildDjangoContentTypeJoins),
LocationsArchipelagos: buildJoinSet[locationsArchipelagoJoins[Q]](LocationsArchipelagos.Columns, buildLocationsArchipelagoJoins),
LocationsArkivums: buildJoinSet[locationsArkivumJoins[Q]](LocationsArkivums.Columns, buildLocationsArkivumJoins),
LocationsDataverses: buildJoinSet[locationsDataverseJoins[Q]](LocationsDataverses.Columns, buildLocationsDataverseJoins),
LocationsDspaces: buildJoinSet[locationsDspaceJoins[Q]](LocationsDspaces.Columns, buildLocationsDspaceJoins),
LocationsDspacerests: buildJoinSet[locationsDspacerestJoins[Q]](LocationsDspacerests.Columns, buildLocationsDspacerestJoins),
LocationsDuraclouds: buildJoinSet[locationsDuracloudJoins[Q]](LocationsDuraclouds.Columns, buildLocationsDuracloudJoins),
LocationsEvents: buildJoinSet[locationsEventJoins[Q]](LocationsEvents.Columns, buildLocationsEventJoins),
LocationsFedoras: buildJoinSet[locationsFedoraJoins[Q]](LocationsFedoras.Columns, buildLocationsFedoraJoins),
LocationsFiles: buildJoinSet[locationsFileJoins[Q]](LocationsFiles.Columns, buildLocationsFileJoins),
LocationsFixitylogs: buildJoinSet[locationsFixitylogJoins[Q]](LocationsFixitylogs.Columns, buildLocationsFixitylogJoins),
LocationsGPGS: buildJoinSet[locationsGPGJoins[Q]](LocationsGPGS.Columns, buildLocationsGPGJoins),
LocationsLocalfilesystems: buildJoinSet[locationsLocalfilesystemJoins[Q]](LocationsLocalfilesystems.Columns, buildLocationsLocalfilesystemJoins),
LocationsLocations: buildJoinSet[locationsLocationJoins[Q]](LocationsLocations.Columns, buildLocationsLocationJoins),
LocationsLocationReplicators: buildJoinSet[locationsLocationReplicatorJoins[Q]](LocationsLocationReplicators.Columns, buildLocationsLocationReplicatorJoins),
LocationsLocationpipelines: buildJoinSet[locationsLocationpipelineJoins[Q]](LocationsLocationpipelines.Columns, buildLocationsLocationpipelineJoins),
LocationsLockssomatics: buildJoinSet[locationsLockssomaticJoins[Q]](LocationsLockssomatics.Columns, buildLocationsLockssomaticJoins),
LocationsNFS: buildJoinSet[locationsNFJoins[Q]](LocationsNFS.Columns, buildLocationsNFJoins),
LocationsOfflinereplicastagings: buildJoinSet[locationsOfflinereplicastagingJoins[Q]](LocationsOfflinereplicastagings.Columns, buildLocationsOfflinereplicastagingJoins),
LocationsPackages: buildJoinSet[locationsPackageJoins[Q]](LocationsPackages.Columns, buildLocationsPackageJoins),
LocationsPackageRelatedPackages: buildJoinSet[locationsPackageRelatedPackageJoins[Q]](LocationsPackageRelatedPackages.Columns, buildLocationsPackageRelatedPackageJoins),
LocationsPackagedownloadtasks: buildJoinSet[locationsPackagedownloadtaskJoins[Q]](LocationsPackagedownloadtasks.Columns, buildLocationsPackagedownloadtaskJoins),
LocationsPackagedownloadtaskfiles: buildJoinSet[locationsPackagedownloadtaskfileJoins[Q]](LocationsPackagedownloadtaskfiles.Columns, buildLocationsPackagedownloadtaskfileJoins),
LocationsPipelines: buildJoinSet[locationsPipelineJoins[Q]](LocationsPipelines.Columns, buildLocationsPipelineJoins),
LocationsPipelinelocalfs: buildJoinSet[locationsPipelinelocalfJoins[Q]](LocationsPipelinelocalfs.Columns, buildLocationsPipelinelocalfJoins),
LocationsRclones: buildJoinSet[locationsRcloneJoins[Q]](LocationsRclones.Columns, buildLocationsRcloneJoins),
LocationsS3S: buildJoinSet[locationsS3Joins[Q]](LocationsS3S.Columns, buildLocationsS3Joins),
LocationsSpaces: buildJoinSet[locationsSpaceJoins[Q]](LocationsSpaces.Columns, buildLocationsSpaceJoins),
LocationsSwifts: buildJoinSet[locationsSwiftJoins[Q]](LocationsSwifts.Columns, buildLocationsSwiftJoins),
TastypieApikeys: buildJoinSet[tastypieApikeyJoins[Q]](TastypieApikeys.Columns, buildTastypieApikeyJoins),
}
}
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
}