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  }