@exabugs/dynamodb-client 0.1.0 → 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 +205 -197
- 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/dist/server/handler.zip +0 -0
- 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,283 +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
|
-
##
|
|
23
|
+
## ✨ Features
|
|
19
24
|
|
|
20
|
-
|
|
25
|
+
<table>
|
|
26
|
+
<tr>
|
|
27
|
+
<td width="50%">
|
|
21
28
|
|
|
22
|
-
|
|
23
|
-
2. Configure `.npmrc`:
|
|
29
|
+
### 🎯 Developer Experience
|
|
24
30
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|
29
35
|
|
|
30
|
-
|
|
36
|
+
</td>
|
|
37
|
+
<td width="50%">
|
|
31
38
|
|
|
32
|
-
|
|
33
|
-
npm install @exabugs/dynamodb-client
|
|
34
|
-
```
|
|
39
|
+
### ⚡ Performance & Scale
|
|
35
40
|
|
|
36
|
-
|
|
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
|
|
37
45
|
|
|
38
|
-
|
|
46
|
+
</td>
|
|
47
|
+
</tr>
|
|
48
|
+
<tr>
|
|
49
|
+
<td width="50%">
|
|
39
50
|
|
|
40
|
-
|
|
41
|
-
npm install @exabugs/dynamodb-client
|
|
42
|
-
```
|
|
51
|
+
### 🔐 Authentication
|
|
43
52
|
|
|
44
|
-
|
|
53
|
+
- **IAM Roles** - Native AWS authentication
|
|
54
|
+
- **Cognito** - User pool integration
|
|
55
|
+
- **Custom Tokens** - Flexible auth strategies
|
|
56
|
+
- **OIDC + PKCE** - Secure browser flows
|
|
45
57
|
|
|
46
|
-
|
|
58
|
+
</td>
|
|
59
|
+
<td width="50%">
|
|
47
60
|
|
|
48
|
-
|
|
49
|
-
import { DynamoClient } from '@exabugs/dynamodb-client/client/iam';
|
|
61
|
+
### 🎨 Integrations
|
|
50
62
|
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
63
|
+
- **react-admin** - Admin UI out of the box
|
|
64
|
+
- **REST API** - Lambda Function URLs
|
|
65
|
+
- **Terraform** - Complete IaC modules
|
|
54
66
|
|
|
55
|
-
|
|
56
|
-
|
|
67
|
+
</td>
|
|
68
|
+
</tr>
|
|
69
|
+
</table>
|
|
57
70
|
|
|
58
|
-
|
|
59
|
-
await collection.insertOne({ title: 'Hello World', content: '...' });
|
|
71
|
+
---
|
|
60
72
|
|
|
61
|
-
|
|
62
|
-
const article = await collection.findOne({ title: 'Hello World' });
|
|
73
|
+
## 📦 Installation
|
|
63
74
|
|
|
64
|
-
|
|
65
|
-
|
|
75
|
+
```bash
|
|
76
|
+
# npm
|
|
77
|
+
npm install @exabugs/dynamodb-client
|
|
66
78
|
|
|
67
|
-
|
|
68
|
-
|
|
79
|
+
# pnpm (recommended)
|
|
80
|
+
pnpm add @exabugs/dynamodb-client
|
|
81
|
+
|
|
82
|
+
# yarn
|
|
83
|
+
yarn add @exabugs/dynamodb-client
|
|
69
84
|
```
|
|
70
85
|
|
|
71
|
-
|
|
86
|
+
---
|
|
72
87
|
|
|
73
|
-
|
|
74
|
-
import { createHandler } from '@exabugs/dynamodb-client/server/handler';
|
|
88
|
+
## 🏗️ Architecture
|
|
75
89
|
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
90
|
+
```mermaid
|
|
91
|
+
graph TB
|
|
92
|
+
subgraph "Client Applications"
|
|
93
|
+
A[React Admin]
|
|
94
|
+
B[Mobile App]
|
|
95
|
+
C[Custom App]
|
|
96
|
+
end
|
|
81
97
|
|
|
82
|
-
|
|
98
|
+
subgraph "AWS Lambda"
|
|
99
|
+
D[Lambda Function<br/>Function URL]
|
|
100
|
+
end
|
|
83
101
|
|
|
84
|
-
|
|
85
|
-
|
|
102
|
+
subgraph "AWS DynamoDB"
|
|
103
|
+
E[(DynamoDB<br/>Single Table)]
|
|
104
|
+
end
|
|
86
105
|
|
|
87
|
-
|
|
106
|
+
A -->|HTTPS| D
|
|
107
|
+
B -->|HTTPS| D
|
|
108
|
+
C -->|HTTPS| D
|
|
109
|
+
D -->|AWS SDK| E
|
|
88
110
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
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
|
|
116
|
+
```
|
|
92
117
|
|
|
93
|
-
|
|
94
|
-
npm test
|
|
118
|
+
---
|
|
95
119
|
|
|
96
|
-
|
|
97
|
-
npm run test:coverage
|
|
120
|
+
## 🚀 Quick Start & Examples
|
|
98
121
|
|
|
99
|
-
|
|
100
|
-
npm run build
|
|
122
|
+
Get started in 3 steps: **Schema Definition → Deploy Infrastructure → Use Client**
|
|
101
123
|
|
|
102
|
-
|
|
103
|
-
npm run lint
|
|
124
|
+
### Complete Examples Available
|
|
104
125
|
|
|
105
|
-
|
|
106
|
-
npm run format
|
|
107
|
-
```
|
|
126
|
+
We provide complete, working examples for every step:
|
|
108
127
|
|
|
109
|
-
|
|
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 |
|
|
110
134
|
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
make logs-fetch ENV=dev # Fetch Lambdaのログを表示
|
|
136
|
-
make logs-records ENV=dev # Records Lambdaのログを表示
|
|
137
|
-
|
|
138
|
-
# その他
|
|
139
|
-
make shadow-config # shadow.config.jsonを再生成
|
|
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' });
|
|
140
159
|
```
|
|
141
160
|
|
|
142
|
-
###
|
|
161
|
+
### 📚 Full Documentation
|
|
143
162
|
|
|
144
|
-
|
|
163
|
+
👉 **[Complete Examples Guide →](./examples/)** - Step-by-step tutorials with full source code
|
|
145
164
|
|
|
146
|
-
|
|
147
|
-
# Fetch Lambda
|
|
148
|
-
cd functions/fetch
|
|
149
|
-
make help
|
|
150
|
-
make build
|
|
151
|
-
make deploy ENV=dev
|
|
152
|
-
make invoke
|
|
153
|
-
make logs
|
|
154
|
-
|
|
155
|
-
# Terraform
|
|
156
|
-
cd infra
|
|
157
|
-
make help
|
|
158
|
-
make plan ENV=dev
|
|
159
|
-
make apply ENV=dev
|
|
160
|
-
make status
|
|
161
|
-
```
|
|
165
|
+
Each example includes:
|
|
162
166
|
|
|
163
|
-
|
|
167
|
+
- ✅ Complete source code
|
|
168
|
+
- ✅ Step-by-step instructions
|
|
169
|
+
- ✅ Terraform integration
|
|
170
|
+
- ✅ Configuration templates
|
|
164
171
|
|
|
165
|
-
|
|
172
|
+
---
|
|
166
173
|
|
|
167
|
-
|
|
174
|
+
## 📚 Documentation
|
|
168
175
|
|
|
169
|
-
|
|
176
|
+
### Available Documentation
|
|
170
177
|
|
|
171
|
-
|
|
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
|
|
172
183
|
|
|
173
|
-
|
|
174
|
-
.
|
|
175
|
-
├── apps/ # アプリケーション (Admin UI, Mobile App)
|
|
176
|
-
├── functions/ # Lambda関数 (Fetch, Pipeline, Maintenance)
|
|
177
|
-
├── packages/ # 共有ライブラリ (core, shadows, graphql-types)
|
|
178
|
-
│ └── core/ # Records Lambda(サーバー実装)を含む
|
|
179
|
-
└── infra/ # Terraform設定
|
|
180
|
-
```
|
|
181
|
-
|
|
182
|
-
**注**: Records Lambdaは`packages/core/`に統合されています。
|
|
184
|
+
### GitHub Actions
|
|
183
185
|
|
|
184
|
-
|
|
186
|
+
- **[GitHub Actions Setup](docs/GITHUB_ACTIONS_SETUP.md)** - CI/CD configuration
|
|
187
|
+
- **[Troubleshooting](docs/GITHUB_ACTIONS_TROUBLESHOOTING.md)** - Common issues and solutions
|
|
185
188
|
|
|
186
|
-
|
|
189
|
+
---
|
|
187
190
|
|
|
188
|
-
|
|
189
|
-
# 開発サーバー起動
|
|
190
|
-
pnpm --filter @ainews/admin dev
|
|
191
|
+
## 🛠️ Development
|
|
191
192
|
|
|
192
|
-
|
|
193
|
-
```
|
|
193
|
+
### Prerequisites
|
|
194
194
|
|
|
195
|
-
|
|
195
|
+
- Node.js >= 18.0.0
|
|
196
|
+
- npm, pnpm, or yarn
|
|
197
|
+
- AWS Account (for deployment)
|
|
196
198
|
|
|
197
|
-
|
|
199
|
+
### Setup
|
|
198
200
|
|
|
199
201
|
```bash
|
|
200
|
-
#
|
|
201
|
-
|
|
202
|
+
# Clone repository
|
|
203
|
+
git clone https://github.com/exabugs/dynamodb-client.git
|
|
204
|
+
cd dynamodb-client
|
|
202
205
|
|
|
203
|
-
#
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
206
|
+
# Install dependencies
|
|
207
|
+
npm install
|
|
208
|
+
|
|
209
|
+
# Run tests
|
|
210
|
+
npm test
|
|
208
211
|
|
|
209
|
-
#
|
|
210
|
-
|
|
212
|
+
# Build
|
|
213
|
+
npm run build
|
|
211
214
|
```
|
|
212
215
|
|
|
213
|
-
###
|
|
216
|
+
### Available Commands
|
|
214
217
|
|
|
215
|
-
|
|
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
|
+
```
|
|
216
226
|
|
|
217
|
-
|
|
227
|
+
---
|
|
218
228
|
|
|
219
|
-
|
|
220
|
-
- HashRouter(`#/`)ではクエリパラメータが正しく処理されない
|
|
229
|
+
## 🚢 Deployment
|
|
221
230
|
|
|
222
|
-
###
|
|
231
|
+
### Using Terraform
|
|
223
232
|
|
|
224
|
-
|
|
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
|
+
```
|
|
225
239
|
|
|
226
|
-
|
|
227
|
-
2. **キャッシュ設定**:
|
|
228
|
-
- `index.html`: キャッシュしない(TTL=0)
|
|
229
|
-
- 静的アセット(JS/CSS/画像): 長期キャッシュ(TTL=7日〜1年)
|
|
230
|
-
3. **Cognitoコールバック URL**: 本番ドメインを追加
|
|
240
|
+
### Using Make
|
|
231
241
|
|
|
232
|
-
|
|
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
|
+
```
|
|
233
247
|
|
|
234
|
-
|
|
248
|
+
---
|
|
235
249
|
|
|
236
|
-
|
|
250
|
+
## 🤝 Contributing
|
|
237
251
|
|
|
238
|
-
|
|
252
|
+
We welcome contributions!
|
|
239
253
|
|
|
240
|
-
|
|
241
|
-
cd functions/records
|
|
242
|
-
pnpm build
|
|
243
|
-
cd ../../infra
|
|
244
|
-
terraform apply -var-file=envs/dev.tfvars
|
|
245
|
-
```
|
|
254
|
+
### Development Workflow
|
|
246
255
|
|
|
247
|
-
|
|
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
|
|
248
261
|
|
|
249
|
-
|
|
262
|
+
### Guidelines
|
|
250
263
|
|
|
251
|
-
|
|
264
|
+
- Follow the existing code style
|
|
265
|
+
- Add tests for new features
|
|
266
|
+
- Update documentation as needed
|
|
267
|
+
- Ensure all tests pass before submitting
|
|
252
268
|
|
|
253
|
-
|
|
269
|
+
---
|
|
254
270
|
|
|
255
|
-
|
|
256
|
-
- Vite設定で `strictPort: true` が設定されているため、ポート3000が使用中の場合はエラーになります
|
|
257
|
-
- 他のプロセスがポート3000を使用していないか確認してください
|
|
271
|
+
## 📄 License
|
|
258
272
|
|
|
259
|
-
|
|
273
|
+
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
|
|
260
274
|
|
|
261
|
-
|
|
262
|
-
admin_callback_urls = [
|
|
263
|
-
"http://localhost:3000",
|
|
264
|
-
"http://localhost:3000/callback",
|
|
265
|
-
...
|
|
266
|
-
]
|
|
267
|
-
```
|
|
275
|
+
---
|
|
268
276
|
|
|
269
|
-
|
|
277
|
+
## 🙏 Acknowledgments
|
|
270
278
|
|
|
271
|
-
|
|
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/)
|
|
272
282
|
|
|
273
|
-
|
|
283
|
+
---
|
|
274
284
|
|
|
275
|
-
|
|
276
|
-
- [設計書](.kiro/specs/ainews-pipeline/design.md)
|
|
277
|
-
- [実装タスクリスト](.kiro/specs/ainews-pipeline/tasks.md)
|
|
285
|
+
<div align="center">
|
|
278
286
|
|
|
279
|
-
|
|
287
|
+
**[⬆ back to top](#-dynamodb-client-sdk)**
|
|
280
288
|
|
|
281
|
-
|
|
289
|
+
Made with ❤️ by [exabugs](https://github.com/exabugs)
|
|
282
290
|
|
|
283
|
-
|
|
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"}
|