Skip to content

Commit

Permalink
fix: sanitize date/time-related fields in publishing-related entry fa…
Browse files Browse the repository at this point in the history
…ctories
  • Loading branch information
adrians5j committed Jan 29, 2024
1 parent a009406 commit f494a04
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 22 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { STATUS_PUBLISHED } from "./statuses";
import { SecurityIdentity } from "@webiny/api-security/types";
import { validateModelEntryDataOrThrow } from "~/crud/contentEntry/entryDataValidation";
import { getIdentity } from "~/utils/identity";
import { getDate } from "~/utils/date";

type CreatePublishEntryDataParams = {
model: CmsModel;
Expand Down Expand Up @@ -39,11 +40,11 @@ export const createPublishEntryData = async ({
/**
* Entry-level meta fields. 👇
*/
createdOn: latestEntry.createdOn,
modifiedOn: currentDateTime,
savedOn: currentDateTime,
firstPublishedOn: latestEntry.firstPublishedOn || currentDateTime,
lastPublishedOn: currentDateTime,
createdOn: getDate(latestEntry.createdOn),
modifiedOn: getDate(currentDateTime),
savedOn: getDate(currentDateTime),
firstPublishedOn: getDate(latestEntry.firstPublishedOn, currentDateTime),
lastPublishedOn: getDate(currentDateTime),
createdBy: getIdentity(latestEntry.createdBy),
modifiedBy: getIdentity(currentIdentity),
savedBy: getIdentity(currentIdentity),
Expand All @@ -53,11 +54,11 @@ export const createPublishEntryData = async ({
/**
* Revision-level meta fields. 👇
*/
revisionCreatedOn: originalEntry.revisionCreatedOn,
revisionSavedOn: currentDateTime,
revisionModifiedOn: currentDateTime,
revisionFirstPublishedOn: originalEntry.revisionFirstPublishedOn || currentDateTime,
revisionLastPublishedOn: currentDateTime,
revisionCreatedOn: getDate(originalEntry.revisionCreatedOn),
revisionSavedOn: getDate(currentDateTime),
revisionModifiedOn: getDate(currentDateTime),
revisionFirstPublishedOn: getDate(originalEntry.revisionFirstPublishedOn, currentDateTime),
revisionLastPublishedOn: getDate(currentDateTime),
revisionCreatedBy: getIdentity(originalEntry.revisionCreatedBy),
revisionSavedBy: getIdentity(currentIdentity),
revisionModifiedBy: getIdentity(currentIdentity),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { referenceFieldsMapping } from "~/crud/contentEntry/referenceFieldsMappi
import { STATUS_PUBLISHED } from "./statuses";
import { SecurityIdentity } from "@webiny/api-security/types";
import { getIdentity } from "~/utils/identity";
import { getDate } from "~/utils/date";

type CreateRepublishEntryDataParams = {
model: CmsModel;
Expand Down Expand Up @@ -36,28 +37,28 @@ export const createRepublishEntryData = async ({
/**
* Entry-level meta fields. 👇
*/
savedOn: currentDateTime,
modifiedOn: currentDateTime,
savedOn: getDate(currentDateTime),
modifiedOn: getDate(currentDateTime),
savedBy: getIdentity(currentIdentity),
modifiedBy: getIdentity(currentIdentity),
firstPublishedOn: originalEntry.firstPublishedOn || currentDateTime,
firstPublishedOn: getDate(originalEntry.firstPublishedOn, currentDateTime),
firstPublishedBy: getIdentity(originalEntry.firstPublishedBy, currentIdentity),
lastPublishedOn: currentDateTime,
lastPublishedOn: getDate(currentDateTime),
lastPublishedBy: getIdentity(currentIdentity),

/**
* Revision-level meta fields. 👇
*/
revisionSavedOn: currentDateTime,
revisionModifiedOn: currentDateTime,
revisionSavedOn: getDate(currentDateTime),
revisionModifiedOn: getDate(currentDateTime),
revisionSavedBy: getIdentity(currentIdentity),
revisionModifiedBy: getIdentity(currentIdentity),
revisionFirstPublishedOn: originalEntry.revisionFirstPublishedOn || currentDateTime,
revisionFirstPublishedOn: getDate(originalEntry.revisionFirstPublishedOn, currentDateTime),
revisionFirstPublishedBy: getIdentity(
originalEntry.revisionFirstPublishedBy,
currentIdentity
),
revisionLastPublishedOn: currentDateTime,
revisionLastPublishedOn: getDate(currentDateTime),
revisionLastPublishedBy: getIdentity(currentIdentity),

webinyVersion: context.WEBINY_VERSION,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { CmsContext, CmsEntry, CmsModel } from "~/types";
import { STATUS_UNPUBLISHED } from "./statuses";
import { SecurityIdentity } from "@webiny/api-security/types";
import { getIdentity } from "~/utils/identity";
import { getDate } from "~/utils/date";

type CreateRepublishEntryDataParams = {
model: CmsModel;
Expand All @@ -26,16 +27,16 @@ export const createUnpublishEntryData = async ({
/**
* Entry-level meta fields. 👇
*/
savedOn: currentDateTime,
modifiedOn: currentDateTime,
savedOn: getDate(currentDateTime),
modifiedOn: getDate(currentDateTime),
savedBy: getIdentity(currentIdentity),
modifiedBy: getIdentity(currentIdentity),

/**
* Revision-level meta fields. 👇
*/
revisionSavedOn: currentDateTime,
revisionModifiedOn: currentDateTime,
revisionSavedOn: getDate(currentDateTime),
revisionModifiedOn: getDate(currentDateTime),
revisionSavedBy: getIdentity(currentIdentity),
revisionModifiedBy: getIdentity(currentIdentity)
};
Expand Down

0 comments on commit f494a04

Please sign in to comment.