@rapidrest/service-core 1.0.0-beta.6 → 1.0.0-rc.2

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.
Files changed (171) hide show
  1. package/dist/lib/database/MongoRepository.js +22 -24
  2. package/dist/lib/database/MongoRepository.js.map +1 -1
  3. package/dist/lib/database/MongoSchemaSync.js +80 -21
  4. package/dist/lib/database/MongoSchemaSync.js.map +1 -1
  5. package/dist/lib/database/NamingUtils.js +4 -4
  6. package/dist/lib/database/NamingUtils.js.map +1 -1
  7. package/dist/lib/decorators/PersistenceDecorators.js +17 -17
  8. package/dist/lib/decorators/PersistenceDecorators.js.map +1 -1
  9. package/dist/lib/models/BaseMongoEntity.js +10 -3
  10. package/dist/lib/models/BaseMongoEntity.js.map +1 -1
  11. package/dist/lib/models/ModelUtils.js +31 -34
  12. package/dist/lib/models/ModelUtils.js.map +1 -1
  13. package/dist/lib/models/RecoverableBaseMongoEntity.js +11 -3
  14. package/dist/lib/models/RecoverableBaseMongoEntity.js.map +1 -1
  15. package/dist/lib/models/RepoUtils.js +37 -45
  16. package/dist/lib/models/RepoUtils.js.map +1 -1
  17. package/dist/lib/models/SimpleEntity.js +1 -1
  18. package/dist/lib/models/SimpleEntity.js.map +1 -1
  19. package/dist/lib/routes/ModelRoute.js +1 -11
  20. package/dist/lib/routes/ModelRoute.js.map +1 -1
  21. package/dist/types/database/MongoRepository.d.ts +17 -11
  22. package/dist/types/database/MongoSchemaSync.d.ts +25 -3
  23. package/dist/types/database/NamingUtils.d.ts +1 -1
  24. package/dist/types/decorators/PersistenceDecorators.d.ts +29 -3
  25. package/dist/types/models/ModelUtils.d.ts +3 -6
  26. package/dist/types/models/RepoUtils.d.ts +1 -7
  27. package/dist/types/routes/ModelRoute.d.ts +0 -4
  28. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/MongoRepository.md +1 -1
  29. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/RedisConnection.md +1 -1
  30. package/docs/reference/@rapidrest/namespaces/DatabaseDecorators/functions/Repository.md +1 -1
  31. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Default.md +1 -1
  32. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Description.md +1 -1
  33. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Document.md +1 -1
  34. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Example.md +1 -1
  35. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Format.md +1 -1
  36. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Returns.md +1 -1
  37. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Summary.md +1 -1
  38. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/Tags.md +1 -1
  39. package/docs/reference/@rapidrest/namespaces/DocDecorators/functions/TypeInfo.md +1 -1
  40. package/docs/reference/@rapidrest/namespaces/DocDecorators/interfaces/DocumentsData.md +7 -7
  41. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/EventListener.md +1 -1
  42. package/docs/reference/@rapidrest/namespaces/EventDecorators/functions/OnEvent.md +1 -1
  43. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Cache.md +1 -1
  44. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/ChildEntity.md +2 -2
  45. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/DataStore.md +1 -1
  46. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Identifier.md +1 -1
  47. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Protect.md +5 -5
  48. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Reference.md +1 -1
  49. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/Shard.md +1 -1
  50. package/docs/reference/@rapidrest/namespaces/ModelDecorators/functions/TrackChanges.md +2 -2
  51. package/docs/reference/@rapidrest/namespaces/ModelDecorators/interfaces/PendingTypeOrmColumn.md +7 -7
  52. package/docs/reference/@rapidrest/namespaces/ModelDecorators/variables/pendingTypeOrmColumns.md +2 -2
  53. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/README.md +2 -0
  54. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Column.md +1 -1
  55. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Entity.md +5 -6
  56. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Index.md +3 -3
  57. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/PrimaryColumn.md +1 -1
  58. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/Unique.md +3 -3
  59. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getColumnMetadata.md +1 -1
  60. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getEntityName.md +1 -1
  61. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/functions/getIndexMetadata.md +1 -1
  62. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/CollationOptions.md +79 -0
  63. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnInfo.md +4 -4
  64. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/ColumnOptions.md +5 -5
  65. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/EntityOptions.md +32 -0
  66. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexInfo.md +4 -4
  67. package/docs/reference/@rapidrest/namespaces/PersistenceDecorators/interfaces/IndexOptions.md +15 -5
  68. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/After.md +1 -1
  69. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Auth.md +1 -1
  70. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/AuthResult.md +1 -1
  71. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Before.md +1 -1
  72. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/ContentType.md +1 -1
  73. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Delete.md +1 -1
  74. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Get.md +1 -1
  75. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Head.md +1 -1
  76. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Header.md +1 -1
  77. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Method.md +1 -1
  78. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Model.md +1 -1
  79. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Options.md +1 -1
  80. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Param.md +1 -1
  81. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Patch.md +1 -1
  82. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Post.md +1 -1
  83. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Protect.md +1 -1
  84. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Put.md +1 -1
  85. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Query.md +1 -1
  86. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Request.md +1 -1
  87. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/RequiresRole.md +1 -1
  88. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Response.md +1 -1
  89. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Route.md +1 -1
  90. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Socket.md +1 -1
  91. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/User.md +1 -1
  92. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/Validate.md +1 -1
  93. package/docs/reference/@rapidrest/namespaces/RouteDecorators/functions/WebSocket.md +1 -1
  94. package/docs/reference/classes/ACLUtils.md +10 -10
  95. package/docs/reference/classes/AdminRoute.md +3 -3
  96. package/docs/reference/classes/AuthMiddleware.md +6 -6
  97. package/docs/reference/classes/BackgroundService.md +8 -8
  98. package/docs/reference/classes/BackgroundServiceManager.md +7 -7
  99. package/docs/reference/classes/BaseEntity.md +6 -6
  100. package/docs/reference/classes/BaseMongoEntity.md +7 -7
  101. package/docs/reference/classes/BasicStrategy.md +5 -5
  102. package/docs/reference/classes/BasicStrategyOptions.md +7 -7
  103. package/docs/reference/classes/BulkError.md +3 -3
  104. package/docs/reference/classes/ConnectionManager.md +4 -4
  105. package/docs/reference/classes/EventListenerManager.md +5 -5
  106. package/docs/reference/classes/HttpRouter.md +16 -16
  107. package/docs/reference/classes/JWTStrategy.md +5 -5
  108. package/docs/reference/classes/JWTStrategyOptions.md +8 -8
  109. package/docs/reference/classes/MetricsRoute.md +2 -2
  110. package/docs/reference/classes/ModelRoute.md +46 -46
  111. package/docs/reference/classes/ModelUtils.md +13 -31
  112. package/docs/reference/classes/MongoConnection.md +12 -12
  113. package/docs/reference/classes/MongoRepository.md +73 -37
  114. package/docs/reference/classes/MongoSchemaSync.md +37 -7
  115. package/docs/reference/classes/NetUtils.md +3 -3
  116. package/docs/reference/classes/NotificationUtils.md +3 -3
  117. package/docs/reference/classes/ObjectFactory.md +3 -3
  118. package/docs/reference/classes/OpenAPIRoute.md +5 -5
  119. package/docs/reference/classes/OpenApiSpec.md +45 -45
  120. package/docs/reference/classes/RecoverableBaseEntity.md +7 -7
  121. package/docs/reference/classes/RecoverableBaseMongoEntity.md +8 -8
  122. package/docs/reference/classes/RedisTransport.md +4 -4
  123. package/docs/reference/classes/RepoUtils.md +36 -40
  124. package/docs/reference/classes/RouteUtils.md +7 -7
  125. package/docs/reference/classes/Server.md +26 -26
  126. package/docs/reference/classes/SimpleEntity.md +3 -3
  127. package/docs/reference/classes/SimpleMongoEntity.md +4 -4
  128. package/docs/reference/classes/StatusExtraData.md +4 -4
  129. package/docs/reference/classes/StatusRoute.md +1 -1
  130. package/docs/reference/classes/UWSRequest.md +16 -16
  131. package/docs/reference/classes/UWSResponse.md +13 -13
  132. package/docs/reference/classes/UWSWebSocketShim.md +5 -5
  133. package/docs/reference/enumerations/ACLAction.md +7 -7
  134. package/docs/reference/enumerations/ApiErrorMessages.md +15 -15
  135. package/docs/reference/enumerations/ApiErrors.md +15 -15
  136. package/docs/reference/functions/createWebSocketStream.md +1 -1
  137. package/docs/reference/functions/isSqlDataSource.md +1 -1
  138. package/docs/reference/functions/readBody.md +1 -1
  139. package/docs/reference/functions/resolveCollectionName.md +2 -2
  140. package/docs/reference/functions/runChain.md +1 -1
  141. package/docs/reference/functions/snakeCase.md +1 -1
  142. package/docs/reference/interfaces/ACLRecord.md +8 -8
  143. package/docs/reference/interfaces/AccessControlList.md +5 -5
  144. package/docs/reference/interfaces/AuthResult.md +5 -5
  145. package/docs/reference/interfaces/AuthStrategy.md +4 -4
  146. package/docs/reference/interfaces/CreateRequestOptions.md +9 -9
  147. package/docs/reference/interfaces/DeleteRequestOptions.md +10 -20
  148. package/docs/reference/interfaces/FindRequestOptions.md +10 -10
  149. package/docs/reference/interfaces/HttpRequest.md +15 -15
  150. package/docs/reference/interfaces/HttpResponse.md +11 -11
  151. package/docs/reference/interfaces/JWTAuthResult.md +6 -6
  152. package/docs/reference/interfaces/RepoCreateOptions.md +7 -7
  153. package/docs/reference/interfaces/RepoDeleteOptions.md +8 -18
  154. package/docs/reference/interfaces/RepoFindOptions.md +10 -20
  155. package/docs/reference/interfaces/RepoOperationOptions.md +6 -6
  156. package/docs/reference/interfaces/RepoUpdateOptions.md +7 -17
  157. package/docs/reference/interfaces/RequestOptions.md +8 -8
  158. package/docs/reference/interfaces/RequestWS.md +17 -17
  159. package/docs/reference/interfaces/TruncateRequestOptions.md +12 -26
  160. package/docs/reference/interfaces/UpdateRequestOptions.md +10 -20
  161. package/docs/reference/type-aliases/ErrorHandler.md +1 -1
  162. package/docs/reference/type-aliases/NextFunction.md +1 -1
  163. package/docs/reference/type-aliases/OneOrMany.md +1 -1
  164. package/docs/reference/type-aliases/OneOrNull.md +1 -1
  165. package/docs/reference/type-aliases/PartialBaseEntity.md +1 -1
  166. package/docs/reference/type-aliases/PartialSimpleEntity.md +1 -1
  167. package/docs/reference/type-aliases/RequestHandler.md +1 -1
  168. package/docs/reference/type-aliases/UpdateObject.md +1 -1
  169. package/docs/reference/type-aliases/WsUpgradeAuth.md +1 -1
  170. package/docs/reference/type-aliases/WsUpgradeAuthResult.md +5 -5
  171. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- import type { AggregationCursor, Collection, Db, DeleteResult, Document, UpdateResult } from "mongodb";
