All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.formkiq.server.service.FolderService Maven / Gradle / Ivy

There is a newer version: 0.6.1
Show newest version
package com.formkiq.server.service;

import java.io.IOException;
import java.util.List;
import java.util.UUID;

import org.springframework.security.core.userdetails.UserDetails;

import com.formkiq.server.domain.type.FolderDTO;
import com.formkiq.server.domain.type.FolderFormStatus;
import com.formkiq.server.domain.type.FolderFormsListDTO;
import com.formkiq.server.domain.type.FolderListDTO;
import com.formkiq.server.domain.type.FormDTO;
import com.formkiq.server.domain.type.FormOrderByField;
import com.formkiq.server.domain.type.SortDirection;

/**
 * Folder Services.
 *
 */
public interface FolderService {

    /**
     * Delete Folder.
     * @param user {@link UserDetails}
     * @param folder {@link String}
     */
    void deleteFolder(UserDetails user, String folder);

    /**
     * Delete File in Folder.
     * @param user {@link UserDetails}
     * @param folder {@link String}
     * @param uuid {@link String}
     * @param isparentuuid boolean
     */
    void deleteFolderFile(UserDetails user, String folder, String uuid,
            boolean isparentuuid);

    /**
     * Get Folder.
     * @param user {@link UserDetails}
     * @param folder {@link String}
     * @return {@link FolderDTO}
     */
    FolderDTO findFolder(UserDetails user, String folder);

    /**
     * Finds Form for user.
     * @param user {@link UserDetails}
     * @param folder {@link String}
     * @param form {@link String}
     * @return {@link FormDTO}
     */
    FormDTO findForm(UserDetails user, String folder, String form);

    /**
     * Gets Client Form Data.
     * @param folder {@link String}
     * @param uuid {@link String}
     * @return byte[]
     * @throws IOException IOException
     */
    byte[] findFormData(final String folder, final String uuid)
            throws IOException;

    /**
     * Find Forms in a folder.
     * @param folder {@link String}
     * @param parent {@link String}
     * @param text {@link String}
     * @param orderby {@link FormOrderByField}
     * @param direction {@link SortDirection}
     * @param status {@link List}
     * @param token {@link String}
     * @return {@link FolderFormsListDTO}
     */
    FolderFormsListDTO findForms(String folder, String parent, String text,
            FormOrderByField orderby, SortDirection direction,
            List status, String token);

    /**
     * Get Folder List for a User.
     * @param user {@link UserDetails}
     * @param nextToken {@link String}
     * @return {@link FolderListDTO}
     */
    FolderListDTO getFolderList(UserDetails user, String nextToken);

    /**
     * Add Folder to User.
     * @param user {@link UserDetails}
     * @param folder {@link String}
     * @param foldername {@link String}
     * @return {@link UUID}
     */
    UUID saveFolder(UserDetails user, String folder, String foldername);

    /**
     * Saves File to Folder.
     * @param folder {@link String}
     * @param bytes byte[]
     * @param lastSha1hash {@link String}
     * @return {@link String}
     * @throws IOException IOException
     */
    String saveForm(final String folder, final byte[] bytes,
            final String lastSha1hash) throws IOException;
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy