Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions itu-minitwit-node/src/model/Latest.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
const { DataTypes } = require('sequelize');
const sequelize = require('../db/sequelize');

const Latest = sequelize.define('latest', {
latest_id: {
type: DataTypes.INTEGER.UNSIGNED,
primaryKey: true,
allowNull: false,
autoIncrement: false
},
},{
tableName: 'latest',
timestamps: false
})


module.exports = Latest;
5 changes: 3 additions & 2 deletions itu-minitwit-node/src/routes/simulator.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ const getFollowersFromUser = new GetFollowersFromUser();

//Routing
router.get('/latest', async function (req, res) {
res.send({ latest: latestService.getLatest() });
const latest = await latestService.getLatestSeq()
res.send({ latest });
})

router.post("/register", async function (req, res, next) {
Expand All @@ -44,7 +45,7 @@ router.post("/register", async function (req, res, next) {
//Updates Latest
var latest = req.query.latest;
if (latest !== undefined && !isNaN(parseInt(latest))) {
await latestService.updateLatest(parseInt(latest));
await latestService.updateLatestSeq(parseInt(latest));
}

//Checks if username is taken
Expand Down
27 changes: 25 additions & 2 deletions itu-minitwit-node/src/services/LatestService.js
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
const database = require('../db/dbService')
const database = require('../db/dbService');
const Latest = require('../model/Latest');

module.exports = class LatestService {
constructor() { }


async getLatestSeq() {
const latest = await Latest.findOne();
return new Promise((resolve, reject) => {
latest ? resolve(latest.latest_id) : reject(new Error("No rows found"));
});
}

/*
async getLatest() {
const query = "SELECT latest_id FROM latest;";
return new Promise((resolve, reject) => {
Expand All @@ -15,8 +25,20 @@ module.exports = class LatestService {
}
});
})
}*/

async updateLatestSeq(value){
const latest = await Latest.findOne()
const update = await Latest.update(
{ latest_id: value },
{ where: { latest_id: latest.latest_id }}
)
return new Promise((resolve, reject) => {
update ? resolve() : reject(update)
})
}

/*
async updateLatest(value) {
return new Promise((resolve, reject) => {
const query = "UPDATE latest SET latest_id = ?;";
Expand All @@ -28,6 +50,7 @@ module.exports = class LatestService {
}
});
});

}
*/

}