001/*
002 * jPOS Project [http://jpos.org]
003 * Copyright (C) 2000-2026 jPOS Software SRL
004 *
005 * This program is free software: you can redistribute it and/or modify
006 * it under the terms of the GNU Affero General Public License as
007 * published by the Free Software Foundation, either version 3 of the
008 * License, or (at your option) any later version.
009 *
010 * This program is distributed in the hope that it will be useful,
011 * but WITHOUT ANY WARRANTY; without even the implied warranty of
012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
013 * GNU Affero General Public License for more details.
014 *
015 * You should have received a copy of the GNU Affero General Public License
016 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
017 */
018
019package org.jpos.log.evt;
020
021import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
022import org.jpos.log.AuditLogEvent;
023
024/**
025 * Represents activity in the deployment directory
026 *
027 * <p>This record is used as part of the audit log events in the system to track deployment actions.</p>
028 *
029 * @param action deploy action
030 * @param info additional info (such as the path) related to the deployment descriptor
031 */
032
033public record DeployActivity(@JacksonXmlProperty(isAttribute = true) Action action, String info) implements AuditLogEvent {
034    /** Filesystem-level event observed in the deploy directory. */
035    public enum Action {
036        /** A new descriptor was created. */
037        CREATE,
038        /** An existing descriptor was deleted. */
039        DELETE,
040        /** An existing descriptor was modified in place. */
041        MODIFY,
042        /** A descriptor was renamed. */
043        RENAME,
044        /** A rename was attempted but could not be completed. */
045        RENAME_ERROR
046    }
047}