email:""
password:""
role:""
if(res.result.role === "admin"){
response.render('../partials/news/admin')
}else{
response.render('../partials/news/user')
}
for await (let line of lines){
console.log(lines[line])
}
// ES2018
//поиск документа в котором лежит фото
exports.workerById = (req, res , next , id) =>{
Worker.findById(id)
.exec((err, worker)=>{
if(err || !worker){
return res.status(400).json({
error: "Worker not found"
})
}
req.worker = worker
next()
})
}
//Выдача фото.
exports.workerPhoto = (req,res, next) =>{
if(req.worker.photo.data){
res.set(("Content-Type", req.worker.photo.contentType))
return res.send(req.worker.photo.data)
}
next()
}
/*то есть сначало оно идет по пути user/photo/:userId
после того как находит колекцию юзера. Передает данные о нем в req и шагает дальше.
На следующем контролере мы просто выдаем фото
*/
//роутер для общей картины
router.get('/user/photo/:workerById', workerPhoto)
router.param('workerById',workerById)
export default class Example extends PureComponent {
constructor(){
super()
this.state = {
statistic:[], //state начал принимать массив обьектов
redirectToSignin: false,
error: ""
}
}
componentDidMount(){
const token = isAuthenticated().token
const UserId = isAuthenticated().user._id
getStatistic(UserId,token)
.then(data =>{
if(data){
this.setState({statistic:data}) //Вот он его берет
}else{
this.setState({user: data})
}
})
}
render() {
const statistic = this.state //Импортируем из state массив и выводим его в charty график.
const data = [
{
name: 'Декабарь', uv: this.state.statistic.December, pv: 2400, amt: 2400,
},
{
name: 'Февраль', uv: this.state.statistic.February, pv: 1398, amt: 2210,
},
{
name: 'Март', uv: this.state.statistic.March, pv: 9800, amt: 2290,
},
{
name: 'Апрель', uv: this.state.statistic.April, pv: 3908, amt: 2000,
},
{
name: 'Май', uv: this.state.statistic.May, pv: 4800, amt: 2181,
},
{
name: 'Июнь', uv: this.state.statistic.June, pv: 3800, amt: 2500,
},
{
name: 'Июль', uv: this.state.statistic.July, pv: 4300, amt: 2100,
},
{
name: 'Август', uv: this.state.statistic.August, pv: 4300, amt: 2100,
},
{
name: 'Сентябрь', uv: this.state.statistic.September, pv: 4300, amt: 2100,
},
{
name: 'Октябрь', uv: this.state.statistic.October, pv: 4300, amt: 2100,
},
{
name: 'Ноябрь', uv: this.state.statistic.November, pv: 4300, amt: 2100,
},
{
name: 'Январь', uv: this.state.statistic.January, pv: 4300, amt: 2100,
},
];
return (
<div>
<AreaChart
width={1000}
height={400}
data={data}
margin={{
top: 30, right: 30, left: 30, bottom: 30,
}}
>
<CartesianGrid strokeDasharray="3 3" />
<XAxis dataKey="name" />
<YAxis />
<Tooltip />
<Area type="monotone" dataKey="uv" stroke="#8884d8" fill="#8884d8" />
</AreaChart>
</div>
);
}
}
server.route({
method: 'GET',
path: '/profile', // определяем endpoint
handler:(req, h) => {
var decode = jwt.verify(
reg.headers.authorization,
process.env.SECRET_KEY
) // передаем на него req и расшифровываем его
return User.findOne({
_id: mongoose.Types.ObjectId(decode.id)
}) // при помощи moongoose ищем id колекции
.then(user => {
console.log(user)
if(user){
return user
}else{
return 'User dont exist'
}
})
.catch(err => {
return 'error:' + err
})
}
})
} // все остальное обработка ошибок