@lenne.tech/nest-server 10.8.9 → 10.8.11

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 (212) hide show
  1. package/dist/core/common/args/filter.args.js +2 -2
  2. package/dist/core/common/args/filter.args.js.map +1 -1
  3. package/dist/core/common/args/pagination.args.js +5 -5
  4. package/dist/core/common/args/pagination.args.js.map +1 -1
  5. package/dist/core/common/helpers/config.helper.d.ts +1 -1
  6. package/dist/core/common/helpers/config.helper.js +8 -8
  7. package/dist/core/common/helpers/config.helper.js.map +1 -1
  8. package/dist/core/common/helpers/db.helper.d.ts +11 -11
  9. package/dist/core/common/helpers/db.helper.js +100 -100
  10. package/dist/core/common/helpers/db.helper.js.map +1 -1
  11. package/dist/core/common/helpers/file.helper.d.ts +1 -1
  12. package/dist/core/common/helpers/file.helper.js +10 -10
  13. package/dist/core/common/helpers/file.helper.js.map +1 -1
  14. package/dist/core/common/helpers/filter.helper.d.ts +12 -12
  15. package/dist/core/common/helpers/filter.helper.js +19 -19
  16. package/dist/core/common/helpers/filter.helper.js.map +1 -1
  17. package/dist/core/common/helpers/graphql.helper.d.ts +8 -8
  18. package/dist/core/common/helpers/graphql.helper.js +75 -75
  19. package/dist/core/common/helpers/graphql.helper.js.map +1 -1
  20. package/dist/core/common/helpers/input.helper.d.ts +7 -7
  21. package/dist/core/common/helpers/input.helper.js +60 -60
  22. package/dist/core/common/helpers/input.helper.js.map +1 -1
  23. package/dist/core/common/helpers/model.helper.d.ts +8 -8
  24. package/dist/core/common/helpers/model.helper.js +38 -38
  25. package/dist/core/common/helpers/model.helper.js.map +1 -1
  26. package/dist/core/common/helpers/service.helper.d.ts +2 -2
  27. package/dist/core/common/helpers/table.helper.d.ts +1 -1
  28. package/dist/core/common/inputs/combined-filter.input.js +6 -6
  29. package/dist/core/common/inputs/combined-filter.input.js.map +1 -1
  30. package/dist/core/common/inputs/filter.input.js +6 -6
  31. package/dist/core/common/inputs/filter.input.js.map +1 -1
  32. package/dist/core/common/inputs/single-filter.input.js +10 -10
  33. package/dist/core/common/inputs/single-filter.input.js.map +1 -1
  34. package/dist/core/common/inputs/sort.input.js +4 -4
  35. package/dist/core/common/inputs/sort.input.js.map +1 -1
  36. package/dist/core/common/interfaces/server-options.interface.d.ts +8 -8
  37. package/dist/core/common/models/core-persistence.model.js +8 -8
  38. package/dist/core/common/models/core-persistence.model.js.map +1 -1
  39. package/dist/core/common/plugins/mongoose-id.plugin.d.ts +1 -1
  40. package/dist/core/common/plugins/mongoose-id.plugin.js +2 -2
  41. package/dist/core/common/plugins/mongoose-id.plugin.js.map +1 -1
  42. package/dist/core/common/scalars/any.scalar.js +8 -8
  43. package/dist/core/common/scalars/any.scalar.js.map +1 -1
  44. package/dist/core/common/scalars/date-timestamp.scalar.js +1 -1
  45. package/dist/core/common/scalars/date-timestamp.scalar.js.map +1 -1
  46. package/dist/core/common/scalars/date.scalar.js +1 -1
  47. package/dist/core/common/scalars/date.scalar.js.map +1 -1
  48. package/dist/core/common/scalars/json.scalar.js +8 -8
  49. package/dist/core/common/scalars/json.scalar.js.map +1 -1
  50. package/dist/core/common/services/config.service.d.ts +26 -26
  51. package/dist/core/common/services/crud.service.d.ts +32 -32
  52. package/dist/core/common/services/mailjet.service.js +1 -1
  53. package/dist/core/common/services/mailjet.service.js.map +1 -1
  54. package/dist/core/common/services/module.service.d.ts +1 -1
  55. package/dist/core/common/services/module.service.js.map +1 -1
  56. package/dist/core/common/types/falsy.type.d.ts +1 -1
  57. package/dist/core/common/types/id.type.d.ts +4 -4
  58. package/dist/core/common/types/require-only-one.type.d.ts +2 -2
  59. package/dist/core/common/types/required-at-least-one.type.d.ts +2 -2
  60. package/dist/core/common/types/string-or-object-id.type.d.ts +1 -1
  61. package/dist/core/modules/auth/core-auth.controller.js +6 -6
  62. package/dist/core/modules/auth/core-auth.controller.js.map +1 -1
  63. package/dist/core/modules/auth/core-auth.model.js +2 -2
  64. package/dist/core/modules/auth/core-auth.model.js.map +1 -1
  65. package/dist/core/modules/auth/core-auth.module.d.ts +4 -4
  66. package/dist/core/modules/auth/core-auth.module.js +2 -2
  67. package/dist/core/modules/auth/core-auth.module.js.map +1 -1
  68. package/dist/core/modules/auth/core-auth.resolver.js +6 -6
  69. package/dist/core/modules/auth/core-auth.resolver.js.map +1 -1
  70. package/dist/core/modules/auth/guards/auth.guard.d.ts +2 -2
  71. package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js +2 -2
  72. package/dist/core/modules/auth/inputs/core-auth-sign-in.input.js.map +1 -1
  73. package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js +2 -2
  74. package/dist/core/modules/auth/inputs/core-auth-sign-up.input.js.map +1 -1
  75. package/dist/core/modules/auth/services/core-auth.service.d.ts +2 -2
  76. package/dist/core/modules/file/core-file-info.model.js +8 -8
  77. package/dist/core/modules/file/core-file-info.model.js.map +1 -1
  78. package/dist/core/modules/file/core-file.controller.js +2 -2
  79. package/dist/core/modules/file/core-file.controller.js.map +1 -1
  80. package/dist/core/modules/file/core-file.resolver.js +6 -6
  81. package/dist/core/modules/file/core-file.resolver.js.map +1 -1
  82. package/dist/core/modules/file/core-file.service.d.ts +6 -6
  83. package/dist/core/modules/health-check/core-health-check-result.model.js +9 -9
  84. package/dist/core/modules/health-check/core-health-check-result.model.js.map +1 -1
  85. package/dist/core/modules/health-check/core-health-check.controller.js +2 -2
  86. package/dist/core/modules/health-check/core-health-check.controller.js.map +1 -1
  87. package/dist/core/modules/health-check/core-health-check.resolver.js +2 -2
  88. package/dist/core/modules/health-check/core-health-check.resolver.js.map +1 -1
  89. package/dist/core/modules/user/core-user.model.js +11 -11
  90. package/dist/core/modules/user/core-user.model.js.map +1 -1
  91. package/dist/core/modules/user/core-user.service.d.ts +2 -2
  92. package/dist/core/modules/user/inputs/core-user-create.input.js +3 -3
  93. package/dist/core/modules/user/inputs/core-user-create.input.js.map +1 -1
  94. package/dist/core/modules/user/inputs/core-user.input.js +10 -10
  95. package/dist/core/modules/user/inputs/core-user.input.js.map +1 -1
  96. package/dist/index.d.ts +8 -8
  97. package/dist/index.js +8 -8
  98. package/dist/index.js.map +1 -1
  99. package/dist/server/common/models/persistence.model.d.ts +2 -2
  100. package/dist/server/common/models/persistence.model.js +6 -6
  101. package/dist/server/common/models/persistence.model.js.map +1 -1
  102. package/dist/server/modules/auth/auth.controller.js +1 -1
  103. package/dist/server/modules/auth/auth.controller.js.map +1 -1
  104. package/dist/server/modules/auth/auth.model.js +3 -3
  105. package/dist/server/modules/auth/auth.model.js.map +1 -1
  106. package/dist/server/modules/auth/auth.resolver.js +3 -3
  107. package/dist/server/modules/auth/auth.resolver.js.map +1 -1
  108. package/dist/server/modules/auth/inputs/auth-sign-in.input.js +2 -2
  109. package/dist/server/modules/auth/inputs/auth-sign-in.input.js.map +1 -1
  110. package/dist/server/modules/auth/inputs/auth-sign-up.input.js +4 -4
  111. package/dist/server/modules/auth/inputs/auth-sign-up.input.js.map +1 -1
  112. package/dist/server/modules/file/file-info.model.js +2 -2
  113. package/dist/server/modules/file/file-info.model.js.map +1 -1
  114. package/dist/server/modules/file/file.controller.js +5 -5
  115. package/dist/server/modules/file/file.controller.js.map +1 -1
  116. package/dist/server/modules/file/file.resolver.js +5 -5
  117. package/dist/server/modules/file/file.resolver.js.map +1 -1
  118. package/dist/server/modules/user/avatar.controller.js +2 -2
  119. package/dist/server/modules/user/avatar.controller.js.map +1 -1
  120. package/dist/server/modules/user/inputs/user-create.input.js +2 -2
  121. package/dist/server/modules/user/inputs/user-create.input.js.map +1 -1
  122. package/dist/server/modules/user/inputs/user.input.js +2 -2
  123. package/dist/server/modules/user/inputs/user.input.js.map +1 -1
  124. package/dist/server/modules/user/outputs/find-and-count-users-result.output.js +4 -4
  125. package/dist/server/modules/user/outputs/find-and-count-users-result.output.js.map +1 -1
  126. package/dist/server/modules/user/user.model.js +8 -8
  127. package/dist/server/modules/user/user.model.js.map +1 -1
  128. package/dist/server/modules/user/user.resolver.d.ts +1 -1
  129. package/dist/server/modules/user/user.resolver.js +11 -11
  130. package/dist/server/modules/user/user.resolver.js.map +1 -1
  131. package/dist/server/modules/user/user.service.d.ts +1 -1
  132. package/dist/server/server.controller.js +2 -2
  133. package/dist/server/server.controller.js.map +1 -1
  134. package/dist/test/test.helper.d.ts +14 -14
  135. package/dist/test/test.helper.js +13 -3
  136. package/dist/test/test.helper.js.map +1 -1
  137. package/dist/tsconfig.build.tsbuildinfo +1 -1
  138. package/package.json +22 -19
  139. package/src/core/common/args/filter.args.ts +2 -2
  140. package/src/core/common/args/pagination.args.ts +5 -5
  141. package/src/core/common/decorators/graphql-service-options.decorator.ts +1 -1
  142. package/src/core/common/decorators/graphql-user.decorator.ts +1 -1
  143. package/src/core/common/decorators/rest-user.decorator.ts +1 -1
  144. package/src/core/common/helpers/config.helper.ts +22 -21
  145. package/src/core/common/helpers/db.helper.ts +164 -164
  146. package/src/core/common/helpers/file.helper.ts +18 -18
  147. package/src/core/common/helpers/filter.helper.ts +35 -35
  148. package/src/core/common/helpers/graphql.helper.ts +100 -100
  149. package/src/core/common/helpers/input.helper.ts +89 -89
  150. package/src/core/common/helpers/model.helper.ts +70 -70
  151. package/src/core/common/helpers/service.helper.ts +3 -3
  152. package/src/core/common/helpers/table.helper.ts +1 -1
  153. package/src/core/common/inputs/combined-filter.input.ts +5 -5
  154. package/src/core/common/inputs/filter.input.ts +5 -5
  155. package/src/core/common/inputs/single-filter.input.ts +9 -9
  156. package/src/core/common/inputs/sort.input.ts +3 -3
  157. package/src/core/common/interfaces/server-options.interface.ts +9 -9
  158. package/src/core/common/models/core-persistence.model.ts +8 -8
  159. package/src/core/common/plugins/mongoose-id.plugin.js +2 -2
  160. package/src/core/common/scalars/any.scalar.ts +8 -8
  161. package/src/core/common/scalars/date-timestamp.scalar.ts +1 -1
  162. package/src/core/common/scalars/date.scalar.ts +1 -1
  163. package/src/core/common/scalars/json.scalar.ts +8 -8
  164. package/src/core/common/services/config.service.ts +7 -7
  165. package/src/core/common/services/crud.service.ts +19 -19
  166. package/src/core/common/services/mailjet.service.ts +1 -1
  167. package/src/core/common/services/module.service.ts +4 -4
  168. package/src/core/common/types/falsy.type.ts +1 -1
  169. package/src/core/common/types/id.type.ts +1 -1
  170. package/src/core/common/types/require-only-one.type.ts +3 -3
  171. package/src/core/common/types/required-at-least-one.type.ts +3 -3
  172. package/src/core/common/types/string-or-object-id.type.ts +1 -1
  173. package/src/core/modules/auth/core-auth.controller.ts +6 -6
  174. package/src/core/modules/auth/core-auth.model.ts +1 -1
  175. package/src/core/modules/auth/core-auth.module.ts +4 -4
  176. package/src/core/modules/auth/core-auth.resolver.ts +6 -6
  177. package/src/core/modules/auth/guards/auth.guard.ts +3 -3
  178. package/src/core/modules/auth/inputs/core-auth-sign-in.input.ts +1 -1
  179. package/src/core/modules/auth/inputs/core-auth-sign-up.input.ts +1 -1
  180. package/src/core/modules/auth/services/core-auth.service.ts +1 -1
  181. package/src/core/modules/auth/tokens.decorator.ts +2 -2
  182. package/src/core/modules/file/core-file-info.model.ts +7 -7
  183. package/src/core/modules/file/core-file.controller.ts +2 -2
  184. package/src/core/modules/file/core-file.resolver.ts +6 -6
  185. package/src/core/modules/file/core-file.service.ts +6 -6
  186. package/src/core/modules/health-check/core-health-check-result.model.ts +8 -8
  187. package/src/core/modules/health-check/core-health-check.controller.ts +2 -2
  188. package/src/core/modules/health-check/core-health-check.resolver.ts +2 -2
  189. package/src/core/modules/user/core-user.model.ts +11 -11
  190. package/src/core/modules/user/core-user.service.ts +2 -2
  191. package/src/core/modules/user/inputs/core-user-create.input.ts +2 -2
  192. package/src/core/modules/user/inputs/core-user.input.ts +9 -9
  193. package/src/index.ts +9 -9
  194. package/src/server/common/models/persistence.model.ts +8 -8
  195. package/src/server/modules/auth/auth.controller.ts +1 -1
  196. package/src/server/modules/auth/auth.model.ts +2 -2
  197. package/src/server/modules/auth/auth.resolver.ts +3 -3
  198. package/src/server/modules/auth/inputs/auth-sign-in.input.ts +1 -1
  199. package/src/server/modules/auth/inputs/auth-sign-up.input.ts +3 -3
  200. package/src/server/modules/file/file-info.model.ts +2 -2
  201. package/src/server/modules/file/file.controller.ts +5 -5
  202. package/src/server/modules/file/file.module.ts +1 -1
  203. package/src/server/modules/file/file.resolver.ts +5 -5
  204. package/src/server/modules/user/avatar.controller.ts +2 -2
  205. package/src/server/modules/user/inputs/user-create.input.ts +1 -1
  206. package/src/server/modules/user/inputs/user.input.ts +1 -1
  207. package/src/server/modules/user/outputs/find-and-count-users-result.output.ts +3 -3
  208. package/src/server/modules/user/user.model.ts +8 -8
  209. package/src/server/modules/user/user.resolver.ts +11 -11
  210. package/src/server/modules/user/user.service.ts +1 -1
  211. package/src/server/server.controller.ts +2 -2
  212. package/src/test/test.helper.ts +31 -17
