package com.atlassian.bitbucket.audit;

import com.atlassian.bitbucket.user.ApplicationUser;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.util.Date;

public interface MinimalAuditEntry {

    /**
     * @return the type of event
     */
    @Nonnull
    String getAction();

    /**
     * @return any extra details not covered by the other fields
     */
    @Nullable
    String getDetails();

    /**
     * @return the date and time the action occurred
     */
    @Nonnull
    Date getTimestamp();

    /**
     * @return the user who performed the action
     */
    @Nullable
    ApplicationUser getUser();
}
