33 lines
1.5 KiB
Nim
33 lines
1.5 KiB
Nim
import db_connector/db_sqlite
|
|
|
|
import ../a3pkg/models
|
|
|
|
proc close*(db: DbConn) =
|
|
db.close()
|
|
|
|
proc setupOrders*(db: DbConn) =
|
|
## setupOrders creates the orders table if it does not exist
|
|
db.exec(sql"""
|
|
CREATE TABLE IF NOT EXISTS orders (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
user_id INTEGER NOT NULL REFERENCES users(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
country VARCHAR(255) NOT NULL,
|
|
address VARCHAR(255) NOT NULL,
|
|
state VARCHAR(255) NOT NULL,
|
|
postal_code VARCHAR(255) NOT NULL,
|
|
phone_number VARCHAR(255) NOT NULL,
|
|
product_id INTEGER NOT NULL REFERENCES products(id) ON DELETE CASCADE ON UPDATE CASCADE,
|
|
quantity INTEGER NOT NULL,
|
|
created_at TEXT DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|
updated_at TEXT DEFAULT CURRENT_TIMESTAMP NOT NULL,
|
|
order_status VARCHAR(255) NOT NULL,
|
|
order_date VARCHAR(255) NOT NULL
|
|
);
|
|
""")
|
|
|
|
proc createPost*(db: DbConn, order:Orders): int64 =
|
|
## createPost creates a new post and returns the id of the new post
|
|
result = db.insertID(sql"INSERT INTO orders (user_id, country, address, state, postal_code, phone_number, product_id, quantity, order_status, order_date) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?);", order.userId, order.country, order.address, order.state, order.postalCode, order.phoneNumber, order.productId, order.quantity, order.orderStatus, order.orderDate)
|
|
|
|
proc drop*(db: DbConn) =
|
|
db.exec(sql"DROP TABLE IF EXISTS orders") |