Skip to content
This repository has been archived by the owner on Jul 5, 2024. It is now read-only.

API Server Components

Finn K edited this page May 30, 2018 · 10 revisions

Server Components

The Server is separated into various componets all handling different tasks. In some cases they communicate with each other or call methods in another component.

AuthenticationHandler

Holds the logic for user authentication, creation, login/logout and the user sessions.

UserHandler

Handles user logic. The UserHandler is responsible for creating users and validating users, and therefore handles the cryptographic procedures and the database access for the user table. It provides a route for creating new users.

LoginLogoutHandler

Handles all the user session state and login/logout functionality. The LoginLogoutHandler holds the user session cache and provides routes for login, logout, checking whether a user is logged in, as well as a middleware to ensure that certain requests can only be done by authenticated users.

DataStorageAccessor

HandleGetStatisticsFactory

Factory method for route function for statistics api. It provides different filters for accessing chain data, such as getting only a certain number of items or for a specified timespan.

DataRequests

Provides implementation of the different requests exposed by the HandleGetStatisticsFactory.

LoggerHandler

Provides a logger that loggs both to the console and the database, and then can be retrieved via a route and displayed in the browser for remote diagnostics.

DisplayLogsFactory

Provides a route to display logs in the browser. Both the number of items and the log level can be specified.

CreateLogger

Creates the logger that loggs both to the console and the database, with various log levels.

LogHTMLGenerator

Returns a html string containing the requested log.

Schema

The mongoose schema for storing logs in the database.

PrivateChainConfigurator

BlockchainController

PrivateConfigurator

FormatConverter

PrivateChainDataCollector

DataCollector

ActiveChains

BufferAggregator

BufferAggregatorHelper

CheckJsonContent

DoubleBuffer

EthereumSchema

EthereumStorage

PublicChainDataCollector

ScyllaLogParser

UploadFactory

Is responsible for recieving, parsing, and storing Scylla logs and manually created scenarios. Also exposes a method to get a list of all scenarios and filter by their id.

ScyllaParser

Recieves a Scylla log and parses it into a format that the different blockchains in the backend can use.

ScyllaSchema

The mongoose database schema for storing parsed Scylla logs and scenarios in the database and read them at a later point.

FrontendRouting

DatabaseConnector

Clone this wiki locally