shokollm
90b0b564c2
feat: add multi-ID delete support with per-ID results
...
- Add delete_bounties() method to BountyService that returns individual
results per bounty ID (deleted, not_found, permission_denied)
- Update cmd_delete to accept multiple IDs and show per-ID messages
- Add 3 tests for delete_bounties method
Example output:
/delete 1 2 3
✅ Bounty #1 deleted.
✅ Bounty #2 deleted.
⛔ Bounty #3 not found.
Fixes #47
2026-04-04 13:06:56 +00:00
shokollm
c005ee341a
Revert "Merge pull request 'feat: add multi-ID delete support with per-ID results' ( #63 ) from fix/issue-47 into main"
...
This reverts commit bd2627efe9 , reversing
changes made to 42ed551554 .
2026-04-04 07:24:03 +00:00
shokollm
8069ed6465
feat: add multi-ID delete support with per-ID results
...
- Add delete_bounties method to BountyService that returns individual
results per bounty ID (deleted, not_found, permission_denied)
- Update cmd_delete to accept multiple IDs and show per-ID messages
- Add tests for delete_bounties
Example output:
/delete 1 2 3
✅ Bounty #1 deleted.
✅ Bounty #2 deleted.
⛔ Bounty #3 not found.
Fixes #47
2026-04-04 06:39:11 +00:00
shokollm
af7774ef03
feat: implement service layer for Phase 2 - admin management, timezone, soft delete
...
BountyService:
- Add is_admin(), add_admin(), remove_admin(), list_admins()
- Add set_timezone(), get_timezone()
- Add check_link_unique(), list_deleted_bounties()
- Modify add_bounty() to check link uniqueness and require admin
- Modify update_bounty() to require admin permission (not creator)
- Modify delete_bounty() to perform soft delete (set deleted_at)
- get_bounty() now filters out soft-deleted bounties
- list_bounties() uses storage.list_bounties() which excludes soft-deleted
TrackingService:
- get_tracked_bounties() now filters out soft-deleted bounties
Tests updated to reflect new admin-only permissions and soft delete behavior.
2026-04-04 05:27:40 +00:00
shokollm
920fb70257
feat(core): implement services for issue #8
...
- Add BountyService for room bounty operations (group and personal)
- Add TrackingService for tracking bounty operations
- Uses RoomStorage and TrackingStorage ports
- PermissionError raised when non-creator edits/deletes
- ValueError raised when bounty not found in tracking
2026-04-03 09:26:48 +00:00