@clairejs/server 3.10.16 → 3.11.0

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 (84) hide show
  1. package/.prettierrc +8 -8
  2. package/README.md +754 -749
  3. package/dist/common/FileOperation.d.ts +5 -5
  4. package/dist/common/ServerModelMetadata.d.ts +10 -10
  5. package/dist/common/auth/AbstractPrincipalResolver.d.ts +4 -4
  6. package/dist/common/auth/IPrincipal.d.ts +4 -4
  7. package/dist/common/constants.d.ts +1 -1
  8. package/dist/common/request/EndpointMetadata.d.ts +40 -40
  9. package/dist/common/request/HttpData.d.ts +1 -1
  10. package/dist/common/request/HttpEndpoint.d.ts +8 -8
  11. package/dist/common/request/JobData.d.ts +1 -1
  12. package/dist/common/request/MountedEndpointInfo.d.ts +6 -6
  13. package/dist/common/request/RequestOptions.d.ts +8 -8
  14. package/dist/common/request/SocketData.d.ts +1 -1
  15. package/dist/common/request/types.d.ts +1 -1
  16. package/dist/controllers/FileManageController.d.ts +13 -0
  17. package/dist/controllers/FileUploadController.d.ts +13 -0
  18. package/dist/controllers/dto/permissions.d.ts +20 -0
  19. package/dist/controllers/dto/system.d.ts +12 -0
  20. package/dist/controllers/dto/upload.d.ts +40 -0
  21. package/dist/controllers/models/SystemSetting.d.ts +5 -0
  22. package/dist/http/auth/AbstractHttpAuthorizationProvider.d.ts +9 -9
  23. package/dist/http/auth/AbstractRbacAuthProvider.d.ts +18 -18
  24. package/dist/http/auth/RedisRbacAuthProvider.d.ts +24 -24
  25. package/dist/http/auth/SocketRbacAuthProvider.d.ts +25 -25
  26. package/dist/http/auth/rbac.d.ts +34 -34
  27. package/dist/http/common/HttpRequest.d.ts +40 -40
  28. package/dist/http/common/HttpResponse.d.ts +34 -34
  29. package/dist/http/controller/AbstractHttpController.d.ts +9 -9
  30. package/dist/http/controller/AbstractHttpMiddleware.d.ts +10 -10
  31. package/dist/http/controller/AbstractHttpRequestHandler.d.ts +18 -18
  32. package/dist/http/controller/ControllerMetadata.d.ts +6 -6
  33. package/dist/http/controller/CrudHttpController.d.ts +41 -41
  34. package/dist/http/controller/DefaultHttpRequestHandler.d.ts +21 -21
  35. package/dist/http/decorators.d.ts +35 -35
  36. package/dist/http/file-upload/AbstractFileUploadHandler.d.ts +6 -6
  37. package/dist/http/file-upload/FileUploadHandler.d.ts +10 -10
  38. package/dist/http/file-upload/types.d.ts +3 -3
  39. package/dist/http/repository/AbstractRepository.d.ts +10 -10
  40. package/dist/http/repository/DtoRepository.d.ts +58 -58
  41. package/dist/http/repository/ICrudRepository.d.ts +27 -27
  42. package/dist/http/repository/ModelRepository.d.ts +37 -37
  43. package/dist/http/security/AbstractAccessCondition.d.ts +7 -7
  44. package/dist/http/security/access-conditions/DtoFieldValidation.d.ts +4 -4
  45. package/dist/http/security/access-conditions/FilterModelFieldAccessCondition.d.ts +4 -4
  46. package/dist/http/security/access-conditions/MaximumQueryLimit.d.ts +8 -8
  47. package/dist/http/security/cors.d.ts +6 -6
  48. package/dist/index.d.ts +71 -57
  49. package/dist/index.js +1 -1
  50. package/dist/job/AbstractJobController.d.ts +4 -4
  51. package/dist/job/AbstractJobRepository.d.ts +17 -17
  52. package/dist/job/AbstractJobScheduler.d.ts +38 -38
  53. package/dist/job/AwsJobScheduler.d.ts +48 -48
  54. package/dist/job/LocalJobScheduler.d.ts +88 -88
  55. package/dist/job/decorators.d.ts +5 -5
  56. package/dist/job/interfaces.d.ts +50 -50
  57. package/dist/logging/FileLogMedium.d.ts +13 -13
  58. package/dist/{service → services}/AbstractCacheService.d.ts +22 -22
  59. package/dist/{service → services}/AbstractFileService.d.ts +11 -11
  60. package/dist/services/AbstractMailService.d.ts +31 -0
  61. package/dist/{service → services}/AbstractService.d.ts +7 -7
  62. package/dist/services/AbstractSmsService.d.ts +25 -0
  63. package/dist/services/LocalFileService.d.ts +17 -0
  64. package/dist/services/ProxyFileService.d.ts +16 -0
  65. package/dist/services/RedisCacheService.d.ts +25 -0
  66. package/dist/services/S3FileService.d.ts +31 -0
  67. package/dist/services/SystemService.d.ts +15 -0
  68. package/dist/socket/AbstractServerSocket.d.ts +18 -18
  69. package/dist/socket/AbstractServerSocketManager.d.ts +46 -46
  70. package/dist/socket/AbstractSocketConnectionHandler.d.ts +6 -6
  71. package/dist/socket/AbstractSocketController.d.ts +14 -14
  72. package/dist/socket/AwsSocketManager.d.ts +30 -30
  73. package/dist/socket/IServerSocket.d.ts +16 -16
  74. package/dist/socket/LocalSocketManager.d.ts +47 -47
  75. package/dist/system/ClaireServer.d.ts +13 -13
  76. package/dist/system/ExpressWrapper.d.ts +19 -19
  77. package/dist/system/LambdaWrapper.d.ts +25 -25
  78. package/dist/system/ServerGlobalStore.d.ts +8 -8
  79. package/dist/system/errors.d.ts +14 -14
  80. package/dist/system/lamba-request-mapper.d.ts +2 -2
  81. package/dist/system/locale/LocaleEntry.d.ts +3 -3
  82. package/dist/system/locale/LocaleTranslation.d.ts +6 -6
  83. package/dist/system/locale/decorators.d.ts +2 -2
  84. package/package.json +66 -62
