controllers/api.js
function (i) {
                    if (i >= columns.length) {
                        insertIntoDB();
                        return;
                    }

                    var dbField = columns[i];
                    var field = dbField.Field;

                    //Check required fields
                    if (dbField.Null === 'NO' && 
                        dbField.Default === '' && 
                        dbField.Extra !== 'auto_increment' && 
                        dbField.Extra.search('on update')===-1) {

                        //Check if field not set
                        if (undefOrEmpty(req.body[field])) {
                            return sendError(res,"Field " + field + " is NOT NULL but not specified in this request");
                        } else {
                            //Check if the set values are roughly okay
                            value = checkIfSentvaluesAreSufficient(req,dbField);
                            console.log(value);
                            if(value !== false) {
                                //Value seems okay, go to the next field
                                insertJson[field] = value;
                                iterator(i + 1);
                            } else {
                                return sendError(res,'Value for field ' + field + ' is not sufficient. Expecting ' + dbField.Type + ' but got ' + typeof req.body[field] );
                            }
                        }
                    }  else {
                        //Check for not required fields
                        //Skip auto_incremented fields
                        if(dbField.Extra === 'auto_increment') {
                            iterator(i + 1);
                        } else {
                            //Check if the field was provided by the client
                            var defined = false;
                            if(dbField.Default == "FILE") {
                                if(req.files.hasOwnProperty(dbField.Field)) {
                                    defined = true;
                                }
                            } else {
                                if(typeof req.body[field] !== "undefined") {
                                    defined = true;
                                }
                            }

                            //If it was provided, check if the values are okay
                            if(defined) {
                                value = checkIfSentvaluesAreSufficient(req,dbField);
                                if(value !== false) {
                                    insertJson[field] = value;
                                    iterator(i + 1);
                                } else {
                                    if(dbField.Default == "FILE") {
                                        return sendError(res, 'Value for field ' + field + ' is not sufficient. Either the file is to large or an other error occured');
                                    } else {
                                        return sendError(res, 'Value for field ' + field + ' is not sufficient. Expecting ' + dbField.Type + ' but got ' + typeof req.body[field]);
                                    }
                                }
                            } else {
                                //If not, don't mind
                                iterator(i + 1);
                            }

                        }
                    }

                }
function (i) {
                    if (i >= columns.length) {
                        insertIntoDB();
                        return;
                    }

                    var dbField = columns[i];
                    var field = dbField.Field;

                    //Check required fields
                    if (dbField.Null === 'NO' && 
                        dbField.Default === '' && 
                        dbField.Extra !== 'auto_increment' && 
                        dbField.Extra.search('on update')===-1) {

                        //Check if field not set
                        if (undefOrEmpty(req.body[field])) {
                            return sendError(res,"Field " + field + " is NOT NULL but not specified in this request");
                        } else {
                            //Check if the set values are roughly okay
                            value = checkIfSentvaluesAreSufficient(req,dbField);
                            console.log(value);
                            if(value !== false) {
                                //Value seems okay, go to the next field
                                insertJson[field] = value;
                                iterator(i + 1);
                            } else {
                                return sendError(res,'Value for field ' + field + ' is not sufficient. Expecting ' + dbField.Type + ' but got ' + typeof req.body[field] );
                            }
                        }
                    }  else {
                        //Check for not required fields
                        //Skip auto_incremented fields
                        if(dbField.Extra === 'auto_increment') {
                            iterator(i + 1);
                        } else {
                            //Check if the field was provided by the client
                            var defined = false;
                            if(dbField.Default == "FILE") {
                                if(req.files.hasOwnProperty(dbField.Field)) {
                                    defined = true;
                                }
                            } else {
                                if(typeof req.body[field] !== "undefined") {
                                    defined = true;
                                }
                            }

                            //If it was provided, check if the values are okay
                            if(defined) {
                                value = checkIfSentvaluesAreSufficient(req,dbField);
                                if(value !== false) {
                                    insertJson[field] = value;
                                    iterator(i + 1);
                                } else {
                                    if(dbField.Default == "FILE") {
                                        return sendError(res, 'Value for field ' + field + ' is not sufficient. Either the file is to large or an other error occured');
                                    } else {
                                        return sendError(res, 'Value for field ' + field + ' is not sufficient. Expecting ' + dbField.Type + ' but got ' + typeof req.body[field]);
                                    }
                                }
                            } else {
                                //If not, don't mind
                                iterator(i + 1);
                            }

                        }
                    }

                }
function ( i ) { if ( i >= columns . length ) { insertIntoDB ( ) ; return ; } var dbField = columns [ i ] ; var field = dbField . Field ; //Check required fields if ( dbField . Null === 'NO' && dbField . Default === '' && dbField . Extra !== 'auto_increment' && dbField . Extra . search ( 'on update' ) === - 1 ) { //Check if field not set if ( undefOrEmpty ( req . body [ field ] ) ) { return sendError ( res , "Field " + field + " is NOT NULL but not specified in this request" ) ; } else { //Check if the set values are roughly okay value = checkIfSentvaluesAreSufficient ( req , dbField ) ; console . log ( value ) ; if ( value !== false ) { //Value seems okay, go to the next field insertJson [ field ] = value ; iterator ( i + 1 ) ; } else { return sendError ( res , 'Value for field ' + field + ' is not sufficient. Expecting ' + dbField . Type + ' but got ' + typeof req . body [ field ] ) ; } } } else { //Check for not required fields //Skip auto_incremented fields if ( dbField . Extra === 'auto_increment' ) { iterator ( i + 1 ) ; } else { //Check if the field was provided by the client var defined = false ; if ( dbField . Default == "FILE" ) { if ( req . files . hasOwnProperty ( dbField . Field ) ) { defined = true ; } } else { if ( typeof req . body [ field ] !== "undefined" ) { defined = true ; } } //If it was provided, check if the values are okay if ( defined ) { value = checkIfSentvaluesAreSufficient ( req , dbField ) ; if ( value !== false ) { insertJson [ field ] = value ; iterator ( i + 1 ) ; } else { if ( dbField . Default == "FILE" ) { return sendError ( res , 'Value for field ' + field + ' is not sufficient. Either the file is to large or an other error occured' ) ; } else { return sendError ( res , 'Value for field ' + field + ' is not sufficient. Expecting ' + dbField . Type + ' but got ' + typeof req . body [ field ] ) ; } } } else { //If not, don't mind iterator ( i + 1 ) ; } } } }
Forced sync iterator
Forced sync iterator