File tree Expand file tree Collapse file tree 1 file changed +32
-5
lines changed Expand file tree Collapse file tree 1 file changed +32
-5
lines changed Original file line number Diff line number Diff line change @@ -171,18 +171,45 @@ class ServerlessDynamodbLocal {
171
171
}
172
172
}
173
173
174
- /**
175
- * Gets the table definitions
176
- */
177
- get tables ( ) {
178
- const resources = this . service . resources . Resources ;
174
+ getDefaultStack ( ) {
175
+ return _ . get ( this . service , "resources" ) ;
176
+ }
177
+
178
+ getAdditionalStacks ( ) {
179
+ return _ . values ( _ . get ( this . service , "custom.additionalStacks" , { } ) ) ;
180
+ }
181
+
182
+ hasAdditionalStacksPlugin ( ) {
183
+ return _ . get ( this . service , "plugins" , [ ] ) . includes ( "serverless-plugin-additional-stacks" ) ;
184
+ }
185
+
186
+ getTableDefinitionsFromStack ( stack ) {
187
+ const resources = _ . get ( stack , "Resources" , [ ] ) ;
179
188
return Object . keys ( resources ) . map ( ( key ) => {
180
189
if ( resources [ key ] . Type === "AWS::DynamoDB::Table" ) {
181
190
return resources [ key ] . Properties ;
182
191
}
183
192
} ) . filter ( ( n ) => n ) ;
184
193
}
185
194
195
+ /**
196
+ * Gets the table definitions
197
+ */
198
+ get tables ( ) {
199
+ let stacks = [ ] ;
200
+
201
+ const defaultStack = this . getDefaultStack ( ) ;
202
+ if ( defaultStack ) {
203
+ stacks . push ( defaultStack ) ;
204
+ }
205
+
206
+ if ( this . hasAdditionalStacksPlugin ( ) ) {
207
+ stacks = stacks . concat ( this . getAdditionalStacks ( ) ) ;
208
+ }
209
+
210
+ return stacks . map ( ( stack ) => this . getTableDefinitionsFromStack ( stack ) ) . reduce ( ( tables , tablesInStack ) => tables . concat ( tablesInStack ) , [ ] ) ;
211
+ }
212
+
186
213
/**
187
214
* Gets the seeding sources
188
215
*/
You can’t perform that action at this time.
0 commit comments