// Path: osuCelebrity-model/src/main/java/me/reddev/osucelebrity/Privilege.java
// @RequiredArgsConstructor
// public enum Privilege {
//   ADMIN(true, true, true),
//   MOD(false, true, true),
//   PLAYER(false, false, false);
//   
//   /**
//    * Can raise people's level to mod.
//    */
//   public final boolean canMod;
//   /**
//    * Can skip a player (see {@link Spectator#advance(javax.jdo.PersistenceManager)}.
//    */
//   public final boolean canSkip;
//   /**
//    * Can skip a player (see {@link Spectator#advance(javax.jdo.PersistenceManager)}.
//    */
//   public final boolean canRestartClient;
// }


import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import me.reddev.osucelebrity.Privilege;
import org.tillerino.osuApiModel.OsuApiUser;
import org.tillerino.osuApiModel.types.GameMode;
import org.tillerino.osuApiModel.types.UserId;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.Index;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.PrimaryKey;
package me.reddev.osucelebrity.osu;



@PersistenceCapable(detachable = "true")
@Getter
@ToString
public class OsuUser {
  @PrimaryKey
  @UserId
  @Getter(onMethod = @__(@UserId))
  private int userId;

  @Index
  private String userName;

  private long downloaded;

  @Setter
// Path: osuCelebrity-model/src/main/java/me/reddev/osucelebrity/Privilege.java
// @RequiredArgsConstructor
// public enum Privilege {
//   ADMIN(true, true, true),
//   MOD(false, true, true),
//   PLAYER(false, false, false);
//   
//   /**
//    * Can raise people's level to mod.
//    */
//   public final boolean canMod;
//   /**
//    * Can skip a player (see {@link Spectator#advance(javax.jdo.PersistenceManager)}.
//    */
//   public final boolean canSkip;
//   /**
//    * Can skip a player (see {@link Spectator#advance(javax.jdo.PersistenceManager)}.
//    */
//   public final boolean canRestartClient;
// }


// Path: osuCelebrity-model/src/main/java/me/reddev/osucelebrity/osu/OsuUser.java
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
import me.reddev.osucelebrity.Privilege;
import org.tillerino.osuApiModel.OsuApiUser;
import org.tillerino.osuApiModel.types.GameMode;
import org.tillerino.osuApiModel.types.UserId;
import javax.jdo.annotations.Column;
import javax.jdo.annotations.Index;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.PrimaryKey;

package me.reddev.osucelebrity.osu;



@PersistenceCapable(detachable = "true")
@Getter
@ToString
public class OsuUser {
  @PrimaryKey
  @UserId
  @Getter(onMethod = @__(@UserId))
  private int userId;

  @Index
  private String userName;

  private long downloaded;

  @Setter
  private Privilege privilege = Privilege.PLAYER;