From 3ceeb554230acdfbc495ea0042b5b27d4d8cf490 Mon Sep 17 00:00:00 2001 From: RubenPX Date: Wed, 12 Oct 2022 22:49:24 +0200 Subject: [PATCH] send post using client timestamp --- packages/app/src/components/PostCreator/index.jsx | 1 + packages/server/src/controllers/PostsController/index.js | 5 +++-- .../src/controllers/PostsController/methods/createPost.js | 7 ++----- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/app/src/components/PostCreator/index.jsx b/packages/app/src/components/PostCreator/index.jsx index 6c6349f7..e49c4455 100644 --- a/packages/app/src/components/PostCreator/index.jsx +++ b/packages/app/src/components/PostCreator/index.jsx @@ -38,6 +38,7 @@ export default (props) => { const cleanPostData = () => { setPostData({ message: "", + date: new Date(), additions: [] }) } diff --git a/packages/server/src/controllers/PostsController/index.js b/packages/server/src/controllers/PostsController/index.js index 3f66ba54..3fc641ef 100644 --- a/packages/server/src/controllers/PostsController/index.js +++ b/packages/server/src/controllers/PostsController/index.js @@ -54,12 +54,13 @@ export default class PostsController extends Controller { "/post": { middlewares: ["withAuthentication"], fn: Schematized({ - required: ["message"], - select: ["message", "additions", "type", "data"], + required: ["message", "date"], + select: ["message", "additions", "type", "data", "date"], }, async (req, res) => { const post = await CreatePost({ user_id: req.user.id, message: req.selection.message, + date: req.selection.date, additions: req.selection.additions, type: req.selection.type, data: req.selection.data, diff --git a/packages/server/src/controllers/PostsController/methods/createPost.js b/packages/server/src/controllers/PostsController/methods/createPost.js index 588ace78..1765e459 100644 --- a/packages/server/src/controllers/PostsController/methods/createPost.js +++ b/packages/server/src/controllers/PostsController/methods/createPost.js @@ -3,16 +3,13 @@ import getPostData from "./getPostData" import momentTimezone from "moment-timezone" export default async (payload) => { - const { user_id, message, additions, type, data } = payload - - const current_timezone = momentTimezone.tz.guess() - const created_at = momentTimezone.tz(Date.now(), current_timezone).format() + const { user_id, message, additions, type, data, date } = payload const post = new Post({ user_id: typeof user_id === "object" ? user_id.toString() : user_id, message: String(message).toString(), additions: additions ?? [], - created_at: created_at, + created_at: date, type: type, data: data, })