github.com/DapperCollectives/CAST/backend@v0.0.0-20230921221157-1350c8be7c96/main/server/routes.go (about) 1 package server 2 3 func (a *App) initializeRoutes() { 4 // Health 5 a.Router.HandleFunc("/", a.health).Methods("GET") 6 a.Router.HandleFunc("/api", a.health).Methods("GET") 7 // File upload 8 a.Router.HandleFunc("/upload", a.upload).Methods("POST", "OPTIONS") 9 // Communities 10 a.Router.HandleFunc("/communities", a.getCommunities).Methods("GET") 11 a.Router.HandleFunc("/communities-for-homepage", a.getCommunitiesForHomePage).Methods("GET") 12 a.Router.HandleFunc("/communities/{id:[0-9]+}", a.getCommunity).Methods("GET") 13 a.Router.HandleFunc("/communities/{id:[0-9]+}", a.updateCommunity).Methods("PATCH", "OPTIONS") 14 a.Router.HandleFunc("/communities", a.createCommunity).Methods("POST", "OPTIONS") 15 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/strategies", a.getActiveStrategiesForCommunity).Methods("GET") 16 //Community Search 17 a.Router.HandleFunc("/communities/search", a.searchCommunities).Methods("GET") 18 // Proposals 19 a.Router.HandleFunc("/proposals/{id:[0-9]+}", a.getProposal).Methods("GET") 20 a.Router.HandleFunc("/proposals/{id:[0-9]+}", a.updateProposal).Methods("PUT", "OPTIONS") 21 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/proposals", a.getProposalsForCommunity).Methods("GET") 22 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/proposals/{id:[0-9]+}", a.getProposal).Methods("GET") 23 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/proposals", a.createProposal).Methods("POST", "OPTIONS") 24 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/proposals/{id:[0-9]+}", a.updateProposal). 25 Methods("PUT", "OPTIONS") 26 // Lists 27 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/lists", a.getListsForCommunity).Methods("GET") 28 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/lists", a.createListForCommunity).Methods("POST", "OPTIONS") 29 a.Router.HandleFunc("/lists/{id:[0-9]+}", a.getList).Methods("GET") 30 a.Router.HandleFunc("/lists/{id:[0-9]+}/add", a.addAddressesToList).Methods("POST", "OPTIONS") 31 a.Router.HandleFunc("/lists/{id:[0-9]+}/remove", a.removeAddressesFromList).Methods("POST", "OPTIONS") 32 // Votes 33 a.Router.HandleFunc("/proposals/{proposalId:[0-9]+}/votes", a.getVotesForProposal).Methods("GET") 34 a.Router.HandleFunc("/proposals/{proposalId:[0-9]+}/votes/{addr:0x[a-zA-Z0-9]+}", a.getVoteForAddress).Methods("GET") 35 a.Router.HandleFunc("/proposals/{proposalId:[0-9]+}/votes", a.createVoteForProposal).Methods("POST", "OPTIONS") 36 a.Router.HandleFunc("/votes/{addr:0x[a-zA-Z0-9]+}", a.getVotesForAddress).Methods("GET") 37 //Strategies 38 // a.Router.HandleFunc("/proposals/{proposalId:[0-9]+}/votes/{addr:0x[a-zA-Z0-9]{16}}", a.updateVoteForProposal).Methods("PUT", "OPTIONS") 39 a.Router.HandleFunc("/proposals/{proposalId:[0-9]+}/results", a.getResultsForProposal) 40 // Types 41 a.Router.HandleFunc("/voting-strategies", a.getVotingStrategies).Methods("GET") 42 a.Router.HandleFunc("/community-categories", a.getCommunityCategories).Methods("GET") 43 // Users 44 a.Router.HandleFunc("/users/{addr:0x[a-zA-Z0-9]{16}}/communities", a.getUserCommunities).Methods("GET") 45 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/users", a.createCommunityUser).Methods("POST", "OPTIONS") 46 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/users", a.getCommunityUsers).Methods("GET") 47 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/users/type/{userType:[a-zA-Z]+}", a.getCommunityUsersByType). 48 Methods("GET") 49 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/users/{addr:0x[a-zA-Z0-9]{16}}/{userType:[a-zA-Z]+}", a.removeUserRole). 50 Methods("DELETE", "OPTIONS") 51 a.Router.HandleFunc("/communities/{communityId:[0-9]+}/leaderboard", a.getCommunityLeaderboard).Methods("GET") 52 // Utilities 53 a.Router.HandleFunc("/accounts/admin", a.getAdminList).Methods("GET") 54 a.Router.HandleFunc("/accounts/blocklist", a.getCommunityBlocklist).Methods("GET") 55 a.Router.HandleFunc("/accounts/{addr:0x[a-zA-Z0-9]{16}}/{blockHeight:[0-9]+}", a.getAccountAtBlockHeight).Methods("GET") 56 57 }