Skip to content

Commit

Permalink
improve readme with mermaid diagram
Browse files Browse the repository at this point in the history
  • Loading branch information
mahendraHegde committed May 18, 2024
1 parent 68eb785 commit ec7b7aa
Show file tree
Hide file tree
Showing 8 changed files with 99 additions and 0 deletions.
61 changes: 61 additions & 0 deletions Mermaid.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
```mermaid
sequenceDiagram
participant Client2
participant Client
participant Server
Client->>Server: POST /data (Idempotency-Key=1)
activate Server
Server->>Store: Check for Idempotency-Key=1 (Not Found)
activate Store
deactivate Store
Server->>Server: Process Requesy
Server->>Store: Store Response(Idempotency-Key=1)
activate Store
deactivate Store
alt Timed Out/Server Crash/Connection Lost
Server-xClient: No Repsponse
else Client Crash
Server-xClient: 201 Created
end
deactivate Server
Client->>Server: POST /data (Retry, Idempotency-Key=1)
activate Server
Server->>Store: Check Idempotency-Key=1 (Exists)
activate Store
deactivate Store
Server->>Client: 201 OK (Duplicate Request)
deactivate Server
Client->>Server: POST /data (Idempotency-Key=2)
activate Client
activate Server
Server->>Store: Check Idempotency-Key=2 (Not Exists)
activate Store
deactivate Store
Server->>Server: Process Request
Client2->>Server: POST /data (concurrent Req, Idempotency-Key=2)
activate Client2
Server->>Store: Check Idempotency-Key=2 (In-Progress)
activate Store
deactivate Store
Server->>Client2: 409 Conflict, Retry-After=1
deactivate Client2
Server->>Client: 201 Created
deactivate Server
deactivate Client
Client2->>Server: POST /data (Retried After, Idempotency-Key=2)
activate Client2
activate Server
Server->>Store: Check Idempotency-Key (Exists)
activate Store
deactivate Store
Server->>Client2: 201 Created
deactivate Client2
deactivate Server
```
4 changes: 4 additions & 0 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ and powers,

- [`@node-idempotency/fastify`](https://www.npmjs.com/package/@node-idempotency/fastify) - Plug and Play `fastify` plugin for `@node-idempotency/core`

---
#### How?
[![](https://mermaid.ink/img/pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq?type=png)](https://mermaid.live/edit#pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq)

---

#### @node-idempotency/core
Expand Down
4 changes: 4 additions & 0 deletions packages/core/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,10 @@ and powers

if above packages dont meet your needs, you can utilise the core package directly to tweek it as per your needs.

---
#### How?
[![](https://mermaid.ink/img/pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq?type=png)](https://mermaid.live/edit#pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq)

---

##### install
Expand Down
4 changes: 4 additions & 0 deletions packages/plugin-express/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ Network requests are unpredictable; clients/proxies may send duplicate or concur
- <i>Customizable:</i> options to tweak the library as per your need.
- <i>[RFC](https://datatracker.ietf.org/doc/draft-ietf-httpapi-idempotency-key-header/) compliant: </i> Adheres to standards for compatibility with other systems/clients.

---
#### How?
[![](https://mermaid.ink/img/pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq?type=png)](https://mermaid.live/edit#pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq)

---

##### instal
Expand Down
5 changes: 5 additions & 0 deletions packages/plugin-fastify/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ Network requests are unpredictable; clients/proxies may send duplicate or concur

---

#### How?
[![](https://mermaid.ink/img/pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq?type=png)](https://mermaid.live/edit#pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq)

---

##### instal

```bash
Expand Down
5 changes: 5 additions & 0 deletions packages/plugin-nestjs/Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,11 @@ Network requests are unpredictable; clients/proxies may send duplicate or concur

---

#### How?
[![](https://mermaid.ink/img/pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq?type=png)](https://mermaid.live/edit#pako:eNqlVcFO4zAQ_ZWRT0VKVYj2spFAQmVXQrB0RTn2YtlTatHYwZ4gIsS_M4mBhjS0ajglmsyM35v3Jn4RymkUmQj4WKJVeGHkvZf5wgIU0pNRppCWYLo2aCntD3ejc_RP6Oto_D4-O4uhDP7P5ncw0ZIkjC415oUjPrUaX2F1enJUl0hF5kkStrrEt7oLOY8ZTFeoHmDpPGy1gNGNI_jrSqs73erSOqJxO7Y54AOmdwpDgNt6KqHqA9E8OCEUzgbcS2bX8U3mmuDO5KhhVtIkHgZTL8NqMnXWIhc5C9cuNNP-hPMcJ5zBjWMsRQRTZ-A64Pv4Y5v-svT4hD8jw9FNldVdkO8q7FXzFslXCfxQ1B5B_zybQGGImm2SsysYXZTF2qg6N-pKR0PJdmGmX-Ft1mIw8TQ6-UDyEfoeO9OGXvoNP-WsKr2vzcM126r28k0PYndpxwzr3jOu4dqmGfw6_g28IUtWlhJoXDg-XxJ69k6nyyfMb13SWoUeW_Q0a3sl3bEZhhe7QXXILIea5-c7k-4aRwthz5BEInL0uTSab5WX5vcmaIU5LkTGr1r6h4VY2FfOkyW5eWWVyMiXmIiy4IF93EAiW0r-hyUCtWGU_-I11dxWr2-vsVPq)

---

##### instal

```bash
Expand Down
8 changes: 8 additions & 0 deletions packages/shared/Readme.md
Original file line number Diff line number Diff line change
@@ -1 +1,9 @@
#### node-idempotency/shared

Hey there!!! Thanks for landing here, you are probably not interested in this package but these,

- [`@node-idempotency/nestjs`](https://www.npmjs.com/package/@node-idempotency/nestjs) - Plug and Play `nestjs` wrapper for `@node-idempotency/core`

- [`@node-idempotency/express`](https://www.npmjs.com/package/@node-idempotency/express) - Plug and Play `express` middleware for `@node-idempotency/core`

- [`@node-idempotency/fastify`](https://www.npmjs.com/package/@node-idempotency/fastify) - Plug and Play `fastify` plugin for `@node-idempotency/core`
8 changes: 8 additions & 0 deletions packages/storage/Readme.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
#### @node-idempotency/storage

Storage adapter interace for [@node-idempotency](https://www.npmjs.com/package/@node-idempotency/core).

Checkout these,

- [`@node-idempotency/nestjs`](https://www.npmjs.com/package/@node-idempotency/nestjs) - Plug and Play `nestjs` wrapper for `@node-idempotency/core`

- [`@node-idempotency/express`](https://www.npmjs.com/package/@node-idempotency/express) - Plug and Play `express` middleware for `@node-idempotency/core`

- [`@node-idempotency/fastify`](https://www.npmjs.com/package/@node-idempotency/fastify) - Plug and Play `fastify` plugin for `@node-idempotency/core`

0 comments on commit ec7b7aa

Please sign in to comment.