<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>cloud.nstart.terravault.ordinis</groupId>
    <artifactId>ordinis-parent</artifactId>
    <version>0.1.0-SNAPSHOT</version>
  </parent>

  <artifactId>ordinis-notifications</artifactId>
  <name>Ordinis :: Notifications</name>
  <description>
    Push-notifications module (email + Express + Telegram) для Approval Workflow v2 events.
    Leverages existing ordinis-outbox infra (OutboxRecorder + OutboxPoller +
    KafkaTopicResolver). Этот модуль = consumer side: Kafka @KafkaListener,
    fan-out per recipient × channel, rate limiter, idempotency guard через PG UNIQUE.

    Включается через ordinis.notifications.enabled=true (writer pod).
    См. ~/.gstack/projects/claude/zimin-main-design-notifications-v1.2.0-20260510-130000.md
  </description>

  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-mail</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-cache</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
      <groupId>org.springframework.kafka</groupId>
      <artifactId>spring-kafka</artifactId>
    </dependency>
    <dependency>
      <groupId>com.fasterxml.jackson.core</groupId>
      <artifactId>jackson-databind</artifactId>
    </dependency>
    <dependency>
      <groupId>io.micrometer</groupId>
      <artifactId>micrometer-core</artifactId>
    </dependency>
    <dependency>
      <groupId>cloud.nstart.terravault.ordinis</groupId>
      <artifactId>ordinis-domain</artifactId>
    </dependency>
    <dependency>
      <groupId>cloud.nstart.terravault.ordinis</groupId>
      <artifactId>ordinis-events-api</artifactId>
    </dependency>
    <dependency>
      <groupId>cloud.nstart.terravault.ordinis</groupId>
      <artifactId>ordinis-outbox</artifactId>
    </dependency>

    <!-- Test scope -->
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-test</artifactId>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupId>com.icegreen</groupId>
      <artifactId>greenmail</artifactId>
      <version>2.1.5</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
</project>
