Skip to content

Commit 3442c23

Browse files
authored
Merge pull request #125 from oej/update-more-flow
Update API-flow mermaid diagrams
2 parents aec5596 + 2a21fc2 commit 3442c23

File tree

1 file changed

+33
-16
lines changed

1 file changed

+33
-16
lines changed

api-flow/consumer.md

Lines changed: 33 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,23 @@ described in the [discovery document](/discovery/readme.md).
66

77
## API usage
88

9-
The standard TEI points to a product.
10-
11-
- __TEA Product__: This is the delivered goods, an open source software, library or a product sold. It consists of one or multiple TEA Components.
12-
- __TEA Components__: Components are components of something sold. Each Component has it's own versioning and it's own set of artefacts. Note that a single artefact can belong to multiple versions of a Component and multiple Components.
13-
- __TEA Component index__: A list of all the versions available for a TEA Component
14-
- __TEA Collection__: For each Component version, there is TEA collection as indicated by release date and a version string. The TEA API has no requirements of type of version string (semantic or any other scheme) - it's just an identifier set by the manufacturer. It's sorted by release date as a default.
15-
- __List of TEA artefacts__: The TEA Collection is unique for a version and contains a list of artefacts. This can be SBOM files, VEX, SCITT, IN-TOTO or other documents.
16-
- __List of artefact formats__: An artefact can be published in multiple formats.
17-
18-
The user has to know product TEI and version of each component (TEA Component) to find the list of artefacts for the used version.
9+
The standard TEI points to a product. A product is something sold, downloaded as an opensource project or aquired
10+
by other means. It contains one or multiple components.
11+
12+
- __List of TEA Components__: Components are components of something that is part of a product.
13+
Each Component has it's own versioning and it's own set of artifacts.
14+
- __List of TEA releases__: Each component has a list of releases where each release has a timestamp and
15+
a lifecycle enumeration. They are normally sorted by timestamps. The TEA API has no requirements of
16+
type of version string (semantic or any other scheme) - it's just an identifier set by the manufacturer.
17+
- __List of TEA collections__: For each release, there is a list of TEA collections as indicated
18+
by release date and a version integer starting with collection version 1.
19+
- __List of TEA artifacts__: The collection is unique for a version and contains a list of artifacts.
20+
This can be SBOM files, VEX, SCITT, IN-TOTO or other documents. Note that a single artifact
21+
can belong to multiple versionsof a Component and multiple Components.
22+
- __List of artifact formats__: An artifact can be published in multiple formats.
23+
24+
The user has to know product TEI and version of each component (TEA Component) to find the list of
25+
artifacts for the used version.
1926

2027
## API flow based on TEI discovery
2128

@@ -32,6 +39,7 @@ sequenceDiagram
3239
3340
participant tea_product as TEA Product
3441
participant tea_component as TEA Component
42+
participant tea_release as TEA Release
3543
participant tea_collection as TEA Collection
3644
participant tea_artifact as TEA Artefact
3745
@@ -42,13 +50,17 @@ sequenceDiagram
4250
user ->> tea_product: Finding all product parts (TEA Components) and facts about the product
4351
tea_product ->> user: List of product parts
4452
45-
user ->> tea_component: Finding all versions of a TEA Component
46-
tea_component ->> user: List of all available versions (paginated)
53+
user ->> tea_component: Finding information of a component
54+
tea_component ->> user: List of component metadata
55+
56+
user ->> tea_release: Finding a specific version/release
57+
tea_release ->> user: List of releases and collection id for each release
4758
4859
user ->> tea_collection: Finding all artefacts for version in scope
4960
tea_collection ->> user: List of artefacts and formats available for each artefact
5061
51-
user ->> tea_artifact: Download artefact
62+
user ->> tea_artifact: Request to download artifact
63+
tea_artifact ->> user: Artifact
5264
5365
5466
@@ -70,6 +82,7 @@ sequenceDiagram
7082
7183
participant tea_product as TEA Product
7284
participant tea_component as TEA Component
85+
participant tea_release as TEA Release
7386
participant tea_collection as TEA Collection
7487
participant tea_artifact as TEA Artefact
7588
@@ -80,13 +93,17 @@ sequenceDiagram
8093
user ->> tea_product: Finding all product parts (TEA Components) and facts about choosen product
8194
tea_product ->> user: List of product parts
8295
83-
user ->> tea_component: Finding all versions of a TEA Component
84-
tea_component ->> user: List of all available versions (paginated)
96+
user ->> tea_component: Finding information of a component
97+
tea_component ->> user: List of component metadata
98+
99+
user ->> tea_release: Finding a specific version/release
100+
tea_release ->> user: List of releases and collection id for each release
85101
86102
user ->> tea_collection: Finding all artefacts for version in scope
87103
tea_collection ->> user: List of artefacts and formats available for each artefact
88104
89-
user ->> tea_artifact: Download artefact
105+
user ->> tea_artifact: Request to download artifact
106+
tea_artifact ->> user: Artifact
90107
91108
92109

0 commit comments

Comments
 (0)