Enforce some api capabilities.

This commit is contained in:
zhangyuheng 2024-10-17 15:25:27 +08:00
parent 8e490ec57a
commit 2d2fb9a233
6 changed files with 64 additions and 7 deletions

View File

@ -226,7 +226,7 @@ public interface DominionDTO {
* @param value 权限值
* @return 领地对象
*/
@Nullable DominionDTO setFlagValue(Flag flag, Boolean value);
@Nullable DominionDTO setFlagValue(@NotNull Flag flag, @NotNull Boolean value);
/**
* 获取领地传送点坐标

View File

@ -2,6 +2,7 @@ package cn.lunadeer.dominion.api.dtos;
import net.kyori.adventure.text.Component;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Map;
@ -20,6 +21,14 @@ public interface GroupDTO {
*/
@NotNull Integer getDomID();
/**
* 设置权限组名称可以包含颜色代码设置成功后返回权限组对象设置失败返回null
*
* @param name 权限组名称
* @return 权限组对象
*/
@Nullable GroupDTO setName(@NotNull String name);
/**
* 获取权限组名称普通字符不含颜色代码
* 绝大多数情况下应该使用该方法获取权限组名称
@ -49,6 +58,14 @@ public interface GroupDTO {
*/
@NotNull String getNameColoredBukkit();
/**
* 设置权限组是否为管理员组设置成功后返回权限组对象设置失败返回null
*
* @param admin 是否为管理员组
* @return 权限组对象
*/
@Nullable GroupDTO setAdmin(@NotNull Boolean admin);
/**
* 获取权限组是否为管理员组
*
@ -70,4 +87,13 @@ public interface GroupDTO {
* @return 权限配置
*/
@NotNull Map<Flag, Boolean> getFlagsValue();
/**
* 设置权限组某个权限配置设置成功后返回权限组对象设置失败返回null
*
* @param flag 权限
* @param value 权限值
* @return 权限组对象
*/
@Nullable GroupDTO setFlagValue(@NotNull Flag flag, @NotNull Boolean value);
}

View File

@ -1,6 +1,7 @@
package cn.lunadeer.dominion.api.dtos;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.util.Map;
import java.util.UUID;
@ -20,6 +21,14 @@ public interface MemberDTO {
*/
UUID getPlayerUUID();
/**
* 设置成员是否为管理员设置成功后返回权限组对象设置失败返回null
*
* @param admin 是否为管理员
* @return 成员对象
*/
@Nullable MemberDTO setAdmin(@NotNull Boolean admin);
/**
* 成员是否为管理员
*
@ -55,4 +64,13 @@ public interface MemberDTO {
* @return 权限配置值
*/
@NotNull Map<Flag, Boolean> getFlagsValue();
/**
* 设置成员某个权限配置设置成功后返回成员对象设置失败返回null
*
* @param flag 权限
* @param value 权限配置值
* @return 成员对象
*/
@Nullable MemberDTO setFlagValue(@NotNull Flag flag, @NotNull Boolean value);
}

View File

@ -410,7 +410,7 @@ public class DominionDTO implements cn.lunadeer.dominion.api.dtos.DominionDTO {
}
@Override
public DominionDTO setFlagValue(Flag flag, Boolean value) {
public DominionDTO setFlagValue(@NotNull Flag flag, @NotNull Boolean value) {
flags.put(flag, value);
Field flagField = new Field(flag.getFlagName(), value);
return doUpdate(new UpdateRow().field(flagField));

View File

@ -11,6 +11,7 @@ import cn.lunadeer.minecraftpluginutils.databse.syntax.InsertRow;
import cn.lunadeer.minecraftpluginutils.databse.syntax.UpdateRow;
import net.kyori.adventure.text.Component;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.sql.ResultSet;
import java.util.ArrayList;
@ -84,20 +85,26 @@ public class GroupDTO implements cn.lunadeer.dominion.api.dtos.GroupDTO {
return flags;
}
public GroupDTO setName(String name) {
@Override
public @Nullable GroupDTO setName(@NotNull String name) {
this.name_color.value = name;
this.name_raw.value = ColorParser.getPlainText(name);
UpdateRow updateRow = new UpdateRow().field(this.name_raw).field(this.name_color);
return doUpdate(updateRow);
}
public GroupDTO setAdmin(Boolean admin) {
@Override
public @Nullable GroupDTO setAdmin(@NotNull Boolean admin) {
this.admin.value = admin;
UpdateRow updateRow = new UpdateRow().field(this.admin);
return doUpdate(updateRow);
}
public GroupDTO setFlagValue(Flag flag, Boolean value) {
@Override
public GroupDTO setFlagValue(@NotNull Flag flag, @NotNull Boolean value) {
if (flag.isEnvironmentFlag()) {
return null;
}
flags.put(flag, value);
Field f = new Field(flag.getFlagName(), value);
UpdateRow updateRow = new UpdateRow().field(f);

View File

@ -8,6 +8,7 @@ import cn.lunadeer.minecraftpluginutils.databse.FieldType;
import cn.lunadeer.minecraftpluginutils.databse.syntax.InsertRow;
import cn.lunadeer.minecraftpluginutils.databse.syntax.UpdateRow;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import java.sql.ResultSet;
import java.util.*;
@ -166,14 +167,19 @@ public class MemberDTO implements cn.lunadeer.dominion.api.dtos.MemberDTO {
return flags;
}
public MemberDTO setFlagValue(Flag flag, Boolean value) {
@Override
public MemberDTO setFlagValue(@NotNull Flag flag, @NotNull Boolean value) {
if (flag.isEnvironmentFlag()) {
return null;
}
flags.put(flag, value);
Field f = new Field(flag.getFlagName(), value);
UpdateRow updateRow = new UpdateRow().field(f);
return doUpdate(updateRow);
}
public MemberDTO setAdmin(Boolean admin) {
@Override
public @Nullable MemberDTO setAdmin(@NotNull Boolean admin) {
this.admin.value = admin;
UpdateRow updateRow = new UpdateRow().field(this.admin);
return doUpdate(updateRow);