package com.lanyuanxiaoyao.server.entity;

import com.yahoo.elide.annotation.LifeCycleHookBinding;
import com.yahoo.elide.core.lifecycle.LifeCycleHook;
import com.yahoo.elide.core.security.ChangeSpec;
import com.yahoo.elide.core.security.RequestScope;
import java.util.Optional;
import lombok.extern.slf4j.Slf4j;

/**
 * @author lanyuanxiaoyao
 * @version 20250304
 */
@Slf4j
public class LogicDeletedHook implements LifeCycleHook<User> {
  @Override
  public void execute(LifeCycleHookBinding.Operation operation, LifeCycleHookBinding.TransactionPhase phase, User user, RequestScope scope, Optional<ChangeSpec> changes) {
    log.info("Operation: {}, Phase: {}, User: {}, Scope: {}, Changes: {}", operation, phase, user, scope, changes);
  }
}
