You've already forked reloading-manager
Nobody had ever created a function like this one before. (#26)
Reviewed-on: rrise/reloading-manager#26 Co-authored-by: Ron Rise <ron@siteworxpro.com> Co-committed-by: Ron Rise <ron@siteworxpro.com>
This commit is contained in:
24
backend/.gen/loading/public/model/bullets.go
Normal file
24
backend/.gen/loading/public/model/bullets.go
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Bullets struct {
|
||||||
|
ID uuid.UUID `sql:"primary_key"`
|
||||||
|
Name string
|
||||||
|
Weight int32
|
||||||
|
Diameter int32
|
||||||
|
Meta *string
|
||||||
|
Photo *[]byte
|
||||||
|
ManufacturerID uuid.UUID
|
||||||
|
CreatedAt time.Time
|
||||||
|
}
|
||||||
20
backend/.gen/loading/public/model/cartridges.go
Normal file
20
backend/.gen/loading/public/model/cartridges.go
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Cartridges struct {
|
||||||
|
ID uuid.UUID `sql:"primary_key"`
|
||||||
|
Name string
|
||||||
|
CreatedAt time.Time
|
||||||
|
Meta string
|
||||||
|
}
|
||||||
26
backend/.gen/loading/public/model/loads.go
Normal file
26
backend/.gen/loading/public/model/loads.go
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Loads struct {
|
||||||
|
ID uuid.UUID `sql:"primary_key"`
|
||||||
|
CartridgeID uuid.UUID
|
||||||
|
Col float32
|
||||||
|
PowderID uuid.UUID
|
||||||
|
PowderGr float32
|
||||||
|
PrimerID uuid.UUID
|
||||||
|
BulletID uuid.UUID
|
||||||
|
Photo []byte
|
||||||
|
CreatedAt time.Time
|
||||||
|
Meta string
|
||||||
|
}
|
||||||
20
backend/.gen/loading/public/model/manufacturers.go
Normal file
20
backend/.gen/loading/public/model/manufacturers.go
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Manufacturers struct {
|
||||||
|
ID uuid.UUID `sql:"primary_key"`
|
||||||
|
Name string
|
||||||
|
URL *string
|
||||||
|
CreatedAt time.Time
|
||||||
|
}
|
||||||
22
backend/.gen/loading/public/model/powders.go
Normal file
22
backend/.gen/loading/public/model/powders.go
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Powders struct {
|
||||||
|
ID uuid.UUID `sql:"primary_key"`
|
||||||
|
Name string
|
||||||
|
Meta *string
|
||||||
|
Photo *[]byte
|
||||||
|
ManufacturerID uuid.UUID
|
||||||
|
CreatedAt time.Time
|
||||||
|
}
|
||||||
22
backend/.gen/loading/public/model/primers.go
Normal file
22
backend/.gen/loading/public/model/primers.go
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/google/uuid"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
type Primers struct {
|
||||||
|
ID uuid.UUID `sql:"primary_key"`
|
||||||
|
Name string
|
||||||
|
Meta *string
|
||||||
|
Photo *[]byte
|
||||||
|
ManufacturerID uuid.UUID
|
||||||
|
CreatedAt time.Time
|
||||||
|
}
|
||||||
13
backend/.gen/loading/public/model/schema_migrations.go
Normal file
13
backend/.gen/loading/public/model/schema_migrations.go
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package model
|
||||||
|
|
||||||
|
type SchemaMigrations struct {
|
||||||
|
Version int64 `sql:"primary_key"`
|
||||||
|
Dirty bool
|
||||||
|
}
|
||||||
99
backend/.gen/loading/public/table/bullets.go
Normal file
99
backend/.gen/loading/public/table/bullets.go
Normal file
@@ -0,0 +1,99 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package table
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-jet/jet/v2/postgres"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Bullets = newBulletsTable("public", "bullets", "")
|
||||||
|
|
||||||
|
type bulletsTable struct {
|
||||||
|
postgres.Table
|
||||||
|
|
||||||
|
// Columns
|
||||||
|
ID postgres.ColumnString
|
||||||
|
Name postgres.ColumnString
|
||||||
|
Weight postgres.ColumnInteger
|
||||||
|
Diameter postgres.ColumnInteger
|
||||||
|
Meta postgres.ColumnString
|
||||||
|
Photo postgres.ColumnBytea
|
||||||
|
ManufacturerID postgres.ColumnString
|
||||||
|
CreatedAt postgres.ColumnTimestamp
|
||||||
|
|
||||||
|
AllColumns postgres.ColumnList
|
||||||
|
MutableColumns postgres.ColumnList
|
||||||
|
DefaultColumns postgres.ColumnList
|
||||||
|
}
|
||||||
|
|
||||||
|
type BulletsTable struct {
|
||||||
|
bulletsTable
|
||||||
|
|
||||||
|
EXCLUDED bulletsTable
|
||||||
|
}
|
||||||
|
|
||||||
|
// AS creates new BulletsTable with assigned alias
|
||||||
|
func (a BulletsTable) AS(alias string) *BulletsTable {
|
||||||
|
return newBulletsTable(a.SchemaName(), a.TableName(), alias)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Schema creates new BulletsTable with assigned schema name
|
||||||
|
func (a BulletsTable) FromSchema(schemaName string) *BulletsTable {
|
||||||
|
return newBulletsTable(schemaName, a.TableName(), a.Alias())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPrefix creates new BulletsTable with assigned table prefix
|
||||||
|
func (a BulletsTable) WithPrefix(prefix string) *BulletsTable {
|
||||||
|
return newBulletsTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSuffix creates new BulletsTable with assigned table suffix
|
||||||
|
func (a BulletsTable) WithSuffix(suffix string) *BulletsTable {
|
||||||
|
return newBulletsTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
func newBulletsTable(schemaName, tableName, alias string) *BulletsTable {
|
||||||
|
return &BulletsTable{
|
||||||
|
bulletsTable: newBulletsTableImpl(schemaName, tableName, alias),
|
||||||
|
EXCLUDED: newBulletsTableImpl("", "excluded", ""),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func newBulletsTableImpl(schemaName, tableName, alias string) bulletsTable {
|
||||||
|
var (
|
||||||
|
IDColumn = postgres.StringColumn("id")
|
||||||
|
NameColumn = postgres.StringColumn("name")
|
||||||
|
WeightColumn = postgres.IntegerColumn("weight")
|
||||||
|
DiameterColumn = postgres.IntegerColumn("diameter")
|
||||||
|
MetaColumn = postgres.StringColumn("meta")
|
||||||
|
PhotoColumn = postgres.ByteaColumn("photo")
|
||||||
|
ManufacturerIDColumn = postgres.StringColumn("manufacturer_id")
|
||||||
|
CreatedAtColumn = postgres.TimestampColumn("created_at")
|
||||||
|
allColumns = postgres.ColumnList{IDColumn, NameColumn, WeightColumn, DiameterColumn, MetaColumn, PhotoColumn, ManufacturerIDColumn, CreatedAtColumn}
|
||||||
|
mutableColumns = postgres.ColumnList{NameColumn, WeightColumn, DiameterColumn, MetaColumn, PhotoColumn, ManufacturerIDColumn, CreatedAtColumn}
|
||||||
|
defaultColumns = postgres.ColumnList{IDColumn, CreatedAtColumn}
|
||||||
|
)
|
||||||
|
|
||||||
|
return bulletsTable{
|
||||||
|
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
|
||||||
|
|
||||||
|
//Columns
|
||||||
|
ID: IDColumn,
|
||||||
|
Name: NameColumn,
|
||||||
|
Weight: WeightColumn,
|
||||||
|
Diameter: DiameterColumn,
|
||||||
|
Meta: MetaColumn,
|
||||||
|
Photo: PhotoColumn,
|
||||||
|
ManufacturerID: ManufacturerIDColumn,
|
||||||
|
CreatedAt: CreatedAtColumn,
|
||||||
|
|
||||||
|
AllColumns: allColumns,
|
||||||
|
MutableColumns: mutableColumns,
|
||||||
|
DefaultColumns: defaultColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
87
backend/.gen/loading/public/table/cartridges.go
Normal file
87
backend/.gen/loading/public/table/cartridges.go
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package table
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-jet/jet/v2/postgres"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Cartridges = newCartridgesTable("public", "cartridges", "")
|
||||||
|
|
||||||
|
type cartridgesTable struct {
|
||||||
|
postgres.Table
|
||||||
|
|
||||||
|
// Columns
|
||||||
|
ID postgres.ColumnString
|
||||||
|
Name postgres.ColumnString
|
||||||
|
CreatedAt postgres.ColumnTimestamp
|
||||||
|
Meta postgres.ColumnString
|
||||||
|
|
||||||
|
AllColumns postgres.ColumnList
|
||||||
|
MutableColumns postgres.ColumnList
|
||||||
|
DefaultColumns postgres.ColumnList
|
||||||
|
}
|
||||||
|
|
||||||
|
type CartridgesTable struct {
|
||||||
|
cartridgesTable
|
||||||
|
|
||||||
|
EXCLUDED cartridgesTable
|
||||||
|
}
|
||||||
|
|
||||||
|
// AS creates new CartridgesTable with assigned alias
|
||||||
|
func (a CartridgesTable) AS(alias string) *CartridgesTable {
|
||||||
|
return newCartridgesTable(a.SchemaName(), a.TableName(), alias)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Schema creates new CartridgesTable with assigned schema name
|
||||||
|
func (a CartridgesTable) FromSchema(schemaName string) *CartridgesTable {
|
||||||
|
return newCartridgesTable(schemaName, a.TableName(), a.Alias())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPrefix creates new CartridgesTable with assigned table prefix
|
||||||
|
func (a CartridgesTable) WithPrefix(prefix string) *CartridgesTable {
|
||||||
|
return newCartridgesTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSuffix creates new CartridgesTable with assigned table suffix
|
||||||
|
func (a CartridgesTable) WithSuffix(suffix string) *CartridgesTable {
|
||||||
|
return newCartridgesTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
func newCartridgesTable(schemaName, tableName, alias string) *CartridgesTable {
|
||||||
|
return &CartridgesTable{
|
||||||
|
cartridgesTable: newCartridgesTableImpl(schemaName, tableName, alias),
|
||||||
|
EXCLUDED: newCartridgesTableImpl("", "excluded", ""),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func newCartridgesTableImpl(schemaName, tableName, alias string) cartridgesTable {
|
||||||
|
var (
|
||||||
|
IDColumn = postgres.StringColumn("id")
|
||||||
|
NameColumn = postgres.StringColumn("name")
|
||||||
|
CreatedAtColumn = postgres.TimestampColumn("created_at")
|
||||||
|
MetaColumn = postgres.StringColumn("meta")
|
||||||
|
allColumns = postgres.ColumnList{IDColumn, NameColumn, CreatedAtColumn, MetaColumn}
|
||||||
|
mutableColumns = postgres.ColumnList{NameColumn, CreatedAtColumn, MetaColumn}
|
||||||
|
defaultColumns = postgres.ColumnList{IDColumn, CreatedAtColumn}
|
||||||
|
)
|
||||||
|
|
||||||
|
return cartridgesTable{
|
||||||
|
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
|
||||||
|
|
||||||
|
//Columns
|
||||||
|
ID: IDColumn,
|
||||||
|
Name: NameColumn,
|
||||||
|
CreatedAt: CreatedAtColumn,
|
||||||
|
Meta: MetaColumn,
|
||||||
|
|
||||||
|
AllColumns: allColumns,
|
||||||
|
MutableColumns: mutableColumns,
|
||||||
|
DefaultColumns: defaultColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
105
backend/.gen/loading/public/table/loads.go
Normal file
105
backend/.gen/loading/public/table/loads.go
Normal file
@@ -0,0 +1,105 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package table
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-jet/jet/v2/postgres"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Loads = newLoadsTable("public", "loads", "")
|
||||||
|
|
||||||
|
type loadsTable struct {
|
||||||
|
postgres.Table
|
||||||
|
|
||||||
|
// Columns
|
||||||
|
ID postgres.ColumnString
|
||||||
|
CartridgeID postgres.ColumnString
|
||||||
|
Col postgres.ColumnFloat
|
||||||
|
PowderID postgres.ColumnString
|
||||||
|
PowderGr postgres.ColumnFloat
|
||||||
|
PrimerID postgres.ColumnString
|
||||||
|
BulletID postgres.ColumnString
|
||||||
|
Photo postgres.ColumnBytea
|
||||||
|
CreatedAt postgres.ColumnTimestamp
|
||||||
|
Meta postgres.ColumnString
|
||||||
|
|
||||||
|
AllColumns postgres.ColumnList
|
||||||
|
MutableColumns postgres.ColumnList
|
||||||
|
DefaultColumns postgres.ColumnList
|
||||||
|
}
|
||||||
|
|
||||||
|
type LoadsTable struct {
|
||||||
|
loadsTable
|
||||||
|
|
||||||
|
EXCLUDED loadsTable
|
||||||
|
}
|
||||||
|
|
||||||
|
// AS creates new LoadsTable with assigned alias
|
||||||
|
func (a LoadsTable) AS(alias string) *LoadsTable {
|
||||||
|
return newLoadsTable(a.SchemaName(), a.TableName(), alias)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Schema creates new LoadsTable with assigned schema name
|
||||||
|
func (a LoadsTable) FromSchema(schemaName string) *LoadsTable {
|
||||||
|
return newLoadsTable(schemaName, a.TableName(), a.Alias())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPrefix creates new LoadsTable with assigned table prefix
|
||||||
|
func (a LoadsTable) WithPrefix(prefix string) *LoadsTable {
|
||||||
|
return newLoadsTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSuffix creates new LoadsTable with assigned table suffix
|
||||||
|
func (a LoadsTable) WithSuffix(suffix string) *LoadsTable {
|
||||||
|
return newLoadsTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
func newLoadsTable(schemaName, tableName, alias string) *LoadsTable {
|
||||||
|
return &LoadsTable{
|
||||||
|
loadsTable: newLoadsTableImpl(schemaName, tableName, alias),
|
||||||
|
EXCLUDED: newLoadsTableImpl("", "excluded", ""),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func newLoadsTableImpl(schemaName, tableName, alias string) loadsTable {
|
||||||
|
var (
|
||||||
|
IDColumn = postgres.StringColumn("id")
|
||||||
|
CartridgeIDColumn = postgres.StringColumn("cartridge_id")
|
||||||
|
ColColumn = postgres.FloatColumn("col")
|
||||||
|
PowderIDColumn = postgres.StringColumn("powder_id")
|
||||||
|
PowderGrColumn = postgres.FloatColumn("powder_gr")
|
||||||
|
PrimerIDColumn = postgres.StringColumn("primer_id")
|
||||||
|
BulletIDColumn = postgres.StringColumn("bullet_id")
|
||||||
|
PhotoColumn = postgres.ByteaColumn("photo")
|
||||||
|
CreatedAtColumn = postgres.TimestampColumn("created_at")
|
||||||
|
MetaColumn = postgres.StringColumn("meta")
|
||||||
|
allColumns = postgres.ColumnList{IDColumn, CartridgeIDColumn, ColColumn, PowderIDColumn, PowderGrColumn, PrimerIDColumn, BulletIDColumn, PhotoColumn, CreatedAtColumn, MetaColumn}
|
||||||
|
mutableColumns = postgres.ColumnList{CartridgeIDColumn, ColColumn, PowderIDColumn, PowderGrColumn, PrimerIDColumn, BulletIDColumn, PhotoColumn, CreatedAtColumn, MetaColumn}
|
||||||
|
defaultColumns = postgres.ColumnList{IDColumn, CreatedAtColumn}
|
||||||
|
)
|
||||||
|
|
||||||
|
return loadsTable{
|
||||||
|
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
|
||||||
|
|
||||||
|
//Columns
|
||||||
|
ID: IDColumn,
|
||||||
|
CartridgeID: CartridgeIDColumn,
|
||||||
|
Col: ColColumn,
|
||||||
|
PowderID: PowderIDColumn,
|
||||||
|
PowderGr: PowderGrColumn,
|
||||||
|
PrimerID: PrimerIDColumn,
|
||||||
|
BulletID: BulletIDColumn,
|
||||||
|
Photo: PhotoColumn,
|
||||||
|
CreatedAt: CreatedAtColumn,
|
||||||
|
Meta: MetaColumn,
|
||||||
|
|
||||||
|
AllColumns: allColumns,
|
||||||
|
MutableColumns: mutableColumns,
|
||||||
|
DefaultColumns: defaultColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
87
backend/.gen/loading/public/table/manufacturers.go
Normal file
87
backend/.gen/loading/public/table/manufacturers.go
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package table
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-jet/jet/v2/postgres"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Manufacturers = newManufacturersTable("public", "manufacturers", "")
|
||||||
|
|
||||||
|
type manufacturersTable struct {
|
||||||
|
postgres.Table
|
||||||
|
|
||||||
|
// Columns
|
||||||
|
ID postgres.ColumnString
|
||||||
|
Name postgres.ColumnString
|
||||||
|
URL postgres.ColumnString
|
||||||
|
CreatedAt postgres.ColumnTimestamp
|
||||||
|
|
||||||
|
AllColumns postgres.ColumnList
|
||||||
|
MutableColumns postgres.ColumnList
|
||||||
|
DefaultColumns postgres.ColumnList
|
||||||
|
}
|
||||||
|
|
||||||
|
type ManufacturersTable struct {
|
||||||
|
manufacturersTable
|
||||||
|
|
||||||
|
EXCLUDED manufacturersTable
|
||||||
|
}
|
||||||
|
|
||||||
|
// AS creates new ManufacturersTable with assigned alias
|
||||||
|
func (a ManufacturersTable) AS(alias string) *ManufacturersTable {
|
||||||
|
return newManufacturersTable(a.SchemaName(), a.TableName(), alias)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Schema creates new ManufacturersTable with assigned schema name
|
||||||
|
func (a ManufacturersTable) FromSchema(schemaName string) *ManufacturersTable {
|
||||||
|
return newManufacturersTable(schemaName, a.TableName(), a.Alias())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPrefix creates new ManufacturersTable with assigned table prefix
|
||||||
|
func (a ManufacturersTable) WithPrefix(prefix string) *ManufacturersTable {
|
||||||
|
return newManufacturersTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSuffix creates new ManufacturersTable with assigned table suffix
|
||||||
|
func (a ManufacturersTable) WithSuffix(suffix string) *ManufacturersTable {
|
||||||
|
return newManufacturersTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
func newManufacturersTable(schemaName, tableName, alias string) *ManufacturersTable {
|
||||||
|
return &ManufacturersTable{
|
||||||
|
manufacturersTable: newManufacturersTableImpl(schemaName, tableName, alias),
|
||||||
|
EXCLUDED: newManufacturersTableImpl("", "excluded", ""),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func newManufacturersTableImpl(schemaName, tableName, alias string) manufacturersTable {
|
||||||
|
var (
|
||||||
|
IDColumn = postgres.StringColumn("id")
|
||||||
|
NameColumn = postgres.StringColumn("name")
|
||||||
|
URLColumn = postgres.StringColumn("url")
|
||||||
|
CreatedAtColumn = postgres.TimestampColumn("created_at")
|
||||||
|
allColumns = postgres.ColumnList{IDColumn, NameColumn, URLColumn, CreatedAtColumn}
|
||||||
|
mutableColumns = postgres.ColumnList{NameColumn, URLColumn, CreatedAtColumn}
|
||||||
|
defaultColumns = postgres.ColumnList{IDColumn, CreatedAtColumn}
|
||||||
|
)
|
||||||
|
|
||||||
|
return manufacturersTable{
|
||||||
|
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
|
||||||
|
|
||||||
|
//Columns
|
||||||
|
ID: IDColumn,
|
||||||
|
Name: NameColumn,
|
||||||
|
URL: URLColumn,
|
||||||
|
CreatedAt: CreatedAtColumn,
|
||||||
|
|
||||||
|
AllColumns: allColumns,
|
||||||
|
MutableColumns: mutableColumns,
|
||||||
|
DefaultColumns: defaultColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
93
backend/.gen/loading/public/table/powders.go
Normal file
93
backend/.gen/loading/public/table/powders.go
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package table
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-jet/jet/v2/postgres"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Powders = newPowdersTable("public", "powders", "")
|
||||||
|
|
||||||
|
type powdersTable struct {
|
||||||
|
postgres.Table
|
||||||
|
|
||||||
|
// Columns
|
||||||
|
ID postgres.ColumnString
|
||||||
|
Name postgres.ColumnString
|
||||||
|
Meta postgres.ColumnString
|
||||||
|
Photo postgres.ColumnBytea
|
||||||
|
ManufacturerID postgres.ColumnString
|
||||||
|
CreatedAt postgres.ColumnTimestamp
|
||||||
|
|
||||||
|
AllColumns postgres.ColumnList
|
||||||
|
MutableColumns postgres.ColumnList
|
||||||
|
DefaultColumns postgres.ColumnList
|
||||||
|
}
|
||||||
|
|
||||||
|
type PowdersTable struct {
|
||||||
|
powdersTable
|
||||||
|
|
||||||
|
EXCLUDED powdersTable
|
||||||
|
}
|
||||||
|
|
||||||
|
// AS creates new PowdersTable with assigned alias
|
||||||
|
func (a PowdersTable) AS(alias string) *PowdersTable {
|
||||||
|
return newPowdersTable(a.SchemaName(), a.TableName(), alias)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Schema creates new PowdersTable with assigned schema name
|
||||||
|
func (a PowdersTable) FromSchema(schemaName string) *PowdersTable {
|
||||||
|
return newPowdersTable(schemaName, a.TableName(), a.Alias())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPrefix creates new PowdersTable with assigned table prefix
|
||||||
|
func (a PowdersTable) WithPrefix(prefix string) *PowdersTable {
|
||||||
|
return newPowdersTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSuffix creates new PowdersTable with assigned table suffix
|
||||||
|
func (a PowdersTable) WithSuffix(suffix string) *PowdersTable {
|
||||||
|
return newPowdersTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPowdersTable(schemaName, tableName, alias string) *PowdersTable {
|
||||||
|
return &PowdersTable{
|
||||||
|
powdersTable: newPowdersTableImpl(schemaName, tableName, alias),
|
||||||
|
EXCLUDED: newPowdersTableImpl("", "excluded", ""),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPowdersTableImpl(schemaName, tableName, alias string) powdersTable {
|
||||||
|
var (
|
||||||
|
IDColumn = postgres.StringColumn("id")
|
||||||
|
NameColumn = postgres.StringColumn("name")
|
||||||
|
MetaColumn = postgres.StringColumn("meta")
|
||||||
|
PhotoColumn = postgres.ByteaColumn("photo")
|
||||||
|
ManufacturerIDColumn = postgres.StringColumn("manufacturer_id")
|
||||||
|
CreatedAtColumn = postgres.TimestampColumn("created_at")
|
||||||
|
allColumns = postgres.ColumnList{IDColumn, NameColumn, MetaColumn, PhotoColumn, ManufacturerIDColumn, CreatedAtColumn}
|
||||||
|
mutableColumns = postgres.ColumnList{NameColumn, MetaColumn, PhotoColumn, ManufacturerIDColumn, CreatedAtColumn}
|
||||||
|
defaultColumns = postgres.ColumnList{IDColumn, CreatedAtColumn}
|
||||||
|
)
|
||||||
|
|
||||||
|
return powdersTable{
|
||||||
|
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
|
||||||
|
|
||||||
|
//Columns
|
||||||
|
ID: IDColumn,
|
||||||
|
Name: NameColumn,
|
||||||
|
Meta: MetaColumn,
|
||||||
|
Photo: PhotoColumn,
|
||||||
|
ManufacturerID: ManufacturerIDColumn,
|
||||||
|
CreatedAt: CreatedAtColumn,
|
||||||
|
|
||||||
|
AllColumns: allColumns,
|
||||||
|
MutableColumns: mutableColumns,
|
||||||
|
DefaultColumns: defaultColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
93
backend/.gen/loading/public/table/primers.go
Normal file
93
backend/.gen/loading/public/table/primers.go
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package table
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-jet/jet/v2/postgres"
|
||||||
|
)
|
||||||
|
|
||||||
|
var Primers = newPrimersTable("public", "primers", "")
|
||||||
|
|
||||||
|
type primersTable struct {
|
||||||
|
postgres.Table
|
||||||
|
|
||||||
|
// Columns
|
||||||
|
ID postgres.ColumnString
|
||||||
|
Name postgres.ColumnString
|
||||||
|
Meta postgres.ColumnString
|
||||||
|
Photo postgres.ColumnBytea
|
||||||
|
ManufacturerID postgres.ColumnString
|
||||||
|
CreatedAt postgres.ColumnTimestamp
|
||||||
|
|
||||||
|
AllColumns postgres.ColumnList
|
||||||
|
MutableColumns postgres.ColumnList
|
||||||
|
DefaultColumns postgres.ColumnList
|
||||||
|
}
|
||||||
|
|
||||||
|
type PrimersTable struct {
|
||||||
|
primersTable
|
||||||
|
|
||||||
|
EXCLUDED primersTable
|
||||||
|
}
|
||||||
|
|
||||||
|
// AS creates new PrimersTable with assigned alias
|
||||||
|
func (a PrimersTable) AS(alias string) *PrimersTable {
|
||||||
|
return newPrimersTable(a.SchemaName(), a.TableName(), alias)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Schema creates new PrimersTable with assigned schema name
|
||||||
|
func (a PrimersTable) FromSchema(schemaName string) *PrimersTable {
|
||||||
|
return newPrimersTable(schemaName, a.TableName(), a.Alias())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPrefix creates new PrimersTable with assigned table prefix
|
||||||
|
func (a PrimersTable) WithPrefix(prefix string) *PrimersTable {
|
||||||
|
return newPrimersTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSuffix creates new PrimersTable with assigned table suffix
|
||||||
|
func (a PrimersTable) WithSuffix(suffix string) *PrimersTable {
|
||||||
|
return newPrimersTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPrimersTable(schemaName, tableName, alias string) *PrimersTable {
|
||||||
|
return &PrimersTable{
|
||||||
|
primersTable: newPrimersTableImpl(schemaName, tableName, alias),
|
||||||
|
EXCLUDED: newPrimersTableImpl("", "excluded", ""),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func newPrimersTableImpl(schemaName, tableName, alias string) primersTable {
|
||||||
|
var (
|
||||||
|
IDColumn = postgres.StringColumn("id")
|
||||||
|
NameColumn = postgres.StringColumn("name")
|
||||||
|
MetaColumn = postgres.StringColumn("meta")
|
||||||
|
PhotoColumn = postgres.ByteaColumn("photo")
|
||||||
|
ManufacturerIDColumn = postgres.StringColumn("manufacturer_id")
|
||||||
|
CreatedAtColumn = postgres.TimestampColumn("created_at")
|
||||||
|
allColumns = postgres.ColumnList{IDColumn, NameColumn, MetaColumn, PhotoColumn, ManufacturerIDColumn, CreatedAtColumn}
|
||||||
|
mutableColumns = postgres.ColumnList{NameColumn, MetaColumn, PhotoColumn, ManufacturerIDColumn, CreatedAtColumn}
|
||||||
|
defaultColumns = postgres.ColumnList{IDColumn, CreatedAtColumn}
|
||||||
|
)
|
||||||
|
|
||||||
|
return primersTable{
|
||||||
|
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
|
||||||
|
|
||||||
|
//Columns
|
||||||
|
ID: IDColumn,
|
||||||
|
Name: NameColumn,
|
||||||
|
Meta: MetaColumn,
|
||||||
|
Photo: PhotoColumn,
|
||||||
|
ManufacturerID: ManufacturerIDColumn,
|
||||||
|
CreatedAt: CreatedAtColumn,
|
||||||
|
|
||||||
|
AllColumns: allColumns,
|
||||||
|
MutableColumns: mutableColumns,
|
||||||
|
DefaultColumns: defaultColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
81
backend/.gen/loading/public/table/schema_migrations.go
Normal file
81
backend/.gen/loading/public/table/schema_migrations.go
Normal file
@@ -0,0 +1,81 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package table
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/go-jet/jet/v2/postgres"
|
||||||
|
)
|
||||||
|
|
||||||
|
var SchemaMigrations = newSchemaMigrationsTable("public", "schema_migrations", "")
|
||||||
|
|
||||||
|
type schemaMigrationsTable struct {
|
||||||
|
postgres.Table
|
||||||
|
|
||||||
|
// Columns
|
||||||
|
Version postgres.ColumnInteger
|
||||||
|
Dirty postgres.ColumnBool
|
||||||
|
|
||||||
|
AllColumns postgres.ColumnList
|
||||||
|
MutableColumns postgres.ColumnList
|
||||||
|
DefaultColumns postgres.ColumnList
|
||||||
|
}
|
||||||
|
|
||||||
|
type SchemaMigrationsTable struct {
|
||||||
|
schemaMigrationsTable
|
||||||
|
|
||||||
|
EXCLUDED schemaMigrationsTable
|
||||||
|
}
|
||||||
|
|
||||||
|
// AS creates new SchemaMigrationsTable with assigned alias
|
||||||
|
func (a SchemaMigrationsTable) AS(alias string) *SchemaMigrationsTable {
|
||||||
|
return newSchemaMigrationsTable(a.SchemaName(), a.TableName(), alias)
|
||||||
|
}
|
||||||
|
|
||||||
|
// Schema creates new SchemaMigrationsTable with assigned schema name
|
||||||
|
func (a SchemaMigrationsTable) FromSchema(schemaName string) *SchemaMigrationsTable {
|
||||||
|
return newSchemaMigrationsTable(schemaName, a.TableName(), a.Alias())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithPrefix creates new SchemaMigrationsTable with assigned table prefix
|
||||||
|
func (a SchemaMigrationsTable) WithPrefix(prefix string) *SchemaMigrationsTable {
|
||||||
|
return newSchemaMigrationsTable(a.SchemaName(), prefix+a.TableName(), a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
// WithSuffix creates new SchemaMigrationsTable with assigned table suffix
|
||||||
|
func (a SchemaMigrationsTable) WithSuffix(suffix string) *SchemaMigrationsTable {
|
||||||
|
return newSchemaMigrationsTable(a.SchemaName(), a.TableName()+suffix, a.TableName())
|
||||||
|
}
|
||||||
|
|
||||||
|
func newSchemaMigrationsTable(schemaName, tableName, alias string) *SchemaMigrationsTable {
|
||||||
|
return &SchemaMigrationsTable{
|
||||||
|
schemaMigrationsTable: newSchemaMigrationsTableImpl(schemaName, tableName, alias),
|
||||||
|
EXCLUDED: newSchemaMigrationsTableImpl("", "excluded", ""),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func newSchemaMigrationsTableImpl(schemaName, tableName, alias string) schemaMigrationsTable {
|
||||||
|
var (
|
||||||
|
VersionColumn = postgres.IntegerColumn("version")
|
||||||
|
DirtyColumn = postgres.BoolColumn("dirty")
|
||||||
|
allColumns = postgres.ColumnList{VersionColumn, DirtyColumn}
|
||||||
|
mutableColumns = postgres.ColumnList{DirtyColumn}
|
||||||
|
defaultColumns = postgres.ColumnList{}
|
||||||
|
)
|
||||||
|
|
||||||
|
return schemaMigrationsTable{
|
||||||
|
Table: postgres.NewTable(schemaName, tableName, alias, allColumns...),
|
||||||
|
|
||||||
|
//Columns
|
||||||
|
Version: VersionColumn,
|
||||||
|
Dirty: DirtyColumn,
|
||||||
|
|
||||||
|
AllColumns: allColumns,
|
||||||
|
MutableColumns: mutableColumns,
|
||||||
|
DefaultColumns: defaultColumns,
|
||||||
|
}
|
||||||
|
}
|
||||||
20
backend/.gen/loading/public/table/table_use_schema.go
Normal file
20
backend/.gen/loading/public/table/table_use_schema.go
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
//
|
||||||
|
// Code generated by go-jet DO NOT EDIT.
|
||||||
|
//
|
||||||
|
// WARNING: Changes to this file may cause incorrect behavior
|
||||||
|
// and will be lost if the code is regenerated
|
||||||
|
//
|
||||||
|
|
||||||
|
package table
|
||||||
|
|
||||||
|
// UseSchema sets a new schema name for all generated table SQL builder types. It is recommended to invoke
|
||||||
|
// this method only once at the beginning of the program.
|
||||||
|
func UseSchema(schema string) {
|
||||||
|
Bullets = Bullets.FromSchema(schema)
|
||||||
|
Cartridges = Cartridges.FromSchema(schema)
|
||||||
|
Loads = Loads.FromSchema(schema)
|
||||||
|
Manufacturers = Manufacturers.FromSchema(schema)
|
||||||
|
Powders = Powders.FromSchema(schema)
|
||||||
|
Primers = Primers.FromSchema(schema)
|
||||||
|
SchemaMigrations = SchemaMigrations.FromSchema(schema)
|
||||||
|
}
|
||||||
@@ -5,4 +5,8 @@ docker run -v $(pwd)/postgres:/var/lib/postgresql/data \
|
|||||||
--rm --name postgres \
|
--rm --name postgres \
|
||||||
-p 5432:5432 \
|
-p 5432:5432 \
|
||||||
-d scr.siteworxpro.com/library/postgres:17
|
-d scr.siteworxpro.com/library/postgres:17
|
||||||
|
```
|
||||||
|
|
||||||
|
```shell
|
||||||
|
jet -dsn=postgresql://postgres:password@localhost:5432/loading\?sslmode=disable -path=./.gen
|
||||||
```
|
```
|
||||||
@@ -31,7 +31,7 @@ type Database struct {
|
|||||||
Loads *loads.Queries
|
Loads *loads.Queries
|
||||||
}
|
}
|
||||||
|
|
||||||
func (*Database) DSN() string {
|
func (*Database) DSN(hidePassword bool) string {
|
||||||
dbHost := DbHost.GetEnvString("localhost")
|
dbHost := DbHost.GetEnvString("localhost")
|
||||||
dbDatabase := DbDatabase.GetEnvString("loading")
|
dbDatabase := DbDatabase.GetEnvString("loading")
|
||||||
dbUser := DbUser.GetEnvString("postgres")
|
dbUser := DbUser.GetEnvString("postgres")
|
||||||
@@ -39,13 +39,21 @@ func (*Database) DSN() string {
|
|||||||
|
|
||||||
extraParams := "?sslmode=require"
|
extraParams := "?sslmode=require"
|
||||||
|
|
||||||
|
if dbHost == "localhost" || dbHost == "127.0.0.1" {
|
||||||
|
extraParams = "?sslmode=disable"
|
||||||
|
}
|
||||||
|
|
||||||
|
if hidePassword {
|
||||||
|
dbPassword = "********"
|
||||||
|
}
|
||||||
|
|
||||||
return fmt.Sprintf("postgres://%s:%s@%s:5432/%s%s", dbUser, dbPassword, dbHost, dbDatabase, extraParams)
|
return fmt.Sprintf("postgres://%s:%s@%s:5432/%s%s", dbUser, dbPassword, dbHost, dbDatabase, extraParams)
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetNewDatabase() *Database {
|
func GetNewDatabase() *Database {
|
||||||
var dbSingleton Database
|
var dbSingleton Database
|
||||||
|
|
||||||
conn, dbErr := pgx.Connect(context.Background(), dbSingleton.DSN())
|
conn, dbErr := pgx.Connect(context.Background(), dbSingleton.DSN(false))
|
||||||
if dbErr != nil {
|
if dbErr != nil {
|
||||||
log.Fatal(dbErr)
|
log.Fatal(dbErr)
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
func (db *Database) Migrate() {
|
func (db *Database) Migrate() {
|
||||||
sqlDB, err := sql.Open("postgres", db.DSN())
|
sqlDB, err := sql.Open("postgres", db.DSN(false))
|
||||||
|
|
||||||
driver, err := postgres.WithInstance(sqlDB, &postgres.Config{
|
driver, err := postgres.WithInstance(sqlDB, &postgres.Config{
|
||||||
MigrationsTable: "schema_migrations",
|
MigrationsTable: "schema_migrations",
|
||||||
|
|||||||
@@ -4,8 +4,9 @@ go 1.24.0
|
|||||||
|
|
||||||
require (
|
require (
|
||||||
git.siteworxpro.com/packages/go/utilities v1.3.0
|
git.siteworxpro.com/packages/go/utilities v1.3.0
|
||||||
|
github.com/go-jet/jet/v2 v2.13.0
|
||||||
github.com/go-playground/validator v9.31.0+incompatible
|
github.com/go-playground/validator v9.31.0+incompatible
|
||||||
github.com/go-sql-driver/mysql v1.9.1
|
github.com/go-sql-driver/mysql v1.9.2
|
||||||
github.com/golang-migrate/migrate v3.5.4+incompatible
|
github.com/golang-migrate/migrate v3.5.4+incompatible
|
||||||
github.com/google/uuid v1.6.0
|
github.com/google/uuid v1.6.0
|
||||||
github.com/jackc/pgx/v5 v5.7.4
|
github.com/jackc/pgx/v5 v5.7.4
|
||||||
@@ -16,6 +17,7 @@ require (
|
|||||||
require (
|
require (
|
||||||
filippo.io/edwards25519 v1.1.0 // indirect
|
filippo.io/edwards25519 v1.1.0 // indirect
|
||||||
github.com/Microsoft/go-winio v0.6.1 // indirect
|
github.com/Microsoft/go-winio v0.6.1 // indirect
|
||||||
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
||||||
github.com/distribution/reference v0.6.0 // indirect
|
github.com/distribution/reference v0.6.0 // indirect
|
||||||
github.com/docker/distribution v2.8.3+incompatible // indirect
|
github.com/docker/distribution v2.8.3+incompatible // indirect
|
||||||
github.com/docker/docker v24.0.5+incompatible // indirect
|
github.com/docker/docker v24.0.5+incompatible // indirect
|
||||||
@@ -26,6 +28,7 @@ require (
|
|||||||
github.com/gogo/protobuf v1.3.2 // indirect
|
github.com/gogo/protobuf v1.3.2 // indirect
|
||||||
github.com/jackc/pgpassfile v1.0.0 // indirect
|
github.com/jackc/pgpassfile v1.0.0 // indirect
|
||||||
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761 // indirect
|
||||||
|
github.com/kr/text v0.2.0 // indirect
|
||||||
github.com/leodido/go-urn v1.4.0 // indirect
|
github.com/leodido/go-urn v1.4.0 // indirect
|
||||||
github.com/lib/pq v1.10.9 // indirect
|
github.com/lib/pq v1.10.9 // indirect
|
||||||
github.com/mattn/go-colorable v0.1.14 // indirect
|
github.com/mattn/go-colorable v0.1.14 // indirect
|
||||||
@@ -33,12 +36,16 @@ require (
|
|||||||
github.com/opencontainers/go-digest v1.0.0 // indirect
|
github.com/opencontainers/go-digest v1.0.0 // indirect
|
||||||
github.com/opencontainers/image-spec v1.0.2 // indirect
|
github.com/opencontainers/image-spec v1.0.2 // indirect
|
||||||
github.com/pkg/errors v0.9.1 // indirect
|
github.com/pkg/errors v0.9.1 // indirect
|
||||||
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
||||||
|
github.com/rogpeppe/go-internal v1.14.1 // indirect
|
||||||
|
github.com/stretchr/testify v1.10.0 // indirect
|
||||||
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
github.com/valyala/bytebufferpool v1.0.0 // indirect
|
||||||
github.com/valyala/fasttemplate v1.2.2 // indirect
|
github.com/valyala/fasttemplate v1.2.2 // indirect
|
||||||
golang.org/x/crypto v0.36.0 // indirect
|
golang.org/x/crypto v0.37.0 // indirect
|
||||||
golang.org/x/net v0.38.0 // indirect
|
golang.org/x/net v0.39.0 // indirect
|
||||||
golang.org/x/sys v0.31.0 // indirect
|
golang.org/x/sys v0.32.0 // indirect
|
||||||
golang.org/x/text v0.23.0 // indirect
|
golang.org/x/text v0.24.0 // indirect
|
||||||
golang.org/x/time v0.11.0 // indirect
|
golang.org/x/time v0.11.0 // indirect
|
||||||
gopkg.in/go-playground/assert.v1 v1.2.1 // indirect
|
gopkg.in/go-playground/assert.v1 v1.2.1 // indirect
|
||||||
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ git.siteworxpro.com/packages/go/utilities v1.3.0 h1:931q66COBJATgIQksPDSZlWMIwEN
|
|||||||
git.siteworxpro.com/packages/go/utilities v1.3.0/go.mod h1:iWhICNrMnB03PY9dM9eCNs9uQPEsPwae5pJDG+HHUPI=
|
git.siteworxpro.com/packages/go/utilities v1.3.0/go.mod h1:iWhICNrMnB03PY9dM9eCNs9uQPEsPwae5pJDG+HHUPI=
|
||||||
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
||||||
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
||||||
|
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
|
||||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||||
@@ -17,18 +18,22 @@ github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKoh
|
|||||||
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
|
github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec=
|
||||||
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
|
github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4=
|
||||||
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
|
||||||
|
github.com/go-jet/jet/v2 v2.13.0 h1:DcD2IJRGos+4X40IQRV6S6q9onoOfZY/GPdvU6ImZcQ=
|
||||||
|
github.com/go-jet/jet/v2 v2.13.0/go.mod h1:YhT75U1FoYAxFOObbQliHmXVYQeffkBKWT7ZilZ3zPc=
|
||||||
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
|
github.com/go-playground/locales v0.14.1 h1:EWaQ/wswjilfKLTECiXz7Rh+3BjFhfDFKv/oXslEjJA=
|
||||||
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
|
github.com/go-playground/locales v0.14.1/go.mod h1:hxrqLVvrK65+Rwrd5Fc6F2O76J/NuW9t0sjnWqG1slY=
|
||||||
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
|
github.com/go-playground/universal-translator v0.18.1 h1:Bcnm0ZwsGyWbCzImXv+pAJnYK9S473LQFuzCbDbfSFY=
|
||||||
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
|
github.com/go-playground/universal-translator v0.18.1/go.mod h1:xekY+UJKNuX9WP91TpwSH2VMlDf28Uj24BCp08ZFTUY=
|
||||||
github.com/go-playground/validator v9.31.0+incompatible h1:UA72EPEogEnq76ehGdEDp4Mit+3FDh548oRqwVgNsHA=
|
github.com/go-playground/validator v9.31.0+incompatible h1:UA72EPEogEnq76ehGdEDp4Mit+3FDh548oRqwVgNsHA=
|
||||||
github.com/go-playground/validator v9.31.0+incompatible/go.mod h1:yrEkQXlcI+PugkyDjY2bRrL/UBU4f3rvrgkN3V8JEig=
|
github.com/go-playground/validator v9.31.0+incompatible/go.mod h1:yrEkQXlcI+PugkyDjY2bRrL/UBU4f3rvrgkN3V8JEig=
|
||||||
github.com/go-sql-driver/mysql v1.9.1 h1:FrjNGn/BsJQjVRuSa8CBrM5BWA9BWoXXat3KrtSb/iI=
|
github.com/go-sql-driver/mysql v1.9.2 h1:4cNKDYQ1I84SXslGddlsrMhc8k4LeDVj6Ad6WRjiHuU=
|
||||||
github.com/go-sql-driver/mysql v1.9.1/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU=
|
github.com/go-sql-driver/mysql v1.9.2/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU=
|
||||||
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
||||||
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q=
|
||||||
github.com/golang-migrate/migrate v3.5.4+incompatible h1:R7OzwvCJTCgwapPCiX6DyBiu2czIUMDCB118gFTKTUA=
|
github.com/golang-migrate/migrate v3.5.4+incompatible h1:R7OzwvCJTCgwapPCiX6DyBiu2czIUMDCB118gFTKTUA=
|
||||||
github.com/golang-migrate/migrate v3.5.4+incompatible/go.mod h1:IsVUlFN5puWOmXrqjgGUfIRIbU7mr8oNBE2tyERd9Wk=
|
github.com/golang-migrate/migrate v3.5.4+incompatible/go.mod h1:IsVUlFN5puWOmXrqjgGUfIRIbU7mr8oNBE2tyERd9Wk=
|
||||||
|
github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8=
|
||||||
|
github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU=
|
||||||
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||||
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
|
github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM=
|
||||||
@@ -41,6 +46,10 @@ github.com/jackc/puddle/v2 v2.2.2 h1:PR8nw+E/1w0GLuRFSmiioY6UooMp6KJv0/61nB7icHo
|
|||||||
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
|
github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4=
|
||||||
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8=
|
||||||
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
|
||||||
|
github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0=
|
||||||
|
github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk=
|
||||||
|
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
||||||
|
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||||
github.com/labstack/echo/v4 v4.13.3 h1:pwhpCPrTl5qry5HRdM5FwdXnhXSLSY+WE+YQSeCaafY=
|
github.com/labstack/echo/v4 v4.13.3 h1:pwhpCPrTl5qry5HRdM5FwdXnhXSLSY+WE+YQSeCaafY=
|
||||||
github.com/labstack/echo/v4 v4.13.3/go.mod h1:o90YNEeQWjDozo584l7AwhJMHN0bOC4tAfg+Xox9q5g=
|
github.com/labstack/echo/v4 v4.13.3/go.mod h1:o90YNEeQWjDozo584l7AwhJMHN0bOC4tAfg+Xox9q5g=
|
||||||
github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0=
|
github.com/labstack/gommon v0.4.2 h1:F8qTUNXgG1+6WQmqoUWnz8WiEU60mXVVw0P4ht1WRA0=
|
||||||
@@ -61,6 +70,8 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
|||||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||||
|
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
|
||||||
|
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
|
||||||
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
||||||
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
||||||
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
||||||
@@ -75,46 +86,48 @@ github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9dec
|
|||||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||||
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||||
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
|
||||||
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
|
golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE=
|
||||||
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
|
golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc=
|
||||||
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
|
||||||
golang.org/x/mod v0.17.0 h1:zY54UmvipHiNd+pm+m0x9KhZ9hl1/7QNMyxXbc6ICqA=
|
golang.org/x/mod v0.21.0 h1:vvrHzRwRfVKSiLrG+d4FMl/Qi4ukBCE6kZlTUkDYRT0=
|
||||||
golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY=
|
||||||
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
|
||||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||||
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
|
||||||
golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8=
|
golang.org/x/net v0.39.0 h1:ZCu7HMWDxpXpaiKdhzIfaltL9Lp31x/3fCP11bc6/fY=
|
||||||
golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
|
golang.org/x/net v0.39.0/go.mod h1:X7NRbYVEA+ewNkCNyJ513WmMdQ3BineSwVtN2zD/d+E=
|
||||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||||
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
|
golang.org/x/sync v0.13.0 h1:AauUjRAJ9OSnvULf/ARrrVywoJDy0YS2AwQ98I37610=
|
||||||
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
golang.org/x/sync v0.13.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
|
||||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||||
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||||
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
|
golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20=
|
||||||
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
|
||||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||||
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
|
golang.org/x/text v0.24.0 h1:dd5Bzh4yt5KYA8f9CJHCP4FB4D51c2c6JvN37xJJkJ0=
|
||||||
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
|
golang.org/x/text v0.24.0/go.mod h1:L8rBsPeo2pSS+xqN0d5u2ikmjtmoJbDBT1b7nHvFCdU=
|
||||||
golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
|
golang.org/x/time v0.11.0 h1:/bpjEDfN9tkoN/ryeYHnv5hcMlc8ncjMcM4XBk5NWV0=
|
||||||
golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
|
golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg=
|
||||||
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||||
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
|
||||||
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
|
||||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d h1:vU5i/LfpvrRCpgM/VPfJLg5KjxD3E+hfT1SH+d9zLwg=
|
golang.org/x/tools v0.26.0 h1:v/60pFQmzmT9ExmjDv2gGIfi3OqfKoEP6I5+umXlbnQ=
|
||||||
golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk=
|
golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0=
|
||||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||||
|
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||||
gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM=
|
gopkg.in/go-playground/assert.v1 v1.2.1 h1:xoYuJVE7KT85PYWrN730RguIQO0ePzVRfFMXadIrXTM=
|
||||||
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
|
gopkg.in/go-playground/assert.v1 v1.2.1/go.mod h1:9RXL0bg/zibRAgZUYszZSwO/z8Y/a8bDuhia5mkpMnE=
|
||||||
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
||||||
|
|||||||
@@ -2,15 +2,45 @@ package loads
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
|
"git.siteworxpro.com/reloading-manager/backend/.gen/loading/public/table"
|
||||||
"git.siteworxpro.com/reloading-manager/backend/database"
|
"git.siteworxpro.com/reloading-manager/backend/database"
|
||||||
"git.siteworxpro.com/reloading-manager/backend/handlers"
|
"git.siteworxpro.com/reloading-manager/backend/handlers"
|
||||||
"git.siteworxpro.com/reloading-manager/backend/handlers/bullets"
|
"git.siteworxpro.com/reloading-manager/backend/handlers/bullets"
|
||||||
"git.siteworxpro.com/reloading-manager/backend/handlers/primers"
|
"git.siteworxpro.com/reloading-manager/backend/handlers/primers"
|
||||||
"git.siteworxpro.com/reloading-manager/backend/models/loads"
|
"git.siteworxpro.com/reloading-manager/backend/models/loads"
|
||||||
|
"github.com/go-jet/jet/v2/postgres"
|
||||||
|
"github.com/jackc/pgx/v5/pgtype"
|
||||||
"github.com/labstack/echo/v4"
|
"github.com/labstack/echo/v4"
|
||||||
"net/http"
|
"net/http"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
type row struct {
|
||||||
|
ID pgtype.UUID
|
||||||
|
Col float32
|
||||||
|
PowderGr float32
|
||||||
|
CartridgeID pgtype.UUID
|
||||||
|
CartridgeName string
|
||||||
|
CartridgeMeta []byte
|
||||||
|
BulletID pgtype.UUID
|
||||||
|
BulletName string
|
||||||
|
BulletDiameter int32
|
||||||
|
BulletWeight int32
|
||||||
|
BulletMeta []byte
|
||||||
|
BulletManufacturerName string
|
||||||
|
BulletManufacturerUrl pgtype.Text
|
||||||
|
PrimerID pgtype.UUID
|
||||||
|
PrimerName string
|
||||||
|
PrimerMeta []byte
|
||||||
|
PrimerManufacturerName string
|
||||||
|
PrimerManufacturerUrl pgtype.Text
|
||||||
|
PowderID pgtype.UUID
|
||||||
|
PowderName string
|
||||||
|
PowderMeta []byte
|
||||||
|
PowderManufacturerName string
|
||||||
|
PowderManufacturerUrl pgtype.Text
|
||||||
|
}
|
||||||
|
|
||||||
type loadResponseResults struct {
|
type loadResponseResults struct {
|
||||||
Id string `json:"id"`
|
Id string `json:"id"`
|
||||||
Cartridge string `json:"cartridge"`
|
Cartridge string `json:"cartridge"`
|
||||||
@@ -103,58 +133,42 @@ func Post(c echo.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Get(c echo.Context) error {
|
func Get(c echo.Context) error {
|
||||||
db := c.(*database.CustomContext).Db
|
|
||||||
defer db.Db.Close(context.Background())
|
|
||||||
|
|
||||||
cTotal := make(chan ResultChan[int64])
|
cTotal := make(chan ResultChan[int64])
|
||||||
cResults := make(chan ResultChan[[]loadResponseResults])
|
cResults := make(chan ResultChan[[]loadResponseResults])
|
||||||
|
|
||||||
go func(c chan ResultChan[int64]) {
|
go func(ch chan ResultChan[int64]) {
|
||||||
db := database.GetNewDatabase()
|
db := database.GetNewDatabase()
|
||||||
|
|
||||||
defer db.Db.Close(context.Background())
|
defer db.Db.Close(context.Background())
|
||||||
|
|
||||||
total, err := db.Loads.TotalLoads(context.Background())
|
q := getQuery(c, true)
|
||||||
|
sql, params := q.Sql()
|
||||||
|
|
||||||
|
var total int64
|
||||||
|
r := db.Db.QueryRow(context.Background(), sql, params...)
|
||||||
|
|
||||||
|
err := r.Scan(&total)
|
||||||
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c <- ResultChan[int64]{Err: err}
|
ch <- ResultChan[int64]{Err: err}
|
||||||
} else {
|
} else {
|
||||||
c <- ResultChan[int64]{Result: total}
|
ch <- ResultChan[int64]{Result: total}
|
||||||
}
|
}
|
||||||
|
|
||||||
}(cTotal)
|
}(cTotal)
|
||||||
|
|
||||||
go func(ch chan ResultChan[[]loadResponseResults]) {
|
go func(ch chan ResultChan[[]loadResponseResults]) {
|
||||||
|
db := database.GetNewDatabase()
|
||||||
|
|
||||||
rows, err := db.Loads.GetLoads(context.Background(), loads.GetLoadsParams{
|
defer db.Db.Close(context.Background())
|
||||||
Limit: handlers.ParseInt32WithDefault(c.QueryParam("limit"), 50),
|
|
||||||
Offset: handlers.ParseInt32WithDefault(c.QueryParam("offset"), 0),
|
|
||||||
|
|
||||||
OrderBy: "cartridge_name asc",
|
q := getQuery(c, false)
|
||||||
|
|
||||||
SearchCartridge: c.QueryParam("search_cartridge") != "",
|
fmt.Println(q.DebugSql())
|
||||||
Cartridge: c.QueryParam("search_cartridge"),
|
|
||||||
SearchBullet: c.QueryParam("search_bullet") != "",
|
sql, params := q.Sql()
|
||||||
Bullet: c.QueryParam("search_bullet") + "%",
|
rows, err := db.Db.Query(context.Background(), sql, params...)
|
||||||
SearchBulletManufacturer: c.QueryParam("search_bullet_manufacturer") != "",
|
|
||||||
BulletManufacturer: c.QueryParam("search_bullet_manufacturer") + "%",
|
|
||||||
SearchPrimer: c.QueryParam("search_primer") != "",
|
|
||||||
Primer: c.QueryParam("search_primer") + "%",
|
|
||||||
SearchPrimerManufacturer: c.QueryParam("search_primer_manufacturer") != "",
|
|
||||||
PrimeManufacturer: c.QueryParam("search_primer_manufacturer") + "%",
|
|
||||||
SearchPowder: c.QueryParam("search_powder") != "",
|
|
||||||
Powder: c.QueryParam("search_powder") + "%",
|
|
||||||
SearchPowderManufacturer: c.QueryParam("search_powder_manufacturer") != "",
|
|
||||||
PowderManufacturer: c.QueryParam("search_powder_manufacturer") + "%",
|
|
||||||
|
|
||||||
SearchCartridgeID: c.QueryParam("search_cartridge_id") != "",
|
|
||||||
CartridgeID: *handlers.ParseUuidOrEmpty(c.QueryParam("search_cartridge_id")),
|
|
||||||
SearchBulletID: c.QueryParam("search_bullet_id") != "",
|
|
||||||
BulletID: *handlers.ParseUuidOrEmpty(c.QueryParam("search_bullet_id")),
|
|
||||||
SearchPrimerID: c.QueryParam("search_primer_id") != "",
|
|
||||||
PrimerID: *handlers.ParseUuidOrEmpty(c.QueryParam("search_primer_id")),
|
|
||||||
SearchPowderID: c.QueryParam("search_powder_id") != "",
|
|
||||||
PowderID: *handlers.ParseUuidOrEmpty(c.QueryParam("search_powder_id")),
|
|
||||||
})
|
|
||||||
if err != nil {
|
if err != nil {
|
||||||
ch <- ResultChan[[]loadResponseResults]{Err: err}
|
ch <- ResultChan[[]loadResponseResults]{Err: err}
|
||||||
|
|
||||||
@@ -162,7 +176,44 @@ func Get(c echo.Context) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
results := make([]loadResponseResults, 0)
|
results := make([]loadResponseResults, 0)
|
||||||
for _, row := range rows {
|
for rows.Next() {
|
||||||
|
row := row{}
|
||||||
|
err = rows.Scan(
|
||||||
|
&row.ID,
|
||||||
|
&row.Col,
|
||||||
|
&row.PowderGr,
|
||||||
|
|
||||||
|
&row.CartridgeID,
|
||||||
|
&row.CartridgeName,
|
||||||
|
&row.CartridgeMeta,
|
||||||
|
|
||||||
|
&row.BulletID,
|
||||||
|
&row.BulletName,
|
||||||
|
&row.BulletDiameter,
|
||||||
|
&row.BulletWeight,
|
||||||
|
&row.BulletMeta,
|
||||||
|
&row.BulletManufacturerName,
|
||||||
|
&row.BulletManufacturerUrl,
|
||||||
|
|
||||||
|
&row.PrimerID,
|
||||||
|
&row.PrimerName,
|
||||||
|
&row.PrimerMeta,
|
||||||
|
&row.PrimerManufacturerName,
|
||||||
|
&row.PrimerManufacturerUrl,
|
||||||
|
|
||||||
|
&row.PowderID,
|
||||||
|
&row.PowderName,
|
||||||
|
&row.PowderMeta,
|
||||||
|
&row.PowderManufacturerName,
|
||||||
|
&row.PowderManufacturerUrl,
|
||||||
|
)
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
ch <- ResultChan[[]loadResponseResults]{Err: err}
|
||||||
|
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
results = append(results, loadResponseResults{
|
results = append(results, loadResponseResults{
|
||||||
Id: row.ID.String(),
|
Id: row.ID.String(),
|
||||||
Cartridge: row.CartridgeName,
|
Cartridge: row.CartridgeName,
|
||||||
@@ -213,3 +264,135 @@ func Get(c echo.Context) error {
|
|||||||
|
|
||||||
return c.JSON(http.StatusOK, handlers.Response[loadResponse]{Status: http.StatusText(http.StatusOK), Payload: loadResponse{Total: int(total.Result), Results: results.Result}})
|
return c.JSON(http.StatusOK, handlers.Response[loadResponse]{Status: http.StatusText(http.StatusOK), Payload: loadResponse{Total: int(total.Result), Results: results.Result}})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getQuery(c echo.Context, countOnly bool) postgres.SelectStatement {
|
||||||
|
l := table.Loads.AS("l")
|
||||||
|
ctg := table.Cartridges.AS("c")
|
||||||
|
b := table.Bullets.AS("b")
|
||||||
|
bm := table.Manufacturers.AS("b_m")
|
||||||
|
p := table.Primers.AS("p")
|
||||||
|
pm := table.Manufacturers.AS("p_m")
|
||||||
|
pwd := table.Powders.AS("pw")
|
||||||
|
pwdm := table.Manufacturers.AS("pw_m")
|
||||||
|
|
||||||
|
tb := l.
|
||||||
|
INNER_JOIN(ctg, l.CartridgeID.EQ(ctg.ID)).
|
||||||
|
INNER_JOIN(b, l.BulletID.EQ(b.ID)).
|
||||||
|
INNER_JOIN(bm, b.ManufacturerID.EQ(bm.ID)).
|
||||||
|
INNER_JOIN(p, l.PrimerID.EQ(p.ID)).
|
||||||
|
INNER_JOIN(pm, p.ManufacturerID.EQ(pm.ID)).
|
||||||
|
INNER_JOIN(pwd, l.PowderID.EQ(pwd.ID)).
|
||||||
|
INNER_JOIN(pwdm, pwd.ManufacturerID.EQ(pwdm.ID))
|
||||||
|
|
||||||
|
var q postgres.SelectStatement
|
||||||
|
if countOnly {
|
||||||
|
q = tb.SELECT(postgres.COUNT(l.ID).AS("total"))
|
||||||
|
} else {
|
||||||
|
|
||||||
|
q = tb.SELECT(
|
||||||
|
// Load
|
||||||
|
l.ID.AS("id"),
|
||||||
|
l.Col.AS("col"),
|
||||||
|
l.PowderGr.AS("powder_gr"),
|
||||||
|
|
||||||
|
// Cartridge
|
||||||
|
ctg.ID.AS("cartridge_id"),
|
||||||
|
ctg.Name.AS("cartridge_name"),
|
||||||
|
ctg.Meta.AS("cartridge_meta"),
|
||||||
|
|
||||||
|
// Bullet
|
||||||
|
b.ID.AS("bullet_id"),
|
||||||
|
b.Name.AS("bullet_name"),
|
||||||
|
b.Diameter.AS("bullet_diameter"),
|
||||||
|
b.Weight.AS("bullet_weight"),
|
||||||
|
b.Meta.AS("bullet_meta"),
|
||||||
|
bm.Name.AS("bullet_manufacturer_name"),
|
||||||
|
bm.URL.AS("bullet_manufacturer_url"),
|
||||||
|
|
||||||
|
// Primer
|
||||||
|
p.ID.AS("primer_id"),
|
||||||
|
p.Name.AS("primer_name"),
|
||||||
|
p.Meta.AS("primer_meta"),
|
||||||
|
pm.Name.AS("primer_manufacturer_name"),
|
||||||
|
pm.URL.AS("primer_manufacturer_url"),
|
||||||
|
|
||||||
|
// Powder
|
||||||
|
pwd.ID.AS("powder_id"),
|
||||||
|
pwd.Name.AS("powder_name"),
|
||||||
|
pwd.Meta.AS("powder_meta"),
|
||||||
|
pwdm.Name.AS("powder_manufacturer_name"),
|
||||||
|
pwdm.URL.AS("powder_manufacturer_url"),
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
expressions := make([]postgres.BoolExpression, 0)
|
||||||
|
if c.QueryParam("search_cartridge") != "" {
|
||||||
|
expressions = append(expressions, ctg.Name.LIKE(postgres.String(c.QueryParam("search_cartridge")+"%")))
|
||||||
|
}
|
||||||
|
|
||||||
|
if c.QueryParam("search_bullet") != "" {
|
||||||
|
expressions = append(expressions, b.Name.LIKE(postgres.String(c.QueryParam("search_bullet")+"%")))
|
||||||
|
}
|
||||||
|
|
||||||
|
var where postgres.BoolExpression
|
||||||
|
if len(expressions) > 0 {
|
||||||
|
for _, expr := range expressions {
|
||||||
|
if where == nil {
|
||||||
|
where = expr
|
||||||
|
} else {
|
||||||
|
where = where.AND(expr)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if where != nil {
|
||||||
|
q = q.WHERE(where)
|
||||||
|
}
|
||||||
|
|
||||||
|
if countOnly {
|
||||||
|
return q
|
||||||
|
}
|
||||||
|
|
||||||
|
orderBy := c.QueryParam("sortField")
|
||||||
|
var sort postgres.Column
|
||||||
|
switch orderBy {
|
||||||
|
case "cartridge_name":
|
||||||
|
sort = ctg.Name
|
||||||
|
case "bullet_name":
|
||||||
|
sort = b.Name
|
||||||
|
case "bullet_manufacturer_name":
|
||||||
|
sort = bm.Name
|
||||||
|
case "primer_manufacturer_name":
|
||||||
|
sort = pm.Name
|
||||||
|
case "primer_name":
|
||||||
|
sort = p.Name
|
||||||
|
case "powder_manufacturer_name":
|
||||||
|
sort = pwdm.Name
|
||||||
|
case "powder_namd":
|
||||||
|
sort = pwd.Name
|
||||||
|
case "powder_grs":
|
||||||
|
sort = l.PowderGr
|
||||||
|
default:
|
||||||
|
sort = ctg.Name
|
||||||
|
}
|
||||||
|
|
||||||
|
if c.QueryParam("sortOrder") == "-1" {
|
||||||
|
q.ORDER_BY(sort.DESC())
|
||||||
|
} else {
|
||||||
|
q.ORDER_BY(sort.ASC())
|
||||||
|
}
|
||||||
|
|
||||||
|
limit := c.QueryParam("limit")
|
||||||
|
if limit == "" {
|
||||||
|
limit = "50"
|
||||||
|
}
|
||||||
|
offset := c.QueryParam("offset")
|
||||||
|
if offset == "" {
|
||||||
|
offset = "0"
|
||||||
|
}
|
||||||
|
|
||||||
|
q = q.LIMIT(handlers.ParseInt64OrDefault(limit, 50)).
|
||||||
|
OFFSET(handlers.ParseInt64OrDefault(offset, 0))
|
||||||
|
|
||||||
|
return q
|
||||||
|
}
|
||||||
|
|||||||
@@ -19,3 +19,12 @@ func ParseInt32WithDefault(s string, def int32) int32 {
|
|||||||
|
|
||||||
return int32(sInt)
|
return int32(sInt)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func ParseInt64OrDefault(s string, def int64) int64 {
|
||||||
|
sInt, err := strconv.ParseInt(s, 10, 64)
|
||||||
|
if err != nil {
|
||||||
|
return def
|
||||||
|
}
|
||||||
|
|
||||||
|
return sInt
|
||||||
|
}
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ func main() {
|
|||||||
addr := fmt.Sprintf("0.0.0.0:%s", Port.GetEnvString("8080"))
|
addr := fmt.Sprintf("0.0.0.0:%s", Port.GetEnvString("8080"))
|
||||||
|
|
||||||
e.Logger.Info("🚀 Starting Server...")
|
e.Logger.Info("🚀 Starting Server...")
|
||||||
|
e.Logger.Infof("🔌 Connecting to database... %s", database.GetNewDatabase().DSN(true))
|
||||||
e.Logger.Infof("🎧 Listening on %v", addr)
|
e.Logger.Infof("🎧 Listening on %v", addr)
|
||||||
e.Logger.Fatal(e.Start(addr))
|
e.Logger.Fatal(e.Start(addr))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
// source: bullets.sql
|
// source: bullets.sql
|
||||||
|
|
||||||
package bullets
|
package bullets
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package bullets
|
package bullets
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package bullets
|
package bullets
|
||||||
|
|
||||||
|
|||||||
@@ -64,7 +64,7 @@ select l.id as id,
|
|||||||
pr.meta as primer_meta,
|
pr.meta as primer_meta,
|
||||||
pr_m.name as primer_manufacturer_name,
|
pr_m.name as primer_manufacturer_name,
|
||||||
pr_m.url as primer_manufacturer_url,
|
pr_m.url as primer_manufacturer_url,
|
||||||
b.id as bullet_id,
|
b.id as bullet_id,
|
||||||
b.name as bullet_name,
|
b.name as bullet_name,
|
||||||
b.meta as bullet_meta,
|
b.meta as bullet_meta,
|
||||||
b.weight as bullet_weight,
|
b.weight as bullet_weight,
|
||||||
@@ -96,5 +96,13 @@ where 1 = 1
|
|||||||
AND (CASE WHEN @search_primer_id::bool THEN pr.id = @primer_id::uuid ELSE TRUE END)
|
AND (CASE WHEN @search_primer_id::bool THEN pr.id = @primer_id::uuid ELSE TRUE END)
|
||||||
AND (CASE WHEN @search_powder_id::bool THEN p.id = @powder_id::uuid ELSE TRUE END)
|
AND (CASE WHEN @search_powder_id::bool THEN p.id = @powder_id::uuid ELSE TRUE END)
|
||||||
|
|
||||||
order by @order_by
|
order by (case
|
||||||
|
when @order_by = 'cartridge_name' then c.name
|
||||||
|
when @order_by = 'bullet_name' then b.name
|
||||||
|
when @order_by = 'bullet_manufacturer_name' then b_m.name
|
||||||
|
when @order_by = 'primer_manufacturer_name' then pr_m.name
|
||||||
|
when @order_by = 'powder_manufacturer_name' then p_m.name
|
||||||
|
when @order_by::text = 'powder_gr' then l.powder_gr
|
||||||
|
end)
|
||||||
|
|
||||||
limit $1 offset $2;
|
limit $1 offset $2;
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package loads
|
package loads
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
// source: loads.sql
|
// source: loads.sql
|
||||||
|
|
||||||
package loads
|
package loads
|
||||||
@@ -197,7 +197,7 @@ select l.id as id,
|
|||||||
pr.meta as primer_meta,
|
pr.meta as primer_meta,
|
||||||
pr_m.name as primer_manufacturer_name,
|
pr_m.name as primer_manufacturer_name,
|
||||||
pr_m.url as primer_manufacturer_url,
|
pr_m.url as primer_manufacturer_url,
|
||||||
b.id as bullet_id,
|
b.id as bullet_id,
|
||||||
b.name as bullet_name,
|
b.name as bullet_name,
|
||||||
b.meta as bullet_meta,
|
b.meta as bullet_meta,
|
||||||
b.weight as bullet_weight,
|
b.weight as bullet_weight,
|
||||||
@@ -229,7 +229,15 @@ where 1 = 1
|
|||||||
AND (CASE WHEN $21::bool THEN pr.id = $22::uuid ELSE TRUE END)
|
AND (CASE WHEN $21::bool THEN pr.id = $22::uuid ELSE TRUE END)
|
||||||
AND (CASE WHEN $23::bool THEN p.id = $24::uuid ELSE TRUE END)
|
AND (CASE WHEN $23::bool THEN p.id = $24::uuid ELSE TRUE END)
|
||||||
|
|
||||||
order by $25
|
order by (case
|
||||||
|
when $25 = 'cartridge_name' then c.name
|
||||||
|
when $25 = 'bullet_name' then b.name
|
||||||
|
when $25 = 'bullet_manufacturer_name' then b_m.name
|
||||||
|
when $25 = 'primer_manufacturer_name' then pr_m.name
|
||||||
|
when $25 = 'powder_manufacturer_name' then p_m.name
|
||||||
|
when $25::text = 'powder_gr' then l.powder_gr
|
||||||
|
end)
|
||||||
|
|
||||||
limit $1 offset $2
|
limit $1 offset $2
|
||||||
`
|
`
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package loads
|
package loads
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package manufacturer
|
package manufacturer
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
// source: manufacturer.sql
|
// source: manufacturer.sql
|
||||||
|
|
||||||
package manufacturer
|
package manufacturer
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package manufacturer
|
package manufacturer
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package powder
|
package powder
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package powder
|
package powder
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
// source: powder.sql
|
// source: powder.sql
|
||||||
|
|
||||||
package powder
|
package powder
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package primers
|
package primers
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
|
|
||||||
package primers
|
package primers
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
// Code generated by sqlc. DO NOT EDIT.
|
// Code generated by sqlc. DO NOT EDIT.
|
||||||
// versions:
|
// versions:
|
||||||
// sqlc v1.27.0
|
// sqlc v1.29.0
|
||||||
// source: primers.sql
|
// source: primers.sql
|
||||||
|
|
||||||
package primers
|
package primers
|
||||||
|
|||||||
1
frontend/.gitignore
vendored
1
frontend/.gitignore
vendored
@@ -22,3 +22,4 @@ dist-ssr
|
|||||||
*.njsproj
|
*.njsproj
|
||||||
*.sln
|
*.sln
|
||||||
*.sw?
|
*.sw?
|
||||||
|
.env
|
||||||
@@ -8,6 +8,10 @@
|
|||||||
:value="loads"
|
:value="loads"
|
||||||
filterDisplay="row"
|
filterDisplay="row"
|
||||||
paginator
|
paginator
|
||||||
|
:sortField="sortField"
|
||||||
|
:sortOrder="sortOrder"
|
||||||
|
@update:sortField="(e: string) => {sortField = e; fetchLoads()}"
|
||||||
|
@update:sortOrder="(e: number | undefined) => {sortOrder = e; fetchLoads()}"
|
||||||
lazy
|
lazy
|
||||||
:rows="50"
|
:rows="50"
|
||||||
:totalRecords="total"
|
:totalRecords="total"
|
||||||
@@ -19,7 +23,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<Column field="cartridge" header="Name" :sortable="true" :showFilterMenu="false">
|
<Column field="cartridge_name" header="Name" :sortable="true" :showFilterMenu="false">
|
||||||
<template #filter>
|
<template #filter>
|
||||||
<Select />
|
<Select />
|
||||||
</template>
|
</template>
|
||||||
@@ -29,7 +33,7 @@
|
|||||||
|
|
||||||
</Column>
|
</Column>
|
||||||
|
|
||||||
<Column field="bulletManufacturer" header="Bullet Manufacturer" :sortable="true" :showFilterMenu="false">
|
<Column field="bullet_manufacturer_name" header="Bullet Manufacturer" :sortable="true" :showFilterMenu="false">
|
||||||
<template #filter>
|
<template #filter>
|
||||||
<Select />
|
<Select />
|
||||||
</template>
|
</template>
|
||||||
@@ -37,7 +41,7 @@
|
|||||||
{{ data.bullet.manufacturer.name }}
|
{{ data.bullet.manufacturer.name }}
|
||||||
</template>
|
</template>
|
||||||
</Column>
|
</Column>
|
||||||
<Column header="Bullet" :sortable="true" :showFilterMenu="false">
|
<Column field="bullet_name" header="Bullet" :sortable="true" :showFilterMenu="false">
|
||||||
<template #filter>
|
<template #filter>
|
||||||
<Select />
|
<Select />
|
||||||
</template>
|
</template>
|
||||||
@@ -47,36 +51,36 @@
|
|||||||
.{{ data.bullet.diameter }}
|
.{{ data.bullet.diameter }}
|
||||||
</template>
|
</template>
|
||||||
</Column>
|
</Column>
|
||||||
<Column field="name" header="Primer Manufacturer" :sortable="true">
|
<Column field="primer_manufacturer_name" header="Primer Manufacturer" :sortable="true">
|
||||||
<template #body="{ data }">
|
<template #body="{ data }">
|
||||||
{{ data.primer.manufacturer.name }}
|
{{ data.primer.manufacturer.name }}
|
||||||
</template>
|
</template>
|
||||||
</Column>
|
</Column>
|
||||||
<Column field="name" header="Primer" :sortable="true">
|
<Column field="primer_name" header="Primer" :sortable="true">
|
||||||
<template #body="{ data }">
|
<template #body="{ data }">
|
||||||
{{ data.primer.name }}
|
{{ data.primer.name }}
|
||||||
</template>
|
</template>
|
||||||
</Column>
|
</Column>
|
||||||
|
|
||||||
<Column field="name" header="Powder Manufacturer" :sortable="true">
|
<Column field="powder_manufacturer_name" header="Powder Manufacturer" :sortable="true">
|
||||||
<template #body="{ data }">
|
<template #body="{ data }">
|
||||||
{{ data.powder.manufacturer.name }}
|
{{ data.powder.manufacturer.name }}
|
||||||
</template>
|
</template>
|
||||||
</Column>
|
</Column>
|
||||||
|
|
||||||
<Column field="name" header="Powder" :sortable="true">
|
<Column field="powder_name" header="Powder" :sortable="true">
|
||||||
<template #body="{ data }">
|
<template #body="{ data }">
|
||||||
{{ data.powder.name }}
|
{{ data.powder.name }}
|
||||||
</template>
|
</template>
|
||||||
</Column>
|
</Column>
|
||||||
|
|
||||||
<Column field="name" header="Powder Grs" :sortable="true">
|
<Column field="powder_gr" header="Powder Grs" :sortable="true">
|
||||||
<template #body="{ data }">
|
<template #body="{ data }">
|
||||||
{{ data.powder_gr }}gr
|
{{ data.powder_gr }}gr
|
||||||
</template>
|
</template>
|
||||||
</Column>
|
</Column>
|
||||||
|
|
||||||
<Column field="name" header="Edit">
|
<Column field="edit" header="Edit">
|
||||||
<template #body>
|
<template #body>
|
||||||
<Button size="small" text :icon="icons.edit" />
|
<Button size="small" text :icon="icons.edit" />
|
||||||
</template>
|
</template>
|
||||||
@@ -121,10 +125,23 @@ const loads = ref<Load[]>([])
|
|||||||
const total = ref(0)
|
const total = ref(0)
|
||||||
const loading = ref(true)
|
const loading = ref(true)
|
||||||
|
|
||||||
|
const sortField = ref('cartridge_name')
|
||||||
|
const sortOrder = ref<number | undefined>(-1)
|
||||||
|
|
||||||
const fetchLoads = async () => {
|
const fetchLoads = async () => {
|
||||||
loading.value = true
|
loading.value = true
|
||||||
|
|
||||||
const resp = await axios.get<any, Response<LoadResponse>>(`${import.meta.env.VITE_API}/load`)
|
const searchParams = []
|
||||||
|
|
||||||
|
searchParams.unshift(`sortField=${sortField.value}`)
|
||||||
|
|
||||||
|
if (sortOrder.value) {
|
||||||
|
searchParams.unshift(`sortOrder=${sortOrder.value}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
console.log(searchParams)
|
||||||
|
|
||||||
|
const resp = await axios.get<any, Response<LoadResponse>>(`${import.meta.env.VITE_API}/load?${searchParams.join('&')}`)
|
||||||
|
|
||||||
loads.value = resp.data.payload.results
|
loads.value = resp.data.payload.results
|
||||||
total.value = resp.data.payload.total
|
total.value = resp.data.payload.total
|
||||||
|
|||||||
Reference in New Issue
Block a user