@geekmidas/constructs 3.0.13 → 3.1.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/CHANGELOG.md +24 -0
- package/dist/AWSScheduledFunction-B3cHQSdp.cjs +255 -0
- package/dist/AWSScheduledFunction-B3cHQSdp.cjs.map +1 -0
- package/dist/AWSScheduledFunction-BRGjgD-i.mjs +243 -0
- package/dist/AWSScheduledFunction-BRGjgD-i.mjs.map +1 -0
- package/dist/AWSScheduledFunction-BnYDnzsF.d.mts +117 -0
- package/dist/AWSScheduledFunction-BnYDnzsF.d.mts.map +1 -0
- package/dist/AWSScheduledFunction-vjanLO3-.d.cts +117 -0
- package/dist/AWSScheduledFunction-vjanLO3-.d.cts.map +1 -0
- package/dist/{Construct-D0n7QTaI.d.mts → Construct-BY0NBQLj.d.mts} +1 -1
- package/dist/{Construct-D0n7QTaI.d.mts.map → Construct-BY0NBQLj.d.mts.map} +1 -1
- package/dist/{Construct-CdJY2DJS.mjs → Construct-CLIPPqUP.mjs} +3 -28
- package/dist/{Construct-CdJY2DJS.mjs.map → Construct-CLIPPqUP.mjs.map} +1 -1
- package/dist/{Construct-CXqvzglu.d.cts → Construct-cjIs74Gb.d.cts} +1 -1
- package/dist/{Construct-CXqvzglu.d.cts.map → Construct-cjIs74Gb.d.cts.map} +1 -1
- package/dist/{Endpoint-NvjIednd.d.mts → Endpoint-4gVYt12g.d.mts} +5 -5
- package/dist/{Endpoint-NvjIednd.d.mts.map → Endpoint-4gVYt12g.d.mts.map} +1 -1
- package/dist/{Endpoint-CE7qHX5S.d.cts → Endpoint-BlMZIwBY.d.cts} +4 -4
- package/dist/{Endpoint-CE7qHX5S.d.cts.map → Endpoint-BlMZIwBY.d.cts.map} +1 -1
- package/dist/{HonoEndpointAdaptor-DyYv0IoU.mjs → HonoEndpointAdaptor-6k-rI44C.mjs} +5 -4
- package/dist/{HonoEndpointAdaptor-DyYv0IoU.mjs.map → HonoEndpointAdaptor-6k-rI44C.mjs.map} +1 -1
- package/dist/{HonoEndpointAdaptor-DFdgCwYU.cjs → HonoEndpointAdaptor-CNIsjEw-.cjs} +6 -5
- package/dist/{HonoEndpointAdaptor-DFdgCwYU.cjs.map → HonoEndpointAdaptor-CNIsjEw-.cjs.map} +1 -1
- package/dist/{Subscriber-D8WkA8np.d.cts → Subscriber-C6YXAmTp.d.cts} +3 -3
- package/dist/{Subscriber-D8WkA8np.d.cts.map → Subscriber-C6YXAmTp.d.cts.map} +1 -1
- package/dist/{Subscriber-Tft61-YG.d.mts → Subscriber-CjOHxO0l.d.mts} +3 -3
- package/dist/{Subscriber-Tft61-YG.d.mts.map → Subscriber-CjOHxO0l.d.mts.map} +1 -1
- package/dist/adaptors/aws.cjs +12 -209
- package/dist/adaptors/aws.cjs.map +1 -1
- package/dist/adaptors/aws.d.cts +11 -66
- package/dist/adaptors/aws.d.cts.map +1 -1
- package/dist/adaptors/aws.d.mts +11 -66
- package/dist/adaptors/aws.d.mts.map +1 -1
- package/dist/adaptors/aws.mjs +11 -208
- package/dist/adaptors/aws.mjs.map +1 -1
- package/dist/adaptors/hono.cjs +6 -4
- package/dist/adaptors/hono.d.cts +4 -4
- package/dist/adaptors/hono.d.mts +4 -4
- package/dist/adaptors/hono.mjs +7 -5
- package/dist/adaptors/middy.cjs +120 -0
- package/dist/adaptors/middy.cjs.map +1 -0
- package/dist/adaptors/middy.d.cts +139 -0
- package/dist/adaptors/middy.d.cts.map +1 -0
- package/dist/adaptors/middy.d.mts +139 -0
- package/dist/adaptors/middy.d.mts.map +1 -0
- package/dist/adaptors/middy.mjs +118 -0
- package/dist/adaptors/middy.mjs.map +1 -0
- package/dist/adaptors/testing.cjs +9 -7
- package/dist/adaptors/testing.cjs.map +1 -1
- package/dist/adaptors/testing.d.cts +6 -6
- package/dist/adaptors/testing.d.mts +6 -6
- package/dist/adaptors/testing.mjs +7 -5
- package/dist/adaptors/testing.mjs.map +1 -1
- package/dist/chunk-B4qE4VCv.mjs +27 -0
- package/dist/crons/index.cjs +4 -1
- package/dist/crons/index.cjs.map +1 -1
- package/dist/crons/index.d.cts +6 -22
- package/dist/crons/index.d.cts.map +1 -1
- package/dist/crons/index.d.mts +5 -21
- package/dist/crons/index.d.mts.map +1 -1
- package/dist/crons/index.mjs +6 -3
- package/dist/crons/index.mjs.map +1 -1
- package/dist/endpoints/index.cjs +5 -3
- package/dist/endpoints/index.cjs.map +1 -1
- package/dist/endpoints/index.d.cts +7 -7
- package/dist/endpoints/index.d.mts +5 -5
- package/dist/endpoints/index.mjs +6 -3
- package/dist/endpoints/index.mjs.map +1 -1
- package/dist/functions/index.cjs +1 -1
- package/dist/functions/index.d.cts +2 -2
- package/dist/functions/index.d.mts +2 -2
- package/dist/functions/index.mjs +2 -2
- package/dist/{functions-GmSHFbpr.mjs → functions-BMR-1CIQ.mjs} +1639 -1638
- package/dist/functions-BMR-1CIQ.mjs.map +1 -0
- package/dist/{functions-CX21wstW.cjs → functions-_OAiwGYh.cjs} +1637 -1637
- package/dist/functions-_OAiwGYh.cjs.map +1 -0
- package/dist/{index-CzIMpK-e.d.cts → index-Dj3uvqCO.d.cts} +39 -38
- package/dist/index-Dj3uvqCO.d.cts.map +1 -0
- package/dist/{index-Cq4fz8uM.d.mts → index-DoiHTgUQ.d.mts} +35 -34
- package/dist/index-DoiHTgUQ.d.mts.map +1 -0
- package/dist/index.d.cts +3 -3
- package/dist/index.d.mts +3 -3
- package/dist/index.mjs +1 -1
- package/dist/{lazyAccessors-zNy6P6Cg.cjs → lazyAccessors-B4rtX68K.cjs} +6 -889
- package/dist/lazyAccessors-B4rtX68K.cjs.map +1 -0
- package/dist/{lazyAccessors-5h-aWohM.mjs → lazyAccessors-D-UHg0YJ.mjs} +9 -873
- package/dist/lazyAccessors-D-UHg0YJ.mjs.map +1 -0
- package/dist/lodash-CM4k4sZD.cjs +836 -0
- package/dist/lodash-CM4k4sZD.cjs.map +1 -0
- package/dist/lodash-DiUeLbQy.mjs +831 -0
- package/dist/lodash-DiUeLbQy.mjs.map +1 -0
- package/dist/{processAudits-B0PbJf1Z.mjs → processAudits-BEiSkgH3.mjs} +1 -1
- package/dist/{processAudits-B0PbJf1Z.mjs.map → processAudits-BEiSkgH3.mjs.map} +1 -1
- package/dist/{processAudits-B_a9bDPs.cjs → processAudits-CPcACKCA.cjs} +1 -1
- package/dist/{processAudits-B_a9bDPs.cjs.map → processAudits-CPcACKCA.cjs.map} +1 -1
- package/dist/publisher-BZgcrVPy.cjs +53 -0
- package/dist/publisher-BZgcrVPy.cjs.map +1 -0
- package/dist/publisher-CnpeMv-r.mjs +41 -0
- package/dist/publisher-CnpeMv-r.mjs.map +1 -0
- package/dist/subscribers/index.d.cts +2 -2
- package/dist/subscribers/index.d.mts +2 -2
- package/dist/subscribers/index.mjs +1 -1
- package/dist/{telemetry-COvVBKBM.d.mts → telemetry-Bp4DLvdQ.d.mts} +1 -1
- package/dist/{telemetry-Bt0vK4ma.d.cts.map → telemetry-Bp4DLvdQ.d.mts.map} +1 -1
- package/dist/{telemetry-Bt0vK4ma.d.cts → telemetry-Dqx-D3F7.d.cts} +1 -1
- package/dist/{telemetry-COvVBKBM.d.mts.map → telemetry-Dqx-D3F7.d.cts.map} +1 -1
- package/dist/{types-B8YlI4cx.d.cts → types-BdAaYDvd.d.cts} +1 -1
- package/dist/{types-B8YlI4cx.d.cts.map → types-BdAaYDvd.d.cts.map} +1 -1
- package/dist/{types-BA3eK4xj.d.mts → types-j0ti0JTY.d.mts} +1 -1
- package/dist/{types-BA3eK4xj.d.mts.map → types-j0ti0JTY.d.mts.map} +1 -1
- package/dist/types.d.cts +1 -1
- package/dist/types.d.mts +1 -1
- package/package.json +24 -14
- package/src/adaptors/__tests__/middy.spec.ts +212 -0
- package/src/adaptors/__tests__/trpc.spec.ts +9 -2
- package/src/adaptors/aws.ts +1 -0
- package/src/adaptors/middy.ts +225 -0
- package/src/crons/AWSScheduledFunction.ts +72 -0
- package/src/crons/__tests__/AWSScheduledFunction.spec.ts +152 -0
- package/src/crons/index.ts +1 -0
- package/tsdown.config.ts +1 -0
- package/dist/functions-CX21wstW.cjs.map +0 -1
- package/dist/functions-GmSHFbpr.mjs.map +0 -1
- package/dist/index-Cq4fz8uM.d.mts.map +0 -1
- package/dist/index-CzIMpK-e.d.cts.map +0 -1
- package/dist/lazyAccessors-5h-aWohM.mjs.map +0 -1
- package/dist/lazyAccessors-zNy6P6Cg.cjs.map +0 -1
package/dist/adaptors/aws.d.cts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import "../
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import "../Construct-cjIs74Gb.cjs";
|
|
2
|
+
import "../index-Dj3uvqCO.cjs";
|
|
3
|
+
import { AWSLambdaFunction, AWSScheduledFunction } from "../AWSScheduledFunction-vjanLO3-.cjs";
|
|
4
|
+
import { HttpMethod } from "../types-BdAaYDvd.cjs";
|
|
5
|
+
import { Telemetry } from "../telemetry-Dqx-D3F7.cjs";
|
|
6
|
+
import { CookieFn, Endpoint, EndpointSchemas } from "../Endpoint-BlMZIwBY.cjs";
|
|
7
|
+
import { Subscriber } from "../Subscriber-C6YXAmTp.cjs";
|
|
7
8
|
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
8
9
|
import { EventPublisher } from "@geekmidas/events";
|
|
9
10
|
import { Logger } from "@geekmidas/logger";
|
|
10
|
-
import {
|
|
11
|
+
import { InferComposableStandardSchema } from "@geekmidas/schema";
|
|
12
|
+
import { Service, ServiceRecord } from "@geekmidas/services";
|
|
11
13
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
14
|
+
import { AuditStorage, AuditableAction } from "@geekmidas/audit";
|
|
12
15
|
import { APIGatewayProxyEvent, APIGatewayProxyEventV2, Context, Handler } from "aws-lambda";
|
|
13
|
-
import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
|
|
14
16
|
import { MiddlewareObj } from "@middy/core";
|
|
15
|
-
import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
|
|
16
17
|
|
|
17
18
|
//#region src/endpoints/AmazonApiGatewayEndpointAdaptor.d.ts
|
|
18
19
|
/**
|
|
@@ -135,62 +136,6 @@ declare class AmazonApiGatewayV2Endpoint<TRoute extends string, TMethod extends
|
|
|
135
136
|
constructor(envParser: EnvironmentParser<{}>, endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>, options?: AmazonApiGatewayEndpointOptions);
|
|
136
137
|
}
|
|
137
138
|
//#endregion
|
|
138
|
-
//#region src/functions/FunctionExecutionWrapper.d.ts
|
|
139
|
-
declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> {
|
|
140
|
-
protected envParser: EnvironmentParser<{}>;
|
|
141
|
-
protected readonly fn: Function$1<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, TOutSchema, TDatabase, TAuditStorage, TAuditAction>>;
|
|
142
|
-
constructor(envParser: EnvironmentParser<{}>, fn: Function$1<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, TOutSchema, TDatabase, TAuditStorage, TAuditAction>>);
|
|
143
|
-
protected _logger?: TLogger;
|
|
144
|
-
get logger(): TLogger;
|
|
145
|
-
get serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>>;
|
|
146
|
-
getServices(): Promise<ServiceRecord<TServices>>;
|
|
147
|
-
getDatabase(): Promise<TDatabase | undefined>;
|
|
148
|
-
/**
|
|
149
|
-
* Get the audit storage service if configured.
|
|
150
|
-
* Returns undefined if no auditor storage is configured.
|
|
151
|
-
*/
|
|
152
|
-
getAuditStorage(): Promise<TAuditStorage | undefined>;
|
|
153
|
-
/**
|
|
154
|
-
* Create an auditor instance for the function.
|
|
155
|
-
* Returns undefined if no auditor storage is configured.
|
|
156
|
-
*/
|
|
157
|
-
createAuditor(): Promise<Auditor<TAuditAction> | undefined>;
|
|
158
|
-
/**
|
|
159
|
-
* Execute handler with audit transaction support.
|
|
160
|
-
* If the audit storage has a database (via getDatabase()), wraps execution
|
|
161
|
-
* in a transaction so audits are atomic with handler's database operations.
|
|
162
|
-
*
|
|
163
|
-
* @param handler - The handler function to execute (receives auditor and db)
|
|
164
|
-
* @returns The handler result
|
|
165
|
-
*/
|
|
166
|
-
executeWithAudit<T>(handler: (ctx: {
|
|
167
|
-
auditor?: Auditor<TAuditAction>;
|
|
168
|
-
db?: TDatabase;
|
|
169
|
-
}) => Promise<T>): Promise<T>;
|
|
170
|
-
getFunctionInput<TEvent>(event: TEvent): Promise<InferComposableStandardSchema<TInput>>;
|
|
171
|
-
publishEvents(response: InferStandardSchema<TOutSchema>): Promise<void>;
|
|
172
|
-
parseComposableStandardSchema<T extends ComposableStandardSchema>(data: unknown, schema: T): Promise<InferComposableStandardSchema<T>>;
|
|
173
|
-
}
|
|
174
|
-
//# sourceMappingURL=FunctionExecutionWrapper.d.ts.map
|
|
175
|
-
//#endregion
|
|
176
|
-
//#region src/functions/AWSLambdaFunction.d.ts
|
|
177
|
-
type AWSLambdaHandler$1<TEvent = any, TResult = any> = Handler<TEvent, TResult>;
|
|
178
|
-
declare class AWSLambdaFunction<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> extends FunctionExecutionWrapper<TInput, TOutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction> {
|
|
179
|
-
readonly fn: Function$1<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, TOutSchema, TDatabase, TAuditStorage, TAuditAction>>;
|
|
180
|
-
constructor(envParser: EnvironmentParser<{}>, fn: Function$1<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, TOutSchema, TDatabase, TAuditStorage, TAuditAction>>);
|
|
181
|
-
private error;
|
|
182
|
-
private baseInput;
|
|
183
|
-
private input;
|
|
184
|
-
private loggerMiddleware;
|
|
185
|
-
private services;
|
|
186
|
-
private database;
|
|
187
|
-
private auditor;
|
|
188
|
-
private events;
|
|
189
|
-
private _handler;
|
|
190
|
-
get handler(): AWSLambdaHandler$1;
|
|
191
|
-
}
|
|
192
|
-
//# sourceMappingURL=AWSLambdaFunction.d.ts.map
|
|
193
|
-
//#endregion
|
|
194
139
|
//#region src/subscribers/AWSLambdaSubscriberAdaptor.d.ts
|
|
195
140
|
type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<TEvent, TResult>;
|
|
196
141
|
declare class AWSLambdaSubscriber<TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TSubscribedEvents extends any[] = []> {
|
|
@@ -217,5 +162,5 @@ declare class AWSLambdaSubscriber<TServices extends Service[] = [], TLogger exte
|
|
|
217
162
|
//# sourceMappingURL=AWSLambdaSubscriberAdaptor.d.ts.map
|
|
218
163
|
|
|
219
164
|
//#endregion
|
|
220
|
-
export { AWSLambdaFunction, AWSLambdaSubscriber, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint };
|
|
165
|
+
export { AWSLambdaFunction, AWSLambdaSubscriber, AWSScheduledFunction, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint };
|
|
221
166
|
//# sourceMappingURL=aws.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws.d.cts","names":[],"sources":["../../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts","../../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts","../../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts","../../src/
|
|
1
|
+
{"version":3,"file":"aws.d.cts","names":[],"sources":["../../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts","../../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts","../../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts","../../src/subscribers/AWSLambdaSubscriberAdaptor.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/adaptors/aws.d.mts
CHANGED
|
@@ -1,18 +1,19 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import "../
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import "../Construct-BY0NBQLj.mjs";
|
|
2
|
+
import "../index-DoiHTgUQ.mjs";
|
|
3
|
+
import { AWSLambdaFunction, AWSScheduledFunction } from "../AWSScheduledFunction-BnYDnzsF.mjs";
|
|
4
|
+
import { HttpMethod } from "../types-j0ti0JTY.mjs";
|
|
5
|
+
import { Telemetry } from "../telemetry-Bp4DLvdQ.mjs";
|
|
6
|
+
import { CookieFn, Endpoint, EndpointSchemas } from "../Endpoint-4gVYt12g.mjs";
|
|
7
|
+
import { Subscriber } from "../Subscriber-CjOHxO0l.mjs";
|
|
8
|
+
import { Service, ServiceRecord } from "@geekmidas/services";
|
|
7
9
|
import { MiddlewareObj } from "@middy/core";
|
|
8
|
-
import {
|
|
9
|
-
import { AuditStorage, AuditableAction, Auditor } from "@geekmidas/audit";
|
|
10
|
+
import { AuditStorage, AuditableAction } from "@geekmidas/audit";
|
|
10
11
|
import { EnvironmentParser } from "@geekmidas/envkit";
|
|
11
12
|
import { EventPublisher } from "@geekmidas/events";
|
|
12
13
|
import { Logger } from "@geekmidas/logger";
|
|
14
|
+
import { InferComposableStandardSchema } from "@geekmidas/schema";
|
|
13
15
|
import { StandardSchemaV1 } from "@standard-schema/spec";
|
|
14
16
|
import { APIGatewayProxyEvent, APIGatewayProxyEventV2, Context, Handler } from "aws-lambda";
|
|
15
|
-
import { ComposableStandardSchema, InferComposableStandardSchema, InferStandardSchema } from "@geekmidas/schema";
|
|
16
17
|
|
|
17
18
|
//#region src/endpoints/AmazonApiGatewayEndpointAdaptor.d.ts
|
|
18
19
|
/**
|
|
@@ -135,62 +136,6 @@ declare class AmazonApiGatewayV2Endpoint<TRoute extends string, TMethod extends
|
|
|
135
136
|
constructor(envParser: EnvironmentParser<{}>, endpoint: Endpoint<TRoute, TMethod, TInput, TOutSchema, TServices, TLogger, TSession, TEventPublisher>, options?: AmazonApiGatewayEndpointOptions);
|
|
136
137
|
}
|
|
137
138
|
//#endregion
|
|
138
|
-
//#region src/functions/FunctionExecutionWrapper.d.ts
|
|
139
|
-
declare abstract class FunctionExecutionWrapper<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> {
|
|
140
|
-
protected envParser: EnvironmentParser<{}>;
|
|
141
|
-
protected readonly fn: Function$1<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, TOutSchema, TDatabase, TAuditStorage, TAuditAction>>;
|
|
142
|
-
constructor(envParser: EnvironmentParser<{}>, fn: Function$1<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, TOutSchema, TDatabase, TAuditStorage, TAuditAction>>);
|
|
143
|
-
protected _logger?: TLogger;
|
|
144
|
-
get logger(): TLogger;
|
|
145
|
-
get serviceDiscovery(): ServiceDiscovery<ServiceRecord<TServices>>;
|
|
146
|
-
getServices(): Promise<ServiceRecord<TServices>>;
|
|
147
|
-
getDatabase(): Promise<TDatabase | undefined>;
|
|
148
|
-
/**
|
|
149
|
-
* Get the audit storage service if configured.
|
|
150
|
-
* Returns undefined if no auditor storage is configured.
|
|
151
|
-
*/
|
|
152
|
-
getAuditStorage(): Promise<TAuditStorage | undefined>;
|
|
153
|
-
/**
|
|
154
|
-
* Create an auditor instance for the function.
|
|
155
|
-
* Returns undefined if no auditor storage is configured.
|
|
156
|
-
*/
|
|
157
|
-
createAuditor(): Promise<Auditor<TAuditAction> | undefined>;
|
|
158
|
-
/**
|
|
159
|
-
* Execute handler with audit transaction support.
|
|
160
|
-
* If the audit storage has a database (via getDatabase()), wraps execution
|
|
161
|
-
* in a transaction so audits are atomic with handler's database operations.
|
|
162
|
-
*
|
|
163
|
-
* @param handler - The handler function to execute (receives auditor and db)
|
|
164
|
-
* @returns The handler result
|
|
165
|
-
*/
|
|
166
|
-
executeWithAudit<T>(handler: (ctx: {
|
|
167
|
-
auditor?: Auditor<TAuditAction>;
|
|
168
|
-
db?: TDatabase;
|
|
169
|
-
}) => Promise<T>): Promise<T>;
|
|
170
|
-
getFunctionInput<TEvent>(event: TEvent): Promise<InferComposableStandardSchema<TInput>>;
|
|
171
|
-
publishEvents(response: InferStandardSchema<TOutSchema>): Promise<void>;
|
|
172
|
-
parseComposableStandardSchema<T extends ComposableStandardSchema>(data: unknown, schema: T): Promise<InferComposableStandardSchema<T>>;
|
|
173
|
-
}
|
|
174
|
-
//# sourceMappingURL=FunctionExecutionWrapper.d.ts.map
|
|
175
|
-
//#endregion
|
|
176
|
-
//#region src/functions/AWSLambdaFunction.d.ts
|
|
177
|
-
type AWSLambdaHandler$1<TEvent = any, TResult = any> = Handler<TEvent, TResult>;
|
|
178
|
-
declare class AWSLambdaFunction<TInput extends ComposableStandardSchema | undefined = undefined, TOutSchema extends StandardSchemaV1 | undefined = undefined, TServices extends Service[] = [], TLogger extends Logger = Logger, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TAuditStorage extends AuditStorage | undefined = undefined, TAuditStorageServiceName extends string = string, TDatabase = undefined, TDatabaseServiceName extends string = string, TAuditAction extends AuditableAction<string, unknown> = AuditableAction<string, unknown>> extends FunctionExecutionWrapper<TInput, TOutSchema, TServices, TLogger, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction> {
|
|
179
|
-
readonly fn: Function$1<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, TOutSchema, TDatabase, TAuditStorage, TAuditAction>>;
|
|
180
|
-
constructor(envParser: EnvironmentParser<{}>, fn: Function$1<TInput, TServices, TLogger, TOutSchema, TEventPublisher, TEventPublisherServiceName, TAuditStorage, TAuditStorageServiceName, TDatabase, TDatabaseServiceName, TAuditAction, FunctionHandler<TInput, TServices, TLogger, TOutSchema, TDatabase, TAuditStorage, TAuditAction>>);
|
|
181
|
-
private error;
|
|
182
|
-
private baseInput;
|
|
183
|
-
private input;
|
|
184
|
-
private loggerMiddleware;
|
|
185
|
-
private services;
|
|
186
|
-
private database;
|
|
187
|
-
private auditor;
|
|
188
|
-
private events;
|
|
189
|
-
private _handler;
|
|
190
|
-
get handler(): AWSLambdaHandler$1;
|
|
191
|
-
}
|
|
192
|
-
//# sourceMappingURL=AWSLambdaFunction.d.ts.map
|
|
193
|
-
//#endregion
|
|
194
139
|
//#region src/subscribers/AWSLambdaSubscriberAdaptor.d.ts
|
|
195
140
|
type AWSLambdaHandler<TEvent = any, TResult = any> = Handler<TEvent, TResult>;
|
|
196
141
|
declare class AWSLambdaSubscriber<TServices extends Service[] = [], TLogger extends Logger = Logger, OutSchema extends StandardSchemaV1 | undefined = undefined, TEventPublisher extends EventPublisher<any> | undefined = undefined, TEventPublisherServiceName extends string = string, TSubscribedEvents extends any[] = []> {
|
|
@@ -217,5 +162,5 @@ declare class AWSLambdaSubscriber<TServices extends Service[] = [], TLogger exte
|
|
|
217
162
|
//# sourceMappingURL=AWSLambdaSubscriberAdaptor.d.ts.map
|
|
218
163
|
|
|
219
164
|
//#endregion
|
|
220
|
-
export { AWSLambdaFunction, AWSLambdaSubscriber, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint };
|
|
165
|
+
export { AWSLambdaFunction, AWSLambdaSubscriber, AWSScheduledFunction, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint };
|
|
221
166
|
//# sourceMappingURL=aws.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aws.d.mts","names":[],"sources":["../../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts","../../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts","../../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts","../../src/
|
|
1
|
+
{"version":3,"file":"aws.d.mts","names":[],"sources":["../../src/endpoints/AmazonApiGatewayEndpointAdaptor.ts","../../src/endpoints/AmazonApiGatewayV1EndpointAdaptor.ts","../../src/endpoints/AmazonApiGatewayV2EndpointAdaptor.ts","../../src/subscribers/AWSLambdaSubscriberAdaptor.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/adaptors/aws.mjs
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import { __toESM } from "../
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
1
|
+
import { __toESM } from "../chunk-B4qE4VCv.mjs";
|
|
2
|
+
import "../Construct-CLIPPqUP.mjs";
|
|
3
|
+
import "../functions-BMR-1CIQ.mjs";
|
|
4
|
+
import { publishConstructEvents } from "../publisher-CnpeMv-r.mjs";
|
|
5
|
+
import { AWSLambdaFunction, AWSScheduledFunction } from "../AWSScheduledFunction-BRGjgD-i.mjs";
|
|
6
|
+
import { require_lodash } from "../lodash-DiUeLbQy.mjs";
|
|
7
|
+
import { Endpoint, ResponseBuilder, createApiGatewayCookies } from "../lazyAccessors-D-UHg0YJ.mjs";
|
|
8
|
+
import { createAuditContext, executeWithAuditTransaction } from "../processAudits-BEiSkgH3.mjs";
|
|
7
9
|
import { ForbiddenError, UnprocessableEntityError, wrapError } from "@geekmidas/errors";
|
|
8
10
|
import { ServiceDiscovery, runWithRequestContext } from "@geekmidas/services";
|
|
9
|
-
import
|
|
11
|
+
import middy from "@middy/core";
|
|
12
|
+
import { withRlsContext } from "@geekmidas/db/rls";
|
|
10
13
|
import qs from "qs";
|
|
11
|
-
import { withAuditableTransaction } from "@geekmidas/audit/kysely";
|
|
12
14
|
|
|
13
15
|
//#region src/endpoints/AmazonApiGatewayEndpointAdaptor.ts
|
|
14
16
|
var import_lodash = __toESM(require_lodash(), 1);
|
|
@@ -369,205 +371,6 @@ var AmazonApiGatewayV2Endpoint = class extends AmazonApiGatewayEndpoint {
|
|
|
369
371
|
}
|
|
370
372
|
};
|
|
371
373
|
|
|
372
|
-
//#endregion
|
|
373
|
-
//#region src/functions/FunctionExecutionWrapper.ts
|
|
374
|
-
var FunctionExecutionWrapper = class {
|
|
375
|
-
constructor(envParser, fn) {
|
|
376
|
-
this.envParser = envParser;
|
|
377
|
-
this.fn = fn;
|
|
378
|
-
}
|
|
379
|
-
_logger;
|
|
380
|
-
get logger() {
|
|
381
|
-
return this._logger || this.fn.logger;
|
|
382
|
-
}
|
|
383
|
-
get serviceDiscovery() {
|
|
384
|
-
const serviceDiscovery = ServiceDiscovery.getInstance(this.envParser);
|
|
385
|
-
return serviceDiscovery;
|
|
386
|
-
}
|
|
387
|
-
getServices() {
|
|
388
|
-
return this.serviceDiscovery.register(this.fn.services);
|
|
389
|
-
}
|
|
390
|
-
async getDatabase() {
|
|
391
|
-
if (!this.fn.databaseService) return void 0;
|
|
392
|
-
const services = await this.serviceDiscovery.register([this.fn.databaseService]);
|
|
393
|
-
return services[this.fn.databaseService.serviceName];
|
|
394
|
-
}
|
|
395
|
-
/**
|
|
396
|
-
* Get the audit storage service if configured.
|
|
397
|
-
* Returns undefined if no auditor storage is configured.
|
|
398
|
-
*/
|
|
399
|
-
async getAuditStorage() {
|
|
400
|
-
if (!this.fn.auditorStorageService) return void 0;
|
|
401
|
-
const services = await this.serviceDiscovery.register([this.fn.auditorStorageService]);
|
|
402
|
-
return services[this.fn.auditorStorageService.serviceName];
|
|
403
|
-
}
|
|
404
|
-
/**
|
|
405
|
-
* Create an auditor instance for the function.
|
|
406
|
-
* Returns undefined if no auditor storage is configured.
|
|
407
|
-
*/
|
|
408
|
-
async createAuditor() {
|
|
409
|
-
const storage = await this.getAuditStorage();
|
|
410
|
-
if (!storage) return void 0;
|
|
411
|
-
return new DefaultAuditor({
|
|
412
|
-
actor: {
|
|
413
|
-
id: "system",
|
|
414
|
-
type: "system"
|
|
415
|
-
},
|
|
416
|
-
storage,
|
|
417
|
-
metadata: { function: this.fn.type }
|
|
418
|
-
});
|
|
419
|
-
}
|
|
420
|
-
/**
|
|
421
|
-
* Execute handler with audit transaction support.
|
|
422
|
-
* If the audit storage has a database (via getDatabase()), wraps execution
|
|
423
|
-
* in a transaction so audits are atomic with handler's database operations.
|
|
424
|
-
*
|
|
425
|
-
* @param handler - The handler function to execute (receives auditor and db)
|
|
426
|
-
* @returns The handler result
|
|
427
|
-
*/
|
|
428
|
-
async executeWithAudit(handler) {
|
|
429
|
-
const auditor = await this.createAuditor();
|
|
430
|
-
const storage = await this.getAuditStorage();
|
|
431
|
-
if (!auditor || !storage) {
|
|
432
|
-
const db$1 = await this.getDatabase();
|
|
433
|
-
return handler({ db: db$1 });
|
|
434
|
-
}
|
|
435
|
-
const storageDb = storage.getDatabase?.();
|
|
436
|
-
const databaseServiceName = this.fn.databaseService?.serviceName;
|
|
437
|
-
const auditDbServiceName = this.fn.auditorStorageService?.serviceName;
|
|
438
|
-
if (storageDb && databaseServiceName && auditDbServiceName) return withAuditableTransaction(storageDb, auditor, async (trx) => {
|
|
439
|
-
const response$1 = await handler({
|
|
440
|
-
auditor,
|
|
441
|
-
db: trx
|
|
442
|
-
});
|
|
443
|
-
return response$1;
|
|
444
|
-
});
|
|
445
|
-
const db = await this.getDatabase();
|
|
446
|
-
const response = await handler({
|
|
447
|
-
auditor,
|
|
448
|
-
db
|
|
449
|
-
});
|
|
450
|
-
await auditor.flush();
|
|
451
|
-
return response;
|
|
452
|
-
}
|
|
453
|
-
async getFunctionInput(event) {
|
|
454
|
-
const parsedInput = await FunctionBuilder.parseComposableStandardSchema(event, this.fn.input);
|
|
455
|
-
return parsedInput;
|
|
456
|
-
}
|
|
457
|
-
async publishEvents(response) {
|
|
458
|
-
await publishEvents(this.logger, this.serviceDiscovery, this.fn.events, response, this.fn.publisherService);
|
|
459
|
-
}
|
|
460
|
-
async parseComposableStandardSchema(data, schema) {
|
|
461
|
-
return FunctionBuilder.parseComposableStandardSchema(data, schema);
|
|
462
|
-
}
|
|
463
|
-
};
|
|
464
|
-
|
|
465
|
-
//#endregion
|
|
466
|
-
//#region src/functions/AWSLambdaFunction.ts
|
|
467
|
-
var AWSLambdaFunction = class extends FunctionExecutionWrapper {
|
|
468
|
-
constructor(envParser, fn) {
|
|
469
|
-
super(envParser, fn);
|
|
470
|
-
this.fn = fn;
|
|
471
|
-
}
|
|
472
|
-
error() {
|
|
473
|
-
return { onError: (req) => {
|
|
474
|
-
const logger = req.event?.logger || this.fn.logger;
|
|
475
|
-
logger.error(req.error || {}, "Error processing function");
|
|
476
|
-
throw wrapError(req.error);
|
|
477
|
-
} };
|
|
478
|
-
}
|
|
479
|
-
baseInput() {
|
|
480
|
-
return { before: (_req) => {} };
|
|
481
|
-
}
|
|
482
|
-
input() {
|
|
483
|
-
return { before: async (req) => {
|
|
484
|
-
try {
|
|
485
|
-
if (this.fn.input) {
|
|
486
|
-
const parsedInput = await FunctionBuilder.parseComposableStandardSchema(req.event, this.fn.input);
|
|
487
|
-
req.event.parsedInput = parsedInput;
|
|
488
|
-
} else req.event.parsedInput = req.event;
|
|
489
|
-
} catch (error) {
|
|
490
|
-
this.logger.error({
|
|
491
|
-
error,
|
|
492
|
-
event: req.event
|
|
493
|
-
}, "Failed to parse input");
|
|
494
|
-
throw error;
|
|
495
|
-
}
|
|
496
|
-
} };
|
|
497
|
-
}
|
|
498
|
-
loggerMiddleware() {
|
|
499
|
-
return { before: (req) => {
|
|
500
|
-
this._logger = this.fn.logger.child({
|
|
501
|
-
fn: {
|
|
502
|
-
name: req.context.functionName,
|
|
503
|
-
version: req.context.functionVersion,
|
|
504
|
-
memory: req.context.memoryLimitInMB
|
|
505
|
-
},
|
|
506
|
-
req: { id: req.context.awsRequestId }
|
|
507
|
-
});
|
|
508
|
-
req.event.logger = this._logger;
|
|
509
|
-
} };
|
|
510
|
-
}
|
|
511
|
-
services() {
|
|
512
|
-
return { before: async (req) => {
|
|
513
|
-
req.event.services = await this.getServices();
|
|
514
|
-
} };
|
|
515
|
-
}
|
|
516
|
-
database() {
|
|
517
|
-
return { before: async (req) => {
|
|
518
|
-
req.event.db = await this.getDatabase();
|
|
519
|
-
} };
|
|
520
|
-
}
|
|
521
|
-
auditor() {
|
|
522
|
-
return {
|
|
523
|
-
before: async (req) => {
|
|
524
|
-
req.event.auditor = await this.createAuditor();
|
|
525
|
-
},
|
|
526
|
-
after: async (req) => {
|
|
527
|
-
if (req.event.auditor) {
|
|
528
|
-
const records = req.event.auditor.getRecords();
|
|
529
|
-
if (records.length > 0) {
|
|
530
|
-
this.logger.debug({ auditCount: records.length }, "Flushing function audits");
|
|
531
|
-
await req.event.auditor.flush();
|
|
532
|
-
}
|
|
533
|
-
}
|
|
534
|
-
}
|
|
535
|
-
};
|
|
536
|
-
}
|
|
537
|
-
events() {
|
|
538
|
-
return { after: async (req) => {
|
|
539
|
-
const response = req.response || void 0;
|
|
540
|
-
await this.publishEvents(response);
|
|
541
|
-
} };
|
|
542
|
-
}
|
|
543
|
-
async _handler(event) {
|
|
544
|
-
const result = await this.fn.fn({
|
|
545
|
-
input: event.parsedInput,
|
|
546
|
-
services: event.services,
|
|
547
|
-
logger: event.logger,
|
|
548
|
-
db: event.db,
|
|
549
|
-
auditor: event.auditor
|
|
550
|
-
});
|
|
551
|
-
const output = await this.fn.parseOutput(result);
|
|
552
|
-
return output;
|
|
553
|
-
}
|
|
554
|
-
get handler() {
|
|
555
|
-
const handler = this._handler.bind(this);
|
|
556
|
-
const chain = middy(handler).use(this.loggerMiddleware()).use(this.baseInput()).use(this.error()).use(this.services()).use(this.database()).use(this.auditor()).use(this.input()).use(this.events());
|
|
557
|
-
const wrappedHandler = async (event, context) => {
|
|
558
|
-
const startTime = Date.now();
|
|
559
|
-
const requestId = context.awsRequestId;
|
|
560
|
-
const logger = this.fn.logger.child({ requestId });
|
|
561
|
-
return runWithRequestContext({
|
|
562
|
-
logger,
|
|
563
|
-
requestId,
|
|
564
|
-
startTime
|
|
565
|
-
}, () => chain(event, context));
|
|
566
|
-
};
|
|
567
|
-
return wrappedHandler;
|
|
568
|
-
}
|
|
569
|
-
};
|
|
570
|
-
|
|
571
374
|
//#endregion
|
|
572
375
|
//#region src/subscribers/AWSLambdaSubscriberAdaptor.ts
|
|
573
376
|
var AWSLambdaSubscriber = class {
|
|
@@ -735,5 +538,5 @@ var AWSLambdaSubscriber = class {
|
|
|
735
538
|
};
|
|
736
539
|
|
|
737
540
|
//#endregion
|
|
738
|
-
export { AWSLambdaFunction, AWSLambdaSubscriber, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint };
|
|
541
|
+
export { AWSLambdaFunction, AWSLambdaSubscriber, AWSScheduledFunction, AmazonApiGatewayV1Endpoint, AmazonApiGatewayV2Endpoint };
|
|
739
542
|
//# sourceMappingURL=aws.mjs.map
|