/* * Copyright (C) 2007-2022 Crafter Software Corporation. All Rights Reserved. * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 as published by * the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . */ import Person from './Person'; export interface SocketEventBase { siteId: string; timestamp: number; eventType: string; targetPath?: string; user: Person | null; } export type ContentEventPayload = SocketEventBase & { targetPath: string; }; export type DeleteContentEventPayload = SocketEventBase & { targetPath: string; }; export type DeleteContentEventsPayload = Omit & { targetPaths: string[]; }; export type MoveContentEventPayload = SocketEventBase & { targetPath: string; sourcePath: string; }; export type LockContentEventPayload = SocketEventBase & { targetPath: string; locked: boolean; }; export type PublishEventPayload = Omit; export type RepositoryEventPayload = Omit & { user: null; }; export type WorkflowEventPayload = Omit; export default SocketEventBase;