Skip to content

Commit e6ad9a7

Browse files
committed
fix dynamodb-toolbox#63 by adding the mapped name to the required list
1 parent 41f60cf commit e6ad9a7

File tree

2 files changed

+7
-5
lines changed

2 files changed

+7
-5
lines changed

classes/Entity.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -479,7 +479,8 @@ class Entity {
479479

480480
// Check for required fields
481481
Object.keys(required).forEach(field =>
482-
required[field] && !data[field] && error(`'${field}' is a required field`)
482+
required[field] && !data[field]
483+
&& error(`'${field}${this.schema.attributes[field].alias ? `/${this.schema.attributes[field].alias}` : ''}' is a required field`)
483484
) // end required field check
484485

485486
// Get partition and sort keys
@@ -773,8 +774,9 @@ class Entity {
773774

774775

775776
// Check for required fields
776-
Object.keys(required).forEach(field =>
777-
required[field] !== undefined && !data[field] && error(`'${field}' is a required field`)
777+
Object.keys(required).forEach(field =>
778+
required[field] !== undefined && !data[field]
779+
&& error(`'${field}${this.schema.attributes[field].alias ? `/${this.schema.attributes[field].alias}` : ''}' is a required field`)
778780
) // end required field check
779781

780782
// Checks for partition and sort keys

lib/parseMapping.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -98,8 +98,8 @@ module.exports = (field,config,track) => {
9898
if (config.default !== undefined) track.defaults[field] = config.default
9999

100100
// Track required settings
101-
if (config.required === true) track.required[field] = false
102-
if (config.required === 'always') track.required[field] = true
101+
if (config.required === true) track.required[config.map || field] = false
102+
if (config.required === 'always') track.required[config.map || field] = true
103103

104104

105105

0 commit comments

Comments
 (0)