add warehouse_request_source and warehouse_request_source_2 fields to deliveries table with validation and normalization logic
This commit is contained in:
@@ -9,27 +9,29 @@ import (
|
||||
)
|
||||
|
||||
type Delivery struct {
|
||||
ID pgtype.UUID `db:"id" json:"id"`
|
||||
Date pgtype.Date `db:"date" json:"date"`
|
||||
PickupLocation string `db:"pickup_location" json:"pickup_location"`
|
||||
ProductName string `db:"product_name" json:"product_name"`
|
||||
Address string `db:"address" json:"address"`
|
||||
Phone string `db:"phone" json:"phone"`
|
||||
AdditionalPhone pgtype.Text `db:"additional_phone" json:"additional_phone"`
|
||||
HasElevator bool `db:"has_elevator" json:"has_elevator"`
|
||||
Comment pgtype.Text `db:"comment" json:"comment"`
|
||||
Status string `db:"status" json:"status"`
|
||||
CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
|
||||
UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
|
||||
CustomerName string `db:"customer_name" json:"customer_name"`
|
||||
ServiceInfo pgtype.Text `db:"service_info" json:"service_info"`
|
||||
PickupLocation2 pgtype.Text `db:"pickup_location_2" json:"pickup_location_2"`
|
||||
ProductName2 pgtype.Text `db:"product_name_2" json:"product_name_2"`
|
||||
Street string `db:"street" json:"street"`
|
||||
House string `db:"house" json:"house"`
|
||||
Apartment pgtype.Text `db:"apartment" json:"apartment"`
|
||||
Entrance pgtype.Text `db:"entrance" json:"entrance"`
|
||||
Floor pgtype.Text `db:"floor" json:"floor"`
|
||||
ID pgtype.UUID `db:"id" json:"id"`
|
||||
Date pgtype.Date `db:"date" json:"date"`
|
||||
PickupLocation string `db:"pickup_location" json:"pickup_location"`
|
||||
ProductName string `db:"product_name" json:"product_name"`
|
||||
Address string `db:"address" json:"address"`
|
||||
Phone string `db:"phone" json:"phone"`
|
||||
AdditionalPhone pgtype.Text `db:"additional_phone" json:"additional_phone"`
|
||||
HasElevator bool `db:"has_elevator" json:"has_elevator"`
|
||||
Comment pgtype.Text `db:"comment" json:"comment"`
|
||||
Status string `db:"status" json:"status"`
|
||||
CreatedAt pgtype.Timestamptz `db:"created_at" json:"created_at"`
|
||||
UpdatedAt pgtype.Timestamptz `db:"updated_at" json:"updated_at"`
|
||||
CustomerName string `db:"customer_name" json:"customer_name"`
|
||||
ServiceInfo pgtype.Text `db:"service_info" json:"service_info"`
|
||||
PickupLocation2 pgtype.Text `db:"pickup_location_2" json:"pickup_location_2"`
|
||||
ProductName2 pgtype.Text `db:"product_name_2" json:"product_name_2"`
|
||||
Street string `db:"street" json:"street"`
|
||||
House string `db:"house" json:"house"`
|
||||
Apartment pgtype.Text `db:"apartment" json:"apartment"`
|
||||
Entrance pgtype.Text `db:"entrance" json:"entrance"`
|
||||
Floor pgtype.Text `db:"floor" json:"floor"`
|
||||
WarehouseRequestSource pgtype.Text `db:"warehouse_request_source" json:"warehouse_request_source"`
|
||||
WarehouseRequestSource2 pgtype.Text `db:"warehouse_request_source_2" json:"warehouse_request_source_2"`
|
||||
}
|
||||
|
||||
type User struct {
|
||||
|
||||
@@ -13,32 +13,34 @@ import (
|
||||
|
||||
const createDelivery = `-- name: CreateDelivery :one
|
||||
INSERT INTO deliveries (
|
||||
date, pickup_location, pickup_location_2, product_name, product_name_2,
|
||||
date, pickup_location, pickup_location_2, warehouse_request_source, warehouse_request_source_2, product_name, product_name_2,
|
||||
customer_name, address, street, house, apartment, entrance, floor,
|
||||
phone, additional_phone, has_elevator, service_info, comment
|
||||
)
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17)
|
||||
RETURNING id, date, pickup_location, product_name, address, phone, additional_phone, has_elevator, comment, status, created_at, updated_at, customer_name, service_info, pickup_location_2, product_name_2, street, house, apartment, entrance, floor
|
||||
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18, $19)
|
||||
RETURNING id, date, pickup_location, product_name, address, phone, additional_phone, has_elevator, comment, status, created_at, updated_at, customer_name, service_info, pickup_location_2, product_name_2, street, house, apartment, entrance, floor, warehouse_request_source, warehouse_request_source_2
|
||||
`
|
||||
|
||||
type CreateDeliveryParams struct {
|
||||
Date pgtype.Date `db:"date" json:"date"`
|
||||
PickupLocation string `db:"pickup_location" json:"pickup_location"`
|
||||
PickupLocation2 pgtype.Text `db:"pickup_location_2" json:"pickup_location_2"`
|
||||
ProductName string `db:"product_name" json:"product_name"`
|
||||
ProductName2 pgtype.Text `db:"product_name_2" json:"product_name_2"`
|
||||
CustomerName string `db:"customer_name" json:"customer_name"`
|
||||
Address string `db:"address" json:"address"`
|
||||
Street string `db:"street" json:"street"`
|
||||
House string `db:"house" json:"house"`
|
||||
Apartment pgtype.Text `db:"apartment" json:"apartment"`
|
||||
Entrance pgtype.Text `db:"entrance" json:"entrance"`
|
||||
Floor pgtype.Text `db:"floor" json:"floor"`
|
||||
Phone string `db:"phone" json:"phone"`
|
||||
AdditionalPhone pgtype.Text `db:"additional_phone" json:"additional_phone"`
|
||||
HasElevator bool `db:"has_elevator" json:"has_elevator"`
|
||||
ServiceInfo pgtype.Text `db:"service_info" json:"service_info"`
|
||||
Comment pgtype.Text `db:"comment" json:"comment"`
|
||||
Date pgtype.Date `db:"date" json:"date"`
|
||||
PickupLocation string `db:"pickup_location" json:"pickup_location"`
|
||||
PickupLocation2 pgtype.Text `db:"pickup_location_2" json:"pickup_location_2"`
|
||||
WarehouseRequestSource pgtype.Text `db:"warehouse_request_source" json:"warehouse_request_source"`
|
||||
WarehouseRequestSource2 pgtype.Text `db:"warehouse_request_source_2" json:"warehouse_request_source_2"`
|
||||
ProductName string `db:"product_name" json:"product_name"`
|
||||
ProductName2 pgtype.Text `db:"product_name_2" json:"product_name_2"`
|
||||
CustomerName string `db:"customer_name" json:"customer_name"`
|
||||
Address string `db:"address" json:"address"`
|
||||
Street string `db:"street" json:"street"`
|
||||
House string `db:"house" json:"house"`
|
||||
Apartment pgtype.Text `db:"apartment" json:"apartment"`
|
||||
Entrance pgtype.Text `db:"entrance" json:"entrance"`
|
||||
Floor pgtype.Text `db:"floor" json:"floor"`
|
||||
Phone string `db:"phone" json:"phone"`
|
||||
AdditionalPhone pgtype.Text `db:"additional_phone" json:"additional_phone"`
|
||||
HasElevator bool `db:"has_elevator" json:"has_elevator"`
|
||||
ServiceInfo pgtype.Text `db:"service_info" json:"service_info"`
|
||||
Comment pgtype.Text `db:"comment" json:"comment"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateDelivery(ctx context.Context, arg CreateDeliveryParams) (Delivery, error) {
|
||||
@@ -46,6 +48,8 @@ func (q *Queries) CreateDelivery(ctx context.Context, arg CreateDeliveryParams)
|
||||
arg.Date,
|
||||
arg.PickupLocation,
|
||||
arg.PickupLocation2,
|
||||
arg.WarehouseRequestSource,
|
||||
arg.WarehouseRequestSource2,
|
||||
arg.ProductName,
|
||||
arg.ProductName2,
|
||||
arg.CustomerName,
|
||||
@@ -84,6 +88,8 @@ func (q *Queries) CreateDelivery(ctx context.Context, arg CreateDeliveryParams)
|
||||
&i.Apartment,
|
||||
&i.Entrance,
|
||||
&i.Floor,
|
||||
&i.WarehouseRequestSource,
|
||||
&i.WarehouseRequestSource2,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
@@ -123,7 +129,7 @@ func (q *Queries) DeleteDelivery(ctx context.Context, id pgtype.UUID) error {
|
||||
}
|
||||
|
||||
const getDeliveriesByDate = `-- name: GetDeliveriesByDate :many
|
||||
SELECT id, date, pickup_location, product_name, address, phone, additional_phone, has_elevator, comment, status, created_at, updated_at, customer_name, service_info, pickup_location_2, product_name_2, street, house, apartment, entrance, floor FROM deliveries WHERE date = $1
|
||||
SELECT id, date, pickup_location, product_name, address, phone, additional_phone, has_elevator, comment, status, created_at, updated_at, customer_name, service_info, pickup_location_2, product_name_2, street, house, apartment, entrance, floor, warehouse_request_source, warehouse_request_source_2 FROM deliveries WHERE date = $1
|
||||
`
|
||||
|
||||
func (q *Queries) GetDeliveriesByDate(ctx context.Context, date pgtype.Date) ([]Delivery, error) {
|
||||
@@ -157,6 +163,8 @@ func (q *Queries) GetDeliveriesByDate(ctx context.Context, date pgtype.Date) ([]
|
||||
&i.Apartment,
|
||||
&i.Entrance,
|
||||
&i.Floor,
|
||||
&i.WarehouseRequestSource,
|
||||
&i.WarehouseRequestSource2,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -169,7 +177,7 @@ func (q *Queries) GetDeliveriesByDate(ctx context.Context, date pgtype.Date) ([]
|
||||
}
|
||||
|
||||
const getDeliveryByID = `-- name: GetDeliveryByID :one
|
||||
SELECT id, date, pickup_location, product_name, address, phone, additional_phone, has_elevator, comment, status, created_at, updated_at, customer_name, service_info, pickup_location_2, product_name_2, street, house, apartment, entrance, floor FROM deliveries WHERE id = $1
|
||||
SELECT id, date, pickup_location, product_name, address, phone, additional_phone, has_elevator, comment, status, created_at, updated_at, customer_name, service_info, pickup_location_2, product_name_2, street, house, apartment, entrance, floor, warehouse_request_source, warehouse_request_source_2 FROM deliveries WHERE id = $1
|
||||
`
|
||||
|
||||
func (q *Queries) GetDeliveryByID(ctx context.Context, id pgtype.UUID) (Delivery, error) {
|
||||
@@ -197,6 +205,8 @@ func (q *Queries) GetDeliveryByID(ctx context.Context, id pgtype.UUID) (Delivery
|
||||
&i.Apartment,
|
||||
&i.Entrance,
|
||||
&i.Floor,
|
||||
&i.WarehouseRequestSource,
|
||||
&i.WarehouseRequestSource2,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
@@ -293,43 +303,47 @@ UPDATE deliveries SET
|
||||
date = $1,
|
||||
pickup_location = $2,
|
||||
pickup_location_2 = $3,
|
||||
product_name = $4,
|
||||
product_name_2 = $5,
|
||||
customer_name = $6,
|
||||
address = $7,
|
||||
street = $8,
|
||||
house = $9,
|
||||
apartment = $10,
|
||||
entrance = $11,
|
||||
floor = $12,
|
||||
phone = $13,
|
||||
additional_phone = $14,
|
||||
has_elevator = $15,
|
||||
service_info = $16,
|
||||
comment = $17,
|
||||
warehouse_request_source = $4,
|
||||
warehouse_request_source_2 = $5,
|
||||
product_name = $6,
|
||||
product_name_2 = $7,
|
||||
customer_name = $8,
|
||||
address = $9,
|
||||
street = $10,
|
||||
house = $11,
|
||||
apartment = $12,
|
||||
entrance = $13,
|
||||
floor = $14,
|
||||
phone = $15,
|
||||
additional_phone = $16,
|
||||
has_elevator = $17,
|
||||
service_info = $18,
|
||||
comment = $19,
|
||||
updated_at = NOW()
|
||||
WHERE id = $18
|
||||
WHERE id = $20
|
||||
`
|
||||
|
||||
type UpdateDeliveryParams struct {
|
||||
Date pgtype.Date `db:"date" json:"date"`
|
||||
PickupLocation string `db:"pickup_location" json:"pickup_location"`
|
||||
PickupLocation2 pgtype.Text `db:"pickup_location_2" json:"pickup_location_2"`
|
||||
ProductName string `db:"product_name" json:"product_name"`
|
||||
ProductName2 pgtype.Text `db:"product_name_2" json:"product_name_2"`
|
||||
CustomerName string `db:"customer_name" json:"customer_name"`
|
||||
Address string `db:"address" json:"address"`
|
||||
Street string `db:"street" json:"street"`
|
||||
House string `db:"house" json:"house"`
|
||||
Apartment pgtype.Text `db:"apartment" json:"apartment"`
|
||||
Entrance pgtype.Text `db:"entrance" json:"entrance"`
|
||||
Floor pgtype.Text `db:"floor" json:"floor"`
|
||||
Phone string `db:"phone" json:"phone"`
|
||||
AdditionalPhone pgtype.Text `db:"additional_phone" json:"additional_phone"`
|
||||
HasElevator bool `db:"has_elevator" json:"has_elevator"`
|
||||
ServiceInfo pgtype.Text `db:"service_info" json:"service_info"`
|
||||
Comment pgtype.Text `db:"comment" json:"comment"`
|
||||
ID pgtype.UUID `db:"id" json:"id"`
|
||||
Date pgtype.Date `db:"date" json:"date"`
|
||||
PickupLocation string `db:"pickup_location" json:"pickup_location"`
|
||||
PickupLocation2 pgtype.Text `db:"pickup_location_2" json:"pickup_location_2"`
|
||||
WarehouseRequestSource pgtype.Text `db:"warehouse_request_source" json:"warehouse_request_source"`
|
||||
WarehouseRequestSource2 pgtype.Text `db:"warehouse_request_source_2" json:"warehouse_request_source_2"`
|
||||
ProductName string `db:"product_name" json:"product_name"`
|
||||
ProductName2 pgtype.Text `db:"product_name_2" json:"product_name_2"`
|
||||
CustomerName string `db:"customer_name" json:"customer_name"`
|
||||
Address string `db:"address" json:"address"`
|
||||
Street string `db:"street" json:"street"`
|
||||
House string `db:"house" json:"house"`
|
||||
Apartment pgtype.Text `db:"apartment" json:"apartment"`
|
||||
Entrance pgtype.Text `db:"entrance" json:"entrance"`
|
||||
Floor pgtype.Text `db:"floor" json:"floor"`
|
||||
Phone string `db:"phone" json:"phone"`
|
||||
AdditionalPhone pgtype.Text `db:"additional_phone" json:"additional_phone"`
|
||||
HasElevator bool `db:"has_elevator" json:"has_elevator"`
|
||||
ServiceInfo pgtype.Text `db:"service_info" json:"service_info"`
|
||||
Comment pgtype.Text `db:"comment" json:"comment"`
|
||||
ID pgtype.UUID `db:"id" json:"id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateDelivery(ctx context.Context, arg UpdateDeliveryParams) error {
|
||||
@@ -337,6 +351,8 @@ func (q *Queries) UpdateDelivery(ctx context.Context, arg UpdateDeliveryParams)
|
||||
arg.Date,
|
||||
arg.PickupLocation,
|
||||
arg.PickupLocation2,
|
||||
arg.WarehouseRequestSource,
|
||||
arg.WarehouseRequestSource2,
|
||||
arg.ProductName,
|
||||
arg.ProductName2,
|
||||
arg.CustomerName,
|
||||
|
||||
Reference in New Issue
Block a user