public Response handleRequest()

in core/src/db-schema-manager/resources/flyway-lambda/src/main/java/com/geekoosh/flyway/FlywayHandler.java [23:66]


    public Response handleRequest(Request input, Context context) {
        MigrationFilesService migrationFilesService = null;

        try {

            GitRequest gitRequest = GitRequest.build(input.getGitRequest());
            S3Request s3Request = S3Request.build(input.getS3Request());
            DBRequest dbRequest = DBRequest.build(input.getDbRequest());
            FlywayRequest flywayRequest = FlywayRequest.build(input.getFlywayRequest());


            GitService gitService = gitService(gitRequest);

            S3Service s3Service = new S3Service(
                    s3Request.getBucket(),
                    s3Request.getFolder()
            );

            if (s3Service.isValid()) {
                migrationFilesService = s3Service;
            } else if (gitService.isValid()) {
                migrationFilesService = gitService;
            }
            if(migrationFilesService != null) {
                migrationFilesService.prepare();
            }

            FlywayService flywayService = new FlywayService(flywayRequest, dbRequest, migrationFilesService);

            Response response = new Response(flywayService.call());
            response.log();
            return response;
        } catch(Exception e) {
            logger.error(e.getMessage(), e);
            throw new RuntimeException(e);
        } finally {
            if(migrationFilesService != null) try {
                migrationFilesService.clean();
            } catch (MigrationFilesException e) {
                logger.error(e.getMessage(), e);
                throw new RuntimeException(e);
            }
        }
    }