<commit_before>'use strict';

module.exports = function(sequelize, DataTypes){

    var JOB = sequelize.define('job', {
          TITLE         : {
            type        : DataTypes.STRING
          , allowNull   : false
        }
        , DESCRIPTION   : {
            type        : DataTypes.STRING
          , allowNull   : false
        }
        , LOCATION      : {
            type        : DataTypes.STRING
          , allowNull   : false
        }
        , APPLY_URL     : {
              type      : DataTypes.STRING
            , allowNull : true
            , validate  : {
                isUrl   : true
            }
        }
        , COMPANY_NAME  : {
            type        : DataTypes.STRING
          , allowNull   : false
        }
        , COMPANY_URL   : {
              type      : DataTypes.STRING
            , allowNull : true
            , validate  : {
                isUrl   : true
            }
        }
        , BTC_ADDRESS   : {
            type        : DataTypes.STRING
        }
        , ACTIVE        : {
              type      : DataTypes.BOOLEAN
            , allowNull : false
        }
    }, {
        classMethods  : {
            associate : function(models) {
                JOB.hasMany(models.job_request);
                JOB.belongsTo(models.category);
                JOB.belongsTo(models.job_type);
            }<commit_msg>change apply_url to apply_by and added foreignKey relations<commit_after>'use strict';

module.exports = function(sequelize, DataTypes){

    var JOB = sequelize.define('job', {
          TITLE         : {
            type        : DataTypes.STRING
          , allowNull   : false
        }
        , DESCRIPTION   : {
            type        : DataTypes.STRING
          , allowNull   : false
        }
        , LOCATION      : {
            type        : DataTypes.STRING
          , allowNull   : false
        }
        , APPLY_BY      : {
              type      : DataTypes.STRING
            , allowNull : true
        }
        , COMPANY_NAME  : {
            type        : DataTypes.STRING
          , allowNull   : false
        }
        , COMPANY_URL   : {
              type      : DataTypes.STRING
            , allowNull : true
            , validate  : {
                isUrl   : true
            }
        }
        , BTC_ADDRESS   : {
            type        : DataTypes.STRING
        }
        , ACTIVE        : {
              type      : DataTypes.BOOLEAN
            , allowNull : false
        }
    }, {
        classMethods  : {
            associate : function(models) {
                JOB.hasMany(models.job_request, {
                    onDelete   : 'cascade'
                  , foreignKey : 'JOB_ID'
                });
                JOB.belongsTo(models.category, { foreignKey : 'CATEGORY_ID'});
                JOB.belongsTo(models.job_type, { foreignKey : 'TYPE_ID'});
                JOB.belongsTo(models.user,     { foreignKey : 'USER_ID'});
            }
{'fraction_non_alphanumeric': 0.08651911468812877, 'fraction_numerical': 0.0, 'mean_word_length': 0.9913217623497997, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6326175', 'n_tokens_mistral': 816, 'n_tokens_neox': 789, 'n_words': 131}