1
+ import type { AggregationCursor, Collection, CountDocumentsOptions, Db, DeleteOptions, DeleteResult, Document, Filter, FindCursor, FindOptions, UpdateOptions, UpdateResult } from "mongodb";
2
2
  /**
3
3
  * Provides a lightweight repository for performing common operations against a single MongoDB collection using the
4
4
  * native `mongodb` driver. Instances of this class are obtained via `MongoConnection.getRepository`.
@@ -32,40 +32,44 @@ export declare class MongoRepository<T extends Document = any> {
32
32
  /**
33
33
  * Returns the number of documents matching the given filter.
34
34
  *
35
- * @param filter The query filter to match documents against.
35
+ * @param filter - The filter for the count
36
+ * @param options - Optional settings for the command
36
37
  */
37
- count(filter?: any): Promise<number>;
38
+ count(filter?: Filter<T>, options?: CountDocumentsOptions): Promise<number>;
38
39
  /**
39
40
  * Deletes all documents matching the given filter.
40
41
  *
41
42
  * @param filter The query filter to match documents against.
43
+ * @param options - Optional settings for the command
42
44
  */
43
- deleteMany(filter: any): Promise<DeleteResult>;
45
+ deleteMany(filter: Filter<T>, options?: DeleteOptions): Promise<DeleteResult>;
44
46
  /**
45
47
  * Deletes the first document matching the given filter.
46
48
  *
47
49
  * @param filter The query filter to match documents against.
50
+ * @param options - Optional settings for the command
48
51
  */
