Skip to content

Optional expand param on /registry/org #1715

@jdalphond-mitre

Description

@jdalphond-mitre

Non secretariat endpoints require getting all orgs/users to fill in views on pages because everything is returned as a UUID and endpoints take username/shortname not necessarily UUID.

Currently the call and response looks like.
/registry/org/{short_name}

{
    "contact_info": {
        additional_contacts: [
            "dd5389e6-",
        ]
    },
    "UUID": "0842f19d-",
    "long_name": "Activity Six",
    "short_name": "activity_6",
    "aliases": [
        "abc"
    ],
    "authority": [
        "CNA"
    ],
    "root_or_tlr": false,
    "reports_to": "405450a6-",
    "users": [
        "dd5389e6-",
        "339491bc-"
    ],
    "admins": [
        "dd5389e6-"
    ],
    "created": "",
    "last_updated": "",
    "conversation": [
        {
            "author_id": "0f6ca539-",
            "author_name": "Test User",
            "author_role": "Secretariat",
            "visibility": "private",
            "body": "Some text",
            "posted_at": "",
            "last_updated": "",
        },
       
    ]
}

There are two ways of doing this. Add a user map as follows.
/registry/org/{short_name}?expand=users

{
    "contact_info": {
        additional_contacts: [
            "dd5389e6-",
        ]
    },
    "UUID": "0842f19d-",
    "long_name": "Activity Six",
    "short_name": "activity_6",
    "aliases": [
        "abc"
    ],
    "authority": [
        "CNA"
    ],
    "root_or_tlr": false,
    "reports_to": "405450a6-",
    "users": [
        "dd5389e6-",
        "339491bc-"
    ],
    "admins": [
        "dd5389e6-"
    ],
    "created": "",
    "last_updated": "",
    "conversation": [
        {
            "author_id": "0f6ca539-",
            "author_role": "Secretariat",
            "visibility": "private",
            "body": "Some text",
            "posted_at": "",
            "last_updated": "",
        },
       
    ],
    "_userMap": [{
        "dd5389e6-":{
            "username": "test@test.com", 
            "name": { filled in}
            "org": {
                "short_name": "activity_6" 
            }
        },
        "0f6ca539-": {
            "username": "secretariat@mitre.org",
            "name": { filled in}
            "org": {
                "short_name": "mitre"
            }
        }
    }]
}

Or simply put the same object (as below) in place of UUIDs and lists

"author":{
            "username": "secretariat@mitre.org",
            "name": { filled in}
            "org": {
                "short_name": "mitre"
            }
        }

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Normal Priority

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions