- Typescript library clients - /lib/src/clients
- Aas Components - /lib/src/components
- Example App - /example/src
- UI Integration tests - /integration-ui/src/test/scala/csw/aas/js/config
This project provide following typescript clients for various TMT services, which can be found at location - /lib/src/clients.
- Admin
- Agent
- Alarm
- Command
- Config
- Event
- Gateway
- Location
- Sequencer
- Sequence Manager
- CheckLogin
- RealmRole
- AuthContextProvider
- Login
- Logout
See here for a detailed description of the ESW-TS.
This app shows how to use typescript clients and Aas Components to create your web app. Refer following files for respective use cases.
- Typescript usage - e.g. example/src/components/config/context/ConfigServiceProvider.tsx
- Aas login/logout usage - e.g. example/src/components/NavComponent.tsx
- Auth Context usage - e.g. example/src/components/ExampleApp.tsx
Step1: Run required backend services
Step2: Build Library
Step3: Run Example App
Make sure you have following CSW services up and running:
- Location Service
- AAS Service
- Config Service
Note: Simple way to start all these services is to run csw-services
using coursier (aka cs)
from csw
github repository.
Refer here to learn how to start csw-services.
cs install csw-services:<version | SHA>
csw-services start -c -k -v $SHA_OF_CSW
cd {ESW-TS-Repo}/lib
npm clean-install
npm run build
npm run test:unit
npm run test:integration
Start App -
cd ../example
npm clean-install
npm start
Open App in the browser -
Go to localhost:3000 in Browser
Login with appropriate user as listed below to access functionality of each tab.
Example app tab | requirement | Login username | Password |
---|---|---|---|
Public | -does not requires login | ||
Secured | -requires login | any user below | any user below |
Config App(List) | -does not requires login | ||
Config App(Get) | -does not requires login | ||
Config App(Create) | -requires login with role config-admin |
config-admin1 | config-admin1 |
Admin App | -requires login with example-admin-role |
dummy-user | dummy-user |
User App | -requires login with person-role |
dummy-user | dummy-user |
This module includes E2E test which demonstrate following flow which is all automated:
- Start Location, Config and AAS CSW services
- Build and Install
lib
- Build and Start
config
example - Create configuration file
To run this test, execute sbt test
or sbt integration-ui/test
command
cd lib && npm run build && npm run doc
To generate paradox documentation for the ESW-TS, run the following command
sbt clean makeSite openSite
Above command will generate and open the paradox site in browser.
To push documentation on github pages, follow the steps:
-
Open sbt shell with command.
sbt -Dprod.publish=true
-
Clean and generate the site locally.
sbt:esw-ts> clean; makeSite
-
Push the changes to github pages.
sbt:esw-ts> ghpagesPushSite
It will ask for github credential. It takes few minutes to reflect on the github pages.