X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fdemoscenemusic%2Fdata%2FUser.java;h=d33daf5d22ab833aa3304b62e0080f3d4ce0416b;hb=552a91b0c8a42edf5e9288f333af9c2d1bbb8ec6;hp=cfb32a7abfd3485e4940a1d8487513ef7bcd57d4;hpb=2c555309311e6397c65f9e8b95fb4020e46dd181;p=demoscenemusic.git diff --git a/src/main/java/net/pterodactylus/demoscenemusic/data/User.java b/src/main/java/net/pterodactylus/demoscenemusic/data/User.java index cfb32a7..d33daf5 100644 --- a/src/main/java/net/pterodactylus/demoscenemusic/data/User.java +++ b/src/main/java/net/pterodactylus/demoscenemusic/data/User.java @@ -26,6 +26,12 @@ import java.util.Collection; */ public interface User extends Base { + /** Privilege level for site gods. */ + public static final int LEVEL_GOD = 100; + + /** Privilege level for normal users. */ + public static final int LEVEL_USER = 0; + /** * Returns the name of this user. * @@ -43,6 +49,51 @@ public interface User extends Base { public User setName(String name); /** + * Sets the password of this user. + * + * @param password + * The new password of this user + * @return This user + */ + public User setPassword(String password); + + /** + * Sets the hash of the password of this user. + * + * @param passwordHash + * The hash of the user’s password + * @return This user + */ + public User setPasswordHash(String passwordHash); + + /** + * Verifies the given password. + * + * @param password + * The password to verify + * @return {@code true} if the given password matches the user’s password, + * {@code false} otherwise + */ + public boolean verifyPassword(String password); + + /** + * Returns the privilege level of this user. 0 is the level of a normal user + * without any special privileges. + * + * @return The privilege level of this user + */ + public int getLevel(); + + /** + * Sets the privilege level of this user. + * + * @param level + * The privilege level of this user + * @return This user + */ + public User setLevel(int level); + + /** * Returns all OpenIDs connected with this user. * * @return All OpenIDs connected with this user