This commit is contained in:
JiriUhlir
2026-06-29 09:55:04 +02:00
parent 9c08dacc69
commit a7aedfce10
3 changed files with 702 additions and 48 deletions
+30 -2
View File
@@ -8,6 +8,14 @@ Součástí repozitáře je i malý AppFactory HTTP wrapper s endpointy:
- `GET /health`
- `GET /docs`
- `GET /openapi.json`
- `POST /api/session/login`
- `POST /api/session/logout`
- `GET /api/<resource>`
- `GET /api/<resource>/all`
- `GET /api/<resource>/{id}`
- `POST /api/<resource>`
- `PATCH /api/<resource>/{id}`
- `DELETE /api/<resource>/{id}` pouze pro obecně mazatelné resource
## Instalace
@@ -17,7 +25,7 @@ npm run build
npm test
```
## Konfigurace
## Konfigurace knihovny
Vytvoř `.env` podle `.env.example`:
@@ -43,6 +51,24 @@ SAP_B1_REJECT_UNAUTHORIZED=false
V produkci preferuj důvěryhodný certifikát a ponech `true`.
## HTTP API credentials
Podle AppFactory pravidel se SAP credentials pro HTTP API předávají v request headers, ne v JSON body:
```http
X-SAP-B1-BaseUrl: https://sap.example.local:50000
X-SAP-B1-CompanyDB: SBODEMOUS
X-SAP-B1-Username: manager
X-SAP-B1-Password: <secret>
X-SAP-B1-Language: 3
X-SAP-B1-Reject-Unauthorized: true
X-SAP-B1-Timeout-Ms: 30000
```
Povinné jsou `X-SAP-B1-BaseUrl`, `X-SAP-B1-CompanyDB`, `X-SAP-B1-Username` a `X-SAP-B1-Password`.
Heslo se nesmí zapisovat do README, logů ani běžných response. `/docs` obsahují interaktivní formulář, který tyto hodnoty posílá jako hlavičky.
## Použití
### Login a logout
@@ -158,7 +184,9 @@ Pokryté oblasti:
## AppFactory
Aplikace poslouchá na `0.0.0.0` a portu `PORT` s výchozí hodnotou `3000`. `ROOT_PATH` se používá pro dokumentaci za reverse proxy, například `/apps/sap-bo`.
Aplikace poslouchá na `0.0.0.0` a portu `PORT` s výchozí hodnotou `3000`. `ROOT_PATH` se používá pro dokumentaci a testovací requesty za reverse proxy, například `/apps/sap-bo`.
`/docs` a `/openapi.json` dokumentují všechny obecně implementované endpointy a obsahují povinné `X-SAP-B1-*` hlavičky.
## TODO ověřit v konkrétní instalaci SAP Business One