@exabugs/dynamodb-client 1.0.1 → 1.0.3
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 +35 -0
- package/dist/server/handler.cjs +34 -41
- package/dist/server/handler.cjs.map +2 -2
- package/dist/server/operations/find/idQuery.d.ts +0 -5
- package/dist/server/operations/find/idQuery.d.ts.map +1 -1
- package/dist/server/operations/find/idQuery.js +3 -3
- package/dist/server/operations/find/idQuery.js.map +1 -1
- package/dist/server/operations/find/shadowQuery.d.ts +0 -5
- package/dist/server/operations/find/shadowQuery.d.ts.map +1 -1
- package/dist/server/operations/find/shadowQuery.js +9 -9
- package/dist/server/operations/find/shadowQuery.js.map +1 -1
- package/dist/server/operations/find/types.d.ts +1 -8
- package/dist/server/operations/find/types.d.ts.map +1 -1
- package/dist/server/operations/find/types.js +0 -3
- package/dist/server/operations/find/types.js.map +1 -1
- package/dist/server/operations/find/utils.js +16 -16
- package/dist/server/operations/find/utils.js.map +1 -1
- package/dist/server/utils/filter.d.ts +6 -6
- package/dist/server/utils/filter.d.ts.map +1 -1
- package/dist/server/utils/filter.js +28 -28
- package/dist/server/utils/filter.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/idQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"idQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/idQuery.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAQnE;;;;;;;GAOG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CAmBrB"}
|
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { QueryCommand } from '@aws-sdk/lib-dynamodb';
|
|
7
7
|
import { createLogger } from '../../../shared/index.js';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { executeDynamoDBOperation, extractCleanRecord, getDBClient, getTableName, } from '../../utils/dynamodb.js';
|
|
9
|
+
import { decodeNextToken, encodeNextToken } from '../../utils/pagination.js';
|
|
10
10
|
import { matchesAllFilters } from './utils.js';
|
|
11
11
|
const logger = createLogger({
|
|
12
12
|
service: 'id-query',
|
|
@@ -31,7 +31,7 @@ export async function executeIdQuery(resource, normalizedParams, requestId) {
|
|
|
31
31
|
});
|
|
32
32
|
// 特定のIDフィルターがある場合の処理
|
|
33
33
|
const idFilter = parsedFilters.find((f) => f.parsed.field === 'id');
|
|
34
|
-
if (idFilter && idFilter.parsed.operator === 'eq') {
|
|
34
|
+
if (idFilter && idFilter.parsed.operator === '$eq') {
|
|
35
35
|
return await executeSpecificIdQuery(resource, String(idFilter.value), requestId);
|
|
36
36
|
}
|
|
37
37
|
// 全レコード取得の場合の処理
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/idQuery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"idQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/idQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/shadowQuery.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"shadowQuery.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/shadowQuery.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAqB,MAAM,YAAY,CAAC;AAQtF;;;;;;;GAOG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,gBAAgB,EAAE,oBAAoB,EACtC,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,UAAU,CAAC,CAgGrB"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
*
|
|
4
4
|
* sort.field != 'id'の場合の通常のシャドウレコードクエリを担当します。
|
|
5
5
|
*/
|
|
6
|
-
import {
|
|
7
|
-
import { createLogger } from '../../../shared/index.js';
|
|
6
|
+
import { BatchGetCommand, QueryCommand } from '@aws-sdk/lib-dynamodb';
|
|
8
7
|
import { NUMBER_FORMAT } from '../../../shared/constants/formatting.js';
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
8
|
+
import { createLogger } from '../../../shared/index.js';
|
|
9
|
+
import { executeDynamoDBOperation, extractCleanRecord, getDBClient, getTableName, } from '../../utils/dynamodb.js';
|
|
10
|
+
import { decodeNextToken, encodeNextToken } from '../../utils/pagination.js';
|
|
11
11
|
import { findOptimizableFilter, matchesAllFilters } from './utils.js';
|
|
12
12
|
const logger = createLogger({
|
|
13
13
|
service: 'shadow-query',
|
|
@@ -156,7 +156,7 @@ function buildKeyCondition(resource, sortField, optimizableFilter) {
|
|
|
156
156
|
const encodedValue = encodeValueForShadowSK(value, type);
|
|
157
157
|
const skValue = `${sortField}#${encodedValue}`;
|
|
158
158
|
switch (operator) {
|
|
159
|
-
case 'eq':
|
|
159
|
+
case '$eq':
|
|
160
160
|
return {
|
|
161
161
|
keyConditionExpression: 'PK = :pk AND begins_with(SK, :skValue)',
|
|
162
162
|
expressionAttributeValues: {
|
|
@@ -164,7 +164,7 @@ function buildKeyCondition(resource, sortField, optimizableFilter) {
|
|
|
164
164
|
':skValue': `${skValue}#id#`,
|
|
165
165
|
},
|
|
166
166
|
};
|
|
167
|
-
case 'gt':
|
|
167
|
+
case '$gt':
|
|
168
168
|
return {
|
|
169
169
|
keyConditionExpression: 'PK = :pk AND SK > :skValue',
|
|
170
170
|
expressionAttributeValues: {
|
|
@@ -172,7 +172,7 @@ function buildKeyCondition(resource, sortField, optimizableFilter) {
|
|
|
172
172
|
':skValue': `${skValue}#id#~`,
|
|
173
173
|
},
|
|
174
174
|
};
|
|
175
|
-
case 'gte':
|
|
175
|
+
case '$gte':
|
|
176
176
|
return {
|
|
177
177
|
keyConditionExpression: 'PK = :pk AND SK >= :skValue',
|
|
178
178
|
expressionAttributeValues: {
|
|
@@ -180,7 +180,7 @@ function buildKeyCondition(resource, sortField, optimizableFilter) {
|
|
|
180
180
|
':skValue': `${skValue}#id#`,
|
|
181
181
|
},
|
|
182
182
|
};
|
|
183
|
-
case 'lt':
|
|
183
|
+
case '$lt':
|
|
184
184
|
return {
|
|
185
185
|
keyConditionExpression: 'PK = :pk AND begins_with(SK, :skPrefix) AND SK < :skValue',
|
|
186
186
|
expressionAttributeValues: {
|
|
@@ -189,7 +189,7 @@ function buildKeyCondition(resource, sortField, optimizableFilter) {
|
|
|
189
189
|
':skValue': `${skValue}#id#`,
|
|
190
190
|
},
|
|
191
191
|
};
|
|
192
|
-
case 'lte':
|
|
192
|
+
case '$lte':
|
|
193
193
|
return {
|
|
194
194
|
keyConditionExpression: 'PK = :pk AND begins_with(SK, :skPrefix) AND SK <= :skValue',
|
|
195
195
|
expressionAttributeValues: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shadowQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/shadowQuery.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"shadowQuery.js","sourceRoot":"","sources":["../../../../src/server/operations/find/shadowQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Find操作の型定義
|
|
3
3
|
*/
|
|
4
4
|
import type { FindParams, FindResult } from '../../types.js';
|
|
5
|
+
import type { ParsedFilterField } from '../../utils/filter.js';
|
|
5
6
|
/**
|
|
6
7
|
* 解析済みフィルター条件
|
|
7
8
|
*/
|
|
@@ -9,14 +10,6 @@ export interface ParsedFilter {
|
|
|
9
10
|
parsed: ParsedFilterField;
|
|
10
11
|
value: unknown;
|
|
11
12
|
}
|
|
12
|
-
/**
|
|
13
|
-
* フィルターフィールドの解析結果
|
|
14
|
-
*/
|
|
15
|
-
export interface ParsedFilterField {
|
|
16
|
-
field: string;
|
|
17
|
-
operator: string;
|
|
18
|
-
type?: string;
|
|
19
|
-
}
|
|
20
13
|
/**
|
|
21
14
|
* 最適化可能なフィルター条件
|
|
22
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/types.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/server/operations/find/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,UAAU,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,GAAG,CAAC;IAClB,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE;QACV,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,aAAa,EAAE,YAAY,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,GAAG,EAAE,CAAC;IACb,QAAQ,EAAE;QACR,WAAW,EAAE,OAAO,CAAC;QACrB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAGD,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/server/operations/find/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/server/operations/find/types.ts"],"names":[],"mappings":""}
|
|
@@ -43,8 +43,8 @@ export function normalizeFindParams(config, resource, params) {
|
|
|
43
43
|
* フィルター条件を解析する
|
|
44
44
|
*
|
|
45
45
|
* 2つの形式をサポート:
|
|
46
|
-
* 1. フィールド名に演算子を含める形式: { "id
|
|
47
|
-
* 2. ネストされたオブジェクト形式: { id: { in: ["value1", "value2"] } }
|
|
46
|
+
* 1. フィールド名に演算子を含める形式: { "id:$in": ["value1", "value2"] }
|
|
47
|
+
* 2. ネストされたオブジェクト形式: { id: { $in: ["value1", "value2"] } }
|
|
48
48
|
*
|
|
49
49
|
* @param filter - フィルター条件
|
|
50
50
|
* @returns 解析済みフィルター条件の配列
|
|
@@ -58,14 +58,14 @@ function parseFilters(filter) {
|
|
|
58
58
|
try {
|
|
59
59
|
// 値がオブジェクトの場合、ネストされた演算子形式として処理
|
|
60
60
|
if (value && typeof value === 'object' && !Array.isArray(value)) {
|
|
61
|
-
// { id: { in: ["value1", "value2"] } } 形式
|
|
61
|
+
// { id: { $in: ["value1", "value2"] } } 形式
|
|
62
62
|
for (const [operator, operatorValue] of Object.entries(value)) {
|
|
63
63
|
const parsed = parseFilterField(`${fieldKey}:${operator}`);
|
|
64
64
|
parsedFilters.push({ parsed, value: operatorValue });
|
|
65
65
|
}
|
|
66
66
|
}
|
|
67
67
|
else {
|
|
68
|
-
// { "id
|
|
68
|
+
// { "id:$in": ["value1", "value2"] } 形式または { id: "value" } 形式
|
|
69
69
|
const parsed = parseFilterField(fieldKey);
|
|
70
70
|
parsedFilters.push({ parsed, value });
|
|
71
71
|
}
|
|
@@ -106,35 +106,35 @@ export function matchesAllFilters(record, parsedFilters) {
|
|
|
106
106
|
const recordValue = record[field];
|
|
107
107
|
const filterValue = filter.value;
|
|
108
108
|
switch (operator) {
|
|
109
|
-
case 'eq':
|
|
109
|
+
case '$eq':
|
|
110
110
|
return recordValue === filterValue;
|
|
111
|
-
case 'ne':
|
|
111
|
+
case '$ne':
|
|
112
112
|
return recordValue !== filterValue;
|
|
113
|
-
case 'gt':
|
|
113
|
+
case '$gt':
|
|
114
114
|
return recordValue != null && recordValue > filterValue;
|
|
115
|
-
case 'gte':
|
|
115
|
+
case '$gte':
|
|
116
116
|
return recordValue != null && recordValue >= filterValue;
|
|
117
|
-
case 'lt':
|
|
117
|
+
case '$lt':
|
|
118
118
|
return recordValue != null && recordValue < filterValue;
|
|
119
|
-
case 'lte':
|
|
119
|
+
case '$lte':
|
|
120
120
|
return recordValue != null && recordValue <= filterValue;
|
|
121
|
-
case 'in':
|
|
121
|
+
case '$in':
|
|
122
122
|
return Array.isArray(filterValue) && filterValue.includes(recordValue);
|
|
123
|
-
case 'nin':
|
|
123
|
+
case '$nin':
|
|
124
124
|
return Array.isArray(filterValue) && !filterValue.includes(recordValue);
|
|
125
|
-
case 'starts':
|
|
125
|
+
case '$starts':
|
|
126
126
|
return (typeof recordValue === 'string' &&
|
|
127
127
|
typeof filterValue === 'string' &&
|
|
128
128
|
recordValue.startsWith(filterValue));
|
|
129
|
-
case 'ends':
|
|
129
|
+
case '$ends':
|
|
130
130
|
return (typeof recordValue === 'string' &&
|
|
131
131
|
typeof filterValue === 'string' &&
|
|
132
132
|
recordValue.endsWith(filterValue));
|
|
133
|
-
case 'contains':
|
|
133
|
+
case '$contains':
|
|
134
134
|
return (typeof recordValue === 'string' &&
|
|
135
135
|
typeof filterValue === 'string' &&
|
|
136
136
|
recordValue.includes(filterValue));
|
|
137
|
-
case 'exists':
|
|
137
|
+
case '$exists':
|
|
138
138
|
return filterValue
|
|
139
139
|
? recordValue !== undefined && recordValue !== null
|
|
140
140
|
: recordValue === undefined || recordValue === null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/server/operations/find/utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACL,mBAAmB,IAAI,2BAA2B,EAClD,aAAa,IAAI,qBAAqB,GACvC,MAAM,2BAA2B,CAAC;AAGnC,MAAM,MAAM,GAAG,YAAY,CAAC;IAC1B,OAAO,EAAE,YAAY;IACrB,KAAK,EAAG,OAAO,CAAC,GAAG,CAAC,SAAiD,IAAI,MAAM;CAChF,CAAC,CAAC;AAEH;;;;GAIG;AACH,MAAM,UAAU,oBAAoB;IAClC,OAAO,eAAe,EAAE,CAAC;AAC3B,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAW,EACX,QAAgB,EAChB,MAAkB;IAElB,YAAY;IACZ,MAAM,IAAI,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IAElE,iBAAiB;IACjB,MAAM,UAAU,GAAG,2BAA2B,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAElE,aAAa;IACb,MAAM,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAElD,OAAO;QACL,IAAI;QACJ,UAAU;QACV,aAAa;KACd,CAAC;AACJ,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,MAAgC;IACpD,MAAM,aAAa,GAAmB,EAAE,CAAC;IAEzC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChD,OAAO,aAAa,CAAC;IACvB,CAAC;IAED,KAAK,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC;YACH,+BAA+B;YAC/B,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBAChE,
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/server/operations/find/utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
* 要件: 5.5, 7.1, 12.1-12.12
|
|
6
6
|
*/
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* フィルター演算子(MongoDB互換)
|
|
9
9
|
*
|
|
10
10
|
* 要件: 12.2
|
|
11
11
|
*/
|
|
12
|
-
export type FilterOperator = 'eq' | 'ne' | 'lt' | 'lte' | 'gt' | 'gte' | 'in' | 'nin' | 'starts' | 'ends' | 'contains' | 'exists';
|
|
12
|
+
export type FilterOperator = '$eq' | '$ne' | '$lt' | '$lte' | '$gt' | '$gte' | '$in' | '$nin' | '$starts' | '$ends' | '$contains' | '$exists';
|
|
13
13
|
/**
|
|
14
14
|
* フィルター型
|
|
15
15
|
*
|
|
@@ -44,13 +44,13 @@ export interface FilterExpressionResult {
|
|
|
44
44
|
* フィルターフィールド名をパースする
|
|
45
45
|
*
|
|
46
46
|
* フォーマット: `フィールド名:オペレータ:型`
|
|
47
|
-
* - オペレータ省略時: eq(デフォルト)
|
|
47
|
+
* - オペレータ省略時: $eq(デフォルト)
|
|
48
48
|
* - 型省略時: string(デフォルト)
|
|
49
49
|
*
|
|
50
50
|
* 例:
|
|
51
|
-
* - "status" → { field: "status", operator: "eq", type: "string" }
|
|
52
|
-
* - "priority
|
|
53
|
-
* - "priority
|
|
51
|
+
* - "status" → { field: "status", operator: "$eq", type: "string" }
|
|
52
|
+
* - "priority:$gte" → { field: "priority", operator: "$gte", type: "string" }
|
|
53
|
+
* - "priority:$gte:number" → { field: "priority", operator: "$gte", type: "number" }
|
|
54
54
|
*
|
|
55
55
|
* 要件: 12.1, 12.3, 12.4
|
|
56
56
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/server/utils/filter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB,
|
|
1
|
+
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/server/utils/filter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH,MAAM,MAAM,cAAc,GACtB,KAAK,GACL,KAAK,GACL,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,KAAK,GACL,MAAM,GACN,SAAS,GACT,OAAO,GACP,WAAW,GACX,SAAS,CAAC;AAEd;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAElE;;;;GAIG;AACH,MAAM,WAAW,iBAAiB;IAChC,gBAAgB;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU;IACV,QAAQ,EAAE,cAAc,CAAC;IACzB,WAAW;IACX,IAAI,EAAE,UAAU,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,2BAA2B;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,sCAAsC;IACtC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,iBAAiB,CAiCpE;AA6BD;;;;;;;;;;;GAWG;AACH,wBAAgB,2BAA2B,IAAI,sBAAsB,CAWpE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,sBAAsB,GAAG,IAAI,CA4B/B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,CAAC,sBAAsB,GAAG,IAAI,CAAC,EAAE,GACzC,sBAAsB,GAAG,IAAI,CA6B/B;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACrE,MAAM,EAAE,CAAC,EACT,MAAM,EAAE,sBAAsB,GAAG,IAAI,GACpC,CAAC,CAiBH;AAED;;;;;;;;GAQG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO,CAe9F;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,MAAM,EAAE,iBAAiB,EACzB,KAAK,EAAE,OAAO,GACb,OAAO,CA+BT;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,aAAa,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GAClE,OAAO,CAET;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,KAAK,CAAC;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,CAAC,GAClE;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAUtD"}
|
|
@@ -8,13 +8,13 @@
|
|
|
8
8
|
* フィルターフィールド名をパースする
|
|
9
9
|
*
|
|
10
10
|
* フォーマット: `フィールド名:オペレータ:型`
|
|
11
|
-
* - オペレータ省略時: eq(デフォルト)
|
|
11
|
+
* - オペレータ省略時: $eq(デフォルト)
|
|
12
12
|
* - 型省略時: string(デフォルト)
|
|
13
13
|
*
|
|
14
14
|
* 例:
|
|
15
|
-
* - "status" → { field: "status", operator: "eq", type: "string" }
|
|
16
|
-
* - "priority
|
|
17
|
-
* - "priority
|
|
15
|
+
* - "status" → { field: "status", operator: "$eq", type: "string" }
|
|
16
|
+
* - "priority:$gte" → { field: "priority", operator: "$gte", type: "string" }
|
|
17
|
+
* - "priority:$gte:number" → { field: "priority", operator: "$gte", type: "number" }
|
|
18
18
|
*
|
|
19
19
|
* 要件: 12.1, 12.3, 12.4
|
|
20
20
|
*
|
|
@@ -25,11 +25,11 @@
|
|
|
25
25
|
export function parseFilterField(fieldKey) {
|
|
26
26
|
const parts = fieldKey.split(':');
|
|
27
27
|
if (parts.length === 1) {
|
|
28
|
-
// "status" → { field: "status", operator: "eq", type: "string" }
|
|
29
|
-
return { field: parts[0], operator: 'eq', type: 'string' };
|
|
28
|
+
// "status" → { field: "status", operator: "$eq", type: "string" }
|
|
29
|
+
return { field: parts[0], operator: '$eq', type: 'string' };
|
|
30
30
|
}
|
|
31
31
|
if (parts.length === 2) {
|
|
32
|
-
// "priority
|
|
32
|
+
// "priority:$gte" → { field: "priority", operator: "$gte", type: "string" }
|
|
33
33
|
const operator = parts[1];
|
|
34
34
|
if (!isValidOperator(operator)) {
|
|
35
35
|
throw new Error(`Invalid filter operator: ${parts[1]}`);
|
|
@@ -37,7 +37,7 @@ export function parseFilterField(fieldKey) {
|
|
|
37
37
|
return { field: parts[0], operator, type: 'string' };
|
|
38
38
|
}
|
|
39
39
|
if (parts.length === 3) {
|
|
40
|
-
// "priority
|
|
40
|
+
// "priority:$gte:number" → { field: "priority", operator: "$gte", type: "number" }
|
|
41
41
|
const operator = parts[1];
|
|
42
42
|
const type = parts[2];
|
|
43
43
|
if (!isValidOperator(operator)) {
|
|
@@ -55,18 +55,18 @@ export function parseFilterField(fieldKey) {
|
|
|
55
55
|
*/
|
|
56
56
|
function isValidOperator(operator) {
|
|
57
57
|
return [
|
|
58
|
-
'eq',
|
|
59
|
-
'ne',
|
|
60
|
-
'lt',
|
|
61
|
-
'lte',
|
|
62
|
-
'gt',
|
|
63
|
-
'gte',
|
|
64
|
-
'in',
|
|
65
|
-
'nin',
|
|
66
|
-
'starts',
|
|
67
|
-
'ends',
|
|
68
|
-
'contains',
|
|
69
|
-
'exists',
|
|
58
|
+
'$eq',
|
|
59
|
+
'$ne',
|
|
60
|
+
'$lt',
|
|
61
|
+
'$lte',
|
|
62
|
+
'$gt',
|
|
63
|
+
'$gte',
|
|
64
|
+
'$in',
|
|
65
|
+
'$nin',
|
|
66
|
+
'$starts',
|
|
67
|
+
'$ends',
|
|
68
|
+
'$contains',
|
|
69
|
+
'$exists',
|
|
70
70
|
].includes(operator);
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
@@ -233,19 +233,19 @@ export function matchesFilter(record, parsed, value) {
|
|
|
233
233
|
const typedFilterValue = convertType(value, parsed.type);
|
|
234
234
|
// 演算子に応じた比較
|
|
235
235
|
switch (parsed.operator) {
|
|
236
|
-
case 'eq':
|
|
236
|
+
case '$eq':
|
|
237
237
|
return typedFieldValue === typedFilterValue;
|
|
238
|
-
case 'lt':
|
|
238
|
+
case '$lt':
|
|
239
239
|
return typedFieldValue < typedFilterValue;
|
|
240
|
-
case 'lte':
|
|
240
|
+
case '$lte':
|
|
241
241
|
return typedFieldValue <= typedFilterValue;
|
|
242
|
-
case 'gt':
|
|
242
|
+
case '$gt':
|
|
243
243
|
return typedFieldValue > typedFilterValue;
|
|
244
|
-
case 'gte':
|
|
244
|
+
case '$gte':
|
|
245
245
|
return typedFieldValue >= typedFilterValue;
|
|
246
|
-
case 'starts':
|
|
246
|
+
case '$starts':
|
|
247
247
|
return String(typedFieldValue).startsWith(String(typedFilterValue));
|
|
248
|
-
case 'ends':
|
|
248
|
+
case '$ends':
|
|
249
249
|
return String(typedFieldValue).endsWith(String(typedFilterValue));
|
|
250
250
|
default:
|
|
251
251
|
return false;
|
|
@@ -276,7 +276,7 @@ export function matchesAllFilters(record, parsedFilters) {
|
|
|
276
276
|
*/
|
|
277
277
|
export function findOptimizableFilter(sortField, parsedFilters) {
|
|
278
278
|
// Query可能な演算子
|
|
279
|
-
const queryableOperators = ['eq', 'lt', 'lte', 'gt', 'gte', 'starts'];
|
|
279
|
+
const queryableOperators = ['$eq', '$lt', '$lte', '$gt', '$gte', '$starts'];
|
|
280
280
|
// ソートフィールドと一致し、Query可能な演算子を持つフィルターを探す
|
|
281
281
|
return (parsedFilters.find((f) => f.parsed.field === sortField && queryableOperators.includes(f.parsed.operator)) || null);
|
|
282
282
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/server/utils/filter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAsDH;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAgB;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAElC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/server/utils/filter.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.0.
|
|
3
|
+
"version": "1.0.3",
|
|
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",
|