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.
9.6 KiB
9.6 KiB