This is extremely useful for testing. In order to do this I needed to actually deploy the migration to a bob fork so I could start to add support for behaviors I really want. Specifically the ability to search for ids in a slice.
500 lines
15 KiB
Go
500 lines
15 KiB
Go
// 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"
|
|
|
|
models "github.com/Gleipnir-Technology/nidus-sync/db/models"
|
|
"github.com/aarondl/opt/null"
|
|
"github.com/jaswdr/faker/v2"
|
|
)
|
|
|
|
type GeometryColumnMod interface {
|
|
Apply(context.Context, *GeometryColumnTemplate)
|
|
}
|
|
|
|
type GeometryColumnModFunc func(context.Context, *GeometryColumnTemplate)
|
|
|
|
func (f GeometryColumnModFunc) Apply(ctx context.Context, n *GeometryColumnTemplate) {
|
|
f(ctx, n)
|
|
}
|
|
|
|
type GeometryColumnModSlice []GeometryColumnMod
|
|
|
|
func (mods GeometryColumnModSlice) Apply(ctx context.Context, n *GeometryColumnTemplate) {
|
|
for _, f := range mods {
|
|
f.Apply(ctx, n)
|
|
}
|
|
}
|
|
|
|
// GeometryColumnTemplate is an object representing the database table.
|
|
// all columns are optional and should be set by mods
|
|
type GeometryColumnTemplate struct {
|
|
FTableCatalog func() null.Val[string]
|
|
FTableSchema func() null.Val[string]
|
|
FTableName func() null.Val[string]
|
|
FGeometryColumn func() null.Val[string]
|
|
CoordDimension func() null.Val[int32]
|
|
Srid func() null.Val[int32]
|
|
Type func() null.Val[string]
|
|
|
|
f *Factory
|
|
|
|
alreadyPersisted bool
|
|
}
|
|
|
|
// Apply mods to the GeometryColumnTemplate
|
|
func (o *GeometryColumnTemplate) Apply(ctx context.Context, mods ...GeometryColumnMod) {
|
|
for _, mod := range mods {
|
|
mod.Apply(ctx, o)
|
|
}
|
|
}
|
|
|
|
// setModelRels creates and sets the relationships on *models.GeometryColumn
|
|
// according to the relationships in the template. Nothing is inserted into the db
|
|
func (t GeometryColumnTemplate) setModelRels(o *models.GeometryColumn) {}
|
|
|
|
// Build returns an *models.GeometryColumn
|
|
// Related objects are also created and placed in the .R field
|
|
// NOTE: Objects are not inserted into the database. Use GeometryColumnTemplate.Create
|
|
func (o GeometryColumnTemplate) Build() *models.GeometryColumn {
|
|
m := &models.GeometryColumn{}
|
|
|
|
if o.FTableCatalog != nil {
|
|
m.FTableCatalog = o.FTableCatalog()
|
|
}
|
|
if o.FTableSchema != nil {
|
|
m.FTableSchema = o.FTableSchema()
|
|
}
|
|
if o.FTableName != nil {
|
|
m.FTableName = o.FTableName()
|
|
}
|
|
if o.FGeometryColumn != nil {
|
|
m.FGeometryColumn = o.FGeometryColumn()
|
|
}
|
|
if o.CoordDimension != nil {
|
|
m.CoordDimension = o.CoordDimension()
|
|
}
|
|
if o.Srid != nil {
|
|
m.Srid = o.Srid()
|
|
}
|
|
if o.Type != nil {
|
|
m.Type = o.Type()
|
|
}
|
|
|
|
o.setModelRels(m)
|
|
|
|
return m
|
|
}
|
|
|
|
// BuildMany returns an models.GeometryColumnSlice
|
|
// Related objects are also created and placed in the .R field
|
|
// NOTE: Objects are not inserted into the database. Use GeometryColumnTemplate.CreateMany
|
|
func (o GeometryColumnTemplate) BuildMany(number int) models.GeometryColumnSlice {
|
|
m := make(models.GeometryColumnSlice, number)
|
|
|
|
for i := range m {
|
|
m[i] = o.Build()
|
|
}
|
|
|
|
return m
|
|
}
|
|
|
|
// GeometryColumn has methods that act as mods for the GeometryColumnTemplate
|
|
var GeometryColumnMods geometryColumnMods
|
|
|
|
type geometryColumnMods struct{}
|
|
|
|
func (m geometryColumnMods) RandomizeAllColumns(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModSlice{
|
|
GeometryColumnMods.RandomFTableCatalog(f),
|
|
GeometryColumnMods.RandomFTableSchema(f),
|
|
GeometryColumnMods.RandomFTableName(f),
|
|
GeometryColumnMods.RandomFGeometryColumn(f),
|
|
GeometryColumnMods.RandomCoordDimension(f),
|
|
GeometryColumnMods.RandomSrid(f),
|
|
GeometryColumnMods.RandomType(f),
|
|
}
|
|
}
|
|
|
|
// Set the model columns to this value
|
|
func (m geometryColumnMods) FTableCatalog(val null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableCatalog = func() null.Val[string] { return val }
|
|
})
|
|
}
|
|
|
|
// Set the Column from the function
|
|
func (m geometryColumnMods) FTableCatalogFunc(f func() null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableCatalog = f
|
|
})
|
|
}
|
|
|
|
// Clear any values for the column
|
|
func (m geometryColumnMods) UnsetFTableCatalog() GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableCatalog = 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 geometryColumnMods) RandomFTableCatalog(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableCatalog = func() null.Val[string] {
|
|
if f == nil {
|
|
f = &defaultFaker
|
|
}
|
|
|
|
val := random_string(f, "256")
|
|
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 geometryColumnMods) RandomFTableCatalogNotNull(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableCatalog = func() null.Val[string] {
|
|
if f == nil {
|
|
f = &defaultFaker
|
|
}
|
|
|
|
val := random_string(f, "256")
|
|
return null.From(val)
|
|
}
|
|
})
|
|
}
|
|
|
|
// Set the model columns to this value
|
|
func (m geometryColumnMods) FTableSchema(val null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableSchema = func() null.Val[string] { return val }
|
|
})
|
|
}
|
|
|
|
// Set the Column from the function
|
|
func (m geometryColumnMods) FTableSchemaFunc(f func() null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableSchema = f
|
|
})
|
|
}
|
|
|
|
// Clear any values for the column
|
|
func (m geometryColumnMods) UnsetFTableSchema() GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableSchema = 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 geometryColumnMods) RandomFTableSchema(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableSchema = 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 geometryColumnMods) RandomFTableSchemaNotNull(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableSchema = 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 geometryColumnMods) FTableName(val null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableName = func() null.Val[string] { return val }
|
|
})
|
|
}
|
|
|
|
// Set the Column from the function
|
|
func (m geometryColumnMods) FTableNameFunc(f func() null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableName = f
|
|
})
|
|
}
|
|
|
|
// Clear any values for the column
|
|
func (m geometryColumnMods) UnsetFTableName() GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableName = 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 geometryColumnMods) RandomFTableName(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableName = 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 geometryColumnMods) RandomFTableNameNotNull(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FTableName = 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 geometryColumnMods) FGeometryColumn(val null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FGeometryColumn = func() null.Val[string] { return val }
|
|
})
|
|
}
|
|
|
|
// Set the Column from the function
|
|
func (m geometryColumnMods) FGeometryColumnFunc(f func() null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FGeometryColumn = f
|
|
})
|
|
}
|
|
|
|
// Clear any values for the column
|
|
func (m geometryColumnMods) UnsetFGeometryColumn() GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FGeometryColumn = 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 geometryColumnMods) RandomFGeometryColumn(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FGeometryColumn = 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 geometryColumnMods) RandomFGeometryColumnNotNull(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.FGeometryColumn = 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 geometryColumnMods) CoordDimension(val null.Val[int32]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.CoordDimension = func() null.Val[int32] { return val }
|
|
})
|
|
}
|
|
|
|
// Set the Column from the function
|
|
func (m geometryColumnMods) CoordDimensionFunc(f func() null.Val[int32]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.CoordDimension = f
|
|
})
|
|
}
|
|
|
|
// Clear any values for the column
|
|
func (m geometryColumnMods) UnsetCoordDimension() GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.CoordDimension = 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 geometryColumnMods) RandomCoordDimension(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.CoordDimension = func() null.Val[int32] {
|
|
if f == nil {
|
|
f = &defaultFaker
|
|
}
|
|
|
|
val := random_int32(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 geometryColumnMods) RandomCoordDimensionNotNull(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.CoordDimension = func() null.Val[int32] {
|
|
if f == nil {
|
|
f = &defaultFaker
|
|
}
|
|
|
|
val := random_int32(f)
|
|
return null.From(val)
|
|
}
|
|
})
|
|
}
|
|
|
|
// Set the model columns to this value
|
|
func (m geometryColumnMods) Srid(val null.Val[int32]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Srid = func() null.Val[int32] { return val }
|
|
})
|
|
}
|
|
|
|
// Set the Column from the function
|
|
func (m geometryColumnMods) SridFunc(f func() null.Val[int32]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Srid = f
|
|
})
|
|
}
|
|
|
|
// Clear any values for the column
|
|
func (m geometryColumnMods) UnsetSrid() GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Srid = 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 geometryColumnMods) RandomSrid(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Srid = func() null.Val[int32] {
|
|
if f == nil {
|
|
f = &defaultFaker
|
|
}
|
|
|
|
val := random_int32(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 geometryColumnMods) RandomSridNotNull(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Srid = func() null.Val[int32] {
|
|
if f == nil {
|
|
f = &defaultFaker
|
|
}
|
|
|
|
val := random_int32(f)
|
|
return null.From(val)
|
|
}
|
|
})
|
|
}
|
|
|
|
// Set the model columns to this value
|
|
func (m geometryColumnMods) Type(val null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Type = func() null.Val[string] { return val }
|
|
})
|
|
}
|
|
|
|
// Set the Column from the function
|
|
func (m geometryColumnMods) TypeFunc(f func() null.Val[string]) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Type = f
|
|
})
|
|
}
|
|
|
|
// Clear any values for the column
|
|
func (m geometryColumnMods) UnsetType() GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Type = 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 geometryColumnMods) RandomType(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Type = func() null.Val[string] {
|
|
if f == nil {
|
|
f = &defaultFaker
|
|
}
|
|
|
|
val := random_string(f, "30")
|
|
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 geometryColumnMods) RandomTypeNotNull(f *faker.Faker) GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(_ context.Context, o *GeometryColumnTemplate) {
|
|
o.Type = func() null.Val[string] {
|
|
if f == nil {
|
|
f = &defaultFaker
|
|
}
|
|
|
|
val := random_string(f, "30")
|
|
return null.From(val)
|
|
}
|
|
})
|
|
}
|
|
|
|
func (m geometryColumnMods) WithParentsCascading() GeometryColumnMod {
|
|
return GeometryColumnModFunc(func(ctx context.Context, o *GeometryColumnTemplate) {
|
|
if isDone, _ := geometryColumnWithParentsCascadingCtx.Value(ctx); isDone {
|
|
return
|
|
}
|
|
ctx = geometryColumnWithParentsCascadingCtx.WithValue(ctx, true)
|
|
})
|
|
}
|