1. 09 Nov, 2018 1 commit
    • ale's avatar
      First stage of refactor targeting simplicity · 4e34034b
      ale authored
      Structure flow around requests themselves and composition rather than
      handlers and wrappers, the results are likely more readable (and
      shorter).
      
      Move all the user auth management business logic to a smart RawUser
      object, to separate it from details of API handling. The result should
      be more understandable: all critical changes are contained within a
      single type.
      
      Also, with all the workflow driven by Requests, we can get rid of the
      boilerplate in the HTTP API server and replace it with a tiny tiny
      layer of reflection.
      4e34034b
  2. 24 Jun, 2018 1 commit
  3. 22 Jun, 2018 2 commits
  4. 20 Jun, 2018 1 commit
    • ale's avatar
      Refactor the LDAP backend · 02d7c9c6
      ale authored
      Use a lower level type to abstract LDAP "transactions" (really just
      batches of changes) and generate a set of ModifyRequest objects at
      commit time. Change the API to let the caller manage the
      transaction (TX object) lifetime.
      02d7c9c6
  5. 19 Jun, 2018 1 commit
    • ale's avatar
      Implement a transaction-like interface for the backend · ac2aa256
      ale authored
      This should make it easier to implement a SQL backend in the future if
      necessary, even though LDAP knows no such thing as transactions.
      
      As a result of a better low-level interface, reducing the boilerplate
      LDAP code, the business logic in model.go should be quite more
      readable.
      ac2aa256