diff --git a/docs/projects/s3gw/auth-api.md b/docs/projects/s3gw/auth-api.md index 4cb7a3c..ae1a71b 100644 --- a/docs/projects/s3gw/auth-api.md +++ b/docs/projects/s3gw/auth-api.md @@ -1,3 +1,8 @@ +--- +title: Auth API +weight: 99 +--- + # Auth API [![Stoplight Elements](https://img.shields.io/badge/Stoplight_Elements-S3GW_Auth-blue)](https://elements-demo.stoplight.io/?spec=https://raw.githubusercontent.com/miriady/infrastructure/main/resources/auth/openapi.yaml#/) diff --git a/docs/projects/s3gw/aws-s3-api.md b/docs/projects/s3gw/aws-s3-api.md index f8213af..866239c 100644 --- a/docs/projects/s3gw/aws-s3-api.md +++ b/docs/projects/s3gw/aws-s3-api.md @@ -1,3 +1,8 @@ +--- +title: AWS S3 API +weight: 99 +--- + # AWS S3 API [![Stoplight Elements](https://img.shields.io/badge/Stoplight_Elements-Amazon_Simple_Storage_Service-blue)](https://elements-demo.stoplight.io/?spec=https://api.apis.guru/v2/specs/amazonaws.com/s3/2006-03-01/openapi.json#/) diff --git a/docs/projects/s3gw/s3gw.md b/docs/projects/s3gw/s3gw.md index 9464872..8a8ca2d 100644 --- a/docs/projects/s3gw/s3gw.md +++ b/docs/projects/s3gw/s3gw.md @@ -1,3 +1,8 @@ +--- +title: S3 Gateway +weight: 0 +--- + # S3 Gateway The S3 Gateway is a service designed to interact with a storage system (likely an S3-compatible storage) and a PostgreSQL database. It facilitates operations such as retrieving data from storage and managing API keys for accessing the system. @@ -44,18 +49,20 @@ sequenceDiagram ### Relations This class diagram represents the database schema of the project. It includes the following entities: -- **Users**: Represents users of the system with attributes such as `user_id`, `username`, `password_hash`, and `created_at`. -- **API_Keys**: Represents API keys associated with users, including attributes such as `api_key_id`, `user_id`, `api_key_hash`, and `created_at`. -- **Buckets**: Represents storage buckets with attributes such as `bucket_id`, `bucket_name`, and `created_at`. -- **Objects**: Represents objects stored within buckets with attributes such as `object_id`, `bucket_id`, `object_version`, `object_key`, `object_data`, `object_data_checksum`, and `created_at`. -- **Authorisations**: Represents authorizations for accessing buckets with attributes such as `auth_id`, `api_key_id`, `bucket_id`, and `created_at`. + +* **Users**: Represents users of the system with attributes such as `user_id`, `username`, `password_hash`, and `created_at`. +* **API_Keys**: Represents API keys associated with users, including attributes such as `api_key_id`, `user_id`, `api_key_hash`, and `created_at`. +* **Buckets**: Represents storage buckets with attributes such as `bucket_id`, `bucket_name`, and `created_at`. +* **Objects**: Represents objects stored within buckets with attributes such as `object_id`, `bucket_id`, `object_version`, `object_key`, `object_data`, `object_data_checksum`, and `created_at`. +* **Authorisations**: Represents authorizations for accessing buckets with attributes such as `auth_id`, `api_key_id`, `bucket_id`, and `created_at`. The relationships between these entities are depicted as follows: -- Users can have multiple API keys (`One [User] to Many [API_Keys]`). -- Users can be associated with multiple buckets, and buckets can be associated with multiple users (`Many [Users] to Many [Buckets]`). -- Each bucket can contain multiple objects (`One [Bucket] to Many [Objects]`). -- Each API key can have multiple authorizations (`One [API_Key] to Many [Authorizations]`). -- Many authorizations can be associated with one bucket (`Many [Authorizations] to One [Bucket]`). + +* Users can have multiple API keys (`One [User] to Many [API_Keys]`). +* Users can be associated with multiple buckets, and buckets can be associated with multiple users (`Many [Users] to Many [Buckets]`). +* Each bucket can contain multiple objects (`One [Bucket] to Many [Objects]`). +* Each API key can have multiple authorizations (`One [API_Key] to Many [Authorizations]`). +* Many authorizations can be associated with one bucket (`Many [Authorizations] to One [Bucket]`). ```mermaid classDiagram diff --git a/docs/requirements.txt b/docs/requirements.txt index 11fc73d..4aefc9c 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -4,3 +4,4 @@ mkdocs-material mkdocs-macros-plugin mkdocs-swagger-ui-tag mkdocs-mermaid2-plugin +mkdocs-nav-weight diff --git a/justfile b/justfile index 75efd6e..04c2653 100644 --- a/justfile +++ b/justfile @@ -84,7 +84,7 @@ build-docs VERSION: version="{{VERSION}}" # Determine if this is a prerelease version - if echo "${version}" | grep -E -- "-(alpha|beta|rc)\.[0-9]+" > /dev/null; then + if echo "${version}" | grep -E -- "(-(alpha|beta|rc)\.[0-9]+)|(^main$)" > /dev/null; then prerelease="true" else prerelease="false" diff --git a/mkdocs.yml b/mkdocs.yml index 4a5e045..ed82dcf 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -11,6 +11,7 @@ plugins: - search - mermaid2 - swagger-ui-tag + - mkdocs-nav-weight - macros: module_name: docs/macros