velopert / learning-react

[길벗] 리액트를 다루는 기술 서적에서 사용되는 코드
568 stars 406 forks source link

23.5.4 src/api/posts/posts.ctrl.js -write 함수 부분에 user 정보 추가 코드가 책에 빠져 있습니다. #361

Closed hyebinyu1110 closed 1 year ago

hyebinyu1110 commented 2 years ago

export const write = async ctx => { const schema = Joi.object().keys({

    title: Joi.string().required(), 
    body: Joi.string().required(),
    tags: Joi.array()
        .items(Joi.string())
        .required(), 
});

const result = schema.validate(ctx.request.body);
if (result.error) {
    ctx.status = 400; // Bad Request
    ctx.body = result.error;
    return;
}

const { title, body, tags } = ctx.request.body;
const { user } = ctx.state; // 이 부분이 추가 되어야 DB에 user 정보가 추가됩니다!
const post = new Post({
    title,
    body,
    tags,
    user,  // 이 부분이 추가 되어야 DB에 user 정보가 추가됩니다!
});
try {
    await post.save();
    ctx.body = post;
} catch (e) {
    ctx.throw(500, e)
}

};

velopert commented 1 year ago

이전 버전의 책을 읽으신 것 같아요 :) 과거에 수정된 내용입니다. 감사합니다.