Sequence sample (qaskx-cli)

Sample sequence for Qaskx-cli generated from its project rediOps definintion.


%% [QaskxCommandLineWeb QaskxPolicy] service sequence
sequenceDiagram

    participant consumer as Consumer
    participant gateway as Gateway
participant QSDA1 as Qaskx Command Line Web
participant QSDA2 as Qaskx Policy

participant rediops as Svc RediOps
participant teagit as Svc Gitea server OpenAPI
participant authz as Svc Authorisation
participant featureflag as Svc Feature switch
participant logger as Svc Logger


    consumer->>+gateway: [External gateway]

    note right of gateway: Authentication check at GW
    gateway->>+authz: Validate requestor
    authz-->>-gateway: 200 or 401/403 status

    gateway->>+QSDA1: start
    QSDA1->>+authz: Fine grained authz
    note right of authz: Authorise to function, data
    authz-->>-QSDA1: 200 or 401/403 status

    QSDA1->>+featureflag: Check feature switch
    featureflag-->>-QSDA1: 200 or 401/403 status

    QSDA1->>logger: log request/response

    QSDA1->>QSDA1: business logic
        note right of QSDA1: Explanation of what happens


    QSDA1->>+rediops: function call
    rediops-->>- QSDA1: result, 200 or 4xx status
    QSDA1->>+teagit: function call
    teagit-->>- QSDA1: result, 200 or 4xx status
    QSDA1->>+authz: function call
    authz-->>- QSDA1: result, 200 or 4xx status
    QSDA1->>+featureflag: function call
    featureflag-->>- QSDA1: result, 200 or 4xx status
    QSDA1->>+logger: function call
    logger-->>- QSDA1: result, 200 or 4xx status



    QSDA1->>QSDA1: business logic
        note right of QSDA1: Explanation of what happens

    alt 200 OK
    QSDA1-->>gateway: 200 OK response
    gateway-->>consumer: 200 OK response
    else not OK, error
    QSDA1-->>-gateway: !200 ERR response
    gateway-->>-consumer: !200 ERR response
    end

    consumer->>+gateway: [External gateway]

    note right of gateway: Authentication check at GW
    gateway->>+authz: Validate requestor
    authz-->>-gateway: 200 or 401/403 status

    gateway->>+QSDA2: start
    QSDA2->>+authz: Fine grained authz
    note right of authz: Authorise to function, data
    authz-->>-QSDA2: 200 or 401/403 status

    QSDA2->>+featureflag: Check feature switch
    featureflag-->>-QSDA2: 200 or 401/403 status

    QSDA2->>logger: log request/response

    QSDA2->>QSDA2: business logic
        note right of QSDA2: Explanation of what happens


    QSDA2->>+rediops: function call
    rediops-->>- QSDA2: result, 200 or 4xx status
    QSDA2->>+teagit: function call
    teagit-->>- QSDA2: result, 200 or 4xx status
    QSDA2->>+authz: function call
    authz-->>- QSDA2: result, 200 or 4xx status
    QSDA2->>+featureflag: function call
    featureflag-->>- QSDA2: result, 200 or 4xx status
    QSDA2->>+logger: function call
    logger-->>- QSDA2: result, 200 or 4xx status



    QSDA2->>QSDA2: business logic
        note right of QSDA2: Explanation of what happens

    alt 200 OK
    QSDA2-->>gateway: 200 OK response
    gateway-->>consumer: 200 OK response
    else not OK, error
    QSDA2-->>-gateway: !200 ERR response
    gateway-->>-consumer: !200 ERR response
    end