49
- deleteOne(filter: any): Promise<DeleteResult>;
52
+ deleteOne(filter?: Filter<T>, options?: DeleteOptions): Promise<DeleteResult>;
50
53
  /**
51
54
  * Returns the list of distinct values of the given field for all documents matching the given filter.
52
55
  *
53
56
  * @param field The name of the document field to return distinct values of.
54
57
  * @param filter The query filter to match documents against.
55
58
  */
56
- distinct(field: string, filter?: any): Promise<any[]>;
59
+ distinct(field: string, filter?: Filter<T>): Promise<any[]>;
57
60
  /**
58
61
  * Returns all documents matching the given filter.
59
62
  *
60
63
  * @param filter The query filter to match documents against.
64
+ * @param options - Optional settings for the command
61
65
  */
62
- find(filter?: any): Promise<any[]>;
66
+ find(filter?: Filter<T>, options?: FindOptions): FindCursor<T>;
63
67
  /**
64
68
  * Returns the first document matching the given filter.
65
69
  *
66
70
  * @param filter The query filter to match documents against.
67
71
  */
68
- findOne(filter: any): Promise<any | null>;
72
+ findOne(filter: any): Promise<T | null>;
69
73
  /**
70
74
  * Saves the given document to the collection. If the document has an existing `_id` the stored document is
71
75
  * replaced (inserting if missing), otherwise the document is inserted and its newly assigned `_id` is set on
@@ -74,19 +78,21 @@ export declare class MongoRepository<T extends Document = any> {
74
78
  * @param doc The document to save.
75
79
  * @returns The saved document.
76
80
  */
