@@ -87,38 +87,38 @@ function generateMutationCreate(modelName, inputType, outputType, model, graphql
8787 ? graphqlModelDeclaration . create . extraArg
8888 : { } ) ) ,
8989 resolve : function ( source , args , context , info ) { return __awaiter ( _this , void 0 , void 0 , function ( ) {
90- var attributes , beforeList , beforeList_1 , beforeList_1_1 , before , handle , e_1_1 , beforeHandle , preventDuplicateAttributes_1 , filters , entityDuplicate , newEntity , error_1 , afterHandle , hookData , updatedEntity ;
91- var e_1 , _a , _b , _c ;
92- return __generator ( this , function ( _d ) {
93- switch ( _d . label ) {
90+ var attributes , beforeList , beforeList_1 , beforeList_1_1 , before , handle , e_1_1 , beforeList , beforeList_2 , beforeList_2_1 , before , beforeHandle , e_2_1 , preventDuplicateAttributes_1 , filters , entityDuplicate , newEntity , error_1 , afterList , updatedEntity , hookData , afterList_1 , afterList_1_1 , after , afterHandle , e_3_1 ;
91+ var e_1 , _a , e_2 , _b , e_3 , _c , _d , _e ;
92+ return __generator ( this , function ( _f ) {
93+ switch ( _f . label ) {
9494 case 0 :
9595 attributes = args [ modelName ] ;
9696 if ( ! graphqlModelDeclaration . before ) return [ 3 /*break*/ , 8 ] ;
97- beforeList = typeof graphqlModelDeclaration . before . length !== 'undefined'
97+ beforeList = Array . isArray ( graphqlModelDeclaration . before )
9898 ? graphqlModelDeclaration . before
9999 : [ graphqlModelDeclaration . before ] ;
100- _d . label = 1 ;
100+ _f . label = 1 ;
101101 case 1 :
102- _d . trys . push ( [ 1 , 6 , 7 , 8 ] ) ;
102+ _f . trys . push ( [ 1 , 6 , 7 , 8 ] ) ;
103103 beforeList_1 = __values ( beforeList ) , beforeList_1_1 = beforeList_1 . next ( ) ;
104- _d . label = 2 ;
104+ _f . label = 2 ;
105105 case 2 :
106106 if ( ! ! beforeList_1_1 . done ) return [ 3 /*break*/ , 5 ] ;
107107 before = beforeList_1_1 . value ;
108108 handle = globalPreCallback ( 'createGlobalBefore' ) ;
109109 return [ 4 /*yield*/ , before ( { args : args , context : context , info : info } ) ] ;
110110 case 3 :
111- _d . sent ( ) ;
111+ _f . sent ( ) ;
112112 if ( handle ) {
113113 handle ( ) ;
114114 }
115- _d . label = 4 ;
115+ _f . label = 4 ;
116116 case 4 :
117117 beforeList_1_1 = beforeList_1 . next ( ) ;
118118 return [ 3 /*break*/ , 2 ] ;
119119 case 5 : return [ 3 /*break*/ , 8 ] ;
120120 case 6 :
121- e_1_1 = _d . sent ( ) ;
121+ e_1_1 = _f . sent ( ) ;
122122 e_1 = { error : e_1_1 } ;
123123 return [ 3 /*break*/ , 8 ] ;
124124 case 7 :
@@ -130,27 +130,52 @@ function generateMutationCreate(modelName, inputType, outputType, model, graphql
130130 case 8 :
131131 if ( ! ( graphqlModelDeclaration . create &&
132132 'before' in graphqlModelDeclaration . create &&
133- graphqlModelDeclaration . create . before ) ) return [ 3 /*break*/ , 10 ] ;
133+ graphqlModelDeclaration . create . before ) ) return [ 3 /*break*/ , 16 ] ;
134+ beforeList = Array . isArray ( graphqlModelDeclaration . create . before )
135+ ? graphqlModelDeclaration . create . before
136+ : [ graphqlModelDeclaration . create . before ] ;
137+ _f . label = 9 ;
138+ case 9 :
139+ _f . trys . push ( [ 9 , 14 , 15 , 16 ] ) ;
140+ beforeList_2 = __values ( beforeList ) , beforeList_2_1 = beforeList_2 . next ( ) ;
141+ _f . label = 10 ;
142+ case 10 :
143+ if ( ! ! beforeList_2_1 . done ) return [ 3 /*break*/ , 13 ] ;
144+ before = beforeList_2_1 . value ;
134145 beforeHandle = globalPreCallback ( 'createBefore' ) ;
135- return [ 4 /*yield*/ , graphqlModelDeclaration . create . before ( {
146+ return [ 4 /*yield*/ , before ( {
136147 source : source ,
137148 args : args ,
138149 context : context ,
139150 info : info
140151 } ) ] ;
141- case 9 :
142- attributes = _d . sent ( ) ;
152+ case 11 :
153+ attributes = _f . sent ( ) ;
143154 if ( ! attributes ) {
144155 throw new Error ( 'The before hook must always return the create method first parameter.' ) ;
145156 }
146157 if ( beforeHandle ) {
147158 beforeHandle ( ) ;
148159 }
149- _d . label = 10 ;
150- case 10 :
160+ _f . label = 12 ;
161+ case 12 :
162+ beforeList_2_1 = beforeList_2 . next ( ) ;
163+ return [ 3 /*break*/ , 10 ] ;
164+ case 13 : return [ 3 /*break*/ , 16 ] ;
165+ case 14 :
166+ e_2_1 = _f . sent ( ) ;
167+ e_2 = { error : e_2_1 } ;
168+ return [ 3 /*break*/ , 16 ] ;
169+ case 15 :
170+ try {
171+ if ( beforeList_2_1 && ! beforeList_2_1 . done && ( _b = beforeList_2 [ "return" ] ) ) _b . call ( beforeList_2 ) ;
172+ }
173+ finally { if ( e_2 ) throw e_2 . error ; }
174+ return [ 7 /*endfinally*/ ] ;
175+ case 16 :
151176 if ( ! ( graphqlModelDeclaration . create &&
152177 'preventDuplicateOnAttributes' in graphqlModelDeclaration . create &&
153- graphqlModelDeclaration . create . preventDuplicateOnAttributes ) ) return [ 3 /*break*/ , 13 ] ;
178+ graphqlModelDeclaration . create . preventDuplicateOnAttributes ) ) return [ 3 /*break*/ , 19 ] ;
154179 preventDuplicateAttributes_1 = graphqlModelDeclaration . create . preventDuplicateOnAttributes ;
155180 filters = Object . keys ( attributes ) . reduce ( function ( acc , key ) {
156181 if ( preventDuplicateAttributes_1 . includes ( key ) ) {
@@ -159,71 +184,101 @@ function generateMutationCreate(modelName, inputType, outputType, model, graphql
159184 return acc ;
160185 } , { } ) ;
161186 entityDuplicate = null ;
162- if ( ! Object . keys ( filters ) . length ) return [ 3 /*break*/ , 12 ] ;
187+ if ( ! Object . keys ( filters ) . length ) return [ 3 /*break*/ , 18 ] ;
163188 return [ 4 /*yield*/ , model . findOne ( {
164189 where : filters
165190 } ) ] ;
166- case 11 :
167- entityDuplicate = _d . sent ( ) ;
168- _d . label = 12 ;
169- case 12 :
191+ case 17 :
192+ entityDuplicate = _f . sent ( ) ;
193+ _f . label = 18 ;
194+ case 18 :
170195 if ( entityDuplicate ) {
171196 return [ 2 /*return*/ , entityDuplicate ] ;
172197 }
173- _d . label = 13 ;
174- case 13 :
198+ _f . label = 19 ;
199+ case 19 :
175200 newEntity = undefined ;
176- _d . label = 14 ;
177- case 14 :
178- _d . trys . push ( [ 14 , 16 , , 17 ] ) ;
201+ _f . label = 20 ;
202+ case 20 :
203+ _f . trys . push ( [ 20 , 22 , , 23 ] ) ;
179204 return [ 4 /*yield*/ , model . create ( attributes ) ] ;
180- case 15 :
181- newEntity = _d . sent ( ) ;
182- return [ 3 /*break*/ , 17 ] ;
183- case 16 :
184- error_1 = _d . sent ( ) ;
185- // @ts -ignore
186- throw new graphql_1 . GraphQLError ( error_1 . message ) ;
187- case 17 :
205+ case 21 :
206+ newEntity = _f . sent ( ) ;
207+ return [ 3 /*break*/ , 23 ] ;
208+ case 22 :
209+ error_1 = _f . sent ( ) ;
210+ if ( error_1 instanceof Error ) {
211+ throw error_1 ;
212+ }
213+ throw new Error ( 'Unknown error occurred while creating entity' ) ;
214+ case 23 :
188215 if ( ! newEntity ) {
189- return [ 2 /*return*/ ] ;
216+ return [ 2 /*return*/ , undefined ] ;
190217 }
191218 if ( ! ( graphqlModelDeclaration . create &&
192219 'after' in graphqlModelDeclaration . create &&
193- graphqlModelDeclaration . create . after ) ) return [ 3 /*break*/ , 20 ] ;
220+ graphqlModelDeclaration . create . after ) ) return [ 3 /*break*/ , 33 ] ;
221+ afterList = Array . isArray ( graphqlModelDeclaration . create . after )
222+ ? graphqlModelDeclaration . create . after
223+ : [ graphqlModelDeclaration . create . after ] ;
224+ updatedEntity = newEntity ;
225+ hookData = { data : updatedEntity . get ( { plain : true } ) } ;
226+ _f . label = 24 ;
227+ case 24 :
228+ _f . trys . push ( [ 24 , 29 , 30 , 31 ] ) ;
229+ afterList_1 = __values ( afterList ) , afterList_1_1 = afterList_1 . next ( ) ;
230+ _f . label = 25 ;
231+ case 25 :
232+ if ( ! ! afterList_1_1 . done ) return [ 3 /*break*/ , 28 ] ;
233+ after = afterList_1_1 . value ;
194234 afterHandle = globalPreCallback ( 'createAfter' ) ;
195- hookData = { data : newEntity . get ( { plain : true } ) } ;
196- return [ 4 /*yield*/ , graphqlModelDeclaration . create . after ( {
197- newEntity : newEntity ,
235+ return [ 4 /*yield*/ , after ( {
236+ newEntity : updatedEntity ,
198237 source : source ,
199238 args : args ,
200239 context : context ,
201240 info : info ,
202241 setWebhookData : ( 0 , setWebhookData_1 [ "default" ] ) ( hookData )
203242 } ) ] ;
204- case 18 :
205- updatedEntity = _d . sent ( ) ;
243+ case 26 :
244+ updatedEntity = _f . sent ( ) ;
206245 if ( afterHandle ) {
207246 afterHandle ( ) ;
208247 }
248+ _f . label = 27 ;
249+ case 27 :
250+ afterList_1_1 = afterList_1 . next ( ) ;
251+ return [ 3 /*break*/ , 25 ] ;
252+ case 28 : return [ 3 /*break*/ , 31 ] ;
253+ case 29 :
254+ e_3_1 = _f . sent ( ) ;
255+ e_3 = { error : e_3_1 } ;
256+ return [ 3 /*break*/ , 31 ] ;
257+ case 30 :
258+ try {
259+ if ( afterList_1_1 && ! afterList_1_1 . done && ( _c = afterList_1 [ "return" ] ) ) _c . call ( afterList_1 ) ;
260+ }
261+ finally { if ( e_3 ) throw e_3 . error ; }
262+ return [ 7 /*endfinally*/ ] ;
263+ case 31 :
209264 if ( pubSubInstance ) {
210- pubSubInstance . publish ( "" . concat ( modelName , "Created" ) , ( _b = { } ,
211- _b [ "" . concat ( modelName , "Created" ) ] = updatedEntity . get ( ) ,
212- _b ) ) ;
265+ pubSubInstance . publish ( "" . concat ( modelName , "Created" ) , ( _d = { } ,
266+ _d [ "" . concat ( modelName , "Created" ) ] = updatedEntity . get ( ) ,
267+ _d ) ) ;
213268 }
214269 return [ 4 /*yield*/ , ( 0 , callModelWebhook_1 [ "default" ] ) ( modelName , graphqlModelDeclaration . webhooks , 'create' , context , hookData . data , callWebhook ) ] ;
215- case 19 :
216- _d . sent ( ) ;
270+ case 32 :
271+ _f . sent ( ) ;
217272 return [ 2 /*return*/ , updatedEntity ] ;
218- case 20 :
273+ case 33 :
219274 if ( pubSubInstance ) {
220- pubSubInstance . publish ( "" . concat ( modelName , "Created" ) , ( _c = { } ,
221- _c [ "" . concat ( modelName , "Created" ) ] = newEntity . get ( ) ,
222- _c ) ) ;
275+ pubSubInstance . publish ( "" . concat ( modelName , "Created" ) , ( _e = { } ,
276+ _e [ "" . concat ( modelName , "Created" ) ] = newEntity . get ( ) ,
277+ _e ) ) ;
223278 }
224279 return [ 4 /*yield*/ , ( 0 , callModelWebhook_1 [ "default" ] ) ( modelName , graphqlModelDeclaration . webhooks , 'create' , context , __assign ( { } , newEntity . get ( { plain : true } ) ) , callWebhook ) ] ;
225- case 21 :
226- _d . sent ( ) ;
280+ case 34 :
281+ _f . sent ( ) ;
227282 return [ 2 /*return*/ , newEntity ] ;
228283 }
229284 } ) ;
0 commit comments