+ PreparedQueryObject queryObject = new PreparedQueryObject();
+ queryObject.appendQueryString("SELECT * FROM " + "admin" + "." + "keyspace_master" + ";");
+ try {
+ ResultSet results = MusicCore.get(queryObject);
+ for(Row row : results) {
+ Application app = new Application();
+ app.setApplication_name(row.getString("application_name"));
+ app.setIs_aaf(row.getBool("is_aaf"));
+ app.setIs_api(row.getBool("is_api"));
+ app.setUsername(row.getString("username"));
+ app.setKeyspace_name(row.getString("keyspace_name"));
+ app.setUuid(row.getUUID("uuid").toString());
+ response.addAppToList(app);
+ }
+ }catch(Exception ex) {
+ response.setResposne("fail", ex.getMessage());
+ }
+ return response;
+
+ }
+
+
+ @DELETE
+ @Path("/delete")
+ @Produces(MediaType.APPLICATION_JSON)
+ @Consumes(MediaType.APPLICATION_JSON)
+ public MusicResponse delete(@ApiParam(value = "Authorization", required = true) @HeaderParam(MusicUtil.AUTHORIZATION) String authorization,
+ @ApiParam(value = "uuid", required = true) @HeaderParam("uuid") String uuid) throws Exception {
+ MusicResponse response = new MusicResponse();
+ if (!authenticator.authenticateAdmin(authorization)) {
+ logger.info(EELFLoggerDelegate.errorLogger, "Unauthorized: Please check admin username,password and try again", AppMessages.AUTHENTICATIONERROR, ErrorSeverity.CRITICAL,
+ ErrorTypes.AUTHENTICATIONERROR);
+ response.setResposne("fail", "Auth failed for admin");
+ return response;
+ }
+ PreparedQueryObject queryObject = new PreparedQueryObject();
+ queryObject.appendQueryString("delete from admin.keyspace_master where uuid=?");
+ queryObject.addValue(MusicUtil.convertToActualDataType(DataType.uuid(),uuid));
+ ResultType result;
+ try {
+ result = MusicCore.nonKeyRelatedPut(queryObject, "eventual");
+ response.setResposne("success", "Application deleted successfully. Please contact ops team to delete keyspace");
+ }catch(Exception ex) {
+ logger.error(EELFLoggerDelegate.errorLogger, ex);
+ response.setResposne("fail", ex.getMessage());
+ return response;
+ }
+ return response;
+ }
+
+ @POST
+ @Path("/onboard")
+ @ApiOperation(value = "Onboard application", response = String.class)
+ @Consumes(MediaType.APPLICATION_JSON)
+ @Produces(MediaType.APPLICATION_JSON)
+ public MusicResponse onboard(JsonOnboard jsonObj,
+ @ApiParam(value = "Authorization", required = true) @HeaderParam(MusicUtil.AUTHORIZATION) String authorization) throws Exception {
+ logger.info(EELFLoggerDelegate.errorLogger, "oboarding app");
+ MusicResponse response = new MusicResponse();
+ if (!authenticator.authenticateAdmin(authorization)) {
+ logger.info(EELFLoggerDelegate.errorLogger, "Unauthorized: Please check admin username,password and try again", AppMessages.AUTHENTICATIONERROR, ErrorSeverity.CRITICAL,
+ ErrorTypes.AUTHENTICATIONERROR);
+ response.setResposne("fail", "auth error");
+ }
+ PreparedQueryObject pQurey = new PreparedQueryObject();
+ pQurey.appendQueryString("Describe keyspace + ?");
+ pQurey.addValue(MusicUtil.convertToActualDataType(DataType.text(),jsonObj.getKeyspace()));
+ KeyspaceMetadata keyspaceInfo = null;
+ //authenticator.checkOnbaordUserAccess(jsonObj.getUserId(), jsonObj.getAppname());
+ try {
+ keyspaceInfo = MusicDataStoreHandle.returnkeyspaceMetadata(jsonObj.getKeyspace());
+ }catch (Exception e) {
+ logger.info(EELFLoggerDelegate.applicationLogger,"Application onbaord failed for "+ jsonObj.getKeyspace());
+
+ }
+ if(keyspaceInfo == null) {
+ logger.info(EELFLoggerDelegate.applicationLogger,"Keyspace does not exist, contact music support to create a keyspace and onbaord again");
+ response.setResposne("fail", "Keyspace does not exist, contact music support to create a keyspace and onboard again");
+ return response;