Service - Orders

From Izara Wiki
Revision as of 09:21, 17 April 2023 by Sven the Barbarian (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

Working documents

Orders