// NewBlacklisted handles the request and creates and adds target user to current user whitelist func NewBlacklisted() echo.HandlerFunc { // swagger:route POST /me/whitelist/{target} user whitelist NewBlacklisted // // Adds target to the whitelist of the current user // // Produces: // - application/json // // Consumes: // - application/json // // Security: // oauth: profile:write // // Responses: // default: apiResponse return func(c echo.Context) error { if !rest.IsGranted("profile:write", c) { return rest.InvalidScopeResponse("profile:write", c) } var target *nerdz.User var err error if target, err = rest.User("target", c); err != nil { return err } // Read a rest.NewMessage from the body request. message := rest.NewMessage{} if err := c.Bind(&message); err != nil { errstr := err.Error() c.JSON(http.StatusBadRequest, &rest.Response{ Data: nil, HumanMessage: errstr, Message: errstr, Status: http.StatusBadRequest, Success: false, }) return errors.New(errstr) } me := c.Get("me").(*nerdz.User) if err = me.BlacklistUser(target, message.Message); err != nil { errstr := err.Error() c.JSON(http.StatusBadRequest, &rest.Response{ Data: nil, HumanMessage: errstr, Message: errstr, Status: http.StatusBadRequest, Success: false, }) return errors.New(errstr) } // Return selected field from the followed User return rest.SelectFields(target.GetTO(me), c) } }
// NewUserFollowing handles the request and creates and adds target to the following list of the current user func NewUserFollowing() echo.HandlerFunc { // swagger:route POST /me/following/users/{target} userfollowing NewUserFollowing // // Adds target to the following list of the current user // // Produces: // - application/json // // Security: // oauth: following:write // // Responses: // default: apiResponse return func(c echo.Context) error { if !rest.IsGranted("following:write", c) { return rest.InvalidScopeResponse("following:write", c) } var target *nerdz.User var err error if target, err = rest.User("target", c); err != nil { return err } me := c.Get("me").(*nerdz.User) if err = me.Follow(target); err != nil { errstr := err.Error() c.JSON(http.StatusBadRequest, &rest.Response{ Data: nil, HumanMessage: errstr, Message: errstr, Status: http.StatusBadRequest, Success: false, }) return errors.New(errstr) } // Return selected field from the followed User return rest.SelectFields(target.GetTO(me), c) } }