214 lines
6.9 KiB
Go
214 lines
6.9 KiB
Go
// Code generated by sqlc. DO NOT EDIT.
|
|
// versions:
|
|
// sqlc v1.17.2
|
|
|
|
package db
|
|
|
|
import (
|
|
"database/sql"
|
|
"database/sql/driver"
|
|
"encoding/json"
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/google/uuid"
|
|
"github.com/tabbed/pqtype"
|
|
)
|
|
|
|
type StockLogsType string
|
|
|
|
const (
|
|
StockLogsTypeIn StockLogsType = "in"
|
|
StockLogsTypeOut StockLogsType = "out"
|
|
)
|
|
|
|
func (e *StockLogsType) Scan(src interface{}) error {
|
|
switch s := src.(type) {
|
|
case []byte:
|
|
*e = StockLogsType(s)
|
|
case string:
|
|
*e = StockLogsType(s)
|
|
default:
|
|
return fmt.Errorf("unsupported scan type for StockLogsType: %T", src)
|
|
}
|
|
return nil
|
|
}
|
|
|
|
type NullStockLogsType struct {
|
|
StockLogsType StockLogsType
|
|
Valid bool // Valid is true if StockLogsType is not NULL
|
|
}
|
|
|
|
// Scan implements the Scanner interface.
|
|
func (ns *NullStockLogsType) Scan(value interface{}) error {
|
|
if value == nil {
|
|
ns.StockLogsType, ns.Valid = "", false
|
|
return nil
|
|
}
|
|
ns.Valid = true
|
|
return ns.StockLogsType.Scan(value)
|
|
}
|
|
|
|
// Value implements the driver Valuer interface.
|
|
func (ns NullStockLogsType) Value() (driver.Value, error) {
|
|
if !ns.Valid {
|
|
return nil, nil
|
|
}
|
|
return string(ns.StockLogsType), nil
|
|
}
|
|
|
|
type Customer struct {
|
|
ID uuid.UUID `json:"id"`
|
|
IndexID int64 `json:"index_id"`
|
|
MerchantID uuid.UUID `json:"merchant_id"`
|
|
Name string `json:"name"`
|
|
Detail []json.RawMessage `json:"detail"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
}
|
|
|
|
type Merchant struct {
|
|
ID uuid.UUID `json:"id"`
|
|
IndexID int64 `json:"index_id"`
|
|
Name string `json:"name"`
|
|
OwnerID uuid.UUID `json:"owner_id"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
}
|
|
|
|
type Product struct {
|
|
ID uuid.UUID `json:"id"`
|
|
MerchantID uuid.UUID `json:"merchant_id"`
|
|
ProductTypeID int16 `json:"product_type_id"`
|
|
IndexID int64 `json:"index_id"`
|
|
Name string `json:"name"`
|
|
SellingPrice float64 `json:"selling_price"`
|
|
PurchasePrice float64 `json:"purchase_price"`
|
|
Stock float64 `json:"stock"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
ProductCategoryID uuid.UUID `json:"product_category_id"`
|
|
Image sql.NullString `json:"image"`
|
|
}
|
|
|
|
type ProductCategory struct {
|
|
ID uuid.UUID `json:"id"`
|
|
MerchantID uuid.UUID `json:"merchant_id"`
|
|
IndexID int64 `json:"index_id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
type ProductType struct {
|
|
ID int16 `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
type PurchaseOrder struct {
|
|
ID uuid.UUID `json:"id"`
|
|
SupplierID uuid.UUID `json:"supplier_id"`
|
|
MerchantID uuid.UUID `json:"merchant_id"`
|
|
IndexID int64 `json:"index_id"`
|
|
CreatedBy uuid.UUID `json:"created_by"`
|
|
Code sql.NullString `json:"code"`
|
|
IsPaid bool `json:"is_paid"`
|
|
Total float64 `json:"total"`
|
|
PaidNominal float64 `json:"paid_nominal"`
|
|
Note sql.NullString `json:"note"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
}
|
|
|
|
type PurchaseOrderDetail struct {
|
|
ID uuid.UUID `json:"id"`
|
|
IndexID int64 `json:"index_id"`
|
|
Code sql.NullString `json:"code"`
|
|
MerchantID uuid.UUID `json:"merchant_id"`
|
|
PurchaseOrderID uuid.UUID `json:"purchase_order_id"`
|
|
ProductID uuid.UUID `json:"product_id"`
|
|
Quantity float64 `json:"quantity"`
|
|
SubTotal float64 `json:"sub_total"`
|
|
ProductPrice float64 `json:"product_price"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
}
|
|
|
|
type SaleOrder struct {
|
|
ID uuid.UUID `json:"id"`
|
|
IndexID int64 `json:"index_id"`
|
|
Code string `json:"code"`
|
|
CreatedBy uuid.UUID `json:"created_by"`
|
|
MerchantID uuid.UUID `json:"merchant_id"`
|
|
CustomerID uuid.NullUUID `json:"customer_id"`
|
|
IsPaid bool `json:"is_paid"`
|
|
Total float64 `json:"total"`
|
|
PaidNominal float64 `json:"paid_nominal"`
|
|
Note sql.NullString `json:"note"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
IsKeep bool `json:"is_keep"`
|
|
Change float64 `json:"change"`
|
|
}
|
|
|
|
type SaleOrderDetail struct {
|
|
ID uuid.UUID `json:"id"`
|
|
IndexID int64 `json:"index_id"`
|
|
SaleOrderID uuid.UUID `json:"sale_order_id"`
|
|
ProductID uuid.UUID `json:"product_id"`
|
|
ProductName string `json:"product_name"`
|
|
Quantity float64 `json:"quantity"`
|
|
SubTotal float64 `json:"sub_total"`
|
|
ProductPrice float64 `json:"product_price"`
|
|
Profit float64 `json:"profit"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
}
|
|
|
|
type StockLog struct {
|
|
ID uuid.UUID `json:"id"`
|
|
IndexID int64 `json:"index_id"`
|
|
MerchantID uuid.UUID `json:"merchant_id"`
|
|
ProductID uuid.UUID `json:"product_id"`
|
|
CreatedBy uuid.UUID `json:"created_by"`
|
|
TransactionID uuid.NullUUID `json:"transaction_id"`
|
|
TransactionActionType string `json:"transaction_action_type"`
|
|
TransactionDescription string `json:"transaction_description"`
|
|
Type StockLogsType `json:"type"`
|
|
SellingPrice float64 `json:"selling_price"`
|
|
PurchasePrice float64 `json:"purchase_price"`
|
|
Quantity float64 `json:"quantity"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
}
|
|
|
|
type Supplier struct {
|
|
ID uuid.UUID `json:"id"`
|
|
IndexID int64 `json:"index_id"`
|
|
MerchantID uuid.UUID `json:"merchant_id"`
|
|
Name string `json:"name"`
|
|
Detail pqtype.NullRawMessage `json:"detail"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
}
|
|
|
|
type User struct {
|
|
ID uuid.UUID `json:"id"`
|
|
IndexID int64 `json:"index_id"`
|
|
Email string `json:"email"`
|
|
Password string `json:"password"`
|
|
Fullname string `json:"fullname"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
UpdatedAt sql.NullTime `json:"updated_at"`
|
|
}
|
|
|
|
type UserSession struct {
|
|
ID uuid.UUID `json:"id"`
|
|
IndexID int64 `json:"index_id"`
|
|
Email string `json:"email"`
|
|
RefreshToken string `json:"refresh_token"`
|
|
UserAgent string `json:"user_agent"`
|
|
ClientIp string `json:"client_ip"`
|
|
IsBlocked bool `json:"is_blocked"`
|
|
ExpiresAt time.Time `json:"expires_at"`
|
|
CreatedAt sql.NullTime `json:"created_at"`
|
|
}
|