77
- save(doc: any): Promise<any>;
81
+ save(doc: any): Promise<T>;
78
82
  /**
79
83
  * Updates all documents matching the given filter with the provided update operations.
80
84
  *
81
85
  * @param filter The query filter to match documents against.
82
86
  * @param update The update operations (e.g. `$set`) to apply.
87
+ * @param options - Optional settings for the command
83
88
  */
84
- updateMany(filter: any, update: any): Promise<UpdateResult>;
89
+ updateMany(filter: any, update: any, options?: UpdateOptions): Promise<UpdateResult<T>>;
85
90
  /**
86
91
  * Updates the first document matching the given filter with the provided update operations.
87
92
  *
88
93
  * @param filter The query filter to match documents against.
89
94
  * @param update The update operations (e.g. `$set`) to apply.
95
+ * @param options - Optional settings for the command
90
96
  */
91
- updateOne(filter: any, update: any): Promise<UpdateResult>;
97
+ updateOne(filter: any, update: any, options?: UpdateOptions): Promise<UpdateResult<T>>;
92
98
  }
@@ -1,4 +1,9 @@
1
- import type { Db } from "mongodb";
1
+ import type { CreateCollectionOptions, Db } from "mongodb";
2
+ interface CollectionInfo {
3
+ name: string;
4
+ classes: any[];
5
+ options?: CreateCollectionOptions;
6
+ }
2
7
  /**
3
8
  * Performs structure synchronization of MongoDB collections based on the persistence metadata of model classes.
4
9
  *
@@ -16,6 +21,20 @@ export declare class MongoSchemaSync {
16
21
  private db;
17
22
  private logger;
18
23
  constructor(db: Db, logger?: any);
24
+ /**
25
+ * Resolves the entity info of the database collection (or table) that records of the given model class are stored in.
26
+ *
27
+ * The entity info is resolved using the following rules:
28
+ * 1. The nearest class in the inheritance chain (starting with `clazz` itself) that specifies an explicit
29
+ * entity info via the `@Entity(info)` decorator.
30
+ * 2. Otherwise, the most ancestral class in the inheritance chain that declares its own `@DataStore` binding.
31
+ * This ensures that `@ChildEntity` subclasses are stored in the same collection as their parent entity
32
+ * (single collection inheritance).
33
+ * 3. Otherwise, a new info object containing the snake_case form of the class name.
34
+ *
35
+ * @param clazz The model class to resolve the collection name for.
36
+ */
37
+ resolveCollectionInfo(clazz: any): CollectionInfo;
19
38
  /**
20
39
  * Synchronizes the structure of all collections associated with the given model classes.
21
40
  *
@@ -25,8 +44,7 @@ export declare class MongoSchemaSync {
25
44
  /**
26
45
  * Synchronizes the structure of a single collection.
27
46
  *
28
- * @param name The name of the collection to synchronize.
29
- * @param classes The list of model classes whose records are stored in the collection.
47
+ * @param info The information about the collection to synchronize.
30
48
  */
