Service - Orders
Revision as of 09:21, 17 April 2023 by Sven the Barbarian (talk | contribs)
Overview
Manages submitted orders.
Repository
https://bitbucket.org/izara-market-orders/izara-market-orders-orders
Graph database
Service - Orders Graph
Nodes
{
nodeLabel: "{OrderLib.ORDER_GRAPH_NODE_LABEL}", // "order"
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
orderId: {
identifier: true, // create unique id from request params and uniqueMessageId
},
totalQuantity: {},
totalValue: {},
currencyId: {},
orderStatus: {}, // validating|valid
sellerStatus: {}, // processing|shipped|delivered
timeOfOrder: {}, // date order submitted
},
}
}
{
nodeLabel: "{OrderLib.ORDER_SELLOFFERLINK_GRAPH_NODE_LABEL}", // "orderSellOfferLink"
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
orderSellOfferLinkId: {
identifier: true, // create unique id from request params and uniqueMessageId
},
quantity: {},
price: {},
subTotal: {}
},
}
}
Relationships
{
relationshipType: "{OrderLib.createPlacedOrderGraphRelationshipType()}", // "placed_order"
schema: {
immutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the order was made
},
}
}
- links an order to the buyer
{
relationshipType: "{OrderLib.createSoldOrderGraphRelationshipType()}", // "sold_order"
schema: {
immutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the order was made
},
}
}
- links an order to the seller
{
relationshipType: "{OrderLib.createOrderPaymentMethodGraphRelationshipType()}", // "order_paymentMethod"
schema: {
immutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the order was made
},
}
}
- links an order to paymentMethod used
{
relationshipType: "{OrderLib.createOrderDeliveryMethodGraphRelationshipType()}", // "order_deliveryMethod"
schema: {
immutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the order was made
},
}
}
- links an order to deliveryMethod used
{
relationshipType: "{OrderLib.createOrderShipToAddressGraphRelationshipType()}", // "order_shipToAddress"
schema: {
immutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the order was made
},
}
}
- links an order to the ship to address used
{
relationshipType: "{OrderLib.createHasOrderSellOfferLinkGraphRelationshipType()}", // "has_orderSellOfferLink"
schema: {
immutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the order was made
},
}
}
{
relationshipType: "{OrderLib.createOrderSellOfferLinkIsSellOfferGraphRelationshipType()}", // "orderSellOfferLinkIs_sellOffer"
schema: {
immutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the order was made
},
}
}
- Links orderSellOfferLink to one sellOffer
{
relationshipType: "{OrderLib.createFromCartOrderGraphRelationshipType()}", // "from_cart"
schema: {
immutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the order was made
},
}
}
- Links order to cart used to submit this order