@exabugs/dynamodb-client 0.3.2 → 0.3.4

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.
@@ -1 +1 @@
1
- {"version":3,"file":"insertOne.d.ts","sourceRoot":"","sources":["../../../src/server/operations/insertOne.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAYpE;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAyE1B"}
1
+ {"version":3,"file":"insertOne.d.ts","sourceRoot":"","sources":["../../../src/server/operations/insertOne.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAWpE;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC,CAqE1B"}
@@ -7,7 +7,7 @@
7
7
  import { PutCommand } from '@aws-sdk/lib-dynamodb';
8
8
  import { createLogger, generateShadowRecords, getShadowConfig, ulid, } from '../../index.js';
9
9
  import { generateMainRecordSK } from '../shadow/index.js';
10
- import { executeDynamoDBOperation, getDBClient, getTableName, removeShadowKeys, } from '../utils/dynamodb.js';
10
+ import { executeDynamoDBOperation, getDBClient, getTableName, } from '../utils/dynamodb.js';
11
11
  import { addCreateTimestamps } from '../utils/timestamps.js';
12
12
  import { addTTL } from '../utils/ttl.js';
13
13
  const logger = createLogger({ service: 'records-lambda' });
@@ -46,19 +46,15 @@ export async function handleInsertOne(resource, params, requestId) {
46
46
  const shadowConfig = getShadowConfig();
47
47
  // シャドーレコードを生成(自動フィールド検出)
48
48
  const shadowRecords = generateShadowRecords(recordData, resource, shadowConfig);
49
- const shadowKeys = shadowRecords.map((shadow) => shadow.SK);
50
49
  // メインレコードのSKを生成
51
50
  const mainSK = generateMainRecordSK(id);
52
- // メインレコードを保存(__shadowKeysを含む)
51
+ // メインレコードを保存
53
52
  await executeDynamoDBOperation(() => dbClient.send(new PutCommand({
54
53
  TableName: tableName,
55
54
  Item: {
56
55
  PK: resource,
57
56
  SK: mainSK,
58
- data: {
59
- ...recordData,
60
- __shadowKeys: shadowKeys,
61
- },
57
+ data: recordData,
62
58
  },
63
59
  })), 'PutItem');
64
60
  // シャドーレコードを保存
@@ -72,9 +68,9 @@ export async function handleInsertOne(resource, params, requestId) {
72
68
  requestId,
73
69
  resource,
74
70
  id,
75
- shadowCount: shadowKeys.length,
71
+ shadowCount: shadowRecords.length,
76
72
  });
77
- // __shadowKeysを除外してレスポンスを返す
78
- return removeShadowKeys(recordData);
73
+ // レコードデータを返す
74
+ return recordData;
79
75
  }
80
76
  //# sourceMappingURL=insertOne.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"insertOne.js","sourceRoot":"","sources":["../../../src/server/operations/insertOne.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,IAAI,GACL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,YAAY,EACZ,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,MAAuB,EACvB,SAAiB;IAEjB,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;QAClC,SAAS;QACT,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,mCAAmC;IACnC,MAAM,EAAE,GAAI,MAAM,CAAC,IAAI,CAAC,EAAyB,IAAI,IAAI,EAAE,CAAC;IAE5D,gCAAgC;IAChC,IAAI,UAAU,GAA4B,mBAAmB,CAAC;QAC5D,GAAG,MAAM,CAAC,IAAI;QACd,EAAE;KACH,CAAC,CAAC;IAEH,mBAAmB;IACnB,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE1C,2BAA2B;IAC3B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,yBAAyB;IACzB,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChF,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAE5D,gBAAgB;IAChB,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAExC,8BAA8B;IAC9B,MAAM,wBAAwB,CAC5B,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CACX,IAAI,UAAU,CAAC;QACb,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE;YACJ,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,MAAM;YACV,IAAI,EAAE;gBACJ,GAAG,UAAU;gBACb,YAAY,EAAE,UAAU;aACzB;SACF;KACF,CAAC,CACH,EACH,SAAS,CACV,CAAC;IAEF,cAAc;IACd,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,wBAAwB,CAC5B,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CACX,IAAI,UAAU,CAAC;YACb,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,YAAY;SACnB,CAAC,CACH,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACjC,SAAS;QACT,QAAQ;QACR,EAAE;QACF,WAAW,EAAE,UAAU,CAAC,MAAM;KAC/B,CAAC,CAAC;IAEH,4BAA4B;IAC5B,OAAO,gBAAgB,CAAC,UAAU,CAAC,CAAC;AACtC,CAAC"}
1
+ {"version":3,"file":"insertOne.js","sourceRoot":"","sources":["../../../src/server/operations/insertOne.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,eAAe,EACf,IAAI,GACL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,OAAO,EACL,wBAAwB,EACxB,WAAW,EACX,YAAY,GACb,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAE3D;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,QAAgB,EAChB,MAAuB,EACvB,SAAiB;IAEjB,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;QAClC,SAAS;QACT,QAAQ;KACT,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;IAEjC,mCAAmC;IACnC,MAAM,EAAE,GAAI,MAAM,CAAC,IAAI,CAAC,EAAyB,IAAI,IAAI,EAAE,CAAC;IAE5D,gCAAgC;IAChC,IAAI,UAAU,GAA4B,mBAAmB,CAAC;QAC5D,GAAG,MAAM,CAAC,IAAI;QACd,EAAE;KACH,CAAC,CAAC;IAEH,mBAAmB;IACnB,UAAU,GAAG,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAE1C,2BAA2B;IAC3B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IAEvC,yBAAyB;IACzB,MAAM,aAAa,GAAG,qBAAqB,CAAC,UAAU,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAEhF,gBAAgB;IAChB,MAAM,MAAM,GAAG,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAExC,aAAa;IACb,MAAM,wBAAwB,CAC5B,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CACX,IAAI,UAAU,CAAC;QACb,SAAS,EAAE,SAAS;QACpB,IAAI,EAAE;YACJ,EAAE,EAAE,QAAQ;YACZ,EAAE,EAAE,MAAM;YACV,IAAI,EAAE,UAAU;SACjB;KACF,CAAC,CACH,EACH,SAAS,CACV,CAAC;IAEF,cAAc;IACd,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,wBAAwB,CAC5B,GAAG,EAAE,CACH,QAAQ,CAAC,IAAI,CACX,IAAI,UAAU,CAAC;YACb,SAAS,EAAE,SAAS;YACpB,IAAI,EAAE,YAAY;SACnB,CAAC,CACH,EACH,SAAS,CACV,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE;QACjC,SAAS;QACT,QAAQ;QACR,EAAE;QACF,WAAW,EAAE,aAAa,CAAC,MAAM;KAClC,CAAC,CAAC;IAEH,aAAa;IACb,OAAO,UAAU,CAAC;AACpB,CAAC"}
@@ -18,14 +18,17 @@ export interface ShadowFieldDefinition {
18
18
  * リソーススキーマの定義
19
19
  *
20
20
  * @template T - リソースの型(例: Article, Task など)
21
+ *
22
+ * @exabugs/dynamodb-client v0.3.x では、シャドウ設定は環境変数ベースになりました。
23
+ * shadows プロパティは後方互換性のために残されていますが、省略可能です。
21
24
  */
22
25
  export interface ResourceSchema<T = any> {
23
26
  /** リソース名(複数形、例: "articles", "tasks") */
24
27
  resource: string;
25
28
  /** リソースの型定義(型チェック用) */
26
29
  type: T;
27
- /** シャドー設定 */
28
- shadows: {
30
+ /** シャドー設定(省略可、v0.3.x では不要) */
31
+ shadows?: {
29
32
  /** ソート可能なフィールドの定義 */
30
33
  sortableFields: Record<string, ShadowFieldDefinition>;
31
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/shadows/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;CACvB;AAED;;;;GAIG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IACrC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IAEjB,uBAAuB;IACvB,IAAI,EAAE,CAAC,CAAC;IAER,aAAa;IACb,OAAO,EAAE;QACP,qBAAqB;QACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;KACvD,CAAC;IAEF,2BAA2B;IAC3B,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF,kBAAkB;IAClB,GAAG,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe;IACf,QAAQ,EAAE;QACR,oBAAoB;QACpB,UAAU,EAAE;YACV,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IAEF,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC3C"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/shadows/schema.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IACrC,wCAAwC;IACxC,QAAQ,EAAE,MAAM,CAAC;IAEjB,uBAAuB;IACvB,IAAI,EAAE,CAAC,CAAC;IAER,8BAA8B;IAC9B,OAAO,CAAC,EAAE;QACR,qBAAqB;QACrB,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;KACvD,CAAC;IAEF,2BAA2B;IAC3B,YAAY,CAAC,EAAE;QACb,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IAEF,kBAAkB;IAClB,GAAG,CAAC,EAAE;QACJ,IAAI,EAAE,MAAM,CAAC;KACd,CAAC;CACH;AAED;;;;;GAKG;AACH,MAAM,WAAW,oBAAoB;IACnC,eAAe;IACf,QAAQ,EAAE;QACR,oBAAoB;QACpB,UAAU,EAAE;YACV,SAAS,EAAE,MAAM,CAAC;YAClB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC;KACH,CAAC;IAEF,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC3C"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@exabugs/dynamodb-client",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "DynamoDB Single-Table Client SDK with MongoDB-like API, Shadow Records, and Lambda implementation for serverless applications",
5
5
  "author": "exabugs",
6
6
  "license": "MIT",
@@ -49,8 +49,3 @@ output "function_url_id" {
49
49
  description = "Lambda Function URL ID"
50
50
  value = aws_lambda_function_url.records.url_id
51
51
  }
52
-
53
- output "shadow_config" {
54
- description = "シャドー設定(base64エンコード)"
55
- value = var.shadow_config
56
- }