import { DocumentStorageAPI } from './APIS/DocumentStorage/DocumentStorageAPI';
import { EventsAPI } from './APIS/Events/EventsAPI';
import { LoginAPI } from './APIS/Login/LoginAPI';
import { MessageAPI } from './APIS/Message/MessageAPI';
import { OrganizationUnitApi } from './APIS/OrganizationUnit/OrganizationUnitAPI';
import { ReportsAPI } from './APIS/Reports/ReportsAPI';
import { SummaryAPI } from './APIS/Summary/SummaryAPI';
import { UserManagementApi } from './APIS/UserManagement/UserManagementAPI';

class Api {
  private _userManagementAPI = new UserManagementApi();
  private _loginAPI = new LoginAPI();
  private _organizationUnitAPI = new OrganizationUnitApi();
  private _messageAPI = new MessageAPI();
  private _eventsAPI = new EventsAPI();
  private _documentStorageAPI = new DocumentStorageAPI();
  private _summaryAPI = new SummaryAPI();
  private _reportsAPI = new ReportsAPI();

  get userManagement() {
    return this._userManagementAPI;
  }

  get login() {
    return this._loginAPI;
  }

  get organizationUnit() {
    return this._organizationUnitAPI;
  }

  get message() {
    return this._messageAPI;
  }

  get events() {
    return this._eventsAPI;
  }

  get documentStorage() {
    return this._documentStorageAPI;
  }

  get summary() {
    return this._summaryAPI;
  }

  get reports() {
    return this._reportsAPI;
  }
}

export default new Api();
