api/v0.1/activities - GET, DELETE
* api/v0.1/activities/{id} - GET, DELETE
* api/v0.1/activities/{id}/flag - POST, DELETE
* api/v0.1/activities/{id}/pin - POST - e.g { 'what': 'connect' }
* api/v0.1/activities/{id}/vote - POST - e.g { 'choice': 43 }
* api/v0.1/activities/{id}/favorite - POST, DELETE
* api/v0.1/activities/{id}/like - POST, DELETE
* api/v0.1/activities/{id}/award - POST
api/v0.1/comments/?activity={id} - GET
* api/v0.1/comments - POST
* api/v0.1/comments/{id} - GET, DELETE
* api/v0.1/comments/{id}/like - POST, DELETE
pagination -> frontend can specify a page size
* api/v0.1/activities/?page_size={size}
filtering -> allow filtering by all foreignkeys
* api/v0.1/activities?(bounty|grant|hackathonevent|project|profile|kudos|kudos_transfer|tip|subscription)=58
* for example, we can query a bounty with id=58 by fetching api/v0.1/activities?bounty=58
db query optimizations (number of queries)
* comments endpoint - 8 -> 5 -> ??
* activity endpoint - 108 -> 96 -> 73 -> ??
## PERMISSIONS
* IsOwnerOrReadOnly
* CanPinPost
## FIELD EXPANSIONS FOR ACTIVITY
grant -> url, title, logo, logo.url, id, description
bounty -> title, value_true, value_in_usdt_now, token_name, network, funding_organisation, bounty_owner_github_username
hackathonevent -> slug, id, name, relative_url
kudos -> artist, url, ui_name, from_username, preview_img_url, description, img_url
kudos_transfer -> username, id
profile -> handle, organizations, name, type, match_this_round, default_match_estimate, id, keywords, avatar_url, github_url
project -> name, hackathon.slug, hackathon.name, id, logo, bounty.avatar_url, bounty.org_name, bounty.funding_organisation, bounty.bounty_owner_github_username
tip -> tip_count_eth tip_count_usd
redemption -> redemption_requester.handle
ptoken -> token_owner_profile.handle, token_symbol
EXEMPTED PERSONAL TOKENS because -> https://gitcoincore.slack.com/archives/C01H9H320CV/p1626764201398800
properties -> show_token_info, token_name, humanized_activity_type, secondary_avatar_url, created_human_time
## CHORE
* remove activities field from bounties endpoint