@GET @Path("/logout") public Response<SuccessMessage> logout() { return Response.ok(SuccessMessage.success()).addCookie("session", "", null, true, -1L, "/", null); }
@ApiOperation(value = "Create Report", authorizations = @Authorization(value = "read_key")) @Path("/create") @POST @ProtectEndpoint(writeOperation = true) public SuccessMessage create(@Named("user_id") Project project, @BodyParam Report report) { metadata.save(project.userId, project.project, report); return SuccessMessage.success(); }
@ApiOperation(value = "Remove rule", authorizations = @Authorization(value = "master_key") ) @JsonRequest @Path("/remove") public SuccessMessage removeRule(@Named("project") RequestContext context, @ApiParam("id") int id) { service.remove(context.project, id); return SuccessMessage.success(); }
@ApiOperation(value = "Activate rule", authorizations = @Authorization(value = "master_key") ) @JsonRequest @Path("/activate") public SuccessMessage activateRule(@Named("project") RequestContext context, @ApiParam("id") int id) { service.activate(context.project, id); return SuccessMessage.success(); }
public SuccessMessage testDatabase(String project, String type, JDBCSchemaConfig options) { SupportedCustomDatabase optionalFunction = SupportedCustomDatabase.getAdapter(type); Optional<String> test = optionalFunction.getDataSource().test(options); if (test.isPresent()) { throw new RakamException(test.get(), BAD_REQUEST); } return SuccessMessage.success(); }
public SuccessMessage testFile(String project, DiscoverableRemoteTable hook) { ExternalFileCustomDataSource source = new ExternalFileCustomDataSource(); Optional<String> test = source.test(hook.getTable()); if (test.isPresent()) { throw new RakamException(test.get(), BAD_REQUEST); } return SuccessMessage.success(); }
@JsonRequest @ApiOperation(value = "Delete report", authorizations = @Authorization(value = "master_key")) @Path("/delete") public SuccessMessage delete(@Named("project") RequestContext context, @ApiParam("id") int id) { metadata.delete(context.project, id); return SuccessMessage.success(); }
@ApiOperation(value = "Deactivate rule", authorizations = @Authorization(value = "master_key") ) @JsonRequest @Path("/deactivate") public SuccessMessage deactivateRule(@Named("project") RequestContext context, @ApiParam("id") int id) { service.deactivate(context.project, id); return SuccessMessage.success(); }
@JsonRequest @ProtectEndpoint(writeOperation = true) @Path("/revoke-api-keys") public SuccessMessage revokeApiKeys(@ApiParam("master_key") String key, @Named("user_id") Project project) { service.revokeApiKeys(project.userId, project.project, key); return SuccessMessage.success(); }
@ApiOperation(value = "Update report", authorizations = @Authorization(value = "read_key")) @POST @Path("/update") @JsonRequest @ProtectEndpoint(writeOperation = true) public SuccessMessage update(@Named("user_id") Project project, @BodyParam Report report) { metadata.update(project.userId, project.project, report); return SuccessMessage.success(); } }
@JsonRequest @ApiOperation(value = "Delete Report", authorizations = @Authorization(value = "read_key")) @Path("/delete") @ProtectEndpoint(writeOperation = true) public SuccessMessage delete( @Named("user_id") Project project, @ApiParam(value = "slug", description = "Slug") String slug) { metadata.delete(project.userId, project.project, slug); return SuccessMessage.success(); }
@JsonRequest @ApiOperation(value = "Change materialized view", authorizations = @Authorization(value = "master_key")) @Path("/change") public SuccessMessage changeView(@Named("project") RequestContext context, @ApiParam("table_name") String tableName, @ApiParam("real_time") boolean realTime) { service.changeView(context.project, tableName, realTime); return SuccessMessage.success(); }
@JsonRequest @ApiOperation(value = "Recover my password", authorizations = @Authorization(value = "master_key")) @Path("/prepare-recover-password") public SuccessMessage prepareRecoverPassword(@ApiParam("email") String email) { service.prepareRecoverPassword(email); return SuccessMessage.success(); }
@ApiOperation(value = "Create reports", tags = "rakam-ui", authorizations = @Authorization(value = "read_key"), response = SuccessMessage.class, request = CustomReport.class) @JsonRequest @ProtectEndpoint(writeOperation = true) @Path("/create") public SuccessMessage create(@Named("user_id") Project project, @BodyParam CustomReport report) { metadata.save(project.userId, project.project, report); return SuccessMessage.success(); }
@JsonRequest @ApiOperation(value = "Update project configurations") @Path("/project-configuration") public SuccessMessage updateProjectPreferences(@Named("user_id") Project project, @BodyParam ProjectConfiguration configuration) { if (!service.hasMasterAccess(project.project, project.userId)) { throw new RakamException("You don't have master access", UNAUTHORIZED); } service.updateProjectConfigurations(project.project, configuration); return SuccessMessage.success(); }
@JsonRequest @ApiOperation(value = "Revoke API Keys") @Path("/revoke-api-keys") public SuccessMessage revokeApiKeys(@ApiParam("project") String project, @ApiParam("master_key") String masterKey) { apiKeyService.revokeApiKeys(project, masterKey); return SuccessMessage.success(); }
@ApiOperation(value = "Recover my password", authorizations = @Authorization(value = "master_key")) @JsonRequest @Path("/perform-recover-password") public SuccessMessage performRecoverPassword( @ApiParam("key") String key, @ApiParam("hash") String hash, @ApiParam("password") String password) { service.performRecoverPassword(key, hash, password); return SuccessMessage.success(); }
public SuccessMessage removeFile(String project, String tableName) { try (Handle handle = dbi.open()) { int execute = handle.createStatement("DELETE FROM custom_file_source WHERE project = :project AND table_name = :table_name") .bind("project", project) .bind("table_name", tableName) .execute(); if (execute == 0) { throw new RakamException("Custom file not found", NOT_FOUND); } return SuccessMessage.success(); } }
public SuccessMessage removeDatabase(String project, String schemaName) { try (Handle handle = dbi.open()) { int execute = handle.createStatement("DELETE FROM custom_data_source WHERE project = :project AND schema_name = :schema_name") .bind("project", project) .bind("schema_name", schemaName) .execute(); if (execute == 0) { throw new RakamException("Custom database not found", NOT_FOUND); } return SuccessMessage.success(); } }
@JsonRequest @ApiOperation(value = "Unset user property") @ApiResponses(value = {@ApiResponse(code = 404, message = "User does not exist.")}) @Path("/unset_properties") @AllowCookie public SuccessMessage unsetProperty(@ApiParam("api") User.UserContext api, @ApiParam("id") Object id, @ApiParam("properties") List<String> properties) { String project = apiKeyService.getProjectOfApiKey(api.apiKey, WRITE_KEY); service.unsetProperties(project, id, properties); return SuccessMessage.success(); }