summaryrefslogtreecommitdiff
path: root/db
diff options
context:
space:
mode:
authorJules Laplace <jules@okfoc.us>2017-04-21 16:03:11 -0400
committerJules Laplace <jules@okfoc.us>2017-04-21 16:03:11 -0400
commitef83dba4a83e23e38b67ee31b79e79c9e25a003d (patch)
treebe0e65ee556d215796f6c64e3df7d8adb5c51554 /db
parent5028ad81845308f3b1954dcc1fde664077fa0fa9 (diff)
display orders per product, download as csv
Diffstat (limited to 'db')
-rw-r--r--db/bookshelf.js4
-rw-r--r--db/index.js45
2 files changed, 40 insertions, 9 deletions
diff --git a/db/bookshelf.js b/db/bookshelf.js
index 00a0614..5730923 100644
--- a/db/bookshelf.js
+++ b/db/bookshelf.js
@@ -1,5 +1,5 @@
-re('knex')({
- client: 'postgresql',
+var knex = require('knex')({
+ client: 'mysql',
connection: {
host : process.env.DB_HOST,
user : process.env.DB_USER,
diff --git a/db/index.js b/db/index.js
index 6124e31..a13ac8e 100644
--- a/db/index.js
+++ b/db/index.js
@@ -1,5 +1,6 @@
var db = module.exports
+var _ = require('lodash')
var connection = require("./bookshelf")
var bookshelf = connection.bookshelf
var knex = connection.knex
@@ -12,15 +13,45 @@ var Order = bookshelf.Model.extend({ tableName: 'cw_orders' })
var Product = bookshelf.Model.extend({ tableName: 'cw_products' })
var SKU = bookshelf.Model.extend({ tableName: 'cw_skus' })
-/* PICTURES */
+/* METHODS */
-db.createUser = function(data){
- return new db.User(data).save()
-}
-db.getUsers = function (callback) {
- return User.query(function(qb){
- qb.orderBy("id", "desc")
+db.products = function () {
+ return Product.query(function(qb){
+ qb.orderBy("product_name", "asc")
}).fetchAll()
}
+db.ordersBySku = function (sku) {
+ return new Promise(function (resolve, reject){
+ console.log(sku)
+ SKU.where('sku_merchant_sku_id', sku).fetchAll().then(function(skus){
+ if (! skus.length) {
+ return resolve([])
+ }
+ var sku = skus.at(0)
+ var sku_id = sku.get('sku_id')
+ OrderSKU.where('ordersku_sku', sku_id).fetchAll({ columns: 'ordersku_order_id' }).then(function(ordersku_ids){
+ var order_ids = ordersku_ids.map(function(el){ return el.get('ordersku_order_id') })
+ Order.where('order_id', 'in', order_ids).fetchAll().then(function(orders){
+ resolve(orders)
+ })
+ })
+ })
+ })
+}
+
+/*
+
+# cw_products
+# 0 id 1 sku 2 product_name
+
+# cw_skus
+# 0 sku_id 1 sku 2 product_id
+
+# cw_orders
+# 0 order_id 1 date 2 status 3 customer_id
+
+# cw_order_skus
+# 0 id 1 order_id 2 sku_id
+*/ \ No newline at end of file