Skip to content

Commit

Permalink
ModelとControllerを分離
Browse files Browse the repository at this point in the history
  • Loading branch information
sho-ts committed Oct 11, 2021
1 parent 8cb41f7 commit 0f83ea9
Show file tree
Hide file tree
Showing 2 changed files with 127 additions and 58 deletions.
98 changes: 40 additions & 58 deletions backend/app/controller/PostController.js
@@ -1,77 +1,59 @@
const root = require('app-root-path');
const db = require(`${root}/app/utils/database/db`);
const Post = require(`${root}/app/model/Post`);

module.exports = {
index: (req, res) => {
const sql = 'select * from posts;';

db.query(sql, (err, result, fields) => {

if (err) throw err;

class PostController {
static index = async (req, res) => {
try {
const result = await Post.all();
res.json(result);
});
},
} catch (e) {
console.error(e);
}
}

create: (req, res) => {
static create = async (req, res) => {
const { content } = req.body;

const sql = `
insert into posts (content) values ('${content}');
`;

db.query(sql, (err, result, fields) => {

if (err) throw err;

try {
const result = await Post.create(content);
res.json(result);
});
},

read: (req, res) => {
const sql = `
select * from posts
where id = ${req.params.id};
`;

db.query(sql, (err, result, fields) => {

if (err) throw err;
} catch (e) {
console.error(e);
}
}

res.json(result.length > 0 ? result[0] : {});
});
},
static read = async (req, res) => {
try {
const result = await Post.find(req.params.id);
res.json(result);
} catch (e) {
console.error(e);
}
}

update: (req, res) => {
static update = async (req, res) => {
const { id } = req.query;
const { content } = req.body;

const sql = `
update posts set content = '${content}'
where id = ${id};
`;

db.query(sql, (err, result, fields) => {

if (err) throw err;

try {
const result = await Post.update(id, content);
res.json(result);
});
},
} catch (e) {
console.error(e);
}
}

delete: (req, res) => {
static delete = async (req, res) => {
const { id } = req.query;

const sql = `
update posts set del_flg = 1
where id = ${id};
`;

db.query(sql, (err, result, fields) => {

if (err) throw err;

try {
const result = await Post.delete(id);
res.json(result);
});
} catch (e) {
console.error(e);
}
}
}
}

module.exports = PostController;
87 changes: 87 additions & 0 deletions backend/app/model/Post.js
@@ -0,0 +1,87 @@
const root = require('app-root-path');
const db = require(`${root}/app/utils/database/db`);

class Post {
static all = () => {
return new Promise((resolve, reject) => {
const sql = 'select * from posts;';

db.query(sql, (err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
})
})
}

static find = (id) => {
return new Promise((resolve, reject) => {
const sql = `
select * from posts
where id = ${id};
`;

db.query(sql, (err, result) => {
if (err) {
reject(err);
} else {
resolve(result.length > 0 ? result[0] : {})
}
});
})
}

static create = (content) => {
return new Promise((resolve, reject) => {
const sql = `
insert into posts (content) values ('${content}');
`;

db.query(sql, (err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
})
}

static update = (id, content) => {
return new Promise((resolve, reject) => {
const sql = `
update posts set content = '${content}'
where id = ${id};
`;

db.query(sql, (err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
})
}

static delete = (id) => {
return new Promise((resolve, reject) => {
const sql = `
update posts set del_flg = 1
where id = ${id};
`;

db.query(sql, (err, result) => {
if (err) {
reject(err);
} else {
resolve(result);
}
});
})
}
}

module.exports = Post;

0 comments on commit 0f83ea9

Please sign in to comment.