Пример #1
0
 .then(() => {
     return businessNetworkConnection.submitTransaction(createNew)
     .then(() => {console.log(' order '+orderNo+' successfully added');
         res.send({'result': ' order '+orderNo+' successfully added'});
     })
     .catch((error) => {
         if (error.message.search('MVCC_READ_CONFLICT') !== -1)
             {console.log(orderNo+' retrying assetRegistry.add for: '+orderNo);
             svc.loadTransaction(req.app.locals, createNew, orderNo, businessNetworkConnection);
         }
         else
         {console.log(orderNo+' submitTransaction failed with text: ',error.message);}
     });
 })
Пример #2
0
 it('should bind an identity and make the identity available for transaction processor functions', async function () {
     const identityName = uuid.v4();
     const cardName = `${identityName}@systest-identities`;
     const { certificate, privateKey } = getNextIdentity();
     await client.bindIdentity(participant, certificate);
     const card = new IdCard({ businessNetwork: 'systest-identities', userName: identityName }, TestUtil.getCurrentConnectionProfile());
     card.setCredentials({ certificate, privateKey });
     const admin = new AdminConnection({ cardStore });
     await admin.importCard(cardName, card);
     client = new BusinessNetworkConnection({ cardStore });
     await client.connect(cardName);
     const factory = client.getBusinessNetwork().getFactory();
     const transaction = factory.newTransaction('systest.identities', 'TestGetCurrentIdentity');
     await client.submitTransaction(transaction);
 });
