Service - Orders

From Izara Wiki
Revision as of 13:21, 13 April 2023 by Sven the Barbarian (talk | contribs) (Created page with "= Overview = Manages submitted orders. = Repository = https://bitbucket.org/izara-market-orders/izara-market-orders-orders = Graph database = == Service - Orders Graph == === Nodes === <syntaxhighlight lang="JavaScript"> { nodeLabel: "{OrderLib.ORDER_GRAPH_NODE_LABEL}", // "order" schema: { identifier: true, restrictProperties: true, restrictRelationships: true, properties: { orderId: { identifier: true, // create unique id from request param...")
(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: {},
			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_cartOrder"
	schema: {
		immutable: true,
		restrictProperties: true,
		properties: {
			originTimestamp: //timestamp the order was made
		},
	}
}
  • Links order to cartOrder used to submit this order

Working documents

Orders