X-Git-Url: https://code.wpia.club/?p=gigi.git;a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FdbObjects%2FOrganisation.java;h=d85ffb81fb42f993d56b2203a5483da197905a3d;hp=7151203df7347d72dfe5962693bbbe4c7c672fbf;hb=fa1ae652fbff9c7caeded3fc89680703d1da381b;hpb=123b7724f9b8ab944a7aa6ab2df9499f34b02a4b diff --git a/src/org/cacert/gigi/dbObjects/Organisation.java b/src/org/cacert/gigi/dbObjects/Organisation.java index 7151203d..d85ffb81 100644 --- a/src/org/cacert/gigi/dbObjects/Organisation.java +++ b/src/org/cacert/gigi/dbObjects/Organisation.java @@ -1,5 +1,8 @@ package org.cacert.gigi.dbObjects; +import java.util.ArrayList; +import java.util.List; + import org.cacert.gigi.database.DatabaseConnection; import org.cacert.gigi.database.GigiPreparedStatement; import org.cacert.gigi.database.GigiResultSet; @@ -63,4 +66,33 @@ public class Organisation extends CertificateOwner { } return null; } + + public void addAdmin(User admin, User actor) { + GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("INSERT INTO org_admin SET orgid=?, memid=?, creator=?"); + ps.setInt(1, getId()); + ps.setInt(2, admin.getId()); + ps.setInt(3, actor.getId()); + ps.execute(); + } + + public void removeAdmin(User admin, User actor) { + GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("UPDATE org_admin SET deleter=?, deleted=NOW() WHERE orgid=? AND memid=?"); + ps.setInt(1, actor.getId()); + ps.setInt(2, getId()); + ps.setInt(3, admin.getId()); + ps.execute(); + } + + public List getAllAdmins() { + GigiPreparedStatement ps = DatabaseConnection.getInstance().prepare("SELECT memid FROM org_admin WHERE orgid=? AND deleted is null"); + ps.setInt(1, getId()); + GigiResultSet rs = ps.executeQuery(); + rs.last(); + ArrayList al = new ArrayList<>(rs.getRow()); + rs.beforeFirst(); + while (rs.next()) { + al.add(User.getById(rs.getInt(1))); + } + return al; + } }