mirror of
https://github.com/lnbits/lnbits-legend.git
synced 2025-02-26 07:31:22 +01:00
824 lines
22 KiB
JavaScript
824 lines
22 KiB
JavaScript
/* globals Quasar, Vue, _, VueQrcode, windowMixin, LNbits, LOCALE */
|
|
|
|
Vue.component(VueQrcode.name, VueQrcode)
|
|
|
|
const pica = window.pica()
|
|
|
|
new Vue({
|
|
el: '#vue',
|
|
mixins: [windowMixin],
|
|
data: function () {
|
|
return {
|
|
products: [],
|
|
orders: [],
|
|
stalls: [],
|
|
zones: [],
|
|
shippedModel: false,
|
|
shippingZoneOptions: [
|
|
'Australia',
|
|
'Austria',
|
|
'Belgium',
|
|
'Brazil',
|
|
'Canada',
|
|
'Denmark',
|
|
'Finland',
|
|
'France*',
|
|
'Germany',
|
|
'Greece',
|
|
'Hong Kong',
|
|
'Hungary',
|
|
'Ireland',
|
|
'Indonesia',
|
|
'Israel',
|
|
'Italy',
|
|
'Japan',
|
|
'Kazakhstan',
|
|
'Korea',
|
|
'Luxembourg',
|
|
'Malaysia',
|
|
'Mexico',
|
|
'Netherlands',
|
|
'New Zealand',
|
|
'Norway',
|
|
'Poland',
|
|
'Portugal',
|
|
'Russia',
|
|
'Saudi Arabia',
|
|
'Singapore',
|
|
'Spain',
|
|
'Sweden',
|
|
'Switzerland',
|
|
'Thailand',
|
|
'Turkey',
|
|
'Ukraine',
|
|
'United Kingdom**',
|
|
'United States***',
|
|
'Vietnam',
|
|
'China'
|
|
],
|
|
categories: [
|
|
'Fashion (clothing and accessories)',
|
|
'Health (and beauty)',
|
|
'Toys (and baby equipment)',
|
|
'Media (Books and CDs)',
|
|
'Groceries (Food and Drink)',
|
|
'Technology (Phones and Computers)',
|
|
'Home (furniture and accessories)',
|
|
'Gifts (flowers, cards, etc)'
|
|
],
|
|
relayOptions: [
|
|
'wss://nostr-relay.herokuapp.com/ws',
|
|
'wss://nostr-relay.bigsun.xyz/ws',
|
|
'wss://freedom-relay.herokuapp.com/ws'
|
|
],
|
|
label: '',
|
|
ordersTable: {
|
|
columns: [
|
|
{
|
|
name: 'product',
|
|
align: 'left',
|
|
label: 'Product',
|
|
field: 'product'
|
|
},
|
|
{
|
|
name: 'quantity',
|
|
align: 'left',
|
|
label: 'Quantity',
|
|
field: 'quantity'
|
|
},
|
|
{
|
|
name: 'address',
|
|
align: 'left',
|
|
label: 'Address',
|
|
field: 'address'
|
|
},
|
|
{
|
|
name: 'invoiceid',
|
|
align: 'left',
|
|
label: 'InvoiceID',
|
|
field: 'invoiceid'
|
|
},
|
|
{name: 'paid', align: 'left', label: 'Paid', field: 'paid'},
|
|
{name: 'shipped', align: 'left', label: 'Shipped', field: 'shipped'}
|
|
],
|
|
pagination: {
|
|
rowsPerPage: 10
|
|
}
|
|
},
|
|
productsTable: {
|
|
columns: [
|
|
{
|
|
name: 'stall',
|
|
align: 'left',
|
|
label: 'Stall',
|
|
field: 'stall'
|
|
},
|
|
{
|
|
name: 'product',
|
|
align: 'left',
|
|
label: 'Product',
|
|
field: 'product'
|
|
},
|
|
{
|
|
name: 'description',
|
|
align: 'left',
|
|
label: 'Description',
|
|
field: 'description'
|
|
},
|
|
{
|
|
name: 'categories',
|
|
align: 'left',
|
|
label: 'Categories',
|
|
field: 'categories'
|
|
},
|
|
{name: 'price', align: 'left', label: 'Price', field: 'price'},
|
|
{
|
|
name: 'quantity',
|
|
align: 'left',
|
|
label: 'Quantity',
|
|
field: 'quantity'
|
|
},
|
|
{name: 'id', align: 'left', label: 'ID', field: 'id'}
|
|
],
|
|
pagination: {
|
|
rowsPerPage: 10
|
|
}
|
|
},
|
|
stallTable: {
|
|
columns: [
|
|
{
|
|
name: 'id',
|
|
align: 'left',
|
|
label: 'ID',
|
|
field: 'id'
|
|
},
|
|
{
|
|
name: 'name',
|
|
align: 'left',
|
|
label: 'Name',
|
|
field: 'name'
|
|
},
|
|
{
|
|
name: 'wallet',
|
|
align: 'left',
|
|
label: 'Wallet',
|
|
field: 'wallet'
|
|
},
|
|
{
|
|
name: 'publickey',
|
|
align: 'left',
|
|
label: 'Public key',
|
|
field: 'publickey'
|
|
},
|
|
{
|
|
name: 'privatekey',
|
|
align: 'left',
|
|
label: 'Private key',
|
|
field: 'privatekey'
|
|
}
|
|
],
|
|
pagination: {
|
|
rowsPerPage: 10
|
|
}
|
|
},
|
|
zonesTable: {
|
|
columns: [
|
|
{
|
|
name: 'id',
|
|
align: 'left',
|
|
label: 'ID',
|
|
field: 'id'
|
|
},
|
|
{
|
|
name: 'countries',
|
|
align: 'left',
|
|
label: 'Countries',
|
|
field: 'countries'
|
|
},
|
|
{
|
|
name: 'cost',
|
|
align: 'left',
|
|
label: 'Cost',
|
|
field: 'cost'
|
|
}
|
|
],
|
|
pagination: {
|
|
rowsPerPage: 10
|
|
}
|
|
},
|
|
productDialog: {
|
|
show: false,
|
|
data: {}
|
|
},
|
|
stallDialog: {
|
|
show: false,
|
|
data: {}
|
|
},
|
|
zoneDialog: {
|
|
show: false,
|
|
data: {}
|
|
},
|
|
shopDialog: {
|
|
show: false,
|
|
data: {activate: false}
|
|
},
|
|
orderDialog: {
|
|
show: false,
|
|
data: {}
|
|
},
|
|
relayDialog: {
|
|
show: false,
|
|
data: {}
|
|
}
|
|
}
|
|
},
|
|
computed: {
|
|
categoryOther: function () {
|
|
cats = trim(this.productDialog.data.categories.split(','))
|
|
for (let i = 0; i < cats.length; i++) {
|
|
if (cats[i] == 'Others') {
|
|
return true
|
|
}
|
|
}
|
|
return false
|
|
}
|
|
},
|
|
methods: {
|
|
////////////////////////////////////////
|
|
////////////////STALLS//////////////////
|
|
////////////////////////////////////////
|
|
getStalls: function () {
|
|
var self = this
|
|
LNbits.api
|
|
.request(
|
|
'GET',
|
|
'/diagonalley/api/v1/stalls?all_wallets',
|
|
this.g.user.wallets[0].inkey
|
|
)
|
|
.then(function (response) {
|
|
self.stalls = response.data.map(function (obj) {
|
|
console.log(obj)
|
|
return mapDiagonAlley(obj)
|
|
})
|
|
})
|
|
},
|
|
openStallUpdateDialog: function (linkId) {
|
|
var self = this
|
|
var link = _.findWhere(self.stalls, {id: linkId})
|
|
|
|
this.stallDialog.data = _.clone(link._data)
|
|
this.stallDialog.show = true
|
|
},
|
|
sendStallFormData: function () {
|
|
if (this.stallDialog.data.id) {
|
|
} else {
|
|
var data = {
|
|
name: this.stallDialog.data.name,
|
|
wallet: this.stallDialog.data.wallet,
|
|
publickey: this.stallDialog.data.publickey,
|
|
privatekey: this.stallDialog.data.privatekey,
|
|
relays: this.stallDialog.data.relays
|
|
}
|
|
}
|
|
|
|
if (this.stallDialog.data.id) {
|
|
this.updateStall(this.stallDialog.data)
|
|
} else {
|
|
this.createStall(data)
|
|
}
|
|
},
|
|
updateStall: function (data) {
|
|
var self = this
|
|
LNbits.api
|
|
.request(
|
|
'PUT',
|
|
'/diagonalley/api/v1/stalls' + data.id,
|
|
_.findWhere(self.g.user.wallets, {
|
|
id: self.stallDialog.data.wallet
|
|
}).inkey,
|
|
_.pick(data, 'name', 'wallet', 'publickey', 'privatekey')
|
|
)
|
|
.then(function (response) {
|
|
self.stalls = _.reject(self.stalls, function (obj) {
|
|
return obj.id == data.id
|
|
})
|
|
self.stalls.push(mapDiagonAlley(response.data))
|
|
self.stallDialog.show = false
|
|
self.stallDialog.data = {}
|
|
data = {}
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
},
|
|
createStall: function (data) {
|
|
var self = this
|
|
LNbits.api
|
|
.request(
|
|
'POST',
|
|
'/diagonalley/api/v1/stalls',
|
|
_.findWhere(self.g.user.wallets, {
|
|
id: self.stallDialog.data.wallet
|
|
}).inkey,
|
|
data
|
|
)
|
|
.then(function (response) {
|
|
self.stalls.push(mapDiagonAlley(response.data))
|
|
self.stallDialog.show = false
|
|
self.stallDialog.data = {}
|
|
data = {}
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
},
|
|
deleteStall: function (stallId) {
|
|
var self = this
|
|
var stall = _.findWhere(self.stalls, {id: stallId})
|
|
|
|
LNbits.utils
|
|
.confirmDialog('Are you sure you want to delete this Stall link?')
|
|
.onOk(function () {
|
|
LNbits.api
|
|
.request(
|
|
'DELETE',
|
|
'/diagonalley/api/v1/stalls/' + stallId,
|
|
_.findWhere(self.g.user.wallets, {id: stall.wallet}).inkey
|
|
)
|
|
.then(function (response) {
|
|
self.stalls = _.reject(self.stalls, function (obj) {
|
|
return obj.id == stallId
|
|
})
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
})
|
|
},
|
|
exportStallsCSV: function () {
|
|
LNbits.utils.exportCSV(this.stallsTable.columns, this.stalls)
|
|
},
|
|
////////////////////////////////////////
|
|
///////////////PRODUCTS/////////////////
|
|
////////////////////////////////////////
|
|
getProducts: function () {
|
|
var self = this
|
|
|
|
LNbits.api
|
|
.request(
|
|
'GET',
|
|
'/diagonalley/api/v1/products?all_stalls',
|
|
this.g.user.wallets[0].inkey
|
|
)
|
|
.then(function (response) {
|
|
self.products = response.data.map(function (obj) {
|
|
return mapDiagonAlley(obj)
|
|
})
|
|
})
|
|
},
|
|
openProductUpdateDialog: function (linkId) {
|
|
var self = this
|
|
var link = _.findWhere(self.products, {id: linkId})
|
|
|
|
self.productDialog.data = _.clone(link._data)
|
|
self.productDialog.show = true
|
|
},
|
|
sendProductFormData: function () {
|
|
if (this.productDialog.data.id) {
|
|
} else {
|
|
var data = {
|
|
product: this.productDialog.data.product,
|
|
categories:
|
|
this.productDialog.data.categories +
|
|
this.productDialog.categoriesextra,
|
|
description: this.productDialog.data.description,
|
|
image: this.productDialog.data.image,
|
|
price: this.productDialog.data.price,
|
|
quantity: this.productDialog.data.quantity
|
|
}
|
|
}
|
|
if (this.productDialog.data.id) {
|
|
this.updateProduct(this.productDialog.data)
|
|
} else {
|
|
this.createProduct(data)
|
|
}
|
|
},
|
|
imageAdded(file) {
|
|
let blobURL = URL.createObjectURL(file)
|
|
let image = new Image()
|
|
image.src = blobURL
|
|
image.onload = async () => {
|
|
let canvas = document.createElement('canvas')
|
|
canvas.setAttribute('width', 100)
|
|
canvas.setAttribute('height', 100)
|
|
await pica.resize(image, canvas, {
|
|
quality: 0,
|
|
alpha: true,
|
|
unsharpAmount: 95,
|
|
unsharpRadius: 0.9,
|
|
unsharpThreshold: 70
|
|
})
|
|
this.productDialog.data.image = canvas.toDataURL()
|
|
this.productDialog = {...this.productDialog}
|
|
}
|
|
},
|
|
imageCleared() {
|
|
this.productDialog.data.image = null
|
|
this.productDialog = {...this.productDialog}
|
|
},
|
|
updateProduct: function (data) {
|
|
var self = this
|
|
LNbits.api
|
|
.request(
|
|
'PUT',
|
|
'/diagonalley/api/v1/products' + data.id,
|
|
_.findWhere(self.g.user.wallets, {
|
|
id: self.productDialog.data.wallet
|
|
}).inkey,
|
|
_.pick(
|
|
data,
|
|
'shopname',
|
|
'relayaddress',
|
|
'shippingzone1',
|
|
'zone1cost',
|
|
'shippingzone2',
|
|
'zone2cost',
|
|
'email'
|
|
)
|
|
)
|
|
.then(function (response) {
|
|
self.products = _.reject(self.products, function (obj) {
|
|
return obj.id == data.id
|
|
})
|
|
self.products.push(mapDiagonAlley(response.data))
|
|
self.productDialog.show = false
|
|
self.productDialog.data = {}
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
},
|
|
createProduct: function (data) {
|
|
var self = this
|
|
LNbits.api
|
|
.request(
|
|
'POST',
|
|
'/diagonalley/api/v1/products',
|
|
_.findWhere(self.g.user.wallets, {
|
|
id: self.productDialog.data.wallet
|
|
}).inkey,
|
|
data
|
|
)
|
|
.then(function (response) {
|
|
self.products.push(mapDiagonAlley(response.data))
|
|
self.productDialog.show = false
|
|
self.productDialog.data = {}
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
},
|
|
deleteProduct: function (productId) {
|
|
var self = this
|
|
var product = _.findWhere(this.products, {id: productId})
|
|
|
|
LNbits.utils
|
|
.confirmDialog('Are you sure you want to delete this products link?')
|
|
.onOk(function () {
|
|
LNbits.api
|
|
.request(
|
|
'DELETE',
|
|
'/diagonalley/api/v1/products/' + productId,
|
|
_.findWhere(self.g.user.wallets, {id: product.wallet}).inkey
|
|
)
|
|
.then(function (response) {
|
|
self.products = _.reject(self.products, function (obj) {
|
|
return obj.id == productId
|
|
})
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
})
|
|
},
|
|
exportProductsCSV: function () {
|
|
LNbits.utils.exportCSV(this.productsTable.columns, this.products)
|
|
},
|
|
////////////////////////////////////////
|
|
//////////////////ZONE//////////////////
|
|
////////////////////////////////////////
|
|
getZones: function () {
|
|
var self = this
|
|
|
|
LNbits.api
|
|
.request(
|
|
'GET',
|
|
'/diagonalley/api/v1/zones?all_wallets',
|
|
this.g.user.wallets[0].inkey
|
|
)
|
|
.then(function (response) {
|
|
self.zones = response.data.map(function (obj) {
|
|
return mapDiagonAlley(obj)
|
|
})
|
|
})
|
|
},
|
|
openZoneUpdateDialog: function (linkId) {
|
|
var self = this
|
|
var link = _.findWhere(self.zones, {id: linkId})
|
|
|
|
this.zoneDialog.data = _.clone(link._data)
|
|
this.zoneDialog.show = true
|
|
},
|
|
sendZoneFormData: function () {
|
|
if (this.zoneDialog.data.id) {
|
|
} else {
|
|
var data = {
|
|
countries: toString(this.zoneDialog.data.countries),
|
|
cost: parseInt(this.zoneDialog.data.cost)
|
|
}
|
|
}
|
|
|
|
if (this.zoneDialog.data.id) {
|
|
this.updateZone(this.zoneDialog.data)
|
|
} else {
|
|
this.createZone(data)
|
|
}
|
|
},
|
|
updateZone: function (data) {
|
|
var self = this
|
|
LNbits.api
|
|
.request(
|
|
'PUT',
|
|
'/diagonalley/api/v1/zones' + data.id,
|
|
_.findWhere(self.g.user.wallets, {
|
|
id: self.zoneDialog.data.wallet
|
|
}).inkey,
|
|
_.pick(data, 'countries', 'cost')
|
|
)
|
|
.then(function (response) {
|
|
self.zones = _.reject(self.zones, function (obj) {
|
|
return obj.id == data.id
|
|
})
|
|
self.zones.push(mapDiagonAlley(response.data))
|
|
self.zoneDialog.show = false
|
|
self.zoneDialog.data = {}
|
|
data = {}
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
},
|
|
createZone: function (data) {
|
|
var self = this
|
|
console.log(self.g.user.wallets[0])
|
|
console.log(data)
|
|
LNbits.api
|
|
.request(
|
|
'POST',
|
|
'/diagonalley/api/v1/zones',
|
|
self.g.user.wallets[0].inkey,
|
|
data
|
|
)
|
|
.then(function (response) {
|
|
self.zones.push(mapDiagonAlley(response.data))
|
|
self.zoneDialog.show = false
|
|
self.zoneDialog.data = {}
|
|
data = {}
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
},
|
|
deleteZone: function (zoneId) {
|
|
var self = this
|
|
var zone = _.findWhere(self.zones, {id: zoneId})
|
|
|
|
LNbits.utils
|
|
.confirmDialog('Are you sure you want to delete this Zone link?')
|
|
.onOk(function () {
|
|
LNbits.api
|
|
.request(
|
|
'DELETE',
|
|
'/diagonalley/api/v1/zones/' + zoneId,
|
|
_.findWhere(self.g.user.wallets, {id: zone.wallet}).inkey
|
|
)
|
|
.then(function (response) {
|
|
self.zones = _.reject(self.zones, function (obj) {
|
|
return obj.id == zoneId
|
|
})
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
})
|
|
},
|
|
exportZonesCSV: function () {
|
|
LNbits.utils.exportCSV(this.zonesTable.columns, this.zones)
|
|
},
|
|
////////////////////////////////////////
|
|
//////////////////SHOP//////////////////
|
|
////////////////////////////////////////
|
|
getShops: function () {
|
|
var self = this
|
|
|
|
LNbits.api
|
|
.request(
|
|
'GET',
|
|
'/diagonalley/api/v1/shops?all_wallets',
|
|
this.g.user.wallets[0].inkey
|
|
)
|
|
.then(function (response) {
|
|
self.shops = response.data.map(function (obj) {
|
|
return mapDiagonAlley(obj)
|
|
})
|
|
})
|
|
},
|
|
openShopUpdateDialog: function (linkId) {
|
|
var self = this
|
|
var link = _.findWhere(self.shops, {id: linkId})
|
|
|
|
this.shopDialog.data = _.clone(link._data)
|
|
this.shopDialog.show = true
|
|
},
|
|
sendShopFormData: function () {
|
|
if (this.shopDialog.data.id) {
|
|
} else {
|
|
var data = {
|
|
countries: this.shopDialog.data.countries,
|
|
cost: this.shopDialog.data.cost
|
|
}
|
|
}
|
|
|
|
if (this.shopDialog.data.id) {
|
|
this.updateZone(this.shopDialog.data)
|
|
} else {
|
|
this.createZone(data)
|
|
}
|
|
},
|
|
updateShop: function (data) {
|
|
var self = this
|
|
LNbits.api
|
|
.request(
|
|
'PUT',
|
|
'/diagonalley/api/v1/shops' + data.id,
|
|
_.findWhere(self.g.user.wallets, {
|
|
id: self.shopDialog.data.wallet
|
|
}).inkey,
|
|
_.pick(data, 'countries', 'cost')
|
|
)
|
|
.then(function (response) {
|
|
self.shops = _.reject(self.shops, function (obj) {
|
|
return obj.id == data.id
|
|
})
|
|
self.shops.push(mapDiagonAlley(response.data))
|
|
self.shopDialog.show = false
|
|
self.shopDialog.data = {}
|
|
data = {}
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
},
|
|
createShop: function (data) {
|
|
var self = this
|
|
console.log('cuntywoo')
|
|
LNbits.api
|
|
.request(
|
|
'POST',
|
|
'/diagonalley/api/v1/shops',
|
|
_.findWhere(self.g.user.wallets, {
|
|
id: self.shopDialog.data.wallet
|
|
}).inkey,
|
|
data
|
|
)
|
|
.then(function (response) {
|
|
self.shops.push(mapDiagonAlley(response.data))
|
|
self.shopDialog.show = false
|
|
self.shopDialog.data = {}
|
|
data = {}
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
},
|
|
deleteShop: function (shopId) {
|
|
var self = this
|
|
var shop = _.findWhere(self.shops, {id: shopId})
|
|
|
|
LNbits.utils
|
|
.confirmDialog('Are you sure you want to delete this Shop link?')
|
|
.onOk(function () {
|
|
LNbits.api
|
|
.request(
|
|
'DELETE',
|
|
'/diagonalley/api/v1/shops/' + shopId,
|
|
_.findWhere(self.g.user.wallets, {id: shop.wallet}).inkey
|
|
)
|
|
.then(function (response) {
|
|
self.shops = _.reject(self.shops, function (obj) {
|
|
return obj.id == shopId
|
|
})
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
})
|
|
},
|
|
exportShopsCSV: function () {
|
|
LNbits.utils.exportCSV(this.shopsTable.columns, this.shops)
|
|
},
|
|
////////////////////////////////////////
|
|
////////////////ORDERS//////////////////
|
|
////////////////////////////////////////
|
|
getOrders: function () {
|
|
var self = this
|
|
|
|
LNbits.api
|
|
.request(
|
|
'GET',
|
|
'/diagonalley/api/v1/orders?all_wallets',
|
|
this.g.user.wallets[0].inkey
|
|
)
|
|
.then(function (response) {
|
|
self.orders = response.data.map(function (obj) {
|
|
return mapDiagonAlley(obj)
|
|
})
|
|
})
|
|
},
|
|
createOrder: function () {
|
|
var data = {
|
|
address: this.orderDialog.data.address,
|
|
email: this.orderDialog.data.email,
|
|
quantity: this.orderDialog.data.quantity,
|
|
shippingzone: this.orderDialog.data.shippingzone
|
|
}
|
|
var self = this
|
|
|
|
LNbits.api
|
|
.request(
|
|
'POST',
|
|
'/diagonalley/api/v1/orders',
|
|
_.findWhere(self.g.user.wallets, {id: self.orderDialog.data.wallet})
|
|
.inkey,
|
|
data
|
|
)
|
|
.then(function (response) {
|
|
self.orders.push(mapDiagonAlley(response.data))
|
|
self.orderDialog.show = false
|
|
self.orderDialog.data = {}
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
},
|
|
deleteOrder: function (orderId) {
|
|
var self = this
|
|
var order = _.findWhere(self.orders, {id: orderId})
|
|
|
|
LNbits.utils
|
|
.confirmDialog('Are you sure you want to delete this order link?')
|
|
.onOk(function () {
|
|
LNbits.api
|
|
.request(
|
|
'DELETE',
|
|
'/diagonalley/api/v1/orders/' + orderId,
|
|
_.findWhere(self.g.user.wallets, {id: order.wallet}).inkey
|
|
)
|
|
.then(function (response) {
|
|
self.orders = _.reject(self.orders, function (obj) {
|
|
return obj.id == orderId
|
|
})
|
|
})
|
|
.catch(function (error) {
|
|
LNbits.utils.notifyApiError(error)
|
|
})
|
|
})
|
|
},
|
|
shipOrder: function (order_id) {
|
|
var self = this
|
|
|
|
LNbits.api
|
|
.request(
|
|
'GET',
|
|
'/diagonalley/api/v1/orders/shipped/' + order_id,
|
|
this.g.user.wallets[0].inkey
|
|
)
|
|
.then(function (response) {
|
|
self.orders = response.data.map(function (obj) {
|
|
return mapDiagonAlley(obj)
|
|
})
|
|
})
|
|
},
|
|
exportOrdersCSV: function () {
|
|
LNbits.utils.exportCSV(this.ordersTable.columns, this.orders)
|
|
}
|
|
},
|
|
created: function () {
|
|
if (this.g.user.wallets.length) {
|
|
this.getStalls()
|
|
this.getProducts()
|
|
this.getZones()
|
|
this.getOrders()
|
|
}
|
|
}
|
|
})
|