diff --git a/app/config/associate.js b/app/config/associate.js index ec03f8f..be44529 100644 --- a/app/config/associate.js +++ b/app/config/associate.js @@ -1,6 +1,6 @@ module.exports = models => { const { - Donor, + donor, Grant, Cause, Region, @@ -10,8 +10,9 @@ module.exports = models => { GrantsOrganizations, Project } = models; + console.log(models); - Donor.hasMany(Grant, { foreignKey: 'donor_id' }); + donor.hasMany(Grant, { foreignKey: 'donor_id' }); Grant.belongsToMany(Organization, { through: 'grants_organizations', @@ -20,13 +21,4 @@ module.exports = models => { }); Grant.hasMany(Charge, { foreignKey: 'grant_id' }); - - Donor.hasMany(PaymentPlan, { - foreignKey: 'subscription_id', - sourceKey: 'subscription_id' - }); - - Grant.hasOne(PaymentPlan, { - foreignKey: 'grant_id' - }); }; diff --git a/app/config/db.config.js b/app/config/db.config.js index afc69cb..17adf51 100644 --- a/app/config/db.config.js +++ b/app/config/db.config.js @@ -1,13 +1,13 @@ const Sequelize = require('sequelize'), - DonorModel = require('../../models/donor.model.js'), - GrantModel = require('../../models/grant.model.js'), - CauseModel = require('../../models/cause.model.js'), - RegionModel = require('../../models/region.model.js'), - OrganizationModel = require('../../models/organization.model.js'), - UserModel = require('../../models/user.model.js'), + DonorModel = require('../../models/Donor.js/index.js'), + GrantModel = require('../../models/Grant.js/index.js'), + CauseModel = require('../../models/Cause.js'), + RegionModel = require('../../models/Region.js/index.js'), + OrganizationModel = require('../../models/Organization.js/index.js'), + UserModel = require('../../models/User.js/index.js'), PaymentPlanModel = require('../../models/paymentplan.model'), - ChargeModel = require('../../models/charge.model'), - GrantsOrganizationsModel = require('../../models/grantsOrganizations.model'), + ChargeModel = require('../../models/Charge'), + GrantsOrganizationsModel = require('../../models/Grant_Organization'), associate = require('./associate'); const connection_uri = process.env.JAWSDB_MARIA_URL; diff --git a/app/controllers/admin/organization.controller.js b/app/controllers/admin/organization.controller.js index 23150ea..51167b3 100644 --- a/app/controllers/admin/organization.controller.js +++ b/app/controllers/admin/organization.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'); const { Grant, Cause, Region, Organization } = db; @@ -7,8 +7,10 @@ const { Grant, Cause, Region, Organization } = db; exports.verifyOrg = async (req, res, next) => { const charity_id = req.params.charity_id; - await db.sequelize.query("UPDATE organizations SET verified = 1 WHERE id = :charity_id", - { replacements: {charity_id} }); + await db.sequelize.query( + 'UPDATE organizations SET verified = 1 WHERE id = :charity_id', + { replacements: { charity_id } } + ); - return res.status(200).json({ message: "Successfully verified charity" }); + return res.status(200).json({ message: 'Successfully verified charity' }); }; diff --git a/app/controllers/auth.controller.js b/app/controllers/auth.controller.js index 8666ebc..0ad7676 100644 --- a/app/controllers/auth.controller.js +++ b/app/controllers/auth.controller.js @@ -1,4 +1,4 @@ -const db = require('../config/db.config.js'), +const db = require('../../models'), bcrypt = require('bcrypt-nodejs'), jwt = require('jsonwebtoken'), errorMaker = require('../helpers/error.maker'), diff --git a/app/controllers/donor/donor.controller.js b/app/controllers/donor/donor.controller.js index d8cb320..19edb4b 100644 --- a/app/controllers/donor/donor.controller.js +++ b/app/controllers/donor/donor.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), bcrypt = require('bcrypt-nodejs'), errorMaker = require('../../helpers/error.maker'), uuidv4 = require('uuid/v4'); diff --git a/app/controllers/donor/grant.controller.js b/app/controllers/donor/grant.controller.js index 5411057..ce70d61 100644 --- a/app/controllers/donor/grant.controller.js +++ b/app/controllers/donor/grant.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'); const stripe = require('./stripe.controller'); diff --git a/app/controllers/donor/organization.controller.js b/app/controllers/donor/organization.controller.js index 787b231..ceab341 100644 --- a/app/controllers/donor/organization.controller.js +++ b/app/controllers/donor/organization.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'); const { Grant, Cause, Region, Organization } = db; diff --git a/app/controllers/donor/stripe.controller.js b/app/controllers/donor/stripe.controller.js index 06e8adf..ea74ffa 100644 --- a/app/controllers/donor/stripe.controller.js +++ b/app/controllers/donor/stripe.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'); const stripe = require('stripe')(process.env.STRIPE_KEY); diff --git a/app/controllers/organization/cause.controller.js b/app/controllers/organization/cause.controller.js index fb45014..6f4a1ff 100644 --- a/app/controllers/organization/cause.controller.js +++ b/app/controllers/organization/cause.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'); const { Grant, Cause, Region, Organization } = db; diff --git a/app/controllers/organization/organization.controller.js b/app/controllers/organization/organization.controller.js index 2a940ae..b887aff 100644 --- a/app/controllers/organization/organization.controller.js +++ b/app/controllers/organization/organization.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), bcrypt = require('bcrypt-nodejs'), errorMaker = require('../../helpers/error.maker'), uuidv4 = require('uuid/v4'); diff --git a/app/controllers/organization/region.controller.js b/app/controllers/organization/region.controller.js index 8cb882a..6ba6b22 100644 --- a/app/controllers/organization/region.controller.js +++ b/app/controllers/organization/region.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'); const { Grant, Cause, Region, Organization } = db; diff --git a/app/controllers/public/cause.controller.js b/app/controllers/public/cause.controller.js index c454901..5bf795d 100644 --- a/app/controllers/public/cause.controller.js +++ b/app/controllers/public/cause.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'), textCleaner = require('../../helpers/text_cleaner'); diff --git a/app/controllers/public/organization.controller.js b/app/controllers/public/organization.controller.js index c55641d..d2aa883 100644 --- a/app/controllers/public/organization.controller.js +++ b/app/controllers/public/organization.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'); const { Grant, Cause, Region, Organization } = db; diff --git a/app/controllers/public/region.controller.js b/app/controllers/public/region.controller.js index 3d554e7..827c443 100644 --- a/app/controllers/public/region.controller.js +++ b/app/controllers/public/region.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'), textCleaner = require('../../helpers/text_cleaner'); diff --git a/app/controllers/public/user.controller.js b/app/controllers/public/user.controller.js index 654ab16..269b6a8 100644 --- a/app/controllers/public/user.controller.js +++ b/app/controllers/public/user.controller.js @@ -1,4 +1,4 @@ -const db = require('../../config/db.config.js'), +const db = require('../../../models'), errorMaker = require('../../helpers/error.maker'); const { Grant, Cause, Region, Organization, User } = db; diff --git a/app/controllers/sendgrid.controller.js b/app/controllers/sendgrid.controller.js index c028f76..3ee07eb 100644 --- a/app/controllers/sendgrid.controller.js +++ b/app/controllers/sendgrid.controller.js @@ -1,4 +1,4 @@ -const db = require('../config/db.config.js'), +const db = require('../../models'), errorMaker = require('../helpers/error.maker'); const sgMail = require('@sendgrid/mail'); diff --git a/models/cause.model.js b/models/Cause.js similarity index 83% rename from models/cause.model.js rename to models/Cause.js index f037615..285447f 100644 --- a/models/cause.model.js +++ b/models/Cause.js @@ -1,5 +1,5 @@ module.exports = (sequelize, DataTypes) => { - const Cause = sequelize.define('causes', { + const Cause = sequelize.define('Cause', { id: { type: DataTypes.INTEGER, primaryKey: true, diff --git a/models/charge.model.js b/models/Charge.js similarity index 82% rename from models/charge.model.js rename to models/Charge.js index 8d477bd..5a06a0d 100644 --- a/models/charge.model.js +++ b/models/Charge.js @@ -1,6 +1,6 @@ 'use strict'; module.exports = (sequelize, DataTypes) => { - const Charge = sequelize.define('charges', { + const Charge = sequelize.define('Charge', { id: { type: DataTypes.UUID, primaryKey: true, allowNull: false }, description: DataTypes.STRING, amount: DataTypes.INTEGER diff --git a/models/donor.model.js b/models/Donor.js similarity index 85% rename from models/donor.model.js rename to models/Donor.js index 60bddd3..a15d05c 100644 --- a/models/donor.model.js +++ b/models/Donor.js @@ -1,5 +1,5 @@ module.exports = (sequelize, DataTypes) => { - const Donor = sequelize.define('donors', { + const Donor = sequelize.define('Donor', { id: { type: DataTypes.UUID, allowNull: false, @@ -44,5 +44,12 @@ module.exports = (sequelize, DataTypes) => { zip: DataTypes.STRING(10), country: DataTypes.STRING }); + + Donor.associate = models => { + Donor.hasMany(models.Grant, { + foreignKey: 'donor_id' + }); + }; + return Donor; }; diff --git a/models/grant.model.js b/models/Grant.js similarity index 63% rename from models/grant.model.js rename to models/Grant.js index 3acb15b..36754f2 100644 --- a/models/grant.model.js +++ b/models/Grant.js @@ -1,5 +1,5 @@ module.exports = (sequelize, DataTypes) => { - const Grant = sequelize.define('grants', { + const Grant = sequelize.define('Grant', { id: { type: DataTypes.INTEGER, primaryKey: true, @@ -27,5 +27,16 @@ module.exports = (sequelize, DataTypes) => { allowNull: false } }); + + Grant.associate = models => { + Grant.belongsToMany(models.Organization, { + through: 'grants_organizations', + foreignKey: 'grant_id', + otherKey: 'organization_id' + }); + + Grant.hasMany(models.Charge, { foreignKey: 'grant_id' }); + }; + return Grant; }; diff --git a/models/grantsOrganizations.model.js b/models/Grant_Organization.js similarity index 78% rename from models/grantsOrganizations.model.js rename to models/Grant_Organization.js index 0d8663d..78003d2 100644 --- a/models/grantsOrganizations.model.js +++ b/models/Grant_Organization.js @@ -1,5 +1,5 @@ module.exports = (sequelize, DataTypes) => { - const GrantsOrganizations = sequelize.define('grants_organizations', { + const GrantsOrganizations = sequelize.define('Grants_Organizations', { id: { type: DataTypes.INTEGER, primaryKey: true, diff --git a/models/organization.model.js b/models/Organization.js similarity index 93% rename from models/organization.model.js rename to models/Organization.js index 75da769..06baada 100644 --- a/models/organization.model.js +++ b/models/Organization.js @@ -1,8 +1,8 @@ -const Cause = require('./cause.model'), - Region = require('./region.model'); +const Cause = require('./Cause'), + Region = require('./Region'); module.exports = (sequelize, DataTypes) => { - const Organization = sequelize.define('organizations', { + const Organization = sequelize.define('Organization', { id: { type: DataTypes.UUID, allowNull: false, diff --git a/models/project.model.js b/models/Project.js similarity index 51% rename from models/project.model.js rename to models/Project.js index 1d52199..567f23d 100644 --- a/models/project.model.js +++ b/models/Project.js @@ -1,11 +1,11 @@ 'use strict'; -const Organization = require('./organization.model'), - Cause = require('./cause.model'), - Region = require('./region.model'); +const Organization = require('./Organization'), + Cause = require('./Cause'), + Region = require('./Region'); module.exports = (sequelize, DataTypes) => { - const Project = sequelize.define('projects', { + const Project = sequelize.define('Project', { id: { type: DataTypes.INTEGER, primaryKey: true, @@ -21,23 +21,27 @@ module.exports = (sequelize, DataTypes) => { }, description: DataTypes.STRING, + isComplete: { + type: DataTypes.BOOLEAN, + defaultValue: false + }, - cause: { - type: DataTypes.STRING, - allowNull: false, - references: { - model: Cause(sequelize, DataTypes), - key: 'name' - } - }, - region: { - type: DataTypes.STRING, - allowNull: false, - references: { - model: Region(sequelize, DataTypes), - key: 'name' - } - }, + // cause: { + // type: DataTypes.STRING, + // allowNull: false, + // references: { + // model: Cause(sequelize, DataTypes), + // key: 'name' + // } + // }, + // region: { + // type: DataTypes.STRING, + // allowNull: false, + // references: { + // model: Region(sequelize, DataTypes), + // key: 'name' + // } + // }, organization_id: { type: DataTypes.UUID, allowNull: false, diff --git a/models/region.model.js b/models/Region.js similarity index 82% rename from models/region.model.js rename to models/Region.js index 040a7aa..eef5fee 100644 --- a/models/region.model.js +++ b/models/Region.js @@ -1,5 +1,5 @@ module.exports = (sequelize, DataTypes) => { - const Region = sequelize.define('regions', { + const Region = sequelize.define('Region', { id: { type: DataTypes.INTEGER, primaryKey: true, diff --git a/models/user.model.js b/models/User.js similarity index 89% rename from models/user.model.js rename to models/User.js index 0524ab1..378dc0f 100644 --- a/models/user.model.js +++ b/models/User.js @@ -1,6 +1,6 @@ 'use strict'; module.exports = (sequelize, DataTypes) => { - const User = sequelize.define('users', { + const User = sequelize.define('User', { id: { type: DataTypes.INTEGER, primaryKey: true, diff --git a/models/paymentplan.model.js b/models/paymentplan.model.js deleted file mode 100644 index f5aadb7..0000000 --- a/models/paymentplan.model.js +++ /dev/null @@ -1,25 +0,0 @@ -'use strict'; -module.exports = (sequelize, DataTypes) => { - const PaymentPlan = sequelize.define('payment_plans', { - id: { - type: DataTypes.INTEGER, - primaryKey: true, - autoIncrement: true - }, - plan_id: { - unique: true, - type: DataTypes.UUID, - allowNull: false - }, - amount: { - type: DataTypes.INTEGER, - allowNull: false - }, - sub_item_id: { - type: DataTypes.UUID, - unique: true - } - }); - - return PaymentPlan; -};