#7292 User profile API

asf_release_1.2.0
closed
nobody
42cc (369)
General
2015-01-28
2014-03-25
Dave Brondsema
No

Create an api endpoint on the profile tool, so it'll be at /rest/u/USERNAME/profile/ which includes username, full name, date registered, and other fields on the profile webpage if they are set (e.g. location, timezone, gender, skills, website, etc). Maybe each ProfileSectionBase class could have its own __json__ method and return its own data. Then the [allura.user_profile.sections] extension points control both the content of the profile webpage and profile API.

Add a new field in the /rest/u/USERNAME/ endpoint that gives the full URL to the profile endpoint so that it is easily discovered.

Provide some markdown to explain the API fields, that can be added to https://sourceforge.net/p/forge/documentation/Allura%20API/

Related

Tickets: #7292

Discussion

  • Dave Brondsema
    Dave Brondsema
    2014-03-26

    Another important thing I forgot to mention is the list of projects that a user is a member of. Including their role in the project (admin, developer) would be good too.

     
  • Closed #568. je/42cc_7292

     
    • status: in-progress --> code-review
     
  • Dave Brondsema
    Dave Brondsema
    2014-04-21

    • status: code-review --> closed
    • QA: Dave Brondsema
    • Milestone: forge-backlog --> forge-may-2
     
  • Dave Brondsema
    Dave Brondsema
    2014-04-21

    Merged, with a few tweaks:

    • 1b79f47 [#7292] add user full name; adjust profile_url field name
    • 1ed540f [#7292] for safety, don't return ming-instrumented objects since any modifications someone might do elsewhere (after calling __json__) would actually persist to the database
    • 1b51b77 [#7292] move UserProfileRestController from base rest.py file, to profile module
    • 6b9cea0 [#7292] don't need to list tools in profile API, already in user-project API
    • end-user API docs
     

    Related

    Tickets: #7292

  • Dave Brondsema
    Dave Brondsema
    2015-01-05

    • Milestone: unreleased --> asf_release_1.2.0