@rapidrest/service-core 1.0.0-beta.3 → 1.0.0-beta.5
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/Server.js +10 -10
- package/dist/lib/Server.js.map +1 -1
- package/dist/lib/auth/JWTStrategy.js +2 -1
- package/dist/lib/auth/JWTStrategy.js.map +1 -1
- package/dist/lib/http/Adapters.js +31 -20
- package/dist/lib/http/Adapters.js.map +1 -1
- package/dist/lib/http/Router.js +11 -4
- package/dist/lib/http/Router.js.map +1 -1
- package/dist/lib/models/RepoUtils.js +2 -2
- package/dist/lib/models/RepoUtils.js.map +1 -1
- package/dist/lib/routes/RouteUtils.js +10 -12
- package/dist/lib/routes/RouteUtils.js.map +1 -1
- package/dist/lib/security/ACLUtils.js +19 -3
- package/dist/lib/security/ACLUtils.js.map +1 -1
- package/dist/types/auth/JWTStrategy.d.ts +1 -0
- package/dist/types/models/RepoUtils.d.ts +2 -1
- package/dist/types/security/ACLUtils.d.ts +1 -1
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +1 -1
- package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +7 -7
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +1 -1
- package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +1 -1
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +5 -5
- package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +3 -3
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +3 -3
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +1 -1
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +4 -4
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +5 -5
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +4 -4
- package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +5 -5
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +1 -1
- package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +1 -1
- package/docs/reference/classes/ACLUtils.md +14 -10
- package/docs/reference/classes/AdminRoute.md +3 -3
- package/docs/reference/classes/AuthMiddleware.md +6 -6
- package/docs/reference/classes/BackgroundService.md +8 -8
- package/docs/reference/classes/BackgroundServiceManager.md +7 -7
- package/docs/reference/classes/BaseEntity.md +6 -6
- package/docs/reference/classes/BaseMongoEntity.md +7 -7
- package/docs/reference/classes/BasicStrategy.md +5 -5
- package/docs/reference/classes/BasicStrategyOptions.md +7 -7
- package/docs/reference/classes/BulkError.md +3 -3
- package/docs/reference/classes/ConnectionManager.md +4 -4
- package/docs/reference/classes/EventListenerManager.md +5 -5
- package/docs/reference/classes/HttpRouter.md +16 -16
- package/docs/reference/classes/JWTStrategy.md +10 -10
- package/docs/reference/classes/JWTStrategyOptions.md +10 -10
- package/docs/reference/classes/MetricsRoute.md +2 -2
- package/docs/reference/classes/ModelRoute.md +26 -26
- package/docs/reference/classes/ModelUtils.md +10 -10
- package/docs/reference/classes/MongoConnection.md +12 -12
- package/docs/reference/classes/MongoRepository.md +17 -17
- package/docs/reference/classes/MongoSchemaSync.md +3 -3
- package/docs/reference/classes/NetUtils.md +3 -3
- package/docs/reference/classes/NotificationUtils.md +3 -3
- package/docs/reference/classes/ObjectFactory.md +3 -3
- package/docs/reference/classes/OpenAPIRoute.md +5 -5
- package/docs/reference/classes/OpenApiSpec.md +45 -45
- package/docs/reference/classes/RecoverableBaseEntity.md +7 -7
- package/docs/reference/classes/RecoverableBaseMongoEntity.md +8 -8
- package/docs/reference/classes/RedisTransport.md +4 -4
- package/docs/reference/classes/RepoUtils.md +28 -28
- package/docs/reference/classes/RouteUtils.md +9 -9
- package/docs/reference/classes/Server.md +89 -89
- package/docs/reference/classes/SimpleEntity.md +3 -3
- package/docs/reference/classes/SimpleMongoEntity.md +4 -4
- package/docs/reference/classes/StatusExtraData.md +4 -4
- package/docs/reference/classes/StatusRoute.md +1 -1
- package/docs/reference/classes/UWSRequest.md +17 -17
- package/docs/reference/classes/UWSResponse.md +15 -15
- package/docs/reference/classes/UWSWebSocketShim.md +5 -5
- package/docs/reference/enumerations/ACLAction.md +7 -7
- package/docs/reference/enumerations/ApiErrorMessages.md +15 -15
- package/docs/reference/enumerations/ApiErrors.md +15 -15
- package/docs/reference/functions/createWebSocketStream.md +1 -1
- package/docs/reference/functions/isSqlDataSource.md +1 -1
- package/docs/reference/functions/readBody.md +3 -3
- package/docs/reference/functions/resolveCollectionName.md +1 -1
- package/docs/reference/functions/runChain.md +1 -1
- package/docs/reference/functions/snakeCase.md +1 -1
- package/docs/reference/interfaces/ACLRecord.md +8 -8
- package/docs/reference/interfaces/AccessControlList.md +5 -5
- package/docs/reference/interfaces/AuthResult.md +5 -5
- package/docs/reference/interfaces/AuthStrategy.md +4 -4
- package/docs/reference/interfaces/CreateRequestOptions.md +9 -9
- package/docs/reference/interfaces/DeleteRequestOptions.md +11 -11
- package/docs/reference/interfaces/FindRequestOptions.md +10 -10
- package/docs/reference/interfaces/HttpRequest.md +15 -15
- package/docs/reference/interfaces/HttpResponse.md +11 -11
- package/docs/reference/interfaces/JWTAuthResult.md +9 -9
- package/docs/reference/interfaces/RepoCreateOptions.md +7 -7
- package/docs/reference/interfaces/RepoDeleteOptions.md +9 -9
- package/docs/reference/interfaces/RepoFindOptions.md +11 -11
- package/docs/reference/interfaces/RepoOperationOptions.md +6 -6
- package/docs/reference/interfaces/RepoUpdateOptions.md +8 -8
- package/docs/reference/interfaces/RequestOptions.md +8 -8
- package/docs/reference/interfaces/RequestWS.md +17 -17
- package/docs/reference/interfaces/TruncateRequestOptions.md +13 -13
- package/docs/reference/interfaces/UpdateRequestOptions.md +11 -11
- package/docs/reference/type-aliases/ErrorHandler.md +1 -1
- package/docs/reference/type-aliases/NextFunction.md +1 -1
- package/docs/reference/type-aliases/OneOrMany.md +1 -1
- package/docs/reference/type-aliases/OneOrNull.md +1 -1
- package/docs/reference/type-aliases/PartialBaseEntity.md +1 -1
- package/docs/reference/type-aliases/PartialSimpleEntity.md +1 -1
- package/docs/reference/type-aliases/RequestHandler.md +1 -1
- package/docs/reference/type-aliases/UpdateObject.md +1 -1
- package/docs/reference/type-aliases/WsUpgradeAuth.md +1 -1
- package/docs/reference/type-aliases/WsUpgradeAuthResult.md +5 -5
- package/package.json +129 -125
|
@@ -79,7 +79,13 @@ export class ACLUtils {
|
|
|
79
79
|
if (!this.repo) {
|
|
80
80
|
return result;
|
|
81
81
|
}
|
|
82
|
-
|
|
82
|
+
// Request-scoped cache avoids duplicate Redis/DB fetches when the same ACL uid is
|
|
83
|
+
// checked more than once within a single request (e.g. class + method @Protect).
|
|
84
|
+
if (!req._aclCache) {
|
|
85
|
+
req._aclCache = new Map();
|
|
86
|
+
}
|
|
87
|
+
const reqCache = req._aclCache;
|
|
88
|
+
let acl = await this.findACL(uid, [], reqCache);
|
|
83
89
|
if (acl) {
|
|
84
90
|
// Make sure all parents are populated
|
|
85
91
|
if (!acl.parent) {
|
|
@@ -179,10 +185,15 @@ export class ACLUtils {
|
|
|
179
185
|
* @param entityId The unique identifier of the ACL to retrieve.
|
|
180
186
|
* @param parentUids The list of already found parent UIDs. This is used to break circular dependencies.
|
|
181
187
|
*/
|
|
182
|
-
async findACL(entityId, parentUids = []) {
|
|
188
|
+
async findACL(entityId, parentUids = [], reqCache) {
|
|
183
189
|
if (!this.repo) {
|
|
184
190
|
return null;
|
|
185
191
|
}
|
|
192
|
+
// Check request-scoped cache first — eliminates redundant Redis/DB round trips
|
|
193
|
+
// when the same ACL uid is visited more than once within one request.
|
|
194
|
+
if (reqCache?.has(entityId)) {
|
|
195
|
+
return reqCache.get(entityId) ?? null;
|
|
196
|
+
}
|
|
186
197
|
let acl = null;
|
|
187
198
|
// Retrieve the ACL from the cache if present
|
|
188
199
|
if (this.cacheClient) {
|
|
@@ -214,11 +225,16 @@ export class ACLUtils {
|
|
|
214
225
|
await this.cacheClient.setex(`${CACHE_BASE_KEY}.${entityId}`, this.cacheTTL, JSON.stringify(acl));
|
|
215
226
|
}
|
|
216
227
|
}
|
|
228
|
+
// Populate request-scoped cache before fetching the parent chain so recursive
|
|
229
|
+
// calls for the same uid are served from memory.
|
|
230
|
+
if (reqCache) {
|
|
231
|
+
reqCache.set(entityId, acl);
|
|
232
|
+
}
|
|
217
233
|
// Retrieve the parent ACL and assign it if available. Don't populate parents we've
|
|
218
234
|
// already found to prevent a circular dependency.
|
|
219
235
|
if (acl && acl.parentUid && !parentUids.includes(acl.parentUid)) {
|
|
220
236
|
parentUids.push(acl.parentUid);
|
|
221
|
-
acl.parent = await this.findACL(acl.parentUid, parentUids);
|
|
237
|
+
acl.parent = await this.findACL(acl.parentUid, parentUids, reqCache);
|
|
222
238
|
}
|
|
223
239
|
return acl;
|
|
224
240
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ACLUtils.js","sourceRoot":"","sources":["../../../src/security/ACLUtils.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ACLUtils.js","sourceRoot":"","sources":["../../../src/security/ACLUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -52,6 +52,7 @@ export declare class JWTStrategy {
|
|
|
52
52
|
private config;
|
|
53
53
|
readonly name: string;
|
|
54
54
|
private options;
|
|
55
|
+
private readonly _headerSchemeRegex;
|
|
55
56
|
constructor(options?: JWTStrategyOptions);
|
|
56
57
|
/**
|
|
57
58
|
* Scans the provided request object for an authentication token this strategy can process.
|
|
@@ -6,7 +6,8 @@ import { JWTUser } from "@rapidrest/core";
|
|
|
6
6
|
import { Redis } from "ioredis";
|
|
7
7
|
import { ObjectFactory } from "../ObjectFactory.js";
|
|
8
8
|
import { NotificationUtils } from "../NotificationUtils.js";
|
|
9
|
-
import { AccessControlList
|
|
9
|
+
import { AccessControlList } from "../security/index.js";
|
|
10
|
+
import type { ACLUtils } from "../security/ACLUtils.js";
|
|
10
11
|
import { ConnectionManager } from "../database/index.js";
|
|
11
12
|
/**
|
|
12
13
|
* The available options used for `RepoUtils` operations.
|
|
@@ -42,7 +42,7 @@ export declare class ACLUtils {
|
|
|
42
42
|
* @param entityId The unique identifier of the ACL to retrieve.
|
|
43
43
|
* @param parentUids The list of already found parent UIDs. This is used to break circular dependencies.
|
|
44
44
|
*/
|
|
45
|
-
findACL(entityId: string, parentUids?: string[]): Promise<AccessControlList | null>;
|
|
45
|
+
findACL(entityId: string, parentUids?: string[], reqCache?: Map<string, AccessControlList | null>): Promise<AccessControlList | null>;
|
|
46
46
|
/**
|
|
47
47
|
* Deletes the ACL with the given identifier from the database.
|
|
48
48
|
* @param uid The unique identifier of the ACL to remove.
|
package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **MongoRepository**(`type`): (`target`, `propertyKey`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DatabaseDecorators.ts:10](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DatabaseDecorators.ts:10](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DatabaseDecorators.ts#L10)
|
|
12
12
|
|
|
13
13
|
Apply this to a property to have the TypeORM `MongoRepository` for the given entity type injected at instantiation.
|
|
14
14
|
|
package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **RedisConnection**(`name`): (`target`, `propertyKey`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DatabaseDecorators.ts:44](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DatabaseDecorators.ts:44](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DatabaseDecorators.ts#L44)
|
|
12
12
|
|
|
13
13
|
Apply this to a property to have the `Redis` connection injected at instantiation.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Repository**(`type`): (`target`, `propertyKey`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DatabaseDecorators.ts:27](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DatabaseDecorators.ts:27](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DatabaseDecorators.ts#L27)
|
|
12
12
|
|
|
13
13
|
Apply this to a property to have the TypeORM `Repository` for the given entity type injected at instantiation.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Default**(`value`): (`target`, `propertyKey?`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DocDecorators.ts:40](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DocDecorators.ts:40](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L40)
|
|
12
12
|
|
|
13
13
|
Provides a default value for property of a class.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Description**(`value`): (`target`, `propertyKey?`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DocDecorators.ts:51](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DocDecorators.ts:51](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L51)
|
|
12
12
|
|
|
13
13
|
Provides a detailed describing the class, property or function.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Document**(`value`): (`target`, `propertyKey?`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DocDecorators.ts:20](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DocDecorators.ts:20](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L20)
|
|
12
12
|
|
|
13
13
|
Provides a set of documentation data for a given class, property or function.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Example**(`value`): (`target`, `propertyKey?`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DocDecorators.ts:62](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DocDecorators.ts:62](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L62)
|
|
12
12
|
|
|
13
13
|
Provides a example representation of the property or function return value.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Format**(`value`): (`target`, `propertyKey?`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DocDecorators.ts:73](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DocDecorators.ts:73](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L73)
|
|
12
12
|
|
|
13
13
|
Describes the underlying format of a class's property.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Returns**(`types?`): (`target`, `propertyKey`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DocDecorators.ts:109](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DocDecorators.ts:109](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L109)
|
|
12
12
|
|
|
13
13
|
Stores runtime metadata about the typing information of a function's return value.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Summary**(`value`): (`target`, `propertyKey?`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DocDecorators.ts:84](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DocDecorators.ts:84](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L84)
|
|
12
12
|
|
|
13
13
|
Provides a brief summary about the class, property or function.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Tags**(`value`): (`target`, `propertyKey?`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DocDecorators.ts:95](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DocDecorators.ts:95](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L95)
|
|
12
12
|
|
|
13
13
|
Provides a list of searchable tags associated with the property or function.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **TypeInfo**(`types?`): (`target`, `propertyKey`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/DocDecorators.ts:128](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/DocDecorators.ts:128](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L128)
|
|
12
12
|
|
|
13
13
|
Stores runtime metadata about the typing information of a class property.
|
|
14
14
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Interface: DocumentsData
|
|
8
8
|
|
|
9
|
-
Defined in: [src/decorators/DocDecorators.ts:6](https://github.com/rapidrest/service-core/blob/
|
|
9
|
+
Defined in: [src/decorators/DocDecorators.ts:6](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L6)
|
|
10
10
|
|
|
11
11
|
## Properties
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ Defined in: [src/decorators/DocDecorators.ts:6](https://github.com/rapidrest/ser
|
|
|
14
14
|
|
|
15
15
|
> `optional` **default?**: `any`
|
|
16
16
|
|
|
17
|
-
Defined in: [src/decorators/DocDecorators.ts:7](https://github.com/rapidrest/service-core/blob/
|
|
17
|
+
Defined in: [src/decorators/DocDecorators.ts:7](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L7)
|
|
18
18
|
|
|
19
19
|
***
|
|
20
20
|
|
|
@@ -22,7 +22,7 @@ Defined in: [src/decorators/DocDecorators.ts:7](https://github.com/rapidrest/ser
|
|
|
22
22
|
|
|
23
23
|
> `optional` **description?**: `string`
|
|
24
24
|
|
|
25
|
-
Defined in: [src/decorators/DocDecorators.ts:8](https://github.com/rapidrest/service-core/blob/
|
|
25
|
+
Defined in: [src/decorators/DocDecorators.ts:8](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L8)
|
|
26
26
|
|
|
27
27
|
***
|
|
28
28
|
|
|
@@ -30,7 +30,7 @@ Defined in: [src/decorators/DocDecorators.ts:8](https://github.com/rapidrest/ser
|
|
|
30
30
|
|
|
31
31
|
> `optional` **example?**: `any`
|
|
32
32
|
|
|
33
|
-
Defined in: [src/decorators/DocDecorators.ts:9](https://github.com/rapidrest/service-core/blob/
|
|
33
|
+
Defined in: [src/decorators/DocDecorators.ts:9](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L9)
|
|
34
34
|
|
|
35
35
|
***
|
|
36
36
|
|
|
@@ -38,7 +38,7 @@ Defined in: [src/decorators/DocDecorators.ts:9](https://github.com/rapidrest/ser
|
|
|
38
38
|
|
|
39
39
|
> `optional` **format?**: `string`
|
|
40
40
|
|
|
41
|
-
Defined in: [src/decorators/DocDecorators.ts:10](https://github.com/rapidrest/service-core/blob/
|
|
41
|
+
Defined in: [src/decorators/DocDecorators.ts:10](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L10)
|
|
42
42
|
|
|
43
43
|
***
|
|
44
44
|
|
|
@@ -46,7 +46,7 @@ Defined in: [src/decorators/DocDecorators.ts:10](https://github.com/rapidrest/se
|
|
|
46
46
|
|
|
47
47
|
> `optional` **summary?**: `string`
|
|
48
48
|
|
|
49
|
-
Defined in: [src/decorators/DocDecorators.ts:11](https://github.com/rapidrest/service-core/blob/
|
|
49
|
+
Defined in: [src/decorators/DocDecorators.ts:11](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L11)
|
|
50
50
|
|
|
51
51
|
***
|
|
52
52
|
|
|
@@ -54,4 +54,4 @@ Defined in: [src/decorators/DocDecorators.ts:11](https://github.com/rapidrest/se
|
|
|
54
54
|
|
|
55
55
|
> `optional` **tags?**: `string`[]
|
|
56
56
|
|
|
57
|
-
Defined in: [src/decorators/DocDecorators.ts:12](https://github.com/rapidrest/service-core/blob/
|
|
57
|
+
Defined in: [src/decorators/DocDecorators.ts:12](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/DocDecorators.ts#L12)
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **EventListener**(): (`target`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/EventDecorators.ts:21](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/EventDecorators.ts:21](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/EventDecorators.ts#L21)
|
|
12
12
|
|
|
13
13
|
Apply this optionally to a abitary class, that has a no argument constructor, to auto register it as an event listener. Will still require add `@OnEvent` to methods
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **OnEvent**(`type?`): (`target`, `propertyKey`, `descriptor`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/EventDecorators.ts:12](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/EventDecorators.ts:12](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/EventDecorators.ts#L12)
|
|
12
12
|
|
|
13
13
|
Apply this to a function that will be called when events arrive for the specified type(s). If no event type is
|
|
14
14
|
specified, then the function will be called upon each event that arrives.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Cache**(`ttl?`): (`target`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/ModelDecorators.ts:30](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/ModelDecorators.ts:30](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L30)
|
|
12
12
|
|
|
13
13
|
Indicates that the class is cacheable with the specified TTL.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **ChildEntity**(): \<`T`\>(`constructor`) => \{(...`args`): `child`\<`T`\>; `prototype`: `child`\<`any`\>; \} & `T`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/ModelDecorators.ts:45](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/ModelDecorators.ts:45](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L45)
|
|
12
12
|
|
|
13
13
|
Indicates that a class is a child entity to some parent. Child entities will inherit all datastore configuration
|
|
14
14
|
of the parent, including cache settings.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **DataStore**(`datastore`): (`target`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/ModelDecorators.ts:73](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/ModelDecorators.ts:73](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L73)
|
|
12
12
|
|
|
13
13
|
Indicates that the class describes an entity that will be persisted in the datastore with the given name.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Identifier**(`target`, `propertyKey`): `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/ModelDecorators.ts:87](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/ModelDecorators.ts:87](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L87)
|
|
12
12
|
|
|
13
13
|
Apply this to a property that is considered a unique identifier.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Protect**(`classACL?`, `recordACL?`): (`target`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/ModelDecorators.ts:109](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/ModelDecorators.ts:109](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L109)
|
|
12
12
|
|
|
13
13
|
Apply this to a model class to indicate that it should be protected by the AccessControlList security system.
|
|
14
14
|
The `classACL` parameter specifies the default ACL governing access to general operations against the model class
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Reference**(`clazz`): (`target`, `propertyKey`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/ModelDecorators.ts:160](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/ModelDecorators.ts:160](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L160)
|
|
12
12
|
|
|
13
13
|
Apply this to a property to indicate that the value is a reference to another stored entity.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Shard**(`config?`): (`target`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/ModelDecorators.ts:173](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/ModelDecorators.ts:173](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L173)
|
|
12
12
|
|
|
13
13
|
Indicates that the class describes an entity that will be persisted in a sharded database collection.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **TrackChanges**(`versions?`): (`target`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/ModelDecorators.ts:190](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/ModelDecorators.ts:190](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L190)
|
|
12
12
|
|
|
13
13
|
Indicates that the class will track changes for each document update limited to the specified number of versions.
|
|
14
14
|
|
package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
|
|
7
7
|
# Interface: PendingTypeOrmColumn
|
|
8
8
|
|
|
9
|
-
Defined in: [src/decorators/ModelDecorators.ts:12](https://github.com/rapidrest/service-core/blob/
|
|
9
|
+
Defined in: [src/decorators/ModelDecorators.ts:12](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L12)
|
|
10
10
|
|
|
11
11
|
Describes a column registration that must be bridged into TypeORM's metadata storage when (and only when) a SQL
|
|
12
12
|
connection is established. Entries are queued here by decorators so that this module does not depend on the
|
|
@@ -18,7 +18,7 @@ optional `typeorm` package.
|
|
|
18
18
|
|
|
19
19
|
> **mode**: `"regular"`
|
|
20
20
|
|
|
21
|
-
Defined in: [src/decorators/ModelDecorators.ts:15](https://github.com/rapidrest/service-core/blob/
|
|
21
|
+
Defined in: [src/decorators/ModelDecorators.ts:15](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L15)
|
|
22
22
|
|
|
23
23
|
***
|
|
24
24
|
|
|
@@ -26,7 +26,7 @@ Defined in: [src/decorators/ModelDecorators.ts:15](https://github.com/rapidrest/
|
|
|
26
26
|
|
|
27
27
|
> **options**: `any`
|
|
28
28
|
|
|
29
|
-
Defined in: [src/decorators/ModelDecorators.ts:16](https://github.com/rapidrest/service-core/blob/
|
|
29
|
+
Defined in: [src/decorators/ModelDecorators.ts:16](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L16)
|
|
30
30
|
|
|
31
31
|
***
|
|
32
32
|
|
|
@@ -34,7 +34,7 @@ Defined in: [src/decorators/ModelDecorators.ts:16](https://github.com/rapidrest/
|
|
|
34
34
|
|
|
35
35
|
> **propertyName**: `string`
|
|
36
36
|
|
|
37
|
-
Defined in: [src/decorators/ModelDecorators.ts:14](https://github.com/rapidrest/service-core/blob/
|
|
37
|
+
Defined in: [src/decorators/ModelDecorators.ts:14](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L14)
|
|
38
38
|
|
|
39
39
|
***
|
|
40
40
|
|
|
@@ -42,4 +42,4 @@ Defined in: [src/decorators/ModelDecorators.ts:14](https://github.com/rapidrest/
|
|
|
42
42
|
|
|
43
43
|
> **target**: `any`
|
|
44
44
|
|
|
45
|
-
Defined in: [src/decorators/ModelDecorators.ts:13](https://github.com/rapidrest/service-core/blob/
|
|
45
|
+
Defined in: [src/decorators/ModelDecorators.ts:13](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L13)
|
package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> `const` **pendingTypeOrmColumns**: [`PendingTypeOrmColumn`](../interfaces/PendingTypeOrmColumn.md)[] = `[]`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/ModelDecorators.ts:23](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/ModelDecorators.ts:23](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/ModelDecorators.ts#L23)
|
|
12
12
|
|
|
13
13
|
The list of column registrations waiting to be bridged into TypeORM's metadata storage. This list is drained by
|
|
14
14
|
the TypeORM support module when a SQL connection is created.
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Column**(`options?`): (`target`, `propertyKey`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:95](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:95](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L95)
|
|
12
12
|
|
|
13
13
|
Indicates that the decorated property will be persisted as a column/property in the datastore.
|
|
14
14
|
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **Entity**(`name?`): (`target`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:198](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:198](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L198)
|
|
12
12
|
|
|
13
13
|
Indicates that the class describes an entity that is persisted to a datastore.
|
|
14
14
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
> **Index**(`nameOrOptions?`, `options?`): `PropertyDecorator`
|
|
12
12
|
|
|
13
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:133](https://github.com/rapidrest/service-core/blob/
|
|
13
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:133](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L133)
|
|
14
14
|
|
|
15
15
|
Declares a database index.
|
|
16
16
|
|
|
@@ -46,7 +46,7 @@ When applied to a class, creates a compound index across the given properties:
|
|
|
46
46
|
|
|
47
47
|
> **Index**(`fields`, `options?`): `ClassDecorator`
|
|
48
48
|
|
|
49
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:134](https://github.com/rapidrest/service-core/blob/
|
|
49
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:134](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L134)
|
|
50
50
|
|
|
51
51
|
Declares a database index.
|
|
52
52
|
|
|
@@ -82,7 +82,7 @@ When applied to a class, creates a compound index across the given properties:
|
|
|
82
82
|
|
|
83
83
|
> **Index**(`name`, `fields`, `options?`): `ClassDecorator`
|
|
84
84
|
|
|
85
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:135](https://github.com/rapidrest/service-core/blob/
|
|
85
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:135](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L135)
|
|
86
86
|
|
|
87
87
|
Declares a database index.
|
|
88
88
|
|
package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **PrimaryColumn**(`options?`): (`target`, `propertyKey`) => `void`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:111](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:111](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L111)
|
|
12
12
|
|
|
13
13
|
Indicates that the decorated property is a primary key column in the datastore.
|
|
14
14
|
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
> **Unique**(`name?`): `PropertyDecorator`
|
|
12
12
|
|
|
13
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:179](https://github.com/rapidrest/service-core/blob/
|
|
13
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:179](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L179)
|
|
14
14
|
|
|
15
15
|
Declares a unique constraint. This is shorthand for `@Index` with the `unique` option set to `true` and may be
|
|
16
16
|
applied to a property (single-column constraint) or a class (compound constraint).
|
|
@@ -29,7 +29,7 @@ applied to a property (single-column constraint) or a class (compound constraint
|
|
|
29
29
|
|
|
30
30
|
> **Unique**(`fields`): `ClassDecorator`
|
|
31
31
|
|
|
32
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:180](https://github.com/rapidrest/service-core/blob/
|
|
32
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:180](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L180)
|
|
33
33
|
|
|
34
34
|
Declares a unique constraint. This is shorthand for `@Index` with the `unique` option set to `true` and may be
|
|
35
35
|
applied to a property (single-column constraint) or a class (compound constraint).
|
|
@@ -48,7 +48,7 @@ applied to a property (single-column constraint) or a class (compound constraint
|
|
|
48
48
|
|
|
49
49
|
> **Unique**(`name`, `fields`): `ClassDecorator`
|
|
50
50
|
|
|
51
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:181](https://github.com/rapidrest/service-core/blob/
|
|
51
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:181](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L181)
|
|
52
52
|
|
|
53
53
|
Declares a unique constraint. This is shorthand for `@Index` with the `unique` option set to `true` and may be
|
|
54
54
|
applied to a property (single-column constraint) or a class (compound constraint).
|
package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **getColumnMetadata**(`clazz`): [`ColumnInfo`](../interfaces/ColumnInfo.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:216](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:216](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L216)
|
|
12
12
|
|
|
13
13
|
Returns the merged list of persisted columns declared across the entire class hierarchy of the given model
|
|
14
14
|
class. Columns declared in subclasses override columns of the same property name declared in parent classes.
|
package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **getEntityName**(`clazz`): `string` \| `undefined`
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:261](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:261](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L261)
|
|
12
12
|
|
|
13
13
|
Returns the explicit entity name declared via `@Entity(name)` on the given class or the nearest ancestor that
|
|
14
14
|
declares one, otherwise `undefined`.
|
package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
> **getIndexMetadata**(`clazz`): [`IndexInfo`](../interfaces/IndexInfo.md)[]
|
|
10
10
|
|
|
11
|
-
Defined in: [src/decorators/PersistenceDecorators.ts:236](https://github.com/rapidrest/service-core/blob/
|
|
11
|
+
Defined in: [src/decorators/PersistenceDecorators.ts:236](https://github.com/rapidrest/service-core/blob/4fdd657d7d387d4147d06ef5e46206995e846a87/src/decorators/PersistenceDecorators.ts#L236)
|
|
12
12
|
|
|
13
13
|
Returns the merged list of indexes declared across the entire class hierarchy of the given model class,
|
|
14
14
|
including both property-level and class-level (compound) indexes. Indexes declared in subclasses override
|