lamassu-server/lib/loyalty.js
Sérgio Salgado 07f15db851 feat: individual discounts migration
feat: loyalty panel routing
chore: rename promo-codes module to loyalty
2021-09-07 17:26:36 +01:00

53 lines
1.5 KiB
JavaScript

const db = require('./db')
const uuid = require('uuid')
function getAvailablePromoCodes () {
const sql = `SELECT * FROM coupons WHERE soft_deleted=false`
return db.any(sql)
}
function getPromoCode (code) {
const sql = `SELECT * FROM coupons WHERE code=$1 AND soft_deleted=false`
return db.oneOrNone(sql, [code])
}
function createPromoCode (code, discount) {
const sql = `INSERT INTO coupons (id, code, discount) VALUES ($1, $2, $3) RETURNING *`
return db.one(sql, [uuid.v4(), code, discount])
}
function deletePromoCode (id) {
const sql = `UPDATE coupons SET soft_deleted=true WHERE id=$1`
return db.none(sql, [id])
}
function getNumberOfAvailablePromoCodes () {
const sql = `SELECT COUNT(id) FROM coupons WHERE soft_deleted=false`
return db.one(sql).then(res => res.count)
}
function getAvailableIndividualDiscounts () {
const sql = `SELECT * from individual_discounts WHERE soft_deleted=false`
return db.any(sql)
}
function createIndividualDiscount (idType, value, discount) {
const sql = `INSERT INTO individual_discounts (id, identification, value, discount) VALUES ($1, $2, $3, $4) RETURNING *`
return db.one(sql, [uuid.v4(), idType, value, discount])
}
function deleteIndividualDiscount (id) {
const sql = `UPDATE individual_discounts SET soft_deleted=true WHERE id=$1`
return db.none(sql, [id])
}
module.exports = {
getAvailablePromoCodes,
getPromoCode,
createPromoCode,
deletePromoCode,
getNumberOfAvailablePromoCodes,
getAvailableIndividualDiscounts,
createIndividualDiscount,
deleteIndividualDiscount
}