@@ -43,7 +43,7 @@ export default class extends BaseGenerator {
43
43
handlebars . registerHelper ( "isArray" , hbh_array . isArray ) ;
44
44
handlebars . registerHelper ( "inArray" , hbh_array . inArray ) ;
45
45
handlebars . registerHelper ( "forEach" , hbh_array . forEach ) ;
46
- handlebars . registerHelper ( "downcase " , hbh_string . downcase ) ;
46
+ handlebars . registerHelper ( "lowercase " , hbh_string . lowercase ) ;
47
47
48
48
this . registerSwitchHelper ( ) ;
49
49
}
@@ -105,15 +105,13 @@ export default class extends BaseGenerator {
105
105
const lc = resource . title . toLowerCase ( ) ;
106
106
const titleUcFirst =
107
107
resource . title . charAt ( 0 ) . toUpperCase ( ) + resource . title . slice ( 1 ) ;
108
+ const fields = this . parseFields ( resource ) ;
108
109
109
110
const formFields = this . buildFields ( resource . writableFields ) ;
110
111
111
112
const dateTypes = [ "time" , "date" , "dateTime" ] ;
112
113
const formContainsDate = formFields . some ( ( e ) => dateTypes . includes ( e . type ) ) ;
113
114
114
- const fields = this . buildFields ( resource . readableFields ) ;
115
- const listContainsDate = fields . some ( ( e ) => dateTypes . includes ( e . type ) ) ;
116
-
117
115
const parameters = [ ] ;
118
116
params . forEach ( ( p ) => {
119
117
const param = fields . find ( ( field ) => field . name === p . variable ) ;
@@ -139,7 +137,6 @@ export default class extends BaseGenerator {
139
137
uc : resource . title . toUpperCase ( ) ,
140
138
fields,
141
139
dateTypes,
142
- listContainsDate,
143
140
paramsHaveRefs,
144
141
parameters,
145
142
formFields,
@@ -304,4 +301,31 @@ export default class extends BaseGenerator {
304
301
recPerPage : "Records per page:" ,
305
302
} ;
306
303
}
304
+
305
+ parseFields ( resource ) {
306
+ const fields = [
307
+ ...resource . writableFields ,
308
+ ...resource . readableFields ,
309
+ ] . reduce ( ( list , field ) => {
310
+ if ( list [ field . name ] ) {
311
+ return list ;
312
+ }
313
+
314
+ const isReferences = field . reference && field . maxCardinality !== 1 ;
315
+ const isEmbeddeds = field . embedded && field . maxCardinality !== 1 ;
316
+
317
+ return {
318
+ ...list ,
319
+ [ field . name ] : {
320
+ ...field ,
321
+ readonly : false ,
322
+ isReferences,
323
+ isEmbeddeds,
324
+ isRelations : isEmbeddeds || isReferences ,
325
+ } ,
326
+ } ;
327
+ } , { } ) ;
328
+
329
+ return Object . values ( fields ) ;
330
+ }
307
331
}
0 commit comments