You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -41,18 +41,21 @@ Verktyget är specifikt utvecklat för att linta OpenAPI-definitioner enligt den
41
41
Förutsätter att det finns en `openapi.yaml` att validera i den aktuella katalogen och beroende på hur man önskar att nyttja verktyget måste det finns installerade versioner av `Node.js`,`npm`, `Podman` eller `Docker`.
42
42
43
43
### NPM
44
+
44
45
> Notera: Att GitHub Packages (npm) kräver authentisering.<br>
45
46
> Konfigurera `.npmrc` mot rätt registry och scope, antingen globalt eller lokalt för enskilda projekt - `@diggsweden:registry=https://npm.pkg.github.com`<br>
46
47
> Om du saknar inloggning med GitHub Personal access token (PAT), se [FAQ](#hur-skapar-jag-ett-github-personal-access-token-pat).
47
48
48
49
> Notera: Att `<version>` byts ut mot önskad version av verktyget, oftast senaste release tag. För mer information se [versioner](#versioner).
49
50
50
51
#### Installera globalt med npm:
52
+
51
53
```bash
52
54
npm i -g @diggsweden/rest-api-profil-lint-processor@<version>
53
55
raplp -f openapi.yaml
54
56
```
55
-
> Notera: Att en omstart av terminal kan behövas för att `raplp` ska kunna användas som kommando.
57
+
58
+
> Notera: Att en omstart av terminal kan behövas för att `raplp` ska kunna användas som kommando.
56
59
57
60
#### Installera lokalt som `npm run` script
58
61
@@ -75,115 +78,94 @@ Lägg till ett [`npm run` script](https://docs.npmjs.com/cli/run-script) i din `
1. Klona ned projektet, gärna från senaste release tag.
103
115
2. Installera alla beroenden:
104
116
105
117
```bash
106
118
npm install
107
119
npm start -- -f openapi.yaml
108
120
```
121
+
109
122
> Notera: Att alla kommandon lokalt körs med `npm start --`.
110
123
111
-
### API (Application programming interface) läge
112
-
```bash
113
-
npm start -- -m api
114
-
```
124
+
### Server
115
125
116
-
Validera mot en endpoint:
117
-
```bash
118
-
POST http://localhost:3000/api/v1/validation/validate
119
-
```
126
+
Verktyget kan även köras som en lokal HTTP-server genom att ange [API-läge](#api-application-programming-interface). I detta läge kan funktionaliteten anropas via HTTP i stället för CLI-flaggor.
120
127
121
-
Request body - application/json`
122
-
```bash
123
-
{
124
-
"yaml": "<base64encoded file>",
125
-
"categories": [
126
-
"CATEGORY1",
127
-
"CATEGORY2"
128
-
]
129
-
}
130
-
```
128
+
Starta servern:
131
129
132
-
Använd detta kommando för att validera en yaml-fil via terminalen, här kan du även validera mot specifika [kategorier](#tillgängliga-kategorier-med-regler):
133
130
```bash
134
-
curl -X POST http://localhost:3000/api/v1/validation/validate \
Det går också att validera via en url istället för en fil men då behöver API-läget startas med en extra flagga för att låsa upp möjligheten att nyttja endpointen:
143
+
146
144
```bash
147
145
npm start -- -m api --enableUrlValidation
148
146
```
149
147
150
-
Använd detta kommando för att validera en yaml-fil baserat på en url via terminalen, även här kan man skicka med kategorier för valideringen. Se tidigare kommando:
151
-
```bash
152
-
curl -sS -X POST http://localhost:3000/api/v1/validation/url \
153
-
-H "Content-Type: application/json" \
154
-
-d '{"url":"<URL_TO_YAML_FILE>"}'| jq
155
-
```
148
+
Validera en fil från en url via terminalen:
156
149
157
-
Exempel:
158
150
```bash
159
-
curl -sS -X POST http://localhost:3000/api/v1/validation/url \
160
-
-H "Content-Type: application/json" \
161
-
-d '{"url":"https://testurl.com/q/openapi"}'| jq
162
-
```
163
-
164
-
#### Ladda ned information om regelutfall som en Excel-fil via api-läge
165
-
166
-
För att spara information om regelutfall från diagnostiseringen till en avstämningsfil i Excel, använd resultatet från tidigare validering som "result" nedan:
167
-
```bash
168
-
curl -X POST http://localhost:5173/api/validation/generate-report \
169
-
-H "Content-Type: application/json" \
170
-
-o avstamningsfil.xlsx \
171
-
-d '{
172
-
"result": [],
173
-
"categories": []
174
-
}'
175
-
151
+
curl -sS -X POST http://localhost:3000/api/v1/validation/url \
152
+
-H 'Content-Type: application/json' \
153
+
-H 'Accept: application/json' \
154
+
-d '{"url":"https://testurl.com/q/openapi"}' \
155
+
| jq
176
156
```
177
157
178
158
## Versioner
179
-
Main-branchen, feature-brancher, pre-release- och testversioner används med reservation för att de kan innehålla funktionalitet som inte är garanterad att den är testad på samma sätt som en stabil version.
159
+
160
+
Main-branchen, feature-brancher, pre-release- och testversioner används med reservation för att de kan innehålla funktionalitet som inte är garanterad att den är testad på samma sätt som en stabil version.
180
161
181
162
**Stabila versioner**<br>
182
163
[Release](https://github.com/diggsweden/rest-api-profil-lint-processor/releases) ska alltid vara stabil och testad, vilket gör den till den föredragna versionen för att nyttja verktyget.<br>
183
164
Dessa versioner är taggade med `vX.X.X` utan något suffix.
184
165
185
166
**Pre-release- och testversioner**<br>
186
167
Pre-release-versioner är taggade med följande suffix:
168
+
187
169
- alpha → tidig testversion, ofta instabil
188
170
- beta → mer testad, men fortfarande pre-release
189
171
- rc → nära färdigställande, stabil release candidate
@@ -192,35 +174,40 @@ Rena testversioner är taggade med `vX.X.X-dev` följt av namnet på den branche
192
174
Dessa versioner är byggda för att testa funktionalitet som är under utveckling.
För att visa aktuell version av verktyget, lägg till `--version`
288
281
289
282
```bash
@@ -296,9 +289,90 @@ raplp --version
296
289
raplp --help
297
290
```
298
291
292
+
### API-läge
293
+
294
+
Verktyget kan även köras som en lokal HTTP-server, via API (Applikation Programming Interface). I detta läge kan funktionaliteten anropas via HTTP i stället för CLI-flaggor.
295
+
296
+
För att starta servern, kör:
297
+
298
+
```bash
299
+
npm start -- -m api
300
+
```
301
+
302
+
Validera mot en endpoint:
303
+
304
+
```bash
305
+
POST http://localhost:3000/api/v1/validation/validate
306
+
```
307
+
308
+
Request body - application/json`
309
+
310
+
```bash
311
+
{
312
+
"yaml": "<base64encoded file>",
313
+
"categories": [
314
+
"CATEGORY1",
315
+
"CATEGORY2"
316
+
]
317
+
}
318
+
```
319
+
320
+
Använd detta kommando för att validera en yaml-fil via terminalen, här kan du även validera mot specifika [kategorier](#tillgängliga-kategorier-med-regler):
321
+
322
+
```bash
323
+
curl -X POST http://localhost:3000/api/v1/validation/validate \
Det går också att validera via en url istället för en fil men då behöver API-läget startas med en extra flagga för att låsa upp möjligheten att nyttja endpointen:
337
+
338
+
```bash
339
+
npm start -- -m api --enableUrlValidation
340
+
```
341
+
342
+
Använd detta kommando för att validera en yaml-fil baserat på en url via terminalen, även här kan man skicka med kategorier för valideringen. Se tidigare kommando:
343
+
344
+
```bash
345
+
curl -sS -X POST http://localhost:3000/api/v1/validation/url \
346
+
-H "Content-Type: application/json" \
347
+
-d '{"url":"<URL_TO_YAML_FILE>"}'| jq
348
+
```
349
+
350
+
Exempel:
351
+
352
+
```bash
353
+
curl -sS -X POST http://localhost:3000/api/v1/validation/url \
#### Ladda ned information om regelutfall som en Excel-fil via api-läge
359
+
360
+
För att spara information om regelutfall från diagnostiseringen till en avstämningsfil i Excel, använd resultatet från tidigare validering som "result" nedan:
361
+
362
+
```bash
363
+
curl -X POST http://localhost:5173/api/validation/generate-report \
364
+
-H "Content-Type: application/json" \
365
+
-o avstamningsfil.xlsx \
366
+
-d '{
367
+
"result": [],
368
+
"categories": []
369
+
}'
370
+
371
+
```
372
+
299
373
### Riktlinjer och förklaringar
300
-
Vill du veta mer om de specifika reglerna som verktyget tillämpar, se avsnittet [GUIDELINES](GUIDELINES.md) för detaljer.
301
374
375
+
Vill du veta mer om de specifika reglerna som verktyget tillämpar, se avsnittet [GUIDELINES](GUIDELINES.md) för detaljer.
302
376
303
377
### Förklaring av översikt för regelutfall
304
378
@@ -352,7 +426,9 @@ Kravet har bedömts ha allvarlighetsgraden Warning eftersom API:et bryter mot et
352
426
Om du har frågor, funderingar, buggrapporter etc, vänligen kontakta [Digg - Agency for Digital Government](https://www.digg.se/)
353
427
354
428
## FAQ
429
+
355
430
### Hur skapar jag ett GitHub Personal Access Token (PAT)?
431
+
356
432
1. Gå till GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic) → Generate new token → Generate new token (classic).
357
433
2. Sätt en beskrivning för ditt token under `Note` och ett utgångsdatum under `Expiration` (ha utgångsdatum!).
0 commit comments