【发布时间】:2022-11-06 01:30:42
【问题描述】:
我的 API 中有一个 POST ENDPOINT,我想在其中注册工人制作的所有工作日志。
export const registerPoint = async (req: Request, res: Response) => {
const user = res.locals.decoded;
const {id} = user;
const ponto = new Ponto;
ponto.datePoint = new Date();
ponto.user_id = id;
//this numPoint should restart every day for that user...
ponto.numPoint = 1;
res.json({ msg: "Register point Route", user, id });
return;
}
我如何控制工人提出此申请的次数? 我想控制变量 numPoint,当用户提出这个申请时,它应该增加 01,然后在一天的最后一天将它返回到 0。
任何人都知道可以处理此问题的解决方案或 npm 包吗?
编辑:我用 SEQUELIZE + MYSQL 存储所有数据。
【问题讨论】:
-
你是什么意思控制?您想限制端点被命中的次数吗?
-
您打算如何存储数据?您可以考虑使用数据库,因为您需要将申请数据存储在某处。您不能将其保存在内存中,因为当您重新启动应用程序时,数据将会丢失。
-
@RinkeshP 不限制,但控制例如名为 John 的用户注册他的点的次数。点的定义:(例如点是他进入工作的时间,离开吃午饭,然后回到工作,然后是他离开工作的时间)
-
@GuyHagemans 实际上使用 MYSQL 和 sequelize。我已经编辑了问题并输入了该信息。谢谢
-
@BrenoSantin 好的,这是一个非常好的开始!从概念上讲,您可以做的是首先为该特定客户获取价值。如果存在,请在数字上加一。如果它尚不存在,请在数据库中创建值为 1 的条目。请注意您提到您计划增加 01,但这并不是一个很好的数字。请使用整数,整数应该是整数(即 1、2、3 等)。您的 cronjob(请参阅下面的答案)可以每晚将所有值重置为 0。如果您在问题中分享您的 sequalize 代码,如果您愿意,我可以查看。
标签: node.js typescript sequelize.js backend