Files
dyrevelfaerd-api/models/models.js
Brian Emilius a60a37f441 initial commit
2020-05-17 22:00:53 +02:00

74 lines
1.6 KiB
JavaScript

var { DataTypes, Model } = require("sequelize");
var { sequelize } = require("../config/database");
class About extends Model {};
class Volunteer extends Model {};
class Animal extends Model {};
class Asset extends Model {};
class Subscriber extends Model {};
class Adoptsection extends Model {};
class User extends Model {};
User.init({
username: DataTypes.TEXT,
password: DataTypes.TEXT
}, { sequelize, modelName: "user" });
About.init({
title: DataTypes.TEXT,
content: DataTypes.TEXT
}, { sequelize, modelName: "about" });
Volunteer.init({
title: DataTypes.TEXT,
content: DataTypes.TEXT,
extra: DataTypes.TEXT
}, { sequelize, modelName: "volunteer" });
Animal.init({
name: DataTypes.TEXT,
description: DataTypes.TEXT,
age: DataTypes.INTEGER
}, { sequelize, modelName: "animal" });
Asset.init({
url: DataTypes.TEXT
}, { sequelize, modelName: "asset" });
Subscriber.init({
name: DataTypes.TEXT,
email: { type: DataTypes.TEXT, unique: true }
}, { sequelize, modelName: "subscriber" });
Adoptsection.init({
title: DataTypes.TEXT,
content: DataTypes.TEXT
}, { sequelize, modelName: "adoptsection" });
Animal.belongsTo(Asset, { foreignKey: "assetId" });
Asset.hasOne(Animal, { foreignKey: "assetId" });
Volunteer.belongsTo(Asset, { foreignKey: "assetId" });
Asset.hasOne(Volunteer, { foreignKey: "assetId" });
Adoptsection.belongsTo(Asset, { foreignKey: "assetId" });
Asset.hasOne(Adoptsection, { foreignKey: "assetId" });
sequelize.sync({ force: false })
.then(function() {
console.log("Tabels created");
})
.catch(function(error) {
console.error(error);
});
module.exports = {
User,
About,
Volunteer,
Animal,
Asset,
Subscriber,
Adoptsection
};