orm-dynamodb 1.0.2 → 1.3.0
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/README.md +45 -14
- package/dist/BaseEntity.d.ts +13 -9
- package/dist/BaseEntity.d.ts.map +1 -1
- package/dist/BaseEntity.js +119 -104
- package/dist/BaseEntity.js.map +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
Lightweight TypeScript decorators for modeling DynamoDB items as classes.
|
|
7
7
|
|
|
8
|
+
Project site: https://ssz360.github.io/ORM-DynamoDB/
|
|
9
|
+
|
|
8
10
|
## ✨ Features
|
|
9
11
|
|
|
10
12
|
- 🎯 **Type-safe decorators** for DynamoDB entities with full TypeScript support
|
|
11
13
|
- 🔗 **Entity relationships** with `@LinkObject` and `@LinkArray` decorators and automatic link loading
|
|
12
14
|
- 🔄 **Custom serialization** with `@ToDbModel` and `@FromDbModel` transformers
|
|
13
|
-
- ⏰ **Automatic timestamps** for `createdAt` and `updatedAt`
|
|
14
15
|
- 🛠️ **Intuitive API** with `insert()`, `update()`, `delete()`, `get()`, and `query()` methods
|
|
15
16
|
- 🚀 **Zero configuration** - works out of the box with AWS SDK v3
|
|
16
17
|
- 📦 **Tiny footprint** - lightweight with minimal dependencies
|
|
@@ -103,13 +104,15 @@ class Post extends BaseEntity {
|
|
|
103
104
|
@ToDbModel
|
|
104
105
|
static toDbModel(post: Post) {
|
|
105
106
|
return {
|
|
107
|
+
...post,
|
|
106
108
|
publishedAt: post.publishedAt ? post.publishedAt.toISOString() : null
|
|
107
109
|
};
|
|
108
110
|
}
|
|
109
111
|
|
|
110
112
|
@FromDbModel
|
|
111
|
-
static fromDbModel(item:
|
|
113
|
+
static fromDbModel(item: any): Post {
|
|
112
114
|
return {
|
|
115
|
+
...item,
|
|
113
116
|
publishedAt: item.publishedAt ? new Date(item.publishedAt) : null
|
|
114
117
|
};
|
|
115
118
|
}
|
|
@@ -138,37 +141,57 @@ async function run() {
|
|
|
138
141
|
- **`@SortKeyValue`** - Defines the sort key value getter
|
|
139
142
|
- **`@LinkObject(EntityClass, options?)`** - Creates a reference to a single entity (options: `{ inline?: boolean }`)
|
|
140
143
|
- **`@LinkArray(EntityClass, options?)`** - Creates a reference to an array of entities (options: `{ inline?: boolean }`)
|
|
141
|
-
- **`@ToDbModel`** -
|
|
142
|
-
- **`@FromDbModel`** -
|
|
144
|
+
- **`@ToDbModel`** - Full serialization contract for writing to DynamoDB; return exactly the fields you want saved
|
|
145
|
+
- **`@FromDbModel`** - Full deserialization contract for reading from DynamoDB; return exactly the fields you want on the entity
|
|
143
146
|
|
|
144
147
|
### Core Methods
|
|
145
148
|
|
|
146
|
-
|
|
147
|
-
- `update(attributes)` - Partial update
|
|
149
|
+
**`insert()`** - Insert or replace the entity (cascade saves linked entities when requested)
|
|
150
|
+
- `update(attributes)` - Partial update for entities without `@ToDbModel`; full serialized save for entities with `@ToDbModel`
|
|
148
151
|
- `delete()` - Remove the entity from DynamoDB
|
|
149
152
|
- `loadLinks()` - Load all linked entities
|
|
150
153
|
|
|
151
154
|
**Static Methods:**
|
|
152
155
|
- `get(sortKeyValue)` - Retrieve a single entity by sort key
|
|
153
156
|
- `query(options)` - Query entities with custom options
|
|
154
|
-
- `queryAll(
|
|
155
|
-
- `queryEquals(sortKeyValue,
|
|
156
|
-
- `queryStartsWith(prefix,
|
|
157
|
-
- `queryBetween(start, end,
|
|
158
|
-
- `queryGreaterThan(value,
|
|
159
|
-
- `queryLessThan(value,
|
|
157
|
+
- `queryAll(options?)` - Query all entities in the partition
|
|
158
|
+
- `queryEquals(sortKeyValue, options?)` - Query entities with exact sort key match
|
|
159
|
+
- `queryStartsWith(prefix, options?)` - Query entities with sort key prefix
|
|
160
|
+
- `queryBetween(start, end, options?)` - Query entities with sort key in range
|
|
161
|
+
- `queryGreaterThan(value, options?)` - Query entities with sort key greater than value
|
|
162
|
+
- `queryLessThan(value, options?)` - Query entities with sort key less than value
|
|
160
163
|
- `query(options)` - Query entities in the partition
|
|
161
164
|
- `configure(client)` - Set the DynamoDB client globally
|
|
162
165
|
|
|
166
|
+
Helper methods accept a query options object, for example:
|
|
167
|
+
|
|
168
|
+
```ts
|
|
169
|
+
const recentOrders = await Order.queryGreaterThan('2024-01-01', {
|
|
170
|
+
limit: 20,
|
|
171
|
+
scanIndexForward: false,
|
|
172
|
+
});
|
|
173
|
+
```
|
|
174
|
+
|
|
163
175
|
### Features
|
|
164
176
|
|
|
165
177
|
- ✅ Explicit DynamoDB client configuration via `BaseEntity.configure(...)` or `@Entity(..., dbClient)`
|
|
166
|
-
- ✅ Automatic `createdAt` and `updatedAt` timestamp management
|
|
167
178
|
- ✅ Type-safe entity relationships with `@LinkObject` and `@LinkArray` decorators
|
|
168
179
|
- ✅ Lazy loading of linked entities with `loadLinks()`
|
|
169
180
|
- ✅ Custom transformation between domain models and DynamoDB items
|
|
170
181
|
- ✅ Inline and non-inline link storage options
|
|
171
182
|
|
|
183
|
+
## 📋 Changelog
|
|
184
|
+
|
|
185
|
+
### 1.2.2
|
|
186
|
+
|
|
187
|
+
- Added optional cascade saving with `insert(true)` so linked entities can be persisted before the parent entity.
|
|
188
|
+
|
|
189
|
+
### 1.1.2
|
|
190
|
+
|
|
191
|
+
- Changed query helper methods such as `queryAll`, `queryBetween`, and `queryGreaterThan` to accept an options object instead of only a `limit` argument.
|
|
192
|
+
- Added support for helper options like `scanIndexForward` while preserving the existing sort key helper APIs.
|
|
193
|
+
- Updated the README examples to document the new query helper signature.
|
|
194
|
+
|
|
172
195
|
## 🛠️ Development
|
|
173
196
|
|
|
174
197
|
Install dependencies:
|
|
@@ -208,8 +231,16 @@ Apache-2.0
|
|
|
208
231
|
|
|
209
232
|
## 📖 Examples
|
|
210
233
|
|
|
211
|
-
See [
|
|
234
|
+
See [examples_simple.ts](./examples_simple.ts) for examples.
|
|
235
|
+
See [examples_advanced.ts](./examples_advanced.ts) for advanced examples.
|
|
212
236
|
|
|
213
237
|
## 🤝 Contributing
|
|
214
238
|
|
|
215
239
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
To publish it:
|
|
243
|
+
|
|
244
|
+
1. In GitHub, open **Settings > Pages**.
|
|
245
|
+
2. Set **Source** to **GitHub Actions**.
|
|
246
|
+
3. Push to `main` or run the **Deploy GitHub Pages** workflow manually.
|
package/dist/BaseEntity.d.ts
CHANGED
|
@@ -1,21 +1,25 @@
|
|
|
1
1
|
import { DynamoDBClient } from '@aws-sdk/client-dynamodb';
|
|
2
2
|
import type { QueryOptions, EntityMetadata } from './types';
|
|
3
|
+
type QueryHelperOptions = Omit<QueryOptions, 'sortKeyCondition'>;
|
|
3
4
|
export declare class BaseEntity {
|
|
4
5
|
protected getMetadata(): EntityMetadata;
|
|
5
|
-
protected getKey(): any;
|
|
6
|
-
protected toItem(): any;
|
|
7
|
-
|
|
6
|
+
protected getKey(source?: any): any;
|
|
7
|
+
protected toItem(source?: any): any;
|
|
8
|
+
protected fromItem<T extends BaseEntity>(this: T, item: any): T;
|
|
9
|
+
protected saveItem(source?: any, cascadeSave?: boolean): Promise<this>;
|
|
10
|
+
insert(cascadeSave?: boolean): Promise<this>;
|
|
8
11
|
update(attributes: Partial<this>): Promise<this>;
|
|
9
12
|
delete(): Promise<void>;
|
|
10
13
|
loadLinks(): Promise<this>;
|
|
11
14
|
static configure(dynamoDBClient: DynamoDBClient, documentClientConfig?: any): void;
|
|
12
15
|
static get<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any): Promise<T | null>;
|
|
13
16
|
static query<T extends BaseEntity>(this: new (...args: any[]) => T, options?: QueryOptions): Promise<T[]>;
|
|
14
|
-
static queryAll<T extends BaseEntity>(this: new (...args: any[]) => T,
|
|
15
|
-
static queryStartsWith<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyPrefix: string,
|
|
16
|
-
static queryBetween<T extends BaseEntity>(this: new (...args: any[]) => T, start: any, end: any,
|
|
17
|
-
static queryGreaterThan<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any,
|
|
18
|
-
static queryLessThan<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any,
|
|
19
|
-
static queryEquals<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any,
|
|
17
|
+
static queryAll<T extends BaseEntity>(this: new (...args: any[]) => T, options?: QueryHelperOptions): Promise<T[]>;
|
|
18
|
+
static queryStartsWith<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyPrefix: string, options?: QueryHelperOptions): Promise<T[]>;
|
|
19
|
+
static queryBetween<T extends BaseEntity>(this: new (...args: any[]) => T, start: any, end: any, options?: QueryHelperOptions): Promise<T[]>;
|
|
20
|
+
static queryGreaterThan<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any, options?: QueryHelperOptions): Promise<T[]>;
|
|
21
|
+
static queryLessThan<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any, options?: QueryHelperOptions): Promise<T[]>;
|
|
22
|
+
static queryEquals<T extends BaseEntity>(this: new (...args: any[]) => T, sortKeyValue: any, options?: QueryHelperOptions): Promise<T[]>;
|
|
20
23
|
}
|
|
24
|
+
export {};
|
|
21
25
|
//# sourceMappingURL=BaseEntity.d.ts.map
|
package/dist/BaseEntity.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntity.d.ts","sourceRoot":"","sources":["../BaseEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D,OAAO,KAAK,EAAgB,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG1E,qBAAa,UAAU;IAEnB,SAAS,CAAC,WAAW,IAAI,cAAc;IAIvC,SAAS,CAAC,MAAM;
|
|
1
|
+
{"version":3,"file":"BaseEntity.d.ts","sourceRoot":"","sources":["../BaseEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAS1D,OAAO,KAAK,EAAgB,YAAY,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAG1E,KAAK,kBAAkB,GAAG,IAAI,CAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;AAEjE,qBAAa,UAAU;IAEnB,SAAS,CAAC,WAAW,IAAI,cAAc;IAIvC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAE,GAAU;IAenC,SAAS,CAAC,MAAM,CAAC,MAAM,GAAE,GAAU;IA+DnC,SAAS,CAAC,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC;cA+B/C,QAAQ,CAAC,MAAM,GAAE,GAAU,EAAE,WAAW,GAAE,OAAe;IA0InE,MAAM,CAAC,WAAW,GAAE,OAAe;IAKnC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,IAAI,CAAC;IAmDhC,MAAM;IA2EN,SAAS;IA6Ff,MAAM,CAAC,SAAS,CAAC,cAAc,EAAE,cAAc,EAAE,oBAAoB,CAAC,EAAE,GAAG;WAI9D,GAAG,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;WA2BhG,KAAK,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WA+ElG,QAAQ,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAI3G,eAAe,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOzI,YAAY,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOrI,gBAAgB,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOtI,aAAa,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;WAOnI,WAAW,CAAC,CAAC,SAAS,UAAU,EAAE,IAAI,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,YAAY,EAAE,GAAG,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;CAMjJ"}
|
package/dist/BaseEntity.js
CHANGED
|
@@ -8,36 +8,36 @@ class BaseEntity {
|
|
|
8
8
|
getMetadata() {
|
|
9
9
|
return this.constructor.__entityMetadata__;
|
|
10
10
|
}
|
|
11
|
-
getKey() {
|
|
11
|
+
getKey(source = this) {
|
|
12
12
|
const metadata = this.getMetadata();
|
|
13
13
|
const key = {};
|
|
14
14
|
if (metadata.hashKeyGetter) {
|
|
15
|
-
key[metadata.hashKeyName] =
|
|
15
|
+
key[metadata.hashKeyName] = source[metadata.hashKeyGetter];
|
|
16
16
|
}
|
|
17
17
|
if (metadata.sortKeyName && metadata.sortKeyGetter) {
|
|
18
|
-
key[metadata.sortKeyName] =
|
|
18
|
+
key[metadata.sortKeyName] = source[metadata.sortKeyGetter];
|
|
19
19
|
}
|
|
20
20
|
return key;
|
|
21
21
|
}
|
|
22
|
-
toItem() {
|
|
23
|
-
const item = { ...this };
|
|
22
|
+
toItem(source = this) {
|
|
24
23
|
const metadata = this.getMetadata();
|
|
25
|
-
const key = this.getKey();
|
|
26
|
-
//
|
|
24
|
+
const key = this.getKey(source);
|
|
25
|
+
// @ToDbModel is a full serializer: when present, its return value is the
|
|
26
|
+
// complete user-controlled DB shape. Keys and link metadata are added by the ORM.
|
|
27
27
|
const toDbModelMapper = this.constructor[symbols_1.TO_DB_MODEL_METADATA];
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
}
|
|
28
|
+
const item = toDbModelMapper
|
|
29
|
+
? { ...this.constructor[toDbModelMapper](source) }
|
|
30
|
+
: { ...source };
|
|
32
31
|
// Handle linked entities
|
|
33
32
|
const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
|
|
34
33
|
for (const link of links) {
|
|
35
|
-
const value =
|
|
34
|
+
const value = source[link.propertyKey];
|
|
36
35
|
const isInline = link.inline ?? false;
|
|
36
|
+
const idField = `__${link.propertyKey}ID`;
|
|
37
37
|
if (isInline) {
|
|
38
38
|
if (value !== undefined && value !== null) {
|
|
39
39
|
if (link.isArray) {
|
|
40
|
-
item[
|
|
40
|
+
item[idField] = value.map((linkedItem) => {
|
|
41
41
|
const linkedKey = linkedItem.getKey();
|
|
42
42
|
const linkedMetadata = linkedItem.getMetadata();
|
|
43
43
|
const result = {
|
|
@@ -59,40 +59,73 @@ class BaseEntity {
|
|
|
59
59
|
if (linkedMetadata.sortKeyName) {
|
|
60
60
|
result[linkedMetadata.sortKeyName] = linkedKey[linkedMetadata.sortKeyName];
|
|
61
61
|
}
|
|
62
|
-
item[
|
|
62
|
+
item[idField] = result;
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
|
+
else if (value === undefined && source[idField] !== undefined) {
|
|
66
|
+
item[idField] = source[idField];
|
|
67
|
+
}
|
|
68
|
+
else if (value === null) {
|
|
69
|
+
delete item[idField];
|
|
70
|
+
}
|
|
65
71
|
}
|
|
66
72
|
else {
|
|
67
73
|
// Non-inline: ensure no stale __propertyID from a previous loadLinks() is persisted
|
|
68
|
-
delete item[
|
|
74
|
+
delete item[idField];
|
|
69
75
|
}
|
|
70
76
|
// Remove the actual linked entity instances from being saved
|
|
71
77
|
delete item[link.propertyKey];
|
|
72
78
|
}
|
|
73
79
|
return {
|
|
74
|
-
...
|
|
75
|
-
...
|
|
80
|
+
...item,
|
|
81
|
+
...key
|
|
76
82
|
};
|
|
77
83
|
}
|
|
78
|
-
|
|
79
|
-
const
|
|
80
|
-
|
|
84
|
+
fromItem(item) {
|
|
85
|
+
const fromDbModelMapper = this.constructor[symbols_1.FROM_DB_MODEL_METADATA];
|
|
86
|
+
const itemData = fromDbModelMapper
|
|
87
|
+
? this.constructor[fromDbModelMapper](item)
|
|
88
|
+
: item;
|
|
89
|
+
if (fromDbModelMapper) {
|
|
90
|
+
for (const key of Object.keys(this)) {
|
|
91
|
+
delete this[key];
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
Object.assign(this, itemData);
|
|
81
95
|
const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
|
|
82
96
|
for (const link of links) {
|
|
83
|
-
const
|
|
84
|
-
if (
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
97
|
+
const idField = `__${link.propertyKey}ID`;
|
|
98
|
+
if (item[idField] !== undefined) {
|
|
99
|
+
Object.defineProperty(this, idField, {
|
|
100
|
+
value: item[idField],
|
|
101
|
+
writable: true,
|
|
102
|
+
configurable: true,
|
|
103
|
+
enumerable: false
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
return this;
|
|
108
|
+
}
|
|
109
|
+
async saveItem(source = this, cascadeSave = false) {
|
|
110
|
+
const metadata = this.getMetadata();
|
|
111
|
+
// Save linked entities first (cascade save) only if cascadeSave is true
|
|
112
|
+
if (cascadeSave) {
|
|
113
|
+
const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
|
|
114
|
+
for (const link of links) {
|
|
115
|
+
const value = source[link.propertyKey];
|
|
116
|
+
if (value !== undefined && value !== null) {
|
|
117
|
+
if (Array.isArray(value)) {
|
|
118
|
+
// Save all linked entities in parallel
|
|
119
|
+
await Promise.all(value.map((linkedItem) => linkedItem.insert(true)));
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
// Save single linked entity
|
|
123
|
+
await value.insert(true);
|
|
124
|
+
}
|
|
92
125
|
}
|
|
93
126
|
}
|
|
94
127
|
}
|
|
95
|
-
const item = this.toItem();
|
|
128
|
+
const item = this.toItem(source);
|
|
96
129
|
await (0, client_1.getDocClient)().send(new lib_dynamodb_1.PutCommand({
|
|
97
130
|
TableName: metadata.tableName,
|
|
98
131
|
Item: item
|
|
@@ -101,6 +134,7 @@ class BaseEntity {
|
|
|
101
134
|
// Record shape: { [hashKey]: '__link', [sortKey]: '{parentHK}#{parentSK}#{property}#{linkedHK}#{linkedSK}',
|
|
102
135
|
// linkedHashKey, linkedSortKey, isArray }
|
|
103
136
|
// Requires the parent entity table to have a sort key.
|
|
137
|
+
const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
|
|
104
138
|
const nonInlineLinks = links.filter(link => {
|
|
105
139
|
const isInline = link.inline ?? false;
|
|
106
140
|
return !isInline;
|
|
@@ -111,11 +145,11 @@ class BaseEntity {
|
|
|
111
145
|
`Non-inline links require a sort key. Use @Link(..., { inline: true }) or add a sort key.`);
|
|
112
146
|
}
|
|
113
147
|
if (metadata.sortKeyName && nonInlineLinks.length > 0) {
|
|
114
|
-
const parentKey = this.getKey();
|
|
148
|
+
const parentKey = this.getKey(source);
|
|
115
149
|
const parentHKVal = String(parentKey[metadata.hashKeyName]);
|
|
116
150
|
const parentSKVal = String(parentKey[metadata.sortKeyName]);
|
|
117
151
|
for (const link of nonInlineLinks) {
|
|
118
|
-
const value =
|
|
152
|
+
const value = source[link.propertyKey];
|
|
119
153
|
// Delete all existing link records for this property before writing new ones.
|
|
120
154
|
// Runs even when value is null/undefined so clearing a link removes stale records.
|
|
121
155
|
const skPrefix = `${(0, client_1.encodeLinkSegment)(parentHKVal)}#${(0, client_1.encodeLinkSegment)(parentSKVal)}#${(0, client_1.encodeLinkSegment)(link.propertyKey)}#`;
|
|
@@ -195,9 +229,29 @@ class BaseEntity {
|
|
|
195
229
|
}
|
|
196
230
|
return this;
|
|
197
231
|
}
|
|
232
|
+
async insert(cascadeSave = false) {
|
|
233
|
+
await this.saveItem(this, cascadeSave);
|
|
234
|
+
return this;
|
|
235
|
+
}
|
|
198
236
|
async update(attributes) {
|
|
199
237
|
const metadata = this.getMetadata();
|
|
200
238
|
const key = this.getKey();
|
|
239
|
+
const snapshot = Object.assign(Object.create(Object.getPrototypeOf(this)), this, attributes);
|
|
240
|
+
const nextKey = this.getKey(snapshot);
|
|
241
|
+
const hashKeyChanged = key[metadata.hashKeyName] !== nextKey[metadata.hashKeyName];
|
|
242
|
+
const sortKeyChanged = metadata.sortKeyName
|
|
243
|
+
? key[metadata.sortKeyName] !== nextKey[metadata.sortKeyName]
|
|
244
|
+
: false;
|
|
245
|
+
if (hashKeyChanged || sortKeyChanged) {
|
|
246
|
+
throw new Error(`Cannot update key fields for entity "${metadata.tableName}". ` +
|
|
247
|
+
`Hash key and sort key values are immutable; create a new entity and delete the old one instead.`);
|
|
248
|
+
}
|
|
249
|
+
const toDbModelMapper = this.constructor[symbols_1.TO_DB_MODEL_METADATA];
|
|
250
|
+
if (toDbModelMapper) {
|
|
251
|
+
await this.saveItem(snapshot);
|
|
252
|
+
Object.assign(this, attributes);
|
|
253
|
+
return this;
|
|
254
|
+
}
|
|
201
255
|
const updateExpressions = [];
|
|
202
256
|
const expressionAttributeNames = {};
|
|
203
257
|
const expressionAttributeValues = {};
|
|
@@ -208,9 +262,6 @@ class BaseEntity {
|
|
|
208
262
|
expressionAttributeValues[`:val${index}`] = attrValue;
|
|
209
263
|
index++;
|
|
210
264
|
}
|
|
211
|
-
updateExpressions.push(`#updatedAt = :updatedAt`);
|
|
212
|
-
expressionAttributeNames['#updatedAt'] = 'updatedAt';
|
|
213
|
-
expressionAttributeValues[':updatedAt'] = new Date().toISOString();
|
|
214
265
|
await (0, client_1.getDocClient)().send(new lib_dynamodb_1.UpdateCommand({
|
|
215
266
|
TableName: metadata.tableName,
|
|
216
267
|
Key: key,
|
|
@@ -224,6 +275,24 @@ class BaseEntity {
|
|
|
224
275
|
async delete() {
|
|
225
276
|
const metadata = this.getMetadata();
|
|
226
277
|
const key = this.getKey();
|
|
278
|
+
// Guard: refuse deletion if other entities still reference this one via backlinks.
|
|
279
|
+
if (metadata.sortKeyName) {
|
|
280
|
+
const itemHKVal = String(key[metadata.hashKeyName]);
|
|
281
|
+
const itemSKVal = String(key[metadata.sortKeyName]);
|
|
282
|
+
const backlinkPrefix = `${(0, client_1.encodeLinkSegment)(itemHKVal)}#${(0, client_1.encodeLinkSegment)(itemSKVal)}#`;
|
|
283
|
+
const inboundBacklinks = await (0, client_1.paginatedQuery)({
|
|
284
|
+
TableName: metadata.tableName,
|
|
285
|
+
KeyConditionExpression: '#pk = :pkval AND begins_with(#sk, :skprefix)',
|
|
286
|
+
ExpressionAttributeNames: { '#pk': metadata.hashKeyName, '#sk': metadata.sortKeyName },
|
|
287
|
+
ExpressionAttributeValues: {
|
|
288
|
+
':pkval': '__backlink',
|
|
289
|
+
':skprefix': backlinkPrefix
|
|
290
|
+
}
|
|
291
|
+
});
|
|
292
|
+
if (inboundBacklinks.length > 0) {
|
|
293
|
+
throw new Error(`Cannot delete: still referenced by ${inboundBacklinks.length} record(s). Remove all references first.`);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
227
296
|
// Clean up non-inline link records before deleting the parent to prevent orphans.
|
|
228
297
|
if (metadata.sortKeyName) {
|
|
229
298
|
const links = this.constructor.prototype[symbols_1.LINKS_METADATA] || [];
|
|
@@ -264,40 +333,6 @@ class BaseEntity {
|
|
|
264
333
|
}));
|
|
265
334
|
}
|
|
266
335
|
}
|
|
267
|
-
// Clean up forward link records pointing TO this item (child-side cleanup via back-references).
|
|
268
|
-
if (metadata.sortKeyName) {
|
|
269
|
-
const itemHKVal = String(key[metadata.hashKeyName]);
|
|
270
|
-
const itemSKVal = String(key[metadata.sortKeyName]);
|
|
271
|
-
const backlinkPrefix = `${(0, client_1.encodeLinkSegment)(itemHKVal)}#${(0, client_1.encodeLinkSegment)(itemSKVal)}#`;
|
|
272
|
-
const backlinks = await (0, client_1.paginatedQuery)({
|
|
273
|
-
TableName: metadata.tableName,
|
|
274
|
-
KeyConditionExpression: '#pk = :pkval AND begins_with(#sk, :skprefix)',
|
|
275
|
-
ExpressionAttributeNames: { '#pk': metadata.hashKeyName, '#sk': metadata.sortKeyName },
|
|
276
|
-
ExpressionAttributeValues: {
|
|
277
|
-
':pkval': '__backlink',
|
|
278
|
-
':skprefix': backlinkPrefix
|
|
279
|
-
}
|
|
280
|
-
});
|
|
281
|
-
await Promise.all(backlinks.map(async (backlink) => {
|
|
282
|
-
// Delete the forward link record in the parent's table
|
|
283
|
-
const fwdSKVal = `${(0, client_1.encodeLinkSegment)(backlink.parentHashKey)}#${(0, client_1.encodeLinkSegment)(backlink.parentSortKey)}#${(0, client_1.encodeLinkSegment)(backlink.propertyKey)}#${(0, client_1.encodeLinkSegment)(itemHKVal)}#${(0, client_1.encodeLinkSegment)(itemSKVal)}`;
|
|
284
|
-
await (0, client_1.getDocClient)().send(new lib_dynamodb_1.DeleteCommand({
|
|
285
|
-
TableName: backlink.parentTableName,
|
|
286
|
-
Key: {
|
|
287
|
-
[backlink.parentHashKeyName]: '__link',
|
|
288
|
-
[backlink.parentSortKeyName]: fwdSKVal
|
|
289
|
-
}
|
|
290
|
-
}));
|
|
291
|
-
// Delete the back-reference record itself
|
|
292
|
-
await (0, client_1.getDocClient)().send(new lib_dynamodb_1.DeleteCommand({
|
|
293
|
-
TableName: metadata.tableName,
|
|
294
|
-
Key: {
|
|
295
|
-
[metadata.hashKeyName]: backlink[metadata.hashKeyName],
|
|
296
|
-
[metadata.sortKeyName]: backlink[metadata.sortKeyName]
|
|
297
|
-
}
|
|
298
|
-
}));
|
|
299
|
-
}));
|
|
300
|
-
}
|
|
301
336
|
await (0, client_1.getDocClient)().send(new lib_dynamodb_1.DeleteCommand({
|
|
302
337
|
TableName: metadata.tableName,
|
|
303
338
|
Key: key
|
|
@@ -312,15 +347,9 @@ class BaseEntity {
|
|
|
312
347
|
continue;
|
|
313
348
|
const EntityClass = link.entityClass;
|
|
314
349
|
const entityMetadata = EntityClass.__entityMetadata__;
|
|
315
|
-
const fromDbModelMapper = EntityClass[symbols_1.FROM_DB_MODEL_METADATA];
|
|
316
350
|
const instantiate = (raw) => {
|
|
317
|
-
let itemData = raw;
|
|
318
|
-
if (fromDbModelMapper) {
|
|
319
|
-
itemData = { ...raw, ...EntityClass[fromDbModelMapper](raw) };
|
|
320
|
-
}
|
|
321
351
|
const instance = new EntityClass();
|
|
322
|
-
|
|
323
|
-
return instance;
|
|
352
|
+
return instance.fromItem(raw);
|
|
324
353
|
};
|
|
325
354
|
const idField = `__${link.propertyKey}ID`;
|
|
326
355
|
const idValue = this[idField];
|
|
@@ -410,15 +439,8 @@ class BaseEntity {
|
|
|
410
439
|
if (!result.Item) {
|
|
411
440
|
return null;
|
|
412
441
|
}
|
|
413
|
-
const fromDbModelMapper = this[symbols_1.FROM_DB_MODEL_METADATA];
|
|
414
|
-
let itemData = result.Item;
|
|
415
|
-
if (fromDbModelMapper) {
|
|
416
|
-
const mappedData = this[fromDbModelMapper](result.Item);
|
|
417
|
-
itemData = { ...result.Item, ...mappedData };
|
|
418
|
-
}
|
|
419
442
|
const instance = new this();
|
|
420
|
-
|
|
421
|
-
return instance;
|
|
443
|
+
return instance.fromItem(result.Item);
|
|
422
444
|
}
|
|
423
445
|
static async query(options) {
|
|
424
446
|
const metadata = this.__entityMetadata__;
|
|
@@ -483,49 +505,42 @@ class BaseEntity {
|
|
|
483
505
|
if (!result.Items || result.Items.length === 0) {
|
|
484
506
|
return [];
|
|
485
507
|
}
|
|
486
|
-
const fromDbModelMapper = this[symbols_1.FROM_DB_MODEL_METADATA];
|
|
487
508
|
return result.Items.map(item => {
|
|
488
|
-
let itemData = item;
|
|
489
|
-
if (fromDbModelMapper) {
|
|
490
|
-
const mappedData = this[fromDbModelMapper](item);
|
|
491
|
-
itemData = { ...item, ...mappedData };
|
|
492
|
-
}
|
|
493
509
|
const instance = new this();
|
|
494
|
-
|
|
495
|
-
return instance;
|
|
510
|
+
return instance.fromItem(item);
|
|
496
511
|
});
|
|
497
512
|
}
|
|
498
|
-
static async queryAll(
|
|
499
|
-
return this.query(
|
|
513
|
+
static async queryAll(options) {
|
|
514
|
+
return this.query(options);
|
|
500
515
|
}
|
|
501
|
-
static async queryStartsWith(sortKeyPrefix,
|
|
516
|
+
static async queryStartsWith(sortKeyPrefix, options) {
|
|
502
517
|
return this.query({
|
|
503
518
|
sortKeyCondition: { type: 'startsWith', value: sortKeyPrefix },
|
|
504
|
-
|
|
519
|
+
...options
|
|
505
520
|
});
|
|
506
521
|
}
|
|
507
|
-
static async queryBetween(start, end,
|
|
522
|
+
static async queryBetween(start, end, options) {
|
|
508
523
|
return this.query({
|
|
509
524
|
sortKeyCondition: { type: 'between', start, end },
|
|
510
|
-
|
|
525
|
+
...options
|
|
511
526
|
});
|
|
512
527
|
}
|
|
513
|
-
static async queryGreaterThan(sortKeyValue,
|
|
528
|
+
static async queryGreaterThan(sortKeyValue, options) {
|
|
514
529
|
return this.query({
|
|
515
530
|
sortKeyCondition: { type: 'greaterThan', value: sortKeyValue },
|
|
516
|
-
|
|
531
|
+
...options
|
|
517
532
|
});
|
|
518
533
|
}
|
|
519
|
-
static async queryLessThan(sortKeyValue,
|
|
534
|
+
static async queryLessThan(sortKeyValue, options) {
|
|
520
535
|
return this.query({
|
|
521
536
|
sortKeyCondition: { type: 'lessThan', value: sortKeyValue },
|
|
522
|
-
|
|
537
|
+
...options
|
|
523
538
|
});
|
|
524
539
|
}
|
|
525
|
-
static async queryEquals(sortKeyValue,
|
|
540
|
+
static async queryEquals(sortKeyValue, options) {
|
|
526
541
|
return this.query({
|
|
527
542
|
sortKeyCondition: { type: 'equals', value: sortKeyValue },
|
|
528
|
-
|
|
543
|
+
...options
|
|
529
544
|
});
|
|
530
545
|
}
|
|
531
546
|
}
|
package/dist/BaseEntity.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../BaseEntity.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BaseEntity.js","sourceRoot":"","sources":["../BaseEntity.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "orm-dynamodb",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "Lightweight TypeScript decorators for modeling DynamoDB items as classes",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -37,12 +37,12 @@
|
|
|
37
37
|
"license": "Apache-2.0",
|
|
38
38
|
"repository": {
|
|
39
39
|
"type": "git",
|
|
40
|
-
"url": ""
|
|
40
|
+
"url": "https://github.com/ssz360/ORM-DynamoDB.git"
|
|
41
41
|
},
|
|
42
42
|
"bugs": {
|
|
43
|
-
"url": ""
|
|
43
|
+
"url": "https://github.com/ssz360/ORM-DynamoDB/issues"
|
|
44
44
|
},
|
|
45
|
-
"homepage": "https://github.com/ssz360/DynamoDB
|
|
45
|
+
"homepage": "https://github.com/ssz360/ORM-DynamoDB",
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"@aws-sdk/client-dynamodb": "^3.0.0",
|
|
48
48
|
"@aws-sdk/lib-dynamodb": "^3.0.0",
|