Пример #3
0
            .then((order) => {
                let factory = businessNetworkConnection.getBusinessNetwork().getFactory();
                order.status = req.body.action;
                switch (req.body.action)
                {
                case 'Pay':
                    console.log('Pay entered');
                    updateOrder = factory.newTransaction(NS, 'Pay');
                    updateOrder.financeCo = factory.newRelationship(NS, 'FinanceCo', financeCoID);
                    updateOrder.seller = factory.newRelationship(NS, 'Seller', order.seller.$identifier);
                    break;
                case 'Dispute':
                    console.log('Dispute entered');
                    updateOrder = factory.newTransaction(NS, 'Dispute');
                    updateOrder.financeCo = factory.newRelationship(NS, 'FinanceCo', financeCoID);
                    updateOrder.buyer = factory.newRelationship(NS, 'Buyer', order.buyer.$identifier);
                    updateOrder.seller = factory.newRelationship(NS, 'Seller', order.seller.$identifier);
                    updateOrder.dispute = req.body.reason;
                    break;
                case 'Purchase':
                    console.log('Purchase entered');
                    updateOrder = factory.newTransaction(NS, 'Buy');
                    updateOrder.buyer = factory.newRelationship(NS, 'Buyer', order.buyer.$identifier);
                    updateOrder.seller = factory.newRelationship(NS, 'Seller', order.seller.$identifier);
                    break;
                case 'Order From Supplier':
                    console.log('Order from Supplier entered for '+order.orderNumber+ ' inbound id: '+ req.body.participant+' with order.seller as: '+order.seller.$identifier);
                    updateOrder = factory.newTransaction(NS, 'OrderFromSupplier');
                    updateOrder.provider = factory.newRelationship(NS, 'Provider', req.body.provider);
                    updateOrder.seller = factory.newRelationship(NS, 'Seller', order.seller.$identifier);
                    break;
                case 'Request Payment':
                    console.log('Request Payment entered');
                    updateOrder = factory.newTransaction(NS, 'RequestPayment');
                    updateOrder.seller = factory.newRelationship(NS, 'Seller', order.seller.$identifier);
                    updateOrder.financeCo = factory.newRelationship(NS, 'FinanceCo', financeCoID);
                    break;
                case 'Refund':
                    console.log('Refund Payment entered');
                    updateOrder = factory.newTransaction(NS, 'Refund');
                    updateOrder.seller = factory.newRelationship(NS, 'Seller', order.seller.$identifier);
                    updateOrder.financeCo = factory.newRelationship(NS, 'FinanceCo', financeCoID);
                    updateOrder.refund = req.body.reason;
                    break;
                case 'Resolve':
                    console.log('Resolve entered');
                    updateOrder = factory.newTransaction(NS, 'Resolve');
                    updateOrder.buyer = factory.newRelationship(NS, 'Buyer', order.buyer.$identifier);
                    updateOrder.shipper = factory.newRelationship(NS, 'Shipper', order.shipper.$identifier);
                    updateOrder.provider = factory.newRelationship(NS, 'Provider', order.provider.$identifier);
                    updateOrder.seller = factory.newRelationship(NS, 'Seller', order.seller.$identifier);
                    updateOrder.financeCo = factory.newRelationship(NS, 'FinanceCo', financeCoID);
                    updateOrder.resolve = req.body.reason;
                    break;
                case 'Request Shipping':
                    console.log('Request Shipping entered');
                    updateOrder = factory.newTransaction(NS, 'RequestShipping');
                    updateOrder.shipper = factory.newRelationship(NS, 'Shipper', req.body.shipper);
                    updateOrder.provider = factory.newRelationship(NS, 'Provider', order.provider.$identifier);
                    break;
                case 'Update Delivery Status':
                    console.log('Update Delivery Status');
                    updateOrder = factory.newTransaction(NS, 'Delivering');
                    updateOrder.shipper = factory.newRelationship(NS, 'Shipper', req.body.participant);
                    updateOrder.deliveryStatus = req.body.delivery;
                    break;
                case 'Delivered':
                    console.log('Delivered entered');
                    updateOrder = factory.newTransaction(NS, 'Deliver');
                    updateOrder.shipper = factory.newRelationship(NS, 'Shipper', req.body.participant);
                    break;
                case 'BackOrder':
                    console.log('BackOrder entered');
                    updateOrder = factory.newTransaction(NS, 'BackOrder');
                    updateOrder.backorder = req.body.reason;
                    updateOrder.provider = factory.newRelationship(NS, 'Provider', order.provider.$identifier);
                    updateOrder.backorder = req.body.reason;
                    break;
                case 'Authorize Payment':
                    console.log('Authorize Payment entered');
                    updateOrder = factory.newTransaction(NS, 'AuthorizePayment');
                    updateOrder.buyer = factory.newRelationship(NS, 'Buyer', order.buyer.$identifier);
                    updateOrder.financeCo = factory.newRelationship(NS, 'FinanceCo', financeCoID);
                    break;
                case 'Cancel':
                    console.log('Cancel entered');
                    updateOrder = factory.newTransaction(NS, 'OrderCancel');
                    updateOrder.buyer = factory.newRelationship(NS, 'Buyer', order.buyer.$identifier);
                    updateOrder.seller = factory.newRelationship(NS, 'Seller', order.seller.$identifier);
                    break;
                default :
                    console.log('default entered for action: '+req.body.action);
                    res.send({'result': 'failed', 'error':' order '+req.body.orderNo+' unrecognized request: '+req.body.action});
                }
                updateOrder.order = factory.newRelationship(NS, 'Order', order.$identifier);
                return businessNetworkConnection.submitTransaction(updateOrder)
                .then(() => {
                    console.log(' order '+req.body.orderNo+' successfully updated to '+req.body.action);
                    res.send({'result': ' order '+req.body.orderNo+' successfully updated to '+req.body.action});
                })
                .catch((error) => {
                    if (error.message.search('MVCC_READ_CONFLICT') !== -1)
                        {console.log(' retrying assetRegistry.update for: '+req.body.orderNo);
                        svc.loadTransaction(req.app.locals, updateOrder, req.body.orderNo, businessNetworkConnection);
                    }
                    else
                    {console.log(req.body.orderNo+' submitTransaction to update status to '+req.body.action+' failed with text: ',error.message);}
                });

            })