31
49
  private syncCollection;
32
50
  /**
@@ -36,6 +54,10 @@ export declare class MongoSchemaSync {
36
54
  /**
37
55
  * Determines whether an existing index satisfies the desired index specification. The `background` option is
38
56
  * a build-time hint and is intentionally excluded from the comparison.
57
+ *
58
+ * Collation is compared by `locale` and `strength` only — MongoDB adds default values for all other fields
59
+ * when storing the index, which would cause spurious mismatches if we compared the full object.
39
60
  */
40
61
  private optionsMatch;
41
62
  }
63
+ export {};
@@ -13,7 +13,7 @@ export declare function snakeCase(str: string): string;
13
13
  *
14
14
  * The name is resolved using the following rules:
15
15
  * 1. The nearest class in the inheritance chain (starting with `clazz` itself) that specifies an explicit
16
- * entity name via the `@Entity(name)` decorator.
16
+ * entity name via the `@Entity(options)` decorator.
17
17
  * 2. Otherwise, the most ancestral class in the inheritance chain that declares its own `@DataStore` binding.
18
18
  * This ensures that `@ChildEntity` subclasses are stored in the same collection as their parent entity
19
19
  * (single collection inheritance).
@@ -1,4 +1,19 @@
1
1
  import "reflect-metadata";
2
+ /**
3
+ * The language-specific rules to use for string comparison in MongoDB collections.
4
+ *
5
+ * @see https://www.mongodb.com/docs/v7.0/reference/collation/#std-label-collation
6
+ */
7
+ export interface CollationOptions {
8
+ locale: string;
9
+ caseLevel?: boolean;
10
+ caseFirst?: string;
11
+ strength?: number;
12
+ numericOrdering?: boolean;
13
+ alternate?: string;
14
+ maxVariable?: string;
15
+ backwards?: boolean;
16
+ }
2
17
  /**
3
18
  * The set of options available when declaring a persisted column/property via the `@Column` decorator.
4
19
  */
@@ -12,6 +27,16 @@ export interface ColumnOptions {
12
27
  /** Set to `true` if the column stores a MongoDB `ObjectId` value. */
13
28
  isObjectId?: boolean;
14
29
  }
30
+ /**
31
+ * The set of options to use when declaring a persistent class type via the `@Entity` decorator.
32
+ */
33
+ export interface EntityOptions {
34
+ /** The name of the collection (or table) that records will be stored in. Defaults to the snake_case
35
+ * form of the class name. */
36
+ name?: string;
37
+ /** The language-specific collation rules to apply to the collection. (MongoDB only) */
38
+ collation?: CollationOptions;
39
+ }
15
40
  /**
16
41
  * The set of options available when declaring a database index via the `@Index` decorator.
17
42
  */
