Script - Purge all users trashes
import com.openkm.api.OKMDocument;
import com.openkm.api.OKMFolder;
import com.openkm.api.OKMMail;
import com.openkm.bean.Document;
import com.openkm.bean.Folder;
import com.openkm.bean.Mail;
import com.openkm.module.db.stuff.DbSessionManager;
import com.openkm.util.ContextWrapper;
try {
OKMFolder okmFolder = ContextWrapper.getContext().getBean(OKMFolder.class);
OKMDocument okmDocument = ContextWrapper.getContext().getBean(OKMDocument.class);
OKMMail okmMail = ContextWrapper.getContext().getBean(OKMMail.class);
String token = DbSessionManager.getInstance().getSystemToken();
for (Folder trash : okmFolder.getChildren(token, "/okm:trash")) {
print("Trash: " + trash.getPath() + "<br/>");
for (Folder fld : okmFolder.getChildren(token, trash.getPath())) {
print("About to delete folder: " + fld.getPath() + "<br/>");
okmFolder.purge(token, fld.getUuid());
}
for (Document doc : okmDocument.getChildren(token, trash.getPath())) {
print("About to delete document: " + doc.getPath() + "<br/>");
if (okmDocument.isLocked(token, doc.getUuid())) {
okmDocument.forceUnlock(token, doc.getUuid());
}
okmDocument.purge(token, doc.getUuid());
}
for (Mail mail : okmMail.getChildren(token, trash.getUuid())) {
print("About to delete mail: " + mail.getPath() + "<br/>");
okmMail.purge(token, mail.getUuid());
}
}
} catch (Exception e) {
print(e.getMessage());
}