@exabugs/dynamodb-client 0.1.1 → 0.1.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 +16 -0
- package/README.md +211 -187
- package/dist/client/Collection.d.ts +13 -6
- package/dist/client/Collection.d.ts.map +1 -1
- package/dist/client/Collection.js +1 -1
- package/dist/client/Collection.js.map +1 -1
- package/dist/client/index.iam.d.ts +1 -1
- package/dist/client/index.iam.d.ts.map +1 -1
- package/dist/client/index.iam.js.map +1 -1
- package/dist/scripts/generate-shadow-config.d.ts +16 -0
- package/dist/scripts/generate-shadow-config.d.ts.map +1 -0
- package/dist/scripts/generate-shadow-config.js +161 -0
- package/dist/scripts/generate-shadow-config.js.map +1 -0
- package/dist/server/handler.cjs +2 -2
- package/dist/shadows/generator.d.ts +14 -3
- package/dist/shadows/generator.d.ts.map +1 -1
- package/dist/shadows/generator.js +19 -0
- package/dist/shadows/generator.js.map +1 -1
- package/dist/shadows/index.d.ts +3 -2
- package/dist/shadows/index.d.ts.map +1 -1
- package/dist/shadows/index.js +1 -1
- package/dist/shadows/index.js.map +1 -1
- package/dist/shadows/schema.d.ts +62 -0
- package/dist/shadows/schema.d.ts.map +1 -0
- package/dist/shadows/schema.js +8 -0
- package/dist/shadows/schema.js.map +1 -0
- package/dist/shadows/types.d.ts +1 -5
- package/dist/shadows/types.d.ts.map +1 -1
- package/package.json +7 -4
- package/terraform/examples/advanced/README.md +0 -129
- package/terraform/examples/advanced/main.tf +0 -158
- package/terraform/examples/advanced/shadow.config.json +0 -35
- package/terraform/examples/advanced/variables.tf +0 -28
- package/terraform/examples/basic/README.md +0 -53
- package/terraform/examples/basic/main.tf +0 -99
- package/terraform/examples/basic/variables.tf +0 -17
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.1.2] - 2024-11-30
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
|
|
14
|
+
- Boolean type support for shadow fields
|
|
15
|
+
- Added `'boolean'` to `ShadowFieldType`
|
|
16
|
+
- Added `formatBoolean()` function for boolean value formatting
|
|
17
|
+
- Boolean values are formatted as `'true'` or `'false'` strings
|
|
18
|
+
- Full test coverage for boolean shadow records
|
|
19
|
+
|
|
20
|
+
### Changed
|
|
21
|
+
|
|
22
|
+
- Updated `formatFieldValue()` to handle boolean type
|
|
23
|
+
- Updated `generateShadowSK()` to support boolean values
|
|
24
|
+
- Exported `formatBoolean` from shadows module
|
|
25
|
+
|
|
10
26
|
## [0.1.0] - 2024-11-29
|
|
11
27
|
|
|
12
28
|
### Added
|
package/README.md
CHANGED
|
@@ -1,267 +1,291 @@
|
|
|
1
|
-
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# 🚀 DynamoDB Client SDK
|
|
4
|
+
|
|
5
|
+
**MongoDB-like API for DynamoDB with Single-Table Design**
|
|
2
6
|
|
|
3
7
|
[](https://github.com/exabugs/dynamodb-client/actions/workflows/ci.yml)
|
|
8
|
+
[](https://codecov.io/gh/exabugs/dynamodb-client)
|
|
4
9
|
[](https://www.npmjs.com/package/@exabugs/dynamodb-client)
|
|
10
|
+
[](https://opensource.org/licenses/MIT)
|
|
11
|
+
[](https://nodejs.org/)
|
|
5
12
|
|
|
6
|
-
|
|
13
|
+
[Features](#-features) •
|
|
14
|
+
[Installation](#-installation) •
|
|
15
|
+
[Quick Start](#-quick-start) •
|
|
16
|
+
[Documentation](#-documentation) •
|
|
17
|
+
[Contributing](#-contributing)
|
|
7
18
|
|
|
8
|
-
|
|
19
|
+
</div>
|
|
9
20
|
|
|
10
|
-
|
|
11
|
-
- 📦 Single-Table Design with Shadow Records
|
|
12
|
-
- 🔐 Multiple authentication methods (IAM, Cognito, Token)
|
|
13
|
-
- ⚡ Lambda function implementation included
|
|
14
|
-
- 🎨 react-admin integration
|
|
15
|
-
- 📝 TypeScript support
|
|
16
|
-
- 🏗️ Terraform modules for deployment
|
|
21
|
+
---
|
|
17
22
|
|
|
18
|
-
##
|
|
19
|
-
|
|
20
|
-
```bash
|
|
21
|
-
npm install @exabugs/dynamodb-client
|
|
22
|
-
# or
|
|
23
|
-
pnpm add @exabugs/dynamodb-client
|
|
24
|
-
# or
|
|
25
|
-
yarn add @exabugs/dynamodb-client
|
|
26
|
-
```
|
|
23
|
+
## ✨ Features
|
|
27
24
|
|
|
28
|
-
|
|
25
|
+
<table>
|
|
26
|
+
<tr>
|
|
27
|
+
<td width="50%">
|
|
29
28
|
|
|
30
|
-
###
|
|
29
|
+
### 🎯 Developer Experience
|
|
31
30
|
|
|
32
|
-
|
|
33
|
-
|
|
31
|
+
- **MongoDB-like API** - Familiar syntax for DynamoDB
|
|
32
|
+
- **TypeScript First** - Full type safety out of the box
|
|
33
|
+
- **Zero Config** - Works with sensible defaults
|
|
34
|
+
- **Terraform Ready** - Infrastructure as Code included
|
|
34
35
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
});
|
|
36
|
+
</td>
|
|
37
|
+
<td width="50%">
|
|
38
38
|
|
|
39
|
-
|
|
40
|
-
const collection = db.collection('articles');
|
|
39
|
+
### ⚡ Performance & Scale
|
|
41
40
|
|
|
42
|
-
|
|
43
|
-
|
|
41
|
+
- **Single-Table Design** - Optimized data modeling
|
|
42
|
+
- **Shadow Records** - Efficient sorting without GSIs
|
|
43
|
+
- **Lambda Native** - Serverless-first architecture
|
|
44
|
+
- **ARM64 Support** - Cost-optimized compute
|
|
44
45
|
|
|
45
|
-
|
|
46
|
-
|
|
46
|
+
</td>
|
|
47
|
+
</tr>
|
|
48
|
+
<tr>
|
|
49
|
+
<td width="50%">
|
|
47
50
|
|
|
48
|
-
|
|
49
|
-
await collection.updateOne({ id: article.id }, { $set: { status: 'published' } });
|
|
51
|
+
### 🔐 Authentication
|
|
50
52
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
- **IAM Roles** - Native AWS authentication
|
|
54
|
+
- **Cognito** - User pool integration
|
|
55
|
+
- **Custom Tokens** - Flexible auth strategies
|
|
56
|
+
- **OIDC + PKCE** - Secure browser flows
|
|
54
57
|
|
|
55
|
-
|
|
58
|
+
</td>
|
|
59
|
+
<td width="50%">
|
|
56
60
|
|
|
57
|
-
|
|
58
|
-
import { createHandler } from '@exabugs/dynamodb-client/server/handler';
|
|
61
|
+
### 🎨 Integrations
|
|
59
62
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
});
|
|
64
|
-
```
|
|
63
|
+
- **react-admin** - Admin UI out of the box
|
|
64
|
+
- **REST API** - Lambda Function URLs
|
|
65
|
+
- **Terraform** - Complete IaC modules
|
|
65
66
|
|
|
66
|
-
|
|
67
|
+
</td>
|
|
68
|
+
</tr>
|
|
69
|
+
</table>
|
|
67
70
|
|
|
68
|
-
|
|
69
|
-
- AWS Account (for DynamoDB and Lambda)
|
|
71
|
+
---
|
|
70
72
|
|
|
71
|
-
##
|
|
73
|
+
## 📦 Installation
|
|
72
74
|
|
|
73
75
|
```bash
|
|
74
|
-
#
|
|
75
|
-
npm install
|
|
76
|
+
# npm
|
|
77
|
+
npm install @exabugs/dynamodb-client
|
|
76
78
|
|
|
77
|
-
#
|
|
78
|
-
|
|
79
|
+
# pnpm (recommended)
|
|
80
|
+
pnpm add @exabugs/dynamodb-client
|
|
79
81
|
|
|
80
|
-
#
|
|
81
|
-
|
|
82
|
+
# yarn
|
|
83
|
+
yarn add @exabugs/dynamodb-client
|
|
84
|
+
```
|
|
82
85
|
|
|
83
|
-
|
|
84
|
-
npm run build
|
|
86
|
+
---
|
|
85
87
|
|
|
86
|
-
|
|
87
|
-
npm run lint
|
|
88
|
+
## 🏗️ Architecture
|
|
88
89
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
```mermaid
|
|
91
|
+
graph TB
|
|
92
|
+
subgraph "Client Applications"
|
|
93
|
+
A[React Admin]
|
|
94
|
+
B[Mobile App]
|
|
95
|
+
C[Custom App]
|
|
96
|
+
end
|
|
92
97
|
|
|
93
|
-
|
|
98
|
+
subgraph "AWS Lambda"
|
|
99
|
+
D[Lambda Function<br/>Function URL]
|
|
100
|
+
end
|
|
94
101
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
make deploy-stg # stg環境にデプロイ
|
|
110
|
-
make deploy-prd # prd環境にデプロイ
|
|
111
|
-
|
|
112
|
-
# インフラ操作
|
|
113
|
-
make infra-plan ENV=dev # Terraformプランを表示
|
|
114
|
-
make infra-apply ENV=dev # Terraformを適用
|
|
115
|
-
make infra-status # Terraform状態を表示
|
|
116
|
-
|
|
117
|
-
# Lambda操作
|
|
118
|
-
make invoke-fetch ENV=dev # Fetch Lambdaを実行
|
|
119
|
-
make logs-fetch ENV=dev # Fetch Lambdaのログを表示
|
|
120
|
-
make logs-records ENV=dev # Records Lambdaのログを表示
|
|
121
|
-
|
|
122
|
-
# その他
|
|
123
|
-
make shadow-config # shadow.config.jsonを再生成
|
|
102
|
+
subgraph "AWS DynamoDB"
|
|
103
|
+
E[(DynamoDB<br/>Single Table)]
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
A -->|HTTPS| D
|
|
107
|
+
B -->|HTTPS| D
|
|
108
|
+
C -->|HTTPS| D
|
|
109
|
+
D -->|AWS SDK| E
|
|
110
|
+
|
|
111
|
+
style A fill:#61dafb,stroke:#333,stroke-width:2px
|
|
112
|
+
style B fill:#61dafb,stroke:#333,stroke-width:2px
|
|
113
|
+
style C fill:#61dafb,stroke:#333,stroke-width:2px
|
|
114
|
+
style D fill:#ff9900,stroke:#333,stroke-width:2px
|
|
115
|
+
style E fill:#527fff,stroke:#333,stroke-width:2px
|
|
124
116
|
```
|
|
125
117
|
|
|
126
|
-
|
|
118
|
+
---
|
|
127
119
|
|
|
128
|
-
|
|
120
|
+
## 🚀 Quick Start & Examples
|
|
129
121
|
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
122
|
+
Get started in 3 steps: **Schema Definition → Deploy Infrastructure → Use Client**
|
|
123
|
+
|
|
124
|
+
### Complete Examples Available
|
|
125
|
+
|
|
126
|
+
We provide complete, working examples for every step:
|
|
127
|
+
|
|
128
|
+
| Example | What You'll Learn | Time |
|
|
129
|
+
| ------------------------------------------ | ---------------------------------------------------- | ------ |
|
|
130
|
+
| **[Schema](./examples/schema/)** | Define TypeScript schemas and generate shadow config | 5 min |
|
|
131
|
+
| **[Terraform](./examples/terraform/)** | Deploy Lambda + DynamoDB + Cognito to AWS | 10 min |
|
|
132
|
+
| **[Client](./examples/client/)** | Node.js CRUD operations with MongoDB-like API | 10 min |
|
|
133
|
+
| **[React Admin](./examples/react-admin/)** | Build complete admin UI with authentication | 15 min |
|
|
134
|
+
|
|
135
|
+
### Quick Example
|
|
136
|
+
|
|
137
|
+
```typescript
|
|
138
|
+
// 1. Define schema
|
|
139
|
+
export const MySchema: SchemaRegistryConfig = {
|
|
140
|
+
database: { name: 'myapp' },
|
|
141
|
+
resources: {
|
|
142
|
+
articles: {
|
|
143
|
+
resource: 'articles',
|
|
144
|
+
type: {} as Article,
|
|
145
|
+
shadows: { sortableFields: { title: { type: 'string' } } },
|
|
146
|
+
},
|
|
147
|
+
},
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// 2. Deploy with Terraform (see examples/terraform/)
|
|
151
|
+
// terraform apply
|
|
152
|
+
|
|
153
|
+
// 3. Use the client
|
|
154
|
+
const client = new DynamoClient(FUNCTION_URL);
|
|
155
|
+
const articles = client.db().collection('articles');
|
|
156
|
+
|
|
157
|
+
await articles.insertOne({ title: 'Hello DynamoDB' });
|
|
158
|
+
const article = await articles.findOne({ title: 'Hello DynamoDB' });
|
|
145
159
|
```
|
|
146
160
|
|
|
147
|
-
|
|
161
|
+
### 📚 Full Documentation
|
|
148
162
|
|
|
149
|
-
|
|
163
|
+
👉 **[Complete Examples Guide →](./examples/)** - Step-by-step tutorials with full source code
|
|
150
164
|
|
|
151
|
-
|
|
165
|
+
Each example includes:
|
|
152
166
|
|
|
153
|
-
|
|
167
|
+
- ✅ Complete source code
|
|
168
|
+
- ✅ Step-by-step instructions
|
|
169
|
+
- ✅ Terraform integration
|
|
170
|
+
- ✅ Configuration templates
|
|
154
171
|
|
|
155
|
-
|
|
172
|
+
---
|
|
156
173
|
|
|
157
|
-
|
|
158
|
-
.
|
|
159
|
-
├── apps/ # アプリケーション (Admin UI, Mobile App)
|
|
160
|
-
├── functions/ # Lambda関数 (Fetch, Pipeline, Maintenance)
|
|
161
|
-
├── packages/ # 共有ライブラリ (core, shadows, graphql-types)
|
|
162
|
-
│ └── core/ # Records Lambda(サーバー実装)を含む
|
|
163
|
-
└── infra/ # Terraform設定
|
|
164
|
-
```
|
|
174
|
+
## 📚 Documentation
|
|
165
175
|
|
|
166
|
-
|
|
176
|
+
### Available Documentation
|
|
167
177
|
|
|
168
|
-
|
|
178
|
+
- **[Architecture](docs/ARCHITECTURE.md)** - System architecture and design
|
|
179
|
+
- **[Client Usage](docs/CLIENT_USAGE.md)** - Client-side API guide
|
|
180
|
+
- **[React Admin Integration](docs/react-admin-integration.md)** - Admin UI setup
|
|
181
|
+
- **[Deployment](docs/DEPLOYMENT.md)** - Production deployment guide
|
|
182
|
+
- **[Terraform Modules](terraform/README.md)** - Infrastructure as Code
|
|
169
183
|
|
|
170
|
-
###
|
|
184
|
+
### GitHub Actions
|
|
171
185
|
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
pnpm --filter @ainews/admin dev
|
|
186
|
+
- **[GitHub Actions Setup](docs/GITHUB_ACTIONS_SETUP.md)** - CI/CD configuration
|
|
187
|
+
- **[Troubleshooting](docs/GITHUB_ACTIONS_TROUBLESHOOTING.md)** - Common issues and solutions
|
|
175
188
|
|
|
176
|
-
|
|
177
|
-
```
|
|
189
|
+
---
|
|
178
190
|
|
|
179
|
-
|
|
191
|
+
## 🛠️ Development
|
|
192
|
+
|
|
193
|
+
### Prerequisites
|
|
194
|
+
|
|
195
|
+
- Node.js >= 18.0.0
|
|
196
|
+
- npm, pnpm, or yarn
|
|
197
|
+
- AWS Account (for deployment)
|
|
180
198
|
|
|
181
|
-
|
|
199
|
+
### Setup
|
|
182
200
|
|
|
183
201
|
```bash
|
|
184
|
-
#
|
|
185
|
-
|
|
202
|
+
# Clone repository
|
|
203
|
+
git clone https://github.com/exabugs/dynamodb-client.git
|
|
204
|
+
cd dynamodb-client
|
|
186
205
|
|
|
187
|
-
#
|
|
188
|
-
|
|
189
|
-
VITE_COGNITO_USER_POOL_CLIENT_ID=xxxxxxxxxxxxxxxxxxxxxxxxxx
|
|
190
|
-
VITE_COGNITO_DOMAIN=ainews-dev-auth.auth.us-east-1.amazoncognito.com
|
|
191
|
-
VITE_COGNITO_REGION=us-east-1
|
|
206
|
+
# Install dependencies
|
|
207
|
+
npm install
|
|
192
208
|
|
|
193
|
-
#
|
|
194
|
-
|
|
209
|
+
# Run tests
|
|
210
|
+
npm test
|
|
211
|
+
|
|
212
|
+
# Build
|
|
213
|
+
npm run build
|
|
195
214
|
```
|
|
196
215
|
|
|
197
|
-
###
|
|
216
|
+
### Available Commands
|
|
198
217
|
|
|
199
|
-
|
|
218
|
+
```bash
|
|
219
|
+
npm test # Run tests
|
|
220
|
+
npm run test:coverage # Run tests with coverage
|
|
221
|
+
npm run lint # Lint code
|
|
222
|
+
npm run format # Format code
|
|
223
|
+
npm run build # Build package
|
|
224
|
+
npm run clean # Clean build artifacts
|
|
225
|
+
```
|
|
200
226
|
|
|
201
|
-
|
|
227
|
+
---
|
|
202
228
|
|
|
203
|
-
|
|
204
|
-
- HashRouter(`#/`)ではクエリパラメータが正しく処理されない
|
|
229
|
+
## 🚢 Deployment
|
|
205
230
|
|
|
206
|
-
###
|
|
231
|
+
### Using Terraform
|
|
207
232
|
|
|
208
|
-
|
|
233
|
+
```bash
|
|
234
|
+
cd terraform
|
|
235
|
+
terraform init
|
|
236
|
+
terraform plan -var-file=envs/dev.tfvars
|
|
237
|
+
terraform apply -var-file=envs/dev.tfvars
|
|
238
|
+
```
|
|
209
239
|
|
|
210
|
-
|
|
211
|
-
2. **キャッシュ設定**:
|
|
212
|
-
- `index.html`: キャッシュしない(TTL=0)
|
|
213
|
-
- 静的アセット(JS/CSS/画像): 長期キャッシュ(TTL=7日〜1年)
|
|
214
|
-
3. **Cognitoコールバック URL**: 本番ドメインを追加
|
|
240
|
+
### Using Make
|
|
215
241
|
|
|
216
|
-
|
|
242
|
+
```bash
|
|
243
|
+
make deploy-dev # Deploy to dev environment
|
|
244
|
+
make deploy-stg # Deploy to staging
|
|
245
|
+
make deploy-prd # Deploy to production
|
|
246
|
+
```
|
|
217
247
|
|
|
218
|
-
|
|
248
|
+
---
|
|
219
249
|
|
|
220
|
-
|
|
250
|
+
## 🤝 Contributing
|
|
221
251
|
|
|
222
|
-
|
|
252
|
+
We welcome contributions!
|
|
223
253
|
|
|
224
|
-
|
|
225
|
-
cd functions/records
|
|
226
|
-
pnpm build
|
|
227
|
-
cd ../../infra
|
|
228
|
-
terraform apply -var-file=envs/dev.tfvars
|
|
229
|
-
```
|
|
254
|
+
### Development Workflow
|
|
230
255
|
|
|
231
|
-
|
|
256
|
+
1. Fork the repository
|
|
257
|
+
2. Create a feature branch (`git checkout -b feature/amazing-feature`)
|
|
258
|
+
3. Commit your changes (`git commit -m 'Add amazing feature'`)
|
|
259
|
+
4. Push to the branch (`git push origin feature/amazing-feature`)
|
|
260
|
+
5. Open a Pull Request
|
|
232
261
|
|
|
233
|
-
|
|
262
|
+
### Guidelines
|
|
234
263
|
|
|
235
|
-
|
|
264
|
+
- Follow the existing code style
|
|
265
|
+
- Add tests for new features
|
|
266
|
+
- Update documentation as needed
|
|
267
|
+
- Ensure all tests pass before submitting
|
|
236
268
|
|
|
237
|
-
|
|
269
|
+
---
|
|
238
270
|
|
|
239
|
-
|
|
240
|
-
- Vite設定で `strictPort: true` が設定されているため、ポート3000が使用中の場合はエラーになります
|
|
241
|
-
- 他のプロセスがポート3000を使用していないか確認してください
|
|
271
|
+
## 📄 License
|
|
242
272
|
|
|
243
|
-
|
|
273
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
244
274
|
|
|
245
|
-
|
|
246
|
-
admin_callback_urls = [
|
|
247
|
-
"http://localhost:3000",
|
|
248
|
-
"http://localhost:3000/callback",
|
|
249
|
-
...
|
|
250
|
-
]
|
|
251
|
-
```
|
|
275
|
+
---
|
|
252
276
|
|
|
253
|
-
|
|
277
|
+
## 🙏 Acknowledgments
|
|
254
278
|
|
|
255
|
-
|
|
279
|
+
- Built with [AWS SDK for JavaScript](https://aws.amazon.com/sdk-for-javascript/)
|
|
280
|
+
- Inspired by [MongoDB](https://www.mongodb.com/) API design
|
|
281
|
+
- Powered by [TypeScript](https://www.typescriptlang.org/)
|
|
256
282
|
|
|
257
|
-
|
|
283
|
+
---
|
|
258
284
|
|
|
259
|
-
|
|
260
|
-
- [設計書](.kiro/specs/ainews-pipeline/design.md)
|
|
261
|
-
- [実装タスクリスト](.kiro/specs/ainews-pipeline/tasks.md)
|
|
285
|
+
<div align="center">
|
|
262
286
|
|
|
263
|
-
|
|
287
|
+
**[⬆ back to top](#-dynamodb-client-sdk)**
|
|
264
288
|
|
|
265
|
-
|
|
289
|
+
Made with ❤️ by [exabugs](https://github.com/exabugs)
|
|
266
290
|
|
|
267
|
-
|
|
291
|
+
</div>
|
|
@@ -11,9 +11,16 @@ import { FindCursor } from './FindCursor.js';
|
|
|
11
11
|
*/
|
|
12
12
|
export type AuthHeadersGetter<TAuthOptions = unknown> = (endpoint: string, body: string, authOptions?: TAuthOptions) => Promise<Record<string, string>>;
|
|
13
13
|
/**
|
|
14
|
-
*
|
|
14
|
+
* ドキュメント入力型の基本インターフェース(id はオプショナル)
|
|
15
15
|
*/
|
|
16
|
-
export interface
|
|
16
|
+
export interface InputBase {
|
|
17
|
+
id?: string;
|
|
18
|
+
[key: string]: unknown;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* ドキュメント結果型の基本インターフェース(id は必須)
|
|
22
|
+
*/
|
|
23
|
+
export interface ResultBase {
|
|
17
24
|
id: string;
|
|
18
25
|
[key: string]: unknown;
|
|
19
26
|
}
|
|
@@ -23,10 +30,10 @@ export interface DocumentBase {
|
|
|
23
30
|
* MongoDB風のCRUD操作を提供します。
|
|
24
31
|
* 型安全なフィルタとクエリAPIでDynamoDBを操作できます。
|
|
25
32
|
*
|
|
26
|
-
* @template TSchema -
|
|
33
|
+
* @template TSchema - コレクションのドキュメント型(ResultBase を extends)
|
|
27
34
|
* @template TAuthOptions - 認証オプションの型
|
|
28
35
|
*/
|
|
29
|
-
export declare class Collection<TSchema extends
|
|
36
|
+
export declare class Collection<TSchema extends ResultBase = ResultBase, TAuthOptions = unknown> {
|
|
30
37
|
private endpoint;
|
|
31
38
|
private databaseName;
|
|
32
39
|
private collectionName;
|
|
@@ -47,8 +54,8 @@ export declare class Collection<TSchema extends DocumentBase = DocumentBase, TAu
|
|
|
47
54
|
find(filter?: Filter<TSchema>, options?: FindOptions): FindCursor<TSchema, TAuthOptions>;
|
|
48
55
|
findOne(filter: Filter<TSchema>): Promise<TSchema | null>;
|
|
49
56
|
findMany(ids: string[]): Promise<TSchema[]>;
|
|
50
|
-
insertOne(document: TSchema): Promise<InsertOneResult>;
|
|
51
|
-
insertMany(documents: TSchema[]): Promise<InsertManyResult>;
|
|
57
|
+
insertOne(document: InputBase & Omit<TSchema, 'id'>): Promise<InsertOneResult>;
|
|
58
|
+
insertMany(documents: (InputBase & Omit<TSchema, 'id'>)[]): Promise<InsertManyResult>;
|
|
52
59
|
updateOne(filter: Filter<TSchema>, update: UpdateOperators<TSchema>): Promise<UpdateResult>;
|
|
53
60
|
updateMany(filter: Filter<TSchema>, update: UpdateOperators<TSchema>): Promise<UpdateResult>;
|
|
54
61
|
deleteOne(filter: Filter<TSchema>): Promise<DeleteResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/client/Collection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,YAAY,GAAG,OAAO,IAAI,CACtD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,YAAY,KACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"Collection.d.ts","sourceRoot":"","sources":["../../src/client/Collection.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EACV,YAAY,EACZ,MAAM,EACN,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,YAAY,GAAG,OAAO,IAAI,CACtD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,WAAW,CAAC,EAAE,YAAY,KACvB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAErC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,UAAU,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU,EAAE,YAAY,GAAG,OAAO;IAEnF,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,cAAc;gBANd,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,EACtB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,WAAW,EAAE,YAAY,GAAG,SAAS,EACrC,aAAa,EAAE,aAAa,GAAG,SAAS,EACxC,cAAc,EAAE,iBAAiB,CAAC,YAAY,CAAC;IAGzD,OAAO,IAAI,MAAM;IAIjB,WAAW,IAAI,MAAM;IAIrB,eAAe,IAAI,MAAM;IAIzB,YAAY,IAAI,MAAM,GAAG,SAAS;IAIlC,cAAc,IAAI,YAAY,GAAG,SAAS;IAI1C;;OAEG;YACW,OAAO;IAwDrB,IAAI,CAAC,MAAM,GAAE,MAAM,CAAC,OAAO,CAAM,EAAE,OAAO,CAAC,EAAE,WAAW,GAAG,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC;IActF,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAUzD,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAU3C,SAAS,CAAC,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC;IAS9E,UAAU,CAAC,SAAS,EAAE,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAmBrF,SAAS,CACb,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EACvB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,GAC/B,OAAO,CAAC,YAAY,CAAC;IAelB,UAAU,CACd,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EACvB,MAAM,EAAE,eAAe,CAAC,OAAO,CAAC,GAC/B,OAAO,CAAC,YAAY,CAAC;IAkBlB,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;IASzD,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC;CAUjE"}
|
|
@@ -5,7 +5,7 @@ import { FindCursor } from './FindCursor.js';
|
|
|
5
5
|
* MongoDB風のCRUD操作を提供します。
|
|
6
6
|
* 型安全なフィルタとクエリAPIでDynamoDBを操作できます。
|
|
7
7
|
*
|
|
8
|
-
* @template TSchema -
|
|
8
|
+
* @template TSchema - コレクションのドキュメント型(ResultBase を extends)
|
|
9
9
|
* @template TAuthOptions - 認証オプションの型
|
|
10
10
|
*/
|
|
11
11
|
export class Collection {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/client/Collection.ts"],"names":[],"mappings":"AAeA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"Collection.js","sourceRoot":"","sources":["../../src/client/Collection.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { type ClientOptions as BaseClientOptions, DynamoClient as BaseDynamoClient } from './DynamoClient.js';
|
|
8
8
|
export { Database } from './Database.js';
|
|
9
|
-
export { Collection } from './Collection.js';
|
|
9
|
+
export { Collection, type InputBase, type ResultBase } from './Collection.js';
|
|
10
10
|
export { FindCursor } from './FindCursor.js';
|
|
11
11
|
/**
|
|
12
12
|
* IAM認証オプション
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.iam.d.ts","sourceRoot":"","sources":["../../src/client/index.iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,KAAK,aAAa,IAAI,iBAAiB,EACvC,YAAY,IAAI,gBAAgB,EACjC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.iam.d.ts","sourceRoot":"","sources":["../../src/client/index.iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,KAAK,aAAa,IAAI,iBAAiB,EACvC,YAAY,IAAI,gBAAgB,EACjC,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,MAAM,CAAC;IACpF,kBAAkB;IAClB,IAAI,EAAE,cAAc,CAAC;CACtB;AAED;;;;;GAKG;AACH,qBAAa,YAAa,SAAQ,gBAAgB,CAAC,cAAc,CAAC;gBACpD,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa;CAQrD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.iam.js","sourceRoot":"","sources":["../../src/client/index.iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,YAAY,IAAI,gBAAgB,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"index.iam.js","sourceRoot":"","sources":["../../src/client/index.iam.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAEL,YAAY,IAAI,gBAAgB,GACjC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAmC,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAkB7C;;;;;GAKG;AACH,MAAM,OAAO,YAAa,SAAQ,gBAAgC;IAChE,YAAY,QAAgB,EAAE,OAAsB;QAClD,KAAK,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,GAAW,EAAE,IAAY,EAAE,IAAqB,EAAE,EAAE;YAClF,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,MAAM,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Shadow Config 自動生成スクリプト
|
|
4
|
+
*
|
|
5
|
+
* TypeScript スキーマファイルから shadow.config.json を自動生成する。
|
|
6
|
+
* TypeScript のスキーマ定義が唯一の情報源(Single Source of Truth)となり、
|
|
7
|
+
* 設定ファイルとの不整合を防ぐ。
|
|
8
|
+
*
|
|
9
|
+
* 使用方法:
|
|
10
|
+
* npx generate-shadow-config <schema-file> -o <output-file>
|
|
11
|
+
*
|
|
12
|
+
* 例:
|
|
13
|
+
* npx generate-shadow-config schema.ts -o shadow.config.json
|
|
14
|
+
*/
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=generate-shadow-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate-shadow-config.d.ts","sourceRoot":"","sources":["../../src/scripts/generate-shadow-config.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;GAYG"}
|