@twin.org/api-models 0.0.1-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/README.md +21 -0
- package/dist/cjs/index.cjs +90 -0
- package/dist/esm/index.mjs +87 -0
- package/dist/types/helpers/httpErrorHelper.d.ts +25 -0
- package/dist/types/index.d.ts +39 -0
- package/dist/types/models/api/IServerHealthResponse.d.ts +10 -0
- package/dist/types/models/api/IServerInfoResponse.d.ts +10 -0
- package/dist/types/models/api/IServerSpecResponse.d.ts +14 -0
- package/dist/types/models/config/IBaseRestClientConfig.d.ts +26 -0
- package/dist/types/models/config/IBaseSocketClientConfig.d.ts +18 -0
- package/dist/types/models/protocol/IHttpRequest.d.ts +24 -0
- package/dist/types/models/protocol/IHttpRequestContext.d.ts +17 -0
- package/dist/types/models/protocol/IHttpRequestIdentity.d.ts +13 -0
- package/dist/types/models/protocol/IHttpRequestPathParams.d.ts +6 -0
- package/dist/types/models/protocol/IHttpRequestQuery.d.ts +6 -0
- package/dist/types/models/protocol/IHttpResponse.d.ts +18 -0
- package/dist/types/models/protocol/IHttpServerRequest.d.ts +15 -0
- package/dist/types/models/requests/INoContentRequest.d.ts +22 -0
- package/dist/types/models/responses/errors/IBadRequestResponse.d.ts +15 -0
- package/dist/types/models/responses/errors/IConflictResponse.d.ts +20 -0
- package/dist/types/models/responses/errors/IForbiddenResponse.d.ts +15 -0
- package/dist/types/models/responses/errors/IInternalServerErrorResponse.d.ts +15 -0
- package/dist/types/models/responses/errors/INotFoundResponse.d.ts +20 -0
- package/dist/types/models/responses/errors/IUnauthorizedResponse.d.ts +15 -0
- package/dist/types/models/responses/errors/IUnprocessableEntityResponse.d.ts +15 -0
- package/dist/types/models/responses/success/IAcceptedResponse.d.ts +19 -0
- package/dist/types/models/responses/success/ICreatedResponse.d.ts +19 -0
- package/dist/types/models/responses/success/INoContentResponse.d.ts +10 -0
- package/dist/types/models/responses/success/IOkResponse.d.ts +10 -0
- package/dist/types/models/routes/IBaseRoute.d.ts +17 -0
- package/dist/types/models/routes/IRestRoute.d.ts +81 -0
- package/dist/types/models/routes/IRestRouteEntryPoint.d.ts +23 -0
- package/dist/types/models/routes/IRestRouteResponseAttachmentOptions.d.ts +17 -0
- package/dist/types/models/routes/IRestRouteResponseOptions.d.ts +10 -0
- package/dist/types/models/routes/ISocketRoute.d.ts +27 -0
- package/dist/types/models/routes/ITag.d.ts +13 -0
- package/dist/types/models/server/IHttpRestRouteProcessor.d.ts +46 -0
- package/dist/types/models/server/IWebServer.d.ts +31 -0
- package/dist/types/models/server/IWebServerOptions.d.ts +34 -0
- package/dist/types/models/services/IHealthInfo.d.ts +27 -0
- package/dist/types/models/services/IInformationComponent.d.ts +38 -0
- package/dist/types/models/services/IServerInfo.d.ts +13 -0
- package/dist/types/models/services/healthStatus.d.ts +21 -0
- package/docs/changelog.md +5 -0
- package/docs/examples.md +1 -0
- package/docs/reference/classes/HttpErrorHelper.md +71 -0
- package/docs/reference/index.md +53 -0
- package/docs/reference/interfaces/IAcceptedResponse.md +25 -0
- package/docs/reference/interfaces/IBadRequestResponse.md +19 -0
- package/docs/reference/interfaces/IBaseRestClientConfig.md +43 -0
- package/docs/reference/interfaces/IBaseRoute.md +32 -0
- package/docs/reference/interfaces/IBaseSocketClientConfig.md +27 -0
- package/docs/reference/interfaces/IConflictResponse.md +27 -0
- package/docs/reference/interfaces/ICreatedResponse.md +25 -0
- package/docs/reference/interfaces/IForbiddenResponse.md +19 -0
- package/docs/reference/interfaces/IHealthInfo.md +19 -0
- package/docs/reference/interfaces/IHttpRequest.md +44 -0
- package/docs/reference/interfaces/IHttpRequestContext.md +51 -0
- package/docs/reference/interfaces/IHttpRequestIdentity.md +23 -0
- package/docs/reference/interfaces/IHttpRequestPathParams.md +7 -0
- package/docs/reference/interfaces/IHttpRequestQuery.md +7 -0
- package/docs/reference/interfaces/IHttpResponse.md +31 -0
- package/docs/reference/interfaces/IHttpRestRouteProcessor.md +115 -0
- package/docs/reference/interfaces/IHttpServerRequest.md +75 -0
- package/docs/reference/interfaces/IInformationComponent.md +97 -0
- package/docs/reference/interfaces/IInternalServerErrorResponse.md +19 -0
- package/docs/reference/interfaces/INoContentRequest.md +55 -0
- package/docs/reference/interfaces/INoContentResponse.md +11 -0
- package/docs/reference/interfaces/INotFoundResponse.md +27 -0
- package/docs/reference/interfaces/IOkResponse.md +11 -0
- package/docs/reference/interfaces/IRestRoute.md +137 -0
- package/docs/reference/interfaces/IRestRouteEntryPoint.md +45 -0
- package/docs/reference/interfaces/IRestRouteResponseAttachmentOptions.md +27 -0
- package/docs/reference/interfaces/IRestRouteResponseOptions.md +11 -0
- package/docs/reference/interfaces/IServerHealthResponse.md +11 -0
- package/docs/reference/interfaces/IServerInfo.md +19 -0
- package/docs/reference/interfaces/IServerInfoResponse.md +11 -0
- package/docs/reference/interfaces/IServerSpecResponse.md +19 -0
- package/docs/reference/interfaces/ISocketRoute.md +73 -0
- package/docs/reference/interfaces/ITag.md +19 -0
- package/docs/reference/interfaces/IUnauthorizedResponse.md +19 -0
- package/docs/reference/interfaces/IUnprocessableEntityResponse.md +19 -0
- package/docs/reference/interfaces/IWebServer.md +77 -0
- package/docs/reference/interfaces/IWebServerOptions.md +75 -0
- package/docs/reference/type-aliases/HealthStatus.md +5 -0
- package/docs/reference/variables/HealthStatus.md +25 -0
- package/locales/en.json +9 -0
- package/package.json +65 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
# Interface: IUnprocessableEntityResponse
|
|
2
|
+
|
|
3
|
+
The server cannot process the request, see the content for more details.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
### statusCode
|
|
8
|
+
|
|
9
|
+
> **statusCode**: `422`
|
|
10
|
+
|
|
11
|
+
Response status code.
|
|
12
|
+
|
|
13
|
+
***
|
|
14
|
+
|
|
15
|
+
### body
|
|
16
|
+
|
|
17
|
+
> **body**: `IError`
|
|
18
|
+
|
|
19
|
+
The body which contains the error.
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Interface: IWebServer\<T\>
|
|
2
|
+
|
|
3
|
+
Interface describing a web server.
|
|
4
|
+
|
|
5
|
+
## Type Parameters
|
|
6
|
+
|
|
7
|
+
• **T**
|
|
8
|
+
|
|
9
|
+
## Methods
|
|
10
|
+
|
|
11
|
+
### getInstance()
|
|
12
|
+
|
|
13
|
+
> **getInstance**(): `T`
|
|
14
|
+
|
|
15
|
+
Get the web server instance.
|
|
16
|
+
|
|
17
|
+
#### Returns
|
|
18
|
+
|
|
19
|
+
`T`
|
|
20
|
+
|
|
21
|
+
The web server instance.
|
|
22
|
+
|
|
23
|
+
***
|
|
24
|
+
|
|
25
|
+
### build()
|
|
26
|
+
|
|
27
|
+
> **build**(`restRouteProcessors`, `restRoutes`, `options`?): `Promise`\<`void`\>
|
|
28
|
+
|
|
29
|
+
Build the server.
|
|
30
|
+
|
|
31
|
+
#### Parameters
|
|
32
|
+
|
|
33
|
+
• **restRouteProcessors**: [`IHttpRestRouteProcessor`](IHttpRestRouteProcessor.md)[]
|
|
34
|
+
|
|
35
|
+
The hooks to process the incoming requests.
|
|
36
|
+
|
|
37
|
+
• **restRoutes**: [`IRestRoute`](IRestRoute.md)\<`any`, `any`\>[]
|
|
38
|
+
|
|
39
|
+
The REST routes.
|
|
40
|
+
|
|
41
|
+
• **options?**: [`IWebServerOptions`](IWebServerOptions.md)
|
|
42
|
+
|
|
43
|
+
Options for building the server.
|
|
44
|
+
|
|
45
|
+
#### Returns
|
|
46
|
+
|
|
47
|
+
`Promise`\<`void`\>
|
|
48
|
+
|
|
49
|
+
Nothing.
|
|
50
|
+
|
|
51
|
+
***
|
|
52
|
+
|
|
53
|
+
### start()
|
|
54
|
+
|
|
55
|
+
> **start**(): `Promise`\<`void`\>
|
|
56
|
+
|
|
57
|
+
Start the server.
|
|
58
|
+
|
|
59
|
+
#### Returns
|
|
60
|
+
|
|
61
|
+
`Promise`\<`void`\>
|
|
62
|
+
|
|
63
|
+
Nothing.
|
|
64
|
+
|
|
65
|
+
***
|
|
66
|
+
|
|
67
|
+
### stop()
|
|
68
|
+
|
|
69
|
+
> **stop**(): `Promise`\<`void`\>
|
|
70
|
+
|
|
71
|
+
Stop the server.
|
|
72
|
+
|
|
73
|
+
#### Returns
|
|
74
|
+
|
|
75
|
+
`Promise`\<`void`\>
|
|
76
|
+
|
|
77
|
+
Nothing.
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
# Interface: IWebServerOptions
|
|
2
|
+
|
|
3
|
+
Options for the web server.
|
|
4
|
+
|
|
5
|
+
## Properties
|
|
6
|
+
|
|
7
|
+
### port?
|
|
8
|
+
|
|
9
|
+
> `optional` **port**: `number`
|
|
10
|
+
|
|
11
|
+
The port to bind the web server to.
|
|
12
|
+
|
|
13
|
+
#### Default
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
3000
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
***
|
|
20
|
+
|
|
21
|
+
### host?
|
|
22
|
+
|
|
23
|
+
> `optional` **host**: `string`
|
|
24
|
+
|
|
25
|
+
The address to bind the web server to.
|
|
26
|
+
|
|
27
|
+
#### Default
|
|
28
|
+
|
|
29
|
+
```ts
|
|
30
|
+
localhost
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
***
|
|
34
|
+
|
|
35
|
+
### methods?
|
|
36
|
+
|
|
37
|
+
> `optional` **methods**: `HttpMethod`[]
|
|
38
|
+
|
|
39
|
+
The methods that the server accepts.
|
|
40
|
+
|
|
41
|
+
#### Default
|
|
42
|
+
|
|
43
|
+
```ts
|
|
44
|
+
["GET", "PUT", "POST", "DELETE", "OPTIONS"]
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
***
|
|
48
|
+
|
|
49
|
+
### allowedHeaders?
|
|
50
|
+
|
|
51
|
+
> `optional` **allowedHeaders**: `string`[]
|
|
52
|
+
|
|
53
|
+
Any additional allowed headers.
|
|
54
|
+
|
|
55
|
+
***
|
|
56
|
+
|
|
57
|
+
### exposedHeaders?
|
|
58
|
+
|
|
59
|
+
> `optional` **exposedHeaders**: `string`[]
|
|
60
|
+
|
|
61
|
+
And additional exposed headers.
|
|
62
|
+
|
|
63
|
+
***
|
|
64
|
+
|
|
65
|
+
### corsOrigins?
|
|
66
|
+
|
|
67
|
+
> `optional` **corsOrigins**: `string` \| `string`[]
|
|
68
|
+
|
|
69
|
+
The allowed CORS domains.
|
|
70
|
+
|
|
71
|
+
#### Default
|
|
72
|
+
|
|
73
|
+
```ts
|
|
74
|
+
["*"]
|
|
75
|
+
```
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Variable: HealthStatus
|
|
2
|
+
|
|
3
|
+
> `const` **HealthStatus**: `object`
|
|
4
|
+
|
|
5
|
+
The health status of the component.
|
|
6
|
+
|
|
7
|
+
## Type declaration
|
|
8
|
+
|
|
9
|
+
### Ok
|
|
10
|
+
|
|
11
|
+
> `readonly` **Ok**: `"ok"` = `"ok"`
|
|
12
|
+
|
|
13
|
+
OK.
|
|
14
|
+
|
|
15
|
+
### Warning
|
|
16
|
+
|
|
17
|
+
> `readonly` **Warning**: `"warning"` = `"warning"`
|
|
18
|
+
|
|
19
|
+
Warning.
|
|
20
|
+
|
|
21
|
+
### Error
|
|
22
|
+
|
|
23
|
+
> `readonly` **Error**: `"error"` = `"error"`
|
|
24
|
+
|
|
25
|
+
Error.
|
package/locales/en.json
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"error": {
|
|
3
|
+
"baseRestClient": {
|
|
4
|
+
"missingRouteProp": "Missing route parameter in data \"{routeProp}\" for route \"{route}\"",
|
|
5
|
+
"decodingFailed": "Decoding JSON failed for route \"{route}\"",
|
|
6
|
+
"failureStatusText": "The request to the API failed: \"{statusText}\""
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
}
|
package/package.json
ADDED
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@twin.org/api-models",
|
|
3
|
+
"version": "0.0.1-next.1",
|
|
4
|
+
"description": "Contains models and classes for use with APIs",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "git+https://github.com/twinfoundation/api.git",
|
|
8
|
+
"directory": "packages/api-models"
|
|
9
|
+
},
|
|
10
|
+
"author": "martyn.janes@iota.org",
|
|
11
|
+
"license": "Apache-2.0",
|
|
12
|
+
"type": "module",
|
|
13
|
+
"engines": {
|
|
14
|
+
"node": ">=20.0.0"
|
|
15
|
+
},
|
|
16
|
+
"scripts": {
|
|
17
|
+
"clean": "rimraf dist coverage",
|
|
18
|
+
"build": "tspc",
|
|
19
|
+
"test": "vitest --run --config ./vitest.config.ts --no-cache",
|
|
20
|
+
"coverage": "vitest --run --coverage --config ./vitest.config.ts --no-cache",
|
|
21
|
+
"bundle:esm": "rollup --config rollup.config.mjs --environment MODULE:esm",
|
|
22
|
+
"bundle:cjs": "rollup --config rollup.config.mjs --environment MODULE:cjs",
|
|
23
|
+
"bundle": "npm run bundle:esm && npm run bundle:cjs",
|
|
24
|
+
"docs:clean": "rimraf docs/reference",
|
|
25
|
+
"docs:generate": "typedoc",
|
|
26
|
+
"docs": "npm run docs:clean && npm run docs:generate",
|
|
27
|
+
"dist": "npm run clean && npm run build && npm run test && npm run bundle && npm run docs"
|
|
28
|
+
},
|
|
29
|
+
"dependencies": {
|
|
30
|
+
"@twin.org/core": "next",
|
|
31
|
+
"@twin.org/nameof": "next",
|
|
32
|
+
"@twin.org/web": "next"
|
|
33
|
+
},
|
|
34
|
+
"devDependencies": {
|
|
35
|
+
"@twin.org/nameof-transformer": "next",
|
|
36
|
+
"@vitest/coverage-v8": "2.1.1",
|
|
37
|
+
"@types/node": "22.5.5",
|
|
38
|
+
"copyfiles": "2.4.1",
|
|
39
|
+
"rimraf": "6.0.1",
|
|
40
|
+
"rollup": "4.21.3",
|
|
41
|
+
"rollup-plugin-typescript2": "0.36.0",
|
|
42
|
+
"ts-patch": "3.2.1",
|
|
43
|
+
"typedoc": "0.26.7",
|
|
44
|
+
"typedoc-plugin-markdown": "4.2.7",
|
|
45
|
+
"typescript": "5.6.2",
|
|
46
|
+
"vitest": "2.1.1"
|
|
47
|
+
},
|
|
48
|
+
"main": "./dist/cjs/index.cjs",
|
|
49
|
+
"module": "./dist/esm/index.mjs",
|
|
50
|
+
"types": "./dist/types/index.d.ts",
|
|
51
|
+
"exports": {
|
|
52
|
+
".": {
|
|
53
|
+
"require": "./dist/cjs/index.cjs",
|
|
54
|
+
"import": "./dist/esm/index.mjs",
|
|
55
|
+
"types": "./dist/types/index.d.ts"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"files": [
|
|
59
|
+
"dist/cjs",
|
|
60
|
+
"dist/esm",
|
|
61
|
+
"dist/types",
|
|
62
|
+
"locales",
|
|
63
|
+
"docs"
|
|
64
|
+
]
|
|
65
|
+
}
|