Creating database models

This commit is contained in:
vinchent 2024-08-06 22:07:34 +02:00
parent 00a2d639f5
commit d32667acd1
3 changed files with 54 additions and 0 deletions

View File

@ -32,6 +32,58 @@ type Widget struct {
Price int `json:"price"` Price int `json:"price"`
CreatedAt time.Time `json:"-"` CreatedAt time.Time `json:"-"`
UpdatedAt time.Time `json:"-"` UpdatedAt time.Time `json:"-"`
Image string `json:"image"`
}
// Order is the type for all orders
type Order struct {
ID int `json:"id"`
WidgetID int `json:"widget_id"`
TransactionID int `json:"transaction_id"`
StatusID int `json:"status_id"`
Quantity int `json:"quantity"`
Amount int `json:"amount"`
CreatedAt time.Time `json:"-"`
UpdatedAt time.Time `json:"-"`
}
// Status is the type for orders statuses
type Status struct {
ID int `json:"id"`
Name string `json:"name"`
CreatedAt time.Time `json:"-"`
UpdatedAt time.Time `json:"-"`
}
// TransactionStatus is the type for transaction statuses
type TransactionStatus struct {
ID int `json:"id"`
Name string `json:"name"`
CreatedAt time.Time `json:"-"`
UpdatedAt time.Time `json:"-"`
}
// Transaction is the type for transactions
type Transaction struct {
ID int `json:"id"`
Amount int `json:"amount"`
Currency string `json:"currency"`
LastFour string `json:"last_four"`
BankReturnCode string `json:bank_return_code`
TransactionStatusID int `json:transaction_status_id`
CreatedAt time.Time `json:"-"`
UpdatedAt time.Time `json:"-"`
}
// User is the type for users
type User struct {
ID int `json:"id"`
FirstName string `json:"first_name"`
LastName string `json:"last_name"`
Email string `json:"email"`
Password string `json:"password"`
CreatedAt time.Time `json:"-"`
UpdatedAt time.Time `json:"-"`
} }
func (m *DBModel) GetWidget(id int) (Widget, error) { func (m *DBModel) GetWidget(id int) (Widget, error) {

View File

@ -0,0 +1 @@
drop_column("widgets", "image")

View File

@ -0,0 +1 @@
add_column("widgets", "image", "string", {"default":""})