Impersonate a user
Last updated
Last updated
module.exports = (sequelize, DataTypes) => {
const { Sequelize } = sequelize;
const Users = sequelize.define('users', {
email: {
type: DataTypes.STRING,
},
createdAt: {
type: DataTypes.DATE,
},
//...
}, {
tableName: 'users',
timestamps: false,
schema: process.env.DATABASE_SCHEMA,
});
Users.associate = (models) => {
};
return Users;
};const mongoose = require('mongoose');
const schema = mongoose.Schema({
'email': String,
'createdAt': Date,
...
}, {
timestamps: false,
});
module.exports = mongoose.model('users', schema, 'users');const { collection } = require('forest-express-sequelize');
collection('users', {
actions: [{
name: 'Impersonate',
type: 'single'
}],
});const { collection } = require('forest-express-mongoose');
collection('users', {
actions: [{
name: 'Impersonate',
type: 'single'
}],
});router.post('/actions/impersonate',
(req, res) => {
let userId = req.body.data.attributes.ids[0];
response.send({
webhook: { // This is the object that will be used to fire http calls.
url: 'https://my-app-url/login', // The url of the company providing the service.
method: 'POST', // The method you would like to use (typically a POST).
headers: { }, // You can add some headers if needed (you can remove it).
body: { // A body to send to the url (only JSON supported).
adminToken: 'your-admin-token',
},
},
success: `Impersonating user ${userId}`, // The success message that will be toasted.
redirectTo: 'https://my-app-url/', // Force the redirection to your app if needed.
});
});
module.exports = router;router.post('/actions/impersonate',
(req, res) => {
let userId = req.body.data.attributes.ids[0];
response.send({
webhook: { // This is the object that will be used to fire http calls.
url: 'https://my-app-url/login', // The url of the company providing the service.
method: 'POST', // The method you would like to use (typically a POST).
headers: { }, // You can add some headers if needed (you can remove it).
body: { // A body to send to the url (only JSON supported).
adminToken: 'your-admin-token',
},
},
success: `Impersonating user ${userId}`, // The success message that will be toasted.
redirectTo: 'https://my-app-url/', // Force the redirection to your app if needed.
});
});
module.exports = router;