<?php

/**
 * OpenKM, Open Knowledge Management System S.L.  (http://www.openkm.com)
 * Copyright (c) 2006-2018
 *
 * No bytes were intentionally harmed during the development of this application.
 *
 * This program is commercial software; you can use it under the terms of the
 * EULA - OpenKM SDK End User License Agreement as published by OpenKM Knowledge Management System S.L.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 * EULA - OpenKM SDK End User License Agreement for more details:
 * http://docs.openkm.com/kcenter/view/licenses/eula-openkm-sdk-end-user-license-agreement.html
 */


namespace openkm\definition;

use openkm\bean\Folder;

/**
 * BaseFolder
 *
 * @author sochoa
 */
interface BaseFolder {

    public function createFolder($uuid, $name);

    public function getFolderProperties($uuid);

    public function deleteFolder($uuid);

    public function renameFolder($uuid, $newName);

    public function moveFolder($uuid, $dstId);

    public function getFolderChildren($uuid);

    public function isValidFolder($uuid);

    public function getFolderPath($uuid);

    public function copyFolder($uuid, $dstId, $newName);

    public function extendedFolderCopy($uuid, $dstId, $newName, $categories, $keywords, $propertyGroups, $notes, $security);

    public function getContentInfo($uuid);

    public function purgeFolder($uuid);

    public function setStyle($uuid, $styleId);
    
    public function createMissingFolders($fldPath);
    
    public function setFolderDescription($uuid, $description);
    
    public function createFolderFromTemplate($uuid, $dstPath, $language, $categories, $keywords, $propertyGroups, $notes, $properties);
}

?>
