Add bulk assignment for bonus points

Everyone can contribute. Help move this issue forward while earning points, leveling up and collecting rewards.

Create a page similar to the Rewards page that lists most recently awarded bonus points and has an "Issue bonus points" button for admin use. "Bonus points" should be underneath the "Recognition" tab

Implementation plan

Frontend

TBD on UX consensus. Perhaps will need to duplicate the RewardsPage, ideally drying it up so there is some shared logic.

Backend

There is discrepancy between how Rewards are created and BonusPoints are added.

  • Rewards has it's own controller and route whereas BonusPoints are within the UsersController/route.
  • There is also some naming differences - the bonus_points_create_service creates bonus points while there is no rewards_create_service. Rewards are created in the controller, not a service. Perhaps rewards_service should be renamed since the only method in it is issue? The points_service has other functions so it's existence makes sense.
  • We could remove add_points from the UsersController and create a BonusPointsController then define issue and bulk_issue in the route.

/cc @gitlab-org/developer-relations/contributor-success

Edited by 🤖 GitLab Bot 🤖