Merge branch 'dev'

This commit is contained in:
les
2019-09-13 10:18:43 +02:00
14 changed files with 225 additions and 72 deletions

View File

@@ -81,5 +81,5 @@ const settingsController = {
},
}
setTimeout(settingsController.initialize, 200)
settingsController.initialize()
module.exports = settingsController

View File

@@ -6,7 +6,7 @@ const { Op } = require('sequelize')
const jsonwebtoken = require('jsonwebtoken')
const config = require('config')
const mail = require('../mail')
const { user: User, event: Event, tag: Tag, place: Place } = require('../models')
const { user: User, event: Event, tag: Tag, place: Place, fed_users: FedUsers } = require('../models')
const settingsController = require('./settings')
const federation = require('../../federation/helpers')
@@ -118,7 +118,8 @@ const userController = {
// send response to client
res.json(event)
if (req.user) { federation.sendEvent(event, req.user) }
const user = await User.findByPk(req.user.id, { include: { model: FedUsers, as: 'followers' }})
if (user) { federation.sendEvent(event, user) }
// res.sendStatus(200)
@@ -207,8 +208,10 @@ const userController = {
}
},
current (req, res) {
if (req.user) { res.json(req.user) } else { res.sendStatus(404) }
async current (req, res) {
if (!req.user) return res.status(400).send('Not logged')
const user = await User.findByPk(req.user.id, { include: { model: FedUsers, as: 'followers' } })
res.json(user)
},
async getAll (req, res) {

View File

@@ -0,0 +1,13 @@
module.exports = (sequelize, DataTypes) => {
const fed_users = sequelize.define('fed_users', {
ap_id: {
type: DataTypes.STRING,
primaryKey: true
},
object: DataTypes.JSON
}, {})
fed_users.associate = function(models) {
// associations can be defined here
};
return fed_users
}

View File

@@ -28,10 +28,6 @@ module.exports = (sequelize, DataTypes) => {
is_admin: DataTypes.BOOLEAN,
is_active: DataTypes.BOOLEAN,
rsa: DataTypes.JSON,
followers: {
type: DataTypes.JSON,
defaultValue: []
}
}, {
scopes: {
withoutPassword: {
@@ -43,6 +39,7 @@ module.exports = (sequelize, DataTypes) => {
user.associate = function (models) {
// associations can be defined here
user.hasMany(models.event)
user.belongsToMany(models.fed_users, { through: 'user_followers', as: 'followers' })
}
user.prototype.comparePassword = async function (pwd) {