Service - Sell Offer Terms: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 34: | Line 34: | ||
=== Nodes === | === Nodes === | ||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
nodeLabel: "sellOfferTermLabel", | |||
schema: { | |||
identifier: true, | |||
restrictProperties: true, | |||
restrictRelationships: true, | |||
properties: { | |||
sellOfferTermId: { | |||
identifier: true, //(random uuid) | |||
}, | |||
}, | |||
} | |||
} | |||
</syntaxhighlight> | |||
* groups sell offer terms, eg: "Accept returns?", "Time allowed to complete payment", etc.. | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
Line 50: | Line 67: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* one sell offer term value inside one sell offer term label, eg: "yes" under the "Accept returns?" label | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
Line 96: | Line 114: | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
relationshipType: " | relationshipType: "hasSellOfferTermLink", | ||
schema: { | |||
elementCanBeRemoved: true, | |||
allPropertiesImmutable: true, | |||
restrictProperties: true, | |||
properties: { | |||
originTimestamp: //timestamp the request to create/change this relationship was sent | |||
}, | |||
} | |||
} | |||
</syntaxhighlight> | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
relationshipType: "disabledSellOfferTermLink", | |||
schema: { | |||
elementCanBeRemoved: true, | |||
allPropertiesImmutable: true, | |||
restrictProperties: true, | |||
properties: { | |||
originTimestamp: //timestamp the request to create/change this relationship was sent | |||
}, | |||
} | |||
} | |||
</syntaxhighlight> | |||
* creates a link in attribute tree between a SellOffer or SellOfferTermLink, and a child SellOfferTermLink | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
relationshipType: "isSellOfferTerm", | |||
schema: { | schema: { | ||
elementCanBeRemoved: true, | elementCanBeRemoved: true, | ||
Line 107: | Line 153: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* links one SellOfferTermLink to one SellOfferTerm | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
relationshipType: "isSellOfferTermLabel", | |||
schema: { | |||
elementCanBeRemoved: true, | |||
allPropertiesImmutable: true, | |||
restrictProperties: true, | |||
properties: { | |||
originTimestamp: //timestamp the request to create/change this relationship was sent | |||
}, | |||
} | |||
} | |||
</syntaxhighlight> | |||
* links one SellOfferTerm to one SellOfferTermLabel | |||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
relationshipType: " | relationshipType: "hasSellOfferTermProperty", | ||
schema: { | schema: { | ||
elementCanBeRemoved: true, | elementCanBeRemoved: true, | ||
Line 120: | Line 183: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
* | * SellOfferTerm links to it's Properties | ||
== [[Service - Translations Graph]]== | == [[Service - Translations Graph]]== | ||
Line 128: | Line 191: | ||
<syntaxhighlight lang="JavaScript"> | <syntaxhighlight lang="JavaScript"> | ||
{ | { | ||
nodeLabel: " | nodeLabel: "sellOfferTermLabel", | ||
schema: { | schema: { | ||
identifier: true, | identifier: true, |
Revision as of 03:07, 10 August 2021
Overview
Manages SellOffer Terms and SellOfferTermLinks. SellOffer Terms can be shared by many Sell Offers, SellOfferTermLinks are used to create an attribute tree for one Sell Offer.
Repository
https://bitbucket.org/izara-market-products/izara-market-products-sell-offer-terms/src/master/
DynamoDB tables
Standard Config Table Per Service
Configuration tags
..
LogicalResults
Stores results for any requests to perform logical searches on media links
{
resultId: xxx // eg: filterMainId for a single logical element
dataId: xxx // one sellOfferTermLinkId
}
- partition key: resultId
- sort key: dataId
Graph database
Service - Products Graph
Nodes
{
nodeLabel: "sellOfferTermLabel",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
sellOfferTermId: {
identifier: true, //(random uuid)
},
},
}
}
- groups sell offer terms, eg: "Accept returns?", "Time allowed to complete payment", etc..
{
nodeLabel: "sellOfferTerm",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
sellOfferTermId: {
identifier: true, //(random uuid)
},
},
}
}
- one sell offer term value inside one sell offer term label, eg: "yes" under the "Accept returns?" label
{
nodeLabel: "sellOfferTermLink",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
sellOfferTermLinkId: {
identifier: true, //(random uuid)
},
sellOfferId: {
immutable: true,
},
sellOfferTermId: {
immutable: true,
},
},
}
}
{
nodeLabel: "sellOfferTermProperty",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
propertyId: {
identifier: true, //(random uuid)
},
sellOfferTermId: {
immutable: true,
},
},
}
}
Relationships
{
relationshipType: "hasSellOfferTermLink",
schema: {
elementCanBeRemoved: true,
allPropertiesImmutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the request to create/change this relationship was sent
},
}
}
{
relationshipType: "disabledSellOfferTermLink",
schema: {
elementCanBeRemoved: true,
allPropertiesImmutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the request to create/change this relationship was sent
},
}
}
- creates a link in attribute tree between a SellOffer or SellOfferTermLink, and a child SellOfferTermLink
{
relationshipType: "isSellOfferTerm",
schema: {
elementCanBeRemoved: true,
allPropertiesImmutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the request to create/change this relationship was sent
},
}
}
- links one SellOfferTermLink to one SellOfferTerm
{
relationshipType: "isSellOfferTermLabel",
schema: {
elementCanBeRemoved: true,
allPropertiesImmutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the request to create/change this relationship was sent
},
}
}
- links one SellOfferTerm to one SellOfferTermLabel
{
relationshipType: "hasSellOfferTermProperty",
schema: {
elementCanBeRemoved: true,
allPropertiesImmutable: true,
restrictProperties: true,
properties: {
originTimestamp: //timestamp the request to create/change this relationship was sent
},
}
}
- SellOfferTerm links to it's Properties
Service - Translations Graph
Nodes
{
nodeLabel: "sellOfferTermLabel",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
sellOfferTermId: {
identifier: true,
},
},
}
}
{
nodeLabel: "sellOfferTermValue",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
sellOfferTermId: {
identifier: true,
},
},
}
}
{
nodeLabel: "sellOfferTermPropertyName",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
propertyId: {
identifier: true,
},
},
}
}
{
nodeLabel: "sellOfferTermPropertyValue",
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
propertyId: {
identifier: true,
},
},
}
}