@@ -24,6 +49,8 @@ export interface IndexOptions {
24
49
  background?: boolean;
25
50
  /** The time, in seconds, after which indexed documents will be automatically deleted. (MongoDB only) */
26
51
  expireAfterSeconds?: number;
52
+ /** The language-specific collation rules to apply to the index. (MongoDB only) */
53
+ collation?: CollationOptions;
27
54
  }
28
55
  /**
29
56
  * Describes a single persisted column/property of a model class.
@@ -89,10 +116,9 @@ export declare function Unique(name: string, fields: string[]): ClassDecorator;
89
116
  /**
90
117
  * Indicates that the class describes an entity that is persisted to a datastore.
91
118
  *
92
- * @param name The name of the collection (or table) that records will be stored in. Defaults to the snake_case
93
- * form of the class name.
119
+ * @param options The options to set.
94
120
  */
95
- export declare function Entity(name?: string): (target: any) => void;
121
+ export declare function Entity(options?: EntityOptions): (target: any) => void;
96
122
  /**
97
123
  * Returns the merged list of persisted columns declared across the entire class hierarchy of the given model
98
124
  * class. Columns declared in subclasses override columns of the same property name declared in parent classes.
@@ -35,10 +35,9 @@ export declare class ModelUtils {
35
35
  * @param modelClass The class definition of the data model to build a search query for.
36
36
  * @param id The unique identifier to search for.
37
37
  * @param version The version number of the document to search for.
38
- * @param productUid The optional product uid that is associated with the uid (when a compound key is used).
39
38
  * @returns An object that can be passed to a TypeORM `find` function.
40
39
  */
41
- static buildIdSearchQuery<T extends {}>(repo: Repository<T> | MongoRepository<T> | undefined, modelClass: any, id: any | any[], version?: number, productUid?: string): any;
40
+ static buildIdSearchQuery<T extends {}>(repo: Repository<T> | MongoRepository<T> | undefined, modelClass: any, id: any | any[], version?: number): any;
42
41
  /**
43
42
  * Builds a TypeORM compatible query object for use in `find` functions for retrieving objects matching the
44
43
  * specified unique identifier.
@@ -46,10 +45,9 @@ export declare class ModelUtils {
46
45
  * @param modelClass The class definition of the data model to build a search query for.
47
46
  * @param id The unique identifier to search for.
48
47
  * @param version The version number of the document to search for.
49
- * @param productUid The optional product uid that is associated with the uid (when a compound key is used).
50
48
  * @returns An object that can be passed to a TypeORM `find` function.
51
49
  */
52
- static buildIdSearchQuerySQL(modelClass: any, id: any | any[], version?: number, productUid?: string): any;
50
+ static buildIdSearchQuerySQL(modelClass: any, id: any | any[], version?: number): any;
53
51
  /**
54
52
  * Builds a MongoDB compatible query object for use in `find` functions for retrieving objects matching the
55
53
  * specified unique identifier.
@@ -57,10 +55,9 @@ export declare class ModelUtils {
57
55
  * @param modelClass The class definition of the data model to build a search query for.
58
56
  * @param id The unique identifier to search for.
59
57
  * @param version The version number of the document to search for.
60
- * @param productUid The optional product uid that is associated with the uid (when a compound key is used).
61
58
  * @returns An object that can be passed to a MongoDB `find` function.
62
59
  */
63
- static buildIdSearchQueryMongo(modelClass: any, id: any | any[], version?: number, productUid?: string): any;
60
+ static buildIdSearchQueryMongo(modelClass: any, id: any | any[], version?: number): any;
64
61
  /**
65
62
  * Given a string containing a parameter value and/or a comparison operation return a TypeORM compatible find value.
66
63
  * e.g.
@@ -35,8 +35,6 @@ export interface RepoCreateOptions extends RepoOperationOptions {
35
35
  * The available options for the `RepoUtils.delete()` operation.
36
36
  */
