diff --git a/README.md b/README.md index e36fae5..5ef3b2e 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# Dynanmic, Reactive Alerting API (Proof-of-Concept) +# Simple Alerting API -This project is a proof-of-concept API for a dynamic, reactive alerting system. +This project is a simple API for a dynamic, reactive alerting system (minus the notification component). It consists of four different modules that comprise the overall functionality of the project. * amqp @@ -8,18 +8,16 @@ It consists of four different modules that comprise the overall functionality of * batch * persistence -*Note that the notification component is not part of this proof-of-concept* - ## Architecture ![alerting architecture](./alerting-architecture.png) ## Getting Started -1. Clone the project. `git clone git@github.com:Dark-Alex-17/alerting-poc.git` -2. Open the `alerting-poc` folder with IntelliJ. Use auto-import for a Gradle +1. Clone the project. `git clone git@github.com:Dark-Alex-17/alerting-api.git` +2. Open the `alerting-api` folder with IntelliJ. Use auto-import for a Gradle project. -## Running the POC +## Running the API ### Start the persistence tier The persistence tier will start up the in-memory H2 database. Once started, Flyway will populate the database with the alerting schema and test data, and also @@ -30,8 +28,6 @@ can use the database. The H2 browser console is available at http://localhost:8081/h2-console -#### Start the Persistence Layer - `./gradlew persistence:bootRun` ### Start the batch worker @@ -47,9 +43,9 @@ The API is how users provision alerts and recipients, and all data is persisted Additionally, all operations send a message to RabbitMQ to provision and schedule Quartz jobs in the batch worker. -The API is available at http://localhost:8080/poc/alerting/v1/ +The API is available at http://localhost:8080/api/alerting/v1/ -API documentation is available [here](https://dark-alex-17.github.io/alerting-poc/) +API documentation is available [here](https://dark-alex-17.github.io/alerting-api/) `./gradlew api:bootRun` diff --git a/amqp/src/main/java/com/poc/alerting/amqp/AmqpMessage.java b/amqp/src/main/java/com/alexjclarke/alerting/amqp/AmqpMessage.java similarity index 82% rename from amqp/src/main/java/com/poc/alerting/amqp/AmqpMessage.java rename to amqp/src/main/java/com/alexjclarke/alerting/amqp/AmqpMessage.java index fcb4a00..a5afed6 100644 --- a/amqp/src/main/java/com/poc/alerting/amqp/AmqpMessage.java +++ b/amqp/src/main/java/com/alexjclarke/alerting/amqp/AmqpMessage.java @@ -1,4 +1,4 @@ -package com.poc.alerting.amqp; +package com.alexjclarke.alerting.amqp; import java.io.Serializable; diff --git a/amqp/src/main/java/com/poc/alerting/amqp/AmqpResponse.java b/amqp/src/main/java/com/alexjclarke/alerting/amqp/AmqpResponse.java similarity index 89% rename from amqp/src/main/java/com/poc/alerting/amqp/AmqpResponse.java rename to amqp/src/main/java/com/alexjclarke/alerting/amqp/AmqpResponse.java index d5af31c..f693b8c 100644 --- a/amqp/src/main/java/com/poc/alerting/amqp/AmqpResponse.java +++ b/amqp/src/main/java/com/alexjclarke/alerting/amqp/AmqpResponse.java @@ -1,4 +1,4 @@ -package com.poc.alerting.amqp; +package com.alexjclarke.alerting.amqp; import java.io.Serializable; diff --git a/amqp/src/main/java/com/poc/alerting/amqp/ExceptionType.java b/amqp/src/main/java/com/alexjclarke/alerting/amqp/ExceptionType.java similarity index 91% rename from amqp/src/main/java/com/poc/alerting/amqp/ExceptionType.java rename to amqp/src/main/java/com/alexjclarke/alerting/amqp/ExceptionType.java index d3467bc..7250b24 100644 --- a/amqp/src/main/java/com/poc/alerting/amqp/ExceptionType.java +++ b/amqp/src/main/java/com/alexjclarke/alerting/amqp/ExceptionType.java @@ -1,4 +1,4 @@ -package com.poc.alerting.amqp; +package com.alexjclarke.alerting.amqp; public enum ExceptionType { INVALID_REQUEST_EXCEPTION(400), diff --git a/amqp/src/main/java/com/poc/alerting/amqp/GsonMessageConverter.java b/amqp/src/main/java/com/alexjclarke/alerting/amqp/GsonMessageConverter.java similarity index 98% rename from amqp/src/main/java/com/poc/alerting/amqp/GsonMessageConverter.java rename to amqp/src/main/java/com/alexjclarke/alerting/amqp/GsonMessageConverter.java index 6beb618..d35087a 100644 --- a/amqp/src/main/java/com/poc/alerting/amqp/GsonMessageConverter.java +++ b/amqp/src/main/java/com/alexjclarke/alerting/amqp/GsonMessageConverter.java @@ -1,4 +1,4 @@ -package com.poc.alerting.amqp; +package com.alexjclarke.alerting.amqp; import java.io.Serializable; import java.nio.charset.StandardCharsets; diff --git a/amqp/src/main/java/com/poc/alerting/amqp/MessageDataTransferObject.java b/amqp/src/main/java/com/alexjclarke/alerting/amqp/MessageDataTransferObject.java similarity index 88% rename from amqp/src/main/java/com/poc/alerting/amqp/MessageDataTransferObject.java rename to amqp/src/main/java/com/alexjclarke/alerting/amqp/MessageDataTransferObject.java index d5e9ea9..ab6e01c 100644 --- a/amqp/src/main/java/com/poc/alerting/amqp/MessageDataTransferObject.java +++ b/amqp/src/main/java/com/alexjclarke/alerting/amqp/MessageDataTransferObject.java @@ -1,4 +1,4 @@ -package com.poc.alerting.amqp; +package com.alexjclarke.alerting.amqp; import java.io.Serializable; diff --git a/amqp/src/main/java/com/poc/alerting/amqp/RabbitSender.java b/amqp/src/main/java/com/alexjclarke/alerting/amqp/RabbitSender.java similarity index 95% rename from amqp/src/main/java/com/poc/alerting/amqp/RabbitSender.java rename to amqp/src/main/java/com/alexjclarke/alerting/amqp/RabbitSender.java index 20f038b..4cb5b73 100644 --- a/amqp/src/main/java/com/poc/alerting/amqp/RabbitSender.java +++ b/amqp/src/main/java/com/alexjclarke/alerting/amqp/RabbitSender.java @@ -1,7 +1,6 @@ -package com.poc.alerting.amqp; +package com.alexjclarke.alerting.amqp; import org.springframework.amqp.rabbit.core.RabbitTemplate; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import lombok.RequiredArgsConstructor; diff --git a/amqp/src/main/kotlin/com/poc/alerting/amqp/AlertingAmqpMessage.kt b/amqp/src/main/kotlin/com/alexjclarke/alerting/amqp/AlertingAmqpMessage.kt similarity index 91% rename from amqp/src/main/kotlin/com/poc/alerting/amqp/AlertingAmqpMessage.kt rename to amqp/src/main/kotlin/com/alexjclarke/alerting/amqp/AlertingAmqpMessage.kt index 7192c4e..00e69db 100644 --- a/amqp/src/main/kotlin/com/poc/alerting/amqp/AlertingAmqpMessage.kt +++ b/amqp/src/main/kotlin/com/alexjclarke/alerting/amqp/AlertingAmqpMessage.kt @@ -1,4 +1,4 @@ -package com.poc.alerting.amqp +package com.alexjclarke.alerting.amqp sealed class AlertingAmqpMessage( val alertId: String, @@ -9,7 +9,7 @@ sealed class AlertingAmqpMessage( } override fun getExchange(): String { - return "poc_alerting" + return "alerting_api" } class Add(val frequency: String, alertId: String, accountId: String): AlertingAmqpMessage(alertId, accountId) diff --git a/amqp/src/main/kotlin/com/poc/alerting/amqp/AmqpConfiguration.kt b/amqp/src/main/kotlin/com/alexjclarke/alerting/amqp/AmqpConfiguration.kt similarity index 83% rename from amqp/src/main/kotlin/com/poc/alerting/amqp/AmqpConfiguration.kt rename to amqp/src/main/kotlin/com/alexjclarke/alerting/amqp/AmqpConfiguration.kt index 4e27406..7fbd9c7 100644 --- a/amqp/src/main/kotlin/com/poc/alerting/amqp/AmqpConfiguration.kt +++ b/amqp/src/main/kotlin/com/alexjclarke/alerting/amqp/AmqpConfiguration.kt @@ -1,4 +1,4 @@ -package com.poc.alerting.amqp +package com.alexjclarke.alerting.amqp import org.apache.commons.lang3.time.DateUtils.MILLIS_PER_MINUTE import org.springframework.amqp.core.Binding @@ -16,10 +16,10 @@ import org.springframework.context.annotation.ComponentScan import org.springframework.context.annotation.Configuration @Configuration -@ComponentScan(basePackages = ["com.poc.alerting.amqp"]) +@ComponentScan(basePackages = ["com.alexjclarke.alerting.amqp"]) open class AmqpConfiguration { companion object { - const val AMQP_NAME = "poc_alerting" + const val AMQP_NAME = "alerting_api" const val NEW_ACCOUNT = "new_account" const val FANOUT_NAME = "${AMQP_NAME}_fanout" } @@ -27,8 +27,8 @@ open class AmqpConfiguration { @Bean open fun connectionFactory(): ConnectionFactory { return CachingConnectionFactory().apply { - virtualHost = "poc" - username = "poc_user" + virtualHost = "api" + username = "api_user" setPassword("s!mpleP@ssw0rd") setAddresses("localhost") } @@ -50,7 +50,7 @@ open class AmqpConfiguration { } @Bean - open fun pocAlertingExchange(): FanoutExchange { + open fun alertingExchange(): FanoutExchange { return FanoutExchange(FANOUT_NAME) } @@ -63,8 +63,8 @@ open class AmqpConfiguration { } @Bean - open fun exchangeBinding(directExchange: Exchange, pocAlertingExchange: FanoutExchange): Binding { - return BindingBuilder.bind(directExchange).to(pocAlertingExchange) + open fun exchangeBinding(directExchange: Exchange, alertingExchange: FanoutExchange): Binding { + return BindingBuilder.bind(directExchange).to(alertingExchange) } @Bean diff --git a/api/build.gradle.kts b/api/build.gradle.kts index 962ffe8..aab60ef 100644 --- a/api/build.gradle.kts +++ b/api/build.gradle.kts @@ -23,5 +23,5 @@ dependencies { tasks.getByName("bootJar") { enabled = true - mainClass.set("com.poc.alerting.api.AlertingApi") + mainClass.set("com.alexjclarke.alerting.api.AlertingApi") } \ No newline at end of file diff --git a/api/src/main/java/com/poc/alerting/api/PropertyCopier.java b/api/src/main/java/com/alexjclarke/alerting/api/PropertyCopier.java similarity index 96% rename from api/src/main/java/com/poc/alerting/api/PropertyCopier.java rename to api/src/main/java/com/alexjclarke/alerting/api/PropertyCopier.java index 969adf8..eafc49e 100644 --- a/api/src/main/java/com/poc/alerting/api/PropertyCopier.java +++ b/api/src/main/java/com/alexjclarke/alerting/api/PropertyCopier.java @@ -1,4 +1,4 @@ -package com.poc.alerting.api; +package com.alexjclarke.alerting.api; import java.beans.FeatureDescriptor; import java.util.List; diff --git a/api/src/main/kotlin/com/poc/alerting/api/AlertingApi.kt b/api/src/main/kotlin/com/alexjclarke/alerting/api/AlertingApi.kt similarity index 66% rename from api/src/main/kotlin/com/poc/alerting/api/AlertingApi.kt rename to api/src/main/kotlin/com/alexjclarke/alerting/api/AlertingApi.kt index 5dc3a09..d7979ca 100644 --- a/api/src/main/kotlin/com/poc/alerting/api/AlertingApi.kt +++ b/api/src/main/kotlin/com/alexjclarke/alerting/api/AlertingApi.kt @@ -1,9 +1,9 @@ -package com.poc.alerting.api +package com.alexjclarke.alerting.api import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication -@SpringBootApplication(scanBasePackages = ["com.poc.alerting"]) +@SpringBootApplication(scanBasePackages = ["com.alexjclarke.alerting"]) open class AlertingApi fun main(args: Array) { diff --git a/api/src/main/kotlin/com/poc/alerting/api/controller/AlertController.kt b/api/src/main/kotlin/com/alexjclarke/alerting/api/controller/AlertController.kt similarity index 84% rename from api/src/main/kotlin/com/poc/alerting/api/controller/AlertController.kt rename to api/src/main/kotlin/com/alexjclarke/alerting/api/controller/AlertController.kt index 38bd1f7..6a966a5 100644 --- a/api/src/main/kotlin/com/poc/alerting/api/controller/AlertController.kt +++ b/api/src/main/kotlin/com/alexjclarke/alerting/api/controller/AlertController.kt @@ -1,15 +1,15 @@ -package com.poc.alerting.api.controller +package com.alexjclarke.alerting.api.controller -import com.poc.alerting.amqp.AlertingAmqpMessage.Add -import com.poc.alerting.amqp.AlertingAmqpMessage.Delete -import com.poc.alerting.amqp.AlertingAmqpMessage.Pause -import com.poc.alerting.amqp.AlertingAmqpMessage.Resume -import com.poc.alerting.amqp.AlertingAmqpMessage.Update -import com.poc.alerting.amqp.RabbitSender -import com.poc.alerting.api.PropertyCopier -import com.poc.alerting.persistence.dto.Alert -import com.poc.alerting.persistence.repositories.AccountRepository -import com.poc.alerting.persistence.repositories.AlertRepository +import com.alexjclarke.alerting.amqp.AlertingAmqpMessage.Add +import com.alexjclarke.alerting.amqp.AlertingAmqpMessage.Delete +import com.alexjclarke.alerting.amqp.AlertingAmqpMessage.Pause +import com.alexjclarke.alerting.amqp.AlertingAmqpMessage.Resume +import com.alexjclarke.alerting.amqp.AlertingAmqpMessage.Update +import com.alexjclarke.alerting.amqp.RabbitSender +import com.alexjclarke.alerting.api.PropertyCopier +import com.alexjclarke.alerting.persistence.dto.Alert +import com.alexjclarke.alerting.persistence.repositories.AccountRepository +import com.alexjclarke.alerting.persistence.repositories.AlertRepository import org.springframework.beans.factory.annotation.Autowired import org.springframework.http.HttpStatus import org.springframework.http.ResponseEntity diff --git a/api/src/main/kotlin/com/poc/alerting/api/controller/RecipientController.kt b/api/src/main/kotlin/com/alexjclarke/alerting/api/controller/RecipientController.kt similarity index 93% rename from api/src/main/kotlin/com/poc/alerting/api/controller/RecipientController.kt rename to api/src/main/kotlin/com/alexjclarke/alerting/api/controller/RecipientController.kt index b708435..39898f3 100644 --- a/api/src/main/kotlin/com/poc/alerting/api/controller/RecipientController.kt +++ b/api/src/main/kotlin/com/alexjclarke/alerting/api/controller/RecipientController.kt @@ -1,8 +1,8 @@ -package com.poc.alerting.api.controller +package com.alexjclarke.alerting.api.controller -import com.poc.alerting.api.PropertyCopier -import com.poc.alerting.persistence.dto.Recipient -import com.poc.alerting.persistence.repositories.RecipientRepository +import com.alexjclarke.alerting.api.PropertyCopier +import com.alexjclarke.alerting.persistence.dto.Recipient +import com.alexjclarke.alerting.persistence.repositories.RecipientRepository import org.springframework.beans.factory.annotation.Autowired import org.springframework.http.HttpStatus import org.springframework.http.ResponseEntity diff --git a/api/src/main/resources/application.yml b/api/src/main/resources/application.yml index 2d1551d..a19ec0a 100644 --- a/api/src/main/resources/application.yml +++ b/api/src/main/resources/application.yml @@ -1,6 +1,6 @@ server: servlet: - contextPath: "/poc/alerting/v1" + contextPath: "/api/alerting/v1" port: 8080 spring: jackson: diff --git a/batch/build.gradle.kts b/batch/build.gradle.kts index 2bf80b2..5a116a4 100644 --- a/batch/build.gradle.kts +++ b/batch/build.gradle.kts @@ -21,9 +21,9 @@ dependencies { tasks.getByName("bootJar") { enabled = true - mainClass.set("com.poc.alerting.batch.BatchWorkerKt") + mainClass.set("com.alexjclarke.alerting.batch.BatchWorkerKt") } springBoot { - mainClass.set("com.poc.alerting.batch.BatchWorkerKt") + mainClass.set("com.alexjclarke.alerting.batch.BatchWorkerKt") } diff --git a/batch/src/main/java/com/poc/alerting/batch/AccountConsumerManager.java b/batch/src/main/java/com/alexjclarke/alerting/batch/AccountConsumerManager.java similarity index 97% rename from batch/src/main/java/com/poc/alerting/batch/AccountConsumerManager.java rename to batch/src/main/java/com/alexjclarke/alerting/batch/AccountConsumerManager.java index b8a7ad6..3530df2 100644 --- a/batch/src/main/java/com/poc/alerting/batch/AccountConsumerManager.java +++ b/batch/src/main/java/com/alexjclarke/alerting/batch/AccountConsumerManager.java @@ -1,4 +1,4 @@ -package com.poc.alerting.batch; +package com.alexjclarke.alerting.batch; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; diff --git a/batch/src/main/java/com/poc/alerting/batch/ApplicationStartup.java b/batch/src/main/java/com/alexjclarke/alerting/batch/ApplicationStartup.java similarity index 92% rename from batch/src/main/java/com/poc/alerting/batch/ApplicationStartup.java rename to batch/src/main/java/com/alexjclarke/alerting/batch/ApplicationStartup.java index 0b0b250..99fb4f9 100644 --- a/batch/src/main/java/com/poc/alerting/batch/ApplicationStartup.java +++ b/batch/src/main/java/com/alexjclarke/alerting/batch/ApplicationStartup.java @@ -1,4 +1,4 @@ -package com.poc.alerting.batch; +package com.alexjclarke.alerting.batch; import java.util.Base64; import java.util.stream.StreamSupport; @@ -10,7 +10,6 @@ import org.slf4j.LoggerFactory; import org.springframework.amqp.rabbit.connection.ConnectionFactory; import org.springframework.amqp.rabbit.listener.adapter.MessageListenerAdapter; import org.springframework.amqp.support.converter.MessageConverter; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.context.event.ApplicationReadyEvent; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.ApplicationListener; @@ -37,7 +36,7 @@ public class ApplicationStartup implements ApplicationListener) { diff --git a/batch/src/main/kotlin/com/poc/alerting/batch/ConsumerCreator.kt b/batch/src/main/kotlin/com/alexjclarke/alerting/batch/ConsumerCreator.kt similarity index 97% rename from batch/src/main/kotlin/com/poc/alerting/batch/ConsumerCreator.kt rename to batch/src/main/kotlin/com/alexjclarke/alerting/batch/ConsumerCreator.kt index 66e40da..567d99b 100644 --- a/batch/src/main/kotlin/com/poc/alerting/batch/ConsumerCreator.kt +++ b/batch/src/main/kotlin/com/alexjclarke/alerting/batch/ConsumerCreator.kt @@ -1,4 +1,4 @@ -package com.poc.alerting.batch +package com.alexjclarke.alerting.batch import org.apache.commons.lang3.time.DateUtils import org.springframework.amqp.rabbit.connection.ConnectionFactory diff --git a/batch/src/main/kotlin/com/poc/alerting/batch/WorkerConfiguration.kt b/batch/src/main/kotlin/com/alexjclarke/alerting/batch/WorkerConfiguration.kt similarity index 95% rename from batch/src/main/kotlin/com/poc/alerting/batch/WorkerConfiguration.kt rename to batch/src/main/kotlin/com/alexjclarke/alerting/batch/WorkerConfiguration.kt index c7bbe79..273c52e 100644 --- a/batch/src/main/kotlin/com/poc/alerting/batch/WorkerConfiguration.kt +++ b/batch/src/main/kotlin/com/alexjclarke/alerting/batch/WorkerConfiguration.kt @@ -1,7 +1,7 @@ -package com.poc.alerting.batch +package com.alexjclarke.alerting.batch -import com.poc.alerting.amqp.AmqpConfiguration.Companion.NEW_ACCOUNT -import com.poc.alerting.amqp.GsonMessageConverter +import com.alexjclarke.alerting.amqp.AmqpConfiguration.Companion.NEW_ACCOUNT +import com.alexjclarke.alerting.amqp.GsonMessageConverter import org.springframework.amqp.core.Binding import org.springframework.amqp.core.BindingBuilder import org.springframework.amqp.core.FanoutExchange diff --git a/batch/src/main/kotlin/com/poc/alerting/batch/jobs/AlertQueryJob.kt b/batch/src/main/kotlin/com/alexjclarke/alerting/batch/jobs/AlertQueryJob.kt similarity index 88% rename from batch/src/main/kotlin/com/poc/alerting/batch/jobs/AlertQueryJob.kt rename to batch/src/main/kotlin/com/alexjclarke/alerting/batch/jobs/AlertQueryJob.kt index cdbc420..2a9d224 100644 --- a/batch/src/main/kotlin/com/poc/alerting/batch/jobs/AlertQueryJob.kt +++ b/batch/src/main/kotlin/com/alexjclarke/alerting/batch/jobs/AlertQueryJob.kt @@ -1,6 +1,6 @@ -package com.poc.alerting.batch.jobs +package com.alexjclarke.alerting.batch.jobs -import com.poc.alerting.persistence.repositories.AlertRepository +import com.alexjclarke.alerting.persistence.repositories.AlertRepository import org.quartz.Job import org.quartz.JobExecutionContext import org.springframework.beans.factory.annotation.Autowired @@ -24,7 +24,7 @@ open class AlertQueryJob @Autowired constructor( val cron = data.getString(CRON) val accountId = data.getString(ACCOUNT_ID) - val alert = alertRepository.findByExtIdAndAccount_Id(alertId, accountId) + val alert = alertRepository.findByExtIdAndAccount_ExtId(alertId, accountId) with(alert) { val queryResult = type.query() diff --git a/batch/src/main/kotlin/com/poc/alerting/batch/jobs/ScheduleAlertQueryConfiguration.kt b/batch/src/main/kotlin/com/alexjclarke/alerting/batch/jobs/ScheduleAlertQueryConfiguration.kt similarity index 90% rename from batch/src/main/kotlin/com/poc/alerting/batch/jobs/ScheduleAlertQueryConfiguration.kt rename to batch/src/main/kotlin/com/alexjclarke/alerting/batch/jobs/ScheduleAlertQueryConfiguration.kt index f431fe4..8c7687d 100644 --- a/batch/src/main/kotlin/com/poc/alerting/batch/jobs/ScheduleAlertQueryConfiguration.kt +++ b/batch/src/main/kotlin/com/alexjclarke/alerting/batch/jobs/ScheduleAlertQueryConfiguration.kt @@ -1,6 +1,6 @@ -package com.poc.alerting.batch.jobs +package com.alexjclarke.alerting.batch.jobs -import com.poc.alerting.batch.AutowiringSpringBeanJobFactory +import com.alexjclarke.alerting.batch.AutowiringSpringBeanJobFactory import org.quartz.spi.JobFactory import org.springframework.boot.autoconfigure.EnableAutoConfiguration import org.springframework.context.ApplicationContext diff --git a/build.gradle.kts b/build.gradle.kts index 2afe7d9..7595824 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -19,7 +19,7 @@ repositories { } allprojects { - group = "com.poc.alerting" + group = "com.alexjclarke.alerting" version = "0.0.1-SNAPSHOT" tasks.withType { @@ -71,5 +71,5 @@ subprojects { } springBoot { - mainClass.set("com.poc.alerting.persistence.Persistence") + mainClass.set("com.alexjclarke.alerting.persistence.Persistence") } diff --git a/docs/AlertingApi.yaml b/docs/AlertingApi.yaml index 576d498..e63483e 100644 --- a/docs/AlertingApi.yaml +++ b/docs/AlertingApi.yaml @@ -1,10 +1,10 @@ openapi: 3.0.1 info: title: Alerting API - description: 'This is a POC API for a dynamic, reactive alerting system.' + description: 'This is a simple API for a dynamic, reactive alerting system (minus the notification component).' version: 0.0.1 servers: - - url: http://localhost:8080/poc/alerting/v1 + - url: http://localhost:8080/api/alerting/v1 tags: - name: Alerts - name: Recipients diff --git a/persistence/build.gradle.kts b/persistence/build.gradle.kts index 8f5ec55..321fd52 100644 --- a/persistence/build.gradle.kts +++ b/persistence/build.gradle.kts @@ -23,5 +23,5 @@ flyway { tasks.getByName("bootJar") { enabled = true - mainClass.set("com.poc.alerting.persistence.Persistence") + mainClass.set("com.alexjclarke.alerting.persistence.Persistence") } diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/H2Config.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/H2Config.kt similarity index 80% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/H2Config.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/H2Config.kt index e70e76a..8bfe289 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/H2Config.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/H2Config.kt @@ -1,4 +1,4 @@ -package com.poc.alerting.persistence +package com.alexjclarke.alerting.persistence import org.h2.tools.Server import org.springframework.boot.autoconfigure.EnableAutoConfiguration @@ -9,8 +9,8 @@ import org.springframework.context.annotation.Profile import org.springframework.data.jpa.repository.config.EnableJpaRepositories @Configuration -@EnableJpaRepositories("com.poc.alerting.persistence.repositories") -@EntityScan("com.poc.alerting.persistence.dto") +@EnableJpaRepositories("com.alexjclarke.alerting.persistence.repositories") +@EntityScan("com.alexjclarke.alerting.persistence.dto") @EnableAutoConfiguration open class H2Config { @Bean(initMethod = "start", destroyMethod = "stop") diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/Persistence.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/Persistence.kt similarity index 62% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/Persistence.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/Persistence.kt index fb3dd22..9a8e1db 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/Persistence.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/Persistence.kt @@ -1,10 +1,10 @@ -package com.poc.alerting.persistence +package com.alexjclarke.alerting.persistence import org.springframework.boot.autoconfigure.SpringBootApplication import org.springframework.boot.runApplication -@SpringBootApplication(scanBasePackages = ["com.poc.alerting.persistence"]) +@SpringBootApplication(scanBasePackages = ["com.alexjclarke.alerting.persistence"]) open class Persistence fun main(args: Array) { diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/Account.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/Account.kt similarity index 88% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/dto/Account.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/Account.kt index 5ad42f0..205ccb6 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/Account.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/Account.kt @@ -1,4 +1,4 @@ -package com.poc.alerting.persistence.dto +package com.alexjclarke.alerting.persistence.dto import javax.persistence.Entity import javax.persistence.GeneratedValue diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/Alert.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/Alert.kt similarity index 96% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/dto/Alert.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/Alert.kt index c34590d..e624530 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/Alert.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/Alert.kt @@ -1,4 +1,4 @@ -package com.poc.alerting.persistence.dto +package com.alexjclarke.alerting.persistence.dto import org.hibernate.annotations.CreationTimestamp import org.hibernate.annotations.UpdateTimestamp diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/AlertTypeEnum.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/AlertTypeEnum.kt similarity index 78% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/dto/AlertTypeEnum.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/AlertTypeEnum.kt index 1290ef2..86ede64 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/AlertTypeEnum.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/AlertTypeEnum.kt @@ -1,4 +1,4 @@ -package com.poc.alerting.persistence.dto +package com.alexjclarke.alerting.persistence.dto import kotlin.random.Random diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/Recipient.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/Recipient.kt similarity index 96% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/dto/Recipient.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/Recipient.kt index 031f881..0035d1e 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/Recipient.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/Recipient.kt @@ -1,4 +1,4 @@ -package com.poc.alerting.persistence.dto +package com.alexjclarke.alerting.persistence.dto import org.hibernate.annotations.CreationTimestamp import org.hibernate.annotations.UpdateTimestamp diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/RecipientTypeEnum.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/RecipientTypeEnum.kt similarity index 55% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/dto/RecipientTypeEnum.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/RecipientTypeEnum.kt index 2509685..fd458a7 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/dto/RecipientTypeEnum.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/dto/RecipientTypeEnum.kt @@ -1,4 +1,4 @@ -package com.poc.alerting.persistence.dto +package com.alexjclarke.alerting.persistence.dto enum class RecipientTypeEnum { EMAIL, diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/repositories/AccountRepository.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/repositories/AccountRepository.kt similarity index 67% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/repositories/AccountRepository.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/repositories/AccountRepository.kt index ddc9d51..c0a1228 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/repositories/AccountRepository.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/repositories/AccountRepository.kt @@ -1,6 +1,6 @@ -package com.poc.alerting.persistence.repositories +package com.alexjclarke.alerting.persistence.repositories -import com.poc.alerting.persistence.dto.Account +import com.alexjclarke.alerting.persistence.dto.Account import org.springframework.data.jpa.repository.JpaRepository import org.springframework.stereotype.Repository diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/repositories/AlertRepository.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/repositories/AlertRepository.kt similarity index 79% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/repositories/AlertRepository.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/repositories/AlertRepository.kt index 572f3df..dba52fc 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/repositories/AlertRepository.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/repositories/AlertRepository.kt @@ -1,6 +1,6 @@ -package com.poc.alerting.persistence.repositories +package com.alexjclarke.alerting.persistence.repositories -import com.poc.alerting.persistence.dto.Alert +import com.alexjclarke.alerting.persistence.dto.Alert import org.springframework.data.repository.CrudRepository import org.springframework.data.repository.PagingAndSortingRepository import org.springframework.stereotype.Repository diff --git a/persistence/src/main/kotlin/com/poc/alerting/persistence/repositories/RecipientRepository.kt b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/repositories/RecipientRepository.kt similarity index 80% rename from persistence/src/main/kotlin/com/poc/alerting/persistence/repositories/RecipientRepository.kt rename to persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/repositories/RecipientRepository.kt index 7aa8b15..5297657 100644 --- a/persistence/src/main/kotlin/com/poc/alerting/persistence/repositories/RecipientRepository.kt +++ b/persistence/src/main/kotlin/com/alexjclarke/alerting/persistence/repositories/RecipientRepository.kt @@ -1,6 +1,6 @@ -package com.poc.alerting.persistence.repositories +package com.alexjclarke.alerting.persistence.repositories -import com.poc.alerting.persistence.dto.Recipient +import com.alexjclarke.alerting.persistence.dto.Recipient import org.springframework.data.repository.CrudRepository import org.springframework.stereotype.Repository diff --git a/settings.gradle.kts b/settings.gradle.kts index 5edc89c..94ecb1f 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,2 +1,2 @@ -rootProject.name = "alerting-poc" +rootProject.name = "alerting-api" include(":persistence", ":amqp", ":api", ":batch")