diff --git a/apps/meteor/app/cloud/server/functions/syncWorkspace/handleCommsSync.ts b/apps/meteor/app/cloud/server/functions/syncWorkspace/handleCommsSync.ts index 4354be6d5bba0..a7617a5465fde 100644 --- a/apps/meteor/app/cloud/server/functions/syncWorkspace/handleCommsSync.ts +++ b/apps/meteor/app/cloud/server/functions/syncWorkspace/handleCommsSync.ts @@ -1,5 +1,5 @@ import { NPS, Banner } from '@rocket.chat/core-services'; -import type { Cloud, IBanner } from '@rocket.chat/core-typings'; +import type { Cloud, IBanner, Optional } from '@rocket.chat/core-typings'; import { getAndCreateNpsSurvey } from '../../../../../server/services/nps/getAndCreateNpsSurvey'; @@ -23,7 +23,7 @@ export const handleNpsOnWorkspaceSync = async (nps: Cloud.NpsSurveyAnnouncement) } }; -export const handleBannerOnWorkspaceSync = async (banners: IBanner[]) => { +export const handleBannerOnWorkspaceSync = async (banners: Optional[]) => { for (const banner of banners) { await Banner.create(banner); } diff --git a/packages/core-typings/src/cloud/Announcement.ts b/packages/core-typings/src/cloud/Announcement.ts index 8f07ef22f7a2b..b169b678f7798 100644 --- a/packages/core-typings/src/cloud/Announcement.ts +++ b/packages/core-typings/src/cloud/Announcement.ts @@ -1,9 +1,11 @@ import * as z from 'zod'; import { IBannerSchema } from '../IBanner'; +import { TimestampSchema } from '../utils'; export const AnnouncementSchema = IBannerSchema.extend({ createdBy: z.enum(['cloud', 'system']), + _updatedAt: TimestampSchema.optional(), selector: z.object({ roles: z.array(z.string()) }).optional(), }); diff --git a/packages/core-typings/src/cloud/WorkspaceSyncPayload.ts b/packages/core-typings/src/cloud/WorkspaceSyncPayload.ts index 64e304c685e79..3fcd6301bd9b7 100644 --- a/packages/core-typings/src/cloud/WorkspaceSyncPayload.ts +++ b/packages/core-typings/src/cloud/WorkspaceSyncPayload.ts @@ -29,7 +29,10 @@ export const WorkspaceSyncPayloadSchema = z.object({ /** @deprecated */ nps: NpsSurveyAnnouncementSchema.optional().meta({ deprecated: true }), /** @deprecated */ - banners: z.array(IBannerSchema).optional().meta({ deprecated: true }), + banners: z + .array(IBannerSchema.extend({ _updatedAt: TimestampSchema.optional() })) + .optional() + .meta({ deprecated: true }), }); export type WorkspaceSyncPayload = z.infer;