37
37
  export interface RepoDeleteOptions extends RepoOperationOptions {
38
- /** The desired product uid of the resource to delete. */
39
- productUid?: string;
40
38
  /** Set to true to permanently remove the object from the database (if applicable). */
41
39
  purge?: boolean;
42
40
  /** The desired version number of the resource to delete. */
@@ -47,8 +45,6 @@ export interface RepoFindOptions extends RepoOperationOptions {
47
45
  limit?: number;
48
46
  /** The page number of the paginated results to retrieve. */
49
47
  page?: number;
50
- /** The desired product uid of the resources to retrieve. */
51
- productUid?: string;
52
48
  /** Set to `true` to skip retrieval from the cache. Default is `false`. */
53
49
  skipCache?: boolean;
54
50
  /** The desired version number of the resources to retrieve. */
@@ -58,8 +54,6 @@ export interface RepoFindOptions extends RepoOperationOptions {
58
54
  * The available options for the `RepoUtils.update()` operation.
59
55
  */
60
56
  export interface RepoUpdateOptions<T extends BaseEntity | SimpleEntity> extends RepoOperationOptions {
61
- /** The desired product uid of the resource to update. */
62
- productUid?: string;
63
57
  /** The desired version number of the resource to update. */
64
58
  version?: number | string;
65
59
  }
@@ -140,7 +134,7 @@ export declare class RepoUtils<T extends BaseEntity | SimpleEntity> {
140
134
  *
141
135
  * The result of this function is compatible with all `Repository.find()` functions.
142
136
  */
143
- searchIdQuery(id: string, version?: number | string, productUid?: string): any;
137
+ searchIdQuery(id: string, version?: number | string): any;
144
138
  truncate(query: any, options: RepoFindOptions): Promise<void>;
145
139
  update(obj: Partial<T>, existing: T, options?: RepoUpdateOptions<T>): Promise<T>;
146
140
  /**
@@ -30,8 +30,6 @@ export interface CreateRequestOptions extends RequestOptions {
30
30
  * The set of options required by delete request handlers.
31
31
  */
32
32
  export interface DeleteRequestOptions extends RequestOptions {
33
- /** The desired product uid of the resource to delete. */
34
- productUid?: string;
35
33
  /** Set to true to permanently remove the object from the database (if applicable). */
36
34
  purge?: boolean;
37
35
  /** An additional list of channel names to send push notifications to. */
@@ -71,8 +69,6 @@ export type UpdateObject<T extends BaseEntity | SimpleEntity> = Partial<T> & Pic
71
69
  export interface UpdateRequestOptions<T extends BaseEntity | SimpleEntity> extends RequestOptions {
72
70
  /** The existing object that has already been recently pulled from the datastore. */
73
71
  existing?: T | null;
74
- /** The desired product uid of the resource to update. */
75
- productUid?: string;
76
72
  /** An additional list of channel names to send push notifications to. */
77
73
  pushChannels?: string[];
78
74
  /** Set to `true` to not send a push notification. */
@@ -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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DatabaseDecorators.ts#L10)
11
+ Defined in: [src/decorators/DatabaseDecorators.ts:10](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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
 
@@ -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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DatabaseDecorators.ts#L44)
11
+ Defined in: [src/decorators/DatabaseDecorators.ts:44](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DatabaseDecorators.ts#L27)
11
+ Defined in: [src/decorators/DatabaseDecorators.ts:27](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L40)
11
+ Defined in: [src/decorators/DocDecorators.ts:40](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L51)
11
+ Defined in: [src/decorators/DocDecorators.ts:51](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L20)
11
+ Defined in: [src/decorators/DocDecorators.ts:20](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L62)
11
+ Defined in: [src/decorators/DocDecorators.ts:62](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L73)
11
+ Defined in: [src/decorators/DocDecorators.ts:73](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L109)
11
+ Defined in: [src/decorators/DocDecorators.ts:109](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L84)
11
+ Defined in: [src/decorators/DocDecorators.ts:84](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L95)
11
+ Defined in: [src/decorators/DocDecorators.ts:95](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L128)
11
+ Defined in: [src/decorators/DocDecorators.ts:128](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L6)
9
+ Defined in: [src/decorators/DocDecorators.ts:6](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L7)
17
+ Defined in: [src/decorators/DocDecorators.ts:7](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L8)
25
+ Defined in: [src/decorators/DocDecorators.ts:8](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L9)
33
+ Defined in: [src/decorators/DocDecorators.ts:9](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L10)
41
+ Defined in: [src/decorators/DocDecorators.ts:10](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L11)
49
+ Defined in: [src/decorators/DocDecorators.ts:11](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/DocDecorators.ts#L12)
57
+ Defined in: [src/decorators/DocDecorators.ts:12](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/EventDecorators.ts#L21)
11
+ Defined in: [src/decorators/EventDecorators.ts:21](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/EventDecorators.ts#L12)
11
+ Defined in: [src/decorators/EventDecorators.ts:12](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/ModelDecorators.ts#L30)
11
+ Defined in: [src/decorators/ModelDecorators.ts:30](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/ModelDecorators.ts#L30)
12
12
 
13
13
  Indicates that the class is cacheable with the specified TTL.
14
14
 
@@ -8,9 +8,9 @@
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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/ModelDecorators.ts#L45)
11
+ Defined in: [src/decorators/ModelDecorators.ts:45](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/ModelDecorators.ts#L45)
12
12
 
13
- Indicates that a class is a child entity to some parent. Child entities will inherit all datastore configuration
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.
15
15
 
16
16
  ## Returns
@@ -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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/ModelDecorators.ts#L73)
11
+ Defined in: [src/decorators/ModelDecorators.ts:73](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/ModelDecorators.ts#L87)
11
+ Defined in: [src/decorators/ModelDecorators.ts:87](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/ModelDecorators.ts#L87)
12
12
 
13
13
  Apply this to a property that is considered a unique identifier.
14
14
 
@@ -8,11 +8,11 @@
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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/ModelDecorators.ts#L109)
11
+ Defined in: [src/decorators/ModelDecorators.ts:109](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/src/decorators/ModelDecorators.ts#L109)
12
12
 
13
- Apply this to a model class to indicate that it should be protected by the AccessControlList security system.
14
- The `classACL` parameter specifies the default ACL governing access to general operations against the model class
15
- (e.g. create, truncate, find). The `recordACL` parameter indicates whether or not per-record ACLs should be created
13
+ Apply this to a model class to indicate that it should be protected by the AccessControlList security system.
14
+ The `classACL` parameter specifies the default ACL governing access to general operations against the model class
15
+ (e.g. create, truncate, find). The `recordACL` parameter indicates whether or not per-record ACLs should be created
16
16
  for this type in order to govern access to individual record operations (e.g. delete, update, find).
17
17
 
18
18
  ## Parameters
@@ -27,7 +27,7 @@ The default access control list to limit access to general class operations.
27
27
 
28
28
  `boolean` = `false`
29
29
 
30
- Set to `true` to create an ACL for each new record of the given type, otherwise set to false. Default
30
+ Set to `true` to create an ACL for each new record of the given type, otherwise set to false. Default
31
31
  is `false`.
32
32
 
33
33
  ## Returns
@@ -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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/ModelDecorators.ts#L160)
11
+ Defined in: [src/decorators/ModelDecorators.ts:160](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/ModelDecorators.ts#L173)
11
+ Defined in: [src/decorators/ModelDecorators.ts:173](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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/1525696e01ca0eceb33d14e93f096bae8fe233b3/src/decorators/ModelDecorators.ts#L190)
11
+ Defined in: [src/decorators/ModelDecorators.ts:190](https://github.com/rapidrest/service-core/blob/33d3655fa6883713f33f0fe6f330eb205671fea1/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
 
@@ -18,7 +18,7 @@ Indicates that the class will track changes for each document update limited to
18
18
 
19
19
  `number` = `-1`
20
20
 
21
- The number of versions that will be tracked for each document change. Set to `-1` to store all
21
+ The number of versions that will be tracked for each document change. Set to `-1` to store all
22
22
  versions. Default value is `-1`.
23
23
 
24
24
  ## Returns