Implement tasks 1-6: project setup, config, database, webhook, commands
This commit is contained in:
parent
0a7b382cdb
commit
5af08efdad
22 changed files with 2018 additions and 19 deletions
|
|
@ -1,6 +1,7 @@
|
|||
# Implementation Plan
|
||||
|
||||
- [-] 1. Настройка проекта и Git
|
||||
- [x] 1. Настройка проекта и Git
|
||||
|
||||
|
||||
|
||||
- [x] 1.1 Создать структуру Gradle проекта
|
||||
|
|
@ -10,40 +11,59 @@
|
|||
- Настроить Java 21 и shadowJar для сборки
|
||||
- _Requirements: 7.1_
|
||||
|
||||
- [ ] 1.2 Настроить Git и .gitignore
|
||||
- [x] 1.2 Настроить Git и .gitignore
|
||||
|
||||
- Создать .gitignore для Java/Gradle проекта
|
||||
- Инициализировать git репозиторий
|
||||
- Добавить remote https://git.lokili.xyz/loki/lorep.git
|
||||
- Сделать initial commit и push
|
||||
- _Requirements: N/A_
|
||||
- [ ] 1.3 Создать plugin.yml и основной класс
|
||||
- [x] 1.3 Создать plugin.yml и основной класс
|
||||
|
||||
|
||||
- Создать plugin.yml с командами и правами
|
||||
- Создать LorepPlugin.java с onEnable/onDisable
|
||||
- _Requirements: 6.1, 6.2, 6.3_
|
||||
|
||||
- [ ] 2. Реализация конфигурации
|
||||
- [ ] 2.1 Создать ConfigManager и config.yml
|
||||
- [x] 2. Реализация конфигурации
|
||||
|
||||
|
||||
|
||||
- [x] 2.1 Создать ConfigManager и config.yml
|
||||
|
||||
- Создать default config.yml с настройками БД и webhook
|
||||
- Реализовать ConfigManager для чтения конфигурации
|
||||
- _Requirements: 7.1, 7.2, 7.3, 7.4_
|
||||
- [ ] 2.2 Написать property test для парсинга конфигурации
|
||||
- [x] 2.2 Написать property test для парсинга конфигурации
|
||||
|
||||
|
||||
- **Property 9: Configuration Parsing**
|
||||
- **Validates: Requirements 7.1, 7.3, 7.4**
|
||||
|
||||
- [ ] 3. Реализация базы данных
|
||||
- [ ] 3.1 Создать модель Report и интерфейс DatabaseManager
|
||||
- [x] 3. Реализация базы данных
|
||||
|
||||
|
||||
- [x] 3.1 Создать модель Report и интерфейс DatabaseManager
|
||||
|
||||
|
||||
- Создать Report record
|
||||
- Создать интерфейс DatabaseManager
|
||||
- _Requirements: 2.1_
|
||||
- [ ] 3.2 Реализовать SQLiteDatabaseManager
|
||||
|
||||
- [x] 3.2 Реализовать SQLiteDatabaseManager
|
||||
|
||||
- Реализовать все методы интерфейса для SQLite
|
||||
- Создать таблицу и индексы
|
||||
- _Requirements: 2.1, 2.2, 2.3_
|
||||
- [ ] 3.3 Реализовать PostgreSQLDatabaseManager
|
||||
|
||||
- [x] 3.3 Реализовать PostgreSQLDatabaseManager
|
||||
|
||||
- Реализовать все методы с HikariCP connection pool
|
||||
- Создать таблицу и индексы для PostgreSQL
|
||||
- _Requirements: 2.1, 2.2, 2.3_
|
||||
- [ ] 3.4 Написать property tests для DatabaseManager
|
||||
- [x] 3.4 Написать property tests для DatabaseManager
|
||||
|
||||
|
||||
- **Property 1: Report Creation Integrity**
|
||||
- **Property 2: Duplicate Report Prevention**
|
||||
- **Property 3: Report Persistence Round-Trip**
|
||||
|
|
@ -51,31 +71,47 @@
|
|||
- **Property 7: Report Count Accuracy**
|
||||
- **Validates: Requirements 1.1, 1.2, 2.1, 2.2, 2.3, 5.1**
|
||||
|
||||
- [ ] 4. Checkpoint - Проверка тестов БД
|
||||
- [x] 4. Checkpoint - Проверка тестов БД
|
||||
|
||||
|
||||
- Ensure all tests pass, ask the user if questions arise.
|
||||
|
||||
- [ ] 5. Реализация Discord Webhook
|
||||
- [ ] 5.1 Создать DiscordWebhook сервис
|
||||
- [x] 5. Реализация Discord Webhook
|
||||
|
||||
|
||||
- [x] 5.1 Создать DiscordWebhook сервис
|
||||
|
||||
|
||||
- Реализовать отправку embed сообщений через OkHttp
|
||||
- Обработать ошибки и отсутствие URL
|
||||
- _Requirements: 3.1, 3.2, 3.3_
|
||||
- [ ] 5.2 Написать property test для webhook payload
|
||||
|
||||
- [x] 5.2 Написать property test для webhook payload
|
||||
|
||||
- **Property 5: Webhook Payload Completeness**
|
||||
- **Validates: Requirements 3.1**
|
||||
|
||||
- [ ] 6. Реализация команд
|
||||
- [ ] 6.1 Создать ReportCommand (/report [ник] [причина])
|
||||
- [x] 6. Реализация команд
|
||||
|
||||
|
||||
- [x] 6.1 Создать ReportCommand (/report [ник] [причина])
|
||||
|
||||
|
||||
- Валидация аргументов и прав
|
||||
- Проверка на самого себя и существование игрока
|
||||
- Проверка на дубликат репорта
|
||||
- Сохранение в БД и отправка в webhook
|
||||
- _Requirements: 1.1, 1.2, 1.3, 1.4, 1.5, 6.1_
|
||||
- [ ] 6.2 Создать ReportStatsCommand (/report stats [ник])
|
||||
- [x] 6.2 Создать ReportStatsCommand (/report stats [ник])
|
||||
|
||||
|
||||
- Показ количества репортов
|
||||
- Показ последнего онлайна
|
||||
- Список последних репортов
|
||||
- _Requirements: 5.1, 5.2, 5.3, 5.4, 6.3_
|
||||
- [ ] 6.3 Написать property test для проверки прав
|
||||
|
||||
- [x] 6.3 Написать property test для проверки прав
|
||||
|
||||
- **Property 8: Permission Enforcement**
|
||||
- **Validates: Requirements 6.1, 6.2, 6.3**
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue