Service - Sell Offer Standard: Difference between revisions
Jump to navigation
Jump to search
(→Nodes) |
No edit summary |
||
Line 78: | Line 78: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Relationships === | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
relationshipType: "hasSellOffer", | |||
schema: { | |||
elementCanBeRemoved: true, | |||
allPropertiesImmutable: true, | |||
restrictProperties: true, | |||
properties: { | |||
originTimestamp: //timestamp the request to create/change this relationship was sent | |||
}, | |||
} | |||
} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
relationshipType: "disabledSellOffer", | |||
schema: { | |||
elementCanBeRemoved: true, | |||
allPropertiesImmutable: true, | |||
restrictProperties: true, | |||
properties: { | |||
originTimestamp: //timestamp the request to create/change this relationship was sent | |||
}, | |||
} | |||
} | |||
</syntaxhighlight> | |||
* SellOffer relationship links the sell offer with it's parent product, the sell offer can be enabled (hasSellOffer) or disabled (disabledSellOffer) | |||
* when enabling/disabling we remove the old relationship and replace it with the new setting | |||
= Working documents = | = Working documents = |
Revision as of 06:08, 18 July 2021
Overview
Handler service for the standard sell offer type.
Repository
https://bitbucket.org/izara-market-products/izara-market-products-sell-offer-standard/src/master/
DynamoDB tables
Standard Config Table Per Service
Configuration tags
{
configTag: "SellOfferHandlerServiceNameTag"
configKey: "SellOfferHandlerServiceNameTag"
configValue: xxx // this own services ServiceNameTag, eg "SellOfferStandard"
}
{
configTag: "ProductsGraphServiceName"
configKey: "ProductsGraphServiceName"
configValue: xxx // eg: "ProductsGraph"
}
{
configTag: "SellOfferManagerServiceName"
configKey: "SellOfferManagerServiceName"
configValue: xxx // eg: "SellOfferManager"
}
LogicalResults
Stores results for any requests to perform logical searches on sell offer data
{
resultId: xxx // eg: filterMainId for a single logical element
dataId: xxx // one sellofferId
}
- partition key: resultId
- sort key: dataId
Graph database
Service - Products Graph
Nodes
{
nodeLabel: "sellOffer",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
sellOfferId: {
identifier: true, //(random uuid)
},
productId: {
immutable: true,
},
sellOfferHandlerServiceNameTag: {
immutable: true,
},
},
}
}
Relationships
{
relationshipType: "hasSellOffer",
schema: {
elementCanBeRemoved: true,
allPropertiesImmutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the request to create/change this relationship was sent
},
}
}
{
relationshipType: "disabledSellOffer",
schema: {
elementCanBeRemoved: true,
allPropertiesImmutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the request to create/change this relationship was sent
},
}
}
- SellOffer relationship links the sell offer with it's parent product, the sell offer can be enabled (hasSellOffer) or disabled (disabledSellOffer)
- when enabling/disabling we remove the old relationship and replace it with the new setting