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

com.droidlogix.dbflare.hub.ITransactionRestApi Maven / Gradle / Ivy

There is a newer version: 1.0.8
Show newest version
package com.droidlogix.dbflare.hub;

import com.droidlogix.dbflare.datahandler.models.IMetadataResult;
import com.droidlogix.dbflare.exceptions.DbFlareGenericException;

import javax.servlet.http.HttpServletRequest;
import java.sql.SQLException;
import java.util.List;

/**
 * @author John Pili
 * @since 2016-10-19
 */

public interface ITransactionRestApi
{
	/**
	 * This method is for creating new record based on existing JPA entities located inside
	 * plugin_entities.jar
	 * @param api
	 * @param prettify
	 * @param ignoreResult
	 * @param request
	 * @return
	 */
	String zinsert(String api, boolean prettify, boolean ignoreResult, HttpServletRequest request) throws DbFlareGenericException;

	/**
	 * This method is for updating a record based on the submitted URL parameters
	 * @param api
	 * @param prettify
	 * @param request
	 * @return
	 */
	String zupdate(String api, boolean prettify, boolean ignoreResult, boolean _kb, String _key, HttpServletRequest request) throws DbFlareGenericException;

	/**
	 * This method is for updating a set of records by primary key field name
	 * @param payload
	 * @param primaryKeyFieldName
	 * @return
	 * @throws Exception
	 */
	List zupdate(List payload, String primaryKeyFieldName) throws Exception;

	/**
	 * This method is for deleting a record based on the submitted URL parameters
	 * @param api
	 * @param prettify
	 * @param ignoreResult
	 * @param request
	 * @return
	 */
	String zdelete(String api, boolean prettify, boolean ignoreResult, HttpServletRequest request) throws DbFlareGenericException;

	/**
	 * This method is used to extract the header information of a native SQL query
	 * used for generating mapping or as a reference
	 * @param nativeSqlQuery
	 * @return
	 */
	List extractMetadata(String nativeSqlQuery) throws DbFlareGenericException;
}