Skip to content
This repository was archived by the owner on Mar 3, 2020. It is now read-only.

Commit 998d075

Browse files
committed
Creates new models for series
1 parent 88e1b57 commit 998d075

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
import Sequelize from 'sequelize';
2+
import db from 'database/db';
3+
import { primaryUUID } from 'lib/common';
4+
import { User } from 'database/models';
5+
6+
const Series = db.define(
7+
'series',
8+
{
9+
id: primaryUUID,
10+
fk_user_id: Sequelize.UUID,
11+
name: Sequelize.STRING,
12+
description: Sequelize.STRING,
13+
},
14+
{
15+
indexes: [
16+
{
17+
fields: ['fk_user_id'],
18+
},
19+
],
20+
},
21+
);
22+
23+
Series.associate = () => {
24+
Series.belongsTo(User, {
25+
foreignKey: 'fk_user_id',
26+
onDelete: 'CASCADE',
27+
onUpdate: 'restrict',
28+
});
29+
};
30+
31+
export default Series;
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import Sequelize from 'sequelize';
2+
import db from 'database/db';
3+
import { primaryUUID } from 'lib/common';
4+
import { Series, Post } from 'database/models';
5+
6+
const SeriesPosts = db.define(
7+
'series_posts',
8+
{
9+
id: primaryUUID,
10+
fk_series_id: Sequelize.UUID,
11+
fk_post_id: Sequelize.UUID,
12+
index: Sequelize.INTEGER,
13+
},
14+
{
15+
freezeTableName: true,
16+
tableName: 'series_posts',
17+
indexes: [
18+
{
19+
fields: ['fk_series_id'],
20+
},
21+
{
22+
fields: ['fk_post_id'],
23+
},
24+
],
25+
},
26+
);
27+
28+
SeriesPosts.associate = () => {
29+
Post.belongsTo(Series, {
30+
onDelete: 'CASCADE',
31+
onUpdate: 'Restrict',
32+
through: {
33+
model: SeriesPosts,
34+
},
35+
foreignKey: 'fk_post_id',
36+
});
37+
Series.belongsTo(Post, {
38+
onDelete: 'CASCADE',
39+
onUpdate: 'Restrict',
40+
through: {
41+
model: SeriesPosts,
42+
},
43+
foreignKey: 'fk_series_id',
44+
});
45+
};

0 commit comments

Comments
 (0)