@opra/core 0.23.1 → 0.24.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.
- package/cjs/adapter/{operation-context.js → endpoint-context.js} +5 -5
- package/cjs/adapter/http/http-adapter-base.js +2 -4
- package/cjs/adapter/http/request-handlers/entity-request-handler.js +82 -68
- package/cjs/adapter/http/request-handlers/request-handler-base.js +5 -5
- package/cjs/adapter/http/request-handlers/storage-request-handler.js +16 -17
- package/cjs/adapter/platform-adapter.host.js +1 -1
- package/cjs/augmentation/resource.augmentation.js +6 -6
- package/cjs/index.js +1 -1
- package/esm/adapter/{operation-context.js → endpoint-context.js} +4 -4
- package/esm/adapter/http/http-adapter-base.js +2 -4
- package/esm/adapter/http/request-handlers/entity-request-handler.js +82 -68
- package/esm/adapter/http/request-handlers/request-handler-base.js +5 -5
- package/esm/adapter/http/request-handlers/storage-request-handler.js +16 -17
- package/esm/adapter/platform-adapter.host.js +1 -1
- package/esm/augmentation/resource.augmentation.js +7 -7
- package/esm/index.js +1 -1
- package/i18n/en/error.json +3 -2
- package/package.json +2 -2
- package/types/adapter/{operation-context.d.ts → endpoint-context.d.ts} +3 -3
- package/types/adapter/http/request-handlers/entity-request-handler.d.ts +4 -4
- package/types/adapter/http/request-handlers/request-handler-base.d.ts +1 -1
- package/types/adapter/http/request-handlers/storage-request-handler.d.ts +3 -3
- package/types/adapter/platform-adapter.d.ts +2 -2
- package/types/adapter/request.d.ts +1 -1
- package/types/adapter/response.d.ts +1 -1
- package/types/augmentation/collection.augmentation.d.ts +21 -16
- package/types/augmentation/resource.augmentation.d.ts +6 -1
- package/types/augmentation/singleton.augmentation.d.ts +14 -10
- package/types/augmentation/storage.augmentation.d.ts +9 -5
- package/types/index.d.ts +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { EndpointContext } from '../../endpoint-context.js';
|
|
1
2
|
import type { ExecutionContext } from '../../execution-context';
|
|
2
|
-
import { OperationContext } from '../../operation-context.js';
|
|
3
3
|
import { Request } from '../../request.js';
|
|
4
4
|
import type { HttpAdapterBase } from '../http-adapter-base.js';
|
|
5
5
|
import { HttpServerRequest } from '../http-server-request.js';
|
|
@@ -18,6 +18,6 @@ export declare class StorageRequestHandler extends RequestHandlerBase {
|
|
|
18
18
|
constructor(adapter: HttpAdapterBase, options?: StorageRequestHandler.Options);
|
|
19
19
|
processRequest(executionContext: ExecutionContext): Promise<void>;
|
|
20
20
|
parseRequest(executionContext: ExecutionContext, incoming: HttpServerRequest): Promise<Request | undefined>;
|
|
21
|
-
|
|
22
|
-
sendResponse(context:
|
|
21
|
+
callEndpoint(context: EndpointContext): Promise<void>;
|
|
22
|
+
sendResponse(context: EndpointContext): Promise<void>;
|
|
23
23
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { FallbackLng, I18n, LanguageResource } from '@opra/common';
|
|
2
|
+
import { EndpointContext } from './endpoint-context.js';
|
|
2
3
|
import { ILogger } from './interfaces/logger.interface.js';
|
|
3
4
|
import { RequestHandler } from './interfaces/request-handler.interface.js';
|
|
4
|
-
import { OperationContext } from './operation-context.js';
|
|
5
5
|
export type Protocol = 'http' | 'ws' | 'rpc';
|
|
6
6
|
export interface PlatformAdapter extends RequestHandler {
|
|
7
7
|
readonly protocol: Protocol;
|
|
@@ -20,7 +20,7 @@ export declare namespace PlatformAdapter {
|
|
|
20
20
|
i18n?: I18n | I18nOptions | (() => Promise<I18n>);
|
|
21
21
|
logger?: ILogger;
|
|
22
22
|
on?: {
|
|
23
|
-
request?: (ctx:
|
|
23
|
+
request?: (ctx: EndpointContext) => void | Promise<void>;
|
|
24
24
|
};
|
|
25
25
|
}
|
|
26
26
|
interface I18nOptions {
|
|
@@ -2,7 +2,7 @@ import { Resource } from '@opra/common';
|
|
|
2
2
|
import { HttpServerRequest } from './http/http-server-request.js';
|
|
3
3
|
export interface Request {
|
|
4
4
|
resource: Resource;
|
|
5
|
-
|
|
5
|
+
endpoint: string;
|
|
6
6
|
contentId?: string;
|
|
7
7
|
params?: Record<string, any>;
|
|
8
8
|
switchToHttp(): HttpServerRequest;
|
|
@@ -13,7 +13,7 @@ export interface Response {
|
|
|
13
13
|
*/
|
|
14
14
|
continueOnError?: boolean;
|
|
15
15
|
/**
|
|
16
|
-
* Total count of matched entities. (Used in "search"
|
|
16
|
+
* Total count of matched entities. (Used in "search" endpoint with "count" option
|
|
17
17
|
*/
|
|
18
18
|
count?: number;
|
|
19
19
|
switchToHttp(): HttpServerResponse;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import type { PartialOutput } from '@opra/common';
|
|
2
|
-
import type {
|
|
2
|
+
import type { EndpointContext } from '../adapter/endpoint-context.js';
|
|
3
3
|
import type { Request as _Request } from '../adapter/request.js';
|
|
4
4
|
declare module "@opra/common" {
|
|
5
5
|
namespace Collection {
|
|
6
|
+
namespace Action {
|
|
7
|
+
interface Context extends Resource.Context {
|
|
8
|
+
key?: any;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
6
11
|
namespace Create {
|
|
7
12
|
interface Request extends _Request {
|
|
8
|
-
|
|
13
|
+
endpoint: 'create';
|
|
9
14
|
data: any;
|
|
10
15
|
params: {
|
|
11
16
|
pick?: string[];
|
|
@@ -13,33 +18,33 @@ declare module "@opra/common" {
|
|
|
13
18
|
include?: string[];
|
|
14
19
|
};
|
|
15
20
|
}
|
|
16
|
-
interface Context extends
|
|
21
|
+
interface Context extends EndpointContext {
|
|
17
22
|
request: Request;
|
|
18
23
|
}
|
|
19
24
|
}
|
|
20
25
|
namespace Delete {
|
|
21
26
|
interface Request extends _Request {
|
|
22
|
-
|
|
27
|
+
endpoint: 'delete';
|
|
23
28
|
key: any;
|
|
24
29
|
}
|
|
25
|
-
interface Context extends
|
|
30
|
+
interface Context extends EndpointContext {
|
|
26
31
|
request: Request;
|
|
27
32
|
}
|
|
28
33
|
}
|
|
29
34
|
namespace DeleteMany {
|
|
30
35
|
interface Request extends _Request {
|
|
31
|
-
|
|
36
|
+
endpoint: 'deleteMany';
|
|
32
37
|
params: {
|
|
33
38
|
filter?: any;
|
|
34
39
|
};
|
|
35
40
|
}
|
|
36
|
-
interface Context extends
|
|
41
|
+
interface Context extends EndpointContext {
|
|
37
42
|
request: Request;
|
|
38
43
|
}
|
|
39
44
|
}
|
|
40
45
|
namespace FindMany {
|
|
41
46
|
interface Request extends _Request {
|
|
42
|
-
|
|
47
|
+
endpoint: 'findMany';
|
|
43
48
|
params: {
|
|
44
49
|
filter?: any;
|
|
45
50
|
pick?: string[];
|
|
@@ -52,13 +57,13 @@ declare module "@opra/common" {
|
|
|
52
57
|
count?: boolean;
|
|
53
58
|
};
|
|
54
59
|
}
|
|
55
|
-
interface Context extends
|
|
60
|
+
interface Context extends EndpointContext {
|
|
56
61
|
request: Request;
|
|
57
62
|
}
|
|
58
63
|
}
|
|
59
64
|
namespace Get {
|
|
60
65
|
interface Request extends _Request {
|
|
61
|
-
|
|
66
|
+
endpoint: 'get';
|
|
62
67
|
key: any;
|
|
63
68
|
params: {
|
|
64
69
|
pick?: string[];
|
|
@@ -66,13 +71,13 @@ declare module "@opra/common" {
|
|
|
66
71
|
include?: string[];
|
|
67
72
|
};
|
|
68
73
|
}
|
|
69
|
-
interface Context extends
|
|
74
|
+
interface Context extends EndpointContext {
|
|
70
75
|
request: Request;
|
|
71
76
|
}
|
|
72
77
|
}
|
|
73
78
|
namespace Update {
|
|
74
79
|
interface Request extends _Request {
|
|
75
|
-
|
|
80
|
+
endpoint: 'update';
|
|
76
81
|
key: any;
|
|
77
82
|
data: any;
|
|
78
83
|
params: {
|
|
@@ -81,24 +86,24 @@ declare module "@opra/common" {
|
|
|
81
86
|
include?: string[];
|
|
82
87
|
};
|
|
83
88
|
}
|
|
84
|
-
interface Context extends
|
|
89
|
+
interface Context extends EndpointContext {
|
|
85
90
|
request: Request;
|
|
86
91
|
}
|
|
87
92
|
}
|
|
88
93
|
namespace UpdateMany {
|
|
89
94
|
interface Request extends _Request {
|
|
90
|
-
|
|
95
|
+
endpoint: 'updateMany';
|
|
91
96
|
data: any;
|
|
92
97
|
params: {
|
|
93
98
|
filter?: any;
|
|
94
99
|
};
|
|
95
100
|
}
|
|
96
|
-
interface Context extends
|
|
101
|
+
interface Context extends EndpointContext {
|
|
97
102
|
request: Request;
|
|
98
103
|
}
|
|
99
104
|
}
|
|
100
105
|
}
|
|
101
|
-
interface
|
|
106
|
+
interface ICollection<T> {
|
|
102
107
|
create?(context: Collection.Create.Context): Promise<PartialOutput<T>>;
|
|
103
108
|
delete?(context: Collection.Delete.Context): Promise<number> | undefined;
|
|
104
109
|
deleteMany?(context: Collection.DeleteMany.Context): Promise<number> | undefined;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EndpointContext } from '../adapter/endpoint-context.js';
|
|
1
2
|
declare module "@opra/common" {
|
|
2
3
|
interface CollectionConstructor {
|
|
3
4
|
OnInit(): any;
|
|
@@ -7,6 +8,11 @@ declare module "@opra/common" {
|
|
|
7
8
|
OnInit(): any;
|
|
8
9
|
OnShutdown(): any;
|
|
9
10
|
}
|
|
11
|
+
namespace Resource {
|
|
12
|
+
interface Context extends EndpointContext {
|
|
13
|
+
params: Record<string, any>;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
10
16
|
interface Resource {
|
|
11
17
|
onInit?: (resource: Resource) => void | Promise<void>;
|
|
12
18
|
onShutdown?: (resource: Resource) => void | Promise<void>;
|
|
@@ -30,4 +36,3 @@ declare module "@opra/common" {
|
|
|
30
36
|
}
|
|
31
37
|
}
|
|
32
38
|
}
|
|
33
|
-
export {};
|
|
@@ -1,11 +1,15 @@
|
|
|
1
1
|
import type { PartialOutput } from '@opra/common';
|
|
2
|
-
import type {
|
|
2
|
+
import type { EndpointContext } from '../adapter/endpoint-context.js';
|
|
3
3
|
import type { Request as _Request } from '../adapter/request.js';
|
|
4
4
|
declare module "@opra/common" {
|
|
5
5
|
namespace Singleton {
|
|
6
|
+
namespace Action {
|
|
7
|
+
interface Context extends Resource.Context {
|
|
8
|
+
}
|
|
9
|
+
}
|
|
6
10
|
namespace Create {
|
|
7
11
|
interface Request extends _Request {
|
|
8
|
-
|
|
12
|
+
endpoint: 'create';
|
|
9
13
|
data: any;
|
|
10
14
|
params: {
|
|
11
15
|
pick?: string[];
|
|
@@ -13,34 +17,34 @@ declare module "@opra/common" {
|
|
|
13
17
|
include?: string[];
|
|
14
18
|
};
|
|
15
19
|
}
|
|
16
|
-
interface Context extends
|
|
20
|
+
interface Context extends EndpointContext {
|
|
17
21
|
request: Request;
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
24
|
namespace Delete {
|
|
21
25
|
interface Request extends _Request {
|
|
22
|
-
|
|
26
|
+
endpoint: 'delete';
|
|
23
27
|
}
|
|
24
|
-
interface Context extends
|
|
28
|
+
interface Context extends EndpointContext {
|
|
25
29
|
request: Request;
|
|
26
30
|
}
|
|
27
31
|
}
|
|
28
32
|
namespace Get {
|
|
29
33
|
interface Request extends _Request {
|
|
30
|
-
|
|
34
|
+
endpoint: 'get';
|
|
31
35
|
params: {
|
|
32
36
|
pick?: string[];
|
|
33
37
|
omit?: string[];
|
|
34
38
|
include?: string[];
|
|
35
39
|
};
|
|
36
40
|
}
|
|
37
|
-
interface Context extends
|
|
41
|
+
interface Context extends EndpointContext {
|
|
38
42
|
request: Request;
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
namespace Update {
|
|
42
46
|
interface Request extends _Request {
|
|
43
|
-
|
|
47
|
+
endpoint: 'update';
|
|
44
48
|
data: any;
|
|
45
49
|
params: {
|
|
46
50
|
pick?: string[];
|
|
@@ -48,12 +52,12 @@ declare module "@opra/common" {
|
|
|
48
52
|
include?: string[];
|
|
49
53
|
};
|
|
50
54
|
}
|
|
51
|
-
interface Context extends
|
|
55
|
+
interface Context extends EndpointContext {
|
|
52
56
|
request: Request;
|
|
53
57
|
}
|
|
54
58
|
}
|
|
55
59
|
}
|
|
56
|
-
interface
|
|
60
|
+
interface ISingleton<T> {
|
|
57
61
|
create?(context: Singleton.Create.Context): Promise<PartialOutput<T>>;
|
|
58
62
|
delete?(context: Singleton.Delete.Context): Promise<number> | undefined;
|
|
59
63
|
get?(context: Singleton.Get.Context): Promise<PartialOutput<T> | undefined>;
|
|
@@ -1,22 +1,26 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="node" />
|
|
3
3
|
import type { Readable } from 'stream';
|
|
4
|
+
import type { EndpointContext } from '../adapter/endpoint-context';
|
|
4
5
|
import type { MultipartIterator } from '../adapter/http/helpers/multipart-helper';
|
|
5
|
-
import type { OperationContext } from '../adapter/operation-context.js';
|
|
6
6
|
import type { Request as _Request } from '../adapter/request.js';
|
|
7
7
|
declare module "@opra/common" {
|
|
8
8
|
namespace Storage {
|
|
9
|
+
namespace Action {
|
|
10
|
+
interface Context extends Resource.Context {
|
|
11
|
+
}
|
|
12
|
+
}
|
|
9
13
|
namespace Delete {
|
|
10
14
|
interface Request extends _Request {
|
|
11
15
|
}
|
|
12
|
-
interface Context extends
|
|
16
|
+
interface Context extends EndpointContext {
|
|
13
17
|
request: Request;
|
|
14
18
|
}
|
|
15
19
|
}
|
|
16
20
|
namespace Get {
|
|
17
21
|
interface Request extends _Request {
|
|
18
22
|
}
|
|
19
|
-
interface Context extends
|
|
23
|
+
interface Context extends EndpointContext {
|
|
20
24
|
request: Request;
|
|
21
25
|
}
|
|
22
26
|
}
|
|
@@ -24,12 +28,12 @@ declare module "@opra/common" {
|
|
|
24
28
|
interface Request extends _Request {
|
|
25
29
|
parts: MultipartIterator;
|
|
26
30
|
}
|
|
27
|
-
interface Context extends
|
|
31
|
+
interface Context extends EndpointContext {
|
|
28
32
|
request: Request;
|
|
29
33
|
}
|
|
30
34
|
}
|
|
31
35
|
}
|
|
32
|
-
interface
|
|
36
|
+
interface IStorage {
|
|
33
37
|
delete?(context: Storage.Delete.Context): Promise<number | undefined>;
|
|
34
38
|
get?(context: Storage.Get.Context): Promise<Buffer | Readable | undefined>;
|
|
35
39
|
post?(context: Storage.Post.Context): Promise<void>;
|
package/types/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import './augmentation/singleton.augmentation.js';
|
|
|
5
5
|
import './augmentation/storage.augmentation.js';
|
|
6
6
|
export * from './types.js';
|
|
7
7
|
export * from './adapter/execution-context.js';
|
|
8
|
-
export * from './adapter/
|
|
8
|
+
export * from './adapter/endpoint-context.js';
|
|
9
9
|
export * from './adapter/platform-adapter.js';
|
|
10
10
|
export * from './adapter/request.js';
|
|
11
11
|
export * from './adapter/response.js';
|