working on permissions
This commit is contained in:
@@ -59,7 +59,7 @@ public class Rest extends HttpServlet {
|
||||
switch (path) {
|
||||
case USER_LIST:
|
||||
try {
|
||||
json.put("users", (user.is(ADMIN) ? User.loadAll() : List.of(user)).stream().map(User::safeMap).toList());
|
||||
json.put("users", (user.hashPermission(User.PERMISSION_ADMIN) ? User.loadAll() : List.of(user)).stream().map(User::safeMap).toList());
|
||||
} catch (SQLException e) {
|
||||
LOG.debug("Failed to load user list:",e);
|
||||
json.put(ERROR,"failed to load user list");
|
||||
@@ -140,7 +140,7 @@ public class Rest extends HttpServlet {
|
||||
}
|
||||
|
||||
private Map<String, Object> listMembers(String listEmail, User user) {
|
||||
if (user.is(ADMIN) || ListMember.listsOwnedBy(user).contains(listEmail)) {
|
||||
if (user.hashPermission(User.PERMISSION_ADMIN) || ListMember.listsOwnedBy(user).contains(listEmail)) {
|
||||
try {
|
||||
var members = ListMember.of(listEmail)
|
||||
.entrySet()
|
||||
@@ -161,9 +161,9 @@ public class Rest extends HttpServlet {
|
||||
}
|
||||
|
||||
private Map enableList(String listEmail, User user, boolean enable) {
|
||||
if (user.is(ADMIN) || ListMember.listsOwnedBy(user).contains(listEmail)){
|
||||
if (user.hashPermission(User.PERMISSION_ADMIN) || ListMember.listsOwnedBy(user).contains(listEmail)){
|
||||
try {
|
||||
MailingList.enable(listEmail,enable);
|
||||
MailingList.load(listEmail).enable(enable);
|
||||
return Map.of(SUCCESS,t("Mailing list '{}' was {}!",listEmail,enable ? "enabled" : "disabled"));
|
||||
} catch (SQLException e) {
|
||||
LOG.error("Failed to enable/disable mailing list: ",e);
|
||||
@@ -174,9 +174,9 @@ public class Rest extends HttpServlet {
|
||||
}
|
||||
|
||||
private Map<String, String> hideList(String listEmail, User user, boolean hide) {
|
||||
if (user.is(ADMIN) || ListMember.listsOwnedBy(user).contains(listEmail)){
|
||||
if (user.hashPermission(User.PERMISSION_ADMIN) || ListMember.listsOwnedBy(user).contains(listEmail)){
|
||||
try {
|
||||
MailingList.hide(listEmail,hide);
|
||||
MailingList.load(listEmail).hide(hide);
|
||||
return Map.of(SUCCESS,t("Mailing list '{}' was {}!",listEmail,hide ? "hidden" : "made public"));
|
||||
} catch (SQLException e) {
|
||||
LOG.error("Failed to (un)hide mailing list: ",e);
|
||||
|
||||
Reference in New Issue
Block a user