@@ -32,7 +32,7 @@ export abstract class CrudService<
32
32
  */
33
33
  async aggregate<T = any>(
34
34
  pipeline: PipelineStage[],
35
- serviceOptions?: { aggregateOptions?: AggregateOptions } & ServiceOptions,
35
+ serviceOptions?: ServiceOptions & { aggregateOptions?: AggregateOptions },
36
36
  ): Promise<T> {
37
37
  return this.process(
38
38
  async () => {
@@ -147,7 +147,7 @@ export abstract class CrudService<
147
147
  * Get items via filter
148
148
  */
149
149
  async find(
150
- filter?: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
150
+ filter?: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
151
151
  serviceOptions?: ServiceOptions,
152
152
  ): Promise<Model[]> {
153
153
  // If filter is not instance of FilterArgs a simple form with filterQuery and queryOptions is set
@@ -191,7 +191,7 @@ export abstract class CrudService<
191
191
  * Warning: Disables the handling of rights and restrictions!
192
192
  */
193
193
  async findForce(
194
- filter?: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
194
+ filter?: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
195
195
  serviceOptions: ServiceOptions = {},
196
196
  ): Promise<Model[]> {
197
197
  serviceOptions = serviceOptions || {};
@@ -204,7 +204,7 @@ export abstract class CrudService<
204
204
  * Warning: Disables the handling of rights and restrictions! The raw data may contain secrets (such as passwords).
205
205
  */
206
206
  async findRaw(
207
- filter?: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
207
+ filter?: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
208
208
  serviceOptions: ServiceOptions = {},
209
209
  ): Promise<Model[]> {
210
210
  serviceOptions = serviceOptions || {};
@@ -216,7 +216,7 @@ export abstract class CrudService<
216
216
  * Get items and total count via filter
217
217
  */
218
218
  async findAndCount(
219
- filter?: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
219
+ filter?: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
220
220
  serviceOptions?: ServiceOptions,
221
221
  ): Promise<{ items: Model[]; totalCount: number }> {
222
222
  // If filter is not instance of FilterArgs a simple form with filterQuery and queryOptions is set
@@ -295,7 +295,7 @@ export abstract class CrudService<
295
295
  * Warning: Disables the handling of rights and restrictions!
296
296
  */
297
297
  async findAndCountForce(
298
- filter?: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
298
+ filter?: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
299
299
  serviceOptions: ServiceOptions = {},
300
300
  ): Promise<{ items: Model[]; totalCount: number }> {
301
301
  serviceOptions.raw = true;
@@ -307,7 +307,7 @@ export abstract class CrudService<
307
307
  * Warning: Disables the handling of rights and restrictions! The raw data may contain secrets (such as passwords).
308
308
  */
309
309
  async findAndCountRaw(
310
- filter?: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
310
+ filter?: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
311
311
  serviceOptions: ServiceOptions = {},
312
312
  ): Promise<{ items: Model[]; totalCount: number }> {
313
313
  serviceOptions = serviceOptions || {};
@@ -319,7 +319,7 @@ export abstract class CrudService<
319
319
  * Find and update
320
320
  */
321
321
  async findAndUpdate(
322
- filter: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
322
+ filter: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
323
323
  update: PlainObject<UpdateInput>,
324
324
  serviceOptions?: ServiceOptions,
325
325
  ): Promise<Model[]> {
@@ -348,7 +348,7 @@ export abstract class CrudService<
348
348
  * Warning: Disables the handling of rights and restrictions!
349
349
  */
350
350
  async findAndUpdateForce(
351
- filter: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
351
+ filter: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
352
352
  update: PlainObject<UpdateInput>,
353
353
  serviceOptions: ServiceOptions = {},
354
354
  ): Promise<Model[]> {
@@ -362,7 +362,7 @@ export abstract class CrudService<
362
362
  * Warning: Disables the handling of rights and restrictions! The raw data may contain secrets (such as passwords).
363
363
  */
364
364
  async findAndUpdateRaw(
365
- filter: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
365
+ filter: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
366
366
  update: PlainObject<UpdateInput>,
367
367
  serviceOptions: ServiceOptions = {},
368
368
  ): Promise<Model[]> {
@@ -375,7 +375,7 @@ export abstract class CrudService<
375
375
  * Find one item via filter
376
376
  */
377
377
  async findOne(
378
- filter?: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions } | FilterArgs,
378
+ filter?: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions },
379
379
  serviceOptions?: ServiceOptions,
380
380
  ): Promise<Model> {
381
381
  // If filter is not instance of FilterArgs a simple form with filterQuery and queryOptions is set
@@ -414,7 +414,7 @@ export abstract class CrudService<
414
414
  * Warning: Disables the handling of rights and restrictions!
415
415
  */
416
416
  async findOneForce(
417
- filter?: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
417
+ filter?: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
418
418
  serviceOptions: ServiceOptions = {},
419
419
  ): Promise<Model> {
420
420
  serviceOptions = serviceOptions || {};
@@ -427,7 +427,7 @@ export abstract class CrudService<
427
427
  * Warning: Disables the handling of rights and restrictions! The raw data may contain secrets (such as passwords).
428
428
  */
429
429
  async findOneRaw(
430
- filter?: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number } | FilterArgs,
430
+ filter?: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions; samples?: number },
431
431
  serviceOptions: ServiceOptions = {},
432
432
  ): Promise<Model> {
433
433
  serviceOptions = serviceOptions || {};
@@ -452,7 +452,7 @@ export abstract class CrudService<
452
452
  * CRUD alias for find
453
453
  */
454
454
  async read(
455
- filter: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions } | FilterArgs,
455
+ filter: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions },
456
456
  serviceOptions?: ServiceOptions,
457
457
  ): Promise<Model[]>;
458
458
 
@@ -460,7 +460,7 @@ export abstract class CrudService<
460
460
  * CRUD alias for get or find
461
461
  */
462
462
  async read(
463
- input: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions } | FilterArgs | string,
463
+ input: FilterArgs | string | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions },
464
464
  serviceOptions?: ServiceOptions,
465
465
  ): Promise<Model | Model[]> {
466
466
  if (typeof input === 'string') {
@@ -481,7 +481,7 @@ export abstract class CrudService<
481
481
  * Warning: Disables the handling of rights and restrictions!
482
482
  */
483
483
  async readForce(
484
- filter: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions } | FilterArgs,
484
+ filter: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions },
485
485
  serviceOptions?: ServiceOptions,
486
486
  ): Promise<Model[]>;
487
487
 
@@ -490,7 +490,7 @@ export abstract class CrudService<
490
490
  * Warning: Disables the handling of rights and restrictions!
491
491
  */
492
492
  async readForce(
493
- input: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions } | FilterArgs | string,
493
+ input: FilterArgs | string | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions },
494
494
  serviceOptions?: ServiceOptions,
495
495
  ): Promise<Model | Model[]> {
496
496
  if (typeof input === 'string') {
@@ -511,7 +511,7 @@ export abstract class CrudService<
511
511
  * Warning: Disables the handling of rights and restrictions! The raw data may contain secrets (such as passwords).
512
512
  */
513
513
  async readRaw(
514
- filter: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions } | FilterArgs,
514
+ filter: FilterArgs | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions },
515
515
  serviceOptions?: ServiceOptions,
516
516
  ): Promise<Model[]>;
517
517
 
@@ -520,7 +520,7 @@ export abstract class CrudService<
520
520
  * Warning: Disables the handling of rights and restrictions! The raw data may contain secrets (such as passwords).
521
521
  */
522
522
  async readRaw(
523
- input: { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions } | FilterArgs | string,
523
+ input: FilterArgs | string | { filterQuery?: FilterQuery<any>; queryOptions?: QueryOptions },
524
524
  serviceOptions?: ServiceOptions,
525
525
  ): Promise<Model | Model[]> {
526
526
  if (typeof input === 'string') {
@@ -1,8 +1,8 @@
1
1
  import { HttpException, Injectable } from '@nestjs/common';
2
+ const Mailjet = require('node-mailjet');
2
3
 
3
4
  import { ConfigService } from './config.service';
4
5
 
5
- const Mailjet = require('node-mailjet');
6
6
 
7
7
  /**
8
8
  * Mailjet service
@@ -75,18 +75,18 @@ export abstract class ModuleService<T extends CoreModel = any> {
75
75
  serviceFunc: (options?: { [key: string]: any; input?: any; serviceOptions?: ServiceOptions }) => any,
76
76
  options?: {
77
77
  [key: string]: any;
78
- dbObject?: Types.ObjectId | any | string;
78
+ dbObject?: any | string | Types.ObjectId;
79
79
  input?: any;
80
80
  outputPath?: string | string[];
81
81
  serviceOptions?: ServiceOptions;
82
82
  },
83
83
  ) {
84
84
  // Configuration with default values
85
- const config: {
86
- dbObject: Types.ObjectId | any | string;
85
+ const config: ServiceOptions & {
86
+ dbObject: any | string | Types.ObjectId;
87
87
  input: any;
88
88
  outputPath: string | string[];
89
- } & ServiceOptions = {
89
+ } = {
90
90
  checkRights: true,
91
91
  dbObject: options?.dbObject,
92
92
  force: false,
@@ -1,4 +1,4 @@
1
1
  /**
2
2
  * Falsy type for anything that is considered false if it occurs in a Boolean context
3
3
  */
4
- export type Falsy = '' | 0 | false | null | undefined;
4
+ export type Falsy = 0 | '' | false | null | undefined;
@@ -1,3 +1,3 @@
1
1
  import { Types } from 'mongoose';
2
2
 
3
- export type IdType = { _id?: Types.ObjectId | string; id?: Types.ObjectId | string } | Types.ObjectId | string;
3
+ export type IdType = string | Types.ObjectId | { _id?: string | Types.ObjectId; id?: string | Types.ObjectId };
@@ -2,7 +2,7 @@
2
2
  * Require only one of the optional properties
3
3
  * See https://stackoverflow.com/a/49725198
4
4
  */
5
- export type RequireOnlyOne<T, Keys extends keyof T = keyof T> = {
5
+ export type RequireOnlyOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> &
6
+ {
6
7
  [K in Keys]-?: Partial<Record<Exclude<Keys, K>, undefined>> & Required<Pick<T, K>>;
7
- }[Keys] &
8
- Pick<T, Exclude<keyof T, Keys>>;
8
+ }[Keys];
@@ -2,7 +2,7 @@
2
2
  * Require at least on of optional properties
3
3
  * See https://stackoverflow.com/a/49725198
4
4
  */
5
- export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = {
5
+ export type RequireAtLeastOne<T, Keys extends keyof T = keyof T> = Pick<T, Exclude<keyof T, Keys>> &
6
+ {
6
7
  [K in Keys]-?: Partial<Pick<T, Exclude<Keys, K>>> & Required<Pick<T, K>>;
7
- }[Keys] &
8
- Pick<T, Exclude<keyof T, Keys>>;
8
+ }[Keys];
@@ -3,4 +3,4 @@ import { Types } from 'mongoose';
3
3
  /**
4
4
  * Everything which will be used by getStringIds or getObjectIds (see helpers/db.helper.ts)
5
5
  */
6
- export type StringOrObjectId<T = any> = T | Types.ObjectId | string;
6
+ export type StringOrObjectId<T = any> = string | T | Types.ObjectId;
@@ -21,9 +21,9 @@ import { ICoreAuthUser } from './interfaces/core-auth-user.interface';
21
21
  import { CoreAuthService } from './services/core-auth.service';
22
22
  import { Tokens } from './tokens.decorator';
23
23
 
24
- @Roles(RoleEnum.ADMIN)
25
- @Controller('auth')
26
24
  @ApiCommonErrorResponses()
25
+ @Controller('auth')
26
+ @Roles(RoleEnum.ADMIN)
27
27
  export class CoreAuthController {
28
28
  /**
29
29
  * Import services
@@ -36,9 +36,9 @@ export class CoreAuthController {
36
36
  /**
37
37
  * Logout user (from specific device)
38
38
  */
39
+ @ApiOkResponse({ type: Boolean })
39
40
  @ApiOperation({ description: 'Logs a user out from a specific device' })
40
41
  @ApiQuery({ description: 'If all devices should be logged out,', name: 'allDevices', required: false, type: Boolean })
41
- @ApiOkResponse({ type: Boolean })
42
42
  @Get('logout')
43
43
  @Roles(RoleEnum.S_EVERYONE)
44
44
  @UseGuards(AuthGuard(AuthGuardStrategy.JWT))
@@ -55,8 +55,8 @@ export class CoreAuthController {
55
55
  /**
56
56
  * Refresh token (for specific device)
57
57
  */
58
- @ApiOperation({ description: 'Refresh token (for specific device)' })
59
58
  @ApiOkResponse({ type: CoreAuthModel })
59
+ @ApiOperation({ description: 'Refresh token (for specific device)' })
60
60
  @Get('refresh-token')
61
61
  @Roles(RoleEnum.S_EVERYONE)
62
62
  @UseGuards(AuthGuard(AuthGuardStrategy.JWT_REFRESH))
@@ -72,8 +72,8 @@ export class CoreAuthController {
72
72
  /**
73
73
  * Sign in user via email and password (on specific device)
74
74
  */
75
- @ApiOperation({ description: 'Sign in via email and password' })
76
75
  @ApiCreatedResponse({ description: 'Signed in successfully', type: CoreAuthModel })
76
+ @ApiOperation({ description: 'Sign in via email and password' })
77
77
  @Post('signin')
78
78
  @Roles(RoleEnum.S_EVERYONE)
79
79
  async signIn(@Res({ passthrough: true }) res: ResponseType, @Body() input: CoreAuthSignInInput): Promise<CoreAuthModel> {
@@ -85,8 +85,8 @@ export class CoreAuthController {
85
85
  * Register a new user account (on specific device)
86
86
  */
87
87
  @ApiBody({ type: CoreAuthSignUpInput })
88
- @ApiOperation({ description: 'Sign up via email and password' })
89
88
  @ApiCreatedResponse({ type: CoreAuthSignUpInput })
89
+ @ApiOperation({ description: 'Sign up via email and password' })
90
90
  @Post('signup')
91
91
  @Roles(RoleEnum.S_EVERYONE)
92
92
  async signUp(@Res({ passthrough: true }) res: ResponseType, @Body() input: CoreAuthSignUpInput): Promise<CoreAuthModel> {
@@ -9,8 +9,8 @@ import { CoreUserModel } from '../user/core-user.model';
9
9
  /**
10
10
  * CoreAuth model for the response after the sign in
11
11
  */
12
- @Restricted(RoleEnum.S_EVERYONE)
13
12
  @ObjectType({ description: 'CoreAuth', isAbstract: true })
13
+ @Restricted(RoleEnum.S_EVERYONE)
14
14
  export class CoreAuthModel extends CoreModel {
15
15
  // ===================================================================================================================
16
16
  // Properties
@@ -6,10 +6,10 @@ import { PubSub } from 'graphql-subscriptions';
6
6
 
7
7
  import { AuthGuardStrategy } from './auth-guard-strategy.enum';
8
8
  import { RolesGuard } from './guards/roles.guard';
9
- import { CoreAuthService } from './services/core-auth.service';
10
9
  import { CoreAuthUserService } from './services/core-auth-user.service';
11
- import { JwtStrategy } from './strategies/jwt.strategy';
10
+ import { CoreAuthService } from './services/core-auth.service';
12
11
  import { JwtRefreshStrategy } from './strategies/jwt-refresh.strategy';
12
+ import { JwtStrategy } from './strategies/jwt.strategy';
13
13
 
14
14
  /**
15
15
  * CoreAuthModule to handle user authentication and enables Roles
@@ -23,13 +23,13 @@ export class CoreAuthModule {
23
23
  static forRoot(
24
24
  UserModule: Type<any>,
25
25
  UserService: Type<CoreAuthUserService>,
26
- options: {
26
+ options: JwtModuleOptions & {
27
27
  authService?: Type<CoreAuthService>;
28
28
  imports?: Array<DynamicModule | ForwardReference | Promise<DynamicModule> | Type<any>>;
29
29
  jwtRefreshStrategy?: Type<JwtRefreshStrategy>;
30
30
  jwtStrategy?: Type<JwtStrategy>;
31
31
  providers?: Provider[];
32
- } & JwtModuleOptions,
32
+ },
33
33
  ): DynamicModule {
34
34
  // Process imports
35
35
  let imports: any[] = [
@@ -20,8 +20,8 @@ import { Tokens } from './tokens.decorator';
20
20
  /**
21
21
  * Authentication resolver for the sign in
22
22
  */
23
+ @Resolver(() => CoreAuthModel, { isAbstract: true })
23
24
  @Roles(RoleEnum.ADMIN)
24
- @Resolver(of => CoreAuthModel, { isAbstract: true })
25
25
  export class CoreAuthResolver {
26
26
  /**
27
27
  * Import services
@@ -38,9 +38,9 @@ export class CoreAuthResolver {
38
38
  /**
39
39
  * Logout user (from specific device)
40
40
  */
41
+ @Mutation(() => Boolean, { description: 'Logout user (from specific device)' })
41
42
  @Roles(RoleEnum.S_EVERYONE)
42
43
  @UseGuards(AuthGuard(AuthGuardStrategy.JWT))
43
- @Mutation(returns => Boolean, { description: 'Logout user (from specific device)' })
44
44
  async logout(
45
45
  @CurrentUser() currentUser: ICoreAuthUser,
46
46
  @Context() ctx: { res: ResponseType },
@@ -54,9 +54,9 @@ export class CoreAuthResolver {
54
54
  /**
55
55
  * Refresh token (for specific device)
56
56
  */
57
+ @Mutation(() => CoreAuthModel, { description: 'Refresh tokens (for specific device)' })
57
58
  @Roles(RoleEnum.S_EVERYONE)
58
59
  @UseGuards(AuthGuard(AuthGuardStrategy.JWT_REFRESH))
59
- @Mutation(returns => CoreAuthModel, { description: 'Refresh tokens (for specific device)' })
60
60
  async refreshToken(
61
61
  @CurrentUser() user: ICoreAuthUser,
62
62
  @Tokens('refreshToken') refreshToken: string,
@@ -69,10 +69,10 @@ export class CoreAuthResolver {
69
69
  /**
70
70
  * Sign in user via email and password (on specific device)
71
71
  */
72
- @Roles(RoleEnum.S_EVERYONE)
73
- @Mutation(returns => CoreAuthModel, {
72
+ @Mutation(() => CoreAuthModel, {
74
73
  description: 'Sign in user via email and password and get JWT tokens (for specific device)',
75
74
  })
75
+ @Roles(RoleEnum.S_EVERYONE)
76
76
  async signIn(
77
77
  @GraphQLServiceOptions({ gqlPath: 'signIn.user' }) serviceOptions: ServiceOptions,
78
78
  @Context() ctx: { res: ResponseType },
@@ -85,8 +85,8 @@ export class CoreAuthResolver {
85
85
  /**
86
86
  * Register a new user account (on specific device)
87
87
  */
88
+ @Mutation(() => CoreAuthModel, { description: 'Register a new user account (on specific device)' })
88
89
  @Roles(RoleEnum.S_EVERYONE)
89
- @Mutation(returns => CoreAuthModel, { description: 'Register a new user account (on specific device)' })
90
90
  async signUp(
91
91
  @GraphQLServiceOptions({ gqlPath: 'signUp.user' }) serviceOptions: ServiceOptions,
92
92
  @Context() ctx: { res: ResponseType },
@@ -1,4 +1,4 @@
1
- import { CanActivate, ExecutionContext, Logger, Optional, mixin } from '@nestjs/common';
1
+ import { CanActivate, ExecutionContext, Logger, mixin, Optional } from '@nestjs/common';
2
2
  import { GqlExecutionContext } from '@nestjs/graphql';
3
3
  import { AuthModuleOptions, Type } from '@nestjs/passport';
4
4
  import { defaultOptions } from '@nestjs/passport/dist/options';
@@ -21,9 +21,9 @@ const NO_STRATEGY_ERROR
21
21
  /**
22
22
  * Interface for auth guard
23
23
  */
24
- export type IAuthGuard = {
24
+ export type IAuthGuard = CanActivate & {
25
25
  handleRequest<TUser = any>(err, user, info, context): TUser;
26
- } & CanActivate;
26
+ };
27
27
 
28
28
  /**
29
29
  * Create passport context
@@ -9,8 +9,8 @@ import { CoreInput } from '../../../common/inputs/core-input.input';
9
9
  /**
10
10
  * SignIn input
11
11
  */
12
- @Restricted(RoleEnum.S_EVERYONE)
13
12
  @InputType({ description: 'Sign-in input' })
13
+ @Restricted(RoleEnum.S_EVERYONE)
14
14
  export class CoreAuthSignInInput extends CoreInput {
15
15
  // ===================================================================================================================
16
16
  // Properties
@@ -7,6 +7,6 @@ import { CoreAuthSignInInput } from './core-auth-sign-in.input';
7
7
  /**
8
8
  * SignUp input
9
9
  */
10
- @Restricted(RoleEnum.S_EVERYONE)
11
10
  @InputType({ description: 'Sign-up input' })
11
+ @Restricted(RoleEnum.S_EVERYONE)
12
12
  export class CoreAuthSignUpInput extends CoreAuthSignInInput {}
@@ -42,7 +42,7 @@ export class CoreAuthService {
42
42
  */
43
43
  async logout(
44
44
  tokenOrRefreshToken: string,
45
- serviceOptions: { allDevices?: boolean } & ServiceOptions,
45
+ serviceOptions: ServiceOptions & { allDevices?: boolean },
46
46
  ): Promise<boolean> {
47
47
  // Check authentication
48
48
  const user = serviceOptions.currentUser;
@@ -1,4 +1,4 @@
1
- import { ExecutionContext, createParamDecorator } from '@nestjs/common';
1
+ import { createParamDecorator, ExecutionContext } from '@nestjs/common';
2
2
 
3
3
  import { getContextData } from '../../common/helpers/context.helper';
4
4
 
@@ -9,7 +9,7 @@ export const Tokens = createParamDecorator(
9
9
  (
10
10
  tokenId: 'refreshToken' | 'token' | undefined,
11
11
  ctx: ExecutionContext,
12
- ): { refreshToken: string; token: string } | string => {
12
+ ): string | { refreshToken: string; token: string } => {
13
13
  // Get prepared context (REST or GraphQL)
14
14
  const context = getContextData(ctx);
15
15
 
@@ -9,8 +9,8 @@ import { CoreModel } from '../../common/models/core-model.model';
9
9
  /**
10
10
  * File info
11
11
  */
12
- @Restricted(RoleEnum.S_EVERYONE)
13
12
  @ObjectType({ description: 'Information about file' })
13
+ @Restricted(RoleEnum.S_EVERYONE)
14
14
  export class CoreFileInfo extends CoreModel {
15
15
  // ===========================================================================
16
16
  // Getter
@@ -25,11 +25,10 @@ export class CoreFileInfo extends CoreModel {
25
25
  // Properties
26
26
  // ===========================================================================
27
27
 
28
- @Restricted(RoleEnum.S_EVERYONE)
29
28
  @Field(() => String, { description: 'ID of the file' })
29
+ @Restricted(RoleEnum.S_EVERYONE)
30
30
  id: string = undefined;
31
31
 
32
- @Restricted(RoleEnum.S_EVERYONE)
33
32
  @Field(() => Number, {
34
33
  description:
35
34
  'The size of each chunk in bytes. GridFS divides the document into chunks of size chunkSize, '
@@ -37,25 +36,26 @@ export class CoreFileInfo extends CoreModel {
37
36
  nullable: true,
38
37
  })
39
38
  @Prop({ required: false, type: Number })
39
+ @Restricted(RoleEnum.S_EVERYONE)
40
40
  chunkSize: number = undefined;
41
41
 
42
- @Restricted(RoleEnum.S_EVERYONE)
43
42
  @Field(() => String, { description: 'Content type', nullable: true })
44
43
  @Prop({ required: false, type: String })
44
+ @Restricted(RoleEnum.S_EVERYONE)
45
45
  contentType?: string = undefined;
46
46
 
47
- @Restricted(RoleEnum.S_EVERYONE)
48
47
  @Field(() => String, { description: 'Name of the file', nullable: true })
49
48
  @Prop({ required: false, type: String })
49
+ @Restricted(RoleEnum.S_EVERYONE)
50
50
  filename?: string = undefined;
51
51
 
52
- @Restricted(RoleEnum.S_EVERYONE)
53
52
  @Field(() => Number, { description: 'The size of the document in bytes', nullable: true })
54
53
  @Prop({ required: false, type: Number })
54
+ @Restricted(RoleEnum.S_EVERYONE)
55
55
  length: number = undefined;
56
56
 
57
- @Restricted(RoleEnum.S_EVERYONE)
58
57
  @Field(() => Date, { description: 'The date the file was first stored', nullable: true })
59
58
  @Prop({ required: false, type: Date })
59
+ @Restricted(RoleEnum.S_EVERYONE)
60
60
  uploadDate: Date = undefined;
61
61
  }
@@ -7,8 +7,8 @@ import { CoreFileService } from './core-file.service';
7
7
  /**
8
8
  * File controller
9
9
  */
10
- @Roles(RoleEnum.ADMIN)
11
10
  @Controller('files')
11
+ @Roles(RoleEnum.ADMIN)
12
12
  export abstract class CoreFileController {
13
13
  /**
14
14
  * Include services
@@ -18,8 +18,8 @@ export abstract class CoreFileController {
18
18
  /**
19
19
  * Download file
20
20
  */
21
- @Roles(RoleEnum.S_EVERYONE)
22
21
  @Get(':filename')
22
+ @Roles(RoleEnum.S_EVERYONE)
23
23
  async getFile(@Param('filename') filename: string, @Res() res) {
24
24
  if (!filename) {
25
25
  throw new BadRequestException('Missing filename for download');
@@ -3,15 +3,15 @@ import * as GraphQLUpload from 'graphql-upload/GraphQLUpload.js';
3
3
 
4
4
  import { Roles } from '../../common/decorators/roles.decorator';
5
5
  import { RoleEnum } from '../../common/enums/role.enum';
6
- import { CoreFileService } from './core-file.service';
7
6
  import { CoreFileInfo } from './core-file-info.model';
7
+ import { CoreFileService } from './core-file.service';
8
8
  import { FileUpload } from './interfaces/file-upload.interface';
9
9
 
10
10
  /**
11
11
  * File resolver
12
12
  */
13
- @Roles(RoleEnum.ADMIN)
14
13
  @Resolver()
14
+ @Roles(RoleEnum.ADMIN)
15
15
  export class CoreFileResolver {
16
16
  /**
17
17
  * Integrate services
@@ -25,8 +25,8 @@ export class CoreFileResolver {
25
25
  /**
26
26
  * Get file info
27
27
  */
28
- @Roles(RoleEnum.S_EVERYONE)
29
28
  @Query(() => CoreFileInfo, { nullable: true })
29
+ @Roles(RoleEnum.S_EVERYONE)
30
30
  async getFileInfo(@Args({ name: 'filename', type: () => String }) filename: string): Promise<any> {
31
31
  return await this.fileService.getFileInfoByName(filename);
32
32
  }
@@ -38,8 +38,8 @@ export class CoreFileResolver {
38
38
  /**
39
39
  * Delete file
40
40
  */
41
- @Roles(RoleEnum.S_EVERYONE)
42
41
  @Mutation(() => CoreFileInfo)
42
+ @Roles(RoleEnum.S_EVERYONE)
43
43
  async deleteFile(@Args({ name: 'filename', type: () => String }) filename: string): Promise<any> {
44
44
  return await this.fileService.deleteFileByName(filename);
45
45
  }
@@ -47,8 +47,8 @@ export class CoreFileResolver {
47
47
  /**
48
48
  * Upload file
49
49
  */
50
- @Roles(RoleEnum.S_EVERYONE)
51
50
  @Mutation(() => CoreFileInfo)
51
+ @Roles(RoleEnum.S_EVERYONE)
52
52
  async uploadFile(@Args({ name: 'file', type: () => GraphQLUpload }) file: FileUpload): Promise<any> {
53
53
  return await this.fileService.createFile(file);
54
54
  }
@@ -56,8 +56,8 @@ export class CoreFileResolver {
56
56
  /**
57
57
  * Upload files
58
58
  */
59
- @Roles(RoleEnum.S_EVERYONE)
60
59
  @Mutation(() => [CoreFileInfo])
60
+ @Roles(RoleEnum.S_EVERYONE)
61
61
  async uploadFiles(@Args({ name: 'files', type: () => [GraphQLUpload] }) files: FileUpload[]): Promise<any> {
62
62
  return await this.fileService.createFiles(files);
63
63
  }
@@ -1,4 +1,4 @@
1
- import { MongoGridFSOptions, MongooseGridFS, createBucket } from '@lenne.tech/mongoose-gridfs';
1
+ import { createBucket, MongoGridFSOptions, MongooseGridFS } from '@lenne.tech/mongoose-gridfs';
2
2
  import { NotFoundException } from '@nestjs/common';
3
3
  import { GridFSBucket, GridFSBucketReadStream, GridFSBucketReadStreamOptions } from 'mongodb';
4
4
  import mongoose, { Connection, Types } from 'mongoose';
@@ -127,7 +127,7 @@ export abstract class CoreFileService {
127
127
  /**
128
128
  * Get info about file via file ID
129
129
  */
130
- async getFileInfo(id: Types.ObjectId | string, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo> {
130
+ async getFileInfo(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo> {
131
131
  if (!(await this.checkRights(id, { ...serviceOptions, checkInputType: 'id' }))) {
132
132
  return null;
133
133
  }
@@ -155,7 +155,7 @@ export abstract class CoreFileService {
155
155
  /**
156
156
  * Get file stream (for big files) via file ID
157
157
  */
158
- async getFileStream(id: Types.ObjectId | string, serviceOptions?: FileServiceOptions) {
158
+ async getFileStream(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions) {
159
159
  if (!(await this.checkRights(id, { ...serviceOptions, checkInputType: 'id' }))) {
160
160
  return null;
161
161
  }
@@ -178,7 +178,7 @@ export abstract class CoreFileService {
178
178
  /**
179
179
  * Get file buffer (for small files) via file ID
180
180
  */
181
- async getBuffer(id: Types.ObjectId | string, serviceOptions?: FileServiceOptions): Promise<Buffer> {
181
+ async getBuffer(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<Buffer> {
182
182
  if (!(await this.checkRights(id, { ...serviceOptions, checkInputType: 'id' }))) {
183
183
  return null;
184
184
  }
@@ -206,7 +206,7 @@ export abstract class CoreFileService {
206
206
  /**
207
207
  * Delete file reference of avatar
208
208
  */
209
- async deleteFile(id: Types.ObjectId | string, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo> {
209
+ async deleteFile(id: string | Types.ObjectId, serviceOptions?: FileServiceOptions): Promise<CoreFileInfo> {
210
210
  if (!(await this.checkRights(id, { ...serviceOptions, checkInputType: 'id' }))) {
211
211
  return null;
212
212
  }
@@ -241,7 +241,7 @@ export abstract class CoreFileService {
241
241
  */
242
242
  protected checkRights(
243
243
  input: any, // eslint-disable-line unused-imports/no-unused-vars
244
- options?: { checkInputType: FileInputCheckType } & FileServiceOptions, // eslint-disable-line unused-imports/no-unused-vars
244
+ options?: FileServiceOptions & { checkInputType: FileInputCheckType }, // eslint-disable-line unused-imports/no-unused-vars
245
245
  ): MaybePromise<boolean> {
246
246
  return true;
247
247
  }