/service-consumers

🏡🏢 management tool for large and small consumers

Primary LanguageGo

Consumer Management

consumers

🏸 management tools for the large and small consumers

Go Lang Version Open
API Schema Version

Overview

This microservice is responsible for managing consumers and their associated data. It is a part of the WISdoM OSS project. It uses the microservice template for the WISdoM OSS project.

Using the service

The service is included in every WISdoM OSS deployment by default and does not require the user to do anything.

The documentation for the API can be found in the openapi.yaml file.

Request Flow

The following diagram shows the request flow of the service.

sequenceDiagram
    actor U as User
    participant G as API Gateway
    participant S as Consumer Service
    participant D as Database
    
    U->>G: New Request
    activate G
    G->>G: Check authentication
    alt authentication failed 
        note over U,G: Authentication may fail due to<br/>invalid credentials or missing<br/>headers
        G->>U: Error Response 
    else authentication successful
        G->>S: Proxy request
        activate S
    end
    S-->S: Check authentication information for explicit group
    deactivate G
    activate D
    S-->D: Query consumer data
    deactivate D
    S-->S: Build response
    S->>G: response
    deactivate S
    G->>U: deliver response
    
Loading

Development

Prerequisites

  • Go 1.21.2

Important notices

  • Since the service is usually deployed behind an API gateway which authenticates the user, the service does reject all requests which do not contain the X-Authenticated-Groups and X-Authenticated-User header.

    You need to set those headers manually when testing the service locally.