@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.
- package/CHANGELOG.md +44 -1
- package/dist/server/handler.cjs +5 -9
- package/dist/server/handler.cjs.map +2 -2
- package/dist/server/operations/insertOne.d.ts.map +1 -1
- package/dist/server/operations/insertOne.js +6 -10
- package/dist/server/operations/insertOne.js.map +1 -1
- package/dist/shadows/schema.d.ts +5 -2
- package/dist/shadows/schema.d.ts.map +1 -1
- package/package.json +1 -1
- package/terraform/outputs.tf +0 -5
|
@@ -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;
|
|
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,
|
|
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
|
-
//
|
|
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:
|
|
71
|
+
shadowCount: shadowRecords.length,
|
|
76
72
|
});
|
|
77
|
-
//
|
|
78
|
-
return
|
|
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,
|
|
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"}
|
package/dist/shadows/schema.d.ts
CHANGED
|
@@ -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
|
|
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.
|
|
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",
|
package/terraform/outputs.tf
CHANGED