- Typescript library clients - ./src/clients
- Aas Components - ./src/components
- Example App - /example/src
- UI Integration tests - /selenium-tests/src/test/scala/csw/aas/js/config
This project provide following typescript clients for various TMT services, which can be found at location - ./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 CSW 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
csw-services start -c -k -v $SHA_OF_CSW
cd {ESW-TS-Repo}
npm clean-install
npm run build
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 |
Note : If you have started CSW services to run the Example App, stop them before running the integration and End-to-End tests.
cd {ESW-TS-Repo}
npm run test:unit
cd {ESW-TS-Repo}
npm run test:integration
This module includes E2E test which demonstrate following flow which is all automated:
- Start Location, Config and AAS CSW services
- Build and Install
esw-ts
- Build and Start
config
example - Create configuration file
To run this test, execute
cd {ESW-TS-Repo}
sbt test OR sbt selenium-tests/test
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.
-
Clean and generate the site locally.
sbt:esw-ts> clean;
-
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. This will push documentation with version tag 0.1.0-SNAPSHOT
.
Document automatically gets released using release pipeline.
esw-ts | esw | csw |
---|---|---|
v0.4.1 | v0.5.1 | v5.0.1 |
v0.4.1-RC1 | v0.5.1-RC1 | v5.0.1-RC1 |
v0.4.0 | v0.5.0 | v5.0.0 |
v0.4.0-RC2 | v0.5.0-RC2 | v5.0.0-RC2 |
v0.4.0-RC1 | v0.5.0-RC1 | v5.0.0-RC1 |
v0.3.0 | v0.4.0 | v4.0.1 |
v0.3.0-RC1 | v0.4.0-RC1 | v4.0.1-RC1 |
v0.2.0 | v0.3.0 | v4.0.0 |
v0.2.0-RC2 | v0.3.0-RC2 | v4.0.0-RC2 |
v0.2.0-RC1 | v0.3.0-RC1 | v4.0.0-RC1 |
v0.2.0-M1 | v0.3.0-M1 | v4.0.0-M1 |
v0.1.0 | v0.2.1 | v0.3.1 |
v0.1.0-RC1 | v0.2.0-RC1 | v0.3.0-RC1 |
v0.1.0-M1 | v0.2.0-M1 | v0.3.0-M1 |
Date | Tag | Source | Docs | Assets |
---|---|---|---|---|
2023-04-12 | v0.4.1 | esw-ts-0.4.1 | esw-ts-0.4.1 docs | esw-ts-0.4.1 assets |
2022-11-15 | v0.4.0 | esw-ts-0.4.0 | esw-ts-0.4.0 docs | esw-ts-0.4.0 assets |
2022-02-09 | v0.3.0 | esw-ts-0.3.0 | esw-ts-0.3.0 docs | esw-ts-0.3.0 assets |
2021-09-23 | v0.2.0 | esw-ts-0.2.0 | esw-ts-0.2.0 docs | esw-ts-0.2.0 assets |
2021-02-01 | v0.1.0 | esw-ts-0.1.0 | esw-ts-0.1.0 docs | esw-ts-0.1.0 assets |
Date | Tag | Source | Docs | Assets |
---|---|---|---|---|
2023-03-28 | v0.4.1-RC1 | esw-ts-0.4.1-RC1 | esw-ts-0.4.1-RC1 docs | esw-ts-0.4.1-RC1 assets |
2022-10-10 | v0.4.0-RC2 | esw-ts-0.4.0-RC2 | esw-ts-0.4.0-RC2 docs | esw-ts-0.4.0-RC2 assets |
2022-09-15 | v0.4.0-RC1 | esw-ts-0.4.0-RC1 | esw-ts-0.4.0-RC1 docs | esw-ts-0.4.0-RC1 assets |
2022-02-01 | v0.3.0-RC1 | esw-ts-0.3.0-RC1 | esw-ts-0.3.0-RC1 docs | esw-ts-0.3.0-RC1 assets |
2021-09-17 | v0.2.0-RC2 | esw-ts-0.2.0-RC2 | esw-ts-0.2.0-RC2 docs | esw-ts-0.2.0-RC2 assets |
2021-08-23 | v0.2.0-RC1 | esw-ts-0.2.0-RC1 | esw-ts-0.2.0-RC1 docs | esw-ts-0.2.0-RC1 assets |
2021-07-08 | v0.2.0-M1 | esw-ts-0.2.0-M1 | esw-ts-0.2.0-M1 docs | esw-ts-0.2.0-M1 assets |
2020-11-11 | v0.1.0-RC1 | esw-ts-0.1.0-RC1 | esw-ts-0.1.0-RC1 docs | esw-ts-0.1.0-RC1 assets |
2020-09-28 | v0.1.0-M1 | esw-ts-0.1.0-M1 | esw-ts-0.1.0-M1 docs | esw-ts-0.1.0-M1 assets |