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());
}

 

Table of contents [ Hide Show ]