colnod-connector/README.md
2019-10-10 09:51:18 +02:00

106 lines
3.5 KiB
Markdown

# colnod-connector
Acces Management System of Colsys: [Product info](http://produkty.colsys.cz/colnod/)
## Requirements
- QPSQL driver must be installed (PostgreSQL)
- running on Qt 5.9
### Qt 5
```
sudo apt-get install -y build-essential
sudo apt-get install -y qt5-default
```
### PostgreSQL ( devel libs )
```
sudo apt-get install -y libpq-dev
sudo apt install libqt5sql5-psql # psql driver for Qt
```
## Endpoints
- POST `/AaaManager/authSession`
- Header: Authorization: Basic =4589022lj3.....
- password: spaceti1 -> sha512 `echo spaceti1 | sha512sum`
```bash
E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0
```
- body:
```json
{
"password": "E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0",
"username": "spaceti"
}
```
1. GET request - `/SubjectManager/getSubjects` - get subjects
2. GET request - `/TokenManager/getTokens` - get tokens
3. POST request - `/TokenManager/setTokens` - set tokens
## RestAPI definitions
- `openapi.yaml` ( editor `VSCode` with `Swagger Viewer` extension - ⌘+⇧+P `Preview Swagger` )
## Colnod Test server
[Colnod server: confluence](https://spaceti.atlassian.net/wiki/spaces/IN/pages/97320961/Colsys+-+Colnod)
- URL: `192.168.1.3:8843`
- `!!! No license!!!` - server will shutdown after 8 hours.
- restart: `sudo service cndserver start`
- check `nmap -p8443 192.168.1.3` or `nc -zvw3 192.168.1.3 8443`
- user: `spaceti`
- password: ``
- sha512: `E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0`
```bash
curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.1.3:8443/AaaManager/authSession
```
## Colnod Penta server
- Acces through: `penta-master` IP:`172.16.3.4`
- URL: `192.168.254.11:8443`
- Port forwarding: `ssh -L 8443:192.168.254.11:8443 penta-master`
- `!!! does not work !!!`
```bash
curl -k --user "spaceti:E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0" -d '{"password":"E7FEA07DBC82FB9BA34B2E453E2EFE89F0583E7187543507EF11E84726071FE428445372F2E46B455EB0C79747C51E362F403CE39473A2A8C2DFA0CE5C9826C0","username":"spaceti"}' -H "Content-Type: application/json" https://192.168.254.11:8443/AaaManager/authSession
```
## Insomnia Rest client
[Insomnia Rest](https://insomnia.rest/)
It is possible to chain requests: [see doc](https://support.insomnia.rest/article/43-chaining-requests)
- use token from login response as an Authorization header
- use id from POST /item in PUT /items/<id>
- use entire body from one response to upload to another
### Import workspace
- import: `Insomnia_2019_10_01.yaml`
## Testing Blueprint API
### Snowboard
#### Necesarry to allow
- Self signed certificate: [Stack overflow](https://superuser.com/a/1235250)
- Enable CORS:
- Safari: Develop->Disable cross origin restrictions
`snowboard http -c snowboard.yml --playground colnod.apib`
[Colnod API snowboard documentation](http://localhost:8088)
#### Install snowboard
`npm install -g snowboard`