@takumi-stack/core 1.0.7 → 1.0.8

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@takumi-stack/core",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "author": "sinapsis.co",
5
5
  "license": "MIT",
6
6
  "dependencies": {
@@ -14,7 +14,7 @@
14
14
  "@aws-sdk/client-ssm": "^3.632.0",
15
15
  "@aws-sdk/client-sts": "^3.632.0",
16
16
  "@aws-sdk/lib-dynamodb": "^3.632.0",
17
- "@takumi-stack/sdk": "^1.0.9",
17
+ "@takumi-stack/sdk": "^1.0.10",
18
18
  "@types/node": "^22.3.0",
19
19
  "aws-cdk-lib": "^2.152.0",
20
20
  "aws-lambda": "^1.0.7",
@@ -6,4 +6,5 @@ export * from './event';
6
6
  export * from './queue';
7
7
  export * from './topic';
8
8
  export * from './scheduled';
9
+ export * from './streams';
9
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../prefab/compute/function/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../prefab/compute/function/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC"}
@@ -22,4 +22,5 @@ __exportStar(require("./event"), exports);
22
22
  __exportStar(require("./queue"), exports);
23
23
  __exportStar(require("./topic"), exports);
24
24
  __exportStar(require("./scheduled"), exports);
25
+ __exportStar(require("./streams"), exports);
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/compute/function/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,yCAAuB;AACvB,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AACxB,0CAAwB;AACxB,0CAAwB;AACxB,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../prefab/compute/function/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB;AACtB,yCAAuB;AACvB,4CAA0B;AAC1B,yCAAuB;AACvB,0CAAwB;AACxB,0CAAwB;AACxB,0CAAwB;AACxB,8CAA4B;AAC5B,4CAA0B"}
@@ -0,0 +1,17 @@
1
+ import { DynamoEventSourceProps } from 'aws-cdk-lib/aws-lambda-event-sources';
2
+ import { BaseCustomConfigs, Prefab, TakumiStack, PrefabPropsOverride } from '../../../../common';
3
+ import { FunctionConfigs, FunctionPrefab } from '../base';
4
+ import { DynamoTablePrefab } from '../../../database';
5
+ export type StreamsFunctionHandler = FunctionConfigs;
6
+ export type StreamsFunctionPrefabParams<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> = FunctionConfigs & {
7
+ name: string;
8
+ entryRootDirectory: string;
9
+ handler: StreamsFunctionHandler;
10
+ dynamoPrefab: DynamoTablePrefab<CustomConfigs>;
11
+ dynamoEventsSourceProps?: Partial<DynamoEventSourceProps>;
12
+ };
13
+ export declare class StreamsFunctionPrefab<CustomConfigs extends BaseCustomConfigs = BaseCustomConfigs> extends Prefab<StreamsFunctionPrefabParams<CustomConfigs>, CustomConfigs> {
14
+ readonly handler: FunctionPrefab<CustomConfigs>;
15
+ constructor(service: TakumiStack<CustomConfigs>, params: StreamsFunctionPrefabParams<CustomConfigs>, propsOverride?: PrefabPropsOverride<CustomConfigs>);
16
+ }
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../prefab/compute/function/streams/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AAEjG,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,MAAM,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAErD,MAAM,MAAM,2BAA2B,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,IAAI,eAAe,GAAG;IACvH,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,sBAAsB,CAAC;IAChC,YAAY,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC;IAC/C,uBAAuB,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,CAAC;CAC3D,CAAC;AAEF,qBAAa,qBAAqB,CAAC,aAAa,SAAS,iBAAiB,GAAG,iBAAiB,CAAE,SAAQ,MAAM,CAC5G,2BAA2B,CAAC,aAAa,CAAC,EAC1C,aAAa,CACd;IACC,SAAgB,OAAO,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;gBAGrD,OAAO,EAAE,WAAW,CAAC,aAAa,CAAC,EACnC,MAAM,EAAE,2BAA2B,CAAC,aAAa,CAAC,EAClD,aAAa,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC;CA+BrD"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StreamsFunctionPrefab = void 0;
4
+ const aws_lambda_event_sources_1 = require("aws-cdk-lib/aws-lambda-event-sources");
5
+ const common_1 = require("../../../../common");
6
+ const base_1 = require("../base");
7
+ const aws_lambda_1 = require("aws-cdk-lib/aws-lambda");
8
+ class StreamsFunctionPrefab extends common_1.Prefab {
9
+ handler;
10
+ constructor(service, params, propsOverride) {
11
+ super(StreamsFunctionPrefab.name, service, params, propsOverride);
12
+ this.handler = new base_1.FunctionPrefab(service, {
13
+ ...params,
14
+ name: params.name,
15
+ entryRootDirectory: params.entryRootDirectory,
16
+ ...params.handler,
17
+ appendEnvironment: {
18
+ TABLE: params.dynamoPrefab.table.tableName,
19
+ TAKUMI_FUNCTION_TYPE: 'STREAMS',
20
+ ...params.handler.appendEnvironment,
21
+ },
22
+ });
23
+ // Create evento to connect streams with lambda
24
+ const dynamoEventSource = new aws_lambda_event_sources_1.DynamoEventSource(params.dynamoPrefab.table, {
25
+ startingPosition: aws_lambda_1.StartingPosition.LATEST,
26
+ retryAttempts: 3,
27
+ ...params.dynamoEventsSourceProps
28
+ });
29
+ // Add event source to lambda
30
+ this.handler.lambdaFunction.addEventSource(dynamoEventSource);
31
+ // Add permissions
32
+ params.dynamoPrefab.table.grantStreamRead(this.handler.lambdaFunction);
33
+ params.dynamoPrefab.table.grantWriteData(this.handler.lambdaFunction);
34
+ }
35
+ }
36
+ exports.StreamsFunctionPrefab = StreamsFunctionPrefab;
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../prefab/compute/function/streams/index.ts"],"names":[],"mappings":";;;AAAA,mFAAiG;AAEjG,+CAAiG;AACjG,kCAA0D;AAE1D,uDAA0D;AAY1D,MAAa,qBAAmF,SAAQ,eAGvG;IACiB,OAAO,CAAgC;IAEvD,YACE,OAAmC,EACnC,MAAkD,EAClD,aAAkD;QAElD,KAAK,CAAC,qBAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAElE,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAc,CAAgB,OAAO,EAAE;YACxD,GAAG,MAAM;YACT,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;YAC7C,GAAG,MAAM,CAAC,OAAO;YACjB,iBAAiB,EAAE;gBACjB,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,SAAS;gBAC1C,oBAAoB,EAAE,SAAS;gBAC/B,GAAG,MAAM,CAAC,OAAO,CAAC,iBAAiB;aACpC;SACF,CAAC,CAAC;QAEH,+CAA+C;QAC/C,MAAM,iBAAiB,GAAG,IAAI,4CAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE;YACzE,gBAAgB,EAAE,6BAAgB,CAAC,MAAM;YACzC,aAAa,EAAE,CAAC;YAChB,GAAG,MAAM,CAAC,uBAAuB;SAClC,CAAC,CAAC;QAEH,6BAA6B;QAC7B,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC;QAE9D,kBAAkB;QAClB,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,CAAC,YAAY,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAExE,CAAC;CACF;AAxCD,sDAwCC"}