changes to organization model
This commit is contained in:
@@ -7,6 +7,7 @@ const { Donor, Organization } = db;
|
||||
|
||||
// Find a Donor/Org by email + login with JWT
|
||||
exports.login = (type, role) => (req, res, next) => {
|
||||
console.log('haha');
|
||||
const curr_types = {
|
||||
donor: Donor,
|
||||
org: Organization
|
||||
|
||||
@@ -5,7 +5,6 @@ const db = require('../../config/db.config.js'),
|
||||
const { Grant, Cause, Region, Organization } = db;
|
||||
|
||||
// POST create an organization
|
||||
// Temporarily only use: name, email, password, short_description, primary_cause, primary_region
|
||||
exports.create = async (req, res, next) => {
|
||||
let {
|
||||
name,
|
||||
@@ -13,7 +12,17 @@ exports.create = async (req, res, next) => {
|
||||
password,
|
||||
short_description,
|
||||
primary_cause,
|
||||
primary_region
|
||||
primary_region,
|
||||
ein,
|
||||
primary_contact_first_name,
|
||||
primary_contact_last_name,
|
||||
phone,
|
||||
country,
|
||||
address,
|
||||
city,
|
||||
zip,
|
||||
estimate_assets,
|
||||
estimate_year_operating_cost
|
||||
} = req.body;
|
||||
|
||||
primary_cause = primary_cause.trim().toLowerCase();
|
||||
@@ -44,7 +53,7 @@ exports.create = async (req, res, next) => {
|
||||
type: db.Sequelize.QueryTypes.SELECT
|
||||
});
|
||||
|
||||
// could not find the cause or region in the db, so add
|
||||
// cause or region not found
|
||||
if (!causes.length) {
|
||||
await Cause.create({ name: primary_cause }, { transaction });
|
||||
}
|
||||
@@ -53,7 +62,7 @@ exports.create = async (req, res, next) => {
|
||||
}
|
||||
|
||||
const saltRounds = await bcrypt.genSaltSync(10);
|
||||
// hash
|
||||
// hash with salt rounds
|
||||
const hashedPass = await bcrypt.hashSync(password, saltRounds);
|
||||
|
||||
// Store hash in DB
|
||||
@@ -63,7 +72,17 @@ exports.create = async (req, res, next) => {
|
||||
password: hashedPass, //hashed password
|
||||
short_description,
|
||||
primary_cause,
|
||||
primary_region
|
||||
primary_region,
|
||||
ein,
|
||||
primary_contact_first_name,
|
||||
primary_contact_last_name,
|
||||
phone,
|
||||
country,
|
||||
address,
|
||||
city,
|
||||
zip,
|
||||
estimate_assets,
|
||||
estimate_year_operating_cost
|
||||
});
|
||||
|
||||
await transaction.commit();
|
||||
|
||||
@@ -5,8 +5,11 @@ module.exports = role => (req, res, next) => {
|
||||
try {
|
||||
const token = req.headers.authorization.split(' ')[1];
|
||||
const decoded = jwt.verify(token, process.env.JWT_KEY);
|
||||
req.user = decoded; //for use till end of request
|
||||
|
||||
// user info till end of request
|
||||
req.user = decoded;
|
||||
|
||||
// verify role of the call
|
||||
if (role != req.user.role) {
|
||||
throw new Error();
|
||||
}
|
||||
|
||||
@@ -13,6 +13,26 @@ module.exports = (sequelize, DataTypes) => {
|
||||
},
|
||||
allowNull: false
|
||||
},
|
||||
phone: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
address: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
city: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
country: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
zip: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
password: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
@@ -25,7 +45,27 @@ module.exports = (sequelize, DataTypes) => {
|
||||
short_description: DataTypes.STRING,
|
||||
primary_cause: { type: DataTypes.STRING, allowNull: false },
|
||||
primary_region: { type: DataTypes.STRING, allowNull: false },
|
||||
rating: { type: DataTypes.INTEGER, defaultValue: 0, allowNull: false }
|
||||
rating: { type: DataTypes.INTEGER, defaultValue: 0, allowNull: false },
|
||||
ein: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
estimate_assets: {
|
||||
type: DataTypes.BIGINT,
|
||||
defaultValue: 0
|
||||
},
|
||||
estimate_year_operating_cost: {
|
||||
type: DataTypes.INTEGER,
|
||||
defaultValue: 0
|
||||
},
|
||||
primary_contact_first_name: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
},
|
||||
primary_contact_last_name: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: false
|
||||
}
|
||||
});
|
||||
return Organization;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user