← Back to team overview

dhis2-devs team mailing list archive

Re: Using /api/dashboards to assign user groups to dashboards

 

Hi,

note there is a small typo above, it should be:

/api/sharing?type=dashboard&id=ID

I have written up some docs here:

https://www.dhis2.org/doc/snapshot/en/user/html/ch32s37.html

Lars





On Fri, Aug 29, 2014 at 9:28 AM, Morten Olav Hansen <mortenoh@xxxxxxxxx>
wrote:

> No, not really. But the API itself is quite simple, to get current sharing
> information, you just do:
>
> /api/sharing/type=dashboard&id=ID (GET request)
>
> and then to update, you can use (PUT/POST request):
> /api/sharing/type=dashboard&id=ID
>
> With your JSON payload
>
> It's probably easiest to just sniff on the POST with web inspector, and
> you will get an idea of the API, for example I set external, added a group,
> and set public read on a dashboard on our test server, and the resulting
> JSON was:
>
> {
>     "meta": {
>         "allowPublicAccess": true,
>         "allowExternalAccess": true
>     },
>     "object": {
>         "id": "iMnYyBfSxmM",
>         "name": "Delivery",
>         "publicAccess": "r-------",
>         "externalAccess": true,
>         "user": {
>             "id": "GOLswS44mh8",
>             "name": "Tom Wakiki"
>         },
>         "userGroupAccesses": [
>             {
>                 "id": "wl5cDMuUhmF",
>                 "name": "Administrators",
>                 "access": "r-------"
>             }
>         ]
>     }
> }
>
> The meta object you can just ignore, but the rest of the API should be
> clear enough.
>
> Please write back if you need more information, I don't think anyone else
> is using the sharing API, so there might be some rough edges.
>
> --
> Morten
>
>
> On Fri, Aug 29, 2014 at 2:14 PM, Sandesh Sukumar Doolipeta <
> sandeshd@xxxxxxxxxxxxxxxx> wrote:
>
>> Hi morten ,
>>
>>       Thanks for the reply :) . Yes , I am okay with using two requests .
>> Is there any documentation on the sharing api ? regarding its usage?
>>
>>
>> On Fri, Aug 29, 2014 at 12:22 PM, Morten Olav Hansen <mortenoh@xxxxxxxxx>
>> wrote:
>>
>>> Hi
>>>
>>> Are you OK with using two requests for this? we have a sharing API at
>>> /api/sharing that will do what you want
>>>
>>> --
>>> Morten
>>>
>>>
>>> On Fri, Aug 29, 2014 at 3:10 AM, Sandesh Sukumar Doolipeta <
>>> sandeshd@xxxxxxxxxxxxxxxx> wrote:
>>>
>>>> Hi ,
>>>>
>>>>       We are trying to create dashboards using "/api/dashboards" api.
>>>> While creating the dashboards , we also want to assign user groups to the
>>>> dashboard.
>>>>
>>>> The following is the json being posted ,
>>>> ======================
>>>> {
>>>>     "displayName": "Chad",
>>>>     "name": "Chad",
>>>>     "dashboardItems": [
>>>>         {
>>>>             "chart": {
>>>>                 "id": "36041e3ee38"
>>>>             }
>>>>         },
>>>>         {
>>>>             "chart": {
>>>>                 "id": "e7f643ca378"
>>>>             }
>>>>         }
>>>>     ],
>>>>     "publicAccess": "--------",
>>>>     "access": {
>>>>         "read": true,
>>>>         "manage": true,
>>>>         "update": true,
>>>>         "externalize": true,
>>>>         "write": true,
>>>>         "delete": true
>>>>     },
>>>>     "externalAccess": false,
>>>>     "userGroupAccesses": [
>>>>       {
>>>>             "userGroup": {
>>>>                 "id": "aede79b3fbf"
>>>>             }
>>>>         }
>>>> ],
>>>>     "id": "abfd69cb586"
>>>> }
>>>> ==================
>>>>
>>>>  Though the above json , creates the dashboard , it does not assign the
>>>> user group to it.
>>>>
>>>>  When I looked into the code ,
>>>>
>>>>   I saw that , HibernateGenericStore.java is a work in progress ,
>>>>
>>>> ==========
>>>>
>>>>   // TODO we might want to allow setting sharing props on save, but for
>>>> now we null them out
>>>>             identifiableObject.setPublicAccess( null );
>>>>             identifiableObject.setUserGroupAccesses( new
>>>> HashSet<UserGroupAccess>() );
>>>>
>>>> ==========
>>>>
>>>>
>>>>      Is there any other way to assign user groups to dashboard ? Am I
>>>> missing anything ?
>>>>
>>>>
>>>>
>>>> --
>>>> *Sandesh Doolipeta**Application Developer*
>>>> Emailsandeshd@xxxxxxxxxxxxxxxx
>>>> Telephone9686062727
>>>> [image: ThoughtWorks] <http://www.thoughtworks.com/>
>>>>
>>>
>>>
>>
>>
>> --
>> *Sandesh Doolipeta**Application Developer*
>> Emailsandeshd@xxxxxxxxxxxxxxxx
>> Telephone9686062727
>> [image: ThoughtWorks] <http://www.thoughtworks.com/>
>>
>
>

Follow ups

References