@rapidrest/service-core 1.0.0-rc.2 → 1.0.0-rc.21
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/dist/lib/BackgroundService.js +0 -4
- package/dist/lib/BackgroundService.js.map +1 -1
- package/dist/lib/BackgroundServiceManager.js +21 -4
- package/dist/lib/BackgroundServiceManager.js.map +1 -1
- package/dist/lib/EventListenerManager.js.map +1 -1
- package/dist/lib/OpenApiSpec.js +3 -2
- package/dist/lib/OpenApiSpec.js.map +1 -1
- package/dist/lib/Server.js +18 -79
- package/dist/lib/Server.js.map +1 -1
- package/dist/lib/database/TypeOrmSupport.js +18 -2
- package/dist/lib/database/TypeOrmSupport.js.map +1 -1
- package/dist/lib/decorators/DocDecorators.js +19 -1
- package/dist/lib/decorators/DocDecorators.js.map +1 -1
- package/dist/lib/decorators/PersistenceDecorators.js.map +1 -1
- package/dist/lib/decorators/RouteDecorators.js +71 -20
- package/dist/lib/decorators/RouteDecorators.js.map +1 -1
- package/dist/lib/http/Adapters.js +45 -2
- package/dist/lib/http/Adapters.js.map +1 -1
- package/dist/lib/http/Router.js +53 -56
- package/dist/lib/http/Router.js.map +1 -1
- package/dist/lib/models/ModelUtils.js +18 -8
- package/dist/lib/models/ModelUtils.js.map +1 -1
- package/dist/lib/models/RepoUtils.js +96 -31
- package/dist/lib/models/RepoUtils.js.map +1 -1
- package/dist/lib/routes/{AdminRoute.js → BaseAdminRoute.js} +51 -36
- package/dist/lib/routes/BaseAdminRoute.js.map +1 -0
- package/dist/lib/routes/{MetricsRoute.js → BaseMetricsRoute.js} +28 -15
- package/dist/lib/routes/BaseMetricsRoute.js.map +1 -0
- package/dist/lib/routes/{OpenAPIRoute.js → BaseOpenAPIRoute.js} +31 -32
- package/dist/lib/routes/BaseOpenAPIRoute.js.map +1 -0
- package/dist/lib/routes/BasePushRoute.js +193 -0
- package/dist/lib/routes/BasePushRoute.js.map +1 -0
- package/dist/lib/routes/BaseStaticRoute.js +152 -0
- package/dist/lib/routes/BaseStaticRoute.js.map +1 -0
- package/dist/lib/routes/BaseStatusRoute.js +79 -0
- package/dist/lib/routes/BaseStatusRoute.js.map +1 -0
- package/dist/lib/routes/CRUDRoute.js +238 -0
- package/dist/lib/routes/CRUDRoute.js.map +1 -0
- package/dist/lib/routes/ModelRoute.js +20 -28
- package/dist/lib/routes/ModelRoute.js.map +1 -1
- package/dist/lib/routes/index.js +7 -4
- package/dist/lib/routes/index.js.map +1 -1
- package/dist/lib/security/ACLUtils.js +10 -13
- package/dist/lib/security/ACLUtils.js.map +1 -1
- package/dist/lib/security/AccessControlListMongo.js +5 -1
- package/dist/lib/security/AccessControlListMongo.js.map +1 -1
- package/dist/lib/security/AccessControlListSQL.js +7 -3
- package/dist/lib/security/AccessControlListSQL.js.map +1 -1
- package/dist/lib/security/BaseACLRoute.js +239 -0
- package/dist/lib/security/BaseACLRoute.js.map +1 -0
- package/dist/lib/security/index.js +3 -0
- package/dist/lib/security/index.js.map +1 -1
- package/dist/lib/test/request.js +6 -2
- package/dist/lib/test/request.js.map +1 -1
- package/dist/types/BackgroundService.d.ts +0 -5
- package/dist/types/BackgroundServiceManager.d.ts +1 -1
- package/dist/types/EventListenerManager.d.ts +4 -4
- package/dist/types/Server.d.ts +21 -6
- package/dist/types/decorators/DocDecorators.d.ts +9 -0
- package/dist/types/decorators/PersistenceDecorators.d.ts +7 -0
- package/dist/types/decorators/RouteDecorators.d.ts +14 -5
- package/dist/types/http/Adapters.d.ts +19 -0
- package/dist/types/http/Router.d.ts +6 -6
- package/dist/types/models/ModelUtils.d.ts +2 -1
- package/dist/types/routes/BaseAdminRoute.d.ts +59 -0
- package/dist/types/routes/BaseMetricsRoute.d.ts +37 -0
- package/dist/types/routes/BaseOpenAPIRoute.d.ts +33 -0
- package/dist/types/routes/BasePushRoute.d.ts +39 -0
- package/dist/types/routes/BaseStaticRoute.d.ts +44 -0
- package/dist/types/routes/BaseStatusRoute.d.ts +37 -0
- package/dist/types/routes/CRUDRoute.d.ts +47 -0
- package/dist/types/routes/ModelRoute.d.ts +23 -16
- package/dist/types/routes/index.d.ts +7 -4
- package/dist/types/security/ACLUtils.d.ts +1 -1
- package/dist/types/security/AccessControlList.d.ts +1 -1
- package/dist/types/security/AccessControlListMongo.d.ts +1 -1
- package/dist/types/security/AccessControlListSQL.d.ts +1 -1
- package/dist/types/security/BaseACLRoute.d.ts +73 -0
- package/dist/types/security/index.d.ts +3 -0
- package/package.json +132 -129
- package/tsconfig.export.json +17 -0
- package/dist/lib/routes/AdminRoute.js.map +0 -1
- package/dist/lib/routes/MetricsRoute.js.map +0 -1
- package/dist/lib/routes/OpenAPIRoute.js.map +0 -1
- package/dist/lib/routes/StatusRoute.js +0 -55
- package/dist/lib/routes/StatusRoute.js.map +0 -1
- package/dist/lib/security/ACLRouteMongo.js +0 -194
- package/dist/lib/security/ACLRouteMongo.js.map +0 -1
- package/dist/lib/security/ACLRouteSQL.js +0 -193
- package/dist/lib/security/ACLRouteSQL.js.map +0 -1
- package/dist/types/routes/AdminRoute.d.ts +0 -47
- package/dist/types/routes/MetricsRoute.d.ts +0 -15
- package/dist/types/routes/OpenAPIRoute.d.ts +0 -17
- package/dist/types/routes/StatusRoute.d.ts +0 -11
- package/dist/types/security/ACLRouteMongo.d.ts +0 -19
- package/dist/types/security/ACLRouteSQL.d.ts +0 -19
- package/docs/Makefile +0 -20
- package/docs/conf.py +0 -58
- package/docs/index.rst +0 -17
- package/docs/make.bat +0 -35
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/README.md +0 -13
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/README.md +0 -23
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +0 -28
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +0 -25
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +0 -28
- package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +0 -57
- package/docs/reference/@rapidrest/namespaces/EventDecorators/README.md +0 -12
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +0 -17
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +0 -26
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/README.md +0 -26
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +0 -25
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +0 -18
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +0 -25
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +0 -27
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +0 -35
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +0 -25
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +0 -27
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +0 -26
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +0 -45
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +0 -14
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/README.md +0 -27
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +0 -25
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +0 -25
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +0 -119
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +0 -25
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +0 -68
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +0 -26
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +0 -26
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +0 -27
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/CollationOptions.md +0 -79
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +0 -41
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +0 -51
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/EntityOptions.md +0 -32
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +0 -41
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +0 -61
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/README.md +0 -36
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +0 -26
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +0 -33
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +0 -26
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +0 -26
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +0 -26
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +0 -33
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +0 -31
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +0 -25
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +0 -25
- package/docs/reference/README.md +0 -20
- package/docs/reference/classes/ACLUtils.md +0 -263
- package/docs/reference/classes/AdminRoute.md +0 -51
- package/docs/reference/classes/AuthMiddleware.md +0 -173
- package/docs/reference/classes/BackgroundService.md +0 -117
- package/docs/reference/classes/BackgroundServiceManager.md +0 -172
- package/docs/reference/classes/BaseEntity.md +0 -82
- package/docs/reference/classes/BaseMongoEntity.md +0 -107
- package/docs/reference/classes/BasicStrategy.md +0 -131
- package/docs/reference/classes/BasicStrategyOptions.md +0 -115
- package/docs/reference/classes/BulkError.md +0 -271
- package/docs/reference/classes/ConnectionManager.md +0 -75
- package/docs/reference/classes/EventListenerManager.md +0 -88
- package/docs/reference/classes/HttpRouter.md +0 -343
- package/docs/reference/classes/JWTStrategy.md +0 -100
- package/docs/reference/classes/JWTStrategyOptions.md +0 -97
- package/docs/reference/classes/MetricsRoute.md +0 -27
- package/docs/reference/classes/ModelRoute.md +0 -527
- package/docs/reference/classes/ModelUtils.md +0 -430
- package/docs/reference/classes/MongoConnection.md +0 -218
- package/docs/reference/classes/MongoRepository.md +0 -390
- package/docs/reference/classes/MongoSchemaSync.md +0 -97
- package/docs/reference/classes/NetUtils.md +0 -90
- package/docs/reference/classes/NotificationUtils.md +0 -77
- package/docs/reference/classes/ObjectFactory.md +0 -336
- package/docs/reference/classes/OpenAPIRoute.md +0 -77
- package/docs/reference/classes/OpenApiSpec.md +0 -892
- package/docs/reference/classes/RecoverableBaseEntity.md +0 -114
- package/docs/reference/classes/RecoverableBaseMongoEntity.md +0 -124
- package/docs/reference/classes/RedisTransport.md +0 -2202
- package/docs/reference/classes/RepoUtils.md +0 -482
- package/docs/reference/classes/RouteUtils.md +0 -191
- package/docs/reference/classes/Server.md +0 -408
- package/docs/reference/classes/SimpleEntity.md +0 -48
- package/docs/reference/classes/SimpleMongoEntity.md +0 -66
- package/docs/reference/classes/StatusExtraData.md +0 -57
- package/docs/reference/classes/StatusRoute.md +0 -26
- package/docs/reference/classes/UWSRequest.md +0 -226
- package/docs/reference/classes/UWSResponse.md +0 -257
- package/docs/reference/classes/UWSWebSocketShim.md +0 -958
- package/docs/reference/enumerations/ACLAction.md +0 -63
- package/docs/reference/enumerations/ApiErrorMessages.md +0 -123
- package/docs/reference/enumerations/ApiErrors.md +0 -123
- package/docs/reference/functions/createWebSocketStream.md +0 -27
- package/docs/reference/functions/isSqlDataSource.md +0 -26
- package/docs/reference/functions/readBody.md +0 -29
- package/docs/reference/functions/resolveCollectionName.md +0 -33
- package/docs/reference/functions/runChain.md +0 -40
- package/docs/reference/functions/snakeCase.md +0 -28
- package/docs/reference/globals.md +0 -106
- package/docs/reference/interfaces/ACLRecord.md +0 -96
- package/docs/reference/interfaces/AccessControlList.md +0 -76
- package/docs/reference/interfaces/AuthResult.md +0 -55
- package/docs/reference/interfaces/AuthStrategy.md +0 -95
- package/docs/reference/interfaces/CreateRequestOptions.md +0 -121
- package/docs/reference/interfaces/DeleteRequestOptions.md +0 -137
- package/docs/reference/interfaces/FindRequestOptions.md +0 -133
- package/docs/reference/interfaces/HttpRequest.md +0 -147
- package/docs/reference/interfaces/HttpResponse.md +0 -164
- package/docs/reference/interfaces/JWTAuthResult.md +0 -84
- package/docs/reference/interfaces/RepoCreateOptions.md +0 -95
- package/docs/reference/interfaces/RepoDeleteOptions.md +0 -105
- package/docs/reference/interfaces/RepoFindOptions.md +0 -125
- package/docs/reference/interfaces/RepoOperationOptions.md +0 -69
- package/docs/reference/interfaces/RepoUpdateOptions.md +0 -101
- package/docs/reference/interfaces/RequestOptions.md +0 -112
- package/docs/reference/interfaces/RequestWS.md +0 -225
- package/docs/reference/interfaces/TruncateRequestOptions.md +0 -161
- package/docs/reference/interfaces/UpdateRequestOptions.md +0 -139
- package/docs/reference/type-aliases/ErrorHandler.md +0 -35
- package/docs/reference/type-aliases/NextFunction.md +0 -23
- package/docs/reference/type-aliases/OneOrMany.md +0 -19
- package/docs/reference/type-aliases/OneOrNull.md +0 -19
- package/docs/reference/type-aliases/PartialBaseEntity.md +0 -17
- package/docs/reference/type-aliases/PartialSimpleEntity.md +0 -17
- package/docs/reference/type-aliases/RequestHandler.md +0 -31
- package/docs/reference/type-aliases/UpdateObject.md +0 -19
- package/docs/reference/type-aliases/WsUpgradeAuth.md +0 -27
- package/docs/reference/type-aliases/WsUpgradeAuthResult.md +0 -47
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
export * from "./
|
|
2
|
-
export * from "./
|
|
1
|
+
export * from "./BaseAdminRoute.js";
|
|
2
|
+
export * from "./BaseMetricsRoute.js";
|
|
3
|
+
export * from "./BaseOpenAPIRoute.js";
|
|
4
|
+
export * from "./BasePushRoute.js";
|
|
5
|
+
export * from "./BaseStaticRoute.js";
|
|
6
|
+
export * from "./BaseStatusRoute.js";
|
|
7
|
+
export * from "./CRUDRoute.js";
|
|
3
8
|
export * from "./ModelRoute.js";
|
|
4
|
-
export * from "./OpenAPIRoute.js";
|
|
5
9
|
export * from "./RouteUtils.js";
|
|
6
|
-
export * from "./StatusRoute.js";
|
|
@@ -45,7 +45,7 @@ export declare class ACLUtils {
|
|
|
45
45
|
* @param entityId The unique identifier of the ACL to retrieve.
|
|
46
46
|
* @param parentUids The list of already found parent UIDs. This is used to break circular dependencies.
|
|
47
47
|
*/
|
|
48
|
-
findACL(entityId: string, parentUids?: string[], reqCache?: Map<string, AccessControlList |
|
|
48
|
+
findACL(entityId: string, parentUids?: string[], reqCache?: Map<string, AccessControlList | undefined>): Promise<AccessControlList | undefined>;
|
|
49
49
|
/**
|
|
50
50
|
* Deletes the ACL with the given identifier from the database.
|
|
51
51
|
* @param uid The unique identifier of the ACL to remove.
|
|
@@ -90,7 +90,7 @@ export interface AccessControlList {
|
|
|
90
90
|
/**
|
|
91
91
|
* The parent access control list that this instance inherits permissions from.
|
|
92
92
|
*/
|
|
93
|
-
parent?: AccessControlList
|
|
93
|
+
parent?: AccessControlList;
|
|
94
94
|
/**
|
|
95
95
|
* The universally unique identifier of the parent `AccessControlList` that this object will inherit permissions
|
|
96
96
|
* from.
|
|
@@ -18,7 +18,7 @@ export declare class ACLRecordMongo implements ACLRecord {
|
|
|
18
18
|
*/
|
|
19
19
|
export declare class AccessControlListMongo extends BaseMongoEntity implements AccessControlList {
|
|
20
20
|
parent?: AccessControlList;
|
|
21
|
-
parentUid?: string
|
|
21
|
+
parentUid?: string;
|
|
22
22
|
records: ACLRecordMongo[];
|
|
23
23
|
constructor(other?: any);
|
|
24
24
|
}
|
|
@@ -18,7 +18,7 @@ export declare class ACLRecordSQL implements ACLRecord {
|
|
|
18
18
|
*/
|
|
19
19
|
export declare class AccessControlListSQL extends BaseEntity implements AccessControlList {
|
|
20
20
|
parent?: AccessControlList;
|
|
21
|
-
parentUid?: string
|
|
21
|
+
parentUid?: string;
|
|
22
22
|
records: ACLRecordSQL[];
|
|
23
23
|
constructor(other?: any);
|
|
24
24
|
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { HttpRequest, HttpResponse } from "../http/index.js";
|
|
2
|
+
import { AccessControlList } from "./AccessControlList.js";
|
|
3
|
+
import { JWTUser } from "@rapidrest/core";
|
|
4
|
+
import { UpdateObject } from "../routes/ModelRoute.js";
|
|
5
|
+
import { CRUDRoute } from "../routes/CRUDRoute.js";
|
|
6
|
+
/**
|
|
7
|
+
* The `BaseACLRoute` class provides a base set of endpoints for managing Access Control List records.
|
|
8
|
+
*
|
|
9
|
+
* Exposed endpoints:
|
|
10
|
+
*
|
|
11
|
+
* | Name | HTTP Method | What it does |
|
|
12
|
+
* | --- | --- | --- |
|
|
13
|
+
* | `count` | `HEAD /` | Counts the number of ACLs matching the provided set of criteria in the request's query parameters. Returns the count as the value of the `Content-Length` header. |
|
|
14
|
+
* | `create` | `POST /` | Adds one or more new ACLs to the datastore. |
|
|
15
|
+
* | `delete` | `DELETE /:id` | Removes an existing ACL from the datastore. |
|
|
16
|
+
* | `exists` | `HEAD /:id` | Checks if the ACL with the given ID exists in the datastore. Sets `Content-Length` header to `1` if the ACL exists, otherwise `0`. |
|
|
17
|
+
* | `find` | `GET /` | Returns all ACLs matching the provided set of criteria in the request's query parameters. |
|
|
18
|
+
* | `findById` | `GET /:id` | Returns a single ACL with a specified unique identifier. |
|
|
19
|
+
* | `truncate` | `DELETE /` | Removes all ACLs from the datastore. |
|
|
20
|
+
* | `update` | `PUT /:id` | Modifies an existing ACL in the datastore. |
|
|
21
|
+
* | `updateBulk` | `PUT /` | Modifies multiple existing ACLs in the datastore. |
|
|
22
|
+
* | `updateProperty` | `PUT /:id/:property` | Modifies an single property of the given name of an existing ACL in the datastore. |
|
|
23
|
+
*
|
|
24
|
+
* !!Note!! that the `BaseACLRoute` is not automatically registered with a server by default. You must create
|
|
25
|
+
* your own class that extends `BaseACLRoute` and apply the desired base path with `@Route()`.
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```ts
|
|
29
|
+
* import { AccessControlListMongo, BaseACLRoute, RouteDecorators } from "@rapidrest/service-core";
|
|
30
|
+
* const { Model, Route } = RouteDecorators;
|
|
31
|
+
*
|
|
32
|
+
* @Model(AccessControlListMongo)
|
|
33
|
+
* @Route("/acls")
|
|
34
|
+
* export class ACLRoute extends BaseACLRoute<AccessControlListMongo> {}
|
|
35
|
+
* ```
|
|
36
|
+
* @example
|
|
37
|
+
* ```ts
|
|
38
|
+
* import { AccessControlListSQL, BaseACLRoute, RouteDecorators } from "@rapidrest/service-core";
|
|
39
|
+
* const { Model, Route } = RouteDecorators;
|
|
40
|
+
*
|
|
41
|
+
* @Model(AccessControlListSQL)
|
|
42
|
+
* @Route("/acls")
|
|
43
|
+
* export class ACLRoute extends BaseACLRoute<AccessControlListSQL> {}
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @author Jean-Philippe Steinmetz
|
|
47
|
+
*/
|
|
48
|
+
export declare abstract class BaseACLRoute<T extends AccessControlList> extends CRUDRoute<T> {
|
|
49
|
+
protected checkPerms(params: any, user: JWTUser): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* The `default_<uid>` records are regenerated from code on every server startup (see
|
|
52
|
+
* `ACLUtils.saveDefaultACL`) and exist solely to seed the user-editable override record. They must never be
|
|
53
|
+
* deleted or modified directly, even by an administrator, since doing so would have no lasting effect and would
|
|
54
|
+
* only cause confusion.
|
|
55
|
+
*/
|
|
56
|
+
protected checkNotDefault(id: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* Bulk updates have no `:id` URI parameter to check a per-record permission against, so unlike `checkPerms`
|
|
59
|
+
* we can't fall back to a per-record `FULL` permission check here. Require a trusted role for every bulk
|
|
60
|
+
* update instead, and disallow touching any `default_<uid>` record (see `checkNotDefault`).
|
|
61
|
+
*/
|
|
62
|
+
protected checkPermsBulk(objs: UpdateObject<T>[], user: JWTUser): void;
|
|
63
|
+
count(params: any, query: any, res: HttpResponse, user?: JWTUser): Promise<any>;
|
|
64
|
+
create(obj: T | T[], req: HttpRequest, user?: JWTUser): Promise<T | Array<T>>;
|
|
65
|
+
delete(id: string, version: string | undefined, purge: string | undefined, req: HttpRequest, user?: JWTUser): Promise<void>;
|
|
66
|
+
exists(id: string, query: any, res: HttpResponse, user?: JWTUser): Promise<any>;
|
|
67
|
+
find(params: any, query: any, user?: JWTUser): Promise<Array<T>>;
|
|
68
|
+
findById(id: string, query: any, user?: JWTUser): Promise<T | null>;
|
|
69
|
+
truncate(params: any, query: any, user?: JWTUser): Promise<void>;
|
|
70
|
+
update(id: string, obj: UpdateObject<T>, req: HttpRequest, user?: JWTUser): Promise<T>;
|
|
71
|
+
updateProperty(id: string, propertyName: string, obj: any, user?: JWTUser): Promise<T>;
|
|
72
|
+
updateBulk(obj: UpdateObject<T>[], req: HttpRequest, user?: JWTUser): Promise<T[]>;
|
|
73
|
+
}
|
package/package.json
CHANGED
|
@@ -1,129 +1,132 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@rapidrest/service-core",
|
|
3
|
-
"version": "1.0.0-rc.
|
|
4
|
-
"description": "Provides all core functionality for RapidREST based backend services.",
|
|
5
|
-
"repository": "https://github.com/rapidrest/service-core.git",
|
|
6
|
-
"author": "RapidREST <rapidrests@gmail.com>",
|
|
7
|
-
"license": "MIT",
|
|
8
|
-
"contributors": [
|
|
9
|
-
"Jean-Philippe Steinmetz",
|
|
10
|
-
"Arthur Thompson",
|
|
11
|
-
"Thomas Buscaglia"
|
|
12
|
-
],
|
|
13
|
-
"scripts": {
|
|
14
|
-
"build": "yarn lint && rimraf dist && tsc",
|
|
15
|
-
"
|
|
16
|
-
"
|
|
17
|
-
"
|
|
18
|
-
"
|
|
19
|
-
"
|
|
20
|
-
"
|
|
21
|
-
"
|
|
22
|
-
"
|
|
23
|
-
"
|
|
24
|
-
"test": "vitest
|
|
25
|
-
"
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"
|
|
31
|
-
"
|
|
32
|
-
"
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
"
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
"
|
|
41
|
-
"
|
|
42
|
-
"
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
"
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
"
|
|
53
|
-
"optional": true
|
|
54
|
-
},
|
|
55
|
-
"
|
|
56
|
-
"optional": true
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"@
|
|
64
|
-
"@
|
|
65
|
-
"@types/
|
|
66
|
-
"@types/
|
|
67
|
-
"@types/
|
|
68
|
-
"@types/
|
|
69
|
-
"@
|
|
70
|
-
"@
|
|
71
|
-
"@
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"eslint": "^
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"
|
|
89
|
-
"
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
"
|
|
105
|
-
},
|
|
106
|
-
"
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
},
|
|
113
|
-
"
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
"
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@rapidrest/service-core",
|
|
3
|
+
"version": "1.0.0-rc.21",
|
|
4
|
+
"description": "Provides all core functionality for RapidREST based backend services.",
|
|
5
|
+
"repository": "https://github.com/rapidrest/service-core.git",
|
|
6
|
+
"author": "RapidREST <rapidrests@gmail.com>",
|
|
7
|
+
"license": "MIT",
|
|
8
|
+
"contributors": [
|
|
9
|
+
"Jean-Philippe Steinmetz",
|
|
10
|
+
"Arthur Thompson",
|
|
11
|
+
"Thomas Buscaglia"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "yarn lint && rimraf dist && tsc",
|
|
15
|
+
"lint": "eslint ./src ./test",
|
|
16
|
+
"local-audit": "yarn install && yarn npm audit -A -R \"$@\"",
|
|
17
|
+
"checkup": "yarn dlx @yarnpkg/doctor \"$@\"",
|
|
18
|
+
"dependency-check": "yarn dlx depcheck \"$@\"",
|
|
19
|
+
"report-coverage": "cat ./coverage/lcov.info | coveralls",
|
|
20
|
+
"bench": "tsx bench/index.ts",
|
|
21
|
+
"bench:baseline": "yarn bench 2>&1 | tee bench/baseline.txt",
|
|
22
|
+
"test": "vitest run",
|
|
23
|
+
"test:prod": "npm run lint && vitest run --coverage",
|
|
24
|
+
"test:watch": "vitest",
|
|
25
|
+
"postversion": "git push && git push --tags"
|
|
26
|
+
},
|
|
27
|
+
"dependencies": {
|
|
28
|
+
"axios": "^1.17.0",
|
|
29
|
+
"dayjs": "^1.11.21",
|
|
30
|
+
"deepmerge": "^4.3.1",
|
|
31
|
+
"node-schedule": "^2.1.1",
|
|
32
|
+
"uWebSockets.js": "uNetworking/uWebSockets.js#v20.68.0",
|
|
33
|
+
"winston-transport": "^4.9.0",
|
|
34
|
+
"ws": "^8.21.0"
|
|
35
|
+
},
|
|
36
|
+
"peerDependencies": {
|
|
37
|
+
"@rapidrest/core": "1.x",
|
|
38
|
+
"ioredis": "5.x",
|
|
39
|
+
"lodash-es": "4.x",
|
|
40
|
+
"mongodb": "^7.0.0",
|
|
41
|
+
"openapi3-ts": "4.x",
|
|
42
|
+
"prom-client": "15.x",
|
|
43
|
+
"reflect-metadata": "0.2.x",
|
|
44
|
+
"typeorm": "0.3.x",
|
|
45
|
+
"uWebSockets.js": "*",
|
|
46
|
+
"winston": "3.x"
|
|
47
|
+
},
|
|
48
|
+
"peerDependenciesMeta": {
|
|
49
|
+
"ioredis": {
|
|
50
|
+
"optional": true
|
|
51
|
+
},
|
|
52
|
+
"mongodb": {
|
|
53
|
+
"optional": true
|
|
54
|
+
},
|
|
55
|
+
"typeorm": {
|
|
56
|
+
"optional": true
|
|
57
|
+
}
|
|
58
|
+
},
|
|
59
|
+
"devDependencies": {
|
|
60
|
+
"@rapidrest/core": "^1.3.2",
|
|
61
|
+
"@swc/core": "^1.15.41",
|
|
62
|
+
"@types/ioredis-mock": "^8.2.7",
|
|
63
|
+
"@types/node": "^25.9.2",
|
|
64
|
+
"@types/node-schedule": "^2.1.8",
|
|
65
|
+
"@types/rimraf": "^4.0.5",
|
|
66
|
+
"@types/sqlite3": "^5.1.0",
|
|
67
|
+
"@types/uuid": "^11.0.0",
|
|
68
|
+
"@types/ws": "^8.18.1",
|
|
69
|
+
"@typescript-eslint/eslint-plugin": "^8.61.0",
|
|
70
|
+
"@typescript-eslint/parser": "^8.61.0",
|
|
71
|
+
"@vitest/coverage-v8": "^4.1.8",
|
|
72
|
+
"autocannon": "^8.0.0",
|
|
73
|
+
"coveralls": "^3.1.1",
|
|
74
|
+
"eslint": "^10.4.1",
|
|
75
|
+
"eslint-config-prettier": "^10.1.8",
|
|
76
|
+
"eslint-plugin-import": "^2.32.0",
|
|
77
|
+
"eslint-plugin-jsdoc": "^63.0.2",
|
|
78
|
+
"globals": "^17.6.0",
|
|
79
|
+
"ioredis": "^5.11.1",
|
|
80
|
+
"ioredis-mock": "^8.13.1",
|
|
81
|
+
"lodash-es": "^4.18.1",
|
|
82
|
+
"mongodb": "^7.3.0",
|
|
83
|
+
"mongodb-memory-server": "^11.2.0",
|
|
84
|
+
"nconf": "^0.13.0",
|
|
85
|
+
"openapi3-ts": "^4.6.0",
|
|
86
|
+
"pg": "^8.21.0",
|
|
87
|
+
"prom-client": "^15.1.3",
|
|
88
|
+
"reflect-metadata": "^0.2.2",
|
|
89
|
+
"rimraf": "^6.1.3",
|
|
90
|
+
"sqlite3": "^6.0.1",
|
|
91
|
+
"ts-node": "^10.9.2",
|
|
92
|
+
"tsx": "^4.19.3",
|
|
93
|
+
"typedoc": "^0.28.19",
|
|
94
|
+
"typedoc-plugin-markdown": "^4.12.0",
|
|
95
|
+
"typeorm": "^0.3.20",
|
|
96
|
+
"typescript": "^6.0.3",
|
|
97
|
+
"unplugin-swc": "^1.5.9",
|
|
98
|
+
"uuid": "^14.0.0",
|
|
99
|
+
"vitest": "^4.1.8",
|
|
100
|
+
"winston": "^3.19.0",
|
|
101
|
+
"ws": "^8.21.0"
|
|
102
|
+
},
|
|
103
|
+
"resolutions": {
|
|
104
|
+
"cross-spawn": "^7.0.5"
|
|
105
|
+
},
|
|
106
|
+
"packageManager": "yarn@4.5.3",
|
|
107
|
+
"engines": {
|
|
108
|
+
"node": ">=24.0.0"
|
|
109
|
+
},
|
|
110
|
+
"publishConfig": {
|
|
111
|
+
"registry": "https://registry.npmjs.org/"
|
|
112
|
+
},
|
|
113
|
+
"type": "module",
|
|
114
|
+
"main": "dist/lib/index.js",
|
|
115
|
+
"exports": {
|
|
116
|
+
".": {
|
|
117
|
+
"import": "./dist/lib/index.js",
|
|
118
|
+
"types": "./dist/types/index.d.ts"
|
|
119
|
+
},
|
|
120
|
+
"./test": {
|
|
121
|
+
"import": "./dist/lib/test/index.js",
|
|
122
|
+
"types": "./dist/types/test/index.d.ts"
|
|
123
|
+
},
|
|
124
|
+
"./tsconfig": "./tsconfig.export.json"
|
|
125
|
+
},
|
|
126
|
+
"typings": "dist/types/index.d.ts",
|
|
127
|
+
"files": [
|
|
128
|
+
"dist",
|
|
129
|
+
"docs",
|
|
130
|
+
"tsconfig.export.json"
|
|
131
|
+
]
|
|
132
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"compilerOptions": {
|
|
3
|
+
"moduleResolution": "NodeNext",
|
|
4
|
+
"target": "ES2020",
|
|
5
|
+
"module": "NodeNext",
|
|
6
|
+
"strict": true,
|
|
7
|
+
"sourceMap": false,
|
|
8
|
+
"declaration": false,
|
|
9
|
+
"allowSyntheticDefaultImports": true,
|
|
10
|
+
"experimentalDecorators": true,
|
|
11
|
+
"emitDecoratorMetadata": true,
|
|
12
|
+
"noImplicitAny": false,
|
|
13
|
+
"rootDir": "src",
|
|
14
|
+
"outDir": "dist"
|
|
15
|
+
},
|
|
16
|
+
"include": ["src"]
|
|
17
|
+
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AdminRoute.js","sourceRoot":"","sources":["../../../src/routes/AdminRoute.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"MetricsRoute.js","sourceRoot":"","sources":["../../../src/routes/MetricsRoute.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAC/E,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAW,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACjF,OAAO,EAAQ,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC9D,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAEpC;;;;;;GAMG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAY;IAWrB;QATQ,kBAAa,GAAG;YACpB,YAAY,EAAE,IAAI;SACrB,CAAC;QAKM,iBAAY,GAAa,EAAE,CAAC;QAGhC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAClC,CAAC;IAOa,AAAN,KAAK,CAAC,UAAU,CAAO,IAAc;QACzC,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;IACzC,CAAC;IAOa,AAAN,KAAK,CAAC,eAAe,CAAkB,MAAW,EAAQ,IAAc;QAC5E,IAAI,IAAI,CAAC,aAAa,CAAC,YAAY,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC7F,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,uBAAuB,EAAE,GAAG,EAAE,gBAAgB,CAAC,uBAAuB,CAAC,CAAC;QACzG,CAAC;QACD,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC/D,CAAC;CACJ,CAAA;AApCW;IADP,MAAM,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;;mDAGxC;AAKM;IADP,MAAM,CAAC,eAAe,CAAC;;kDACY;AAWtB;IALb,OAAO,CAAC,wCAAwC,CAAC;IACjD,WAAW,CAAC,yDAAyD,CAAC;IACtE,GAAG,EAAE;IACL,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACQ,WAAA,IAAI,CAAA;;;;8CAK7B;AAOa;IALb,OAAO,CAAC,4CAA4C,CAAC;IACrD,WAAW,CAAC,4EAA4E,CAAC;IACzF,GAAG,CAAC,UAAU,CAAC;IACf,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACtC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;IACa,WAAA,KAAK,CAAC,QAAQ,CAAC,CAAA;IAAe,WAAA,IAAI,CAAA;;;;mDAKhE;AArCQ,YAAY;IADxB,KAAK,CAAC,UAAU,CAAC;;GACL,YAAY,CAsCxB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OpenAPIRoute.js","sourceRoot":"","sources":["../../../src/routes/OpenAPIRoute.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAC3E,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAEpC,kGAAkG;AAClG,SAAS,WAAW,CAAC,OAAe;IAChC,OAAO;;;;;;;;;;;;cAYG,OAAO;;;;;;;QAOb,CAAC;AACT,CAAC;AAED;;;;;;;;GAQG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAY;IAAlB;QACH,4CAA4C;QAEpC,YAAO,GAAgB,IAAI,WAAW,EAAE,CAAC;IAoCrD,CAAC;IA7BU,OAAO;QACV,OAAO,WAAW,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAOM,UAAU;QACb,OAAO,WAAW,CAAC,eAAe,CAAC,CAAC;IACxC,CAAC;IAMM,OAAO;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,CAAC;IAOM,OAAO;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,CAAC;CACJ,CAAA;AApCW;IADP,MAAM,CAAC,WAAW,CAAC;8BACH,WAAW;6CAAqB;AAO1C;IALN,OAAO,CAAC,sCAAsC,CAAC;IAC/C,WAAW,CAAC,mEAAmE,CAAC;IAChF,GAAG,EAAE;IACL,WAAW,CAAC,WAAW,CAAC;IACxB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;;;;2CAGjB;AAOM;IALN,OAAO,CAAC,0BAA0B,CAAC;IACnC,WAAW,CAAC,mEAAmE,CAAC;IAChF,GAAG,CAAC,UAAU,CAAC;IACf,WAAW,CAAC,WAAW,CAAC;IACxB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;;;;8CAGjB;AAMM;IAJN,OAAO,CAAC,sCAAsC,CAAC;IAC/C,WAAW,CAAC,mEAAmE,CAAC;IAChF,GAAG,CAAC,cAAc,CAAC;IACnB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;;;;2CAGjB;AAOM;IALN,OAAO,CAAC,sCAAsC,CAAC;IAC/C,WAAW,CAAC,mEAAmE,CAAC;IAChF,GAAG,CAAC,cAAc,CAAC;IACnB,WAAW,CAAC,WAAW,CAAC;IACxB,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;;;;2CAGjB;AAtCQ,YAAY;IADxB,KAAK,CAAC,GAAG,CAAC;GACE,YAAY,CAuCxB"}
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
///////////////////////////////////////////////////////////////////////////////
|
|
11
|
-
// Copyright (C) 2020-2026 Jean-Philippe Steinmetz
|
|
12
|
-
///////////////////////////////////////////////////////////////////////////////
|
|
13
|
-
import { Get, Route } from "../decorators/RouteDecorators.js";
|
|
14
|
-
import { Description, Returns, Summary } from "../decorators/DocDecorators.js";
|
|
15
|
-
import { ObjectDecorators } from "@rapidrest/core";
|
|
16
|
-
import { StatusExtraData } from "../models/StatusExtraData.js";
|
|
17
|
-
const { Config, Inject } = ObjectDecorators;
|
|
18
|
-
/**
|
|
19
|
-
* The `StatusRoute` provides a default `/status` endpoint the returns metadata information about the service such as
|
|
20
|
-
* name, version.
|
|
21
|
-
*
|
|
22
|
-
* @author Jean-Philippe Steinmetz
|
|
23
|
-
*/
|
|
24
|
-
let StatusRoute = class StatusRoute {
|
|
25
|
-
get() {
|
|
26
|
-
return {
|
|
27
|
-
name: this.config.get("service_name"),
|
|
28
|
-
time: new Date().toISOString(),
|
|
29
|
-
version: this.config.get("version"),
|
|
30
|
-
...this.statusExtraData?.data
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
__decorate([
|
|
35
|
-
Config(),
|
|
36
|
-
__metadata("design:type", Object)
|
|
37
|
-
], StatusRoute.prototype, "config", void 0);
|
|
38
|
-
__decorate([
|
|
39
|
-
Inject(StatusExtraData),
|
|
40
|
-
__metadata("design:type", Object)
|
|
41
|
-
], StatusRoute.prototype, "statusExtraData", void 0);
|
|
42
|
-
__decorate([
|
|
43
|
-
Summary("{{serviceName}} servrice and operational status"),
|
|
44
|
-
Description("Returns information about the service and it's operational status."),
|
|
45
|
-
Get(),
|
|
46
|
-
Returns([Object]),
|
|
47
|
-
__metadata("design:type", Function),
|
|
48
|
-
__metadata("design:paramtypes", []),
|
|
49
|
-
__metadata("design:returntype", Object)
|
|
50
|
-
], StatusRoute.prototype, "get", null);
|
|
51
|
-
StatusRoute = __decorate([
|
|
52
|
-
Route("/status")
|
|
53
|
-
], StatusRoute);
|
|
54
|
-
export { StatusRoute };
|
|
55
|
-
//# sourceMappingURL=StatusRoute.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StatusRoute.js","sourceRoot":"","sources":["../../../src/routes/StatusRoute.ts"],"names":[],"mappings":";;;;;;;;;AAAA,+EAA+E;AAC/E,kDAAkD;AAClD,+EAA+E;AAC/E,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,CAAC;AAE5C;;;;;GAKG;AAEI,IAAM,WAAW,GAAjB,MAAM,WAAW;IAYZ,GAAG;QACP,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC;YACrC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YAC9B,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC;YACnC,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI;SAChC,CAAC;IACN,CAAC;CACJ,CAAA;AAlBW;IADP,MAAM,EAAE;;2CACW;AAGZ;IADP,MAAM,CAAC,eAAe,CAAC;;oDAC6B;AAO7C;IAJP,OAAO,CAAC,iDAAiD,CAAC;IAC1D,WAAW,CAAC,oEAAoE,CAAC;IACjF,GAAG,EAAE;IACL,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC;;;;sCAQjB;AAnBQ,WAAW;IADvB,KAAK,CAAC,SAAS,CAAC;GACJ,WAAW,CAoBvB"}
|