@exabugs/dynamodb-client 1.3.0 → 1.3.2
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 +18 -0
- package/dist/server/handler.cjs +19 -16
- package/dist/server/handler.cjs.map +3 -3
- package/dist/server/handler.d.ts.map +1 -1
- package/dist/server/handler.js +7 -1
- package/dist/server/handler.js.map +1 -1
- package/dist/server/operations/find/nearQuery.d.ts.map +1 -1
- package/dist/server/operations/find/nearQuery.js +2 -3
- package/dist/server/operations/find/nearQuery.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAqBlF;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,
|
|
1
|
+
{"version":3,"file":"handler.d.ts","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAqBlF;;;;;;;;GAQG;AACH,wBAAsB,OAAO,CAAC,KAAK,EAAE,sBAAsB,GAAG,OAAO,CAAC,uBAAuB,CAAC,CAkD7F"}
|
package/dist/server/handler.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { createLogger } from '../shared/index.js';
|
|
2
1
|
import { HTTP_STATUS } from '../shared/constants/http.js';
|
|
2
|
+
import { createLogger } from '../shared/index.js';
|
|
3
3
|
import { executeOperation } from './operations/operationDispatcher.js';
|
|
4
4
|
import { handleAuthentication } from './utils/authHandler.js';
|
|
5
5
|
import { handleError } from './utils/errorHandler.js';
|
|
@@ -35,6 +35,12 @@ export async function handler(event) {
|
|
|
35
35
|
if (event.requestContext.http.method === 'OPTIONS') {
|
|
36
36
|
return createCorsResponse(HTTP_STATUS.OK);
|
|
37
37
|
}
|
|
38
|
+
// バージョンエンドポイント(GET /version)
|
|
39
|
+
if (event.requestContext.http.method === 'GET' &&
|
|
40
|
+
event.requestContext.http.path === '/version') {
|
|
41
|
+
const version = process.env.DYNAMODB_CLIENT_VERSION || '1.3.2';
|
|
42
|
+
return createSuccessResponse({ version, timestamp: new Date().toISOString() }, requestId);
|
|
43
|
+
}
|
|
38
44
|
// POSTメソッドのみ許可
|
|
39
45
|
if (event.requestContext.http.method !== 'POST') {
|
|
40
46
|
throw new Error('Only POST method is allowed');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../src/server/handler.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEvF;;GAEG;AACH,MAAM,MAAM,GAAG,YAAY,CAAC;IAC1B,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAG,OAAO,CAAC,GAAG,CAAC,SAAiD,IAAI,MAAM;CAChF,CAAC,CAAC;AAEH,6BAA6B;AAC7B,MAAM,CAAC,IAAI,CAAC,8DAA8D,CAAC,CAAC;AAE5E;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAAC,KAA6B;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,cAAc,CAAC,SAAS,CAAC;IAEjD,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;QAC9B,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM;QACxC,IAAI,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI;KACrC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,oBAAoB;QACpB,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACnD,OAAO,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5C,CAAC;QAED,6BAA6B;QAC7B,IACE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK;YAC1C,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,EAC7C,CAAC;YACD,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,IAAI,OAAO,CAAC;YAC/D,OAAO,qBAAqB,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QAC5F,CAAC;QAED,eAAe;QACf,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAChD,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QAED,OAAO;QACP,MAAM,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAE7C,mCAAmC;QACnC,MAAM,OAAO,GAAG,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAE7C,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAC5B,SAAS;YACT,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,QAAQ,EAAE,OAAO,CAAC,QAAQ;SAC3B,CAAC,CAAC;QAEH,QAAQ;QACR,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAE1D,aAAa;QACb,OAAO,qBAAqB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,YAAY;QACZ,OAAO,WAAW,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACvC,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nearQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/nearQuery.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAS1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,
|
|
1
|
+
{"version":3,"file":"nearQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/nearQuery.ts"],"names":[],"mappings":"AAKA,OAAO,EAA0B,KAAK,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAS1F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAO7C;;;;;;;;;GASG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CAuGrB"}
|
|
@@ -28,19 +28,18 @@ export async function executeNearQuery(resource, fieldName, nearQuery, limit, re
|
|
|
28
28
|
nearQuery,
|
|
29
29
|
limit,
|
|
30
30
|
});
|
|
31
|
-
// GeoHashフィールド名を決定
|
|
32
|
-
const geohashFieldName = `${fieldName}_geohash`;
|
|
33
31
|
// DynamoDBから検索する関数
|
|
34
32
|
const searchFunction = async (geohashPrefix) => {
|
|
35
33
|
const dbClient = getDBClient();
|
|
36
34
|
const tableName = getTableName();
|
|
37
35
|
// シャドウレコードを検索
|
|
36
|
+
// フィールド名をそのまま使用(例: location#xn74rnmx#id#...)
|
|
38
37
|
const queryResult = await executeDynamoDBOperation(() => dbClient.send(new QueryCommand({
|
|
39
38
|
TableName: tableName,
|
|
40
39
|
KeyConditionExpression: 'PK = :pk AND begins_with(SK, :skPrefix)',
|
|
41
40
|
ExpressionAttributeValues: {
|
|
42
41
|
':pk': resource,
|
|
43
|
-
':skPrefix': `${
|
|
42
|
+
':skPrefix': `${fieldName}#${geohashPrefix}`,
|
|
44
43
|
},
|
|
45
44
|
ConsistentRead: false, // シャドウレコードは結果整合性で十分
|
|
46
45
|
})), 'Query');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nearQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/nearQuery.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,sBAAsB,EAAkB,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,wBAAwB,EACxB,kBAAkB,EAClB,WAAW,EACX,YAAY,GACb,MAAM,yBAAyB,CAAC;AAGjC,MAAM,MAAM,GAAG,YAAY,CAAC;IAC1B,OAAO,EAAE,YAAY;IACrB,KAAK,EAAG,OAAO,CAAC,GAAG,CAAC,SAAiD,IAAI,MAAM;CAChF,CAAC,CAAC;AAEH;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,QAAgB,EAChB,SAAiB,EACjB,SAAoB,EACpB,KAAa,EACb,SAAiB;IAEjB,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE;QACpC,SAAS;QACT,QAAQ;QACR,SAAS;QACT,SAAS;QACT,KAAK;KACN,CAAC,CAAC;IAEH,mBAAmB;IACnB,MAAM,
|
|
1
|
+
{"version":3,"file":"nearQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/nearQuery.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@exabugs/dynamodb-client",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.2",
|
|
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",
|