@@ -1,37 +1,37 @@
1
- import { AbstractModel, Constructor, CreateManyRequestBody, CreateManyResponseBody, GetManyQueries, GetManyResponseBody, UpdateManyBody, UpdateManyQueries, UpdateManyResponse } from "@clairejs/core";
2
- import { IQueryProvider, ITransaction, QueryCondition } from "@clairejs/orm";
3
- import { IPrincipal } from "../../common/auth/IPrincipal";
4
- import { ICrudRepository } from "./ICrudRepository";
5
- import { AbstractRepository } from "./AbstractRepository";
6
- export declare class ModelRepository<T extends AbstractModel> extends AbstractRepository<T> implements ICrudRepository<T> {
7
- readonly model: Constructor<T>;
8
- private fileUploadHandler?;
9
- constructor(model: Constructor<T>);
10
- private getNestedQueries;
11
- private getUploadHandler;
12
- private getRequestQueryConditionFromQuery;
13
- protected uriHandling(records: Partial<T>[], tx: ITransaction): Promise<void>;
14
- protected beforeReturning(records: Partial<T>[]): Promise<void>;
15
- createMany({ principal, body, tx, }: {
16
- principal?: IPrincipal;
17
- body: CreateManyRequestBody<T>;
18
- tx: ITransaction;
19
- }): Promise<CreateManyResponseBody<T>>;
20
- updateMany({ principal, ops, queries, body, tx, }: {
21
- principal?: IPrincipal;
22
- queries?: UpdateManyQueries<T>;
23
- ops?: QueryCondition<T>[];
24
- body: UpdateManyBody<T>;
25
- tx: ITransaction;
26
- }): Promise<UpdateManyResponse<T>>;
27
- getMany({ queries, ops, queryProvider, }: {
28
- queries?: GetManyQueries<T>;
29
- ops?: QueryCondition<T>[];
30
- queryProvider: IQueryProvider;
31
- }): Promise<GetManyResponseBody<T>>;
32
- deleteMany({ queries, ops, tx, }: {
33
- queries?: UpdateManyQueries<T>;
34
- ops?: QueryCondition<T>[];
35
- tx: ITransaction;
36
- }): Promise<UpdateManyResponse<T>>;
37
- }
1
+ import { AbstractModel, Constructor, CreateManyRequestBody, CreateManyResponseBody, GetManyQueries, GetManyResponseBody, UpdateManyBody, UpdateManyQueries, UpdateManyResponse } from "@clairejs/core";
2
+ import { IQueryProvider, ITransaction, QueryCondition } from "@clairejs/orm";
3
+ import { IPrincipal } from "../../common/auth/IPrincipal";
4
+ import { ICrudRepository } from "./ICrudRepository";
5
+ import { AbstractRepository } from "./AbstractRepository";
6
+ export declare class ModelRepository<T extends AbstractModel> extends AbstractRepository<T> implements ICrudRepository<T> {
7
+ readonly model: Constructor<T>;
8
+ private fileUploadHandler?;
9
+ constructor(model: Constructor<T>);
10
+ private getNestedQueries;
11
+ private getUploadHandler;
12
+ private getRequestQueryConditionFromQuery;
13
+ protected uriHandling(records: Partial<T>[], tx: ITransaction): Promise<void>;
14
+ protected beforeReturning(records: Partial<T>[]): Promise<void>;
15
+ createMany({ principal, body, tx, }: {
16
+ principal?: IPrincipal;
17
+ body: CreateManyRequestBody<T>;
18
+ tx: ITransaction;
19
+ }): Promise<CreateManyResponseBody<T>>;
20
+ updateMany({ principal, ops, queries, body, tx, }: {
21
+ principal?: IPrincipal;
22
+ queries?: UpdateManyQueries<T>;
23
+ ops?: QueryCondition<T>[];
24
+ body: UpdateManyBody<T>;
25
+ tx: ITransaction;
26
+ }): Promise<UpdateManyResponse<T>>;
27
+ getMany({ queries, ops, queryProvider, }: {
28
+ queries?: GetManyQueries<T>;
29
+ ops?: QueryCondition<T>[];
30
+ queryProvider: IQueryProvider;
31
+ }): Promise<GetManyResponseBody<T>>;
32
+ deleteMany({ queries, ops, tx, }: {
33
+ queries?: UpdateManyQueries<T>;
34
+ ops?: QueryCondition<T>[];
35
+ tx: ITransaction;
36
+ }): Promise<UpdateManyResponse<T>>;
37
+ }
@@ -1,7 +1,7 @@
1
- import { AccessConditionMetadata } from "@clairejs/core";
2
- import { HttpRequest } from "../common/HttpRequest";
3
- export declare abstract class AbstractAccessCondition<T = any> {
4
- abstract resolveConditionValue(request: HttpRequest): Promise<T>;
5
- abstract validate(conditionValue: T, permittedConditionValue: any): Promise<boolean>;
6
- abstract getConditionMetadata(): AccessConditionMetadata;
7
- }
1
+ import { AccessConditionMetadata } from "@clairejs/core";
2
+ import { HttpRequest } from "../common/HttpRequest";
3
+ export declare abstract class AbstractAccessCondition<T = any> {
4
+ abstract resolveConditionValue(request: HttpRequest): Promise<T>;
5
+ abstract validate(conditionValue: T, permittedConditionValue: any): Promise<boolean>;
6
+ abstract getConditionMetadata(): AccessConditionMetadata;
7
+ }
@@ -1,4 +1,4 @@
1
- import { Constructor } from "@clairejs/core";
2
- import { HttpRequest } from "../../common/HttpRequest";
3
- import { AbstractAccessCondition } from "../AbstractAccessCondition";
4
- export declare const DtoFieldValidation: <T extends Constructor<any>>(model: T, dataResolver: (req: HttpRequest) => any[], conditionName?: string | undefined) => Constructor<AbstractAccessCondition<any[]>>;
1
+ import { Constructor } from "@clairejs/core";
2
+ import { HttpRequest } from "../../common/HttpRequest";
3
+ import { AbstractAccessCondition } from "../AbstractAccessCondition";
4
+ export declare const DtoFieldValidation: <T extends Constructor<any>>(model: T, dataResolver: (req: HttpRequest) => any[], conditionName?: string | undefined) => Constructor<AbstractAccessCondition<any[]>>;
@@ -1,4 +1,4 @@
1
- import { Constructor } from "@clairejs/core";
2
- import { HttpRequest } from "../../common/HttpRequest";
3
- import { AbstractAccessCondition } from "../AbstractAccessCondition";
4
- export declare const FilterModelFieldAccessCondition: <T extends Constructor<any>>(model: T, requestedConditionValueResolver: (request: HttpRequest) => string[] | undefined) => Constructor<AbstractAccessCondition<string[] | undefined>>;
1
+ import { Constructor } from "@clairejs/core";
2
+ import { HttpRequest } from "../../common/HttpRequest";
3
+ import { AbstractAccessCondition } from "../AbstractAccessCondition";
4
+ export declare const FilterModelFieldAccessCondition: <T extends Constructor<any>>(model: T, requestedConditionValueResolver: (request: HttpRequest) => string[] | undefined) => Constructor<AbstractAccessCondition<string[] | undefined>>;
@@ -1,8 +1,8 @@
1
- import { AccessConditionMetadata } from "@clairejs/core";
2
- import { HttpRequest } from "../../common/HttpRequest";
3
- import { AbstractAccessCondition } from "../AbstractAccessCondition";
4
- export declare class MaximumQueryLimit extends AbstractAccessCondition {
5
- resolveConditionValue(request: HttpRequest): Promise<any>;
6
- validate(conditionValue: number, permittedConditionValue: number): Promise<boolean>;
7
- getConditionMetadata(): AccessConditionMetadata;
8
- }
1
+ import { AccessConditionMetadata } from "@clairejs/core";
2
+ import { HttpRequest } from "../../common/HttpRequest";
3
+ import { AbstractAccessCondition } from "../AbstractAccessCondition";
4
+ export declare class MaximumQueryLimit extends AbstractAccessCondition {
5
+ resolveConditionValue(request: HttpRequest): Promise<any>;
6
+ validate(conditionValue: number, permittedConditionValue: number): Promise<boolean>;
7
+ getConditionMetadata(): AccessConditionMetadata;
8
+ }
@@ -1,6 +1,6 @@
1
- export interface CorsConfig {
2
- origins?: string | string[];
3
- methods?: string | string[];
4
- headers?: string | string[];
5
- credentials?: boolean;
6
- }
1
+ export interface CorsConfig {
2
+ origins?: string | string[];
3
+ methods?: string | string[];
4
+ headers?: string | string[];
5
+ credentials?: boolean;
6
+ }
package/dist/index.d.ts CHANGED
@@ -1,57 +1,71 @@
1
- export * from "./common/FileOperation";
2
- export * from "./common/auth/AbstractPrincipalResolver";
3
- export * from "./common/auth/IPrincipal";
4
- export * from "./common/request/MountedEndpointInfo";
5
- export * from "./common/request/HttpEndpoint";
6
- export * from "./http/common/HttpResponse";
7
- export * from "./http/decorators";
8
- export * from "./http/common/HttpRequest";
9
- export * from "./http/controller/DefaultHttpRequestHandler";
10
- export * from "./http/controller/AbstractHttpController";
11
- export * from "./http/controller/CrudHttpController";
12
- export * from "./common/request/EndpointMetadata";
13
- export * from "./http/controller/AbstractHttpRequestHandler";
14
- export * from "./http/controller/AbstractHttpMiddleware";
15
- export * from "./http/security/cors";
16
- export * from "./http/security/AbstractAccessCondition";
17
- export * from "./http/security/access-conditions/FilterModelFieldAccessCondition";
18
- export * from "./http/security/access-conditions/MaximumQueryLimit";
19
- export * from "./http/security/access-conditions/DtoFieldValidation";
20
- export * from "./http/auth/AbstractHttpAuthorizationProvider";
21
- export * from "./http/auth/AbstractRbacAuthProvider";
22
- export * from "./http/auth/RedisRbacAuthProvider";
23
- export * from "./http/auth/SocketRbacAuthProvider";
24
- export * from "./http/auth/rbac";
25
- export * from "./http/repository/ModelRepository";
26
- export * from "./http/repository/DtoRepository";
27
- export * from "./http/repository/ICrudRepository";
28
- export * from "./http/repository/AbstractRepository";
29
- export * from "./socket/AbstractServerSocketManager";
30
- export * from "./socket/LocalSocketManager";
31
- export * from "./socket/AwsSocketManager";
32
- export * from "./socket/IServerSocket";
33
- export * from "./socket/AbstractSocketController";
34
- export * from "./socket/AbstractSocketConnectionHandler";
35
- export * from "./http/file-upload/AbstractFileUploadHandler";
36
- export * from "./http/file-upload/FileUploadHandler";
37
- export * from "./http/file-upload/types";
38
- export * from "./logging/FileLogMedium";
39
- export * from "./system/locale/decorators";
40
- export * from "./system/locale/LocaleEntry";
41
- export * from "./system/locale/LocaleTranslation";
42
- export * from "./system/lamba-request-mapper";
43
- export * from "./system/ClaireServer";
44
- export * from "./system/ExpressWrapper";
45
- export * from "./system/LambdaWrapper";
46
- export * from "./system/ServerGlobalStore";
47
- export * from "./system/errors";
48
- export * from "./service/AbstractService";
49
- export * from "./service/AbstractCacheService";
50
- export * from "./service/AbstractFileService";
51
- export * from "./job/decorators";
52
- export * from "./job/interfaces";
53
- export * from "./job/AbstractJobController";
54
- export * from "./job/AbstractJobScheduler";
55
- export * from "./job/AwsJobScheduler";
56
- export * from "./job/LocalJobScheduler";
57
- export * from "./job/AbstractJobRepository";
1
+ export * from "./common/FileOperation";
2
+ export * from "./common/auth/AbstractPrincipalResolver";
3
+ export * from "./common/auth/IPrincipal";
4
+ export * from "./common/request/MountedEndpointInfo";
5
+ export * from "./common/request/HttpEndpoint";
6
+ export * from "./common/request/EndpointMetadata";
7
+ export * from "./common/request/RequestOptions";
8
+ export * from "./http/common/HttpResponse";
9
+ export * from "./http/decorators";
10
+ export * from "./http/common/HttpRequest";
11
+ export * from "./http/controller/DefaultHttpRequestHandler";
12
+ export * from "./http/controller/AbstractHttpController";
13
+ export * from "./http/controller/CrudHttpController";
14
+ export * from "./http/controller/AbstractHttpRequestHandler";
15
+ export * from "./http/controller/AbstractHttpMiddleware";
16
+ export * from "./http/security/cors";
17
+ export * from "./http/security/AbstractAccessCondition";
18
+ export * from "./http/security/access-conditions/FilterModelFieldAccessCondition";
19
+ export * from "./http/security/access-conditions/MaximumQueryLimit";
20
+ export * from "./http/security/access-conditions/DtoFieldValidation";
21
+ export * from "./http/auth/AbstractHttpAuthorizationProvider";
22
+ export * from "./http/auth/AbstractRbacAuthProvider";
23
+ export * from "./http/auth/RedisRbacAuthProvider";
24
+ export * from "./http/auth/SocketRbacAuthProvider";
25
+ export * from "./http/auth/rbac";
26
+ export * from "./http/repository/ModelRepository";
27
+ export * from "./http/repository/DtoRepository";
28
+ export * from "./http/repository/ICrudRepository";
29
+ export * from "./http/repository/AbstractRepository";
30
+ export * from "./socket/AbstractServerSocketManager";
31
+ export * from "./socket/LocalSocketManager";
32
+ export * from "./socket/AwsSocketManager";
33
+ export * from "./socket/IServerSocket";
34
+ export * from "./socket/AbstractSocketController";
35
+ export * from "./socket/AbstractSocketConnectionHandler";
36
+ export * from "./http/file-upload/AbstractFileUploadHandler";
37
+ export * from "./http/file-upload/FileUploadHandler";
38
+ export * from "./http/file-upload/types";
39
+ export * from "./logging/FileLogMedium";
40
+ export * from "./system/locale/decorators";
41
+ export * from "./system/locale/LocaleEntry";
42
+ export * from "./system/locale/LocaleTranslation";
43
+ export * from "./system/lamba-request-mapper";
44
+ export * from "./system/ClaireServer";
45
+ export * from "./system/ExpressWrapper";
46
+ export * from "./system/LambdaWrapper";
47
+ export * from "./system/ServerGlobalStore";
48
+ export * from "./system/errors";
49
+ export * from "./services/AbstractService";
50
+ export * from "./services/AbstractCacheService";
51
+ export * from "./services/AbstractFileService";
52
+ export * from "./services/SystemService";
53
+ export * from "./services/AbstractMailService";
54
+ export * from "./services/AbstractSmsService";
55
+ export * from "./services/RedisCacheService";
56
+ export * from "./services/LocalFileService";
57
+ export * from "./services/S3FileService";
58
+ export * from "./services/ProxyFileService";
59
+ export * from "./controllers/FileManageController";
60
+ export * from "./controllers/FileUploadController";
61
+ export * from "./controllers/models/SystemSetting";
62
+ export * from "./controllers/dto/permissions";
63
+ export * from "./controllers/dto/system";
64
+ export * from "./controllers/dto/upload";
65
+ export * from "./job/decorators";
66
+ export * from "./job/interfaces";
67
+ export * from "./job/AbstractJobController";
68
+ export * from "./job/AbstractJobScheduler";
69
+ export * from "./job/AwsJobScheduler";
70
+ export * from "./job/LocalJobScheduler";
71
+ export * from "./job/AbstractJobRepository";