Skip to content

Commit e9a369b

Browse files
authored
fix(enums): fix nested enum types not having values in forestadmin-schema (#612)
1 parent fa95f15 commit e9a369b

File tree

3 files changed

+28
-2
lines changed

3 files changed

+28
-2
lines changed

src/adapters/mongoose.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,12 @@ module.exports = async (model, opts) => {
7474
field.enums = fieldInfo.enumValues;
7575
}
7676

77+
if (fieldInfo.enum
78+
&& Array.isArray(fieldInfo.enum)
79+
&& fieldInfo.enum.length) {
80+
field.enums = fieldInfo.enum;
81+
}
82+
7783
type.fields.push(field);
7884
});
7985

test/tests/adapters/expected-results/deep-nested-schema.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,14 @@
4141
{
4242
"field": "depth1Field2Field1",
4343
"type": "Boolean"
44+
},
45+
{
46+
"field": "depth1Field2Field2",
47+
"type": "Enum",
48+
"enums": [
49+
"value1",
50+
"value2"
51+
]
4452
}
4553
]
4654
}

test/tests/adapters/mongoose.test.js

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -579,10 +579,22 @@ describe('adapters > schema-adapter', () => {
579579
expect.assertions(1);
580580
const schema = new Schema({
581581
field1: [Date],
582-
field2: { field2Field1: Boolean, field2Field2: Number },
582+
field2: {
583+
field2Field1: Boolean,
584+
field2Field2: {
585+
type: Number,
586+
},
587+
},
583588
depth1: new Schema({
584589
depth1Field1: [Date],
585-
depth1Field2: { depth1Field2Field1: Boolean },
590+
depth1Field2: {
591+
depth1Field2Field1: Boolean,
592+
depth1Field2Field2: {
593+
type: String,
594+
enum: ['value1', 'value2'],
595+
default: 'value1',
596+
},
597+
},
586598
depth2: [
587599
new Schema({
588600
depth2Field1: [Date],

0 commit comments

Comments
 (0)