mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
modefying DAO layer
This commit is contained in:
parent
6e25a0bc3e
commit
5717e81cfb
@ -52,6 +52,7 @@
|
||||
<Bundle-Description>Application Management Common Bundle</Bundle-Description>
|
||||
<Import-Package>
|
||||
org.wso2.carbon.device.mgt.common.*;version="${carbon.device.mgt.version}",
|
||||
org.wso2.carbon.device.mgt.core.dto;version="${carbon.device.mgt.version}",
|
||||
com.google.gson,
|
||||
io.swagger.annotations.*;resolution:=optional,
|
||||
com.fasterxml.jackson.annotation,
|
||||
|
||||
@ -21,6 +21,7 @@ package org.wso2.carbon.device.application.mgt.common;
|
||||
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@ -36,6 +37,11 @@ public class Application {
|
||||
required = true)
|
||||
private String name;
|
||||
|
||||
@ApiModelProperty(name = "description",
|
||||
value = "Description of the application",
|
||||
required = true)
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty(name = "appCategory",
|
||||
value = "Category of the application",
|
||||
required = true,
|
||||
@ -81,6 +87,10 @@ public class Application {
|
||||
example = "1, 2, 3")
|
||||
private int deviceTypeId;
|
||||
|
||||
@ApiModelProperty(name = "appRating",
|
||||
value = "Rating of the aplication")
|
||||
private int appRating;
|
||||
|
||||
@ApiModelProperty(name = "deviceType",
|
||||
value = "Related device type of the application",
|
||||
required = true,
|
||||
@ -93,6 +103,8 @@ public class Application {
|
||||
example = "REMOVED, ACTIVE")
|
||||
private String status;
|
||||
|
||||
private DeviceType deviceTypeObj;
|
||||
|
||||
@ApiModelProperty(name = "applicationReleases",
|
||||
value = "List of application releases",
|
||||
required = true)
|
||||
@ -186,9 +198,7 @@ public class Application {
|
||||
return deviceType;
|
||||
}
|
||||
|
||||
public void setDeviceType(String deviceType) {
|
||||
this.deviceType = deviceType;
|
||||
}
|
||||
public void setDeviceType(String deviceType) { this.deviceType = deviceType; }
|
||||
|
||||
public int getDeviceTypeId() {
|
||||
return deviceTypeId;
|
||||
@ -201,4 +211,16 @@ public class Application {
|
||||
public String getStatus() { return status; }
|
||||
|
||||
public void setStatus(String status) { this.status = status; }
|
||||
|
||||
public String getDescription() { return description; }
|
||||
|
||||
public void setDescription(String description) { this.description = description; }
|
||||
|
||||
public int getAppRating() { return appRating; }
|
||||
|
||||
public void setAppRating(int appRating) { this.appRating = appRating; }
|
||||
|
||||
public DeviceType getDeviceTypeObj() { return deviceTypeObj; }
|
||||
|
||||
public void setDeviceTypeObj(DeviceType deviceTypeObj) { this.deviceTypeObj = deviceTypeObj; }
|
||||
}
|
||||
|
||||
@ -18,16 +18,22 @@
|
||||
*/
|
||||
package org.wso2.carbon.device.application.mgt.common;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
||||
@ApiModel(value = "ApplicationRelease", description = "This class holds the details when releasing an Application to application store")
|
||||
public class ApplicationRelease {
|
||||
|
||||
@JsonIgnore
|
||||
@ApiModelProperty(name = "id",
|
||||
value = "ID of the application release")
|
||||
private int id;
|
||||
|
||||
@ApiModelProperty(name = "description",
|
||||
value = "Description of the application release")
|
||||
private String description;
|
||||
|
||||
@ApiModelProperty(name = "version",
|
||||
value = "Version of the application release")
|
||||
private String version;
|
||||
@ -98,14 +104,26 @@ public class ApplicationRelease {
|
||||
value = "URL which is used for WEB-CLIP")
|
||||
private String url;
|
||||
|
||||
//todo remove and add string called current state
|
||||
@ApiModelProperty(name = "lifecycleState",
|
||||
value = "Latest Lifecycle state of the application release")
|
||||
private LifecycleState lifecycleState;
|
||||
|
||||
@ApiModelProperty(name = "supportedOsVersions",
|
||||
value = "Application release supported OS versions")
|
||||
private String supportedOsVersions;
|
||||
|
||||
@ApiModelProperty(name = "currentState",
|
||||
value = "Current state of the application release")
|
||||
private String currentState;
|
||||
|
||||
@ApiModelProperty(name = "packageName",
|
||||
value = "Application bundle identifier")
|
||||
private String packageName;
|
||||
|
||||
public ApplicationRelease() {
|
||||
}
|
||||
|
||||
public int getRatedUsers() {
|
||||
return ratedUsers;
|
||||
}
|
||||
@ -257,4 +275,16 @@ public class ApplicationRelease {
|
||||
public String getPackageName() {
|
||||
return packageName;
|
||||
}
|
||||
|
||||
public String getDescription() { return description; }
|
||||
|
||||
public void setDescription(String description) { this.description = description; }
|
||||
|
||||
public String getSupportedOsVersions() { return supportedOsVersions; }
|
||||
|
||||
public void setSupportedOsVersions(String supportedOsVersions) { this.supportedOsVersions = supportedOsVersions; }
|
||||
|
||||
public String getCurrentState() { return currentState; }
|
||||
|
||||
public void setCurrentState(String currentState) { this.currentState = currentState; }
|
||||
}
|
||||
|
||||
@ -32,6 +32,7 @@ import org.wso2.carbon.device.application.mgt.common.services.ApplicationStorage
|
||||
import org.wso2.carbon.device.application.mgt.common.services.SubscriptionManager;
|
||||
import org.wso2.carbon.device.application.mgt.core.config.Configuration;
|
||||
import org.wso2.carbon.device.application.mgt.core.config.ConfigurationManager;
|
||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementProviderService;
|
||||
|
||||
import java.sql.PreparedStatement;
|
||||
@ -47,6 +48,66 @@ public class Util {
|
||||
|
||||
private static final Log log = LogFactory.getLog(Util.class);
|
||||
|
||||
// /**
|
||||
// * To create application object from the result set retrieved from the Database.
|
||||
// *
|
||||
// * @param rs ResultSet
|
||||
// * @return List of Applications that is retrieved from the Database.
|
||||
// * @throws SQLException SQL Exception
|
||||
// * @throws JSONException JSONException.
|
||||
// */
|
||||
// public static List<Application> loadApplications(ResultSet rs) throws SQLException, JSONException {
|
||||
//
|
||||
// List<Application> applications = new ArrayList<>();
|
||||
// Application application = null;
|
||||
// int applicationId = -1;
|
||||
// boolean hasNext = rs.next();
|
||||
//
|
||||
// while (hasNext) {
|
||||
// if (applicationId != rs.getInt("APP_ID")) {
|
||||
// if (application != null) {
|
||||
// applications.add(application);
|
||||
// }
|
||||
// applicationId = rs.getInt("APP_ID");
|
||||
// application = new Application();
|
||||
// application.setTags(new ArrayList<>());
|
||||
// application.setUnrestrictedRoles(new ArrayList<>());
|
||||
// application.setId(applicationId);
|
||||
// application.setName(rs.getString("APP_NAME"));
|
||||
// application.setType(rs.getString("APP_TYPE"));
|
||||
// application.setAppCategory(rs.getString("APP_CATEGORY"));
|
||||
// application.setSubType(rs.getString("SUB_TYPE"));
|
||||
// application.setPaymentCurrency(rs.getString("CURRENCY"));
|
||||
// application.setIsRestricted(rs.getBoolean("RESTRICTED"));
|
||||
// application.setStatus(rs.getString("STATUS"));
|
||||
// String tag = rs.getString("APP_TAG");
|
||||
// String unrestrictedRole = rs.getString("ROLE");
|
||||
// if (tag != null) {
|
||||
// application.getTags().add(tag);
|
||||
// }
|
||||
// if (unrestrictedRole != null) {
|
||||
// application.getUnrestrictedRoles().add(unrestrictedRole);
|
||||
// }
|
||||
// } else {
|
||||
// String tag = rs.getString("APP_TAG");
|
||||
// String unrestrictedRole = rs.getString("ROLE");
|
||||
// if (application != null) {
|
||||
// if (tag != null && !application.getTags().contains(tag)) {
|
||||
// application.getTags().add(tag);
|
||||
// }
|
||||
// if (unrestrictedRole != null && !application.getUnrestrictedRoles().contains(unrestrictedRole)) {
|
||||
// application.getUnrestrictedRoles().add(unrestrictedRole);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// hasNext = rs.next();
|
||||
// if (!hasNext) {
|
||||
// applications.add(application);
|
||||
// }
|
||||
// }
|
||||
// return applications;
|
||||
// }
|
||||
|
||||
/**
|
||||
* To create application object from the result set retrieved from the Database.
|
||||
*
|
||||
@ -67,36 +128,38 @@ public class Util {
|
||||
if (application != null) {
|
||||
applications.add(application);
|
||||
}
|
||||
applicationId = rs.getInt("APP_ID");
|
||||
application = new Application();
|
||||
application.setTags(new ArrayList<>());
|
||||
application.setUnrestrictedRoles(new ArrayList<>());
|
||||
application.setApplicationReleases(new ArrayList<>());
|
||||
applicationId = rs.getInt("APP_ID");
|
||||
application.setId(applicationId);
|
||||
application.setName(rs.getString("APP_NAME"));
|
||||
application.setDescription(rs.getString("APP_DESCRIPTION"));
|
||||
application.setType(rs.getString("APP_TYPE"));
|
||||
application.setAppCategory(rs.getString("APP_CATEGORY"));
|
||||
application.setSubType(rs.getString("SUB_TYPE"));
|
||||
application.setPaymentCurrency(rs.getString("CURRENCY"));
|
||||
application.setIsRestricted(rs.getBoolean("RESTRICTED"));
|
||||
application.setStatus(rs.getString("STATUS"));
|
||||
String tag = rs.getString("APP_TAG");
|
||||
String unrestrictedRole = rs.getString("ROLE");
|
||||
if (tag != null) {
|
||||
application.getTags().add(tag);
|
||||
}
|
||||
if (unrestrictedRole != null) {
|
||||
application.getUnrestrictedRoles().add(unrestrictedRole);
|
||||
}
|
||||
application.setSubType(rs.getString("APP_SUB_TYPE"));
|
||||
application.setPaymentCurrency(rs.getString("APP_CURRENCY"));
|
||||
application.setStatus(rs.getString("APP_STATUS"));
|
||||
application.setAppRating(rs.getInt("APP_RATING)"));
|
||||
DeviceType deviceType = new DeviceType();
|
||||
application.setDeviceTypeObj(deviceType);
|
||||
} else {
|
||||
String tag = rs.getString("APP_TAG");
|
||||
String unrestrictedRole = rs.getString("ROLE");
|
||||
if (application != null) {
|
||||
if (tag != null && !application.getTags().contains(tag)) {
|
||||
application.getTags().add(tag);
|
||||
}
|
||||
if (unrestrictedRole != null && !application.getUnrestrictedRoles().contains(unrestrictedRole)) {
|
||||
application.getUnrestrictedRoles().add(unrestrictedRole);
|
||||
}
|
||||
ApplicationRelease appRelease = new ApplicationRelease();
|
||||
appRelease.setDescription(rs.getString("RELEASE_DESCRIPTION"));
|
||||
appRelease.setUuid(rs.getString("RELEASE_UUID"));
|
||||
appRelease.setReleaseType(rs.getString("RELEASE_TYPE"));
|
||||
appRelease.setVersion(rs.getString("RELEASE_VERSION"));
|
||||
appRelease.setAppStoredLoc(rs.getString("AP_RELEASE_STORED_LOC"));
|
||||
appRelease.setBannerLoc(rs.getString("RELEASE_BANNER_LOC"));
|
||||
appRelease.setScreenshotLoc1("RELEASE_SC1");
|
||||
appRelease.setScreenshotLoc2("RELEASE_SC2");
|
||||
appRelease.setScreenshotLoc3("RELEASE_SC3");
|
||||
appRelease.setPrice(rs.getDouble(" RELEASE_PRICE"));
|
||||
appRelease.setMetaData(rs.getString("RELEASE.META_INFO"));
|
||||
appRelease.setSupportedOsVersions(rs.getString("RELEASE_SUP_OS_VERSIONS"));
|
||||
appRelease.setRating(rs.getDouble("RELEASE_RATING"));
|
||||
appRelease.setCurrentState(rs.getString("RELEASE_CURRENT_STATE"));
|
||||
appRelease.setRatedUsers(rs.getInt("RATED_USER_COUNT"));
|
||||
if (application != null && application.getApplicationReleases() != null) {
|
||||
application.getApplicationReleases().add(appRelease);
|
||||
}
|
||||
}
|
||||
hasNext = rs.next();
|
||||
|
||||
@ -121,6 +121,117 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
|
||||
}
|
||||
}
|
||||
|
||||
// @Override
|
||||
// public ApplicationList getApplications(Filter filter, int tenantId) throws ApplicationManagementDAOException {
|
||||
// if (log.isDebugEnabled()) {
|
||||
// log.debug("Getting application data from the database");
|
||||
// log.debug(String.format("Filter: limit=%s, offset=%s", filter.getLimit(), filter.getOffset()));
|
||||
// }
|
||||
// int paramIndex = 1;
|
||||
// Connection conn;
|
||||
// PreparedStatement stmt = null;
|
||||
// ResultSet rs = null;
|
||||
// ApplicationList applicationList = new ApplicationList();
|
||||
// Pagination pagination = new Pagination();
|
||||
// String sql = "SELECT "
|
||||
// + "AP_APP.ID AS APP_ID,"
|
||||
// + " AP_APP.NAME AS APP_NAME,"
|
||||
// + " AP_APP.TYPE AS APP_TYPE,"
|
||||
// + " AP_APP.APP_CATEGORY AS APP_CATEGORY,"
|
||||
// + " AP_APP.SUB_TYPE AS SUB_TYPE,"
|
||||
// + " AP_APP.CURRENCY AS CURRENCY, "
|
||||
// + "AP_APP.RESTRICTED AS RESTRICTED,"
|
||||
// + " AP_APP_TAG.TAG AS APP_TAG,"
|
||||
// + " AP_UNRESTRICTED_ROLE.ROLE AS ROLE "
|
||||
// + "FROM ((AP_APP LEFT JOIN AP_APP_TAG ON AP_APP.ID = AP_APP_TAG.AP_APP_ID) "
|
||||
// + "LEFT JOIN AP_UNRESTRICTED_ROLE ON AP_APP.ID = AP_UNRESTRICTED_ROLE.AP_APP_ID) "
|
||||
// + "WHERE AP_APP.TENANT_ID = ?";
|
||||
//
|
||||
//
|
||||
// if (filter == null) {
|
||||
// throw new ApplicationManagementDAOException("Filter need to be instantiated");
|
||||
// }
|
||||
// if (filter.getAppType() != null && !filter.getAppType().isEmpty()) {
|
||||
// sql += " AND AP_APP.TYPE ";
|
||||
// sql += "= ?";
|
||||
// }
|
||||
// if (filter.getAppCategory() != null && !filter.getAppCategory().isEmpty()) {
|
||||
// sql += " AND AP_APP.APP_CATEGORY ";
|
||||
// sql += "= ?";
|
||||
// }
|
||||
// if (filter.getAppName() != null && !filter.getAppName().isEmpty()) {
|
||||
// sql += " AND LOWER (AP_APP.NAME) ";
|
||||
// if (filter.isFullMatch()) {
|
||||
// sql += "= ?";
|
||||
// } else {
|
||||
// sql += "LIKE ?";
|
||||
// }
|
||||
// }
|
||||
// if (filter.getDeviceType() != null ) {
|
||||
// sql += " AND AP_APP.DEVICE_TYPE_ID ";
|
||||
// sql += "= ?";
|
||||
// }
|
||||
//
|
||||
// String defaultSortOrder = "ASC";
|
||||
// if (filter.getSortBy() != null && !filter.getSortBy().isEmpty()) {
|
||||
// defaultSortOrder = filter.getSortBy();
|
||||
// }
|
||||
// sql += " ORDER BY APP_ID " + defaultSortOrder +" LIMIT ? OFFSET ? ";
|
||||
//
|
||||
// pagination.setLimit(filter.getLimit());
|
||||
// pagination.setOffset(filter.getOffset());
|
||||
//
|
||||
// try {
|
||||
// conn = this.getDBConnection();
|
||||
// stmt = conn.prepareStatement(sql);
|
||||
// stmt.setInt(paramIndex++, tenantId);
|
||||
//
|
||||
// if (filter.getAppType() != null && !filter.getAppType().isEmpty()) {
|
||||
// stmt.setString(paramIndex++, filter.getAppType());
|
||||
// }
|
||||
// if (filter.getAppCategory() != null && !filter.getAppCategory().isEmpty()) {
|
||||
// stmt.setString(paramIndex++, filter.getAppCategory());
|
||||
// }
|
||||
// if (filter.getAppName() != null && !filter.getAppName().isEmpty()) {
|
||||
// if (filter.isFullMatch()) {
|
||||
// stmt.setString(paramIndex++, filter.getAppName().toLowerCase());
|
||||
// } else {
|
||||
// stmt.setString(paramIndex++, "%" + filter.getAppName().toLowerCase() + "%");
|
||||
// }
|
||||
// }
|
||||
// if (filter.getDeviceType() != null ) {
|
||||
// stmt.setInt(paramIndex++, filter.getDeviceType().getId());
|
||||
// }
|
||||
//
|
||||
//
|
||||
// if (filter.getLimit() == 0) {
|
||||
// stmt.setInt(paramIndex++, 100);
|
||||
// } else {
|
||||
// stmt.setInt(paramIndex++, filter.getLimit());
|
||||
// }
|
||||
// stmt.setInt(paramIndex, filter.getOffset());
|
||||
// rs = stmt.executeQuery();
|
||||
// applicationList.setApplications(Util.loadApplications(rs));
|
||||
// applicationList.setPagination(pagination);
|
||||
// applicationList.getPagination().setSize(filter.getOffset());
|
||||
// applicationList.getPagination().setCount(applicationList.getApplications().size());
|
||||
//
|
||||
// } catch (SQLException e) {
|
||||
// throw new ApplicationManagementDAOException("Error occurred while getting application list for the tenant"
|
||||
// + " " + tenantId + ". While executing " + sql, e);
|
||||
// } catch (DBConnectionException e) {
|
||||
// throw new ApplicationManagementDAOException("Error occurred while obtaining the DB connection while "
|
||||
// + "getting application list for the tenant " + tenantId,
|
||||
// e);
|
||||
// } catch (JSONException e) {
|
||||
// throw new ApplicationManagementDAOException("Error occurred while parsing JSON ", e);
|
||||
// } finally {
|
||||
// Util.cleanupResources(stmt, rs);
|
||||
// }
|
||||
// return applicationList;
|
||||
// }
|
||||
|
||||
|
||||
@Override
|
||||
public ApplicationList getApplications(Filter filter, int tenantId) throws ApplicationManagementDAOException {
|
||||
if (log.isDebugEnabled()) {
|
||||
@ -134,19 +245,35 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
|
||||
ApplicationList applicationList = new ApplicationList();
|
||||
Pagination pagination = new Pagination();
|
||||
String sql = "SELECT "
|
||||
+ "AP_APP.ID AS APP_ID,"
|
||||
+ " AP_APP.NAME AS APP_NAME,"
|
||||
+ " AP_APP.TYPE AS APP_TYPE,"
|
||||
+ " AP_APP.APP_CATEGORY AS APP_CATEGORY,"
|
||||
+ " AP_APP.SUB_TYPE AS SUB_TYPE,"
|
||||
+ " AP_APP.CURRENCY AS CURRENCY, "
|
||||
+ "AP_APP.RESTRICTED AS RESTRICTED,"
|
||||
+ " AP_APP_TAG.TAG AS APP_TAG,"
|
||||
+ " AP_UNRESTRICTED_ROLE.ROLE AS ROLE "
|
||||
+ "FROM ((AP_APP LEFT JOIN AP_APP_TAG ON AP_APP.ID = AP_APP_TAG.AP_APP_ID) "
|
||||
+ "LEFT JOIN AP_UNRESTRICTED_ROLE ON AP_APP.ID = AP_UNRESTRICTED_ROLE.AP_APP_ID) "
|
||||
+ "WHERE AP_APP.TENANT_ID = ?";
|
||||
|
||||
+ "AP_APP.ID AS APP_ID, "
|
||||
+ "AP_APP.NAME AS APP_NAME, "
|
||||
+ "AP_APP.DESCRIPTION AS APP_DESCRIPTION, "
|
||||
+ "AP_APP.TYPE AS APP_TYPE, "
|
||||
+ "AP_APP.STATUS AS APP_STATUS, "
|
||||
+ "AP_APP.SUB_TYPE AS APP_SUB_TYPE, "
|
||||
+ "AP_APP.CURRENCY AS APP_CURRENCY, "
|
||||
+ "AP_APP.RATING AS APP_RATING, "
|
||||
+ "AP_APP.DEVICE_TYPE_ID AS APP_DEVICE_TYPE_ID, "
|
||||
+ "AP_APP_RELEASE.DESCRIPTION AS RELEASE_DESCRIPTION, "
|
||||
+ "AP_APP_RELEASE.VERSION AS RELEASE_VERSION, "
|
||||
+ "AP_APP_RELEASE.UUID AS RELEASE_UUID, "
|
||||
+ "AP_APP_RELEASE.RELEASE_TYPE AS RELEASE_TYPE, "
|
||||
+ "AP_APP_RELEASE.STORED_LOCATION AS AP_RELEASE_STORED_LOC, "
|
||||
+ "AP_APP_RELEASE.BANNER_LOCATION AS AP_RELEASE_BANNER_LOC, "
|
||||
+ "AP_APP_RELEASE.SC_1_LOCATION AS AP_RELEASE_SC1, "
|
||||
+ "AP_APP_RELEASE.SC_2_LOCATION AS AP_RELEASE_SC2, "
|
||||
+ "AP_APP_RELEASE.SC_3_LOCATION AS AP_RELEASE_SC3, "
|
||||
+ "AP_APP_RELEASE.APP_PRICE AS RELEASE_PRICE, "
|
||||
+ "AP_APP_RELEASE.APP_META_INFO AS RELEASE.META_INFO, "
|
||||
+ "AP_APP_RELEASE.SUPPORTED_OS_VERSIONS AS RELEASE_SUP_OS_VERSIONS, "
|
||||
+ "AP_APP_RELEASE.RATING AS RELEASE_RATING, "
|
||||
+ "AP_APP_RELEASE.CURRENT_STATE AS RELEASE_CURRENT_STATE, "
|
||||
+ "AP_APP_RELEASE.RATED_USERS AS RATED_USER_COUNT "
|
||||
+ "FROM AP_APP "
|
||||
+ "INNER JOIN AP_APP_RELEASE ON "
|
||||
+ "APP_APP.ID = APP_APP_RELEASE.AP_APP_ID AND "
|
||||
+ "AP_APP.TENANT_ID = ? AND "
|
||||
+ "AP_APP.TENANT_ID = APP_APP_RELEASE.TENANT_ID";
|
||||
|
||||
if (filter == null) {
|
||||
throw new ApplicationManagementDAOException("Filter need to be instantiated");
|
||||
@ -218,11 +345,11 @@ public class GenericApplicationDAOImpl extends AbstractDAOImpl implements Applic
|
||||
|
||||
} catch (SQLException e) {
|
||||
throw new ApplicationManagementDAOException("Error occurred while getting application list for the tenant"
|
||||
+ " " + tenantId + ". While executing " + sql, e);
|
||||
+ " " + tenantId + ". While executing " + sql, e);
|
||||
} catch (DBConnectionException e) {
|
||||
throw new ApplicationManagementDAOException("Error occurred while obtaining the DB connection while "
|
||||
+ "getting application list for the tenant " + tenantId,
|
||||
e);
|
||||
+ "getting application list for the tenant " + tenantId,
|
||||
e);
|
||||
} catch (JSONException e) {
|
||||
throw new ApplicationManagementDAOException("Error occurred while parsing JSON ", e);
|
||||
} finally {
|
||||
|
||||
@ -232,6 +232,7 @@ public class ApplicationManagerImpl implements ApplicationManager {
|
||||
}
|
||||
}
|
||||
ConnectionManagerUtil.openDBConnection();
|
||||
// todo modify this logic, join app n release tables
|
||||
applicationList = applicationDAO.getApplications(filter, tenantId);
|
||||
apps = applicationList.getApplications();
|
||||
for ( Application app : apps){
|
||||
|
||||
@ -21,8 +21,10 @@ package org.wso2.carbon.device.application.mgt.core.util;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
import org.wso2.carbon.context.PrivilegedCarbonContext;
|
||||
import org.wso2.carbon.device.application.mgt.common.Filter;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.*;
|
||||
import org.wso2.carbon.device.application.mgt.common.ErrorResponse;
|
||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||
|
||||
import javax.ws.rs.core.Response;
|
||||
|
||||
@ -163,4 +165,31 @@ public class APIUtil {
|
||||
return configManager;
|
||||
}
|
||||
|
||||
public static Filter constructFilter(String deviceType, String appName, String appType, String appCategory,
|
||||
boolean isFullMatch, String releaseState, int offset, int limit, String sortBy) {
|
||||
Filter filter = new Filter();
|
||||
filter.setOffset(offset);
|
||||
filter.setLimit(limit);
|
||||
filter.setSortBy(sortBy);
|
||||
filter.setFullMatch(isFullMatch);
|
||||
if (appName != null && !appName.isEmpty()) {
|
||||
filter.setAppName(appName);
|
||||
}
|
||||
if (appType != null && !appType.isEmpty()) {
|
||||
filter.setAppType(appType);
|
||||
}
|
||||
if (appCategory != null && !appCategory.isEmpty()) {
|
||||
filter.setAppCategory(appCategory);
|
||||
}
|
||||
if (releaseState != null && !releaseState.isEmpty()) {
|
||||
filter.setCurrentAppReleaseState(releaseState);
|
||||
}
|
||||
if (deviceType != null && !deviceType.isEmpty()) {
|
||||
DeviceType dt = new DeviceType();
|
||||
dt.setName(deviceType);
|
||||
filter.setDeviceType(dt);
|
||||
}
|
||||
return filter;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -35,7 +35,6 @@ import org.wso2.carbon.device.application.mgt.common.exception.ResourceManagemen
|
||||
import org.wso2.carbon.device.application.mgt.common.services.ApplicationManager;
|
||||
import org.wso2.carbon.device.application.mgt.common.services.ApplicationStorageManager;
|
||||
import org.wso2.carbon.device.application.mgt.core.exception.NotFoundException;
|
||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
@ -81,32 +80,13 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
||||
ApplicationManager applicationManager = APIUtil.getApplicationManager();
|
||||
|
||||
try {
|
||||
Filter filter = new Filter();
|
||||
filter.setOffset(offset);
|
||||
filter.setLimit(limit);
|
||||
filter.setSortBy(sortBy);
|
||||
filter.setFullMatch(isFullMatch);
|
||||
if (appName != null && !appName.isEmpty()) {
|
||||
filter.setAppName(appName);
|
||||
}
|
||||
if (appType != null && !appType.isEmpty()) {
|
||||
filter.setAppType(appType);
|
||||
}
|
||||
if (appCategory != null && !appCategory.isEmpty()) {
|
||||
filter.setAppCategory(appCategory);
|
||||
}
|
||||
if (releaseState != null && !releaseState.isEmpty()) {
|
||||
filter.setCurrentAppReleaseState(releaseState);
|
||||
}
|
||||
if (deviceType != null && !deviceType.isEmpty()) {
|
||||
DeviceType dt = new DeviceType();
|
||||
dt.setName(deviceType);
|
||||
filter.setDeviceType(dt);
|
||||
}
|
||||
Filter filter = APIUtil
|
||||
.constructFilter(deviceType, appName, appType, appCategory, isFullMatch, releaseState, offset,
|
||||
limit, sortBy);
|
||||
ApplicationList applications = applicationManager.getApplications(filter);
|
||||
if (applications.getApplications().isEmpty()) {
|
||||
return Response.status(Response.Status.NOT_FOUND)
|
||||
.entity("Couldn't find any application for requested query.").build();
|
||||
.entity("Couldn't find any application for the requested query.").build();
|
||||
}
|
||||
return Response.status(Response.Status.OK).entity(applications).build();
|
||||
} catch(BadRequestException e){
|
||||
@ -169,8 +149,8 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
||||
|
||||
try {
|
||||
if (isInvalidReleaseCreatingRequest(binaryFile, iconFile, bannerFile, attachmentList, application.getType())) {
|
||||
// todo add msg
|
||||
return Response.status(Response.Status.BAD_REQUEST).build();
|
||||
return Response.status(Response.Status.BAD_REQUEST)
|
||||
.entity("Invalid request for creating an application.").build();
|
||||
}
|
||||
|
||||
// The application executable artifacts such as apks are uploaded.
|
||||
@ -673,4 +653,5 @@ public class ApplicationManagementAPIImpl implements ApplicationManagementAPI {
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -1,208 +1,355 @@
|
||||
CREATE SCHEMA IF NOT EXISTS APP_MANAGER
|
||||
SET CATALOG APP_MANAGER
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_APP
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_APP (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
NAME VARCHAR(45) NOT NULL,
|
||||
TYPE VARCHAR(200) NOT NULL,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
APP_CATEGORY VARCHAR(45) NULL DEFAULT NULL,
|
||||
RESTRICTED INT(11) NOT NULL,
|
||||
STATUS VARCHAR(45) NOT NULL DEFAULT 'ACTIVE',
|
||||
SUB_TYPE VARCHAR(45) NOT NULL,
|
||||
CURRENCY VARCHAR(45) NULL DEFAULT '$',
|
||||
DEVICE_TYPE_ID INT(11) NOT NULL,
|
||||
PRIMARY KEY (ID));
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_APP(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
NAME varchar(45) NOT NULL,
|
||||
DESCRIPTION clob NULL,
|
||||
TYPE varchar(200) NOT NULL,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
STATUS varchar(45) NOT NULL DEFAULT 'ACTIVE',
|
||||
SUB_TYPE varchar(45) NOT NULL,
|
||||
CURRENCY varchar(45) NULL DEFAULT '$',
|
||||
RATING int NULL,
|
||||
DEVICE_TYPE_ID int NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AP_APP_DM_DEVICE_TYPE1
|
||||
FOREIGN KEY (DEVICE_TYPE_ID)
|
||||
REFERENCES APP_MANAGER.DM_DEVICE_TYPE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AP_APP_DM_DEVICE_TYPE1_idx (DEVICE_TYPE_ID ASC)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_APP_RELEASE
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_APP_RELEASE (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
VERSION VARCHAR(25) NOT NULL,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
UUID VARCHAR(200) NOT NULL,
|
||||
RELEASE_TYPE VARCHAR(45) NOT NULL,
|
||||
PACKAGE_NAME VARCHAR(45) NOT NULL,
|
||||
APP_PRICE DECIMAL(6,2) NULL DEFAULT NULL,
|
||||
STORED_LOCATION VARCHAR(100) NOT NULL,
|
||||
BANNER_LOCATION VARCHAR(100) NOT NULL,
|
||||
ICON_LOCATION VARCHAR(100) NOT NULL,
|
||||
SC_1_LOCATION VARCHAR(100) NOT NULL,
|
||||
SC_2_LOCATION VARCHAR(100) NULL DEFAULT NULL,
|
||||
SC_3_LOCATION VARCHAR(100) NULL DEFAULT NULL,
|
||||
APP_HASH_VALUE VARCHAR(100) NOT NULL,
|
||||
SHARED_WITH_ALL_TENANTS INT(11) NULL DEFAULT NULL,
|
||||
APP_META_INFO VARCHAR(20000) NULL DEFAULT NULL,
|
||||
RATING DOUBLE NULL DEFAULT NULL,
|
||||
RATED_USERS INT(11) NULL,
|
||||
AP_APP_ID INT(11) NOT NULL,
|
||||
PRIMARY KEY (ID, AP_APP_ID),
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_APP_RELEASE(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
DESCRIPTION clob NOT NULL,
|
||||
VERSION varchar(10) NOT NULL,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
UUID varchar(200) NOT NULL,
|
||||
RELEASE_TYPE varchar(45) NOT NULL,
|
||||
APP_PRICE decimal(6, 2) NULL DEFAULT NULL,
|
||||
STORED_LOCATION varchar(45) NOT NULL,
|
||||
BANNER_LOCATION varchar(45) NOT NULL,
|
||||
SC_1_LOCATION varchar(45) NOT NULL,
|
||||
SC_2_LOCATION varchar(45) NULL DEFAULT NULL,
|
||||
SC_3_LOCATION varchar(45) NULL DEFAULT NULL,
|
||||
APP_HASH_VALUE varchar(1000) NOT NULL,
|
||||
SHARED_WITH_ALL_TENANTS tinyint NULL DEFAULT NULL,
|
||||
APP_META_INFO clob NULL DEFAULT NULL,
|
||||
PACKAGE_NAME varchar(45) NOT NULL,
|
||||
SUPPORTED_OS_VERSIONS varchar(45) NULL,
|
||||
RATING double NULL DEFAULT NULL,
|
||||
CURRENT_STATE varchar(45) NULL,
|
||||
RATED_USERS int NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (
|
||||
ID,
|
||||
AP_APP_ID
|
||||
),
|
||||
CONSTRAINT fk_AP_APP_RELEASE_AP_APP1
|
||||
FOREIGN KEY (AP_APP_ID)
|
||||
REFERENCES AP_APP (ID));
|
||||
|
||||
CREATE INDEX fk_AP_APP_RELEASE_AP_APP1_idx ON AP_APP_RELEASE (AP_APP_ID ASC);
|
||||
|
||||
FOREIGN KEY (AP_APP_ID)
|
||||
REFERENCES APP_MANAGER.AP_APP (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AP_APP_RELEASE_AP_APP1_idx (AP_APP_ID ASC)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_APP_REVIEW
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_APP_REVIEW (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
COMMENT VARCHAR(250) NOT NULL,
|
||||
PARENT_ID INT(11) NULL,
|
||||
CREATED_AT TIMESTAMP NOT NULL,
|
||||
MODIFIED_AT TIMESTAMP NOT NULL,
|
||||
RATING INT(11) NULL,
|
||||
USERNAME VARCHAR(45) NOT NULL,
|
||||
AP_APP_RELEASE_ID INT(11) NOT NULL,
|
||||
AP_APP_ID INT(11) NOT NULL,
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_APP_REVIEW(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
COMMENT varchar(250) NOT NULL,
|
||||
REPLY_COMMENT varchar(250) NULL,
|
||||
CREATED_AT timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
MODIFIED_AT timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
RATING int NULL,
|
||||
USERNAME varchar(45) NOT NULL,
|
||||
AP_APP_RELEASE_ID int NOT NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AP_APP_COMMENT_AP_APP_RELEASE1
|
||||
FOREIGN KEY (AP_APP_RELEASE_ID , AP_APP_ID)
|
||||
REFERENCES AP_APP_RELEASE (ID , AP_APP_ID));
|
||||
|
||||
CREATE INDEX fk_AP_APP_COMMENT_AP_APP_RELEASE1_idx ON AP_APP_REVIEW (AP_APP_RELEASE_ID ASC, AP_APP_ID ASC);
|
||||
|
||||
FOREIGN KEY (
|
||||
AP_APP_RELEASE_ID,
|
||||
AP_APP_ID
|
||||
)
|
||||
REFERENCES APP_MANAGER.AP_APP_RELEASE (
|
||||
ID,
|
||||
AP_APP_ID
|
||||
) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AP_APP_COMMENT_AP_APP_RELEASE1_idx (
|
||||
AP_APP_RELEASE_ID ASC,
|
||||
AP_APP_ID ASC
|
||||
)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_APP_LIFECYCLE_STATE
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_APP_LIFECYCLE_STATE (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
CURRENT_STATE VARCHAR(45) NOT NULL,
|
||||
PREVIOUS_STATE VARCHAR(45) NOT NULL,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
UPDATED_BY VARCHAR(100) NOT NULL,
|
||||
UPDATED_AT TIMESTAMP NOT NULL,
|
||||
AP_APP_RELEASE_ID INT(11) NOT NULL,
|
||||
AP_APP_ID INT(11) NOT NULL,
|
||||
PRIMARY KEY (ID, AP_APP_RELEASE_ID, AP_APP_ID),
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_APP_LIFECYCLE_STATE(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
CURRENT_STATE varchar(45) NOT NULL,
|
||||
PREVIOUSE_STATE varchar(45) NOT NULL,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
UPDATED_BY varchar(100) NOT NULL,
|
||||
UPDATED_AT timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
AP_APP_RELEASE_ID int NOT NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (
|
||||
ID,
|
||||
AP_APP_RELEASE_ID,
|
||||
AP_APP_ID
|
||||
),
|
||||
CONSTRAINT fk_AP_APP_LIFECYCLE_STATE_AP_APP_RELEASE1
|
||||
FOREIGN KEY (AP_APP_RELEASE_ID , AP_APP_ID)
|
||||
REFERENCES AP_APP_RELEASE (ID , AP_APP_ID));
|
||||
|
||||
CREATE INDEX fk_AP_APP_LIFECYCLE_STATE_AP_APP_RELEASE1_idx ON AP_APP_LIFECYCLE_STATE (AP_APP_RELEASE_ID ASC, AP_APP_ID ASC);
|
||||
FOREIGN KEY (
|
||||
AP_APP_RELEASE_ID,
|
||||
AP_APP_ID
|
||||
)
|
||||
REFERENCES APP_MANAGER.AP_APP_RELEASE (
|
||||
ID,
|
||||
AP_APP_ID
|
||||
) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AP_APP_LIFECYCLE_STATE_AP_APP_RELEASE1_idx (
|
||||
AP_APP_RELEASE_ID ASC,
|
||||
AP_APP_ID ASC
|
||||
)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_APP_TAG
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_APP_TAG (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
TAG VARCHAR(45) NOT NULL,
|
||||
AP_APP_ID INT(11) NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AP_APP_TAGS_AP_APP1
|
||||
FOREIGN KEY (AP_APP_ID)
|
||||
REFERENCES AP_APP (ID));
|
||||
|
||||
CREATE INDEX fk_AP_APP_TAGS_AP_APP1_idx ON AP_APP_TAG (AP_APP_ID ASC);
|
||||
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_APP_TAG(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
TAG varchar(45) NOT NULL,
|
||||
PRIMARY KEY (ID)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_DEVICE_SUBSCRIPTION
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_DEVICE_SUBSCRIPTION (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
SUBSCRIBED_BY VARCHAR(100) NOT NULL,
|
||||
SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL,
|
||||
UNSUBSCRIBED INT(11) NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_BY INT(11) NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL,
|
||||
DM_ENROLMENT_ID INT(11) NOT NULL,
|
||||
AP_APP_RELEASE_ID INT(11) NOT NULL,
|
||||
AP_APP_ID INT(11) NOT NULL,
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_DEVICE_SUBSCRIPTION(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
SUBSCRIBED_BY varchar(100) NOT NULL,
|
||||
SUBSCRIBED_TIMESTAMP timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
UNSUBSCRIBED int NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_BY int NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_TIMESTAMP timestamp NULL DEFAULT NULL,
|
||||
SUBSCRIBED_FROM varchar(45) NULL,
|
||||
DM_DEVICE_ID int NOT NULL,
|
||||
AP_APP_RELEASE_ID int NOT NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AM_DEVICE_SUBSCRIPTION_DM_DEVICE1
|
||||
FOREIGN KEY (DM_DEVICE_ID)
|
||||
REFERENCES APP_MANAGER.DM_DEVICE (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
CONSTRAINT fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1
|
||||
FOREIGN KEY (AP_APP_ID , AP_APP_RELEASE_ID)
|
||||
REFERENCES AP_APP_RELEASE (AP_APP_ID , ID));
|
||||
|
||||
CREATE INDEX fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_DEVICE_SUBSCRIPTION (AP_APP_ID ASC, AP_APP_RELEASE_ID ASC);
|
||||
FOREIGN KEY (
|
||||
AP_APP_RELEASE_ID,
|
||||
AP_APP_ID
|
||||
)
|
||||
REFERENCES APP_MANAGER.AP_APP_RELEASE (
|
||||
ID,
|
||||
AP_APP_ID
|
||||
) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AM_DEVICE_SUBSCRIPTION_DM_DEVICE1_idx (DM_DEVICE_ID ASC),
|
||||
INDEX fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1_idx (
|
||||
AP_APP_RELEASE_ID ASC,
|
||||
AP_APP_ID ASC
|
||||
)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_GROUP_SUBSCRIPTION
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_GROUP_SUBSCRIPTION (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
SUBSCRIBED_BY VARCHAR(100) NOT NULL,
|
||||
SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL,
|
||||
UNSUBSCRIBED INT(11) NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_BY INT(11) NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL,
|
||||
DM_GROUP_ID INT(11) NOT NULL,
|
||||
AP_APP_RELEASE_ID INT(11) NOT NULL,
|
||||
AP_APP_ID INT(11) NOT NULL,
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_GROUP_SUBSCRIPTION(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
SUBSCRIBED_BY varchar(100) NOT NULL,
|
||||
SUBSCRIBED_TIMESTAMP timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
UNSUBSCRIBED int NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_BY int NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_TIMESTAMP timestamp NULL DEFAULT NULL,
|
||||
DM_GROUP_ID int NOT NULL,
|
||||
AP_APP_RELEASE_ID int NOT NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AM_GROUP_SUBSCRIPTION_DM_GROUP1
|
||||
FOREIGN KEY (DM_GROUP_ID)
|
||||
REFERENCES APP_MANAGER.DM_GROUP (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
CONSTRAINT fk_AP_GROUP_SUBSCRIPTION_AP_APP_RELEASE1
|
||||
FOREIGN KEY (AP_APP_RELEASE_ID , AP_APP_ID)
|
||||
REFERENCES AP_APP_RELEASE (ID , AP_APP_ID));
|
||||
|
||||
CREATE INDEX fk_AP_GROUP_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_GROUP_SUBSCRIPTION (AP_APP_RELEASE_ID ASC, AP_APP_ID ASC);
|
||||
FOREIGN KEY (
|
||||
AP_APP_RELEASE_ID,
|
||||
AP_APP_ID
|
||||
)
|
||||
REFERENCES APP_MANAGER.AP_APP_RELEASE (
|
||||
ID,
|
||||
AP_APP_ID
|
||||
) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AM_GROUP_SUBSCRIPTION_DM_GROUP1_idx (DM_GROUP_ID ASC),
|
||||
INDEX fk_AP_GROUP_SUBSCRIPTION_AP_APP_RELEASE1_idx (
|
||||
AP_APP_RELEASE_ID ASC,
|
||||
AP_APP_ID ASC
|
||||
)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_ROLE_SUBSCRIPTION
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_ROLE_SUBSCRIPTION (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
ROLE_NAME VARCHAR(100) NOT NULL,
|
||||
SUBSCRIBED_BY VARCHAR(100) NOT NULL,
|
||||
SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL,
|
||||
UNSUBSCRIBED INT(11) NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_BY INT(11) NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL,
|
||||
AP_APP_RELEASE_ID INT(11) NOT NULL,
|
||||
AP_APP_ID INT(11) NOT NULL,
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_ROLE_SUBSCRIPTION(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
ROLE_NAME varchar(100) NOT NULL,
|
||||
SUBSCRIBED_BY varchar(100) NOT NULL,
|
||||
SUBSCRIBED_TIMESTAMP timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
UNSUBSCRIBED int NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_BY int NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_TIMESTAMP timestamp NULL DEFAULT NULL,
|
||||
AP_APP_RELEASE_ID int NOT NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1
|
||||
FOREIGN KEY (AP_APP_RELEASE_ID , AP_APP_ID)
|
||||
REFERENCES AP_APP_RELEASE (ID , AP_APP_ID));
|
||||
|
||||
CREATE INDEX fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_ROLE_SUBSCRIPTION (AP_APP_RELEASE_ID ASC, AP_APP_ID ASC);
|
||||
FOREIGN KEY (
|
||||
AP_APP_RELEASE_ID,
|
||||
AP_APP_ID
|
||||
)
|
||||
REFERENCES APP_MANAGER.AP_APP_RELEASE (
|
||||
ID,
|
||||
AP_APP_ID
|
||||
) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1_idx (
|
||||
AP_APP_RELEASE_ID ASC,
|
||||
AP_APP_ID ASC
|
||||
)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_UNRESTRICTED_ROLE
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_UNRESTRICTED_ROLE (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
ROLE VARCHAR(45) NOT NULL,
|
||||
AP_APP_ID INT(11) NOT NULL,
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_UNRESTRICTED_ROLE(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
ROLE varchar(45) NOT NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AP_APP_VISIBILITY_AP_APP1
|
||||
FOREIGN KEY (AP_APP_ID)
|
||||
REFERENCES AP_APP (ID));
|
||||
|
||||
CREATE INDEX fk_AP_APP_VISIBILITY_AP_APP1_idx ON AP_UNRESTRICTED_ROLE (AP_APP_ID ASC);
|
||||
FOREIGN KEY (AP_APP_ID)
|
||||
REFERENCES APP_MANAGER.AP_APP (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AP_APP_VISIBILITY_AP_APP1_idx (AP_APP_ID ASC)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_USER_SUBSCRIPTION
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS AP_USER_SUBSCRIPTION (
|
||||
ID INT(11) NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID VARCHAR(45) NOT NULL,
|
||||
USER_NAME VARCHAR(100) NOT NULL,
|
||||
SUBSCRIBED_BY VARCHAR(100) NOT NULL,
|
||||
SUBSCRIBED_TIMESTAMP TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
UNSUBSCRIBED INT(11) NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_BY INT(11) NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_TIMESTAMP TIMESTAMP NULL DEFAULT NULL,
|
||||
AP_APP_RELEASE_ID INT(11) NOT NULL,
|
||||
AP_APP_ID INT(11) NOT NULL,
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_USER_SUBSCRIPTION(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
USER_NAME varchar(100) NOT NULL,
|
||||
SUBSCRIBED_BY varchar(100) NOT NULL,
|
||||
SUBSCRIBED_TIMESTAMP timestamp NOT NULL DEFAULT current_timestamp(),
|
||||
UNSUBSCRIBED int NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_BY int NULL DEFAULT NULL,
|
||||
UNSUBSCRIBED_TIMESTAMP timestamp NULL DEFAULT NULL,
|
||||
AP_APP_RELEASE_ID int NOT NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AP_USER_SUBSCRIPTION_AP_APP_RELEASE1
|
||||
FOREIGN KEY (AP_APP_RELEASE_ID , AP_APP_ID)
|
||||
REFERENCES AP_APP_RELEASE (ID , AP_APP_ID));
|
||||
FOREIGN KEY (
|
||||
AP_APP_RELEASE_ID,
|
||||
AP_APP_ID
|
||||
)
|
||||
REFERENCES APP_MANAGER.AP_APP_RELEASE (
|
||||
ID,
|
||||
AP_APP_ID
|
||||
) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AP_USER_SUBSCRIPTION_AP_APP_RELEASE1_idx (
|
||||
AP_APP_RELEASE_ID ASC,
|
||||
AP_APP_ID ASC
|
||||
)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
CREATE INDEX fk_AP_USER_SUBSCRIPTION_AP_APP_RELEASE1_idx ON AP_USER_SUBSCRIPTION (AP_APP_RELEASE_ID ASC, AP_APP_ID ASC);
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_APP_CATEGORY
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_APP_CATEGORY(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
TENANT_ID varchar(45) NOT NULL,
|
||||
CATEGORY varchar(45) NOT NULL,
|
||||
CATEGORY_ICON varchar(45) NULL,
|
||||
PRIMARY KEY (ID)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_APP_TAG_MAPPING
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_APP_TAG_MAPPING(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
AP_APP_TAG_ID int NOT NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AP_APP_TAG_copy1_AP_APP_TAG1
|
||||
FOREIGN KEY (AP_APP_TAG_ID)
|
||||
REFERENCES APP_MANAGER.AP_APP_TAG (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
CONSTRAINT fk_AP_APP_TAG_copy1_AP_APP1
|
||||
FOREIGN KEY (AP_APP_ID)
|
||||
REFERENCES APP_MANAGER.AP_APP (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AP_APP_TAG_copy1_AP_APP_TAG1_idx (AP_APP_TAG_ID ASC),
|
||||
INDEX fk_AP_APP_TAG_copy1_AP_APP1_idx (AP_APP_ID ASC)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table AP_APP_CATEGORY_MAPPING
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS APP_MANAGER.AP_APP_CATEGORY_MAPPING(
|
||||
ID int NOT NULL AUTO_INCREMENT,
|
||||
AP_APP_CATEGORY_ID int NOT NULL,
|
||||
AP_APP_ID int NOT NULL,
|
||||
PRIMARY KEY (ID),
|
||||
CONSTRAINT fk_AP_APP_CATEGORY_copy1_AP_APP_CATEGORY1
|
||||
FOREIGN KEY (AP_APP_CATEGORY_ID)
|
||||
REFERENCES APP_MANAGER.AP_APP_CATEGORY (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
CONSTRAINT fk_AP_APP_CATEGORY_copy1_AP_APP1
|
||||
FOREIGN KEY (AP_APP_ID)
|
||||
REFERENCES APP_MANAGER.AP_APP (ID) ON DELETE NO ACTION ON UPDATE NO ACTION,
|
||||
INDEX fk_AP_APP_CATEGORY_copy1_AP_APP_CATEGORY1_idx (AP_APP_CATEGORY_ID ASC),
|
||||
INDEX fk_AP_APP_CATEGORY_copy1_AP_APP1_idx (AP_APP_ID ASC)
|
||||
)
|
||||
ENGINE InnoDB
|
||||
DEFAULT CHARACTER SET utf8
|
||||
|
||||
@ -1,76 +1,89 @@
|
||||
-- MySQL Script generated by MySQL Workbench
|
||||
-- Tue 18 Sep 2018 17:40:45 +0530
|
||||
-- Model: New Model Version: 1.0
|
||||
-- MySQL Workbench Forward Engineering
|
||||
|
||||
SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0;
|
||||
SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;
|
||||
SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Schema APP_MANAGER
|
||||
-- -----------------------------------------------------
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_APP`
|
||||
-- Schema APP_MANAGER
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_APP` (
|
||||
CREATE SCHEMA IF NOT EXISTS `APP_MANAGER` DEFAULT CHARACTER SET utf8 ;
|
||||
USE `APP_MANAGER` ;
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `APP_MANAGER`.`AP_APP`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_APP` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`NAME` VARCHAR(45) NOT NULL,
|
||||
`DESCRIPTION` TEXT NULL,
|
||||
`TYPE` VARCHAR(200) NOT NULL,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`APP_CATEGORY` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`RESTRICTED` INT(11) NOT NULL,
|
||||
`STATUS` VARCHAR(45) NOT NULL DEFAULT 'ACTIVE',
|
||||
`SUB_TYPE` VARCHAR(45) NOT NULL,
|
||||
`CURRENCY` VARCHAR(45) NULL DEFAULT '$',
|
||||
`RATING` INT(11) NULL,
|
||||
`DEVICE_TYPE_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`))
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `fk_AP_APP_DM_DEVICE_TYPE1_idx` (`DEVICE_TYPE_ID` ASC),
|
||||
CONSTRAINT `fk_AP_APP_DM_DEVICE_TYPE1`
|
||||
FOREIGN KEY (`DEVICE_TYPE_ID`)
|
||||
REFERENCES `APP_MANAGER`.`DM_DEVICE_TYPE` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_APP_RELEASE`
|
||||
-- Table `APP_MANAGER`.`AP_APP_RELEASE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_APP_RELEASE` (
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_APP_RELEASE` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`VERSION` VARCHAR(25) NOT NULL,
|
||||
`DESCRIPTION` TEXT NOT NULL,
|
||||
`VERSION` VARCHAR(10) NOT NULL,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`UUID` VARCHAR(200) NOT NULL,
|
||||
`RELEASE_TYPE` VARCHAR(45) NOT NULL,
|
||||
`PACKAGE_NAME` VARCHAR(45) NOT NULL,
|
||||
`APP_PRICE` DECIMAL(6,2) NULL DEFAULT NULL,
|
||||
`STORED_LOCATION` VARCHAR(100) NOT NULL,
|
||||
`BANNER_LOCATION` VARCHAR(100) NOT NULL,
|
||||
`ICON_LOCATION` VARCHAR(100) NOT NULL,
|
||||
`SC_1_LOCATION` VARCHAR(100) NOT NULL,
|
||||
`SC_2_LOCATION` VARCHAR(100) NULL DEFAULT NULL,
|
||||
`SC_3_LOCATION` VARCHAR(100) NULL DEFAULT NULL,
|
||||
`APP_HASH_VALUE` VARCHAR(100) NOT NULL,
|
||||
`SHARED_WITH_ALL_TENANTS` INT(11) NULL DEFAULT NULL,
|
||||
`APP_META_INFO` VARCHAR(20000) NULL DEFAULT NULL,
|
||||
`STORED_LOCATION` VARCHAR(45) NOT NULL,
|
||||
`BANNER_LOCATION` VARCHAR(45) NOT NULL,
|
||||
`SC_1_LOCATION` VARCHAR(45) NOT NULL,
|
||||
`SC_2_LOCATION` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`SC_3_LOCATION` VARCHAR(45) NULL DEFAULT NULL,
|
||||
`APP_HASH_VALUE` VARCHAR(1000) NOT NULL,
|
||||
`SHARED_WITH_ALL_TENANTS` TINYINT(1) NULL DEFAULT NULL,
|
||||
`APP_META_INFO` TEXT NULL DEFAULT NULL,
|
||||
`PACKAGE_NAME` VARCHAR(45) NOT NULL,
|
||||
`SUPPORTED_OS_VERSIONS` VARCHAR(45) NULL,
|
||||
`RATING` DOUBLE NULL DEFAULT NULL,
|
||||
`CURRENT_STATE` VARCHAR(45) NULL,
|
||||
`RATED_USERS` INT(11) NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`, `AP_APP_ID`),
|
||||
INDEX `fk_AP_APP_RELEASE_AP_APP1_idx` (`AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AP_APP_RELEASE_AP_APP1`
|
||||
FOREIGN KEY (`AP_APP_ID`)
|
||||
REFERENCES `AP_APP` (`ID`)
|
||||
FOREIGN KEY (`AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8
|
||||
COMMENT = ' ';
|
||||
|
||||
CREATE INDEX `fk_AP_APP_RELEASE_AP_APP1_idx` ON `AP_APP_RELEASE` (`AP_APP_ID` ASC);
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8
|
||||
COMMENT = ' ';
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_APP_REVIEW`
|
||||
-- Table `APP_MANAGER`.`AP_APP_REVIEW`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_APP_REVIEW` (
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_APP_REVIEW` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`COMMENT` VARCHAR(250) NOT NULL,
|
||||
`PARENT_ID` INT(11) NULL,
|
||||
`REPLY_COMMENT` VARCHAR(250) NULL,
|
||||
`CREATED_AT` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
`MODIFIED_AT` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`RATING` INT(11) NULL,
|
||||
@ -78,65 +91,55 @@ CREATE TABLE IF NOT EXISTS `AP_APP_REVIEW` (
|
||||
`AP_APP_RELEASE_ID` INT(11) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `fk_AP_APP_COMMENT_AP_APP_RELEASE1_idx` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AP_APP_COMMENT_AP_APP_RELEASE1`
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
CREATE INDEX `fk_AP_APP_COMMENT_AP_APP_RELEASE1_idx` ON `AP_APP_REVIEW` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC);
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_APP_LIFECYCLE_STATE`
|
||||
-- Table `APP_MANAGER`.`AP_APP_LIFECYCLE_STATE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_APP_LIFECYCLE_STATE` (
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_APP_LIFECYCLE_STATE` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`CURRENT_STATE` VARCHAR(45) NOT NULL,
|
||||
`PREVIOUS_STATE` VARCHAR(45) NOT NULL,
|
||||
`PREVIOUSE_STATE` VARCHAR(45) NOT NULL,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`UPDATED_BY` VARCHAR(100) NOT NULL,
|
||||
`UPDATED_AT` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||
`AP_APP_RELEASE_ID` INT(11) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`, `AP_APP_RELEASE_ID`, `AP_APP_ID`),
|
||||
INDEX `fk_AP_APP_LIFECYCLE_STATE_AP_APP_RELEASE1_idx` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AP_APP_LIFECYCLE_STATE_AP_APP_RELEASE1`
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
CREATE INDEX `fk_AP_APP_LIFECYCLE_STATE_AP_APP_RELEASE1_idx` ON `AP_APP_LIFECYCLE_STATE` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC);
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_APP_TAG`
|
||||
-- Table `APP_MANAGER`.`AP_APP_TAG`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_APP_TAG` (
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_APP_TAG` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`TAG` VARCHAR(45) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
CONSTRAINT `fk_AP_APP_TAGS_AP_APP1`
|
||||
FOREIGN KEY (`AP_APP_ID`)
|
||||
REFERENCES `AP_APP` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
CREATE INDEX `fk_AP_APP_TAGS_AP_APP1_idx` ON `AP_APP_TAG` (`AP_APP_ID` ASC);
|
||||
PRIMARY KEY (`ID`))
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_DEVICE_SUBSCRIPTION`
|
||||
-- Table `APP_MANAGER`.`AP_DEVICE_SUBSCRIPTION`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_DEVICE_SUBSCRIPTION` (
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_DEVICE_SUBSCRIPTION` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`SUBSCRIBED_BY` VARCHAR(100) NOT NULL,
|
||||
@ -144,25 +147,30 @@ CREATE TABLE IF NOT EXISTS `AP_DEVICE_SUBSCRIPTION` (
|
||||
`UNSUBSCRIBED` INT(11) NULL DEFAULT NULL,
|
||||
`UNSUBSCRIBED_BY` INT(11) NULL DEFAULT NULL,
|
||||
`UNSUBSCRIBED_TIMESTAMP` TIMESTAMP NULL DEFAULT NULL,
|
||||
`DM_ENROLMENT_ID` INT(11) NOT NULL,
|
||||
`SUBSCRIBED_FROM` VARCHAR(45) NULL,
|
||||
`DM_DEVICE_ID` INT(11) NOT NULL,
|
||||
`AP_APP_RELEASE_ID` INT(11) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `fk_AM_DEVICE_SUBSCRIPTION_DM_DEVICE1_idx` (`DM_DEVICE_ID` ASC),
|
||||
INDEX `fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1_idx` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AM_DEVICE_SUBSCRIPTION_DM_DEVICE1`
|
||||
FOREIGN KEY (`DM_DEVICE_ID`)
|
||||
REFERENCES `APP_MANAGER`.`DM_DEVICE` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION,
|
||||
CONSTRAINT `fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1`
|
||||
FOREIGN KEY (`AP_APP_ID` , `AP_APP_RELEASE_ID`)
|
||||
REFERENCES `AP_APP_RELEASE` (`AP_APP_ID` , `ID`)
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
CREATE INDEX `fk_AP_DEVICE_SUBSCRIPTION_AP_APP_RELEASE1_idx` ON `AP_DEVICE_SUBSCRIPTION` (`AP_APP_ID` ASC, `AP_APP_RELEASE_ID` ASC);
|
||||
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_GROUP_SUBSCRIPTION`
|
||||
-- Table `APP_MANAGER`.`AP_GROUP_SUBSCRIPTION`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_GROUP_SUBSCRIPTION` (
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_GROUP_SUBSCRIPTION` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`SUBSCRIBED_BY` VARCHAR(100) NOT NULL,
|
||||
@ -174,21 +182,26 @@ CREATE TABLE IF NOT EXISTS `AP_GROUP_SUBSCRIPTION` (
|
||||
`AP_APP_RELEASE_ID` INT(11) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `fk_AM_GROUP_SUBSCRIPTION_DM_GROUP1_idx` (`DM_GROUP_ID` ASC),
|
||||
INDEX `fk_AP_GROUP_SUBSCRIPTION_AP_APP_RELEASE1_idx` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AM_GROUP_SUBSCRIPTION_DM_GROUP1`
|
||||
FOREIGN KEY (`DM_GROUP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`DM_GROUP` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION,
|
||||
CONSTRAINT `fk_AP_GROUP_SUBSCRIPTION_AP_APP_RELEASE1`
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
CREATE INDEX `fk_AP_GROUP_SUBSCRIPTION_AP_APP_RELEASE1_idx` ON `AP_GROUP_SUBSCRIPTION` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC);
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_ROLE_SUBSCRIPTION`
|
||||
-- Table `APP_MANAGER`.`AP_ROLE_SUBSCRIPTION`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_ROLE_SUBSCRIPTION` (
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_ROLE_SUBSCRIPTION` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`ROLE_NAME` VARCHAR(100) NOT NULL,
|
||||
@ -200,41 +213,39 @@ CREATE TABLE IF NOT EXISTS `AP_ROLE_SUBSCRIPTION` (
|
||||
`AP_APP_RELEASE_ID` INT(11) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1_idx` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1`
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
CREATE INDEX `fk_AP_ROLE_SUBSCRIPTION_AP_APP_RELEASE1_idx` ON `AP_ROLE_SUBSCRIPTION` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC);
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_UNRESTRICTED_ROLE`
|
||||
-- Table `APP_MANAGER`.`AP_UNRESTRICTED_ROLE`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_UNRESTRICTED_ROLE` (
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_UNRESTRICTED_ROLE` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`ROLE` VARCHAR(45) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `fk_AP_APP_VISIBILITY_AP_APP1_idx` (`AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AP_APP_VISIBILITY_AP_APP1`
|
||||
FOREIGN KEY (`AP_APP_ID`)
|
||||
REFERENCES `AP_APP` (`ID`)
|
||||
FOREIGN KEY (`AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
CREATE INDEX `fk_AP_APP_VISIBILITY_AP_APP1_idx` ON `AP_UNRESTRICTED_ROLE` (`AP_APP_ID` ASC);
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `AP_USER_SUBSCRIPTION`
|
||||
-- Table `APP_MANAGER`.`AP_USER_SUBSCRIPTION`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `AP_USER_SUBSCRIPTION` (
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_USER_SUBSCRIPTION` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`USER_NAME` VARCHAR(100) NOT NULL,
|
||||
@ -246,15 +257,76 @@ CREATE TABLE IF NOT EXISTS `AP_USER_SUBSCRIPTION` (
|
||||
`AP_APP_RELEASE_ID` INT(11) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `fk_AP_USER_SUBSCRIPTION_AP_APP_RELEASE1_idx` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AP_USER_SUBSCRIPTION_AP_APP_RELEASE1`
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
FOREIGN KEY (`AP_APP_RELEASE_ID` , `AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP_RELEASE` (`ID` , `AP_APP_ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `APP_MANAGER`.`AP_APP_CATEGORY`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_APP_CATEGORY` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`TENANT_ID` VARCHAR(45) NOT NULL,
|
||||
`CATEGORY` VARCHAR(45) NOT NULL,
|
||||
`CATEGORY_ICON` VARCHAR(45) NULL,
|
||||
PRIMARY KEY (`ID`))
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `APP_MANAGER`.`AP_APP_TAG_MAPPING`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_APP_TAG_MAPPING` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`AP_APP_TAG_ID` INT(11) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `fk_AP_APP_TAG_copy1_AP_APP_TAG1_idx` (`AP_APP_TAG_ID` ASC),
|
||||
INDEX `fk_AP_APP_TAG_copy1_AP_APP1_idx` (`AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AP_APP_TAG_copy1_AP_APP_TAG1`
|
||||
FOREIGN KEY (`AP_APP_TAG_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP_TAG` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION,
|
||||
CONSTRAINT `fk_AP_APP_TAG_copy1_AP_APP1`
|
||||
FOREIGN KEY (`AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
|
||||
-- -----------------------------------------------------
|
||||
-- Table `APP_MANAGER`.`AP_APP_CATEGORY_MAPPING`
|
||||
-- -----------------------------------------------------
|
||||
CREATE TABLE IF NOT EXISTS `APP_MANAGER`.`AP_APP_CATEGORY_MAPPING` (
|
||||
`ID` INT(11) NOT NULL AUTO_INCREMENT,
|
||||
`AP_APP_CATEGORY_ID` INT(11) NOT NULL,
|
||||
`AP_APP_ID` INT(11) NOT NULL,
|
||||
PRIMARY KEY (`ID`),
|
||||
INDEX `fk_AP_APP_CATEGORY_copy1_AP_APP_CATEGORY1_idx` (`AP_APP_CATEGORY_ID` ASC),
|
||||
INDEX `fk_AP_APP_CATEGORY_copy1_AP_APP1_idx` (`AP_APP_ID` ASC),
|
||||
CONSTRAINT `fk_AP_APP_CATEGORY_copy1_AP_APP_CATEGORY1`
|
||||
FOREIGN KEY (`AP_APP_CATEGORY_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP_CATEGORY` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION,
|
||||
CONSTRAINT `fk_AP_APP_CATEGORY_copy1_AP_APP1`
|
||||
FOREIGN KEY (`AP_APP_ID`)
|
||||
REFERENCES `APP_MANAGER`.`AP_APP` (`ID`)
|
||||
ON DELETE NO ACTION
|
||||
ON UPDATE NO ACTION)
|
||||
ENGINE = InnoDB
|
||||
DEFAULT CHARACTER SET = utf8;
|
||||
|
||||
CREATE INDEX `fk_AP_USER_SUBSCRIPTION_AP_APP_RELEASE1_idx` ON `AP_USER_SUBSCRIPTION` (`AP_APP_RELEASE_ID` ASC, `AP_APP_ID` ASC);
|
||||
|
||||
SET SQL_MODE=@OLD_SQL_MODE;
|
||||
SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user