Documentation ¶
Index ¶
- func GenerateTimeFrame(vls statistics.RelevanceURLValues) time.Frame
- func GenerateTweetsURLValues(vls statistics.RelevanceURLValues) tweets.TweetsURLValues
- func ValidateRelevanceURLValues(vls v1.RelevanceURLValues) error
- type Server
- func (srv *Server) ListRelevance(w http.ResponseWriter, r *http.Request)
- func (srv *Server) ListRelevance10d(w http.ResponseWriter, r *http.Request)
- func (srv *Server) ListRelevance1m(w http.ResponseWriter, r *http.Request)
- func (srv *Server) ListRelevance1y(w http.ResponseWriter, r *http.Request)
- func (srv *Server) ListRelevance3m(w http.ResponseWriter, r *http.Request)
- func (srv *Server) ListRelevance5y(w http.ResponseWriter, r *http.Request)
- func (srv *Server) ListRelevance6m(w http.ResponseWriter, r *http.Request)
- func (srv *Server) ListRelevanceAllTime(w http.ResponseWriter, r *http.Request)
- func (srv *Server) Start(ctx context.Context)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GenerateTimeFrame ¶
func GenerateTimeFrame(vls statistics.RelevanceURLValues) time.Frame
GenerateTimeFrame generates time frame from the URL values.
func GenerateTweetsURLValues ¶
func GenerateTweetsURLValues(vls statistics.RelevanceURLValues) tweets.TweetsURLValues
GenerateTweetsURLValues generates tweets URL values from relevance URL values.
func ValidateRelevanceURLValues ¶
func ValidateRelevanceURLValues(vls v1.RelevanceURLValues) error
ValidateRelevanceURLValues validates the relevance URL values.
Types ¶
type Server ¶
type Server struct {
// contains filtered or unexported fields
}
Server represents a web server.
func NewServer ¶
func NewServer(db storage.Statistical, twtsClient *tweets.Client, config http.Config, logger *zap.Logger) *Server
NewServer returns a server.
func (*Server) ListRelevance ¶
func (srv *Server) ListRelevance(w http.ResponseWriter, r *http.Request)
ListRelevance handles the relevance statistic endpoint. @Summary User relevance @Description Get relevance statistics of a twitter user based on @Description time span, graph series, before and after a specific date. @Tags Statistics @ID list-relevance @Produce json @Param user path string true "User" @Param before_time query string false "statistics before specific date" @Param after_time query string false "statistics after specific date" @Param series query int false "distribution of data" mininum(1) default(20) @Success 200 {object} v1.RelevanceResponse @Failure 400 {object} v1.ErrorResponse @Failure 404 {object} v1.ErrorResponse @Failure 500 {object} v1.ErrorResponse @Router /statistics/v1/user/{user}/relevance [get]
func (*Server) ListRelevance10d ¶
func (srv *Server) ListRelevance10d(w http.ResponseWriter, r *http.Request)
ListRelevance10d handles the 10 days relevance statistic endpoint. @Summary User relevance for the past 10 days @Description Get relevance statistics of a twitter user for the past 10 days. @Tags Statistics @ID list-relevance-10d @Produce json @Param user path string true "User" @Success 200 {object} v1.RelevanceResponse @Failure 404 {object} v1.ErrorResponse @Failure 500 {object} v1.ErrorResponse @Router /statistics/v1/user/{user}/relevance/10d [get]
func (*Server) ListRelevance1m ¶
func (srv *Server) ListRelevance1m(w http.ResponseWriter, r *http.Request)
ListRelevance1m handles the 1 month relevance statistic endpoint. @Summary User relevance for the past 1 month @Description Get relevance statistics of a twitter user for the past 1 month. @Tags Statistics @ID list-relevance-1m @Produce json @Param user path string true "User" @Success 200 {object} v1.RelevanceResponse @Failure 404 {object} v1.ErrorResponse @Failure 500 {object} v1.ErrorResponse @Router /statistics/v1/user/{user}/relevance/1m [get]
func (*Server) ListRelevance1y ¶
func (srv *Server) ListRelevance1y(w http.ResponseWriter, r *http.Request)
ListRelevance1y handles the 1 year relevance statistic endpoint. @Summary User relevance for the past 1 year @Description Get relevance statistics of a twitter user for the past 1 year. @Tags Statistics @ID list-relevance-1y @Produce json @Param user path string true "User" @Success 200 {object} v1.RelevanceResponse @Failure 404 {object} v1.ErrorResponse @Failure 500 {object} v1.ErrorResponse @Router /statistics/v1/user/{user}/relevance/1y [get]
func (*Server) ListRelevance3m ¶
func (srv *Server) ListRelevance3m(w http.ResponseWriter, r *http.Request)
ListRelevance3m handles the 3 months relevance statistic endpoint. @Summary User relevance for the past 3 months @Description Get relevance statistics of a twitter user for the past 3 months. @Tags Statistics @ID list-relevance-3m @Produce json @Param user path string true "User" @Success 200 {object} v1.RelevanceResponse @Failure 404 {object} v1.ErrorResponse @Failure 500 {object} v1.ErrorResponse @Router /statistics/v1/user/{user}/relevance/3m [get]
func (*Server) ListRelevance5y ¶
func (srv *Server) ListRelevance5y(w http.ResponseWriter, r *http.Request)
ListRelevance5y handles the 5 years relevance statistic endpoint. @Summary User relevance for the past 5 years @Description Get relevance statistics of a twitter user for the past 5 years. @Tags Statistics @ID list-relevance-5y @Produce json @Param user path string true "User" @Success 200 {object} v1.RelevanceResponse @Failure 404 {object} v1.ErrorResponse @Failure 500 {object} v1.ErrorResponse @Router /statistics/v1/user/{user}/relevance/5y [get]
func (*Server) ListRelevance6m ¶
func (srv *Server) ListRelevance6m(w http.ResponseWriter, r *http.Request)
ListRelevance6m handles the 6 months relevance statistic endpoint. @Summary User relevance for the past 6 months @Description Get relevance statistics of a twitter user for the past 6 months. @Tags Statistics @ID list-relevance-6m @Produce json @Param user path string true "User" @Success 200 {object} v1.RelevanceResponse @Failure 404 {object} v1.ErrorResponse @Failure 500 {object} v1.ErrorResponse @Router /statistics/v1/user/{user}/relevance/6m [get]
func (*Server) ListRelevanceAllTime ¶
func (srv *Server) ListRelevanceAllTime(w http.ResponseWriter, r *http.Request)
ListRelevanceAllTime handles the all time relevance statistic endpoint. @Summary All time user relevance @Description Get all time relevance statistics of a twitter user. @Tags Statistics @ID list-relevance-all-time @Produce json @Param user path string true "User" @Success 200 {object} v1.RelevanceResponse @Failure 404 {object} v1.ErrorResponse @Failure 500 {object} v1.ErrorResponse @Router /statistics/v1/user/{user}/relevance/all-time [get]