1. 26 Oct, 2016 4 commits
  2. 24 Oct, 2016 6 commits
    • barthc's avatar
      Fix authored vote from notes · d285f525e314
      barthc authored
      Signed-off-by: default avatarRémy Coutable <remy@rymai.me>
    • Timothy Andrew's avatar
      Implement third round of review comments from @DouweM. · 9e22af6953e8
      Timothy Andrew authored
      Extract/mutate `params` in the `execute` method of the API services,
      rather than in `initialize`.
    • Timothy Andrew's avatar
      Implement second round of review comments from @DouweM. · 3dc11a9c0cc2
      Timothy Andrew authored
      - Pass `developers_and_merge` and `developers_can_push` in `params`
        instead of using keyword arguments.
      - Refactor a slightly complex boolean check to a simple `nil?` check.
    • Timothy Andrew's avatar
      Implement review comments from @DouweM. · c4db5053c1e4
      Timothy Andrew authored
    • Timothy Andrew's avatar
      Implement review comments from @dbalexandre. · e6df2e434820
      Timothy Andrew authored
      1. Don't have any EE-only code in CE. Ok to have CE-only code in EE.
      2. Use `case` instead of `if/elsif`
    • Timothy Andrew's avatar
      Fix branch protection API. · 725b33423311
      Timothy Andrew authored
      1. Previously, we were not removing existing access levels before
         creating new ones. This is not a problem for EE, but _is_ for CE,
         since we restrict the number of access levels in CE to 1.
      2. The correct approach is:
          CE -> delete all access levels before updating a protected branch
          EE -> delete developer access levels if "developers_can_{merge,push}" is switched off
      3. The dispatch is performed by checking if a "length: 1" validation is
         present on the access levels or not.
      4. Another source of problems was that we didn't put multiple queries in
         a transaction. If the `destroy_all` passes, but the `update` fails,
         we should have a rollback.
      5. Modifying the API to provide users direct access to CRUD access
         levels will make things a lot simpler.
      6. Create `create/update` services separately for this API, which
         perform the necessary data translation, before calling the regular
         `create/update` services. The translation code was getting too large
         for the API endpoint itself, so this move makes sense.
  3. 20 Oct, 2016 2 commits
  4. 19 Oct, 2016 14 commits
  5. 17 Oct, 2016 6 commits
  6. 14 Oct, 2016 1 commit
  7. 13 Oct, 2016 4 commits
  8. 12 Oct, 2016 2 commits
  9. 11 Oct, 2016 1 commit