This PR implements the requested features for group treasury proposals, files access, and push subscriptions.
Changes:
- Schema Updates: Added
pushSubscriptionstable and completely updatedtreasuryProposalsto accurately track on-chain state, proposals, thresholds, and expiration ledgers based on the requested columns. - Treasury Contract Query Functions: Added
list_proposalsandget_pending_proposalsto theGroupTreasuryContractto fetch stored proposals directly from the contract storage. - Secure File Download: Added a new endpoint
GET /files/:fileIdthat issues a presigned S3 URL valid for 5 minutes, enforcing access control by validating that the requesting user is an active member of the conversation where the file was shared. - Push Subscriptions Endpoints: Added
POST /push/subscriptionsandDELETE /push/subscriptionsto register and unregister device-bound push subscriptions idempotently.
Fixes #128, #125, #229, #235
- Schema changes generated and migrated successfully.
- CI/CD tests pass.