fix #18, cache users from fediverse
This commit is contained in:
27
server/migrations/20190911204228-recurrent.js
Normal file
27
server/migrations/20190911204228-recurrent.js
Normal file
@@ -0,0 +1,27 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
up: (queryInterface, Sequelize) => {
|
||||
return queryInterface.addColumn('events', 'recurrent', {
|
||||
type: Sequelize.JSON
|
||||
})
|
||||
|
||||
/*
|
||||
Add altering commands here.
|
||||
Return a promise to correctly handle asynchronicity.
|
||||
|
||||
Example:
|
||||
return queryInterface.createTable('users', { id: Sequelize.INTEGER });
|
||||
*/
|
||||
},
|
||||
|
||||
down: (queryInterface, Sequelize) => {
|
||||
/*
|
||||
Add reverting commands here.
|
||||
Return a promise to correctly handle asynchronicity.
|
||||
|
||||
Example:
|
||||
return queryInterface.dropTable('users');
|
||||
*/
|
||||
}
|
||||
};
|
||||
25
server/migrations/20190912093154-create-fed-users.js
Normal file
25
server/migrations/20190912093154-create-fed-users.js
Normal file
@@ -0,0 +1,25 @@
|
||||
'use strict';
|
||||
module.exports = {
|
||||
up: (queryInterface, Sequelize) => {
|
||||
return queryInterface.createTable('fed_users', {
|
||||
ap_id: {
|
||||
type: Sequelize.STRING,
|
||||
primaryKey: true
|
||||
},
|
||||
object: {
|
||||
type: Sequelize.JSON
|
||||
},
|
||||
createdAt: {
|
||||
allowNull: false,
|
||||
type: Sequelize.DATE
|
||||
},
|
||||
updatedAt: {
|
||||
allowNull: false,
|
||||
type: Sequelize.DATE
|
||||
}
|
||||
});
|
||||
},
|
||||
down: (queryInterface, Sequelize) => {
|
||||
return queryInterface.dropTable('fed_users');
|
||||
}
|
||||
};
|
||||
47
server/migrations/20190912093645-fedi_followers.js
Normal file
47
server/migrations/20190912093645-fedi_followers.js
Normal file
@@ -0,0 +1,47 @@
|
||||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
up: (queryInterface, Sequelize) => {
|
||||
return Promise.all([
|
||||
queryInterface.removeColumn('users', 'followers'),
|
||||
queryInterface.createTable('user_followers', {
|
||||
userId: {
|
||||
type: Sequelize.INTEGER,
|
||||
references: {
|
||||
model: 'users',
|
||||
key: 'id'
|
||||
},
|
||||
primaryKey: true,
|
||||
allowNull: false
|
||||
},
|
||||
fedUserApId: {
|
||||
primaryKey: true,
|
||||
type: Sequelize.STRING,
|
||||
references: {
|
||||
model: 'fed_users',
|
||||
key: 'ap_id'
|
||||
}
|
||||
},
|
||||
createdAt: { type: Sequelize.DATE, allowNull: false },
|
||||
updatedAt: { type: Sequelize.DATE, allowNull: false }
|
||||
})
|
||||
])},
|
||||
|
||||
down: (queryInterface, Sequelize) => {
|
||||
return Promise.all([
|
||||
queryInterface.addColumn(
|
||||
'users', 'followers', {
|
||||
type: JSON,
|
||||
defaultValue: []
|
||||
}),
|
||||
queryInterface.dropTable('user_followers')
|
||||
])
|
||||
/*
|
||||
Add reverting commands here.
|
||||
Return a promise to correctly handle asynchronicity.
|
||||
|
||||
Example:
|
||||
return queryInterface.dropTable('users');
|
||||
*/
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user