Added groups to diary
This commit is contained in:
@@ -11,13 +11,18 @@ const DiaryDateActivity = sequelize.define('DiaryDateActivity', {
|
||||
},
|
||||
diaryDateId: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
allowNull: true,
|
||||
references: {
|
||||
model: DiaryDate,
|
||||
key: 'id',
|
||||
},
|
||||
onDelete: 'CASCADE',
|
||||
},
|
||||
isTimeblock: {
|
||||
type: DataTypes.BOOLEAN,
|
||||
allowNull: false,
|
||||
defaultValue: false,
|
||||
},
|
||||
predefinedActivityId: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: true,
|
||||
@@ -27,11 +32,7 @@ const DiaryDateActivity = sequelize.define('DiaryDateActivity', {
|
||||
},
|
||||
onDelete: 'SET NULL',
|
||||
},
|
||||
customActivityName: {
|
||||
type: DataTypes.STRING,
|
||||
allowNull: true,
|
||||
},
|
||||
duration: {
|
||||
duration: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: true,
|
||||
},
|
||||
|
||||
@@ -3,7 +3,13 @@ import sequelize from '../database.js';
|
||||
import DiaryDate from './DiaryDates.js';
|
||||
|
||||
const Group = sequelize.define('Group', {
|
||||
diaryDate: {
|
||||
id: {
|
||||
type: DataTypes.INTEGER,
|
||||
primaryKey: true,
|
||||
autoIncrement: true,
|
||||
allowNull: false,
|
||||
},
|
||||
diaryDateId: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
references: {
|
||||
|
||||
40
backend/models/GroupActivity.js
Normal file
40
backend/models/GroupActivity.js
Normal file
@@ -0,0 +1,40 @@
|
||||
import { DataTypes } from 'sequelize';
|
||||
import sequelize from '../database.js';
|
||||
import DiaryDateActivity from './DiaryDateActivity.js';
|
||||
import Group from './Group.js';
|
||||
|
||||
const GroupActivity = sequelize.define('GroupActivity', {
|
||||
id: {
|
||||
type: DataTypes.INTEGER,
|
||||
primaryKey: true,
|
||||
autoIncrement: true,
|
||||
},
|
||||
diaryDateActivity: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
references: {
|
||||
model: DiaryDateActivity,
|
||||
key: 'id'
|
||||
},
|
||||
onDelete: 'CASCADE'
|
||||
},
|
||||
groupId: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: false,
|
||||
references: {
|
||||
model: Group,
|
||||
key: 'id',
|
||||
},
|
||||
onDelete: 'CASCADE'
|
||||
},
|
||||
customActivity: {
|
||||
type: DataTypes.INTEGER,
|
||||
allowNull: true,
|
||||
},
|
||||
}, {
|
||||
tableName: 'group_activity',
|
||||
underscored: true,
|
||||
timestamps: true,
|
||||
});
|
||||
|
||||
export default GroupActivity;
|
||||
@@ -19,6 +19,8 @@ import League from './League.js';
|
||||
import Team from './Team.js';
|
||||
import Season from './Season.js';
|
||||
import Location from './Location.js';
|
||||
import Group from './Group.js';
|
||||
import GroupActivity from './GroupActivity.js';
|
||||
|
||||
User.hasMany(Log, { foreignKey: 'userId' });
|
||||
Log.belongsTo(User, { foreignKey: 'userId' });
|
||||
@@ -94,6 +96,17 @@ User.hasMany(UserClub, { foreignKey: 'userId' });
|
||||
UserClub.belongsTo(Club, { foreignKey: 'clubId', as: 'club' });
|
||||
Club.hasMany(UserClub, { foreignKey: 'clubId' });
|
||||
|
||||
Group.belongsTo(DiaryDate, { foreignKey: 'diaryDateId', as: 'diaryDateGroup' });
|
||||
DiaryDate.hasMany(Group, { foreignKey: 'diaryDateId', as: 'groupsDiaryDate' });
|
||||
|
||||
GroupActivity.belongsTo(DiaryDateActivity, { foreignKey: 'id', as: 'activityGroupActivity' });
|
||||
DiaryDateActivity.hasMany(GroupActivity, { foreignKey: 'diaryDateActivity', as: 'groupActivities' });
|
||||
|
||||
Group.hasOne(GroupActivity, { foreignKey: 'groupId', as: 'groupGroupActivity' });
|
||||
GroupActivity.belongsTo(Group, { foreignKey: 'groupId', as: 'groupsGroupActivity' });
|
||||
|
||||
GroupActivity.belongsTo(PredefinedActivity, { foreignKey: 'customActivity', as: 'groupPredefinedActivity' });
|
||||
PredefinedActivity.hasMany(GroupActivity, { foreignKey: 'predefinedActivityId', as: 'groupPredefinedActivities' });
|
||||
|
||||
export {
|
||||
User,
|
||||
@@ -116,4 +129,6 @@ export {
|
||||
Match,
|
||||
League,
|
||||
Team,
|
||||
Group,
|
||||
GroupActivity,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user